There is no byte-stream/au format for AV1 but only for H264, and the
encoder actually outputs obu-stream/tu instead of the annexb
stream-format that is similar to H264 byte-stream format.
Without this the encoder can't be used with elements that require a
specific AV1 stream-format, e.g. the MP4 or Matroska/WebM muxer.
This allows handling input buffers with non-default strides, which was
already handled fine by the element code.
Without this, potentially expensive conversion was needed.
The private data is not copied over for SVT AV1 encoder so this code
path would've never worked.
Instead of relying on the PTS, which is not required to be unique or
existing at all, we always take the oldest frame as AV1 has no frame
reordering / B frames.
- Limit the max bit rate and target bitrate to 100,000 kbps
- Remove frame_rate from API. Inside library frame_rate is always in Q16 format
- Fix the seg fault with 2 PASS and max bit rate
- Remove frame_rate from CI and gstreamer
Also does the renaming for the API and the config file option along
with changing the option to a EbBool
Signed-off-by: Christopher Degawa <christopher.degawa@intel.com>
The following parameters are supported:
- `color_range`
- `color_primaries`
- `transfer_characteristics`
- `matrix_coefficients`
Added writing of color description into a bit stream
Updated the encoder config structure (API) to support color description parameters
Updated the encoding app to support color description in config files
Added unit tests for color description settings
Added default color description values into the gst plugin
Updated documentation
replace OpenVisualCloud with AOMediaCodec, video.tar.gz file is still
under OpenVisualCloud, so keep the other links.
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* Cleanup users guide, configuration file and remove extra run-time signals that are not anymore applicable.
* Restrict intra bc for the case where scm is set to 1 only
Co-authored-by: Omran <omran.abdelkafi@intel.com>
* updating CLI support for RDOQ
* updating CLI support for Spatial SSE
* updating CLI support for Palette
* updating CLI support for ALTREF
* updating CLI for CDEF
* updated user guide, sample cfg, --help, and macro use
* Removed all added macros RDOQ_CLI, SSSE_CLI, PALETTE_CLI, ALTREF_CLI, and CDEF_CLI. Renaming and new changes are now made under existing active macros
* removed unnecessary #else and #endif causing build failure
* removed boolean conversion for static_config.cdef_level in non default case
* update CDEF documentation to reflect naming changes
* update altref and palette documentation to reflect naming changes
Add the option of unpinning threads from being executed on cores 0-x when -lp x is defined.
Tuning the multi-threaded buffer tuning for better efficiency with low core count when running in a VOD environment.
* EbSvtAv1Dec.h: remove prototype for non-existent functions
Those functions have apparently never existed in the tree:
- eb_peek_sequence_header()
- eb_svt_decode_obu()
- eb_svt_decode_tu()
- eb_dec_flush()
- eb_get_stream_info()
* EbSvtAv1Dec.h: consistently use the svt_av1_dec_ namespace for public functions
* EbSvtAv1Enc.h: consistently use the svt_av1_enc_ namespace for public functions
* Make Unix conditionals the fallback
Provides a clear path what needs to be ported if the system is neither
Windows nor POSIX-like. If the difference from Linux is minor like on
macOS or BSDs then new conditionals can be added on case-by-case basis.
* gstreamer-plugin: sync Meson version check with CMake
* gstreamer-plugin: don't assume CMake can find libs by default