Commit: fcbf89b4d61b4672c8aae38a4dd32a249a7ec0f2
Author: Campbell Barton
Date:   Tue Mar 17 16:17:36 2015 +1100
Branches: multiview
https://developer.blender.org/rBfcbf89b4d61b4672c8aae38a4dd32a249a7ec0f2

stereoimbuf: replace array with struct since index lookups

Index access weren't used anywhere and made it a little harder to follow.

===================================================================

M       source/blender/imbuf/intern/stereoimbuf.c

===================================================================

diff --git a/source/blender/imbuf/intern/stereoimbuf.c 
b/source/blender/imbuf/intern/stereoimbuf.c
index d263ecf..5183b68 100644
--- a/source/blender/imbuf/intern/stereoimbuf.c
+++ b/source/blender/imbuf/intern/stereoimbuf.c
@@ -57,8 +57,8 @@ static void imb_stereo_write_doit(struct Stereo3DData 
*s3d_data, struct Stereo3d
 static void imb_stereo_read_doit(struct Stereo3DData *s3d_data, struct 
Stereo3dFormat *s3d);
 
 typedef struct Stereo3DData {
-       float *rectf[3];
-       uchar *rect[3];
+       struct { float *left, *right, *stereo; } rectf;
+       struct { uchar *left, *right, *stereo; } rect;
        size_t x, y, channels;
        bool is_float;
 } Stereo3DData;
@@ -86,15 +86,15 @@ static void imb_stereo_write_anaglyph(Stereo3DData *s3d, 
enum eStereo3dAnaglyphT
        b = anaglyph_encoding[mode][2];
 
        if (s3d->is_float) {
-               float *rect_to = s3d->rectf[2];
-               float *rect_left = s3d->rectf[0];
-               float *rect_right = s3d->rectf[1];
+               float *rect_left  = s3d->rectf.left;
+               float *rect_right = s3d->rectf.right;
+               float *rect_to    = s3d->rectf.stereo;
 
                if (channels == 3) {
                        for (y = 0; y < height; y++) {
                                float *to = rect_to + stride_to * y * 3;
                                float *from[2] = {
-                                       rect_left + stride_from * y * 3,
+                                       rect_left  + stride_from * y * 3,
                                        rect_right + stride_from * y * 3,
                                };
 
@@ -109,7 +109,7 @@ static void imb_stereo_write_anaglyph(Stereo3DData *s3d, 
enum eStereo3dAnaglyphT
                        for (y = 0; y < height; y++) {
                                float *to = rect_to + stride_to * y * 4;
                                float *from[2] = {
-                                       rect_left + stride_from * y * 4,
+                                       rect_left  + stride_from * y * 4,
                                        rect_right + stride_from * y * 4,
                                };
 
@@ -123,15 +123,15 @@ static void imb_stereo_write_anaglyph(Stereo3DData *s3d, 
enum eStereo3dAnaglyphT
                }
        }
        else {
-               uchar *rect_to = s3d->rect[2];
-               uchar *rect_left = s3d->rect[0];
-               uchar *rect_right = s3d->rect[1];
+               uchar *rect_left  = s3d->rect.left;
+               uchar *rect_right = s3d->rect.right;
+               uchar *rect_to    = s3d->rect.stereo;
 
                if (channels == 3) {
                        for (y = 0; y < height; y++) {
                                uchar *to = rect_to + stride_to * y * 3;
                                uchar *from[2] = {
-                                       rect_left + stride_from * y * 3,
+                                       rect_left  + stride_from * y * 3,
                                        rect_right + stride_from * y * 3,
                                };
 
@@ -146,7 +146,7 @@ static void imb_stereo_write_anaglyph(Stereo3DData *s3d, 
enum eStereo3dAnaglyphT
                        for (y = 0; y < height; y++) {
                                uchar *to = rect_to + stride_to * y * 4;
                                uchar *from[2] = {
-                                       rect_left + stride_from * y * 4,
+                                       rect_left  + stride_from * y * 4,
                                        rect_right + stride_from * y * 4,
                                };
 
@@ -172,9 +172,9 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
        const int stride_to = width;
 
        if (s3d->is_float) {
-               float *rect_to = s3d->rectf[2];
-               const float *rect_left = s3d->rectf[0];
-               const float *rect_right = s3d->rectf[1];
+               const float *rect_left  = s3d->rectf.left;
+               const float *rect_right = s3d->rectf.right;
+               float       *rect_to    = s3d->rectf.stereo;
 
                switch (mode) {
                        case S3D_INTERLACE_ROW:
@@ -183,7 +183,7 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
                                for (y = 0; y < height; y++) {
                                        float *to = rect_to + stride_to * y * 
channels;
                                        const float *from[2] = {
-                                             rect_left + stride_from * y * 
channels,
+                                             rect_left  + stride_from * y * 
channels,
                                              rect_right + stride_from * y * 
channels,
                                        };
                                        memcpy(to, from[i], sizeof(float) * 
channels * stride_from);
@@ -197,7 +197,7 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
                                        for (y = 0; y < height; y++) {
                                                float *to = rect_to + stride_to 
* y;
                                                const float *from[2] = {
-                                                     rect_left + stride_from * 
y,
+                                                     rect_left  + stride_from 
* y,
                                                      rect_right + stride_from 
* y,
                                                };
 
@@ -212,7 +212,7 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
                                        for (y = 0; y < height; y++) {
                                                float *to = rect_to + stride_to 
* y * 3;
                                                const float *from[2] = {
-                                                     rect_left + stride_from * 
y * 3,
+                                                     rect_left  + stride_from 
* y * 3,
                                                      rect_right + stride_from 
* y * 3,
                                                };
 
@@ -227,7 +227,7 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
                                        for (y = 0; y < height; y++) {
                                                float *to = rect_to + stride_to 
* y * channels;
                                                const float *from[2] = {
-                                                     rect_left + stride_from * 
y * channels,
+                                                     rect_left  + stride_from 
* y * channels,
                                                      rect_right + stride_from 
* y * channels,
                                                };
 
@@ -247,7 +247,7 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
                                        for (y = 0; y < height; y++) {
                                                float *to = rect_to + stride_to 
* y;
                                                const float *from[2] = {
-                                                       rect_left + stride_from 
* y,
+                                                       rect_left  + 
stride_from * y,
                                                        rect_right + 
stride_from * y,
                                                };
                                                char j = i;
@@ -263,7 +263,7 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
                                        for (y = 0; y < height; y++) {
                                                float *to = rect_to + stride_to 
* y * 3;
                                                const float *from[2] = {
-                                                       rect_left + stride_from 
* y * 3,
+                                                       rect_left  + 
stride_from * y * 3,
                                                        rect_right + 
stride_from * y * 3,
                                                };
                                                char j = i;
@@ -279,7 +279,7 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
                                        for (y = 0; y < height; y++) {
                                                float *to = rect_to + stride_to 
* y * 4;
                                                const float *from[2] = {
-                                                       rect_left + stride_from 
* y * 4,
+                                                       rect_left  + 
stride_from * y * 4,
                                                        rect_right + 
stride_from * y * 4,
                                                };
                                                char j = i;
@@ -299,9 +299,9 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
                }
        }
        else {
-               uchar *rect_to = s3d->rect[2];
-               const uchar *rect_left = s3d->rect[0];
-               const uchar *rect_right = s3d->rect[1];
+               const uchar *rect_left  = s3d->rect.left;
+               const uchar *rect_right = s3d->rect.right;
+               uchar       *rect_to    = s3d->rect.stereo;
 
                switch (mode) {
                        case S3D_INTERLACE_ROW:
@@ -310,7 +310,7 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
                                for (y = 0; y < height; y++) {
                                        uchar *to = rect_to + stride_to * y * 
channels;
                                        const uchar *from[2] = {
-                                             rect_left + stride_from * y * 
channels,
+                                             rect_left  + stride_from * y * 
channels,
                                              rect_right + stride_from * y * 
channels,
                                        };
                                        memcpy(to, from[i], sizeof(uchar) * 
channels * stride_from);
@@ -324,7 +324,7 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
                                        for (y = 0; y < height; y++) {
                                                uchar *to = rect_to + stride_to 
* y;
                                                const uchar *from[2] = {
-                                                       rect_left + stride_from 
* y,
+                                                       rect_left  + 
stride_from * y,
                                                        rect_right + 
stride_from * y,
                                                };
                                                char i = (char) swap;
@@ -338,7 +338,7 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
                                        for (y = 0; y < height; y++) {
                                                uchar *to = rect_to + stride_to 
* y * 3;
                                                const uchar *from[2] = {
-                                                       rect_left + stride_from 
* y * 3,
+                                                       rect_left  + 
stride_from * y * 3,
                                                        rect_right + 
stride_from * y * 3,
                                                };
                                                char i = (char) swap;
@@ -352,7 +352,7 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
                                        for (y = 0; y < height; y++) {
                                                uchar *to = rect_to + stride_to 
* y * 4;
                                                const uchar *from[2] = {
-                                                       rect_left + stride_from 
* y * 4,
+                                                       rect_left  + 
stride_from * y * 4,
                                                        rect_right + 
stride_from * y * 4,
                                                };
                                                char i = (char) swap;
@@ -371,7 +371,7 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
                                        for (y = 0; y < height; y++) {
                                                uchar *to = rect_to + stride_to 
* y;
                                                const uchar *from[2] = {
-                                                       rect_left + stride_from 
* y,
+                                                       rect_left  + 
stride_from * y,
                                                        rect_right + 
stride_from * y,
                                                };
                                                char j = i;
@@ -387,7 +387,7 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
                                        for (y = 0; y < height; y++) {
                                                uchar *to = rect_to + stride_to 
* y * 3;
                                                const uchar *from[2] = {
-                                                       rect_left + stride_from 
* y * 3,
+                                                       rect_left  + 
stride_from * y * 3,
                                                        rect_right + 
stride_from * y * 3,
                                                };
                                                char j = i;
@@ -403,7 +403,7 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
                                        for (y = 0; y < height; y++) {
                                                uchar *to = rect_to + stride_to 
* y * 4;
                                                const uchar *from[2] = {
-                                                       rect_left + stride_from 
* y * 4,
+                                                       rect_left  + 
stride_from * y * 4,
                                                        rect_right + 
stride_from * y * 4,
                                                };
                                                char j = i;
@@ -424,7 +424,7 @@ static void imb_stereo_write_interlace(Stereo3DData *s3d, 
enum eStereo3dInterlac
        }
 }
 
-/* stereo output (s3d->rectf[2]) is always unsqueezed */
+/* stereo output (s3d->rectf.stereo) is always unsqueezed */
 static void imb_stereo_write_sidebyside(Stereo3DData *s3d, const bool 
crosseyed)
 {
        int y;
@@ -439,14 +439,14 @@ static void imb_stereo_write_sidebyside(Stereo3DData 
*s3d, const bool crosseyed)
        const int r = !l;
 
        if (s3d->is_float) {
-               float *rect_to = s3d->rectf[2];
-               const float *rect_left = s3d->rectf[0];
-               const float *rect_right = s3d->rectf[1];
+               const float *rect_left  = s3d->rectf.left;
+               const float *rect_right = s3d->rectf.right;
+               float       *rect_to    = s3d->rectf.stereo;
 
                for (y = 0; y < height; y++) {
                        float *to = rect_to + stride_to * y * channels;
                        const float *from[2] = {
-                           rect_left + stride_from * y * channels,
+                           rect_left  + stride_from * y * channels,
                            rect_right + stride_from * y * channels,
                        };
 
@@ -455,14 +455,14 @@ static void imb_stereo_write_sidebyside(Stereo3DData 
*s3d, const bool crosseyed)
                }
        }
        else {
-               u

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to