Re: [PATCH] v4l: add V4L2_CID_MPEG_VIDEO_FORCE_FRAME_TYPE
flat view
From: Wu-Cheng Li (李務誠) <hidden>
Date: 2016-01-13 16:07:50
Also in:
linux-media, lkml
On Wed, Jan 13, 2016 at 11:02 PM, Nicolas Dufresne [off-list ref] wrote:
Le mercredi 13 janvier 2016 à 20:03 +0800, Wu-Cheng Li a écrit :quoted
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.
quoted
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(+)