From cd840656c2bc4b8f6aae883085a0ec0a5e4785f9 Mon Sep 17 00:00:00 2001
From: Jai Menon <jmenon86@gmail.com>
Date: Tue, 26 May 2009 17:04:28 +0000
Subject: [PATCH] Add lowres support to the libopenjpeg wrapper. Fixes issue
 1097.

Originally committed as revision 18955 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/libopenjpeg.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavcodec/libopenjpeg.c b/libavcodec/libopenjpeg.c
index 2c30c3000af..075bf1ccfe5 100644
--- a/libavcodec/libopenjpeg.c
+++ b/libavcodec/libopenjpeg.c
@@ -89,6 +89,7 @@ static int libopenjpeg_decode_frame(AVCodecContext *avctx,
     }
     opj_set_event_mgr((opj_common_ptr)dec, NULL, NULL);
 
+    ctx->dec_params.cp_reduce = avctx->lowres;
     // Tie decoder with decoding parameters
     opj_setup_decoder(dec, &ctx->dec_params);
     stream = opj_cio_open((opj_common_ptr)dec, buf, buf_size);
@@ -106,8 +107,8 @@ static int libopenjpeg_decode_frame(AVCodecContext *avctx,
         opj_destroy_decompress(dec);
         return -1;
     }
-    width  = image->comps[0].w;
-    height = image->comps[0].h;
+    width  = image->comps[0].w << avctx->lowres;
+    height = image->comps[0].h << avctx->lowres;
     if(avcodec_check_dimensions(avctx, width, height) < 0) {
         av_log(avctx, AV_LOG_ERROR, "%dx%d dimension invalid.\n", width, height);
         goto done;
-- 
GitLab