No description
Find a file
Hang Nguyen 70530453cc Redefine examples test modules as cc_binary
This change redefines the `cc_test` modules within the examples
directory as `cc_binary` modules.

Previously, these `cc_test` modules were effectively acting as wrappers
around executable binaries, solely for the purpose of generating test
executables. This approach did not allow for the direct installation of
these executables on devices.

Changing these modules to `cc_binary` allows the resulting executables
are produced as standalone binaries, enabling their deployment and
execution on test devices.

Bug: 414657128
Change-Id: I9caef8a5cf29c7d77b8bcd535f047a640c52285c
2025-05-09 22:11:54 -07:00
.github/workflows Update cifuzz.yml 2025-03-18 22:53:31 -07:00
.vscode libavc: Add VSCode configuration files for Linux & MacOS 2024-10-15 22:51:19 -07:00
cmake libavc : Enable support for MacOS 2024-10-04 06:51:30 -07:00
common avcenc: Replacing KEEP_THREADS_ACTIVE with runtime check 2025-04-22 17:09:57 +05:30
decoder mvcdec: Heap overflow in 'ih264d_read_coeff4x4_cabac' 2025-01-30 06:21:06 -08:00
encoder avcenc: Replacing KEEP_THREADS_ACTIVE with runtime check 2025-04-22 17:09:57 +05:30
examples Redefine examples test modules as cc_binary 2025-05-09 22:11:54 -07:00
fuzzer avcenc: Enabling keep_threads_active in cfg and avc_enc_fuzzer 2025-04-22 18:02:12 +05:30
tests Enable unit tests in postsubmit 2024-01-30 15:45:17 -08: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 avcenc: Replacing KEEP_THREADS_ACTIVE with runtime check 2025-04-22 17:09:57 +05:30
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