[FFmpeg-devel] [PATCH 1/2] avformat/mux: Warn if the muxers bitexact flag is not set but it looks as if the user wants it set
Michael Niedermayer
michael at niedermayer.cc
Mon Aug 24 02:22:20 CEST 2015
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 <michael at 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 <michael at 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150824/b7ecf946/attachment.sig>
More information about the ffmpeg-devel
mailing list