diff mbox

[FFmpeg-devel] avformat/movenc: forbid muxing AV1 streams until the spec is finished

Message ID 20180416004016.6916-1-jamrial@gmail.com
State Accepted
Commit 62bdbb5ce0c54b9f73c9b2580467ab1e6d76b70b
Headers show

Commit Message

James Almer April 16, 2018, 12:40 a.m. UTC
This prevents creating potentially broken files, as both the AV1 and
the AV1 in ISOMBFF specs are unfinished.

Signed-off-by: James Almer <jamrial@gmail.com>
---
This is mainly so it's effective in ffmpeg 4.0, the first version to
support libaom (including pre-bitstream freeze builds). Best to
prevent muxing files that may not work anymore a few months from now.

 libavformat/movenc.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Tomas Härdin April 16, 2018, 7:57 a.m. UTC | #1
sön 2018-04-15 klockan 21:40 -0300 skrev James Almer:
> This prevents creating potentially broken files, as both the AV1 and
> the AV1 in ISOMBFF specs are unfinished.
> 
> > Signed-off-by: James Almer <jamrial@gmail.com>
> ---
> This is mainly so it's effective in ffmpeg 4.0, the first version to
> support libaom (including pre-bitstream freeze builds). Best to
> prevent muxing files that may not work anymore a few months from now.
> 
>  libavformat/movenc.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/libavformat/movenc.c b/libavformat/movenc.c
> index d03d7906a1..dc5c842cb8 100644
> --- a/libavformat/movenc.c
> +++ b/libavformat/movenc.c
> @@ -6081,6 +6081,10 @@ static int mov_init(AVFormatContext *s)
>                      av_log(s, AV_LOG_ERROR, "VP9 only supported in MP4.\n");
>                      return AVERROR(EINVAL);
>                  }
> +            } else if (track->par->codec_id == AV_CODEC_ID_AV1) {
> +                /* spec is not finished, so forbid for now */
> +                av_log(s, AV_LOG_ERROR, "AV1 muxing is currently not supported.\n");
> +                return AVERROR_PATCHWELCOME;

Looks OK, we shouldn't produce broken files of course

/Tomas
James Almer April 16, 2018, 1:52 p.m. UTC | #2
On 4/16/2018 4:57 AM, Tomas Härdin wrote:
> sön 2018-04-15 klockan 21:40 -0300 skrev James Almer:
>> This prevents creating potentially broken files, as both the AV1 and
>> the AV1 in ISOMBFF specs are unfinished.
>>
>>> Signed-off-by: James Almer <jamrial@gmail.com>
>> ---
>> This is mainly so it's effective in ffmpeg 4.0, the first version to
>> support libaom (including pre-bitstream freeze builds). Best to
>> prevent muxing files that may not work anymore a few months from now.
>>
>>  libavformat/movenc.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/libavformat/movenc.c b/libavformat/movenc.c
>> index d03d7906a1..dc5c842cb8 100644
>> --- a/libavformat/movenc.c
>> +++ b/libavformat/movenc.c
>> @@ -6081,6 +6081,10 @@ static int mov_init(AVFormatContext *s)
>>                      av_log(s, AV_LOG_ERROR, "VP9 only supported in MP4.\n");
>>                      return AVERROR(EINVAL);
>>                  }
>> +            } else if (track->par->codec_id == AV_CODEC_ID_AV1) {
>> +                /* spec is not finished, so forbid for now */
>> +                av_log(s, AV_LOG_ERROR, "AV1 muxing is currently not supported.\n");
>> +                return AVERROR_PATCHWELCOME;
> 
> Looks OK, we shouldn't produce broken files of course
> 
> /Tomas

Pushed, thanks.
diff mbox

Patch

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index d03d7906a1..dc5c842cb8 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -6081,6 +6081,10 @@  static int mov_init(AVFormatContext *s)
                     av_log(s, AV_LOG_ERROR, "VP9 only supported in MP4.\n");
                     return AVERROR(EINVAL);
                 }
+            } else if (track->par->codec_id == AV_CODEC_ID_AV1) {
+                /* spec is not finished, so forbid for now */
+                av_log(s, AV_LOG_ERROR, "AV1 muxing is currently not supported.\n");
+                return AVERROR_PATCHWELCOME;
             } else if (track->par->codec_id == AV_CODEC_ID_VP8) {
                 /* altref frames handling is not defined in the spec as of version v1.0,
                  * so just forbid muxing VP8 streams altogether until a new version does */