diff options
author | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2008-12-28 14:41:19 +0000 |
---|---|---|
committer | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2008-12-28 14:41:19 +0000 |
commit | 5d91e9285339acaea7daf9e76932d5237cc771df (patch) | |
tree | c962860761513a47ef81ef4b047cc197099ebd4d /libavdevice | |
parent | ade8fb4d758977345df6d7e1c55a6cdc0394e019 (diff) | |
download | ffmpeg-5d91e9285339acaea7daf9e76932d5237cc771df.tar.gz |
Use avcodec_check_dimensions() for checking the frame size validity.
The v4l.c check is moved after the eventual automatic size detection,
so the check in that case is performed on the new set values.
Originally committed as revision 16370 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavdevice')
-rw-r--r-- | libavdevice/v4l.c | 8 | ||||
-rw-r--r-- | libavdevice/v4l2.c | 5 |
2 files changed, 4 insertions, 9 deletions
diff --git a/libavdevice/v4l.c b/libavdevice/v4l.c index 39844a913c..c2c67d0516 100644 --- a/libavdevice/v4l.c +++ b/libavdevice/v4l.c @@ -84,11 +84,6 @@ static int grab_read_header(AVFormatContext *s1, AVFormatParameters *ap) } s->time_base = ap->time_base; - if((unsigned)ap->width > 32767 || (unsigned)ap->height > 32767) { - av_log(s1, AV_LOG_ERROR, "Capture size is out of range: %dx%d\n", - ap->width, ap->height); - return -1; - } s->video_win.width = ap->width; s->video_win.height = ap->height; @@ -121,6 +116,9 @@ static int grab_read_header(AVFormatContext *s1, AVFormatParameters *ap) } } + if(avcodec_check_dimensions(s1, s->video_win.width, s->video_win.height) < 0) + return -1; + desired_palette = -1; desired_depth = -1; for (j = 0; j < vformat_num; j++) { diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c index 6819d9cc9f..d4eb7c874a 100644 --- a/libavdevice/v4l2.c +++ b/libavdevice/v4l2.c @@ -526,11 +526,8 @@ static int v4l2_read_header(AVFormatContext *s1, AVFormatParameters *ap) frame_rate = ap->time_base.den; frame_rate_base = ap->time_base.num; - if((unsigned)width > 32767 || (unsigned)height > 32767) { - av_log(s1, AV_LOG_ERROR, "Wrong size (%dx%d)\n", width, height); - + if(avcodec_check_dimensions(s1, ap->width, ap->height) < 0) return -1; - } st = av_new_stream(s1, 0); if (!st) { |