* ffmpeg-mt/master:
Update todo. More items appeared...
Fix mdec
Duplicate: id3v1: change filesize to int64_t.
Duplicate: id3v1: Seek back to old position after reading.
Conflicts:
libavcodec/mpegvideo.c
libavcodec/snow.c
libavformat/id3v1.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
| ... | ... |
@@ -246,7 +246,7 @@ static av_cold int decode_init_thread_copy(AVCodecContext *avctx){
|
| 246 | 246 |
avctx->coded_frame= p; |
| 247 | 247 |
a->avctx= avctx; |
| 248 | 248 |
|
| 249 |
- p->qscale_table= av_mallocz( p->qstride * a->mb_height); |
|
| 249 |
+ p->qscale_table= av_mallocz(a->mb_width); |
|
| 250 | 250 |
|
| 251 | 251 |
return 0; |
| 252 | 252 |
} |
| ... | ... |
@@ -227,7 +227,7 @@ void ff_id3v1_read(AVFormatContext *s) |
| 227 | 227 |
{
|
| 228 | 228 |
int ret; |
| 229 | 229 |
uint8_t buf[ID3v1_TAG_SIZE]; |
| 230 |
- int64_t filesize, position = url_ftell(s->pb); |
|
| 230 |
+ int64_t filesize, position = avio_tell(s->pb); |
|
| 231 | 231 |
|
| 232 | 232 |
if (!url_is_streamed(s->pb)) {
|
| 233 | 233 |
/* XXX: change that */ |
| ... | ... |
@@ -2,7 +2,7 @@ Todo |
| 2 | 2 |
|
| 3 | 3 |
-- For other people |
| 4 | 4 |
- Multithread vp8 or vc1. |
| 5 |
-- Multithread an intra codec like mjpeg. |
|
| 5 |
+- Multithread an intra codec like mjpeg (trivial). |
|
| 6 | 6 |
- Fix mpeg1 (see below). |
| 7 | 7 |
- Try the first three items under Optimization. |
| 8 | 8 |
- Fix h264 (see below). |
| ... | ... |
@@ -14,6 +14,8 @@ General critical: |
| 14 | 14 |
- Error resilience has to run before ff_report_frame_progress() |
| 15 | 15 |
is called. Otherwise there will be race conditions. (This might already |
| 16 | 16 |
work.) In general testing error paths should be done more. |
| 17 |
+- 'make fate THREADS=2' doesn't pass. Most failures are due to |
|
| 18 |
+bugs in vsync in ffmpeg.c, which are currently obscuring real failures. |
|
| 17 | 19 |
|
| 18 | 20 |
h264: |
| 19 | 21 |
- Files split at the wrong NAL unit don't (and can't) |
| ... | ... |
@@ -39,7 +41,7 @@ with threads on. Currently disabled for this reason. |
| 39 | 39 |
-- Prove correct |
| 40 | 40 |
|
| 41 | 41 |
- decode_update_progress() in h264.c |
| 42 |
-h264_race_checking branch has some work on h264, |
|
| 42 |
+race_checking branch has some work on h264, |
|
| 43 | 43 |
but not that function. It might be worth putting |
| 44 | 44 |
the branch under #ifdef DEBUG in mainline, but |
| 45 | 45 |
the code would have to be cleaner. |
| ... | ... |
@@ -48,9 +50,11 @@ the code would have to be cleaner. |
| 48 | 48 |
|
| 49 | 49 |
-- Optimization |
| 50 | 50 |
|
| 51 |
+- Merge h264 decode_update_progress() with loop_filter(). |
|
| 52 |
+Add CODEC_CAP_DRAW_HORIZ_BAND as a side effect. |
|
| 51 | 53 |
- EMU_EDGE is always set for h264 PAFF+MT |
| 52 | 54 |
because draw_edges() writes into the other field's |
| 53 |
-thread's pixels. |
|
| 55 |
+thread's pixels. Needs an option to skip T/B fields. |
|
| 54 | 56 |
- Check update_thread_context() functions and make |
| 55 | 57 |
sure they only copy what they need to. |
| 56 | 58 |
- Try some more optimization of the "ref < 48; ref++" |