rv34: error out on size changes with frame threading
authorJanne Grunau <janne-libav@jannau.net>
Fri, 23 Mar 2012 21:30:38 +0000 (22:30 +0100)
committerJanne Grunau <janne-libav@jannau.net>
Fri, 23 Mar 2012 22:11:55 +0000 (23:11 +0100)
libavcodec/rv34.c

index f9ea40d..da5d437 100644 (file)
@@ -1662,6 +1662,13 @@ int ff_rv34_decode_frame(AVCodecContext *avctx,
         if (s->width != si.width || s->height != si.height) {
             int err;
 
+            if (HAVE_THREADS &&
+                (s->avctx->active_thread_type & FF_THREAD_FRAME)) {
+                av_log_missing_feature(s->avctx, "Width/height changing with "
+                                       "frame threading is", 0);
+                return AVERROR_PATCHWELCOME;
+            }
+
             av_log(s->avctx, AV_LOG_WARNING, "Changing dimensions to %dx%d\n",
                    si.width, si.height);
             ff_MPV_common_end(s);