[FFmpeg-cvslog] utvideo: Fix interlaced prediction for RGB utvideo.

Carl Eugen Hoyos git at videolan.org
Fri Jun 22 22:36:34 CEST 2012


ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Thu Jun 21 21:11:23 2012 +0000| [8875333707f43900c1a0fa54cca0789025dde70b] | committer: Derek Buitenhuis

utvideo: Fix interlaced prediction for RGB utvideo.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8875333707f43900c1a0fa54cca0789025dde70b
---

 libavcodec/utvideo.c |   15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/libavcodec/utvideo.c b/libavcodec/utvideo.c
index a3b0d7c..e5efa4a 100644
--- a/libavcodec/utvideo.c
+++ b/libavcodec/utvideo.c
@@ -439,10 +439,17 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size,
                                plane_start[i], c->frame_pred == PRED_LEFT);
             if (ret)
                 return ret;
-            if (c->frame_pred == PRED_MEDIAN)
-                restore_median(c->pic.data[0] + rgb_order[i], c->planes,
-                               c->pic.linesize[0], avctx->width, avctx->height,
-                               c->slices, 0);
+            if (c->frame_pred == PRED_MEDIAN) {
+                if (!c->interlaced) {
+                    restore_median(c->pic.data[0] + rgb_order[i], c->planes,
+                                   c->pic.linesize[0], avctx->width,
+                                   avctx->height, c->slices, 0);
+                } else {
+                    restore_median_il(c->pic.data[0] + rgb_order[i], c->planes,
+                                      c->pic.linesize[0], avctx->width,
+                                      avctx->height, c->slices, 0);
+                }
+            }
         }
         restore_rgb_planes(c->pic.data[0], c->planes, c->pic.linesize[0],
                            avctx->width, avctx->height);



More information about the ffmpeg-cvslog mailing list