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 <[email protected]> > > > > 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 <[email protected]> > > --- > > 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 [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
