├── cmake
├── modules
│ └── vvdecNumCores.cmake
├── install
│ ├── vvdecConfigVersion.cmake.in
│ └── vvdecConfig.cmake
└── toolchains
│ ├── i686-w64-mingw32-gcc-posix-ubuntu.cmake
│ ├── x86_64-w64-mingw32-gcc-posix-ubuntu.cmake
│ ├── aarch64-linux-gnu-gcc-ubuntu.cmake
│ └── arm-linux-gnueabihf-gcc-ubuntu.cmake
├── .gitattributes
├── .gitignore
├── pkgconfig
└── libvvdec.pc.in
├── thirdparty
├── simde
│ ├── README.md
│ ├── COPYING
│ ├── mips
│ │ ├── msa.h
│ │ └── msa
│ │ │ └── and.h
│ ├── arm
│ │ ├── sve.h
│ │ ├── neon
│ │ │ ├── rax.h
│ │ │ ├── xar.h
│ │ │ ├── qdmull_n.h
│ │ │ ├── mulx_n.h
│ │ │ ├── qdmlal_n.h
│ │ │ ├── qdmlsl_n.h
│ │ │ ├── qdmull_high.h
│ │ │ ├── qdmlal_high.h
│ │ │ ├── qdmull_high_n.h
│ │ │ ├── qdmlal_high_n.h
│ │ │ ├── qdmlsl_high.h
│ │ │ └── qdmlsl_high_n.h
│ │ └── sve
│ │ │ └── ptest.h
│ └── x86
│ │ └── avx512
│ │ ├── kand.h
│ │ ├── testn.h
│ │ ├── rcp.h
│ │ ├── mulhrs.h
│ │ ├── mulhi.h
│ │ ├── setone.h
│ │ ├── srav.h
│ │ ├── xorsign.h
│ │ ├── cvtus.h
│ │ └── flushsubnormal.h
└── VTM_license.txt
├── AUTHORS.md
├── source
├── VisualStudio
│ └── static_vector.natvis
├── Lib
│ ├── vvdec
│ │ ├── wasm_exported_functions.json
│ │ ├── resource_version.h
│ │ └── resource.h
│ ├── FilmGrain
│ │ ├── FilmGrainImpl_avx2.cpp
│ │ └── FilmGrainImpl_sse41.cpp
│ └── CommonLib
│ │ ├── arm
│ │ └── neon
│ │ │ └── RdCost_neon.cpp
│ │ ├── x86
│ │ ├── avx
│ │ │ ├── Buffer_avx.cpp
│ │ │ ├── Quant_avx.cpp
│ │ │ ├── RdCost_avx.cpp
│ │ │ ├── Trafo_avx.cpp
│ │ │ ├── Picture_avx.cpp
│ │ │ ├── InterPred_avx.cpp
│ │ │ ├── IntraPred_avx.cpp
│ │ │ ├── LoopFilter_avx.cpp
│ │ │ ├── AdaptiveLoopFilter_avx.cpp
│ │ │ ├── InterpolationFilter_avx.cpp
│ │ │ └── SampleAdaptiveOffset_avx.cpp
│ │ ├── avx2
│ │ │ ├── Quant_avx2.cpp
│ │ │ ├── Trafo_avx2.cpp
│ │ │ ├── Buffer_avx2.cpp
│ │ │ ├── Picture_avx2.cpp
│ │ │ ├── RdCost_avx2.cpp
│ │ │ ├── InterPred_avx2.cpp
│ │ │ ├── IntraPred_avx2.cpp
│ │ │ ├── LoopFilter_avx2.cpp
│ │ │ ├── AdaptiveLoopFilter_avx2.cpp
│ │ │ ├── InterpolationFilter_avx2.cpp
│ │ │ └── SampleAdaptiveOffset_avx2.cpp
│ │ ├── sse41
│ │ │ ├── Buffer_sse41.cpp
│ │ │ ├── Quant_sse41.cpp
│ │ │ ├── RdCost_sse41.cpp
│ │ │ ├── Trafo_sse41.cpp
│ │ │ ├── InterPred_sse41.cpp
│ │ │ ├── IntraPred_sse41.cpp
│ │ │ ├── Picture_sse41.cpp
│ │ │ ├── LoopFilter_sse41.cpp
│ │ │ ├── AdaptiveLoopFilter_sse41.cpp
│ │ │ ├── InterpolationFilter_sse41.cpp
│ │ │ └── SampleAdaptiveOffset_sse41.cpp
│ │ └── sse42
│ │ │ ├── Buffer_sse42.cpp
│ │ │ ├── Quant_sse42.cpp
│ │ │ ├── RdCost_sse42.cpp
│ │ │ ├── Trafo_sse42.cpp
│ │ │ ├── InterPred_sse42.cpp
│ │ │ ├── IntraPred_sse42.cpp
│ │ │ ├── Picture_sse42.cpp
│ │ │ ├── LoopFilter_sse42.cpp
│ │ │ ├── AdaptiveLoopFilter_sse42.cpp
│ │ │ ├── InterpolationFilter_sse42.cpp
│ │ │ └── SampleAdaptiveOffset_sse42.cpp
│ │ └── ChromaFormat.cpp
└── App
│ └── vvdecapp
│ ├── CMakeLists.txt
│ ├── resource_version.h
│ └── resource.h
├── tests
├── wasm
│ ├── shell.html
│ ├── wasm_test-server.py
│ └── run_tests.py
└── vvdec_unit_test
│ └── CMakeLists.txt
├── .selenium.dockerfile
├── LICENSE.txt
└── .android_sdk_ndk.dockerfile
/cmake/modules/vvdecNumCores.cmake:
--------------------------------------------------------------------------------
1 | cmake_host_system_information( RESULT num_cores QUERY NUMBER_OF_LOGICAL_CORES )
2 | message( STATUS "${num_cores}" )
3 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Set the default behavior, in case people don't have core.autocrlf set.
2 | * text=auto
3 |
4 | # Explicitly declare text files you want to always be normalized and converted
5 | # to native line endings on checkout.
6 | *.c text
7 | *.cpp text
8 | *.h text
9 |
10 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Default top-level .gitignore, please review.
2 | dec.yuv
3 | rec.yuv
4 | str.bin
5 | /bin/
6 | /build/
7 | core
8 | /deploy/
9 | /download/
10 | /ext/
11 | /install/
12 | /lib/
13 | *.creator.user
14 | *.sdf
15 | *.suo
16 | .vs/
17 | .vscode/
18 | /build-linux
19 | *.yuv
20 | .*.sw?
21 | /seqs/
22 | #.*
23 | .project
24 | .cproject
25 | /Testing/
26 | /out/
27 | /CMakeSettings.json
28 |
--------------------------------------------------------------------------------
/pkgconfig/libvvdec.pc.in:
--------------------------------------------------------------------------------
1 | prefix=@CMAKE_INSTALL_PREFIX@
2 | exec_prefix=@CMAKE_INSTALL_BINDIR@
3 | libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
4 | includedir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@
5 |
6 | Name: libvvdec
7 | Description: Fraunhofer Versatile Video Decoder (VVdeC)
8 | Version: @PROJECT_VERSION@
9 | Libs: -L${libdir} -lvvdec
10 | Libs.private: @VVDEC_PKG_EXTRA_LIBS@
11 | Cflags: -I${includedir}
12 |
--------------------------------------------------------------------------------
/thirdparty/simde/README.md:
--------------------------------------------------------------------------------
1 | # SIMDe Without Test Cases
2 |
3 | This repository contains only the core of
4 | [SIMDe](https://github.com/simd-everywhere/simde).
5 | It is generated automatically for every commit to master, and is
6 | intended to be used as a submodule in projects which don't want to
7 | include the (rather large) test cases.
8 |
9 | All development work happens in the main repository, please do not
10 | file issues or create pull requests against this repository.
11 |
--------------------------------------------------------------------------------
/AUTHORS.md:
--------------------------------------------------------------------------------
1 | # Authors
2 |
3 | * Adam Wieckowski, @adamjw24, Fraunhofer HHI
4 | * Gabriel Hege, , Fraunhofer HHI
5 | * Christian Bartnik, , Fraunhofer HHI
6 | * Christian Stoffers, , Fraunhofer HHI
7 | * Christian Lehmann, , Fraunhofer HHI
8 | * Valeri George, , Fraunhofer HHI
9 | * Jens Güther, , Fraunhofer HHI
10 | * X Rayleigh, @xrayleigh2000,
11 | * Matthieu Sauer, ,
12 | * Florian Eisenreich, , Fraunhofer HHI
13 | * Philippe de Lagrange, @delagrangep, InterDigital
14 | * David Maseda Neira, ,
15 | * Athulya Raj Raji Mohini, @athulya-arm, Arm
16 |
--------------------------------------------------------------------------------
/source/VisualStudio/static_vector.natvis:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{size = {_size}}}
6 |
7 | _size
8 | $T2
9 |
10 | _size
11 | ($T1*) _arr
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/cmake/install/vvdecConfigVersion.cmake.in:
--------------------------------------------------------------------------------
1 | # vvdecConfigVersion.cmake - checks version: major must match, minor must be less than or equal
2 |
3 | set( PACKAGE_VERSION @PROJECT_VERSION@ )
4 |
5 | if( "${PACKAGE_FIND_VERSION_MAJOR}" EQUAL "@PROJECT_VERSION_MAJOR@" )
6 | if( "${PACKAGE_FIND_VERSION_MINOR}" EQUAL "@PROJECT_VERSION_MINOR@" )
7 | set( PACKAGE_VERSION_EXACT TRUE )
8 | elseif( "${PACKAGE_FIND_VERSION_MINOR}" LESS "@PROJECT_VERSION_MINOR@" )
9 | set( PACKAGE_VERSION_COMPATIBLE TRUE )
10 | else()
11 | set( PACKAGE_VERSION_UNSUITABLE TRUE )
12 | endif()
13 | else()
14 | set( PACKAGE_VERSION_UNSUITABLE TRUE )
15 | endif()
16 |
--------------------------------------------------------------------------------
/source/Lib/vvdec/wasm_exported_functions.json:
--------------------------------------------------------------------------------
1 | [
2 | "_main",
3 | "_vvdec_accessUnit_alloc",
4 | "_vvdec_accessUnit_alloc_payload",
5 | "_vvdec_accessUnit_default",
6 | "_vvdec_accessUnit_free",
7 | "_vvdec_accessUnit_free_payload",
8 | "_vvdec_decode",
9 | "_vvdec_decoder_close",
10 | "_vvdec_decoder_open",
11 | "_vvdec_find_frame_sei",
12 | "_vvdec_flush",
13 | "_vvdec_frame_unref",
14 | "_vvdec_get_dec_information",
15 | "_vvdec_get_error_msg",
16 | "_vvdec_get_hash_error_count",
17 | "_vvdec_get_last_additional_error",
18 | "_vvdec_get_last_error",
19 | "_vvdec_get_nal_unit_type",
20 | "_vvdec_get_nal_unit_type_name",
21 | "_vvdec_get_version",
22 | "_vvdec_is_nal_unit_slice",
23 | "_vvdec_params_alloc",
24 | "_vvdec_params_default",
25 | "_vvdec_params_free",
26 | "_vvdec_set_logging_callback",
27 | "_vvdec_get_RGBA_image_JS"
28 | ]
29 |
--------------------------------------------------------------------------------
/cmake/install/vvdecConfig.cmake:
--------------------------------------------------------------------------------
1 | # vvdecConfig.cmake - package configuration file
2 |
3 | # get current directory
4 | get_filename_component( SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH )
5 |
6 | # detect state
7 | if( DEFINED vvdec_USE_SHARED_LIBS )
8 | if( vvdec_USE_SHARED_LIBS )
9 | set( USE_SHARED TRUE )
10 | else()
11 | set( USE_SHARED FALSE )
12 | endif()
13 | else()
14 | if( BUILD_SHARED_LIBS )
15 | set( USE_SHARED TRUE )
16 | else()
17 | set( USE_SHARED FALSE )
18 | endif()
19 | endif()
20 |
21 | if( USE_SHARED )
22 | if( EXISTS ${SELF_DIR}/vvdecTargets-shared.cmake )
23 | include( ${SELF_DIR}/vvdecTargets-shared.cmake )
24 | else()
25 | include( ${SELF_DIR}/vvdecTargets-static.cmake )
26 | endif()
27 | else()
28 | if( EXISTS ${SELF_DIR}/vvdecTargets-static.cmake )
29 | include( ${SELF_DIR}/vvdecTargets-static.cmake )
30 | else()
31 | include( ${SELF_DIR}/vvdecTargets-shared.cmake )
32 | endif()
33 | endif()
34 |
--------------------------------------------------------------------------------
/cmake/toolchains/i686-w64-mingw32-gcc-posix-ubuntu.cmake:
--------------------------------------------------------------------------------
1 | # name of the target operating system
2 | set( CMAKE_SYSTEM_NAME Windows )
3 | set( CMAKE_SYSTEM_PROCESSOR x86 )
4 |
5 | # which compilers to use for C and C++
6 | set( CMAKE_C_COMPILER i686-w64-mingw32-gcc-posix )
7 | set( CMAKE_CXX_COMPILER i686-w64-mingw32-g++-posix )
8 | set( CMAKE_RC_COMPILER i686-w64-mingw32-windres )
9 |
10 | # here is the target environment located
11 | #SET(CMAKE_FIND_ROOT_PATH /usr/i586-mingw32msvc /home/alex/mingw-install )
12 | #
13 | # /usr/share/mingw-w64/include
14 | # /usr/x86_64-w64-mingw32/lib
15 | # /usr/x86_64-w64-mingw32/include
16 | # /usr/lib/gcc/x86_64-w64-mingw32/5.3-posix/include
17 | # /usr/lib/gcc/x86_64-w64-mingw32/5.3-posix/libstdc++.a
18 | set( CMAKE_FIND_ROOT_PATH /usr/share/mingw-w64 /usr/i686-w64-mingw32 )
19 |
20 | # adjust the default behaviour of the FIND_XXX() commands:
21 | # search headers and libraries in the target environment, search
22 | # programs in the host environment
23 | set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
24 | set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
25 | set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
26 |
--------------------------------------------------------------------------------
/cmake/toolchains/x86_64-w64-mingw32-gcc-posix-ubuntu.cmake:
--------------------------------------------------------------------------------
1 | # name of the target operating system
2 | set( CMAKE_SYSTEM_NAME Windows )
3 | set( CMAKE_SYSTEM_PROCESSOR x86_64 ) # or AMD64?
4 |
5 | # which compilers to use for C and C++
6 | set( CMAKE_C_COMPILER x86_64-w64-mingw32-gcc-posix )
7 | set( CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++-posix )
8 | set( CMAKE_RC_COMPILER x86_64-w64-mingw32-windres )
9 |
10 | # here is the target environment located
11 | #SET(CMAKE_FIND_ROOT_PATH /usr/i586-mingw32msvc /home/alex/mingw-install )
12 | #
13 | # /usr/share/mingw-w64/include
14 | # /usr/x86_64-w64-mingw32/lib
15 | # /usr/x86_64-w64-mingw32/include
16 | # /usr/lib/gcc/x86_64-w64-mingw32/5.3-posix/include
17 | # /usr/lib/gcc/x86_64-w64-mingw32/5.3-posix/libstdc++.a
18 | set( CMAKE_FIND_ROOT_PATH /usr/share/mingw-w64 /usr/x86_64-w64-mingw32 )
19 |
20 | # adjust the default behaviour of the FIND_XXX() commands:
21 | # search headers and libraries in the target environment, search
22 | # programs in the host environment
23 | set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
24 | set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
25 | set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
26 |
--------------------------------------------------------------------------------
/thirdparty/simde/COPYING:
--------------------------------------------------------------------------------
1 | Copyright (c) 2017 Evan Nemerson
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/tests/wasm/shell.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Emscripten-Generated Code
8 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | The decoder logs go to the JavaScript console (F12 in most browsers).
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/tests/wasm/wasm_test-server.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | from http.server import HTTPServer, SimpleHTTPRequestHandler, test
3 | import sys
4 |
5 | class CORSRequestHandler (SimpleHTTPRequestHandler):
6 | def end_headers (self):
7 | self.send_header('Cross-Origin-Embedder-Policy', 'require-corp')
8 | self.send_header('Cross-Origin-Opener-Policy', 'same-origin')
9 | self.send_header('Cache-Control', 'no-cache, no-store, must-revalidate')
10 | #self.send_header('Access-Control-Allow-Origin', '*')
11 | SimpleHTTPRequestHandler.end_headers(self)
12 |
13 | # ensure proper mime types are set for all used file-types
14 | # (see issue #2 https://github.com/fraunhoferhhi/vvdecWebPlayer/issues/2#issuecomment-1049816809)
15 | CORSRequestHandler.extensions_map['.js'] = 'application/javascript'
16 | CORSRequestHandler.extensions_map['.json'] = 'application/json'
17 | CORSRequestHandler.extensions_map['.wasm'] = 'application/wasm'
18 | CORSRequestHandler.extensions_map['.css'] = 'text/css'
19 | CORSRequestHandler.extensions_map['.svg'] = 'image/svg+xml'
20 | CORSRequestHandler.extensions_map['.png'] = 'image/png'
21 | CORSRequestHandler.extensions_map['.woff2'] = 'font/woff2'
22 |
23 |
24 | if __name__ == '__main__':
25 | test(CORSRequestHandler, HTTPServer, bind='127.0.0.1', port=int(sys.argv[1]) if len(sys.argv) > 1 else 8000)
26 |
--------------------------------------------------------------------------------
/.selenium.dockerfile:
--------------------------------------------------------------------------------
1 | # vim: filetype=dockerfile
2 |
3 | FROM debian:bullseye
4 | # using debian as a base instead of ubuntu, because in ubuntu chromium is a snap-package, which
5 | # does not simply work in docker containers
6 |
7 | LABEL maintainer="Gabriel Hege" \
8 | description="Emscripen and Chrome+Selenium test environment"
9 |
10 | ARG DEBIAN_FRONTEND=noninteractive
11 |
12 | RUN echo 'APT::Install-Recommends "false";' >> /etc/apt/apt.conf
13 |
14 | RUN apt-get update && apt-get install -y chromium chromium-driver
15 |
16 | RUN apt-get update && \
17 | apt-get install -y \
18 | bzip2 \
19 | ca-certificates \
20 | ccache \
21 | cmake \
22 | curl \
23 | git \
24 | git \
25 | ninja-build \
26 | python3 \
27 | xz-utils
28 | ENV CMAKE_GENERATOR=Ninja
29 |
30 | ARG EMSDK_VER=latest
31 |
32 | WORKDIR /opt
33 | RUN git clone https://github.com/emscripten-core/emsdk.git
34 | ENV PATH=$PATH:/opt/emsdk
35 | RUN emsdk install $EMSDK_VER && \
36 | emsdk activate $EMSDK_VER
37 |
38 | # install selenium from debian package
39 | RUN apt-get update && apt-get install -y python3-selenium
40 | #RUN apt-get update && apt-get install -y python3-pip
41 | #RUN pip install --user selenium
42 |
43 | RUN apt-get clean ; apt-get autoclean
44 |
--------------------------------------------------------------------------------
/tests/wasm/run_tests.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | from selenium import webdriver
4 | from selenium.webdriver.chrome.options import Options as ChromeOptions
5 | from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
6 |
7 | import time
8 | import logging
9 | import atexit
10 |
11 | OUTPUT_TIMEOUT = 120
12 |
13 | caps = DesiredCapabilities.CHROME
14 | caps['goog:loggingPrefs'] = { 'browser':'ALL' }
15 |
16 | opts = ChromeOptions()
17 | opts.headless = True
18 | opts.add_argument('--disable-gpu')
19 | opts.add_argument('--no-sandbox')
20 | driver = webdriver.Chrome(options=opts, desired_capabilities=caps)
21 |
22 | atexit.register(driver.quit)
23 |
24 | driver.get('http://localhost:8000/tests/wasm/shell.html#autorun')
25 |
26 | count_no_output = 0
27 | return_code = 0
28 | done = False
29 | while( not done ):
30 | log = driver.get_log('browser')
31 | for e in log:
32 | msg = e['message']
33 | # print(e)
34 | print(msg)
35 | if msg.find("Done.") >= 0:
36 | done = True
37 | if msg.find("ERROR: Exception") >= 0: # emscripten exception
38 | return_code = 2
39 | done = True
40 | if msg.find("ERROR:") >= 0: # failed test case
41 | return_code = 1
42 |
43 | if len(log):
44 | count_no_output = 0
45 | else:
46 | count_no_output += 1
47 | if( count_no_output > OUTPUT_TIMEOUT ):
48 | print("Output timeout")
49 | return_code = 3
50 | done = True
51 |
52 | time.sleep(1)
53 |
54 |
55 | exit(return_code)
56 |
--------------------------------------------------------------------------------
/cmake/toolchains/aarch64-linux-gnu-gcc-ubuntu.cmake:
--------------------------------------------------------------------------------
1 | # name of the target operating system
2 | set( CMAKE_SYSTEM_NAME Linux )
3 | set( CMAKE_SYSTEM_PROCESSOR aarch64 )
4 |
5 | set( GNU_MACHINE "aarch64-linux-gnu" )
6 |
7 | # which compilers to use for C and C++
8 | set( CMAKE_C_COMPILER ${GNU_MACHINE}-gcc )
9 | set( CMAKE_CXX_COMPILER ${GNU_MACHINE}-g++ )
10 |
11 | # here is the target environment located
12 | if( NOT DEFINED ARM_LINUX_SYSROOT AND DEFINED GNU_MACHINE )
13 | set( ARM_LINUX_SYSROOT /usr/${GNU_MACHINE}${FLOAT_ABI_SUFFIX} )
14 | endif()
15 |
16 | list( APPEND CMAKE_FIND_ROOT_PATH ${ARM_LINUX_SYSROOT} )
17 |
18 | # adjust the default behaviour of the FIND_XXX() commands:
19 | # search headers and libraries in the target environment, search
20 | # programs in the host environment
21 | set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
22 |
23 | # Ubuntu/amd64 + foreign architecture arm64
24 | set( CMAKE_LIBRARY_PATH /usr/lib/${GNU_MACHINE}-linux-gnu )
25 | set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH )
26 | #set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
27 |
28 | set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
29 |
30 | set( ARM_COMPILER_FLAGS "-fdata-sections -Wa,--noexecstack -fsigned-char" )
31 | set( CMAKE_C_FLAGS_INIT "${ARM_COMPILER_FLAGS}" )
32 | set( CMAKE_CXX_FLAGS_INIT "${ARM_COMPILER_FLAGS}" )
33 |
34 | set( ARM_LINKER_FLAGS "-Wl,--no-undefined -Wl,--gc-sections -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now" )
35 | set( CMAKE_SHARED_LINKER_FLAGS_INIT "${ARM_LINKER_FLAGS}" )
36 | set( CMAKE_MODULE_LINKER_FLAGS_INIT "${ARM_LINKER_FLAGS}" )
37 | set( CMAKE_EXE_LINKER_FLAGS_INIT "${ARM_LINKER_FLAGS}" )
38 |
--------------------------------------------------------------------------------
/cmake/toolchains/arm-linux-gnueabihf-gcc-ubuntu.cmake:
--------------------------------------------------------------------------------
1 | # name of the target operating system
2 | set( CMAKE_SYSTEM_NAME Linux )
3 | set( CMAKE_SYSTEM_PROCESSOR arm )
4 |
5 | set( GNU_MACHINE "arm-linux-gnueabihf" )
6 |
7 | # which compilers to use for C and C++
8 | set( CMAKE_C_COMPILER ${GNU_MACHINE}-gcc )
9 | set( CMAKE_CXX_COMPILER ${GNU_MACHINE}-g++ )
10 |
11 | # here is the target environment located
12 | if( NOT DEFINED ARM_LINUX_SYSROOT AND DEFINED GNU_MACHINE )
13 | set( ARM_LINUX_SYSROOT /usr/${GNU_MACHINE}${FLOAT_ABI_SUFFIX} )
14 | endif()
15 |
16 | list( APPEND CMAKE_FIND_ROOT_PATH ${ARM_LINUX_SYSROOT} )
17 |
18 | # adjust the default behaviour of the FIND_XXX() commands:
19 | # search headers and libraries in the target environment, search
20 | # programs in the host environment
21 | set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
22 |
23 | # Ubuntu/amd64 + foreign architecture arm64
24 | set( CMAKE_LIBRARY_PATH /usr/lib/${GNU_MACHINE}-linux-gnu )
25 | set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH )
26 | #set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
27 |
28 | set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
29 |
30 | set( ARM_COMPILER_FLAGS "-fdata-sections -Wa,--noexecstack -fsigned-char -march=armv7-a -mfloat-abi=hard -mfpu=neon-vfpv3" )
31 | set( CMAKE_C_FLAGS_INIT "${ARM_COMPILER_FLAGS}" )
32 | set( CMAKE_CXX_FLAGS_INIT "${ARM_COMPILER_FLAGS}" )
33 |
34 | set( ARM_LINKER_FLAGS "-Wl,--no-undefined -Wl,--gc-sections -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now" )
35 | set( CMAKE_SHARED_LINKER_FLAGS_INIT "${ARM_LINKER_FLAGS}" )
36 | set( CMAKE_MODULE_LINKER_FLAGS_INIT "${ARM_LINKER_FLAGS}" )
37 | set( CMAKE_EXE_LINKER_FLAGS_INIT "${ARM_LINKER_FLAGS}" )
38 |
--------------------------------------------------------------------------------
/thirdparty/simde/mips/msa.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2021 Evan Nemerson
25 | */
26 |
27 | #if !defined(SIMDE_MIPS_MSA_H)
28 | #define SIMDE_MIPS_MSA_H
29 |
30 | #include "msa/types.h"
31 |
32 | #include "msa/add_a.h"
33 | #include "msa/adds.h"
34 | #include "msa/adds_a.h"
35 | #include "msa/addv.h"
36 | #include "msa/addvi.h"
37 | #include "msa/and.h"
38 | #include "msa/andi.h"
39 | #include "msa/ld.h"
40 | #include "msa/madd.h"
41 | #include "msa/st.h"
42 | #include "msa/subv.h"
43 |
44 | #endif /* SIMDE_MIPS_MSA_H */
45 |
--------------------------------------------------------------------------------
/thirdparty/simde/arm/sve.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2021 Evan Nemerson
25 | */
26 |
27 | #if !defined(SIMDE_ARM_SVE_H)
28 | #define SIMDE_ARM_SVE_H
29 |
30 | #include "sve/types.h"
31 |
32 | #include "sve/add.h"
33 | #include "sve/and.h"
34 | #include "sve/cnt.h"
35 | #include "sve/cmplt.h"
36 | #include "sve/dup.h"
37 | #include "sve/ld1.h"
38 | #include "sve/ptest.h"
39 | #include "sve/ptrue.h"
40 | #include "sve/qadd.h"
41 | #include "sve/reinterpret.h"
42 | #include "sve/sel.h"
43 | #include "sve/st1.h"
44 | #include "sve/sub.h"
45 | #include "sve/whilelt.h"
46 |
47 | #endif /* SIMDE_ARM_SVE_H */
48 |
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | The Clear BSD License
2 |
3 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
4 | All rights reserved.
5 |
6 | Redistribution and use in source and binary forms, with or without modification,
7 | are permitted (subject to the limitations in the disclaimer below) provided that
8 | the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice,
11 | this list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright
14 | notice, this list of conditions and the following disclaimer in the
15 | documentation and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from this
19 | software without specific prior written permission.
20 |
21 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
22 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
23 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
25 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
26 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
28 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
29 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
30 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 | POSSIBILITY OF SUCH DAMAGE.
33 |
--------------------------------------------------------------------------------
/source/App/vvdecapp/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # executable
2 | set( EXE_NAME vvdecapp )
3 |
4 | # get source files
5 | file( GLOB SRC_FILES CONFIGURE_DEPENDS "*.cpp" )
6 |
7 | # get include files
8 | file( GLOB INC_FILES CONFIGURE_DEPENDS "*.h" )
9 |
10 | # set resource file for MSVC compilers
11 | if( MSVC )
12 | set( RESOURCE_FILE ${EXE_NAME}.rc )
13 | endif()
14 |
15 | if( VVDEC_ENABLE_TRACING )
16 | add_compile_definitions( ENABLE_TRACING )
17 | endif()
18 |
19 | # add executable
20 | add_executable( ${EXE_NAME} ${SRC_FILES} ${INC_FILES} ${RESOURCE_FILE} )
21 | set_target_properties( ${EXE_NAME} PROPERTIES RELEASE_POSTFIX "${CMAKE_RELEASE_POSTFIX}" )
22 | set_target_properties( ${EXE_NAME} PROPERTIES DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}" )
23 | set_target_properties( ${EXE_NAME} PROPERTIES RELWITHDEBINFO_POSTFIX "${CMAKE_RELWITHDEBINFO_POSTFIX}" )
24 | set_target_properties( ${EXE_NAME} PROPERTIES MINSIZEREL_POSTFIX "${CMAKE_MINSIZEREL_POSTFIX}" )
25 | if( VVDEC_INSTALL_RPATH )
26 | set_target_properties( ${EXE_NAME} PROPERTIES INSTALL_RPATH "${VVDEC_INSTALL_RPATH}" )
27 | endif()
28 | if( VVDEC_LIBRARY_ONLY )
29 | set_target_properties( ${EXE_NAME} PROPERTIES EXCLUDE_FROM_ALL TRUE )
30 | endif()
31 |
32 | target_link_libraries( ${EXE_NAME} Threads::Threads vvdec )
33 | target_include_directories( ${EXE_NAME} PRIVATE ../../Lib/libmd5 )
34 |
35 | if( ${CMAKE_SYSTEM_NAME} STREQUAL "Emscripten" )
36 | set_target_properties( ${EXE_NAME} PROPERTIES LINK_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/../../Lib/vvdec/wasm_exported_functions.json;" )
37 | endif()
38 |
39 | # example: place header files in different folders
40 | source_group( "Header Files" FILES ${INC_FILES} )
41 | source_group( "Resource Files" FILES ${RESOURCE_FILE} )
42 |
43 | # set the folder where to place the projects
44 | set_target_properties( ${EXE_NAME} PROPERTIES
45 | FOLDER app
46 | XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER de.fraunhofer.hhi.vvdec )
47 |
--------------------------------------------------------------------------------
/thirdparty/simde/x86/avx512/kand.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2023 Michael R. Crusoe
25 | */
26 |
27 | #if !defined(SIMDE_X86_AVX512_KAND_H)
28 | #define SIMDE_X86_AVX512_KAND_H
29 |
30 | #include "types.h"
31 |
32 | HEDLEY_DIAGNOSTIC_PUSH
33 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
34 | SIMDE_BEGIN_DECLS_
35 |
36 | SIMDE_FUNCTION_ATTRIBUTES
37 | simde__mmask16
38 | simde_mm512_kand (simde__mmask16 a, simde__mmask16 b) {
39 | #if defined(SIMDE_X86_AVX512F_NATIVE)
40 | return _mm512_kand(a, b);
41 | #else
42 | return a & b;
43 | #endif
44 | }
45 | #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES)
46 | #undef _mm512_kand
47 | #define _mm512_kand(a, b) simde_mm512_kand((a), (b))
48 | #endif
49 |
50 | SIMDE_END_DECLS_
51 | HEDLEY_DIAGNOSTIC_POP
52 |
53 | #endif /* !defined(SIMDE_X86_AVX512_KAND_H) */
54 |
--------------------------------------------------------------------------------
/tests/vvdec_unit_test/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # executable
2 | set( EXE_NAME vvdec_unit_test )
3 |
4 | # get source files
5 | file( GLOB SRC_FILES CONFIGURE_DEPENDS "*.cpp" )
6 |
7 | # get include files
8 | file( GLOB INC_FILES CONFIGURE_DEPENDS "*.h" )
9 |
10 | if( VVDEC_ENABLE_TRACING )
11 | add_compile_definitions( ENABLE_TRACING )
12 | endif()
13 |
14 | # add executable
15 | add_executable( ${EXE_NAME} ${SRC_FILES} ${INC_FILES} ${RESOURCE_FILE} )
16 | set_target_properties( ${EXE_NAME} PROPERTIES RELEASE_POSTFIX "${CMAKE_RELEASE_POSTFIX}" )
17 | set_target_properties( ${EXE_NAME} PROPERTIES DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}" )
18 | set_target_properties( ${EXE_NAME} PROPERTIES RELWITHDEBINFO_POSTFIX "${CMAKE_RELWITHDEBINFO_POSTFIX}" )
19 | set_target_properties( ${EXE_NAME} PROPERTIES MINSIZEREL_POSTFIX "${CMAKE_MINSIZEREL_POSTFIX}" )
20 | if( VVDEC_INSTALL_RPATH )
21 | set_target_properties( ${EXE_NAME} PROPERTIES INSTALL_RPATH "${VVDEC_INSTALL_RPATH}" )
22 | endif()
23 | if( VVDEC_LIBRARY_ONLY )
24 | set_target_properties( ${EXE_NAME} PROPERTIES EXCLUDE_FROM_ALL TRUE )
25 | endif()
26 |
27 | target_include_directories( ${EXE_NAME}
28 | PRIVATE
29 | "${VVDEC_LIB_DIR}"
30 | "${VVDEC_LIB_DIR}/CommonLib"
31 | "${VVDEC_LIB_DIR}/CommonLib/x86"
32 | "${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/"
33 | )
34 |
35 | target_link_libraries( ${EXE_NAME} Threads::Threads vvdec )
36 |
37 | target_compile_options( ${EXE_NAME} PRIVATE $<$,$>:-Wall>
38 | $<$:-Wall -fdiagnostics-show-option -Wno-ignored-attributes -Wno-sign-compare>
39 | $<$:/W4 /WX /wd4244 /wd4251 /wd4996 /wd4189>)
40 |
41 | # example: place header files in different folders
42 | source_group( "Header Files" FILES ${INC_FILES} )
43 | source_group( "Resource Files" FILES ${RESOURCE_FILE} )
44 |
45 | # set the folder where to place the projects
46 | set_target_properties( ${EXE_NAME} PROPERTIES FOLDER tests )
47 |
--------------------------------------------------------------------------------
/thirdparty/VTM_license.txt:
--------------------------------------------------------------------------------
1 | The Fraunhofer Versatile Video Encoding Library is based on the official ITU/ISO/IEC VVC
2 | Test Model (VTM) reference software whose copyright holders are indicated in the copyright
3 | notices of its source files. The VVC Test Model (VTM) reference software is licensed under
4 | the following 3-Clause BSD License:
5 |
6 | /* -----------------------------------------------------------------------------
7 | The copyright in this software is being made available under the BSD
8 | License, included below. This software may be subject to other third party
9 | and contributor rights, including patent rights, and no such rights are
10 | granted under this license.
11 |
12 | Copyright (c) 2010-2023, ITU/ISO/IEC
13 | All rights reserved.
14 |
15 | Redistribution and use in source and binary forms, with or without
16 | modification, are permitted provided that the following conditions are met:
17 |
18 | * Redistributions of source code must retain the above copyright notice,
19 | this list of conditions and the following disclaimer.
20 | * Redistributions in binary form must reproduce the above copyright notice,
21 | this list of conditions and the following disclaimer in the documentation
22 | and/or other materials provided with the distribution.
23 | * Neither the name of the ITU/ISO/IEC nor the names of its contributors may
24 | be used to endorse or promote products derived from this software without
25 | specific prior written permission.
26 |
27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
28 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
31 | BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
32 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
33 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
34 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
35 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
36 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
37 | THE POSSIBILITY OF SUCH DAMAGE.
38 | ----------------------------------------------------------------------------- */
39 |
--------------------------------------------------------------------------------
/source/Lib/FilmGrain/FilmGrainImpl_avx2.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 | ------------------------------------------------------------------------------------------- */
40 |
41 | #define CURR_X86_VEXT AVX2
42 | #include "FilmGrainImpl_X86_SIMD.h"
43 |
--------------------------------------------------------------------------------
/source/Lib/FilmGrain/FilmGrainImpl_sse41.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 | ------------------------------------------------------------------------------------------- */
40 |
41 | #define CURR_X86_VEXT SSE41
42 | #include "FilmGrainImpl_X86_SIMD.h"
43 |
--------------------------------------------------------------------------------
/thirdparty/simde/x86/avx512/testn.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2021 Andrew Rodriguez
25 | */
26 |
27 | #if !defined(SIMDE_X86_AVX512_TESTN_H)
28 | #define SIMDE_X86_AVX512_TESTN_H
29 |
30 | #include "types.h"
31 |
32 | HEDLEY_DIAGNOSTIC_PUSH
33 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
34 | SIMDE_BEGIN_DECLS_
35 |
36 | SIMDE_FUNCTION_ATTRIBUTES
37 | simde__mmask8
38 | simde_mm512_testn_epi64_mask (simde__m512i a, simde__m512i b) {
39 | #if defined(SIMDE_X86_AVX512F_NATIVE)
40 | return _mm512_testn_epi64_mask(a, b);
41 | #else
42 | simde__m512i_private
43 | a_ = simde__m512i_to_private(a),
44 | b_ = simde__m512i_to_private(b);
45 | simde__mmask8 r = 0;
46 |
47 | SIMDE_VECTORIZE_REDUCTION(|:r)
48 | for (size_t i = 0 ; i < (sizeof(a_.i64) / sizeof(a_.i64[0])) ; i++) {
49 | r |= (!(a_.i64[i] & b_.i64[i])) << i;
50 | }
51 |
52 | return r;
53 | #endif
54 | }
55 | #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES)
56 | #undef _mm512_testn_epi64_mask
57 | #define _mm512_testn_epi64_mask(a, b) simde_mm512_testn_epi64_mask(a, b)
58 | #endif
59 |
60 | SIMDE_END_DECLS_
61 | HEDLEY_DIAGNOSTIC_POP
62 |
63 | #endif /* !defined(SIMDE_X86_AVX512_TESTN_H) */
64 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/arm/neon/RdCost_neon.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../RdCostARM.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx/Buffer_avx.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../BufferX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx/Quant_avx.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../QuantX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx/RdCost_avx.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../RdCostX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx/Trafo_avx.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../TrafoX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx2/Quant_avx2.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../QuantX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx2/Trafo_avx2.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../TrafoX86.h"
44 |
--------------------------------------------------------------------------------
/thirdparty/simde/x86/avx512/rcp.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2023 Michael R. Crusoe
25 | */
26 |
27 | #if !defined(SIMDE_X86_AVX512_RCP_H)
28 | #define SIMDE_X86_AVX512_RCP_H
29 |
30 | #include "types.h"
31 |
32 | HEDLEY_DIAGNOSTIC_PUSH
33 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
34 | SIMDE_BEGIN_DECLS_
35 |
36 | // TODO: "The maximum relative error for this approximation is less than 2^-14."
37 | // vs 1.5*2^-12 for _mm{,256}_rcp_ps
38 |
39 | SIMDE_FUNCTION_ATTRIBUTES
40 | simde__m512
41 | simde_mm512_rcp14_ps (simde__m512 a) {
42 | #if defined(SIMDE_X86_AVX512F_NATIVE)
43 | return _mm512_rcp14_ps(a);
44 | #else
45 | simde__m512_private
46 | r_,
47 | a_ = simde__m512_to_private(a);
48 |
49 | SIMDE_VECTORIZE
50 | for (size_t i = 0 ; i < (sizeof(r_.f32) / sizeof(r_.f32[0])) ; i++) {
51 | r_.f32[i] = SIMDE_FLOAT32_C(1.0) / a_.f32[i];
52 | }
53 |
54 | return simde__m512_from_private(r_);
55 | #endif
56 | }
57 | #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES)
58 | #undef _mm512_rcp14_ps
59 | #define _mm512_rcp14_ps(a) simde_mm512_rcp14_ps(a)
60 | #endif
61 |
62 | SIMDE_END_DECLS_
63 | HEDLEY_DIAGNOSTIC_POP
64 |
65 | #endif /* !defined(SIMDE_X86_AVX512_RCP_H) */
66 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx/Picture_avx.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../PictureX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx2/Buffer_avx2.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../BufferX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx2/Picture_avx2.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../PictureX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx2/RdCost_avx2.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../RdCostX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse41/Buffer_sse41.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../BufferX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse41/Quant_sse41.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../QuantX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse41/RdCost_sse41.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../RdCostX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse41/Trafo_sse41.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../TrafoX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse42/Buffer_sse42.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../BufferX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse42/Quant_sse42.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../QuantX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse42/RdCost_sse42.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../RdCostX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse42/Trafo_sse42.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../TrafoX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx/InterPred_avx.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../InterPredX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx/IntraPred_avx.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../IntraPredX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx/LoopFilter_avx.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../LoopFilterX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx2/InterPred_avx2.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../InterPredX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx2/IntraPred_avx2.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../IntraPredX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx2/LoopFilter_avx2.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../LoopFilterX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse41/InterPred_sse41.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../InterPredX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse41/IntraPred_sse41.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../IntraPredX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse41/Picture_sse41.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../PictureX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse42/InterPred_sse42.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../InterPredX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse42/IntraPred_sse42.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../IntraPredX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse42/Picture_sse42.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../PictureX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse41/LoopFilter_sse41.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../LoopFilterX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse42/LoopFilter_sse42.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../LoopFilterX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx/AdaptiveLoopFilter_avx.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../AdaptiveLoopFilterX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx/InterpolationFilter_avx.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../InterpolationFilterX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx/SampleAdaptiveOffset_avx.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../SampleAdaptiveOffsetX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx2/AdaptiveLoopFilter_avx2.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../AdaptiveLoopFilterX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx2/InterpolationFilter_avx2.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../InterpolationFilterX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/avx2/SampleAdaptiveOffset_avx2.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../SampleAdaptiveOffsetX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse41/AdaptiveLoopFilter_sse41.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../AdaptiveLoopFilterX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse41/InterpolationFilter_sse41.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../InterpolationFilterX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse42/AdaptiveLoopFilter_sse42.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../AdaptiveLoopFilterX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse42/InterpolationFilter_sse42.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../InterpolationFilterX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse41/SampleAdaptiveOffset_sse41.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../SampleAdaptiveOffsetX86.h"
44 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/x86/sse42/SampleAdaptiveOffset_sse42.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "../SampleAdaptiveOffsetX86.h"
44 |
--------------------------------------------------------------------------------
/thirdparty/simde/arm/neon/rax.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2023 Yi-Yen Chung (Copyright owned by Andes Technology)
25 | */
26 |
27 | #if !defined(SIMDE_ARM_NEON_RAX_H)
28 | #define SIMDE_ARM_NEON_RAX_H
29 |
30 | #include "types.h"
31 |
32 | HEDLEY_DIAGNOSTIC_PUSH
33 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
34 | SIMDE_BEGIN_DECLS_
35 |
36 | SIMDE_FUNCTION_ATTRIBUTES
37 | simde_uint64x2_t
38 | simde_vrax1q_u64(simde_uint64x2_t a, simde_uint64x2_t b) {
39 | #if defined(SIMDE_ARM_NEON_A64V8_NATIVE) && defined(SIMDE_ARCH_ARM_SHA3)
40 | return vrax1q_u64(a, b);
41 | #else
42 | simde_uint64x2_private
43 | r_,
44 | a_ = simde_uint64x2_to_private(a),
45 | b_ = simde_uint64x2_to_private(b);
46 |
47 | SIMDE_VECTORIZE
48 | for (size_t i = 0 ; i < (sizeof(r_.values) / sizeof(r_.values[0])) ; i++) {
49 | b_.values[i] = (b_.values[i] >> 63) | (b_.values[i] << 1);
50 | r_.values[i] = a_.values[i] ^ b_.values[i];
51 | }
52 |
53 | return simde_uint64x2_from_private(r_);
54 | #endif
55 | }
56 | #if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES)
57 | #undef vrax1q_u64
58 | #define vrax1q_u64(a, b) simde_vrax1q_u64((a), (b))
59 | #endif
60 |
61 | SIMDE_END_DECLS_
62 | HEDLEY_DIAGNOSTIC_POP
63 |
64 | #endif /* !defined(SIMDE_ARM_NEON_RAX_H) */
65 |
--------------------------------------------------------------------------------
/thirdparty/simde/arm/neon/xar.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2021 Atharva Nimbalkar
25 | */
26 |
27 | #if !defined(SIMDE_ARM_NEON_XAR_H)
28 | #define SIMDE_ARM_NEON_XAR_H
29 |
30 | #include "types.h"
31 | #include "eor.h"
32 |
33 | HEDLEY_DIAGNOSTIC_PUSH
34 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
35 | SIMDE_BEGIN_DECLS_
36 |
37 | SIMDE_FUNCTION_ATTRIBUTES
38 | simde_uint64x2_t
39 | simde_vxarq_u64(simde_uint64x2_t a, simde_uint64x2_t b, const int d)
40 | SIMDE_REQUIRE_CONSTANT_RANGE(d, 0, 63) {
41 | simde_uint64x2_private
42 | r_,
43 | t = simde_uint64x2_to_private(simde_veorq_u64(a,b));
44 |
45 | SIMDE_VECTORIZE
46 | for (size_t i=0 ; i < (sizeof(r_.values) / sizeof(r_.values[0])) ; i++) {
47 | r_.values[i] = ((t.values[i] >> d) | (t.values[i] << (64 - d)));
48 | }
49 |
50 | return simde_uint64x2_from_private(r_);
51 | }
52 | #if defined(SIMDE_ARM_NEON_A64V8_NATIVE) && defined(SIMDE_ARCH_ARM_SHA3)
53 | #define simde_vxarq_u64(a, b, d) vxarq_u64((a), (b), (d))
54 | #endif
55 | #if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && !defined(SIMDE_ARCH_ARM_SHA3))
56 | #undef vxarq_u64
57 | #define vxarq_u64(a, b, d) simde_vxarq_u64((a), (b), (d))
58 | #endif
59 |
60 | SIMDE_END_DECLS_
61 | HEDLEY_DIAGNOSTIC_POP
62 |
63 | #endif /* !defined(SIMDE_ARM_NEON_XAR_H) */
64 |
--------------------------------------------------------------------------------
/thirdparty/simde/x86/avx512/mulhrs.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2020 Evan Nemerson
25 | * 2020 Hidayat Khan
26 | */
27 |
28 | #if !defined(SIMDE_X86_AVX512_MULHRS_H)
29 | #define SIMDE_X86_AVX512_MULHRS_H
30 |
31 | #include "types.h"
32 | #include "mov.h"
33 |
34 | HEDLEY_DIAGNOSTIC_PUSH
35 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
36 | SIMDE_BEGIN_DECLS_
37 |
38 | SIMDE_FUNCTION_ATTRIBUTES
39 | simde__m512i
40 | simde_mm512_mulhrs_epi16 (simde__m512i a, simde__m512i b) {
41 | #if defined(SIMDE_X86_AVX512BW_NATIVE)
42 | return _mm512_mulhrs_epi16(a, b);
43 | #else
44 | simde__m512i_private
45 | r_,
46 | a_ = simde__m512i_to_private(a),
47 | b_ = simde__m512i_to_private(b);
48 |
49 | SIMDE_VECTORIZE
50 | for (size_t i = 0 ; i < (sizeof(r_.i16) / sizeof(r_.i16[0])) ; i++) {
51 | r_.i16[i] = HEDLEY_STATIC_CAST(int16_t, (((HEDLEY_STATIC_CAST(int32_t, a_.i16[i]) * HEDLEY_STATIC_CAST(int32_t, b_.i16[i])) + 0x4000) >> 15));
52 | }
53 |
54 | return simde__m512i_from_private(r_);
55 | #endif
56 | }
57 | #if defined(SIMDE_X86_AVX512BW_ENABLE_NATIVE_ALIASES)
58 | #undef _mm512_mulhrs_epi16
59 | #define _mm512_mulhrs_epi16(a, b) simde_mm512_mulhrs_epi16(a, b)
60 | #endif
61 |
62 | SIMDE_END_DECLS_
63 | HEDLEY_DIAGNOSTIC_POP
64 |
65 | #endif /* !defined(SIMDE_X86_AVX512_MULHRS_H) */
66 |
--------------------------------------------------------------------------------
/thirdparty/simde/x86/avx512/mulhi.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2020 Evan Nemerson
25 | * 2020 Hidayat Khan
26 | */
27 |
28 | #if !defined(SIMDE_X86_AVX512_MULHI_H)
29 | #define SIMDE_X86_AVX512_MULHI_H
30 |
31 | #include "types.h"
32 | #include "mov.h"
33 |
34 | HEDLEY_DIAGNOSTIC_PUSH
35 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
36 | SIMDE_BEGIN_DECLS_
37 |
38 | SIMDE_FUNCTION_ATTRIBUTES
39 | simde__m512i
40 | simde_mm512_mulhi_epi16 (simde__m512i a, simde__m512i b) {
41 | #if defined(SIMDE_X86_AVX512BW_NATIVE)
42 | return _mm512_mulhi_epi16(a, b);
43 | #else
44 | simde__m512i_private
45 | r_,
46 | a_ = simde__m512i_to_private(a),
47 | b_ = simde__m512i_to_private(b);
48 |
49 | SIMDE_VECTORIZE
50 | for (size_t i = 0 ; i < (sizeof(r_.i16) / sizeof(r_.i16[0])) ; i++) {
51 | r_.u16[i] = HEDLEY_STATIC_CAST(uint16_t, (HEDLEY_STATIC_CAST(uint32_t, HEDLEY_STATIC_CAST(int32_t, a_.i16[i]) * HEDLEY_STATIC_CAST(int32_t, b_.i16[i])) >> 16));
52 | }
53 |
54 | return simde__m512i_from_private(r_);
55 | #endif
56 | }
57 | #if defined(SIMDE_X86_AVX512BW_ENABLE_NATIVE_ALIASES)
58 | #undef _mm512_mulhi_epi16
59 | #define _mm512_mulhi_epi16(a, b) simde_mm512_mulhi_epi16(a, b)
60 | #endif
61 |
62 | SIMDE_END_DECLS_
63 | HEDLEY_DIAGNOSTIC_POP
64 |
65 | #endif /* !defined(SIMDE_X86_AVX512_MULHI_H) */
66 |
--------------------------------------------------------------------------------
/thirdparty/simde/x86/avx512/setone.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2020 Evan Nemerson
25 | */
26 |
27 | #if !defined(SIMDE_X86_AVX512_SETONE_H)
28 | #define SIMDE_X86_AVX512_SETONE_H
29 |
30 | #include "types.h"
31 | #include "cast.h"
32 |
33 | HEDLEY_DIAGNOSTIC_PUSH
34 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
35 | SIMDE_BEGIN_DECLS_
36 |
37 | SIMDE_FUNCTION_ATTRIBUTES
38 | simde__m512i
39 | simde_x_mm512_setone_si512(void) {
40 | simde__m512i_private r_;
41 |
42 | SIMDE_VECTORIZE
43 | for (size_t i = 0 ; i < (sizeof(r_.i32f) / sizeof(r_.i32f[0])) ; i++) {
44 | r_.i32f[i] = ~HEDLEY_STATIC_CAST(int_fast32_t, 0);
45 | }
46 |
47 | return simde__m512i_from_private(r_);
48 | }
49 | #define simde_x_mm512_setone_epi32() simde_x_mm512_setone_si512()
50 |
51 | SIMDE_FUNCTION_ATTRIBUTES
52 | simde__m512
53 | simde_x_mm512_setone_ps(void) {
54 | return simde_mm512_castsi512_ps(simde_x_mm512_setone_si512());
55 | }
56 |
57 | SIMDE_FUNCTION_ATTRIBUTES
58 | simde__m512d
59 | simde_x_mm512_setone_pd(void) {
60 | return simde_mm512_castsi512_pd(simde_x_mm512_setone_si512());
61 | }
62 |
63 | SIMDE_FUNCTION_ATTRIBUTES
64 | simde__m512h
65 | simde_x_mm512_setone_ph(void) {
66 | return simde_mm512_castsi512_ph(simde_x_mm512_setone_si512());
67 | }
68 |
69 | SIMDE_END_DECLS_
70 | HEDLEY_DIAGNOSTIC_POP
71 |
72 | #endif /* !defined(SIMDE_X86_AVX512_SETONE_H) */
73 |
--------------------------------------------------------------------------------
/thirdparty/simde/x86/avx512/srav.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2020 Evan Nemerson
25 | * 2020 Hidayat Khan
26 | */
27 |
28 | #if !defined(SIMDE_X86_AVX512_SRAV_H)
29 | #define SIMDE_X86_AVX512_SRAV_H
30 |
31 | #include "types.h"
32 | #include "mov.h"
33 |
34 | HEDLEY_DIAGNOSTIC_PUSH
35 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
36 | SIMDE_BEGIN_DECLS_
37 |
38 | SIMDE_FUNCTION_ATTRIBUTES
39 | simde__m512i
40 | simde_mm512_srav_epi16 (simde__m512i a, simde__m512i count) {
41 | #if defined(SIMDE_X86_AVX512BW_NATIVE)
42 | return _mm512_srav_epi16(a, count);
43 | #else
44 | simde__m512i_private
45 | r_,
46 | a_ = simde__m512i_to_private(a),
47 | count_ = simde__m512i_to_private(count);
48 |
49 | SIMDE_VECTORIZE
50 | for (size_t i = 0 ; i < (sizeof(r_.i16) / sizeof(r_.i16[0])) ; i++) {
51 | uint32_t shift = HEDLEY_STATIC_CAST(uint32_t, count_.i16[i]);
52 | if (shift > 16) shift = 15;
53 | r_.i16[i] = a_.i16[i] >> shift;
54 | }
55 |
56 | return simde__m512i_from_private(r_);
57 | #endif
58 | }
59 | #if defined(SIMDE_X86_AVX512BW_ENABLE_NATIVE_ALIASES)
60 | #undef _mm512_srav_epi16
61 | #define _mm512_srav_epi16(a, count) simde_mm512_srav_epi16(a, count)
62 | #endif
63 |
64 | SIMDE_END_DECLS_
65 | HEDLEY_DIAGNOSTIC_POP
66 |
67 | #endif /* !defined(SIMDE_X86_AVX512_SRAV_H) */
68 |
--------------------------------------------------------------------------------
/.android_sdk_ndk.dockerfile:
--------------------------------------------------------------------------------
1 | FROM vigitlab.fe.hhi.de:5050/pub/dockerimages/ubuntu_2404_dev
2 |
3 | LABEL maintainer="Gabriel Hege" \
4 | description="Android SDK & NDK build environment"
5 |
6 | ARG v_sdk=11076708_latest
7 | ARG v_sdk_platform=35
8 | ARG v_sdk_build_tools=35.0.0
9 | ARG v_ndk=r27c
10 | ARG v_ndk_n=27.2.12479018
11 |
12 | ENV ANDROID_HOME=/opt/android-sdk-linux
13 | ENV ANDROID_NDK_ROOT=/opt/android-ndk-${v_ndk}
14 | ENV PATH="${PATH}:${ANDROID_HOME}/cmdline-tools/bin"
15 |
16 | ARG DEBIAN_FRONTEND=noninteractive
17 |
18 | RUN apt-get update -y && \
19 | apt-get dist-upgrade -y && \
20 | apt-get install -y --no-install-recommends \
21 | default-jdk-headless \
22 | less
23 |
24 | RUN mkdir -p "${ANDROID_HOME}"
25 |
26 | #ADD commandlinetools-linux-${v_sdk}.zip /tmp/commandlinetools-linux-${v_sdk}.zip
27 | #ADD android-ndk-${v_ndk}-linux.zip /tmp/android-ndk-${v_ndk}-linux.zip
28 | RUN wget https://dl.google.com/android/repository/commandlinetools-linux-${v_sdk}.zip -O /tmp/commandlinetools-linux-${v_sdk}.zip && \
29 | wget http://dl.google.com/android/repository/android-ndk-${v_ndk}-linux.zip -O /tmp/android-ndk-${v_ndk}-linux.zip && \
30 | unzip -q "/tmp/commandlinetools-linux-${v_sdk}.zip" -d "${ANDROID_HOME}" && rm "/tmp/commandlinetools-linux-${v_sdk}.zip" && \
31 | unzip -q "/tmp/android-ndk-${v_ndk}-linux.zip" -d /opt && rm "/tmp/android-ndk-${v_ndk}-linux.zip"
32 |
33 | RUN yes | "${ANDROID_HOME}/cmdline-tools/bin/sdkmanager" --sdk_root="${ANDROID_HOME}" --licenses && \
34 | yes | "${ANDROID_HOME}/cmdline-tools/bin/sdkmanager" --sdk_root="${ANDROID_HOME}" \
35 | "build-tools;${v_sdk_build_tools}" \
36 | "extras;android;m2repository" \
37 | "platforms;android-${v_sdk_platform}"
38 |
39 | RUN apt-get autoclean && \
40 | apt-get autoremove && \
41 | apt-get clean && \
42 | rm -rf /var/lib/apt/lists/*
43 |
--------------------------------------------------------------------------------
/thirdparty/simde/arm/neon/qdmull_n.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2023 Yi-Yen Chung (Copyright owned by Andes Technology)
25 | */
26 |
27 | #if !defined(SIMDE_ARM_NEON_QDMULL_N_H)
28 | #define SIMDE_ARM_NEON_QDMULL_N_H
29 |
30 | #include "combine.h"
31 | #include "dup_n.h"
32 | #include "qdmull.h"
33 |
34 | HEDLEY_DIAGNOSTIC_PUSH
35 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
36 | SIMDE_BEGIN_DECLS_
37 |
38 | SIMDE_FUNCTION_ATTRIBUTES
39 | simde_int32x4_t
40 | simde_vqdmull_n_s16(simde_int16x4_t a, int16_t b) {
41 | #if defined(SIMDE_ARM_NEON_A32V7_NATIVE)
42 | return vqdmull_n_s16(a, b);
43 | #else
44 | return simde_vqdmull_s16(a, simde_vdup_n_s16(b));
45 | #endif
46 | }
47 | #if defined(SIMDE_ARM_NEON_A32V7_ENABLE_NATIVE_ALIASES)
48 | #undef vqdmull_n_s16
49 | #define vqdmull_n_s16(a, b) simde_vqdmull_n_s16((a), (b))
50 | #endif
51 |
52 | SIMDE_FUNCTION_ATTRIBUTES
53 | simde_int64x2_t
54 | simde_vqdmull_n_s32(simde_int32x2_t a, int32_t b) {
55 | #if defined(SIMDE_ARM_NEON_A32V7_NATIVE)
56 | return vqdmull_n_s32(a, b);
57 | #else
58 | return simde_vqdmull_s32(a, simde_vdup_n_s32(b));
59 | #endif
60 | }
61 | #if defined(SIMDE_ARM_NEON_A32V7_ENABLE_NATIVE_ALIASES)
62 | #undef vqdmull_n_s32
63 | #define vqdmull_n_s32(a, b) simde_vqdmull_n_s32((a), (b))
64 | #endif
65 |
66 | SIMDE_END_DECLS_
67 | HEDLEY_DIAGNOSTIC_POP
68 |
69 | #endif /* !defined(SIMDE_ARM_NEON_QDMULL_N_H) */
70 |
--------------------------------------------------------------------------------
/source/App/vvdecapp/resource_version.h:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #if !defined( resource_version_h )
44 | #define resource_version_h
45 |
46 | // pick up top level version information.
47 | #include "vvdec/version.h"
48 |
49 | #define VS_FILE_VERSION VVDEC_VS_VERSION
50 | #define VS_FILE_VERSION_STR VVDEC_VS_VERSION_STR
51 |
52 | #endif
53 |
--------------------------------------------------------------------------------
/source/Lib/vvdec/resource_version.h:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #if !defined( resource_version_h )
44 | # define resource_version_h
45 |
46 | // pick up top level version information.
47 | # include "vvdec/version.h"
48 |
49 | # define VS_FILE_VERSION VVDEC_VS_VERSION
50 | # define VS_FILE_VERSION_STR VVDEC_VS_VERSION_STR
51 |
52 | #endif
53 |
--------------------------------------------------------------------------------
/thirdparty/simde/arm/neon/mulx_n.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2023 Yi-Yen Chung (Copyright owned by Andes Technology)
25 | */
26 |
27 | #if !defined(SIMDE_ARM_NEON_MULX_N_H)
28 | #define SIMDE_ARM_NEON_MULX_N_H
29 |
30 | #include "types.h"
31 | #include "mul.h"
32 | #include "dup_n.h"
33 |
34 | HEDLEY_DIAGNOSTIC_PUSH
35 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
36 | SIMDE_BEGIN_DECLS_
37 |
38 | SIMDE_FUNCTION_ATTRIBUTES
39 | simde_float16x4_t
40 | simde_vmulx_n_f16(simde_float16x4_t a, simde_float16 b) {
41 | #if defined(SIMDE_ARM_NEON_A64V8_NATIVE) && defined(SIMDE_ARM_NEON_FP16)
42 | return vmulx_n_f16(a, b);
43 | #else
44 | return simde_vmul_f16(a, simde_vdup_n_f16(b));
45 | #endif
46 | }
47 | #if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES)
48 | #undef vmulx_n_f16
49 | #define vmulx_n_f16(a, b) simde_vmulx_n_f16((a), (b))
50 | #endif
51 |
52 | SIMDE_FUNCTION_ATTRIBUTES
53 | simde_float16x8_t
54 | simde_vmulxq_n_f16(simde_float16x8_t a, simde_float16 b) {
55 | #if defined(SIMDE_ARM_NEON_A64V8_NATIVE) && defined(SIMDE_ARM_NEON_FP16)
56 | return vmulxq_n_f16(a, b);
57 | #else
58 | return simde_vmulq_f16(a, simde_vdupq_n_f16(b));
59 | #endif
60 | }
61 | #if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES)
62 | #undef vmulxq_n_f16
63 | #define vmulxq_n_f16(a, b) simde_vmulxq_n_f16((a), (b))
64 | #endif
65 |
66 | SIMDE_END_DECLS_
67 | HEDLEY_DIAGNOSTIC_POP
68 |
69 | #endif /* !defined(SIMDE_ARM_NEON_MULX_N_H) */
70 |
--------------------------------------------------------------------------------
/thirdparty/simde/arm/neon/qdmlal_n.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2023 Yi-Yen Chung (Copyright owned by Andes Technology)
25 | */
26 |
27 | #if !defined(SIMDE_ARM_NEON_QDMLAL_N_H)
28 | #define SIMDE_ARM_NEON_QDMLAL_N_H
29 |
30 | #include "dup_n.h"
31 | #include "qdmlal.h"
32 | #include "types.h"
33 |
34 | HEDLEY_DIAGNOSTIC_PUSH
35 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
36 | SIMDE_BEGIN_DECLS_
37 |
38 | SIMDE_FUNCTION_ATTRIBUTES
39 | simde_int32x4_t
40 | simde_vqdmlal_n_s16(simde_int32x4_t a, simde_int16x4_t b, int16_t c) {
41 | #if defined(SIMDE_ARM_NEON_A32V7_NATIVE)
42 | return vqdmlal_n_s16(a, b, c);
43 | #else
44 | return simde_vqdmlal_s16(a, b, simde_vdup_n_s16(c));
45 | #endif
46 | }
47 | #if defined(SIMDE_ARM_NEON_A32V7_ENABLE_NATIVE_ALIASES)
48 | #undef vqdmlal_n_s16
49 | #define vqdmlal_n_s16(a, b, c) simde_vqdmlal_n_s16((a), (b), (c))
50 | #endif
51 |
52 | SIMDE_FUNCTION_ATTRIBUTES
53 | simde_int64x2_t
54 | simde_vqdmlal_n_s32(simde_int64x2_t a, simde_int32x2_t b, int32_t c) {
55 | #if defined(SIMDE_ARM_NEON_A32V7_NATIVE)
56 | return vqdmlal_n_s32(a, b, c);
57 | #else
58 | return simde_vqdmlal_s32(a, b, simde_vdup_n_s32(c));
59 | #endif
60 | }
61 | #if defined(SIMDE_ARM_NEON_A32V7_ENABLE_NATIVE_ALIASES)
62 | #undef vqdmlal_n_s32
63 | #define vqdmlal_n_s32(a, b, c) simde_vqdmlal_n_s32((a), (b), (c))
64 | #endif
65 |
66 | SIMDE_END_DECLS_
67 | HEDLEY_DIAGNOSTIC_POP
68 |
69 | #endif /* !defined(SIMDE_ARM_NEON_QDMLAL_N_H) */
70 |
--------------------------------------------------------------------------------
/thirdparty/simde/arm/neon/qdmlsl_n.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2023 Yi-Yen Chung (Copyright owned by Andes Technology)
25 | */
26 |
27 | #if !defined(SIMDE_ARM_NEON_QDMLSL_N_H)
28 | #define SIMDE_ARM_NEON_QDMLSL_N_H
29 |
30 | #include "dup_n.h"
31 | #include "qdmlsl.h"
32 | #include "types.h"
33 |
34 | HEDLEY_DIAGNOSTIC_PUSH
35 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
36 | SIMDE_BEGIN_DECLS_
37 |
38 | SIMDE_FUNCTION_ATTRIBUTES
39 | simde_int32x4_t
40 | simde_vqdmlsl_n_s16(simde_int32x4_t a, simde_int16x4_t b, int16_t c) {
41 | #if defined(SIMDE_ARM_NEON_A32V7_NATIVE)
42 | return vqdmlsl_n_s16(a, b, c);
43 | #else
44 | return simde_vqdmlsl_s16(a, b, simde_vdup_n_s16(c));
45 | #endif
46 | }
47 | #if defined(SIMDE_ARM_NEON_A32V7_ENABLE_NATIVE_ALIASES)
48 | #undef vqdmlsl_n_s16
49 | #define vqdmlsl_n_s16(a, b, c) simde_vqdmlsl_n_s16((a), (b), (c))
50 | #endif
51 |
52 | SIMDE_FUNCTION_ATTRIBUTES
53 | simde_int64x2_t
54 | simde_vqdmlsl_n_s32(simde_int64x2_t a, simde_int32x2_t b, int32_t c) {
55 | #if defined(SIMDE_ARM_NEON_A32V7_NATIVE)
56 | return vqdmlsl_n_s32(a, b, c);
57 | #else
58 | return simde_vqdmlsl_s32(a, b, simde_vdup_n_s32(c));
59 | #endif
60 | }
61 | #if defined(SIMDE_ARM_NEON_A32V7_ENABLE_NATIVE_ALIASES)
62 | #undef vqdmlsl_n_s32
63 | #define vqdmlsl_n_s32(a, b, c) simde_vqdmlsl_n_s32((a), (b), (c))
64 | #endif
65 |
66 | SIMDE_END_DECLS_
67 | HEDLEY_DIAGNOSTIC_POP
68 |
69 | #endif /* !defined(SIMDE_ARM_NEON_QDMLSL_N_H) */
70 |
--------------------------------------------------------------------------------
/source/Lib/CommonLib/ChromaFormat.cpp:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | #include "ChromaFormat.h"
44 |
45 |
46 | //----------------------------------------------------------------------------------------------------------------------
47 |
48 |
49 | //----------------------------------------------------------------------------------------------------------------------
50 |
--------------------------------------------------------------------------------
/thirdparty/simde/arm/sve/ptest.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2021 Evan Nemerson
25 | */
26 |
27 | #if !defined(SIMDE_ARM_SVE_PTEST_H)
28 | #define SIMDE_ARM_SVE_PTEST_H
29 |
30 | #include "types.h"
31 |
32 | HEDLEY_DIAGNOSTIC_PUSH
33 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
34 |
35 | SIMDE_FUNCTION_ATTRIBUTES
36 | simde_bool
37 | simde_svptest_first(simde_svbool_t pg, simde_svbool_t op) {
38 | #if defined(SIMDE_ARM_SVE_NATIVE)
39 | return svptest_first(pg, op);
40 | #elif defined(SIMDE_X86_AVX512BW_NATIVE) && (!defined(HEDLEY_MSVC_VERSION) || HEDLEY_MSVC_VERSION_CHECK(19,20,0))
41 | if (HEDLEY_LIKELY(pg.value & 1))
42 | return op.value & 1;
43 |
44 | if (pg.value == 0 || op.value == 0)
45 | return 0;
46 |
47 | #if defined(_MSC_VER)
48 | unsigned long r = 0;
49 | _BitScanForward64(&r, HEDLEY_STATIC_CAST(uint64_t, pg.value));
50 | return (op.value >> r) & 1;
51 | #else
52 | return (op.value >> __builtin_ctzll(HEDLEY_STATIC_CAST(unsigned long long, pg.value))) & 1;
53 | #endif
54 | #else
55 | for (int i = 0 ; i < HEDLEY_STATIC_CAST(int, simde_svcntb()) ; i++) {
56 | if (pg.values_i8[i]) {
57 | return !!op.values_i8[i];
58 | }
59 | }
60 |
61 | return 0;
62 | #endif
63 | }
64 | #if defined(SIMDE_ARM_SVE_ENABLE_NATIVE_ALIASES)
65 | #undef simde_svptest_first
66 | #define svptest_first(pg, op) simde_svptest_first(pg, op)
67 | #endif
68 |
69 | HEDLEY_DIAGNOSTIC_POP
70 |
71 | #endif /* SIMDE_ARM_SVE_PTEST_H */
72 |
--------------------------------------------------------------------------------
/thirdparty/simde/arm/neon/qdmull_high.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2023 Yi-Yen Chung (Copyright owned by Andes Technology)
25 | */
26 |
27 | #if !defined(SIMDE_ARM_NEON_QDMULL_HIGH_H)
28 | #define SIMDE_ARM_NEON_QDMULL_HIGH_H
29 |
30 | #include "combine.h"
31 | #include "get_high.h"
32 | #include "qdmull.h"
33 |
34 | HEDLEY_DIAGNOSTIC_PUSH
35 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
36 | SIMDE_BEGIN_DECLS_
37 |
38 | SIMDE_FUNCTION_ATTRIBUTES
39 | simde_int32x4_t
40 | simde_vqdmull_high_s16(simde_int16x8_t a, simde_int16x8_t b) {
41 | #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
42 | return vqdmull_high_s16(a, b);
43 | #else
44 | return simde_vqdmull_s16(simde_vget_high_s16(a), simde_vget_high_s16(b));
45 | #endif
46 | }
47 | #if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES)
48 | #undef vqdmull_high_s16
49 | #define vqdmull_high_s16(a, b) simde_vqdmull_high_s16((a), (b))
50 | #endif
51 |
52 | SIMDE_FUNCTION_ATTRIBUTES
53 | simde_int64x2_t
54 | simde_vqdmull_high_s32(simde_int32x4_t a, simde_int32x4_t b) {
55 | #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
56 | return vqdmull_high_s32(a, b);
57 | #else
58 | return simde_vqdmull_s32(simde_vget_high_s32(a), simde_vget_high_s32(b));
59 | #endif
60 | }
61 | #if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES)
62 | #undef vqdmull_high_s32
63 | #define vqdmull_high_s32(a, b) simde_vqdmull_high_s32((a), (b))
64 | #endif
65 |
66 | SIMDE_END_DECLS_
67 | HEDLEY_DIAGNOSTIC_POP
68 |
69 | #endif /* !defined(SIMDE_ARM_NEON_QDMULL_HIGH_H) */
70 |
--------------------------------------------------------------------------------
/thirdparty/simde/arm/neon/qdmlal_high.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2023 Yi-Yen Chung (Copyright owned by Andes Technology)
25 | */
26 |
27 | #if !defined(SIMDE_ARM_NEON_QDMLAL_HIGH_H)
28 | #define SIMDE_ARM_NEON_QDMLAL_HIGH_H
29 |
30 | #include "types.h"
31 | #include "qadd.h"
32 | #include "qdmull_high.h"
33 |
34 | HEDLEY_DIAGNOSTIC_PUSH
35 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
36 | SIMDE_BEGIN_DECLS_
37 |
38 | SIMDE_FUNCTION_ATTRIBUTES
39 | simde_int32x4_t
40 | simde_vqdmlal_high_s16(simde_int32x4_t a, simde_int16x8_t b, simde_int16x8_t c) {
41 | #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
42 | return vqdmlal_high_s16(a, b, c);
43 | #else
44 | return simde_vqaddq_s32(simde_vqdmull_high_s16(b, c), a);
45 | #endif
46 | }
47 | #if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES)
48 | #undef vqdmlal_high_s16
49 | #define vqdmlal_high_s16(a, b, c) simde_vqdmlal_high_s16((a), (b), (c))
50 | #endif
51 |
52 | SIMDE_FUNCTION_ATTRIBUTES
53 | simde_int64x2_t
54 | simde_vqdmlal_high_s32(simde_int64x2_t a, simde_int32x4_t b, simde_int32x4_t c) {
55 | #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
56 | return vqdmlal_high_s32(a, b, c);
57 | #else
58 | return simde_vqaddq_s64(simde_vqdmull_high_s32(b, c), a);
59 | #endif
60 | }
61 | #if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES)
62 | #undef vqdmlal_high_s32
63 | #define vqdmlal_high_s32(a, b, c) simde_vqdmlal_high_s32((a), (b), (c))
64 | #endif
65 |
66 | SIMDE_END_DECLS_
67 | HEDLEY_DIAGNOSTIC_POP
68 |
69 | #endif /* !defined(SIMDE_ARM_NEON_QDMLAL_HIGH_H) */
70 |
--------------------------------------------------------------------------------
/thirdparty/simde/arm/neon/qdmull_high_n.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2023 Yi-Yen Chung (Copyright owned by Andes Technology)
25 | */
26 |
27 | #if !defined(SIMDE_ARM_NEON_QDMULL_HIGH_N_H)
28 | #define SIMDE_ARM_NEON_QDMULL_HIGH_N_H
29 |
30 | #include "combine.h"
31 | #include "get_high.h"
32 | #include "dup_n.h"
33 | #include "qdmull.h"
34 |
35 | HEDLEY_DIAGNOSTIC_PUSH
36 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
37 | SIMDE_BEGIN_DECLS_
38 |
39 | SIMDE_FUNCTION_ATTRIBUTES
40 | simde_int32x4_t
41 | simde_vqdmull_high_n_s16(simde_int16x8_t a, int16_t b) {
42 | #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
43 | return vqdmull_high_n_s16(a, b);
44 | #else
45 | return simde_vqdmull_s16(simde_vget_high_s16(a), simde_vdup_n_s16(b));
46 | #endif
47 | }
48 | #if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES)
49 | #undef vqdmull_high_n_s16
50 | #define vqdmull_high_n_s16(a, b) simde_vqdmull_high_n_s16((a), (b))
51 | #endif
52 |
53 | SIMDE_FUNCTION_ATTRIBUTES
54 | simde_int64x2_t
55 | simde_vqdmull_high_n_s32(simde_int32x4_t a, int32_t b) {
56 | #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
57 | return vqdmull_high_n_s32(a, b);
58 | #else
59 | return simde_vqdmull_s32(simde_vget_high_s32(a), simde_vdup_n_s32(b));
60 | #endif
61 | }
62 | #if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES)
63 | #undef vqdmull_high_n_s32
64 | #define vqdmull_high_n_s32(a, b) simde_vqdmull_high_n_s32((a), (b))
65 | #endif
66 |
67 | SIMDE_END_DECLS_
68 | HEDLEY_DIAGNOSTIC_POP
69 |
70 | #endif /* !defined(SIMDE_ARM_NEON_QDMULL_HIGH_N_H) */
71 |
--------------------------------------------------------------------------------
/thirdparty/simde/x86/avx512/xorsign.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2020 Evan Nemerson
25 | * 2020 Himanshi Mathur
26 | */
27 |
28 | /* This is a SIMDe extension which is not part of AVX-512. It exists
29 | * because a lot of numerical methods in SIMDe have algorithms which do
30 | * something like:
31 | *
32 | * float sgn = input < 0 ? -1 : 1;
33 | * ...
34 | * return res * sgn;
35 | *
36 | * Which can be replaced with a much more efficient call to xorsign:
37 | *
38 | * return simde_x_mm512_xorsign_ps(res, input);
39 | *
40 | * While this was originally intended for use in SIMDe, please feel
41 | * free to use it in your code.
42 | */
43 |
44 | #if !defined(SIMDE_X86_AVX512_XORSIGN_H)
45 | #define SIMDE_X86_AVX512_XORSIGN_H
46 |
47 | #include "types.h"
48 | #include "mov.h"
49 | #include "and.h"
50 | #include "xor.h"
51 | #include "set1.h"
52 |
53 | HEDLEY_DIAGNOSTIC_PUSH
54 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
55 | SIMDE_BEGIN_DECLS_
56 |
57 | SIMDE_FUNCTION_ATTRIBUTES
58 | simde__m512
59 | simde_x_mm512_xorsign_ps(simde__m512 dest, simde__m512 src) {
60 | return simde_mm512_xor_ps(simde_mm512_and_ps(simde_mm512_set1_ps(-0.0f), src), dest);
61 | }
62 |
63 | SIMDE_FUNCTION_ATTRIBUTES
64 | simde__m512d
65 | simde_x_mm512_xorsign_pd(simde__m512d dest, simde__m512d src) {
66 | return simde_mm512_xor_pd(simde_mm512_and_pd(simde_mm512_set1_pd(-0.0), src), dest);
67 | }
68 |
69 | SIMDE_END_DECLS_
70 | HEDLEY_DIAGNOSTIC_POP
71 |
72 | #endif /* !defined(SIMDE_X86_AVX512_XORSIGN_H) */
73 |
--------------------------------------------------------------------------------
/thirdparty/simde/arm/neon/qdmlal_high_n.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2023 Yi-Yen Chung (Copyright owned by Andes Technology)
25 | */
26 |
27 | #if !defined(SIMDE_ARM_NEON_QDMLAL_HIGH_N_H)
28 | #define SIMDE_ARM_NEON_QDMLAL_HIGH_N_H
29 |
30 | #include "dup_n.h"
31 | #include "types.h"
32 | #include "qdmlal_high.h"
33 |
34 | HEDLEY_DIAGNOSTIC_PUSH
35 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
36 | SIMDE_BEGIN_DECLS_
37 |
38 | SIMDE_FUNCTION_ATTRIBUTES
39 | simde_int32x4_t
40 | simde_vqdmlal_high_n_s16(simde_int32x4_t a, simde_int16x8_t b, int16_t c) {
41 | #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
42 | return vqdmlal_high_n_s16(a, b, c);
43 | #else
44 | return simde_vqdmlal_high_s16(a, b, simde_vdupq_n_s16(c));
45 | #endif
46 | }
47 | #if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES)
48 | #undef vqdmlal_high_n_s16
49 | #define vqdmlal_high_n_s16(a, b, c) simde_vqdmlal_high_n_s16((a), (b), (c))
50 | #endif
51 |
52 | SIMDE_FUNCTION_ATTRIBUTES
53 | simde_int64x2_t
54 | simde_vqdmlal_high_n_s32(simde_int64x2_t a, simde_int32x4_t b, int32_t c) {
55 | #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
56 | return vqdmlal_high_n_s32(a, b, c);
57 | #else
58 | return simde_vqdmlal_high_s32(a, b, simde_vdupq_n_s32(c));
59 | #endif
60 | }
61 | #if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES)
62 | #undef vqdmlal_high_n_s32
63 | #define vqdmlal_high_n_s32(a, b, c) simde_vqdmlal_high_n_s32((a), (b), (c))
64 | #endif
65 |
66 | SIMDE_END_DECLS_
67 | HEDLEY_DIAGNOSTIC_POP
68 |
69 | #endif /* !defined(SIMDE_ARM_NEON_QDMLAL_HIGH_N_H) */
70 |
--------------------------------------------------------------------------------
/thirdparty/simde/x86/avx512/cvtus.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2023 Michael R. Crusoe
25 | */
26 |
27 | #if !defined(SIMDE_X86_AVX512_CVTUS_H)
28 | #define SIMDE_X86_AVX512_CVTUS_H
29 |
30 | #include "types.h"
31 | #include "mov.h"
32 | #include "storeu.h"
33 | #include "loadu.h"
34 |
35 | HEDLEY_DIAGNOSTIC_PUSH
36 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
37 | SIMDE_BEGIN_DECLS_
38 |
39 | SIMDE_FUNCTION_ATTRIBUTES
40 | void
41 | simde_mm512_mask_cvtusepi32_storeu_epi8 (void* base_addr, simde__mmask16 k, simde__m512i a) {
42 | #if defined(SIMDE_X86_AVX512F_NATIVE)
43 | _mm512_mask_cvtusepi32_storeu_epi8(base_addr, k, a);
44 | #else
45 | simde__m256i_private r_ = simde__m256i_to_private(simde_mm256_loadu_epi8(base_addr));
46 | simde__m512i_private a_ = simde__m512i_to_private(a);
47 |
48 | SIMDE_VECTORIZE
49 | for (size_t i = 0 ; i < (sizeof(a_.u32) / sizeof(a_.u32[0])) ; i++) {
50 | r_.i8[i] = ((k>>i) &1 ) ?
51 | ((a_.u32[i] > UINT8_MAX)
52 | ? (HEDLEY_STATIC_CAST(int8_t, UINT8_MAX))
53 | : HEDLEY_STATIC_CAST(int8_t, a_.u32[i])) : r_.i8[i];
54 | }
55 |
56 | simde_mm256_storeu_epi8(base_addr, simde__m256i_from_private(r_));
57 | #endif
58 | }
59 | #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES)
60 | #undef _mm512_mask_cvtusepi32_storeu_epi8
61 | #define _mm512_mask_cvtusepi32_storeu_epi8(base_addr, k, a) simde_mm512_mask_cvtusepi32_storeu_epi8((base_addr), (k), (a))
62 | #endif
63 |
64 | SIMDE_END_DECLS_
65 | HEDLEY_DIAGNOSTIC_POP
66 |
67 | #endif /* !defined(SIMDE_X86_AVX512_CVTUS_H) */
68 |
--------------------------------------------------------------------------------
/thirdparty/simde/arm/neon/qdmlsl_high.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2023 Yi-Yen Chung (Copyright owned by Andes Technology)
25 | */
26 |
27 | #if !defined(SIMDE_ARM_NEON_QDMLSL_HIGH_H)
28 | #define SIMDE_ARM_NEON_QDMLSL_HIGH_H
29 |
30 | #include "movl_high.h"
31 | #include "types.h"
32 | #include "qdmull_high.h"
33 | #include "qsub.h"
34 |
35 | HEDLEY_DIAGNOSTIC_PUSH
36 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
37 | SIMDE_BEGIN_DECLS_
38 |
39 | SIMDE_FUNCTION_ATTRIBUTES
40 | simde_int32x4_t
41 | simde_vqdmlsl_high_s16(simde_int32x4_t a, simde_int16x8_t b, simde_int16x8_t c) {
42 | #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
43 | return vqdmlsl_high_s16(a, b, c);
44 | #else
45 | return simde_vqsubq_s32(a, simde_vqdmull_high_s16(b, c));
46 | #endif
47 | }
48 | #if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES)
49 | #undef vqdmlsl_high_s16
50 | #define vqdmlsl_high_s16(a, b, c) simde_vqdmlsl_high_s16((a), (b), (c))
51 | #endif
52 |
53 | SIMDE_FUNCTION_ATTRIBUTES
54 | simde_int64x2_t
55 | simde_vqdmlsl_high_s32(simde_int64x2_t a, simde_int32x4_t b, simde_int32x4_t c) {
56 | #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
57 | return vqdmlsl_high_s32(a, b, c);
58 | #else
59 | return simde_vqsubq_s64(a, simde_vqdmull_high_s32(b, c));
60 | #endif
61 | }
62 | #if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES)
63 | #undef vqdmlsl_high_s32
64 | #define vqdmlsl_high_s32(a, b, c) simde_vqdmlsl_high_s32((a), (b), (c))
65 | #endif
66 |
67 | SIMDE_END_DECLS_
68 | HEDLEY_DIAGNOSTIC_POP
69 |
70 | #endif /* !defined(SIMDE_ARM_NEON_QDMLSL_HIGH_H) */
71 |
--------------------------------------------------------------------------------
/thirdparty/simde/arm/neon/qdmlsl_high_n.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2023 Yi-Yen Chung (Copyright owned by Andes Technology)
25 | */
26 |
27 | #if !defined(SIMDE_ARM_NEON_QDMLSL_HIGH_N_H)
28 | #define SIMDE_ARM_NEON_QDMLSL_HIGH_N_H
29 |
30 | #include "movl_high.h"
31 | #include "dup_n.h"
32 | #include "types.h"
33 | #include "qdmlsl_high.h"
34 |
35 | HEDLEY_DIAGNOSTIC_PUSH
36 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
37 | SIMDE_BEGIN_DECLS_
38 |
39 | SIMDE_FUNCTION_ATTRIBUTES
40 | simde_int32x4_t
41 | simde_vqdmlsl_high_n_s16(simde_int32x4_t a, simde_int16x8_t b, int16_t c) {
42 | #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
43 | return vqdmlsl_high_n_s16(a, b, c);
44 | #else
45 | return simde_vqdmlsl_high_s16(a, b, simde_vdupq_n_s16(c));
46 | #endif
47 | }
48 | #if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES)
49 | #undef vqdmlsl_high_n_s16
50 | #define vqdmlsl_high_n_s16(a, b, c) simde_vqdmlsl_high_n_s16((a), (b), (c))
51 | #endif
52 |
53 | SIMDE_FUNCTION_ATTRIBUTES
54 | simde_int64x2_t
55 | simde_vqdmlsl_high_n_s32(simde_int64x2_t a, simde_int32x4_t b, int32_t c) {
56 | #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
57 | return vqdmlsl_high_n_s32(a, b, c);
58 | #else
59 | return simde_vqdmlsl_high_s32(a, b, simde_vdupq_n_s32(c));
60 | #endif
61 | }
62 | #if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES)
63 | #undef vqdmlsl_high_n_s32
64 | #define vqdmlsl_high_n_s32(a, b, c) simde_vqdmlsl_high_n_s32((a), (b), (c))
65 | #endif
66 |
67 | SIMDE_END_DECLS_
68 | HEDLEY_DIAGNOSTIC_POP
69 |
70 | #endif /* !defined(SIMDE_ARM_NEON_QDMLSL_HIGH_N_H) */
71 |
--------------------------------------------------------------------------------
/thirdparty/simde/x86/avx512/flushsubnormal.h:
--------------------------------------------------------------------------------
1 | #if !defined(SIMDE_X86_AVX512_FLUSHSUBNORMAL_H)
2 | #define SIMDE_X86_AVX512_FLUSHSUBNORMAL_H
3 |
4 | #include "types.h"
5 |
6 | HEDLEY_DIAGNOSTIC_PUSH
7 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
8 | SIMDE_BEGIN_DECLS_
9 |
10 | SIMDE_FUNCTION_ATTRIBUTES
11 | simde__m128
12 | simde_x_mm_flushsubnormal_ps (simde__m128 a) {
13 | simde__m128_private a_ = simde__m128_to_private(a);
14 |
15 | SIMDE_VECTORIZE
16 | for (size_t i = 0 ; i < (sizeof(a_.f32) / sizeof(a_.f32[0])) ; i++) {
17 | a_.f32[i] = simde_math_issubnormalf(a_.f32[i]) ? 0 : a_.f32[i];
18 | }
19 |
20 | return simde__m128_from_private(a_);
21 | }
22 |
23 | SIMDE_FUNCTION_ATTRIBUTES
24 | simde__m256
25 | simde_x_mm256_flushsubnormal_ps (simde__m256 a) {
26 | simde__m256_private a_ = simde__m256_to_private(a);
27 |
28 | SIMDE_VECTORIZE
29 | for (size_t i = 0 ; i < (sizeof(a_.f32) / sizeof(a_.f32[0])) ; i++) {
30 | a_.f32[i] = simde_math_issubnormalf(a_.f32[i]) ? 0 : a_.f32[i];
31 | }
32 |
33 | return simde__m256_from_private(a_);
34 | }
35 |
36 | SIMDE_FUNCTION_ATTRIBUTES
37 | simde__m512
38 | simde_x_mm512_flushsubnormal_ps (simde__m512 a) {
39 | simde__m512_private a_ = simde__m512_to_private(a);
40 |
41 | SIMDE_VECTORIZE
42 | for (size_t i = 0 ; i < (sizeof(a_.f32) / sizeof(a_.f32[0])) ; i++) {
43 | a_.f32[i] = simde_math_issubnormalf(a_.f32[i]) ? 0 : a_.f32[i];
44 | }
45 |
46 | return simde__m512_from_private(a_);
47 | }
48 |
49 | SIMDE_FUNCTION_ATTRIBUTES
50 | simde__m128d
51 | simde_x_mm_flushsubnormal_pd (simde__m128d a) {
52 | simde__m128d_private a_ = simde__m128d_to_private(a);
53 |
54 | SIMDE_VECTORIZE
55 | for (size_t i = 0 ; i < (sizeof(a_.f64) / sizeof(a_.f64[0])) ; i++) {
56 | a_.f64[i] = simde_math_issubnormal(a_.f64[i]) ? 0 : a_.f64[i];
57 | }
58 |
59 | return simde__m128d_from_private(a_);
60 | }
61 |
62 | SIMDE_FUNCTION_ATTRIBUTES
63 | simde__m256d
64 | simde_x_mm256_flushsubnormal_pd (simde__m256d a) {
65 | simde__m256d_private a_ = simde__m256d_to_private(a);
66 |
67 | SIMDE_VECTORIZE
68 | for (size_t i = 0 ; i < (sizeof(a_.f64) / sizeof(a_.f64[0])) ; i++) {
69 | a_.f64[i] = simde_math_issubnormal(a_.f64[i]) ? 0 : a_.f64[i];
70 | }
71 |
72 | return simde__m256d_from_private(a_);
73 | }
74 |
75 | SIMDE_FUNCTION_ATTRIBUTES
76 | simde__m512d
77 | simde_x_mm512_flushsubnormal_pd (simde__m512d a) {
78 | simde__m512d_private a_ = simde__m512d_to_private(a);
79 |
80 | SIMDE_VECTORIZE
81 | for (size_t i = 0 ; i < (sizeof(a_.f64) / sizeof(a_.f64[0])) ; i++) {
82 | a_.f64[i] = simde_math_issubnormal(a_.f64[i]) ? 0 : a_.f64[i];
83 | }
84 |
85 | return simde__m512d_from_private(a_);
86 | }
87 |
88 | SIMDE_END_DECLS_
89 | HEDLEY_DIAGNOSTIC_POP
90 |
91 | #endif /* !defined(SIMDE_X86_AVX512_FLUSHSUBNORMAL_H) */
92 |
--------------------------------------------------------------------------------
/thirdparty/simde/mips/msa/and.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: MIT
2 | *
3 | * Permission is hereby granted, free of charge, to any person
4 | * obtaining a copy of this software and associated documentation
5 | * files (the "Software"), to deal in the Software without
6 | * restriction, including without limitation the rights to use, copy,
7 | * modify, merge, publish, distribute, sublicense, and/or sell copies
8 | * of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be
12 | * included in all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | * SOFTWARE.
22 | *
23 | * Copyright:
24 | * 2021 Evan Nemerson
25 | */
26 |
27 | #if !defined(SIMDE_MIPS_MSA_AND_H)
28 | #define SIMDE_MIPS_MSA_AND_H
29 |
30 | #include "types.h"
31 |
32 | HEDLEY_DIAGNOSTIC_PUSH
33 | SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
34 | SIMDE_BEGIN_DECLS_
35 |
36 | SIMDE_FUNCTION_ATTRIBUTES
37 | simde_v16u8
38 | simde_msa_and_v(simde_v16u8 a, simde_v16u8 b) {
39 | #if defined(SIMDE_MIPS_MSA_NATIVE)
40 | return __msa_and_v(a, b);
41 | #elif defined(SIMDE_ARM_NEON_A32V7_NATIVE)
42 | return vandq_u8(a, b);
43 | #elif defined(SIMDE_POWER_ALTIVEC_P6_NATIVE)
44 | return vec_and(a, b);
45 | #else
46 | simde_v16u8_private
47 | a_ = simde_v16u8_to_private(a),
48 | b_ = simde_v16u8_to_private(b),
49 | r_;
50 |
51 | #if defined(SIMDE_X86_SSSE3_NATIVE)
52 | r_.m128i = _mm_and_si128(a_.m128i, b_.m128i);
53 | #elif defined(SIMDE_WASM_SIMD128_NATIVE)
54 | r_.v128 = wasm_v128_and(a_.v128, b_.v128);
55 | #elif defined(SIMDE_VECTOR_SUBSCRIPT_SCALAR)
56 | r_.values = a_.values & b_.values;
57 | #else
58 | SIMDE_VECTORIZE
59 | for (size_t i = 0 ; i < (sizeof(r_.values) / sizeof(r_.values[0])) ; i++) {
60 | r_.values[i] = a_.values[i] & b_.values[i];
61 | }
62 | #endif
63 |
64 | return simde_v16u8_from_private(r_);
65 | #endif
66 | }
67 | #if defined(SIMDE_MIPS_MSA_ENABLE_NATIVE_ALIASES)
68 | #undef __msa_and_v
69 | #define __msa_and_v(a, b) simde_msa_and_v((a), (b))
70 | #endif
71 |
72 | SIMDE_END_DECLS_
73 | HEDLEY_DIAGNOSTIC_POP
74 |
75 | #endif /* !defined(SIMDE_MIPS_MSA_AND_H) */
76 |
--------------------------------------------------------------------------------
/source/App/vvdecapp/resource.h:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | //{{NO_DEPENDENCIES}}
44 | // Microsoft Visual C++ generated include file.
45 | // Used by VVDecoderApp.rc
46 |
47 | // Next default values for new objects
48 | //
49 | #ifdef APSTUDIO_INVOKED
50 | #ifndef APSTUDIO_READONLY_SYMBOLS
51 | #define _APS_NEXT_RESOURCE_VALUE 101
52 | #define _APS_NEXT_COMMAND_VALUE 40001
53 | #define _APS_NEXT_CONTROL_VALUE 1001
54 | #define _APS_NEXT_SYMED_VALUE 101
55 | #endif
56 | #endif
57 |
--------------------------------------------------------------------------------
/source/Lib/vvdec/resource.h:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | The copyright in this software is being made available under the Clear BSD
3 | License, included below. No patent rights, trademark rights and/or
4 | other Intellectual Property Rights other than the copyrights concerning
5 | the Software are granted under this license.
6 |
7 | The Clear BSD License
8 |
9 | Copyright (c) 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.
10 | All rights reserved.
11 |
12 | Redistribution and use in source and binary forms, with or without modification,
13 | are permitted (subject to the limitations in the disclaimer below) provided that
14 | the following conditions are met:
15 |
16 | * Redistributions of source code must retain the above copyright notice,
17 | this list of conditions and the following disclaimer.
18 |
19 | * Redistributions in binary form must reproduce the above copyright
20 | notice, this list of conditions and the following disclaimer in the
21 | documentation and/or other materials provided with the distribution.
22 |
23 | * Neither the name of the copyright holder nor the names of its
24 | contributors may be used to endorse or promote products derived from this
25 | software without specific prior written permission.
26 |
27 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
28 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
29 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
31 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
36 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | POSSIBILITY OF SUCH DAMAGE.
39 |
40 |
41 | ------------------------------------------------------------------------------------------- */
42 |
43 | /**
44 | \ingroup vvdecApp
45 | \file /vvdec/resource.h
46 | */
47 |
48 | //{{NO_DEPENDENCIES}}
49 | // Microsoft Visual C++ generated include file.
50 | // Used by vvdec.rc
51 |
52 | // Next default values for new objects
53 | //
54 | #ifdef APSTUDIO_INVOKED
55 | # ifndef APSTUDIO_READONLY_SYMBOLS
56 | # define _APS_NEXT_RESOURCE_VALUE 101
57 | # define _APS_NEXT_COMMAND_VALUE 40001
58 | # define _APS_NEXT_CONTROL_VALUE 1001
59 | # define _APS_NEXT_SYMED_VALUE 101
60 | # endif
61 | #endif
62 |
--------------------------------------------------------------------------------