From 43f2fd8081b7d5e32660c3b3bf5455856f7c931f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Tue, 24 Aug 2021 13:28:22 +0100 Subject: [PATCH] qtdemux: add depth for ProRes 4:4:4:4 variants if available Might be 24bpp in case an alpha channel is coded but the image is always opaque. Part-of: --- gst/isomp4/qtdemux.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index 9e15439..6ede64b 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -14507,12 +14507,24 @@ qtdemux_video_caps (GstQTDemux * qtdemux, QtDemuxStream * stream, caps = gst_caps_new_simple ("video/x-prores", "variant", G_TYPE_STRING, "4444", NULL); + + /* 24 bits per sample = an alpha channel is coded but image is always opaque */ + if (entry->bits_per_sample > 0) { + gst_caps_set_simple (caps, "depth", G_TYPE_INT, entry->bits_per_sample, + NULL); + } break; case FOURCC_ap4x: _codec ("Apple ProRes 4444 XQ"); caps = gst_caps_new_simple ("video/x-prores", "variant", G_TYPE_STRING, "4444xq", NULL); + + /* 24 bits per sample = an alpha channel is coded but image is always opaque */ + if (entry->bits_per_sample > 0) { + gst_caps_set_simple (caps, "depth", G_TYPE_INT, entry->bits_per_sample, + NULL); + } break; case FOURCC_cfhd: _codec ("GoPro CineForm"); -- 2.7.4