No description
Find a file
Rakesh Kumar 7d6f8576e0 libavcdec: Fix integer overflow issue in ui_max_frame_num
In avc MaxFrameNum can be 65536 which is of 17 bits due to which
interger overflow was happening for i2_max_frm_num and
ui_max_frame_num. This has been fixed.

Bug: 369676522
Test: poc in bug description

Change-Id: I858eea6bf8eea1e2cee6d4a7c28a84705eb51792
2024-10-24 08:16:56 -07:00
.github/workflows Encoder test updates 2023-09-28 10:22:54 +05:30
.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 libavc : Enable support for MacOS 2024-10-04 06:51:30 -07:00
decoder libavcdec: Fix integer overflow issue in ui_max_frame_num 2024-10-24 08:16:56 -07:00
encoder libavc : Enable support for MacOS 2024-10-04 06:51:30 -07:00
examples libavcenc: Sync default values of library and application 2023-10-04 13:51:14 -07:00
fuzzer libavc : Enable support for MacOS 2024-10-04 06:51:30 -07:00
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 Remove useless neon: clause. 2024-03-23 15:08:24 -07:00
CMakeLists.txt libavc : Enable support for MacOS 2024-10-04 06:51:30 -07:00
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