mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
Merge commit 'f875a732e36786d49f3650e3235272891a820600'
* commit 'f875a732e36786d49f3650e3235272891a820600':
mpeg4videodec: Check the width/height in mpeg4_decode_sprite_trajectory
Conflicts:
libavcodec/mpeg4videodec.c
See: fc5c49ab32
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
028f8c3ecb
@ -162,7 +162,7 @@ static inline int mpeg4_is_resync(MpegEncContext *s){
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int mpeg4_decode_sprite_trajectory(MpegEncContext * s, GetBitContext *gb)
|
static int mpeg4_decode_sprite_trajectory(MpegEncContext *s, GetBitContext *gb)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int a= 2<<s->sprite_warping_accuracy;
|
int a= 2<<s->sprite_warping_accuracy;
|
||||||
@ -178,8 +178,8 @@ static int mpeg4_decode_sprite_trajectory(MpegEncContext * s, GetBitContext *gb)
|
|||||||
int h= s->height;
|
int h= s->height;
|
||||||
int min_ab;
|
int min_ab;
|
||||||
|
|
||||||
if(w<=0 || h<=0)
|
if (w <= 0 || h <= 0)
|
||||||
return -1;
|
return AVERROR_INVALIDDATA;
|
||||||
|
|
||||||
for(i=0; i<s->num_sprite_warping_points; i++){
|
for(i=0; i<s->num_sprite_warping_points; i++){
|
||||||
int length;
|
int length;
|
||||||
@ -428,8 +428,8 @@ int ff_mpeg4_decode_video_packet_header(MpegEncContext *s)
|
|||||||
skip_bits(&s->gb, 3); /* intra dc vlc threshold */
|
skip_bits(&s->gb, 3); /* intra dc vlc threshold */
|
||||||
//FIXME don't just ignore everything
|
//FIXME don't just ignore everything
|
||||||
if(s->pict_type == AV_PICTURE_TYPE_S && s->vol_sprite_usage==GMC_SPRITE){
|
if(s->pict_type == AV_PICTURE_TYPE_S && s->vol_sprite_usage==GMC_SPRITE){
|
||||||
if(mpeg4_decode_sprite_trajectory(s, &s->gb) < 0)
|
if (mpeg4_decode_sprite_trajectory(s, &s->gb) < 0)
|
||||||
return -1;
|
return AVERROR_INVALIDDATA;
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "untested\n");
|
av_log(s->avctx, AV_LOG_ERROR, "untested\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2100,8 +2100,8 @@ static int decode_vop_header(MpegEncContext *s, GetBitContext *gb){
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(s->pict_type == AV_PICTURE_TYPE_S && (s->vol_sprite_usage==STATIC_SPRITE || s->vol_sprite_usage==GMC_SPRITE)){
|
if(s->pict_type == AV_PICTURE_TYPE_S && (s->vol_sprite_usage==STATIC_SPRITE || s->vol_sprite_usage==GMC_SPRITE)){
|
||||||
if(mpeg4_decode_sprite_trajectory(s, gb) < 0)
|
if (mpeg4_decode_sprite_trajectory(s, gb) < 0)
|
||||||
return -1;
|
return AVERROR_INVALIDDATA;
|
||||||
if(s->sprite_brightness_change) av_log(s->avctx, AV_LOG_ERROR, "sprite_brightness_change not supported\n");
|
if(s->sprite_brightness_change) av_log(s->avctx, AV_LOG_ERROR, "sprite_brightness_change not supported\n");
|
||||||
if(s->vol_sprite_usage==STATIC_SPRITE) av_log(s->avctx, AV_LOG_ERROR, "static sprite not supported\n");
|
if(s->vol_sprite_usage==STATIC_SPRITE) av_log(s->avctx, AV_LOG_ERROR, "static sprite not supported\n");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user