No description
Find a file
Ram Mohan 29f519228a libavcenc: update bitstream context state only in successful writes
During entropy error, even though the bitstream buffer is not written
with additional bytes, the bitstream context state is getting updated.
As the number of bits left in current word is updated, the get_num_bits
used for computing header and texture bits can become negative causing
overflow errors

Change-Id: I2f990071a9935b2ee328dbd3915dfbefccbab4c5
2023-09-27 13:57:19 -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 decoder: replace KEEP_THREADS_ACTIVE macro with avc decoder struct variable 2023-07-22 09:51:37 -07:00
decoder decoder: join threads in flush mode 2023-09-25 08:47:41 -07:00
encoder libavcenc: update bitstream context state only in successful writes 2023-09-27 13:57:19 -07:00
fuzzer ossfuzz.sh: enable null sanitizer 2023-08-01 23:02:16 -07:00
test decoder: add "summary" before codec exit with error message 2023-07-31 10:32:26 -07:00
.clang-format Decoder: MVC decoding support added 2022-08-06 05:51:31 +00:00
Android.bp libavc: tidy up android bp - 2 2023-09-20 06:19:47 -07: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 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 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