[media] omap3isp: preview: Remove horizontal averager support
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Wed, 21 Sep 2011 10:54:44 +0000 (07:54 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 3 Nov 2011 20:33:49 +0000 (18:33 -0200)
The horizontal averager isn't used and will get in the way when
implementing cropping support on the input pad. Remove it, it can be
added back later if needed.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/omap3isp/isppreview.c
drivers/media/video/omap3isp/isppreview.h

index b3818356b6f3196f79d203dfbd0316435e36d75b..c920c1e17ae93dba2b70c8881af43e26240ed324 100644 (file)
@@ -1228,7 +1228,6 @@ static void preview_init_params(struct isp_prev_device *prev)
        /* Init values */
        params->contrast = ISPPRV_CONTRAST_DEF * ISPPRV_CONTRAST_UNITS;
        params->brightness = ISPPRV_BRIGHT_DEF * ISPPRV_BRIGHT_UNITS;
-       params->average = NO_AVE;
        params->cfa.format = OMAP3ISP_CFAFMT_BAYER;
        memcpy(params->cfa.table, cfa_coef_table,
               sizeof(params->cfa.table));
@@ -1297,7 +1296,6 @@ static void preview_configure(struct isp_prev_device *prev)
        struct isp_device *isp = to_isp_device(prev);
        struct v4l2_mbus_framefmt *format;
        unsigned int max_out_width;
-       unsigned int format_avg;
 
        preview_setup_hw(prev);
 
@@ -1337,8 +1335,7 @@ static void preview_configure(struct isp_prev_device *prev)
 
        max_out_width = preview_max_out_width(prev);
 
-       format_avg = fls(DIV_ROUND_UP(format->width, max_out_width) - 1);
-       preview_config_averager(prev, format_avg);
+       preview_config_averager(prev, 0);
        preview_config_ycpos(prev, format->code);
 }
 
@@ -1642,7 +1639,7 @@ static void preview_try_format(struct isp_prev_device *prev,
                 */
                if (prev->input == PREVIEW_INPUT_MEMORY) {
                        fmt->width = clamp_t(u32, fmt->width, PREV_MIN_WIDTH,
-                                            max_out_width * 8);
+                                            max_out_width);
                        fmt->height = clamp_t(u32, fmt->height, PREV_MIN_HEIGHT,
                                              PREV_MAX_HEIGHT);
                }
@@ -1689,17 +1686,6 @@ static void preview_try_format(struct isp_prev_device *prev,
                if (prev->input == PREVIEW_INPUT_CCDC)
                        fmt->width -= 4;
 
-               /* The preview module can output a maximum of 3312 pixels
-                * horizontally due to fixed memory-line sizes. Compute the
-                * horizontal averaging factor accordingly. Note that the limit
-                * applies to the noise filter and CFA interpolation blocks, so
-                * it doesn't take cropping by further blocks into account.
-                *
-                * ES 1.0 hardware revision is limited to 1280 pixels
-                * horizontally.
-                */
-               fmt->width >>= fls(DIV_ROUND_UP(fmt->width, max_out_width) - 1);
-
                /* Assume that all blocks are enabled and crop pixels and lines
                 * accordingly. See preview_config_input_size() for more
                 * information.
index fa943bd05c7fa3559cb05d7944c6cff55f9abd5b..272a44a2b9bcbf48a60fe7d3bc580be0a4f2888d 100644 (file)
 #define ISPPRV_CONTRAST_HIGH           0xFF
 #define ISPPRV_CONTRAST_UNITS          0x1
 
-#define NO_AVE                         0x0
-#define AVE_2_PIX                      0x1
-#define AVE_4_PIX                      0x2
-#define AVE_8_PIX                      0x3
-
 /* Features list */
 #define PREV_LUMA_ENHANCE              OMAP3ISP_PREV_LUMAENH
 #define PREV_INVERSE_ALAW              OMAP3ISP_PREV_INVALAW
@@ -106,7 +101,6 @@ enum preview_ycpos_mode {
  * @rgb2ycbcr: RGB to ycbcr parameters.
  * @hmed: Horizontal median filter.
  * @yclimit: YC limits parameters.
- * @average: Downsampling rate for averager.
  * @contrast: Contrast.
  * @brightness: Brightness.
  */
@@ -124,7 +118,6 @@ struct prev_params {
        struct omap3isp_prev_csc rgb2ycbcr;
        struct omap3isp_prev_hmed hmed;
        struct omap3isp_prev_yclimit yclimit;
-       u8 average;
        u8 contrast;
        u8 brightness;
 };