[FFmpeg-trac] #3871(avcodec:new): FFmpeg MD5 output different with same data #2
FFmpeg
trac at avcodec.org
Sat Aug 23 14:33:16 CEST 2014
#3871: FFmpeg MD5 output different with same data #2
--------------------------------------+-----------------------------------
Reporter: ahthovaikied | Owner:
Type: defect | Status: new
Priority: normal | Component: avcodec
Version: 2.2.4 | Resolution:
Keywords: md5 aac h264 | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
--------------------------------------+-----------------------------------
Comment (by cehoyos):
Replying to [comment:10 ahthovaikied]:
> Replying to [comment:9 cehoyos]:
> > (And please remember that in ticket #3524 we found out that you can
get different output with identical build options and identical CPU
apparently depending on the compiler, and that nobody so far claimed that
the used compiler is buggy.)
> My understanding is that it was due to the use of avx instructions
Neither jamal nor I were able to reproduce an issue with avx so I would
say this is an impossible explanation.
> Replying to [comment:9 cehoyos]:
> > Since demuxers can depend on libavcodec, one implies the other.
> I don't understand this dependency
There is nothing to understand, it is just a fact: Just run {{{ldd
libavformat}}} on a shared library to see the dependency.
> especially since I built FFmpeg with {{{--disable-encoders --disable-
decoders}}}.
Meaning you cannot compare the behaviour with a build using default
configuration (at least for some files and some command lines).
> Replying to [comment:9 cehoyos]:
> > If you have a Matroska file for which libavformat returns broken
packets with a default configuration, please report it here (or on the
user mailing list).
> I am not able to characterize 'broken' here, however I know that in same
system with different FFmpeg versions (or with version 2.2.7 on different
CPU), the '''demuxing''' operation does not produce the same output.
> The results in comment:4 that show that taking steams individually
produce the same MD5, but taking them together does not, make me quite
suspicious.
Yes, it indicates that you refuse to believe me that testing demuxers
without decoders has very limited use.
> You seem to think this is normal, can you please explain why the
'''demuxing''' process can produce different output with the same file?
I explained several times that there are multiple reasons (or
explanations) why the output can be different (including different FFmpeg
configuration). Please note that you refuse to explain your usecase.
> Replying to [comment:9 cehoyos]:
> > But I really wouldn't rely on FFmpeg internals to check for file
validity.
> Since 'MD5' is an exposed output format, can you really consider this
internal?
Nothing about the md5 output format is internal. Testing demuxer output
means imo that you rely on FFmpeg internals that may change, be it because
of a bugfix or because the behaviour of the demuxer changes.
> Replying to [comment:9 cehoyos]:
> > Sorry, I expected you to write something like "yes, it works with
version x but fails with y". Anyway, please try:
> > {{{
> > $ make distclean
> > $ git bisect reset
> > $ git bisect start
> > $ git checkout x
> > $ git bisect good
> > $ git checkout y
> > $ git bisect bad
> > }}}
> > Then build and test and depending on the result either use {{{make
distclean && git bisect good}}} or {{{make distclean && git bisect bad}}}
to continue testing and find the version introducing the problem you see.
I run bisects on FFmpeg every day so I can help you if needed, but you may
have to explain how I can reproduce the problem without using a script.
> Thanks for your help.
> I get a difference of MD5 between tag n2.2.7 and tag n2.3.
Since 2.3 is "newer" than n2.2.7 you did mark n2.3 (and all revisions that
behave the same) as {{{bad}}} and n2.2.7 (and all revisions with the same
output) as {{{good}}}? This is the only way {{{git bisect}}} works and it
will show you the commit that introduces the change.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/3871#comment:11>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list