GitHub - AcademySoftwareFoundation/openapv: OpenAPV (original) (raw)

OAPV OAPV

OpenAPV (Open Advanced Professional Video Codec)

Build and test

OpenAPV provides the reference implementation of the APV codec which can be used to record professional-grade video and associated metadata without quality degradation. OpenAPV is free and open source software provided by LICENSE.

The OpenAPV supports the following features:

APV codec

The APV codec is a professional video codec, which was developed in response to the need for professional level high quality video recording and post production. The primary purpose of the APV codec is for use in professional video recording and editing workflows for various types of content.

APV codec utilizes technologies known to be over 20 years to achieve a royalty free codec. APV builds a video codec using only conventional coding technologies, which consist of traditional methods published between the early 1980s and the end of the 1990s.

The APV codec standard has the following features:

How to build

cmake -DCMAKE_BUILD_TYPE=Release -S . -B build  
cmake --build build  
cmake -S . -B build-arm -DCMAKE_TOOLCHAIN_FILE=aarch64_toolchain.cmake -DCMAKE_BUILD_TYPE=Release  
cmake --build build-arm  
cmake -S . -B build-windows -DCMAKE_TOOLCHAIN_FILE=windows_x86_64_toolchain.cmake -DCMAKE_BUILD_TYPE=Release  
cmake --build build-windows  

How to use applications

Encoder

Encoder as input require raw YCbCr file (422, 444), 10-bit or more.

Displaying help:

Encoding:

oapv_app_enc -i input_1920x1080_yuv422_10bit.yuv -w 1920 -h 1080 -d 10 -z 30 --input-csp 2 -o encoded.apv
oapv_app_enc -i input.y4m -o encoded.apv

Decoder

Decoder output can be in yuv or y4m formats.

Displaying help:

Decoding:

oapv_app_dec -i encoded.apv -o output.y4m

Utility

Graphical APV bitstream parser

Pattern file of APV bitstream for ImHex is provided here.

  1. Install ImHex application
  2. Download APV pattern file
  3. Open APV bitstream (*.apv file) with ImHex
  4. Import the APV pattern file on Pattern editor view of ImHex and apply

APV_on_ImHex

Testing

In build directory run ctest

Packaging

For generating package ready for distribution (default deb) execute in build directory cpack, or other formats (tgz, zip etc.) cpack -G TGZ.

Versioning

This project is using folowing versioning scheme API-SET.MAJOR.MINOR.PATCH. It's mostly based on Semantic Versioning with addition of API-SET on first place. Project and library is following one common version number.

License

See LICENSE file for details.

logo for light mode

OAPV OAPV OAPV

logo for dark mode

OAPV OAPV OAPV