[FFmpeg-cvslog] libopenjpegenc: simplify switch statement

Michael Bradshaw git at videolan.org
Fri Feb 1 03:20:02 CET 2013


ffmpeg | branch: master | Michael Bradshaw <mjbshaw at gmail.com> | Thu Jan 31 16:03:58 2013 -0700| [28f36dce3e5c6be6b7f208362fca3531ed3cb50d] | committer: Michael Bradshaw

libopenjpegenc: simplify switch statement

Signed-off-by: Michael Bradshaw <mjbshaw at gmail.com>

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

 libavcodec/libopenjpegenc.c |   15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/libavcodec/libopenjpegenc.c b/libavcodec/libopenjpegenc.c
index 51a6016..2bbbae9 100644
--- a/libavcodec/libopenjpegenc.c
+++ b/libavcodec/libopenjpegenc.c
@@ -377,15 +377,6 @@ static int libopenjpeg_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
         cpyresult = libopenjpeg_copy_packed16(avctx, frame, image);
         break;
     case AV_PIX_FMT_GBR24P:
-        gbrframe = *frame;
-        gbrframe.data[0] = frame->data[2]; // swap to be rgb
-        gbrframe.data[1] = frame->data[0];
-        gbrframe.data[2] = frame->data[1];
-        gbrframe.linesize[0] = frame->linesize[2];
-        gbrframe.linesize[1] = frame->linesize[0];
-        gbrframe.linesize[2] = frame->linesize[1];
-        cpyresult = libopenjpeg_copy_unpacked8(avctx, &gbrframe, image);
-        break;
     case AV_PIX_FMT_GBRP9:
     case AV_PIX_FMT_GBRP10:
     case AV_PIX_FMT_GBRP12:
@@ -398,7 +389,11 @@ static int libopenjpeg_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
         gbrframe.linesize[0] = frame->linesize[2];
         gbrframe.linesize[1] = frame->linesize[0];
         gbrframe.linesize[2] = frame->linesize[1];
-        cpyresult = libopenjpeg_copy_unpacked16(avctx, &gbrframe, image);
+        if (avctx->pix_fmt == AV_PIX_FMT_GBR24P) {
+            cpyresult = libopenjpeg_copy_unpacked8(avctx, &gbrframe, image);
+        } else {
+            cpyresult = libopenjpeg_copy_unpacked16(avctx, &gbrframe, image);
+        }
         break;
     case AV_PIX_FMT_GRAY8:
     case AV_PIX_FMT_YUV410P:



More information about the ffmpeg-cvslog mailing list