Commit a93ae10e authored by bcoudurier's avatar bcoudurier

throw error if unsupported resolution is used with h261

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@7097 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 97cf97a2
...@@ -77,7 +77,7 @@ void ff_h261_loop_filter(MpegEncContext *s){ ...@@ -77,7 +77,7 @@ void ff_h261_loop_filter(MpegEncContext *s){
s->dsp.h261_loop_filter(dest_cr, uvlinesize); s->dsp.h261_loop_filter(dest_cr, uvlinesize);
} }
static int ff_h261_get_picture_format(int width, int height){ int ff_h261_get_picture_format(int width, int height){
// QCIF // QCIF
if (width == 176 && height == 144) if (width == 176 && height == 144)
return 0; return 0;
......
...@@ -1208,6 +1208,10 @@ int MPV_encode_init(AVCodecContext *avctx) ...@@ -1208,6 +1208,10 @@ int MPV_encode_init(AVCodecContext *avctx)
s->low_delay=1; s->low_delay=1;
break; break;
case CODEC_ID_H261: case CODEC_ID_H261:
if (ff_h261_get_picture_format(s->width, s->height) < 0) {
av_log(avctx, AV_LOG_ERROR, "The specified picture size of %dx%d is not valid for the H.261 codec.\nValid sizes are 176x144, 352x288\n", s->width, s->height);
return -1;
}
s->out_format = FMT_H261; s->out_format = FMT_H261;
avctx->delay=0; avctx->delay=0;
s->low_delay=1; s->low_delay=1;
......
...@@ -824,6 +824,7 @@ void ff_h261_encode_mb(MpegEncContext *s, ...@@ -824,6 +824,7 @@ void ff_h261_encode_mb(MpegEncContext *s,
int motion_x, int motion_y); int motion_x, int motion_y);
void ff_h261_encode_picture_header(MpegEncContext * s, int picture_number); void ff_h261_encode_picture_header(MpegEncContext * s, int picture_number);
void ff_h261_encode_init(MpegEncContext *s); void ff_h261_encode_init(MpegEncContext *s);
int ff_h261_get_picture_format(int width, int height);
/* h263.c, h263dec.c */ /* h263.c, h263dec.c */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment