No description
Find a file
Sushant 281bad69de hevcdec: undo changes made for chroma intra pred lut
changes were made to chroma intra pred look up tables in the
context frext profile support. The corresponding assembly
changes were not yet merged but the tables are. The table
changes are now reverted keeping lut and assemblies in sync.

This reverts commit f990e295bd.

Change-Id: I9a7d929621b423b3bdd8e5dcbd0eeacc036675ed
2026-06-19 22:37:43 -07:00
.github/workflows cmake.yml: Add runners to build arm and aarch63 builds 2026-02-22 20:55:28 -08:00
.vscode Rename test folder as examples 2026-04-13 12:02:22 +05:30
cmake cmake: Create a function for add_gtest 2026-03-07 10:09:50 -08:00
common hevcdec: undo changes made for chroma intra pred lut 2026-06-19 22:37:43 -07:00
decoder libhevc: Direct memcpy and memset calls to enable _FORTIFY_SOURCE 2026-06-18 06:44:56 -07:00
encoder libhevc: Direct memcpy and memset calls to enable _FORTIFY_SOURCE 2026-06-18 06:44:56 -07:00
examples Rename test folder as examples 2026-04-13 12:02:22 +05:30
fuzzer hevc_dec_fuzzer: Update fuzzer for YUV_422 format 2026-06-12 06:56:47 -07:00
tests/common Allocate larger intermediate buffer for 32x32 for SSE variants in trans tests 2026-05-11 18:37:06 -07:00
Android.bp refactor: clean up SAO and ILF padding code 2026-05-24 10:11:19 -07:00
CMakeLists.txt Rename test folder as examples 2026-04-13 12:02:22 +05:30
FrameInfo.md Decoder: add support for QP and block_type map export in library 2022-08-04 11:40:43 +05:30
libhevc_blocklist.txt Remove assembly functions from CFI blocklist 2021-01-21 16:26:15 -08:00
LICENSE Add LICENSE to fix lint warning 2023-01-25 17:14:53 -08:00
METADATA Add METADATA to libhevc: Apache2=NOTICE 2020-04-28 08:53:23 -07:00
MODULE_LICENSE_APACHE2 Initial Version of HEVC decoder 2014-05-21 18:14:55 -07:00
NOTICE Initial Version of HEVC decoder 2014-05-21 18:14:55 -07:00
OWNERS OWNERS: Include avic_OWNERS 2023-08-11 15:54:49 -07:00
PREUPLOAD.cfg point to new repo hooks for mainline uploads 2020-05-26 15:17:47 -07:00
README.md libhevc: Enable support for MacOS 2024-10-01 06:37:42 -07:00

LIBHEVC

Getting Started Document

LibHEVC build steps

Supports:

  • aarch32/aarch64 on Linux.
  • aarch32/aarch64 on Android.
  • x86_32/x86_64 on Linux.
  • aarch64 on Mac.
  • x86_64 on Mac.

Native Builds

Use the following commands for building on the target machine

$ cd external/libhevc
$ mkdir build
$ cd build
$ cmake ..
$ make

Cross-compiler based builds

Building for x86_32 on a x86_64 Linux machine

$ cd external/libhevc
$ mkdir build
$ cd build
$ CFLAGS="-m32" CXXFLAGS="-m32" LDFLAGS="-m32" cmake ..
$ make

Building for aarch32/aarch64

Update 'CMAKE_C_COMPILER', 'CMAKE_CXX_COMPILER', 'CMAKE_C_COMPILER_AR', and 'CMAKE_CXX_COMPILER_AR' in CMAKE_TOOLCHAIN_FILE passed below

$ cd external/libhevc
$ mkdir build
$ cd build

For aarch64

$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake
$ make

For aarch32

$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake
$ make

Building for android

NOTE: This assumes that you are building on a machine that has Android NDK.

$ cd external/libhevc
$ mkdir build
$ cd build

Armv7 (32-bit)

cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/android_toolchain.cmake\
    -DHEVC_ANDROID_NDK_PATH=/opt/android-ndk-r26d/\
    -DANDROID_ABI=armeabi-v7a\
    -DANDROID_PLATFORM=android-23 ../
make

Armv8 (64-bit)

cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/android_toolchain.cmake\
    -DHEVC_ANDROID_NDK_PATH=/opt/android-ndk-r26d/\
    -DANDROID_ABI=arm64-v8a\
    -DANDROID_PLATFORM=android-23 ../
make