Am 04.02.2015 um 17:38 schrieb Vittorio Giovara: > On Wed, Feb 4, 2015 at 8:27 AM, Oleksij Rempel <[email protected]> wrote: >> Signed-off-by: Oleksij Rempel <[email protected]> >> Signed-off-by: Luca Barbato <[email protected]> >> Signed-off-by: Vittorio Giovara <[email protected]> >> --- >> Changelog | 2 +- >> doc/general.texi | 1 + >> libavformat/Makefile | 1 + >> libavformat/allformats.c | 1 + >> libavformat/dss.c | 343 >> +++++++++++++++++++++++++++++++++++++++++++++++ >> 5 files changed, 347 insertions(+), 1 deletion(-) >> create mode 100644 libavformat/dss.c > > Hi, thanks for the update! > Unfortunately there is still a problem within the code, but I think I > triaged it enough for you to fix it. > When you run a fate test under valgrind you'll see a lot of warnings > related to uninitialized values: > > ==68641== Conditional jump or move depends on uninitialised value(s) > ==68641== at 0x1002A8CC9: dss_sp_unpack_coeffs (in ./avconv) > ==68641== by 0x1002A8410: dss_sp_decode_one_frame (in ./avconv) > ==68641== by 0x1002A83D0: dss_sp_decode_frame (in ./avconv) > ==68641== by 0x10079F251: avcodec_decode_audio4 (in ./avconv) > ==68641== by 0x10001A643: decode_audio (in ./avconv) > ==68641== by 0x10001987C: process_input_packet (in ./avconv) > ==68641== by 0x100018418: process_input (in ./avconv) > ==68641== by 0x100015213: transcode (in ./avconv) > ==68641== by 0x100014B2E: main (in ./avconv) > ==68641== Uninitialised value was created by a heap allocation > ==68641== at 0x66BB: malloc (in > /usr/local/Cellar/valgrind/3.10.1/lib/valgrind/vgpreload_memcheck-amd64-darwin.so) > ==68641== by 0x714B: realloc (in > /usr/local/Cellar/valgrind/3.10.1/lib/valgrind/vgpreload_memcheck-amd64-darwin.so) > ==68641== by 0x100A1BDB7: av_realloc (in ./avconv) > ==68641== by 0x100A0DB3A: av_buffer_realloc (in ./avconv) > ==68641== by 0x10024CD80: packet_alloc (in ./avconv) > ==68641== by 0x10024CCD5: av_new_packet (in ./avconv) > ==68641== by 0x10008095B: dss_sp_read_packet (in ./avconv) > ==68641== by 0x100080848: dss_read_packet (in ./avconv) > ==68641== by 0x10018FE64: ff_read_packet (in ./avconv) > ==68641== by 0x100190C35: read_frame_internal (in ./avconv) > ==68641== by 0x100193366: avformat_find_stream_info (in ./avconv) > ==68641== by 0x10000853C: open_input_file (in ./avconv) > > This would perfectly explain why the fate hashes are so unpredictable > and change at every run. > It is very likely that the decoder is reading parts of the input > buffer (the avpacket) which are not completely initialized: so either > demuxer does not fully fill it up or decoder reads somewhere past the > data (doubtful). > > As I was suggested, you could try printing all data read in > dss_sp_unpack_coeffs to see if some variable hits it and initialize it > properly. You also probably need to regen the tests with make > fate-dss-sp GEN=1. Remember to run valgrind with --track-origins=yes. > > Cheers. >
Fixed. Which files did you used to generate tests? -- Regards, Oleksij
signature.asc
Description: OpenPGP digital signature
_______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
