OSDN Git Service

media: staging/intel-ipu3: update minimal GDC envelope size to 4
authorBingbu Cao <bingbu.cao@intel.com>
Fri, 17 May 2019 03:33:34 +0000 (23:33 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 23 May 2019 14:18:19 +0000 (10:18 -0400)
The ipu3 GDC function need some envelope to do filtering and the
minimal envelope size(GDC in - out) for ipu3 should be 4.
Current value 4 was defined for older version GDC, this patch
correct it.

Signed-off-by: Bingbu Cao <bingbu.cao@intel.com>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/staging/media/ipu3/ipu3-css.c

index 23cf5b2..fd1ed84 100644 (file)
@@ -24,9 +24,8 @@
 #define IPU3_CSS_MAX_H         3136
 #define IPU3_CSS_MAX_W         4224
 
-/* filter size from graph settings is fixed as 4 */
-#define FILTER_SIZE             4
-#define MIN_ENVELOPE            8
+/* minimal envelope size(GDC in - out) should be 4 */
+#define MIN_ENVELOPE            4
 
 /*
  * pre-allocated buffer size for CSS ABI, auxiliary frames
@@ -1827,9 +1826,9 @@ int imgu_css_fmt_try(struct imgu_css *css,
        vf->width   = imgu_css_adjust(vf->width, VF_ALIGN_W);
        vf->height  = imgu_css_adjust(vf->height, 1);
 
-       s = (bds->width - gdc->width) / 2 - FILTER_SIZE;
+       s = (bds->width - gdc->width) / 2;
        env->width = s < MIN_ENVELOPE ? MIN_ENVELOPE : s;
-       s = (bds->height - gdc->height) / 2 - FILTER_SIZE;
+       s = (bds->height - gdc->height) / 2;
        env->height = s < MIN_ENVELOPE ? MIN_ENVELOPE : s;
 
        ret = imgu_css_find_binary(css, pipe, q, r);
@@ -2251,9 +2250,8 @@ int imgu_css_set_parameters(struct imgu_css *css, unsigned int pipe,
                                css_pipe->aux_frames[a].height,
                                css_pipe->rect[g].width,
                                css_pipe->rect[g].height,
-                               css_pipe->rect[e].width + FILTER_SIZE,
-                               css_pipe->rect[e].height +
-                               FILTER_SIZE);
+                               css_pipe->rect[e].width,
+                               css_pipe->rect[e].height);
                }
        }