diff options
-rw-r--r-- | libavformat/avidec.c | 8 | ||||
-rw-r--r-- | tests/ref/fate/aasc | 1 | ||||
-rw-r--r-- | tests/ref/fate/cllc-argb | 1 | ||||
-rw-r--r-- | tests/ref/fate/cllc-rgb | 1 | ||||
-rw-r--r-- | tests/ref/fate/cllc-yuy2-noblock | 1 | ||||
-rw-r--r-- | tests/ref/fate/cvid-partial | 1 | ||||
-rw-r--r-- | tests/ref/fate/fic-avi | 1 | ||||
-rw-r--r-- | tests/ref/fate/truemotion1-24 | 1 | ||||
-rw-r--r-- | tests/ref/fate/vp5 | 1 | ||||
-rw-r--r-- | tests/ref/fate/zmbv-8bit | 1 |
10 files changed, 13 insertions, 4 deletions
diff --git a/libavformat/avidec.c b/libavformat/avidec.c index c24a6c495d..e7202de8d4 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -151,7 +151,7 @@ static int read_braindead_odml_indx(AVFormatContext *s, int frame_num) AVIStream *ast; int i; int64_t last_pos = -1; - int64_t filesize = avio_size(s->pb); + int64_t filesize = avi->fsize; av_dlog(s, "longs_pre_entry:%d index_type:%d entries_in_use:%d " @@ -374,7 +374,7 @@ static int avi_read_header(AVFormatContext *s) return ret; avi->fsize = avio_size(pb); - if (avi->fsize <= 0) + if (avi->fsize <= 0 || avi->fsize < avi->riff_end) avi->fsize = avi->riff_end == 8 ? INT64_MAX : avi->riff_end; /* first list tag */ @@ -402,7 +402,7 @@ static int avi_read_header(AVFormatContext *s) if (size) avi->movi_end = avi->movi_list + size + (size & 1); else - avi->movi_end = avio_size(pb); + avi->movi_end = avi->fsize; av_dlog(NULL, "movi end=%"PRIx64"\n", avi->movi_end); goto end_of_header; } else if (tag1 == MKTAG('I', 'N', 'F', 'O')) @@ -774,7 +774,7 @@ static int avi_read_header(AVFormatContext *s) if (s->error_recognition & AV_EF_EXPLODE) goto fail; avi->movi_list = avio_tell(pb) - 4; - avi->movi_end = avio_size(pb); + avi->movi_end = avi->fsize; goto end_of_header; } /* skip tag */ diff --git a/tests/ref/fate/aasc b/tests/ref/fate/aasc index 57d59a9c48..83f83b984b 100644 --- a/tests/ref/fate/aasc +++ b/tests/ref/fate/aasc @@ -22,3 +22,4 @@ 0, 20, 20, 1, 168000, 0x7a2b1006 0, 21, 21, 1, 168000, 0xc7ca1345 0, 22, 22, 1, 168000, 0x8841c413 +0, 23, 23, 1, 168000, 0xbaed0290 diff --git a/tests/ref/fate/cllc-argb b/tests/ref/fate/cllc-argb index 0283863899..4a5dce56db 100644 --- a/tests/ref/fate/cllc-argb +++ b/tests/ref/fate/cllc-argb @@ -3,3 +3,4 @@ 0, 1, 1, 1, 3686400, 0x66a45032 0, 2, 2, 1, 3686400, 0xdf0c861f 0, 3, 3, 1, 3686400, 0xa4a68cdb +0, 4, 4, 1, 3686400, 0xb5f9526e diff --git a/tests/ref/fate/cllc-rgb b/tests/ref/fate/cllc-rgb index 06d54dab5a..b4ca0553db 100644 --- a/tests/ref/fate/cllc-rgb +++ b/tests/ref/fate/cllc-rgb @@ -13,3 +13,4 @@ 0, 11, 11, 1, 921600, 0x4d7488fa 0, 12, 12, 1, 921600, 0x16b9c9c9 0, 13, 13, 1, 921600, 0xa0a4f77f +0, 14, 14, 1, 921600, 0xf61a5501 diff --git a/tests/ref/fate/cllc-yuy2-noblock b/tests/ref/fate/cllc-yuy2-noblock index 2cb9e78c94..6ad59d504a 100644 --- a/tests/ref/fate/cllc-yuy2-noblock +++ b/tests/ref/fate/cllc-yuy2-noblock @@ -14,3 +14,4 @@ 0, 12, 12, 1, 614400, 0x2d8fd7cc 0, 13, 13, 1, 614400, 0xd9dfc2ef 0, 14, 14, 1, 614400, 0xaf95cef0 +0, 15, 15, 1, 614400, 0x6dcf5ed6 diff --git a/tests/ref/fate/cvid-partial b/tests/ref/fate/cvid-partial index 71596b4e8a..907ef4a5d2 100644 --- a/tests/ref/fate/cvid-partial +++ b/tests/ref/fate/cvid-partial @@ -77,3 +77,4 @@ 0, 75, 75, 1, 112400, 0xe4394f1f 0, 76, 76, 1, 112400, 0x8ca8649f 0, 77, 77, 1, 112400, 0x804d44eb +0, 78, 78, 1, 112400, 0x3864488b diff --git a/tests/ref/fate/fic-avi b/tests/ref/fate/fic-avi index e2b26a3bff..cc4ea5dfc9 100644 --- a/tests/ref/fate/fic-avi +++ b/tests/ref/fate/fic-avi @@ -119,3 +119,4 @@ 0, 117, 117, 1, 1566720, 0xfe83b964 0, 118, 118, 1, 1566720, 0x25dc30a6 0, 119, 119, 1, 1566720, 0x25dc30a6 +0, 120, 120, 1, 1566720, 0x25dc30a6 diff --git a/tests/ref/fate/truemotion1-24 b/tests/ref/fate/truemotion1-24 index f097ed0e28..73bb9e7de4 100644 --- a/tests/ref/fate/truemotion1-24 +++ b/tests/ref/fate/truemotion1-24 @@ -14,3 +14,4 @@ 0, 12, 12, 1, 69120, 0xf55d74c7 0, 13, 13, 1, 69120, 0xb5082ca7 0, 14, 14, 1, 69120, 0x5876d758 +0, 15, 15, 1, 69120, 0x45e7dd5c diff --git a/tests/ref/fate/vp5 b/tests/ref/fate/vp5 index 791fe60af1..0e601ba811 100644 --- a/tests/ref/fate/vp5 +++ b/tests/ref/fate/vp5 @@ -245,3 +245,4 @@ 0, 243, 243, 1, 233472, 0x6f530ac6 0, 244, 244, 1, 233472, 0x94f7466c 0, 245, 245, 1, 233472, 0xa8c1d365 +0, 246, 246, 1, 233472, 0xedcff050 diff --git a/tests/ref/fate/zmbv-8bit b/tests/ref/fate/zmbv-8bit index 64dacae5a7..9f02ae3668 100644 --- a/tests/ref/fate/zmbv-8bit +++ b/tests/ref/fate/zmbv-8bit @@ -274,3 +274,4 @@ 0, 272, 272, 1, 192000, 0xd08e49d1 0, 273, 273, 1, 192000, 0xd08e49d1 0, 274, 274, 1, 192000, 0xd08e49d1 +0, 275, 275, 1, 192000, 0x1f34135f |