diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2012-03-23 15:03:03 -0700 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2012-03-24 21:29:16 +0100 |
commit | bc1ef85520b6b5adc1361841c24218a9d74454e8 (patch) | |
tree | 283d109fcc6ff8e8c8b388c115d85759ab8dbca5 /libavcodec/utils.c | |
parent | e20ad71ebbf9fe1f1a0dbc0c4e98afa8a28dc88c (diff) | |
download | ffmpeg-bc1ef85520b6b5adc1361841c24218a9d74454e8.tar.gz |
lavc/avconv: support changing frame sizes in codecs with frame mt.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'libavcodec/utils.c')
-rw-r--r-- | libavcodec/utils.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/libavcodec/utils.c b/libavcodec/utils.c index a638bbfc91..7d50bd51d0 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -392,11 +392,6 @@ static int video_get_buffer(AVCodecContext *s, AVFrame *pic) buf = &avci->buffer[avci->buffer_count]; if(buf->base[0] && (buf->width != w || buf->height != h || buf->pix_fmt != s->pix_fmt)){ - if(s->active_thread_type&FF_THREAD_FRAME) { - av_log_missing_feature(s, "Width/height changing with frame threads is", 0); - return -1; - } - for (i = 0; i < AV_NUM_DATA_POINTERS; i++) { av_freep(&buf->base[i]); buf->data[i]= NULL; @@ -480,6 +475,10 @@ static int video_get_buffer(AVCodecContext *s, AVFrame *pic) } pic->extended_data = pic->data; avci->buffer_count++; + pic->width = buf->width; + pic->height = buf->height; + pic->format = buf->pix_fmt; + pic->sample_aspect_ratio = s->sample_aspect_ratio; if(s->pkt) pic->pkt_pts= s->pkt->pts; else pic->pkt_pts= AV_NOPTS_VALUE; |