vtenc: Signal ignored alpha component with ProRes
authorNirbheek Chauhan <nirbheek@centricular.com>
Mon, 3 Jan 2022 15:32:47 +0000 (21:02 +0530)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 4 Jan 2022 18:01:54 +0000 (18:01 +0000)
commit6b7d819c25b1dfd676adbeed76d625c4d55e069c
treef17c71478d7bfbb95d734e3fab238077ba97b4cf
parente1f9c6d5598904f640c3aa14b52fbac2a77941d7
vtenc: Signal ignored alpha component with ProRes

When the image is opaque but the output ProRes format has an alpha
component (4 component, 32 bits per pixel), Apple requires that we
signal that it should be ignored by setting the depth to 24 bits per
pixel. Not doing so causes the encoded files to fail validation.

So we set that in the caps and qtmux sets the depth value in the
container, which will be read by demuxers so that decoders can skip
those bytes entirely. qtdemux does this, but vtdec does not use this
information at present.

The sister change was made in qtmux and qtdemux in:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1061

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1489>
subprojects/gst-plugins-bad/sys/applemedia/vtenc.c