Re: [PATCH v9 1/4] media: videodev2.h, v4l2-ioctl: add rkisp1 meta buffer format

From: Hans Verkuil (hansverk)
Date: Wed Nov 06 2019 - 08:56:55 EST


On 11/6/19 2:44 PM, Ezequiel Garcia wrote:
> Hi Hans, Helen:
>
> On Wed, 2019-11-06 at 09:30 -0300, Helen Koike wrote:
>>
>> On 11/6/19 10:22 AM, Hans Verkuil (hansverk) wrote:
>>> On 11/6/19 1:01 PM, Helen Koike wrote:
>>>> From: Shunqian Zheng <zhengsq@xxxxxxxxxxxxxx>
>>>>
>>>> Add the Rockchip ISP1 specific processing parameter format
>>>> V4L2_META_FMT_RK_ISP1_PARAMS and metadata format
>>>> V4L2_META_FMT_RK_ISP1_STAT_3A for 3A.
>>>>
>>>> Signed-off-by: Shunqian Zheng <zhengsq@xxxxxxxxxxxxxx>
>>>> Signed-off-by: Jacob Chen <jacob2.chen@xxxxxxxxxxxxxx>
>>>> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
>>>
>>> I acked this? It is missing documentation for these new formats.
>>
>> I think so https://www.spinics.net/lists/linux-rockchip/msg18999.html :)

Hmm, I probably had an off-day :-)

I noticed that the documentation was included in patch 3/4 (which didn't
reach the ML because it was too big), but I asked Helen to split off the
documentation into a separate patch (or add it to this patch).

Regards,

Hans

>>
>> I'll update the docs and the fixes you pointed below.
>>
>> Thanks.
>> Helen
>>
>>>> [refactored for upstream]
>>>> Signed-off-by: Helen Koike <helen.koike@xxxxxxxxxxxxx>
>>>> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
>>>>
>>>> ---
>>>>
>>>> Changes in v9:
>>>> - Add reviewed-by tag from Laurent
>>>>
>>>> Changes in v8: None
>>>> Changes in v7:
>>>> - s/IPU3/RK_ISP1
>>>>
>>>> drivers/media/v4l2-core/v4l2-ioctl.c | 2 ++
>>>> include/uapi/linux/videodev2.h | 4 ++++
>>>> 2 files changed, 6 insertions(+)
>>>>
>>>> diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
>>>> index 315ac12c3e0a..ade990554caf 100644
>>>> --- a/drivers/media/v4l2-core/v4l2-ioctl.c
>>>> +++ b/drivers/media/v4l2-core/v4l2-ioctl.c
>>>> @@ -1341,6 +1341,8 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
>>>> case V4L2_META_FMT_UVC: descr = "UVC Payload Header Metadata"; break;
>>>> case V4L2_META_FMT_D4XX: descr = "Intel D4xx UVC Metadata"; break;
>>>> case V4L2_META_FMT_VIVID: descr = "Vivid Metadata"; break;
>>>> + case V4L2_META_FMT_RK_ISP1_PARAMS: descr = "Rockchip ISP1 3A params"; break;
>>>
>>> params -> Params
>>>
>>>> + case V4L2_META_FMT_RK_ISP1_STAT_3A: descr = "Rockchip ISP1 3A statistics"; break;
>>>
>>> statistics -> Statistics
>>>
>>>>
>>>> default:
>>>> /* Compressed formats */
>>>> diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
>>>> index f98bbcced8ff..56798b09cd85 100644
>>>> --- a/include/uapi/linux/videodev2.h
>>>> +++ b/include/uapi/linux/videodev2.h
>
> Can we avoid touching videodev2.h, as we did for the stateless codec pixfmts?
>
> Thanks,
> Ezequiel
>
>>>> @@ -762,6 +762,10 @@ struct v4l2_pix_format {
>>>> #define V4L2_META_FMT_D4XX v4l2_fourcc('D', '4', 'X', 'X') /* D4XX Payload Header metadata */
>>>> #define V4L2_META_FMT_VIVID v4l2_fourcc('V', 'I', 'V', 'D') /* Vivid Metadata */
>>>>
>>>> +/* Vendor specific - used for RK_ISP1 camera sub-system */
>>>> +#define V4L2_META_FMT_RK_ISP1_PARAMS v4l2_fourcc('R', 'K', '1', 'P') /* Rockchip ISP1 params */
>>>> +#define V4L2_META_FMT_RK_ISP1_STAT_3A v4l2_fourcc('R', 'K', '1', 'S') /* Rockchip ISP1 3A statistics */
>>>> +
>>>> /* priv field value to indicates that subsequent fields are valid. */
>>>> #define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe
>>>>
>>>>
>>>
>>> Regards,
>>>
>>> Hans
>>>
>
>