[FFmpeg-cvslog] Changed indexing in libopenjpeg to shorten lines

Michael Bradshaw git at videolan.org
Thu Jan 19 23:31:13 CET 2012


ffmpeg | branch: master | Michael Bradshaw <mbradshaw at sorensonmedia.com> | Thu Jan 19 23:15:56 2012 +0100| [de0735502662c766c5cfccd8dca3473f3e77f65e] | committer: Carl Eugen Hoyos

Changed indexing in libopenjpeg to shorten lines

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

 libavcodec/libopenjpegenc.c |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/libavcodec/libopenjpegenc.c b/libavcodec/libopenjpegenc.c
index ad47611..30cc022 100644
--- a/libavcodec/libopenjpegenc.c
+++ b/libavcodec/libopenjpegenc.c
@@ -206,6 +206,8 @@ static int libopenjpeg_copy_packed8(AVCodecContext *avctx, AVFrame *frame, opj_i
     int compno;
     int x;
     int y;
+    int image_index;
+    int frame_index;
     const int numcomps = image->numcomps;
 
     for (compno = 0; compno < numcomps; ++compno) {
@@ -217,8 +219,11 @@ static int libopenjpeg_copy_packed8(AVCodecContext *avctx, AVFrame *frame, opj_i
 
     for (compno = 0; compno < numcomps; ++compno) {
         for (y = 0; y < avctx->height; ++y) {
+            image_index = y * avctx->width;
+            frame_index = y * frame->linesize[0] + compno;
             for (x = 0; x < avctx->width; ++x) {
-                image->comps[compno].data[y * avctx->width + x] = frame->data[0][y * frame->linesize[0] + x * numcomps + compno];
+                image->comps[compno].data[image_index++] = frame->data[0][frame_index];
+                frame_index += numcomps;
             }
         }
     }
@@ -231,6 +236,8 @@ static int libopenjpeg_copy_packed16(AVCodecContext *avctx, AVFrame *frame, opj_
     int compno;
     int x;
     int y;
+    int image_index;
+    int frame_index;
     const int numcomps = image->numcomps;
     uint16_t *frame_ptr = (uint16_t*)frame->data[0];
 
@@ -243,8 +250,11 @@ static int libopenjpeg_copy_packed16(AVCodecContext *avctx, AVFrame *frame, opj_
 
     for (compno = 0; compno < numcomps; ++compno) {
         for (y = 0; y < avctx->height; ++y) {
+            image_index = y * avctx->width;
+            frame_index = y * (frame->linesize[0] / 2) + compno;
             for (x = 0; x < avctx->width; ++x) {
-                image->comps[compno].data[y * avctx->width + x] = frame_ptr[y * frame->linesize[0] / 2 + x * numcomps + compno];
+                image->comps[compno].data[image_index++] = frame_ptr[frame_index];
+                frame_index += numcomps;
             }
         }
     }
@@ -259,6 +269,8 @@ static int libopenjpeg_copy_unpacked8(AVCodecContext *avctx, AVFrame *frame, opj
     int y;
     int width;
     int height;
+    int image_index;
+    int frame_index;
     const int numcomps = image->numcomps;
 
     for (compno = 0; compno < numcomps; ++compno) {
@@ -272,8 +284,10 @@ static int libopenjpeg_copy_unpacked8(AVCodecContext *avctx, AVFrame *frame, opj
         width = avctx->width / image->comps[compno].dx;
         height = avctx->height / image->comps[compno].dy;
         for (y = 0; y < height; ++y) {
+            image_index = y * width;
+            frame_index = y * frame->linesize[compno];
             for (x = 0; x < width; ++x) {
-                image->comps[compno].data[y * width + x] = frame->data[compno][y * frame->linesize[compno] + x];
+                image->comps[compno].data[image_index++] = frame->data[compno][frame_index++];
             }
         }
     }
@@ -288,6 +302,8 @@ static int libopenjpeg_copy_unpacked16(AVCodecContext *avctx, AVFrame *frame, op
     int y;
     int width;
     int height;
+    int image_index;
+    int frame_index;
     const int numcomps = image->numcomps;
     uint16_t *frame_ptr;
 
@@ -303,8 +319,10 @@ static int libopenjpeg_copy_unpacked16(AVCodecContext *avctx, AVFrame *frame, op
         height = avctx->height / image->comps[compno].dy;
         frame_ptr = (uint16_t*)frame->data[compno];
         for (y = 0; y < height; ++y) {
+            image_index = y * width;
+            frame_index = y * (frame->linesize[compno] / 2);
             for (x = 0; x < width; ++x) {
-                image->comps[compno].data[y * width + x] = frame_ptr[y * (frame->linesize[compno] / 2) + x];
+                image->comps[compno].data[image_index++] = frame_ptr[frame_index++];
             }
         }
     }



More information about the ffmpeg-cvslog mailing list