|
|
|
@ -586,12 +586,12 @@ static int decode_advanced_sequence_header(AVCodecContext *avctx, GetBitContext |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, |
|
|
|
|
"Reserved FRAMERATENR %i not handled\n", nr); |
|
|
|
|
nr = 5; /* overflow protection */ |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (dr<1) |
|
|
|
|
{ |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "0 is forbidden for FRAMERATEDR\n"); |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (dr>2) |
|
|
|
|
{ |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, |
|
|
|
@ -2413,25 +2413,25 @@ static int vc9_decode_frame(AVCodecContext *avctx, |
|
|
|
|
if (avctx->codec_id == CODEC_ID_VC9) |
|
|
|
|
{ |
|
|
|
|
#if 0 |
|
|
|
|
// search for IDU's
|
|
|
|
|
// FIXME
|
|
|
|
|
uint32_t scp = 0; |
|
|
|
|
int scs = 0, i = 0; |
|
|
|
|
// search for IDU's
|
|
|
|
|
// FIXME
|
|
|
|
|
uint32_t scp = 0; |
|
|
|
|
int scs = 0, i = 0; |
|
|
|
|
|
|
|
|
|
while (i < buf_size) |
|
|
|
|
{ |
|
|
|
|
for (; i < buf_size && scp != 0x000001; i++) |
|
|
|
|
scp = ((scp<<8)|buf[i])&0xffffff; |
|
|
|
|
while (i < buf_size) |
|
|
|
|
{ |
|
|
|
|
for (; i < buf_size && scp != 0x000001; i++) |
|
|
|
|
scp = ((scp<<8)|buf[i])&0xffffff; |
|
|
|
|
|
|
|
|
|
if (scp != 0x000001) |
|
|
|
|
break; // eof ?
|
|
|
|
|
if (scp != 0x000001) |
|
|
|
|
break; // eof ?
|
|
|
|
|
|
|
|
|
|
scs = buf[i++];
|
|
|
|
|
scs = buf[i++];
|
|
|
|
|
|
|
|
|
|
init_get_bits(gb, buf+i, (buf_size-i)*8); |
|
|
|
|
init_get_bits(gb, buf+i, (buf_size-i)*8); |
|
|
|
|
|
|
|
|
|
switch(scs) |
|
|
|
|
{ |
|
|
|
|
switch(scs) |
|
|
|
|
{ |
|
|
|
|
case 0x0A: //Sequence End Code
|
|
|
|
|
return 0; |
|
|
|
|
case 0x0B: //Slice Start Code
|
|
|
|
@ -2456,10 +2456,10 @@ static int vc9_decode_frame(AVCodecContext *avctx, |
|
|
|
|
"Unsupported IDU suffix %lX\n", scs); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
i += get_bits_count(gb)*8; |
|
|
|
|
} |
|
|
|
|
i += get_bits_count(gb)*8; |
|
|
|
|
} |
|
|
|
|
#else |
|
|
|
|
av_abort(); |
|
|
|
|
av_abort(); |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|