Re: [PATCH] v4l: add V4L2_CID_MPEG_VIDEO_FORCE_FRAME_TYPE

From: Wu-Cheng Li (æåè)
Date: Wed Jan 13 2016 - 11:07:54 EST


On Wed, Jan 13, 2016 at 11:02 PM, Nicolas Dufresne
<nicolas.dufresne@xxxxxxxxxxxxx> wrote:
> Le mercredi 13 janvier 2016 Ã 20:03 +0800, Wu-Cheng Li a Ãcrit :
>> Some drivers also need a control like
>> V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE to force an encoder frame
>> type. This patch adds a general V4L2_CID_MPEG_VIDEO_FORCE_FRAME_TYPE.
>>
>> This control only affects the next queued buffer. There's no need to
>> clear the value after requesting an I frame. But all controls are set
>> in v4l2_ctrl_handler_setup. So a default DISABLED value is required.
>> Basically this control is like V4L2_CTRL_TYPE_BUTTON with parameters.
>> How to prevent a control from being set in v4l2_ctrl_handler_setup so
>> DISABLED value is not needed? Does it make sense not to set a control
>> if it is EXECUTE_ON_WRITE?
>
> I don't like the way it's implemented. I don't know any decoder that
> have a frame type forcing feature other they I-Frame. It would be much
> more natural to use a toggle button control (and add more controls for
> other types when needed) then trying to merge hypothetical toggles into
> something that manually need to be set and disabled.
Using a button control sounds like a good idea. I'll discuss with other people
and reply tomorrow.
>
>>
>> Wu-Cheng Li (1):
>> v4l: add V4L2_CID_MPEG_VIDEO_FORCE_FRAME_TYPE.
>>
>> Documentation/DocBook/media/v4l/controls.xml | 23
>> +++++++++++++++++++++++
>> drivers/media/v4l2-core/v4l2-ctrls.c | 13 +++++++++++++
>> include/uapi/linux/v4l2-controls.h | 5 +++++
>> 3 files changed, 41 insertions(+)
>>