[PATCH v2 4/9] media: uapi: Add a control for HANTRO driver

Benjamin Gaignard benjamin.gaignard at collabora.com
Mon Feb 22 11:28:30 EST 2021


Le 22/02/2021 à 17:16, John Cox a écrit :
>> The HEVC HANTRO driver needs to know the number of bits to skip at
>> the beginning of the slice header.
>> That is a hardware specific requirement so create a dedicated control
>> that this purpose.
>>
>> Signed-off-by: Benjamin Gaignard <benjamin.gaignard at collabora.com>
>> ---
>> include/uapi/linux/hantro-v4l2-controls.h | 20 ++++++++++++++++++++
>> include/uapi/linux/v4l2-controls.h        |  5 +++++
>> 2 files changed, 25 insertions(+)
>> create mode 100644 include/uapi/linux/hantro-v4l2-controls.h
>>
>> diff --git a/include/uapi/linux/hantro-v4l2-controls.h b/include/uapi/linux/hantro-v4l2-controls.h
>> new file mode 100644
>> index 000000000000..30b1999b7af3
>> --- /dev/null
>> +++ b/include/uapi/linux/hantro-v4l2-controls.h
>> @@ -0,0 +1,20 @@
>> +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
>> +
>> +#ifndef __UAPI_HANTRO_V4L2_CONYTROLS_H__
>> +#define __UAPI_HANTRO_V4L2_CONYTROLS_H__
>> +
>> +#include <linux/v4l2-controls.h>
>> +#include <media/hevc-ctrls.h>
>> +
>> +#define V4L2_CID_HANTRO_HEVC_EXTRA_DECODE_PARAMS	(V4L2_CID_USER_HANTRO_BASE + 0)
>> +
>> +/**
>> + * struct hantro_hevc_extra_decode_params - extra decode parameters for hantro driver
>> + * @hevc_hdr_skip_lenght:	header first bits offset
>> + */
>> +struct hantro_hevc_extra_decode_params {
>> +	__u32	hevc_hdr_skip_lenght;
>> +	__u8	padding[4];
>> +};
> Can you clarify how hevc_hdr_skip_length differs from
> v4l2_ctrl_hevc_slice_params.data_bit_offset?  At first sight they would
> appear to be very similar.

hevc_hdr_skip_length is the difference between the start positions of 2 nals.
v4l2_ctrl_hevc_slice_params.data_bit_offset is the offset of the data in the nal.


Benjamin

>
> Regards
>
> John Cox
>
>> +#endif
>> diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
>> index 039c0d7add1b..ced7486c7f46 100644
>> --- a/include/uapi/linux/v4l2-controls.h
>> +++ b/include/uapi/linux/v4l2-controls.h
>> @@ -209,6 +209,11 @@ enum v4l2_colorfx {
>>   * We reserve 128 controls for this driver.
>>   */
>> #define V4L2_CID_USER_CCS_BASE			(V4L2_CID_USER_BASE + 0x10f0)
>> +/*
>> + * The base for HANTRO driver controls.
>> + * We reserve 32 controls for this driver.
>> + */
>> +#define V4L2_CID_USER_HANTRO_BASE		(V4L2_CID_USER_BASE + 0x1170)
>>
>> /* MPEG-class control IDs */
>> /* The MPEG controls are applicable to all codec controls



More information about the linux-arm-kernel mailing list