summaryrefslogtreecommitdiff
path: root/libavcodec/utvideo.c
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <cehoyos@ag.or.at>2012-06-21 21:11:23 +0000
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>2012-06-22 11:45:25 -0400
commit8875333707f43900c1a0fa54cca0789025dde70b (patch)
treea00443c074ead8f97895a3729aed2332a14e48cf /libavcodec/utvideo.c
parenta5a93fa8f5aad3a1e6e71b95eaef96b734ba0dd3 (diff)
utvideo: Fix interlaced prediction for RGB utvideo.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Diffstat (limited to 'libavcodec/utvideo.c')
-rw-r--r--libavcodec/utvideo.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/libavcodec/utvideo.c b/libavcodec/utvideo.c
index a3b0d7cf01..e5efa4a7ec 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);