| OLD | NEW |
| 1 Todo | 1 Todo |
| 2 | 2 |
| 3 -- Bug fixes | 3 -- Bug fixes |
| 4 | 4 |
| 5 Prove correct: | 5 Prove correct: |
| 6 - decode_update_progress() in h264.c | 6 - decode_update_progress() in h264.c |
| 7 h264_race_checking branch has some work on h264, | 7 h264_race_checking branch has some work on h264, |
| 8 but not that function. It might be worth putting | 8 but not that function. It might be worth putting |
| 9 the branch under #ifdef DEBUG in mainline, but | 9 the branch under #ifdef DEBUG in mainline, but |
| 10 the code would have to be cleaner. | 10 the code would have to be cleaner. |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 - Support interlaced. | 27 - Support interlaced. |
| 28 | 28 |
| 29 mpeg1: | 29 mpeg1: |
| 30 - Seeking always prints "first frame not a keyframe" | 30 - Seeking always prints "first frame not a keyframe" |
| 31 with threads on. Currently disabled for this reason. | 31 with threads on. Currently disabled for this reason. |
| 32 | 32 |
| 33 other: | 33 other: |
| 34 - ffmpeg with -vsync != 0 breaks A/V sync because | 34 - ffmpeg with -vsync != 0 breaks A/V sync because |
| 35 it can't handle more than 1 frame of decoder delay. | 35 it can't handle more than 1 frame of decoder delay. |
| 36 This can be seen with H.264 on mainline. | 36 This can be seen with H.264 on mainline. |
| 37 - Error resilience has to run before ff_report_ | 37 - Decoding single-frame files with 3+ threads never |
| 38 frame_progress() is called. | 38 outputs anything in ffmpeg. It should stop the initial |
| 39 delay and just return a frame immediately if one of the |
| 40 first N frames is an EOF packet. |
| 41 - Error resilience has to run before ff_report_frame_progress() |
| 42 is called. |
| 39 - 'make test' must pass. This means pthread emulation | 43 - 'make test' must pass. This means pthread emulation |
| 40 must work the same way without --enable-pthreads. | 44 must work the same way without --enable-pthreads. |
| 41 There also seems to be some problem related to | 45 There also seems to be some problem related to |
| 42 draw_edges and the mpeg4 encoder. | 46 draw_edges and the mpeg4 encoder. |
| 43 | 47 |
| 44 -- Optimization | 48 -- Optimization |
| 45 | 49 |
| 46 - await_references() in h264 spends too much time | 50 - await_references() in h264 spends too much time |
| 47 skipping zeros in refs[]. Add a next_array_nonzero | 51 skipping zeros in refs[]. Add a next_array_nonzero |
| 48 macro or something to use write-combining checks; | 52 macro or something to use write-combining checks; |
| (...skipping 22 matching lines...) Expand all Loading... |
| 71 and just set thread_count. | 75 and just set thread_count. |
| 72 | 76 |
| 73 -- Samples | 77 -- Samples |
| 74 | 78 |
| 75 http://astrange.ithinksw.net/ffmpeg/mt-samples/ | 79 http://astrange.ithinksw.net/ffmpeg/mt-samples/ |
| 76 | 80 |
| 77 See yuvcmp.c in this directory to compare decoded samples. | 81 See yuvcmp.c in this directory to compare decoded samples. |
| 78 Try commenting out ff_thread_finish_setup calls so | 82 Try commenting out ff_thread_finish_setup calls so |
| 79 only one thread runs at once, and then binary search+ | 83 only one thread runs at once, and then binary search+ |
| 80 scattering printfs to look for differences in codec contexts. | 84 scattering printfs to look for differences in codec contexts. |
| OLD | NEW |