From 71c5eae508dee9cc2d960682ef45066e8c1227d8 Mon Sep 17 00:00:00 2001 From: Georg Ottinger Date: Tue, 26 Jun 2018 17:45:36 +0200 Subject: ivfparse: Add the AV01 FOURCC for parsing AV1 IVFs Adds AV01 FOURCC to the list of allowed media files, in order to allow parsing the IVF Container holding AV1 content. At a later point dynamic resolution change can be supported - therefore the sequence header OBU and frame header OBU of AV1 file must be parsed, which can be done in future with the help of gst-lib gstav1parse. https://bugzilla.gnome.org/show_bug.cgi?id=796677 --- gst/ivfparse/gstivfparse.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'gst/ivfparse') diff --git a/gst/ivfparse/gstivfparse.c b/gst/ivfparse/gstivfparse.c index e0e840117..c50c36197 100644 --- a/gst/ivfparse/gstivfparse.c +++ b/gst/ivfparse/gstivfparse.c @@ -200,6 +200,10 @@ fourcc_to_media_type (guint32 fourcc) break; case GST_MAKE_FOURCC ('V', 'P', '9', '0'): return "video/x-vp9"; + break; + case GST_MAKE_FOURCC ('A', 'V', '0', '1'): + return "video/x-av1"; + break; default: return NULL; } @@ -341,8 +345,12 @@ gst_ivf_parse_handle_frame_data (GstIvfParse * ivf, GstBaseParseFrame * frame, height = GST_READ_UINT16_LE (map.data + 8) & 0x3fff; gst_ivf_parse_set_size (ivf, width, height); } - } else { + } else if (ivf->fourcc == GST_MAKE_FOURCC ('V', 'P', '9', '0')) { /* Fixme: Add vp9 frame header parsing? */ + } else if (ivf->fourcc == GST_MAKE_FOURCC ('A', 'V', '0', '1')) { + /* Fixme: Add av1 frame header parsing? */ + /* This would allow to parse dynamic resolution changes */ + /* implement when gstav1parser is ready */ } gst_buffer_unmap (frame->out_buffer, &map); } -- cgit v1.2.1