mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-16 21:36:35 +00:00
qtdemux: Add basic support for AVC-Intra video
AVC-Intra is a range of H.264-compliant intra-only codecs from Panasonic. The codes and descriptions have been taken from VLC. The (encumbered) sample I have here produces byte-stream H.264, including SPS and PPS and no `avcC` box. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3739>
This commit is contained in:
parent
ed1bdf9b1a
commit
211191564e
3 changed files with 41 additions and 0 deletions
|
@ -86,6 +86,18 @@ G_BEGIN_DECLS
|
|||
#define FOURCC_aART GST_MAKE_FOURCC('a','A','R','T')
|
||||
#define FOURCC_ac_3 GST_MAKE_FOURCC('a','c','-','3')
|
||||
#define FOURCC_agsm GST_MAKE_FOURCC('a','g','s','m')
|
||||
#define FOURCC_ai12 GST_MAKE_FOURCC('a','i','1','2')
|
||||
#define FOURCC_ai13 GST_MAKE_FOURCC('a','i','1','3')
|
||||
#define FOURCC_ai15 GST_MAKE_FOURCC('a','i','1','5')
|
||||
#define FOURCC_ai16 GST_MAKE_FOURCC('a','i','1','6')
|
||||
#define FOURCC_ai1p GST_MAKE_FOURCC('a','i','1','p')
|
||||
#define FOURCC_ai1q GST_MAKE_FOURCC('a','i','1','q')
|
||||
#define FOURCC_ai52 GST_MAKE_FOURCC('a','i','5','2')
|
||||
#define FOURCC_ai53 GST_MAKE_FOURCC('a','i','5','3')
|
||||
#define FOURCC_ai55 GST_MAKE_FOURCC('a','i','5','5')
|
||||
#define FOURCC_ai56 GST_MAKE_FOURCC('a','i','5','6')
|
||||
#define FOURCC_ai5p GST_MAKE_FOURCC('a','i','5','p')
|
||||
#define FOURCC_ai5q GST_MAKE_FOURCC('a','i','5','q')
|
||||
#define FOURCC_alac GST_MAKE_FOURCC('a','l','a','c')
|
||||
#define FOURCC_fLaC GST_MAKE_FOURCC('f','L','a','C')
|
||||
#define FOURCC_dfLa GST_MAKE_FOURCC('d','f','L','a')
|
||||
|
|
|
@ -14835,6 +14835,23 @@ qtdemux_video_caps (GstQTDemux * qtdemux, QtDemuxStream * stream,
|
|||
"stream-format", G_TYPE_STRING, "avc3",
|
||||
"alignment", G_TYPE_STRING, "au", NULL);
|
||||
break;
|
||||
case FOURCC_ai12:
|
||||
case FOURCC_ai13:
|
||||
case FOURCC_ai15:
|
||||
case FOURCC_ai16:
|
||||
case FOURCC_ai1p:
|
||||
case FOURCC_ai1q:
|
||||
case FOURCC_ai52:
|
||||
case FOURCC_ai53:
|
||||
case FOURCC_ai55:
|
||||
case FOURCC_ai56:
|
||||
case FOURCC_ai5p:
|
||||
case FOURCC_ai5q:
|
||||
_codec ("H.264 / AVC");
|
||||
caps = gst_caps_new_simple ("video/x-h264",
|
||||
"stream-format", G_TYPE_STRING, "byte-stream",
|
||||
"alignment", G_TYPE_STRING, "au", NULL);
|
||||
break;
|
||||
case FOURCC_H265:
|
||||
case FOURCC_hvc1:
|
||||
case FOURCC_dvh1:
|
||||
|
|
|
@ -190,6 +190,18 @@ static const QtNodeType qt_node_types[] = {
|
|||
{FOURCC_avc3, "AV codec configuration v3", 0},
|
||||
{FOURCC_dva1, "AVC-based Dolby Vision derived from avc1", 0},
|
||||
{FOURCC_dvav, "AVC-based Dolby Vision derived from avc3", 0},
|
||||
{FOURCC_ai12, "AVC-Intra 100M 1080p25/50", 0},
|
||||
{FOURCC_ai13, "AVC-Intra 100M 1080p24/30/60", 0},
|
||||
{FOURCC_ai15, "AVC-Intra 100M 1080i50", 0},
|
||||
{FOURCC_ai16, "AVC-Intra 100M 1080i60", 0},
|
||||
{FOURCC_ai1p, "AVC-Intra 100M 720p24/30/60", 0},
|
||||
{FOURCC_ai1q, "AVC-Intra 100M 720p25/50", 0},
|
||||
{FOURCC_ai52, "AVC-Intra 50M 1080p25/50", 0},
|
||||
{FOURCC_ai53, "AVC-Intra 50M 1080p24/30/60", 0},
|
||||
{FOURCC_ai55, "AVC-Intra 50M 1080i50", 0},
|
||||
{FOURCC_ai56, "AVC-Intra 50M 1080i60", 0},
|
||||
{FOURCC_ai5p, "AVC-Intra 50M 720p24/30/60", 0},
|
||||
{FOURCC_ai5q, "AVC-Intra 50M 720p25/50", 0},
|
||||
{FOURCC_mp4s, "VOBSUB codec configuration", 0},
|
||||
{FOURCC_hvc1, "HEVC codec configuration", 0},
|
||||
{FOURCC_hev1, "HEVC codec configuration", 0},
|
||||
|
|
Loading…
Reference in a new issue