mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-23 04:24:35 +02:00
fixes rv10 decoding crash
Originally committed as revision 873 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
0778718635
commit
ee3b2be65d
@ -296,6 +296,10 @@ static int rv10_decode_picture_header(MpegEncContext *s)
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
s->qscale = get_bits(&s->gb, 5);
|
s->qscale = get_bits(&s->gb, 5);
|
||||||
|
if(s->qscale==0){
|
||||||
|
fprintf(stderr, "error, qscale:0\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
if (s->pict_type == I_TYPE) {
|
if (s->pict_type == I_TYPE) {
|
||||||
if (s->rv10_version == 3) {
|
if (s->rv10_version == 3) {
|
||||||
@ -322,7 +326,7 @@ static int rv10_decode_picture_header(MpegEncContext *s)
|
|||||||
s->mb_y = 0;
|
s->mb_y = 0;
|
||||||
mb_count = s->mb_width * s->mb_height;
|
mb_count = s->mb_width * s->mb_height;
|
||||||
}
|
}
|
||||||
|
//printf("%d\n", get_bits(&s->gb, 3));
|
||||||
get_bits(&s->gb, 3); /* ignored */
|
get_bits(&s->gb, 3); /* ignored */
|
||||||
s->f_code = 1;
|
s->f_code = 1;
|
||||||
s->unrestricted_mv = 1;
|
s->unrestricted_mv = 1;
|
||||||
@ -353,6 +357,9 @@ static int rv10_decode_init(AVCodecContext *avctx)
|
|||||||
|
|
||||||
h263_decode_init_vlc(s);
|
h263_decode_init_vlc(s);
|
||||||
|
|
||||||
|
s->y_dc_scale_table=
|
||||||
|
s->c_dc_scale_table= ff_mpeg1_dc_scale_table;
|
||||||
|
|
||||||
/* init rv vlc */
|
/* init rv vlc */
|
||||||
if (!done) {
|
if (!done) {
|
||||||
init_vlc(&rv_dc_lum, DC_VLC_BITS, 256,
|
init_vlc(&rv_dc_lum, DC_VLC_BITS, 256,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user