On Sun, Aug 23, 2015 at 11:52:37AM +0200, Andreas Cadhalpun wrote: > On 23.08.2015 11:09, Michael Niedermayer wrote: > > From: Michael Niedermayer <mich...@niedermayer.cc> > > > > Note: I doubt requiring this in the future is a good idea > > See: [FFmpeg-devel] [PATCH 3/4] fate: add -fflags +bitexact to the relevant > > targets > > Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > > --- > > libavformat/mux.c | 7 ++++++- > > 1 file changed, 6 insertions(+), 1 deletion(-) > > > > diff --git a/libavformat/mux.c b/libavformat/mux.c > > index 81c4676..77a24cc 100644 > > --- a/libavformat/mux.c > > +++ b/libavformat/mux.c > > @@ -250,10 +250,15 @@ static int init_muxer(AVFormatContext *s, > > AVDictionary **options) > > (ret = av_opt_set_dict2(s->priv_data, &tmp, > > AV_OPT_SEARCH_CHILDREN)) < 0) > > goto fail; > > > > + if (s->nb_streams && s->streams[0]->codec->flags & > > AV_CODEC_FLAG_BITEXACT) { > > + if (!(s->flags & AVFMT_FLAG_BITEXACT)) > > + av_log(s, AV_LOG_WARNING, "Muxer bitexact flag is not set, > > please set AVFormatContext.flags |= AVFMT_FLAG_BITEXACT.\n" > > + "This will become mandatory with > > future API cleanup\n" > > + ); > > Such a warning is probably a good idea. > However, either it should be removed together with FF_API_LAVF_BITEXACT > (which only makes sense if we keep FF_API_LAVF_BITEXACT until next time) > or the warning has to change, when FF_API_LAVF_BITEXACT is disabled. > Saying 'future API cleanup', when the cleanup already happened seems wrong.
is below diff better: ? iam quite unsure how to word this using the exact same system as FF_API_OLD_FILTER_OPTS is tricky as there is a semantic difference "codec->flags & AV_CODEC_FLAG_BITEXACT" is not deprecated as in FF_API_OLD_FILTER_OPTS Currently storing a bitexact stream in a container makes the container bitexact. with FF_API_LAVF_BITEXACT==0 this would no longer be the case and the user would have to explicitly switch the muxer into bitexact mode in addition to the encoder to get a bitexact result. --- a/libavformat/mux.c +++ b/libavformat/mux.c @@ -250,10 +250,17 @@ static int init_muxer(AVFormatContext *s, AVDictionary **options) (ret = av_opt_set_dict2(s->priv_data, &tmp, AV_OPT_SEARCH_CHILDREN)) < 0) goto fail; + if (s->nb_streams && s->streams[0]->codec->flags & AV_CODEC_FLAG_BITEXACT) { + if (!(s->flags & AVFMT_FLAG_BITEXACT)) + av_log(s, AV_LOG_WARNING, "Muxer bitexact flag is not set, please set AVFormatContext.flags |= AVFMT_FLAG_BITEXACT.\n" +#if FF_API_LAVF_BITEXACT + "This will become mandatory with future API cleanup\n" +#endif + ); #if FF_API_LAVF_BITEXACT - if (s->nb_streams && s->streams[0]->codec->flags & AV_CODEC_FLAG_BITEXACT) s->flags |= AVFMT_FLAG_BITEXACT; #endif + } // some sanity checks if (s->nb_streams == 0 && !(of->flags & AVFMT_NOSTREAMS)) { [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB I have often repented speaking, but never of holding my tongue. -- Xenocrates
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel