No description
Find a file
Sushant 022704a5d6
Some checks failed
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Has been cancelled
libavc: use memcpy and memset to enable _FORTIFY_SOURCE
Bypass wrappers functions for memcpy and memset, calling standard
C library functions directly. This allows _FORTIFY_SOURCE to
perform compile-time safety checks.

Bug: 514722372
Test: ./avcdec
Change-Id: Ice5048bdebc74e15c10e16aed3353251773659c7
2026-06-18 10:27:02 -07:00
.github/workflows Update github actions 2026-04-03 08:54:16 -07:00
.vscode libavc: Add VSCode configuration files for Linux & MacOS 2024-10-15 22:51:19 -07:00
cmake avx2 intrinsics support for libavc(sw decoder) 2025-11-12 22:21:10 -08:00
common libavc: use memcpy and memset to enable _FORTIFY_SOURCE 2026-06-18 10:27:02 -07:00
decoder libavc: use memcpy and memset to enable _FORTIFY_SOURCE 2026-06-18 10:27:02 -07:00
encoder libavc: use memcpy and memset to enable _FORTIFY_SOURCE 2026-06-18 10:27:02 -07:00
examples Revert^2 "libavc: Add BTI and PAC support in libavc" 2026-04-10 11:48:23 -07:00
fuzzer Revert^2 "libavc: Add BTI and PAC support in libavc" 2026-04-10 11:48:23 -07:00
tests Revert^2 "libavc: Add BTI and PAC support in libavc" 2026-04-10 11:48:23 -07:00
.clang-format Decoder: MVC decoding support added 2022-08-06 05:51:31 +00:00
.gitignore Encoder test updates 2023-09-28 10:22:54 +05:30
Android.bp Revert^2 "libavc: Add BTI and PAC support in libavc" 2026-04-10 11:48:23 -07:00
CMakeLists.txt avcenc: Replacing KEEP_THREADS_ACTIVE with runtime check 2025-04-22 17:09:57 +05:30
FrameInfo.md Decoder: add support for QP and block_type map export in library 2022-05-17 09:55:20 +05:30
libavc_blocklist.txt Encoder: SVC encoding support added 2023-01-30 11:07:10 -08:00
LICENSE Add LICENSE to fix lint warning 2023-01-26 01:10:25 +00:00
METADATA Add METADATA to libavc: Apache2=NOTICE 2020-04-30 16:15:18 -07:00
MODULE_LICENSE_APACHE2 Add MODULE_LICENSE_* and NOTICE file for libavc projet. 2016-03-14 14:36:00 -07:00
NOTICE Add MODULE_LICENSE_* and NOTICE file for libavc projet. 2016-03-14 14:36:00 -07:00
OWNERS OWNERS: Include avic_OWNERS 2023-08-11 15:54:38 -07:00
PREUPLOAD.cfg point to new repo hooks for mainline uploads 2020-05-26 15:16:18 -07:00
README.md libavc : Enable support for MacOS 2024-10-04 06:51:30 -07:00
TEST_MAPPING Enable unit tests in postsubmit 2024-01-30 15:45:17 -08:00

LIBAVC

Getting Started Document

LibAVC build steps

Supports:

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

Native Builds

Use the following commands for building on the target machine

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

Cross-compiler based builds

Building for x86_32 on a x86_64 Linux machine

$ cd external/libavc
$ 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/libavc
$ 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/libavc
$ mkdir build
$ cd build

Armv7 (32-bit)

cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/android_toolchain.cmake\
    -DAVC_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\
    -DAVC_ANDROID_NDK_PATH=/opt/android-ndk-r26d/\
    -DANDROID_ABI=arm64-v8a\
    -DANDROID_PLATFORM=android-23 ../
make