summaryrefslogtreecommitdiff
path: root/libavcodec/utils.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2012-03-23 15:03:03 -0700
committerAnton Khirnov <anton@khirnov.net>2012-03-24 21:29:16 +0100
commitbc1ef85520b6b5adc1361841c24218a9d74454e8 (patch)
tree283d109fcc6ff8e8c8b388c115d85759ab8dbca5 /libavcodec/utils.c
parente20ad71ebbf9fe1f1a0dbc0c4e98afa8a28dc88c (diff)
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.c9
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;