Skip to content

applemedia: Add support for Apple ProRes formats to vtdec and vtenc

Draft because I'm not entirely done with testing this yet.

vtdec: Remove dead code in switch statement

We never advertise these formats, so these cases will never be hit.
vtenc: Improve error reporting in chain function

Otherwise it is quite difficult to figure out why the chain function
failed. Also assert not reached for case statements that should not be
hit.
applemedia: Add ProRes support to vtenc and vtdec

For vtdec, we continue to prefer NV12; else we pick whatever
downstream wants. In the special case where we're decoding 10-bit or
12-bit ProRes formats, we will prefer AYUV64.
vtenc: Set colorimetry information

It looks like VideoToolbox doesn't support all our colorimetries.
vtenc: Add a property to forcibly ignore alpha values

This PropertyKey is not documented in any headers anywhere, so we need
to define it ourselves.
vtenc: Add FieldDetail properties for interlaced input

Standard interlace handling:
* If we have interlace-mode=interleaved and the field order, we just
  set it when creating the session
* If we have interlace-mode=(interleaved|mixed) and no field order, we
  set the field order on the first buffer

The encoder session does not support changing the FieldDetail after it
has started encoding frames, so we cannot support mixed streams
correctly.
applemedia: Add ARGB64_BE support to vtenc/vtdec

We can add this now that ARGB64_BE videoconvert support was added in:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1247
Edited by Nirbheek Chauhan

Merge request reports