Commit: 9c30eaa6753e7d18eb1224a193fb7ddda9bf13f5
Author: Campbell Barton
Date:   Tue Mar 17 15:50:32 2015 +1100
Branches: multiview
https://developer.blender.org/rB9c30eaa6753e7d18eb1224a193fb7ddda9bf13f5

Cleanup: imbuf API

use extra arg for IMB_ImBufFromStereo which used the first argument for both 
input and output.
also no need to use pointer-to-pointer in function body.

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

M       source/blender/blenkernel/intern/image.c
M       source/blender/blenkernel/intern/sequencer.c
M       source/blender/imbuf/IMB_imbuf.h
M       source/blender/imbuf/intern/stereoimbuf.c

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

diff --git a/source/blender/blenkernel/intern/image.c 
b/source/blender/blenkernel/intern/image.c
index 4226bfc..7be2669 100644
--- a/source/blender/blenkernel/intern/image.c
+++ b/source/blender/blenkernel/intern/image.c
@@ -3105,7 +3105,7 @@ static ImBuf *image_load_sequence_file(Image *ima, 
ImageUser *iuser, int frame)
                        ibuf_arr[i] = load_sequence_single(ima, iuser, frame, 
i, &assign);
 
                if ((ima->flag & IMA_IS_STEREO) && ima->views_format == 
R_IMF_VIEWS_STEREO_3D)
-                       IMB_ImBufFromStereo(ima->stereo3d_format, &ibuf_arr[0], 
&ibuf_arr[1]);
+                       IMB_ImBufFromStereo(ima->stereo3d_format, ibuf_arr[0], 
&ibuf_arr[0], &ibuf_arr[1]);
 
                /* return the original requested ImBuf */
                ibuf = ibuf_arr[(iuser ? iuser->multi_index : 0)];
@@ -3270,7 +3270,7 @@ static ImBuf *image_load_movie_file(Image *ima, ImageUser 
*iuser, int frame)
                }
 
                if ((ima->flag & IMA_IS_STEREO) && ima->views_format == 
R_IMF_VIEWS_STEREO_3D)
-                       IMB_ImBufFromStereo(ima->stereo3d_format, &ibuf_arr[0], 
&ibuf_arr[1]);
+                       IMB_ImBufFromStereo(ima->stereo3d_format, ibuf_arr[0], 
&ibuf_arr[0], &ibuf_arr[1]);
 
                for (i = 0; i < totviews; i++) {
                        if (ibuf_arr[i]) {
@@ -3423,7 +3423,7 @@ static ImBuf *image_load_image_file(Image *ima, ImageUser 
*iuser, int cfra)
                        ibuf_arr[i] = load_image_single(ima, iuser, cfra, i, 
has_packed, &assign);
 
                if ((ima->flag & IMA_IS_STEREO) && ima->views_format == 
R_IMF_VIEWS_STEREO_3D)
-                       IMB_ImBufFromStereo(ima->stereo3d_format, &ibuf_arr[0], 
&ibuf_arr[1]);
+                       IMB_ImBufFromStereo(ima->stereo3d_format, ibuf_arr[0], 
&ibuf_arr[0], &ibuf_arr[1]);
 
                /* return the original requested ImBuf */
                i = MIN2(iuser ? iuser->multi_index : 0, totviews - 1);
diff --git a/source/blender/blenkernel/intern/sequencer.c 
b/source/blender/blenkernel/intern/sequencer.c
index 4018962..1269d66 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -3069,7 +3069,7 @@ static ImBuf *do_render_strip_uncached(const 
SeqRenderData *context, Sequence *s
                                }
 
                                if (seq->views_format == R_IMF_VIEWS_STEREO_3D 
&& ibufs_arr[0])
-                                       
IMB_ImBufFromStereo(seq->stereo3d_format, &ibufs_arr[0], &ibufs_arr[1]);
+                                       
IMB_ImBufFromStereo(seq->stereo3d_format, ibufs_arr[0], &ibufs_arr[0], 
&ibufs_arr[1]);
 
                                for (i = 0; i < totviews; i++) {
                                        if (ibufs_arr[i]) {
@@ -3163,7 +3163,7 @@ monoview_image:
 
                                if (seq->views_format == R_IMF_VIEWS_STEREO_3D) 
{
                                        if (ibuf_arr[0]) {
-                                               
IMB_ImBufFromStereo(seq->stereo3d_format, &ibuf_arr[0], &ibuf_arr[1]);
+                                               
IMB_ImBufFromStereo(seq->stereo3d_format, ibuf_arr[0], &ibuf_arr[0], 
&ibuf_arr[1]);
                                        }
                                        else {
                                                /* probably proxy hasn't been 
created yet */
diff --git a/source/blender/imbuf/IMB_imbuf.h b/source/blender/imbuf/IMB_imbuf.h
index 7bed483..b795a3c 100644
--- a/source/blender/imbuf/IMB_imbuf.h
+++ b/source/blender/imbuf/IMB_imbuf.h
@@ -572,13 +572,25 @@ const char *IMB_ffmpeg_last_error(void);
 
 /**
  *
- * \attention Defined in stereoimbuf.c
- */
-void IMB_stereo_write_dimensions(const char mode, const bool is_squeezed, 
const size_t width, const size_t height, size_t *r_width, size_t *r_height);
-void IMB_stereo_read_dimensions(const char mode, const bool is_squeezed, const 
size_t width, const size_t height, size_t *r_width, size_t *r_height);
-int *IMB_stereo_from_rect(struct ImageFormatData *im_format, const size_t x, 
const size_t y, const size_t channels, int *left, int *right);
-float *IMB_stereo_from_rectf(struct ImageFormatData *im_format, const size_t 
x, const size_t y, const size_t channels, float *left, float *right);
-struct ImBuf *IMB_stereoImBuf(struct ImageFormatData *im_format, struct ImBuf 
*left, struct ImBuf *right);
-void IMB_ImBufFromStereo(struct Stereo3dFormat *s3d, struct ImBuf **left, 
struct ImBuf **right);
-#endif
+ * \attention defined in stereoimbuf.c
+ */
+void IMB_stereo_write_dimensions(
+        const char mode, const bool is_squeezed, const size_t width, const 
size_t height,
+        size_t *r_width, size_t *r_height);
+void IMB_stereo_read_dimensions(
+        const char mode, const bool is_squeezed, const size_t width, const 
size_t height,
+        size_t *r_width, size_t *r_height);
+int *IMB_stereo_from_rect(
+        struct ImageFormatData *im_format, const size_t x, const size_t y, 
const size_t channels,
+        int *rect_left, int *rect_right);
+float *IMB_stereo_from_rectf(
+        struct ImageFormatData *im_format, const size_t x, const size_t y, 
const size_t channels,
+        float *rectf_left, float *rectf_right);
+struct ImBuf *IMB_stereoImBuf(
+        struct ImageFormatData *im_format,
+        struct ImBuf *ibuf_left, struct ImBuf *ibuf_right);
+void IMB_ImBufFromStereo(
+        struct Stereo3dFormat *s3d, struct ImBuf *ibuf_stereo,
+        struct ImBuf **r_ibuf_left, struct ImBuf **r_ibuf_right);
 
+#endif
diff --git a/source/blender/imbuf/intern/stereoimbuf.c 
b/source/blender/imbuf/intern/stereoimbuf.c
index 4090e38..11142c8 100644
--- a/source/blender/imbuf/intern/stereoimbuf.c
+++ b/source/blender/imbuf/intern/stereoimbuf.c
@@ -519,7 +519,9 @@ static void imb_stereo_write_topbottom(Stereo3DData *s3d)
 
 /**************************** dimension utils 
****************************************/
 
-void IMB_stereo_write_dimensions(const char mode, const bool is_squeezed, 
const size_t width, const size_t height, size_t *r_width, size_t *r_height)
+void IMB_stereo_write_dimensions(
+        const char mode, const bool is_squeezed, const size_t width, const 
size_t height,
+        size_t *r_width, size_t *r_height)
 {
        switch (mode) {
                case S3D_DISPLAY_BLURAY:
@@ -550,7 +552,9 @@ void IMB_stereo_write_dimensions(const char mode, const 
bool is_squeezed, const
        }
 }
 
-void IMB_stereo_read_dimensions(const char mode, const bool is_squeezed, const 
size_t width, const size_t height, size_t *r_width, size_t *r_height)
+void IMB_stereo_read_dimensions(
+        const char mode, const bool is_squeezed, const size_t width, const 
size_t height,
+        size_t *r_width, size_t *r_height)
 {
        switch (mode) {
                case S3D_DISPLAY_BLURAY:
@@ -621,9 +625,9 @@ static void imb_stereo_squeeze_rectf(float *rectf, 
Stereo3dFormat *s3d, const si
        ibuf = IMB_allocImBuf(width, height, channels, IB_rectfloat);
 
        IMB_buffer_float_from_float(
-                  ibuf->rect_float, rectf, channels,
-                  IB_PROFILE_LINEAR_RGB, IB_PROFILE_LINEAR_RGB, false,
-                  width, height, width, width);
+               ibuf->rect_float, rectf, channels,
+               IB_PROFILE_LINEAR_RGB, IB_PROFILE_LINEAR_RGB, false,
+               width, height, width, width);
 
        IMB_scaleImBuf_threaded(ibuf, x, y);
        rectf = MEM_dupallocN(ibuf->rect_float);
@@ -646,9 +650,9 @@ static void imb_stereo_squeeze_rect(int *rect, 
Stereo3dFormat *s3d, const size_t
        ibuf = IMB_allocImBuf(width, height, channels, IB_rect);
 
        IMB_buffer_byte_from_byte(
-                   (unsigned char *)ibuf->rect, (unsigned char *)rect,
-                   IB_PROFILE_SRGB, IB_PROFILE_SRGB, false,
-                   width, height, width, width);
+               (unsigned char *)ibuf->rect, (unsigned char *)rect,
+               IB_PROFILE_SRGB, IB_PROFILE_SRGB, false,
+               width, height, width, width);
 
        IMB_scaleImBuf_threaded(ibuf, x, y);
        rect = MEM_dupallocN(ibuf->rect);
@@ -658,24 +662,27 @@ static void imb_stereo_squeeze_rect(int *rect, 
Stereo3dFormat *s3d, const size_t
 
 /*************************** preparing to call the write functions 
**************************/
 
-static void imb_stereo_data_initialize(Stereo3DData *s3d_data, const bool 
is_float,
-                                       const size_t x, const size_t y, const 
size_t channels,
-                                       int *left_rect, int *right_rect, int 
*stereo_rect,
-                                       float *left_rectf, float *right_rectf, 
float *stereo_rectf)
+static void imb_stereo_data_initialize(
+        Stereo3DData *s3d_data, const bool is_float,
+        const size_t x, const size_t y, const size_t channels,
+        int *rect_left, int *rect_right, int *rect_stereo,
+        float *rectf_left, float *rectf_right, float *rectf_stereo)
 {
        s3d_data->is_float = is_float;
        s3d_data->x = x;
        s3d_data->y = y;
        s3d_data->channels = channels;
-       s3d_data->rect[0] = (uchar *)left_rect;
-       s3d_data->rect[1] = (uchar *)right_rect;
-       s3d_data->rect[2] = (uchar *)stereo_rect;
-       s3d_data->rectf[0] = left_rectf;
-       s3d_data->rectf[1] = right_rectf;
-       s3d_data->rectf[2] = stereo_rectf;
+       s3d_data->rect[0] = (uchar *)rect_left;
+       s3d_data->rect[1] = (uchar *)rect_right;
+       s3d_data->rect[2] = (uchar *)rect_stereo;
+       s3d_data->rectf[0] = rectf_left;
+       s3d_data->rectf[1] = rectf_right;
+       s3d_data->rectf[2] = rectf_stereo;
 }
 
-int *IMB_stereo_from_rect(ImageFormatData *im_format, const size_t x, const 
size_t y, const size_t channels, int *left, int *right)
+int *IMB_stereo_from_rect(
+        ImageFormatData *im_format, const size_t x, const size_t y, const 
size_t channels,
+        int *rect_left, int *rect_right)
 {
        int *r_rect;
        Stereo3DData s3d_data = {{NULL}};
@@ -685,14 +692,16 @@ int *IMB_stereo_from_rect(ImageFormatData *im_format, 
const size_t x, const size
        IMB_stereo_write_dimensions(im_format->stereo3d_format.display_mode, 
false, x, y, &width, &height);
        r_rect = MEM_mallocN(channels * sizeof(int) * width * height, __func__);
 
-       imb_stereo_data_initialize(&s3d_data, is_float, x, y, channels, left, 
right, r_rect, NULL, NULL, NULL);
+       imb_stereo_data_initialize(&s3d_data, is_float, x, y, channels, 
rect_left, rect_right, r_rect, NULL, NULL, NULL);
        imb_stereo_write_doit(&s3d_data, &im_format->stereo3d_format);
        imb_stereo_squeeze_rect(r_rect, &im_format->stereo3d_format, x, y, 
channels);
 
        return r_rect;
 }
 
-float *IMB_stereo_from_rectf(ImageFormatData *im_format, const size_t x, const 
size_t y, const size_t channels, float *left, float *right)
+float *IMB_stereo_from_rectf(
+        ImageFormatData *im_format, const size_t x, const size_t y, const 
size_t channels,
+        float *rectf_left, float *rectf_right)
 {
        float *r_rectf;
        Stereo3DData s3d_data = {{NULL}};
@@ -702,7 +711,7 @@ float *IMB_stereo_from_rectf(ImageFormatData *im_format, 
const size_t x, const s
        IMB_stereo_write_dimensions

@@ 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