qtdemux: add mappings for Hap video codec
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3596 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7717>
This commit is contained in:
parent
1f7b6fea6d
commit
7c3a468056
@ -460,6 +460,15 @@ G_BEGIN_DECLS
|
|||||||
/* ONVIF Export File Format */
|
/* ONVIF Export File Format */
|
||||||
#define FOURCC_cstb GST_MAKE_FOURCC('c','s','t','b')
|
#define FOURCC_cstb GST_MAKE_FOURCC('c','s','t','b')
|
||||||
|
|
||||||
|
/* Hap video codec */
|
||||||
|
#define FOURCC_Hap1 GST_MAKE_FOURCC('H','a','p','1')
|
||||||
|
#define FOURCC_Hap5 GST_MAKE_FOURCC('H','a','p','5')
|
||||||
|
#define FOURCC_HapY GST_MAKE_FOURCC('H','a','p','Y')
|
||||||
|
#define FOURCC_HapM GST_MAKE_FOURCC('H','a','p','M')
|
||||||
|
#define FOURCC_HapA GST_MAKE_FOURCC('H','a','p','A')
|
||||||
|
#define FOURCC_Hap7 GST_MAKE_FOURCC('H','a','p','7')
|
||||||
|
#define FOURCC_HapH GST_MAKE_FOURCC('H','a','p','H')
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __FOURCC_H__ */
|
#endif /* __FOURCC_H__ */
|
||||||
|
@ -17153,6 +17153,46 @@ qtdemux_video_caps (GstQTDemux * qtdemux, QtDemuxStream * stream,
|
|||||||
_codec ("Lagarith lossless video codec");
|
_codec ("Lagarith lossless video codec");
|
||||||
caps = gst_caps_new_empty_simple ("video/x-lagarith");
|
caps = gst_caps_new_empty_simple ("video/x-lagarith");
|
||||||
break;
|
break;
|
||||||
|
case FOURCC_Hap1:
|
||||||
|
case FOURCC_Hap5:
|
||||||
|
case FOURCC_HapY:
|
||||||
|
case FOURCC_HapM:
|
||||||
|
case FOURCC_HapA:
|
||||||
|
case FOURCC_Hap7:
|
||||||
|
case FOURCC_HapH:{
|
||||||
|
gchar *variant =
|
||||||
|
g_strdup_printf ("%" GST_FOURCC_FORMAT, GST_FOURCC_ARGS (fourcc));
|
||||||
|
caps = gst_caps_new_simple ("video/x-hap",
|
||||||
|
"variant", G_TYPE_STRING, variant, NULL);
|
||||||
|
g_free (variant);
|
||||||
|
|
||||||
|
// https://github.com/Vidvox/hap/blob/master/documentation/HapVideoDRAFT.md
|
||||||
|
switch (fourcc) {
|
||||||
|
case FOURCC_Hap5:
|
||||||
|
_codec ("Hap Alpha");
|
||||||
|
break;
|
||||||
|
case FOURCC_HapY:
|
||||||
|
_codec ("Hap Q");
|
||||||
|
break;
|
||||||
|
case FOURCC_HapM:
|
||||||
|
_codec ("Hap Q Alpha");
|
||||||
|
break;
|
||||||
|
case FOURCC_HapA:
|
||||||
|
_codec ("Hap Alpha-Only");
|
||||||
|
break;
|
||||||
|
case FOURCC_Hap7:
|
||||||
|
_codec ("Hap R");
|
||||||
|
break;
|
||||||
|
case FOURCC_HapH:
|
||||||
|
_codec ("Hap HDR");
|
||||||
|
break;
|
||||||
|
case FOURCC_Hap1:
|
||||||
|
default:
|
||||||
|
_codec ("Hap");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case FOURCC_uncv:
|
case FOURCC_uncv:
|
||||||
{
|
{
|
||||||
const guint8 ENTRY_MINIMUM_SIZE = 86; // video sample description minimum size in bytes
|
const guint8 ENTRY_MINIMUM_SIZE = 86; // video sample description minimum size in bytes
|
||||||
|
Loading…
x
Reference in New Issue
Block a user