Message ID | 1375455762-22071-13-git-send-email-arun.kk@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Arun, On 08/02/2013 05:02 PM, Arun Kumar K wrote: > s5k6a3 sensor has actual pixel resolution of 1408x1402 against > the active resolution 1392x1392. The real resolution is needed > when raw sensor SRGB data is dumped to memory by fimc-lite. > > Signed-off-by: Arun Kumar K<arun.kk@samsung.com> > --- > drivers/media/i2c/s5k6a3.c | 14 ++++++++++---- > 1 file changed, 10 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/i2c/s5k6a3.c b/drivers/media/i2c/s5k6a3.c > index ccbb4fc..d81638d 100644 > --- a/drivers/media/i2c/s5k6a3.c > +++ b/drivers/media/i2c/s5k6a3.c > @@ -30,6 +30,9 @@ > #define S5K6A3_SENSOR_MIN_WIDTH 32 > #define S5K6A3_SENSOR_MIN_HEIGHT 32 > > +#define S5K6A3_WIDTH_PADDING 16 > +#define S5K6A3_HEIGHT_PADDING 10 How about instead defining MAX and ACTIVE sizes, e.g. #define S5K6A3_SENSOR_MAX_WIDTH 1408 #define S5K6A3_SENSOR_MAX_HEIGHT 1402 #define S5K6A3_SENSOR_ACTIVE_WIDTH 1392 #define S5K6A3_SENSOR_ACTIVE_HEIGHT 1392 > #define S5K6A3_DEF_PIX_WIDTH 1296 > #define S5K6A3_DEF_PIX_HEIGHT 732 I'm going to remove "_PIX" from those macros in next iteration. > @@ -107,10 +110,13 @@ static void s5k6a3_try_format(struct v4l2_mbus_framefmt *mf) > > fmt = find_sensor_format(mf); > mf->code = fmt->code; > - v4l_bound_align_image(&mf->width, S5K6A3_SENSOR_MIN_WIDTH, > - S5K6A3_SENSOR_MAX_WIDTH, 0, > - &mf->height, S5K6A3_SENSOR_MIN_HEIGHT, > - S5K6A3_SENSOR_MAX_HEIGHT, 0, 0); > + v4l_bound_align_image(&mf->width, > + S5K6A3_SENSOR_MIN_WIDTH + S5K6A3_WIDTH_PADDING, > + S5K6A3_SENSOR_MAX_WIDTH + S5K6A3_WIDTH_PADDING, 0, > + &mf->height, > + S5K6A3_SENSOR_MIN_HEIGHT + S5K6A3_HEIGHT_PADDING, > + S5K6A3_SENSOR_MAX_HEIGHT + S5K6A3_HEIGHT_PADDING, 0, > + 0); Then this would become: v4l_bound_align_image(&mf->width, S5K6A3_SENSOR_MIN_WIDTH + S5K6A3_WIDTH_PADDING, S5K6A3_SENSOR_MAX_WIDTH, 0, &mf->height, S5K6A3_SENSOR_MIN_HEIGHT + S5K6A3_HEIGHT_PADDING, S5K6A3_SENSOR_MAX_HEIGHT, 0, 0); I'm not sure about minimal width/height, perhaps we could just define it as: #define S5K6A3_SENSOR_MIN_WIDTH (32 + 10) #define S5K6A3_SENSOR_MIN_HEIGHT (32 + 8) ? I'll also double check with the documentation if the original 32x23 value is really correct. -- Regards, Sylwester -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/media/i2c/s5k6a3.c b/drivers/media/i2c/s5k6a3.c index ccbb4fc..d81638d 100644 --- a/drivers/media/i2c/s5k6a3.c +++ b/drivers/media/i2c/s5k6a3.c @@ -30,6 +30,9 @@ #define S5K6A3_SENSOR_MIN_WIDTH 32 #define S5K6A3_SENSOR_MIN_HEIGHT 32 +#define S5K6A3_WIDTH_PADDING 16 +#define S5K6A3_HEIGHT_PADDING 10 + #define S5K6A3_DEF_PIX_WIDTH 1296 #define S5K6A3_DEF_PIX_HEIGHT 732 @@ -107,10 +110,13 @@ static void s5k6a3_try_format(struct v4l2_mbus_framefmt *mf) fmt = find_sensor_format(mf); mf->code = fmt->code; - v4l_bound_align_image(&mf->width, S5K6A3_SENSOR_MIN_WIDTH, - S5K6A3_SENSOR_MAX_WIDTH, 0, - &mf->height, S5K6A3_SENSOR_MIN_HEIGHT, - S5K6A3_SENSOR_MAX_HEIGHT, 0, 0); + v4l_bound_align_image(&mf->width, + S5K6A3_SENSOR_MIN_WIDTH + S5K6A3_WIDTH_PADDING, + S5K6A3_SENSOR_MAX_WIDTH + S5K6A3_WIDTH_PADDING, 0, + &mf->height, + S5K6A3_SENSOR_MIN_HEIGHT + S5K6A3_HEIGHT_PADDING, + S5K6A3_SENSOR_MAX_HEIGHT + S5K6A3_HEIGHT_PADDING, 0, + 0); } static struct v4l2_mbus_framefmt *__s5k6a3_get_format(
s5k6a3 sensor has actual pixel resolution of 1408x1402 against the active resolution 1392x1392. The real resolution is needed when raw sensor SRGB data is dumped to memory by fimc-lite. Signed-off-by: Arun Kumar K <arun.kk@samsung.com> --- drivers/media/i2c/s5k6a3.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)