You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
Favor even chunk sizes in ambiguous cases.
Fixes transcode_069_produces_uneven_chunk_size.avi. Originally committed as revision 15557 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
@@ -52,6 +52,7 @@ typedef struct {
|
|||||||
int64_t movi_end;
|
int64_t movi_end;
|
||||||
int64_t fsize;
|
int64_t fsize;
|
||||||
int64_t movi_list;
|
int64_t movi_list;
|
||||||
|
int64_t last_pkt_pos;
|
||||||
int index_loaded;
|
int index_loaded;
|
||||||
int is_odml;
|
int is_odml;
|
||||||
int non_interleaved;
|
int non_interleaved;
|
||||||
@@ -701,6 +702,7 @@ resync:
|
|||||||
|
|
||||||
if(size > ast->remaining)
|
if(size > ast->remaining)
|
||||||
size= ast->remaining;
|
size= ast->remaining;
|
||||||
|
avi->last_pkt_pos= url_ftell(pb);
|
||||||
av_get_packet(pb, pkt, size);
|
av_get_packet(pb, pkt, size);
|
||||||
|
|
||||||
if(ast->has_pal && pkt->data && pkt->size<(unsigned)INT_MAX/2){
|
if(ast->has_pal && pkt->data && pkt->size<(unsigned)INT_MAX/2){
|
||||||
@@ -782,6 +784,9 @@ resync:
|
|||||||
|
|
||||||
n= get_stream_idx(d);
|
n= get_stream_idx(d);
|
||||||
|
|
||||||
|
if(!((i-avi->last_pkt_pos)&1) && get_stream_idx(d+1) < s->nb_streams)
|
||||||
|
continue;
|
||||||
|
|
||||||
//parse ##dc/##wb
|
//parse ##dc/##wb
|
||||||
if(n < s->nb_streams){
|
if(n < s->nb_streams){
|
||||||
AVStream *st;
|
AVStream *st;
|
||||||
|
Reference in New Issue
Block a user