qtmux: for Apple ProRes, allow overriding pixel bit depth for 4:4:4:4 variants
authorRuslan Khamidullin <ruslank@borisfx.com>
Sun, 22 Aug 2021 23:16:26 +0000 (23:16 +0000)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 24 Aug 2021 12:35:47 +0000 (12:35 +0000)
e.g. when exporting an opaque image, yet with alpha channel.

Apple ProRes certification requires that, when a ProRes-writing
application *knows* that the entire frame is opaque, the application
writes only RGB without alpha even when the clip is RGBA. For that,
this tiny change allows the app to override pixel depth when writing ProRes.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1061>

gst/isomp4/gstqtmux.c

index ebf4fd7..6d54fcf 100644 (file)
@@ -6654,7 +6654,7 @@ gst_qt_mux_video_sink_set_caps (GstQTMuxPad * qtpad, GstCaps * caps)
     mp4v->horizontal_resolution = 72 << 16;
     mp4v->vertical_resolution = 72 << 16;
     mp4v->depth = (entry.fourcc == FOURCC_ap4h
-        || entry.fourcc == FOURCC_ap4x) ? 32 : 24;
+        || entry.fourcc == FOURCC_ap4x) ? (depth > 0 ? depth : 32) : 24;
 
     /* Set compressor name, required by some software */
     switch (entry.fourcc) {