Re: [RFC v3 12/13] V4L: s5k6a3: Change sensor min/max resolutions

2013-08-03 Thread Sylwester Nawrocki

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 Karun...@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_HEIGHT1402

#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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC v3 12/13] V4L: s5k6a3: Change sensor min/max resolutions

2013-08-02 Thread Arun Kumar K
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...@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_WIDTH32
 #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(
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html