lkml.org 
[lkml]   [2019]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 2/2] media: atmel: atmel-isc: removed ARGB32 added ABGR32 and XBGR32
    Date
    From: Eugen Hristev <eugen.hristev@microchip.com>

    ISC will output the "ARGB32" configuration in byte order: B, G, R, Alpha.
    This is in fact the format BGRA, aka ABGR32.
    If alpha is missing, the same format is equivalent to XBGR32.
    Added both formats and removed ARGB32 which is wrong.

    Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
    ---

    with ov5640:


    ~# v4l2-ctl --list-formats
    ioctl: VIDIOC_ENUM_FMT
    Type: Video Capture

    [0]: 'AR12' (16-bit ARGB 4-4-4-4)
    [1]: 'AR15' (16-bit ARGB 1-5-5-5)
    [2]: 'RGBP' (16-bit RGB 5-6-5)
    [3]: 'AR24' (32-bit BGRA 8-8-8-8)
    [4]: 'XR24' (32-bit BGRX 8-8-8-8)
    [5]: 'YU12' (Planar YUV 4:2:0)
    [6]: 'YUYV' (YUYV 4:2:2)
    [7]: '422P' (Planar YUV 4:2:2)
    [8]: 'GREY' (8-bit Greyscale)
    [9]: 'BA81' (8-bit Bayer BGBG/GRGR)
    [10]: 'GBRG' (8-bit Bayer GBGB/RGRG)
    [11]: 'GRBG' (8-bit Bayer GRGR/BGBG)
    [12]: 'RGGB' (8-bit Bayer RGRG/GBGB)



    ~# v4l2-ctl --list-formats-ext
    ioctl: VIDIOC_ENUM_FMT
    Type: Video Capture

    [0]: 'AR12' (16-bit ARGB 4-4-4-4)
    Size: Discrete 176x144
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 320x240
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 640x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.017s (60.000 fps)
    Size: Discrete 720x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 720x576
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1024x768
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1280x720
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1920x1080
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 2592x1944
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    [1]: 'AR15' (16-bit ARGB 1-5-5-5)
    Size: Discrete 176x144
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 320x240
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 640x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.017s (60.000 fps)
    Size: Discrete 720x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 720x576
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1024x768
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1280x720
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1920x1080
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 2592x1944
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    [2]: 'RGBP' (16-bit RGB 5-6-5)
    Size: Discrete 176x144
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 320x240
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 640x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.017s (60.000 fps)
    Size: Discrete 720x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 720x576
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1024x768
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1280x720
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1920x1080
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 2592x1944
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    [3]: 'AR24' (32-bit BGRA 8-8-8-8)
    Size: Discrete 176x144
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 320x240
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 640x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.017s (60.000 fps)
    Size: Discrete 720x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 720x576
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1024x768
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1280x720
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1920x1080
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 2592x1944
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    [4]: 'XR24' (32-bit BGRX 8-8-8-8)
    Size: Discrete 176x144
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 320x240
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 640x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.017s (60.000 fps)
    Size: Discrete 720x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 720x576
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1024x768
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1280x720
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1920x1080
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 2592x1944
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    [5]: 'YU12' (Planar YUV 4:2:0)
    Size: Discrete 176x144
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 320x240
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 640x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.017s (60.000 fps)
    Size: Discrete 720x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 720x576
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1024x768
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1280x720
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1920x1080
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 2592x1944
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    [6]: 'YUYV' (YUYV 4:2:2)
    Size: Discrete 176x144
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 320x240
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 640x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.017s (60.000 fps)
    Size: Discrete 720x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 720x576
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1024x768
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1280x720
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1920x1080
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 2592x1944
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    [7]: '422P' (Planar YUV 4:2:2)
    Size: Discrete 176x144
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 320x240
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 640x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.017s (60.000 fps)
    Size: Discrete 720x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 720x576
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1024x768
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1280x720
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1920x1080
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 2592x1944
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    [8]: 'GREY' (8-bit Greyscale)
    Size: Discrete 176x144
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 320x240
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 640x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.017s (60.000 fps)
    Size: Discrete 720x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 720x576
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1024x768
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1280x720
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1920x1080
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 2592x1944
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    [9]: 'BA81' (8-bit Bayer BGBG/GRGR)
    Size: Discrete 176x144
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 320x240
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 640x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.017s (60.000 fps)
    Size: Discrete 720x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 720x576
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1024x768
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1280x720
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1920x1080
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 2592x1944
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    [10]: 'GBRG' (8-bit Bayer GBGB/RGRG)
    Size: Discrete 176x144
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 320x240
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 640x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.017s (60.000 fps)
    Size: Discrete 720x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 720x576
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1024x768
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1280x720
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1920x1080
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 2592x1944
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    [11]: 'GRBG' (8-bit Bayer GRGR/BGBG)
    Size: Discrete 176x144
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 320x240
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 640x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.017s (60.000 fps)
    Size: Discrete 720x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 720x576
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1024x768
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1280x720
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1920x1080
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 2592x1944
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    [12]: 'RGGB' (8-bit Bayer RGRG/GBGB)
    Size: Discrete 176x144
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 320x240
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 640x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.017s (60.000 fps)
    Size: Discrete 720x480
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 720x576
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1024x768
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1280x720
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 1920x1080
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)
    Size: Discrete 2592x1944
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.033s (30.000 fps)


    drivers/media/platform/atmel/atmel-isc.c | 14 ++++++++++----
    1 file changed, 10 insertions(+), 4 deletions(-)

    diff --git a/drivers/media/platform/atmel/atmel-isc.c b/drivers/media/platform/atmel/atmel-isc.c
    index f4ecb24..5d153a9 100644
    --- a/drivers/media/platform/atmel/atmel-isc.c
    +++ b/drivers/media/platform/atmel/atmel-isc.c
    @@ -228,7 +228,10 @@ static struct isc_format controller_formats[] = {
    .fourcc = V4L2_PIX_FMT_RGB565,
    },
    {
    - .fourcc = V4L2_PIX_FMT_ARGB32,
    + .fourcc = V4L2_PIX_FMT_ABGR32,
    + },
    + {
    + .fourcc = V4L2_PIX_FMT_XBGR32,
    },
    {
    .fourcc = V4L2_PIX_FMT_YUV420,
    @@ -1099,7 +1102,8 @@ static int isc_try_validate_formats(struct isc_device *isc)
    break;

    case V4L2_PIX_FMT_RGB565:
    - case V4L2_PIX_FMT_ARGB32:
    + case V4L2_PIX_FMT_ABGR32:
    + case V4L2_PIX_FMT_XBGR32:
    case V4L2_PIX_FMT_ARGB444:
    case V4L2_PIX_FMT_ARGB555:
    ret = 0;
    @@ -1183,7 +1187,8 @@ static int isc_try_configure_rlp_dma(struct isc_device *isc, bool direct_dump)
    isc->try_config.dctrl_dview = ISC_DCTRL_DVIEW_PACKED;
    isc->try_config.bpp = 16;
    break;
    - case V4L2_PIX_FMT_ARGB32:
    + case V4L2_PIX_FMT_ABGR32:
    + case V4L2_PIX_FMT_XBGR32:
    isc->try_config.rlp_cfg_mode = ISC_RLP_CFG_MODE_ARGB32;
    isc->try_config.dcfg_imode = ISC_DCFG_IMODE_PACKED32;
    isc->try_config.dctrl_dview = ISC_DCTRL_DVIEW_PACKED;
    @@ -1229,7 +1234,8 @@ static int isc_try_configure_pipeline(struct isc_device *isc)
    case V4L2_PIX_FMT_RGB565:
    case V4L2_PIX_FMT_ARGB555:
    case V4L2_PIX_FMT_ARGB444:
    - case V4L2_PIX_FMT_ARGB32:
    + case V4L2_PIX_FMT_ABGR32:
    + case V4L2_PIX_FMT_XBGR32:
    /* if sensor format is RAW, we convert inside ISC */
    if (ISC_IS_FORMAT_RAW(isc->try_config.sd_format->mbus_code)) {
    isc->try_config.bits_pipeline = CFA_ENABLE |
    --
    2.7.4
    \
     
     \ /
      Last update: 2019-03-13 08:26    [W:4.065 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site