├── 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 | --------------------------------------------------------------------------------