On 24/01/18 11:59, Smitha T Murthy wrote: > Added V4l2 controls for HEVC encoder > > Signed-off-by: Smitha T Murthy <smitha.t@xxxxxxxxxxx> > --- > Documentation/media/uapi/v4l/extended-controls.rst | 400 +++++++++++++++++++++ > 1 file changed, 400 insertions(+) > > diff --git a/Documentation/media/uapi/v4l/extended-controls.rst b/Documentation/media/uapi/v4l/extended-controls.rst > index dfe49ae..46ee2bf 100644 > --- a/Documentation/media/uapi/v4l/extended-controls.rst > +++ b/Documentation/media/uapi/v4l/extended-controls.rst > @@ -1960,6 +1960,406 @@ enum v4l2_vp8_golden_frame_sel - > 1, 2 and 3 corresponding to encoder profiles 0, 1, 2 and 3. > > > +High Efficiency Video Coding (HEVC/H.265) Control Reference > +----------------------------------------------------------- > + > +The HEVC/H.265 controls include controls for encoding parameters of HEVC/H.265 > +video codec. > + > + > +.. _hevc-control-id: > + > +HEVC/H.265 Control IDs > +^^^^^^^^^^^^^^^^^^^^^^ > + > +``V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP (integer)`` > + Minimum quantization parameter for HEVC. > + Valid range: from 0 to 51. > + > +``V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (integer)`` > + Maximum quantization parameter for HEVC. > + Valid range: from 0 to 51. You probably should mention the default values for MIN_QP and MAX_QP (I assume those are 0 and 51 and are not driver specific). > + > +``V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (integer)`` > + Quantization parameter for an I frame for HEVC. > + Valid range: from 0 to 51. > + > +``V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (integer)`` > + Quantization parameter for a P frame for HEVC. > + Valid range: from 0 to 51. > + > +``V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (integer)`` > + Quantization parameter for a B frame for HEVC. > + Valid range: from 0 to 51. Sorry, this still isn't clear to me. If I set V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP to 50, can I then still set V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP to 51? Or is 50 then the maximum? In other words, what is the relationship between these three controls and the MIN_QP/MAX_QP controls. > + > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (boolean)`` > + HIERARCHICAL_QP allows the host to specify the quantization parameter > + values for each temporal layer through HIERARCHICAL_QP_LAYER. This is > + valid only if HIERARCHICAL_CODING_LAYER is greater than 1. Setting the > + control value to 1 enables setting of the QP values for the layers. > + > +.. _v4l2-hevc-hier-coding-type: > + > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE`` > + (enum) > + > +enum v4l2_mpeg_video_hevc_hier_coding_type - > + Selects the hierarchical coding type for encoding. Possible values are: > + > +.. raw:: latex > + > + \begin{adjustbox}{width=\columnwidth} > + > +.. tabularcolumns:: |p{11.0cm}|p{10.0cm}| > + > +.. flat-table:: > + :header-rows: 0 > + :stub-columns: 0 > + > + * - ``V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B`` > + - Use the B frame for hierarchical coding. > + * - ``V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P`` > + - Use the P frame for hierarchical coding. > + > +.. raw:: latex > + > + \end{adjustbox} > + > + > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER (integer)`` > + Selects the hierarchical coding layer. In normal encoding > + (non-hierarchial coding), it should be zero. Possible values are [0, 6]. > + 0 indicates HIERARCHICAL CODING LAYER 0, 1 indicates HIERARCHICAL CODING > + LAYER 1 and so on. > + > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (integer)`` > + Indicates quantization parameter for hierarchical coding layer 0. > + For HEVC it can have a value of 0-51. > + > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (integer)`` > + Indicates quantization parameter for hierarchical coding layer 1. > + For HEVC it can have a value of 0-51. > + > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (integer)`` > + Indicates quantization parameter for hierarchical coding layer 2. > + For HEVC it can have a value of 0-51. > + > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (integer)`` > + Indicates quantization parameter for hierarchical coding layer 3. > + For HEVC it can have a value of 0-51. > + > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (integer)`` > + Indicates quantization parameter for hierarchical coding layer 4. > + For HEVC it can have a value of 0-51. > + > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (integer)`` > + Indicates quantization parameter for hierarchical coding layer 5. > + For HEVC it can have a value of 0-51. > + > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (integer)`` > + Indicates quantization parameter for hierarchical coding layer 6. > + For HEVC it can have a value of 0-51. Same here: how does MIN_QP/MAX_QP influence these controls, if at all. Regards, Hans