No description
Find a file
Aayush Soni bbf593f216 libavcenc: fix null buffer dereferencing
During encoding, if encoder encounters an error, the library returns the
same. If the application ignores it and feeds further input, library
while processing the new input is facing a null dereference.

1. Added a error check in encode API call before processing input
2. Made entropy bitstream buffer overflow errors non-fatal.

Bug: 187499509
Test: POC in bug descriptions
      atest VtsHalMediaC2V1_0TargetVideoEncTest
      atest -c CtsMediaV2TestCases:CodecEncoderTest
2023-06-01 22:39:26 -07:00
.github/workflows cifuzz.yml: Limit CI fuzz to address and memory sanitizers 2023-03-21 11:40:36 -07:00
cmake cmake: Set C standard to C90 and move few macros to specific targets 2022-08-30 20:00:54 +00:00
common Fix formatting in FGC commit 2023-02-21 12:36:55 -08:00
decoder svcdec: Fix for out of range reference index during base mode flag 2023-04-27 07:47:13 -07:00
encoder libavcenc: fix null buffer dereferencing 2023-06-01 22:39:26 -07:00
fuzzer ossfuzz.sh: Enable mvc_dec_fuzzer 2023-03-23 13:23:10 -07:00
test Format Android.bp files 2023-03-08 22:14:36 -08:00
.clang-format Decoder: MVC decoding support added 2022-08-06 05:51:31 +00:00
Android.bp Format Android.bp files 2023-03-08 22:14:36 -08:00
CMakeLists.txt SVC decoder support 2023-02-08 07:55:47 -08: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 Pruning departed users from OWNERS 2022-01-11 20:01:15 -08:00
PREUPLOAD.cfg point to new repo hooks for mainline uploads 2020-05-26 15:16:18 -07:00
README.md Builds: Modular cmake scripts added 2022-02-02 11:14:55 +05:30

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