#1296: Multi-thread decoding artifact for MTS H.264 ----------------------------------+---------------------------------------- Reporter: andreasg | Owner: Type: defect | Status: new Priority: normal | Component: undetermined Version: 0.10.3 | Resolution: Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | ----------------------------------+----------------------------------------
Comment (by andreasg): git bisect does not seem to handle the ffmpeg git structure very well. I checked by hand several revisions around the revision indicated by git bisect and I believe that I found the revision that introduced the problem. I have no idea how support for subtitles could produce this problem. {{{ commit d150a147dac67faeaf6b1f25a523ae330168ee1e Author: David Mitchell <d...@fallingcanbedeadly.com> Date: Thu Jan 19 07:31:01 2012 -0800 Improve support for PGS subtitles. The previous implementation assumed that a new picture would always supersede the previous picture. Similarly, presentation segments were assumed to pertain to the most-recently-read picture. However, each presentation segment may refer to 0 or more pictures by their ID. Picture IDs may repeat, and a repeated picture ID indicates that the old picture for that ID is no longer needed and may be discarded. The new implementation allocates a buffer with one slot for each possible picture ID (the picture ID is a 16-bit field) and properly decodes presentation segments so that all relevant pictures are output upon encountering a display segment. Given that most PGS streams are unlikely to use more than a small fraction of the available picture IDs, it would probably be better to use a more memory-efficient data structure. I'm lazy though, so I leave this to a more motivated individual. I've tested the code with MKV files in VLC (a recent revision from their git repo) and with HandBrake (a version that I hacked up to use ffmpeg's PGS subtitle decoder). Review-by: Hendrik Leppkes <h.lepp...@gmail.com> Signed-off-by: Michael Niedermayer <michae...@gmx.at> }}} Here are the revisions that I tested. {{{ b720915be103cc8b062405bf9f7765ce3ad679d1 bad af21823ae0dc8f72446f9beb22563a72f485a57c bad 0bb57f8bf029427059be21a562527dcfa0e264c9 bad b955d4072e3e563b230c9ab4d6575577a3dc7314 bad f58d67000247eb8ac5029c3f16634d5851d4dfa9 bad 0fec2cb15cc6ff1fcc724c774ec36abadcb7b6ad good 2aadff2e44fa27664ccd1b0a63829e61bf82e939 bad d150a147dac67faeaf6b1f25a523ae330168ee1e bad cf7c7f13cdad07a174110625f8452c8e3444717b good 575d494de561049f36f9c5492e05c7d83dd78e75 good feb997577b66367a0c4269100888640699ee890d good 9bf9c314a093db16a009829bfe874bf03ffaecc9 good }}} -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1296#comment:4> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker _______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org http://avcodec.org/mailman/listinfo/ffmpeg-trac