After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 796718 - avmux_ivf: Add VP9 and AV1 sink capabilities
avmux_ivf: Add VP9 and AV1 sink capabilities
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-libav
unspecified
Other All
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-06-29 06:08 UTC by Georg Ottinger
Modified: 2018-11-03 12:59 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
avmux_ivf: Add VP9 and AV1 sink capabilities (4.38 KB, patch)
2018-06-29 06:22 UTC, Georg Ottinger
none Details | Review
avmux_ivf: Add VP9 and AV1 sink capabilities (2.18 KB, patch)
2018-07-03 11:07 UTC, Georg Ottinger
accepted-commit_after_freeze Details | Review

Description Georg Ottinger 2018-06-29 06:08:41 UTC
avmux_ivf uses libav to create IVF containers.

libav's ivfenc.c supports VP9 and AV1 starting with 2018/03/12 (this is currently not a release version), but probably next release will support it.

This patch registers the capability for video/x-vp9 and video/x-av1 (along video/x-vp8) when using avmux_ivf.

This work is part of a GSOC 2018 project, mentored by Intel Media And Audio For Linux
Comment 1 Georg Ottinger 2018-06-29 06:20:53 UTC
Further a ordering error in gst_ffmpeg_formatid_get_codecids concerning
the pva format in the else if(!strcmp(X)) contruct was corrected.
Comment 2 Georg Ottinger 2018-06-29 06:22:57 UTC
Created attachment 372876 [details] [review]
avmux_ivf: Add VP9 and AV1 sink capabilities

This patch is dependent on following libva commit dating from 2018/03/12:
https://github.com/libav/libav/commit/44a1731011e87fbf4180d026aefb8bfe85d8c7dc#diff-06551f597a7a791b7d0d632b20f2074a
Comment 3 Víctor Manuel Jáquez Leal 2018-07-03 09:04:07 UTC
Review of attachment 372876 [details] [review]:

::: ext/libav/gstavcodecmap.c
@@ +3691,3 @@
       AV_CODEC_ID_ADPCM_YAMAHA, AV_CODEC_ID_NONE
     };
+

spurious new line (not related with the purpose of this patch)

@@ +3699,3 @@
       AV_CODEC_ID_NONE
     };
+

ditto

@@ +3708,3 @@
     *video_codec_list = gif_image_list;
     *audio_codec_list = NULL;
+  } else if (!strcmp (format_name, "pva")) {

this pva fix should be move into a different patch, following the spirit of atomic patches and readability.

@@ +3764,3 @@
   mimetype = gst_structure_get_name (structure);
 
+  GST_LOG ("mimetype: %s", mimetype);

I think this log message is not needed.
Comment 4 Georg Ottinger 2018-07-03 11:06:40 UTC
thanks for your review - i updated the patch accordingly - and I am making a sperate one for the pva ordering issue
Comment 5 Georg Ottinger 2018-07-03 11:07:15 UTC
Created attachment 372918 [details] [review]
avmux_ivf: Add VP9 and AV1 sink capabilities
Comment 6 Georg Ottinger 2018-07-03 11:25:19 UTC
The ordering error in gst_ffmpeg_formatid_get_codecids around pva fileformat is now a seperate bugreport:

https://bugzilla.gnome.org/show_bug.cgi?id=796738
Comment 7 Olivier Crête 2018-07-26 21:14:16 UTC
Review of attachment 372918 [details] [review]:

This patch looks good to me, the only blocker is that the AV1 code isn't in a ffmpeg release yet, so we have to wait for that before merging it.

Also, the AV1 MP4 & MKV specs now have a codec data containing the Sequence Header and Metadata OBU, that the depayloaders put in the caps. So we may need to somehow signal in the caps that this format doesn't support this.
Comment 8 GStreamer system administrator 2018-11-03 12:59:03 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/40.