[FFmpeg-devel] [PATCH] lavf/matroska: Allow AV1 in WebM

James Almer jamrial at gmail.com
Fri Sep 21 18:40:17 EEST 2018


On 8/20/2018 2:12 PM, Hendrik Leppkes wrote:
> On Mon, Aug 20, 2018 at 7:09 PM James Almer <jamrial at gmail.com> wrote:
>>
>> On 8/20/2018 1:44 PM, Kagami Hiiragi wrote:
>>> Nothing prevents it to work except this check. AV1 is already supported
>>> by Matroska muxer and aomenc produces WebM/AV1 files as well.
>>>
>>> Signed-off-by: Kagami Hiiragi <kagami at genshiken.org>
>>>
>>> diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
>>> index 09a62e1922..76cb124221 100644
>>> --- a/libavformat/matroskaenc.c
>>> +++ b/libavformat/matroskaenc.c
>>> @@ -1296,11 +1296,12 @@ static int mkv_write_track(AVFormatContext *s, MatroskaMuxContext *mkv,
>>>
>>>      if (mkv->mode == MODE_WEBM && !(par->codec_id == AV_CODEC_ID_VP8 ||
>>>                                      par->codec_id == AV_CODEC_ID_VP9 ||
>>> +                                    par->codec_id == AV_CODEC_ID_AV1 ||
>>>                                      par->codec_id == AV_CODEC_ID_OPUS ||
>>>                                      par->codec_id == AV_CODEC_ID_VORBIS ||
>>>                                      par->codec_id == AV_CODEC_ID_WEBVTT)) {
>>>          av_log(s, AV_LOG_ERROR,
>>> -               "Only VP8 or VP9 video and Vorbis or Opus audio and WebVTT subtitles are supported for WebM.\n");
>>> +               "Only VP8 or VP9 or AV1 video and Vorbis or Opus audio and WebVTT subtitles are supported for WebM.\n");
>>>          return AVERROR(EINVAL);
>>>      }
>>
>> I'm not against this, but i was thinking on at least waiting for libaom
>> and libwebm to produce complaint files first. Right now, they are not
>> writing anything in CodecPrivate.
>>
>> See https://bugs.chromium.org/p/aomedia/issues/detail?id=2027
> 
> Should definitely wait for the spec to be finalized before allowing
> this, and only generate fully compliant files then.
> 
> - Hendrik

libaom was updated to produce files compliant with the Matroska spec, so
i just applied this patch.

https://aomedia.googlesource.com/aom/+/ec0833fc9df73c0dc283e803881a121c395c4c5e
https://github.com/Matroska-Org/matroska-specification/blob/master/codec/av1.md


More information about the ffmpeg-devel mailing list