Hi, > -----Original Message----- > From: Kamil Debski [mailto:k.debski@xxxxxxxxxxx] > Sent: Thursday, June 02, 2011 11:44 PM > To: jtp.park@xxxxxxxxxxx; linux-media@xxxxxxxxxxxxxxx > Cc: jaeryul.oh@xxxxxxxxxxx; june.bae@xxxxxxxxxxx; janghyuck.kim@xxxxxxxxxxx; kyungmin.park@xxxxxxxxxxx; > younglak1004.kim@xxxxxxxxxxx; 'Marek Szyprowski' > Subject: RE: [RFC/PATCH v2] v4l: add control definitions for codec devices. > > > From: Jeongtae Park [mailto:jtp.park@xxxxxxxxxxx] > > Sent: 02 June 2011 09:44 > > To: 'Kamil Debski'; linux-media@xxxxxxxxxxxxxxx > > Cc: jaeryul.oh@xxxxxxxxxxx; june.bae@xxxxxxxxxxx; janghyuck.kim@xxxxxxxxxxx; > > kyungmin.park@xxxxxxxxxxx; younglak1004.kim@xxxxxxxxxxx; 'Marek Szyprowski' > > Subject: RE: [RFC/PATCH v2] v4l: add control definitions for codec devices. > > > > Hi, > > > > Thank you for your nice work. Here are my some comments. > > Hi, > > Thanks for your comments. I think I must have posted the wrong patch file... > I will send the proper one, with some of your suggestion in a minute. > > > > > > -----Original Message----- > > > From: Kamil Debski [mailto:k.debski@xxxxxxxxxxx] > > > Sent: Tuesday, May 31, 2011 6:08 PM > > > Cc: m.szyprowski@xxxxxxxxxxx; kyungmin.park@xxxxxxxxxxx; > > k.debski@xxxxxxxxxxx; jaeryul.oh@xxxxxxxxxxx; > > > hverkuil@xxxxxxxxx; laurent.pinchart@xxxxxxxxxxxxxxxx; > > jtp.park@xxxxxxxxxxx > > > Subject: [RFC/PATCH v2] v4l: add control definitions for codec devices. > > > > > > Hi, > > > > > > This is a second version of the patch that adds controls for the codec > > family of > > > devices. I have implemented the suggestions I got from Hans Verkuil on the > > #v4l > > > channel. > > > > > > Change log: > > > - rename V4L2_CID_MIN_REQ_BUFS_(CAP/OUT) to > > V4L2_CID_MIN_BUFFERS_FOR_(CAPTURE/OUTPUT) > > > - use existing controls for GOP size, number of frames and GOP closure > > > - remove frame rate controls (in favour of the S_PARM call) > > > - split level into separate controls for MPEG4 and H264 > > > > > > I would welcome further comments. > > > > > > Best regards, > > > Kamil Debski > > > > > > Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> > > > Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> > > > --- > > > Documentation/DocBook/v4l/controls.xml | 733 > > ++++++++++++++++++++++++++++++++ > > > include/linux/videodev2.h | 147 +++++++ > > > 2 files changed, 880 insertions(+), 0 deletions(-) > > > > > > diff --git a/Documentation/DocBook/v4l/controls.xml > > b/Documentation/DocBook/v4l/controls.xml > > > index 6880798..7c2df42 100644 > > > --- a/Documentation/DocBook/v4l/controls.xml > > > +++ b/Documentation/DocBook/v4l/controls.xml > > > @@ -325,6 +325,22 @@ minimum value disables backlight > > compensation.</entry> > > > <constant>V4L2_CID_ILLUMINATORS_2</constant> + 1).</entry> > > > </row> > > > <row> > > > + > > [snip] > > > > + > > > + <row><entry></entry></row> > > > + <row> > > > + <entry > > spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MAX_REF_PIC</constant> </en > > try> > > > + <entry>boolean</entry> > > > + </row> > > > + <row><entry spanname="descr">The maximum number of reference > > pictures used for encoding.</entry> > > > + </row> > > > > Is it boolean type? > > It is not, a copy-paste mistake on my side. > > [snip] > > > > + > > > + <row><entry></entry></row> > > > + <row> > > > + <entry > > spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA</constant> > > </entry> > > > + <entry>integer</entry> > > > + </row> > > > + <row><entry spanname="descr">Loop filter alpha coefficient, > > defined in the standard.</entry> > > > + </row> > > > > alpha -> beta. > > I agree. > > [snip] > > > > + > > > + <row><entry></entry></row> > > > + <row> > > > + <entry > > spanname="id"><constant>V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE</constant> > > </entry> > > > + <entry>boolean</entry> > > > + </row> > > > + <row><entry spanname="descr">Padding enable - use a color > > instead of repeating border pixels.</entry> > > > + </row> > > > > The description may be wrong. > > Thanks for pointing this out. > > > > + > > > + <row><entry></entry></row> > > > + <row> > > > + <entry > > spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_MB_RC_ENABLE</constant>&nbs > > p;</entry> > > > + <entry>boolean</entry> > > > + </row> > > > + <row><entry spanname="descr">Macroblock level rate control > > enable for H264.</entry> > > > + </row> > > > + > > > + <row><entry></entry></row> > > > + <row> > > > + <entry > > spanname="id"><constant>V4L2_CID_MPEG_VIDEO_FRAME_RATE_NOMINATOR</constant>& > > nbsp;</entry> > > > + <entry>integer</entry> > > > + </row> > > > + <row><entry spanname="descr">Frames per second - > > nominator.</entry> > > > + </row> > > > > Removed as you mentioned. > > Yes, I think I had to mix up the patches that got sent. > > > > + > > > + <row><entry></entry></row> > > > + <row> > > > + <entry > > spanname="id"><constant>V4L2_CID_MPEG_VIDEO_FRAME_RATE_DENOMINATOR</constant > > > </entry> > > > + <entry>integer</entry> > > > + </row> > > > + <row><entry spanname="descr">Frames per second - > > denominator</entry> > > > + </row> > > > + > > > > Removed as you mentioned. > > Ditto. > > [snip] > > > > + > > > + <row><entry></entry></row> > > > + <row> > > > + <entry > > spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VBV_BUF_SIZE</constant> </e > > ntry> > > > + <entry>integer</entry> > > > + </row> > > > + <row><entry spanname="descr">Quantization parameter for an P > > frame.</entry> > > > + </row> > > > > The description may be wrong, How about this? > > 'The VBV buffer size in kilo bytes, it used as a limitation of frame skip' > > I agree. > > > > + > > > + <row><entry></entry></row> > > > + <row> > > > + <entry > > spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_OPEN_GOP</constant> </ > > entry> > > > + <entry>boolean</entry> > > > + </row> > > > + <row><entry spanname="descr">Enable open GOP in H264.</entry> > > > + </row> > > > > I cannot find V4L2_CID_MPEG_VIDEO_H264_OPEN_GOP definition at videodev2.h, > > we will use V4L2_CID_MPEG_VIDEO_GOP_CLOSURE instead, right? > > Yes, we've switched to GOP_CLOSURE. > > > > + > > > + <row><entry></entry></row> > > > + <row> > > > + <entry > > spanname="id"><constant>V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE</constant> > > </entry> > > > + <entry>boolean</entry> > > > + </row> > > > + <row><entry spanname="descr">Frame level rate control > > enable.</entry> > > > + </row> > > > > I saw the same CID above, previous definition have to remove. > > Agree. > > > > + > > > + <row><entry></entry></row> > > > + <row> > > > + <entry > > spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_MB_RC_ENABLE</constant>&nbs > > p;</entry> > > > + <entry>boolean</entry> > > > + </row> > > > + <row><entry spanname="descr">Macroblock level rate control > > enable.</entry> > > > + </row> > > > + > > > + </tbody> > > > + </tgroup> > > > + </table> > > > + </section> > > > + > > > + <section> > > > + <title>MFC 5.1 MPEG Controls</title> > > > + > > > + <para>The following MPEG class controls deal with MPEG > > > +decoding and encoding settings that are specific to the MFC 5.1 device > > present > > > +in the S5P family of SoCs by Samsung. > > > +</para> > > > + > > > + <table pgwide="1" frame="none" id="mfc51-control-id"> > > > + <title>MFC 5.1 Control IDs</title> > > > + <tgroup cols="4"> > > > + <colspec colname="c1" colwidth="1*" /> > > > + <colspec colname="c2" colwidth="6*" /> > > > + <colspec colname="c3" colwidth="2*" /> > > > + <colspec colname="c4" colwidth="6*" /> > > > + <spanspec namest="c1" nameend="c2" spanname="id" /> > > > + <spanspec namest="c2" nameend="c4" spanname="descr" /> > > > + <thead> > > > + <row> > > > + <entry spanname="id" align="left">ID</entry> > > > + <entry align="left">Type</entry> > > > + </row><row><entry spanname="descr" > > align="left">Description</entry> > > > + </row> > > > + </thead> > > > + <tbody valign="top"> > > > + <row><entry></entry></row> > > > + <row> > > > + <entry > > > > > spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_MPEG4_DEBLOCK_FILT > > ER</constant> </entry> > > > + <entry>boolean</entry> > > > + </row><row><entry spanname="descr">Enabled the deblocking post > > processing filter for MPEG4 > > > decoder.</entry> > > > + </row> > > > + <row><entry></entry></row> > > > + <row> > > > + <entry > > > > > spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY > > _ENABLE</constant> </entry> > > > + <entry>integer</entry> > > > + </row><row><entry spanname="descr">If the display delay is > > enabled then the decoder has to return an > > > +CAPTURE buffer after processing a certain number of OUTPUT buffers. If > > this number is low, then it may result in > > > +buffers not being dequeued in display order. In addition hardware may > > still use those buffers as reference, thus > > > +application should not write to those buffers. This feature can be used > > for example for generating thumbnails of > > > videos. > > > + </entry> > > > + </row> > > > + <row><entry></entry></row> > > > + <row> > > > + <entry > > > > > spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY > > </constant> </entry> > > > + <entry>integer</entry> > > > + </row><row><entry spanname="descr">Display delay value for H264 > > decoder.</entry> > > > + </row> > > > + <row><entry></entry></row> > > > + <row> > > > + <entry > > spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_NUM_REF_PIC_FOR_P</constan > > t> </entry> > > > + <entry>integer</entry> > > > + </row><row><entry spanname="descr">The number of reference > > pictures used for encoding a P > > > picture.</entry> > > > + </row> > > > + <row><entry></entry></row> > > > + <row> > > > + <entry > > spanname="id"><constant>V;4L2_CID_MPEG_MFC51_VIDEO_PADDING</constant> < > > /entry> > > > > There is a miss typing(;). > > Thanks. > > [snip] > > > <entry><constant>V4L2_MPEG_MFC51_FRAME_SKIP_MODE_VBV_LIMIT</constant> < > > /entry> > > > + <entry>Frame skip mode enabled and buffer limit is set by > > the VBV buffer size control.</entry> > > > + </row> > > > + </tbody> > > > + </entrytbl> > > > + </row> > > > + <row><entry></entry></row> > > > + <row> > > > + <entry > > spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT</const > > ant> </entry> > > > + <entry>integer</entry> > > > + </row><row><entry spanname="descr"></entry> > > > > How about below description? > > ' Enable rate-control with fixed target bit. If enabled encoder targets > > bitrate in GOP, else try to meet average bitrate.' > > Thanks. > > [snip] > > > > diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h > > > index 6168da0..5ec2aba 100644 > > > --- a/include/linux/videodev2.h > > > +++ b/include/linux/videodev2.h > > > @@ -1157,6 +1157,10 @@ enum v4l2_colorfx { > > > /* last CID + 1 */ > > > #define V4L2_CID_LASTP1 (V4L2_CID_BASE+39) > > > > > > +/* Minimum number of buffer neede by the device */ > > > +#define V4L2_CID_MIN_BUFFERS_FOR_CAPTURE (V4L2_CID_BASE+40) > > > +#define V4L2_CID_MIN_BUFFERS_FOR_OUTPUT (V4L2_CID_BASE+41) > > > + > > > /* MPEG-class control IDs defined by V4L2 */ > > > #define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | > > 0x900) > > > #define V4L2_CID_MPEG_CLASS (V4L2_CTRL_CLASS_MPEG | > 1) > > > @@ -1328,6 +1332,118 @@ enum v4l2_mpeg_video_bitrate_mode { > > > #define V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_MPEG_BASE+210) > > > #define V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_MPEG_BASE+211) > > > > > > +#define V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE > > (V4L2_CID_MPEG_BASE+212) > > > +#define V4L2_CID_MPEG_VIDEO_H264_VUI_AR_ENABLE > > (V4L2_CID_MPEG_BASE+213) > > > +#define V4L2_CID_MPEG_VIDEO_H264_VUI_AR_IDC > > (V4L2_CID_MPEG_BASE+214) > > > +#define V4L2_CID_MPEG_VIDEO_H264_EXT_SAR_WIDTH > > (V4L2_CID_MPEG_BASE+215) > > > +#define V4L2_CID_MPEG_VIDEO_H264_EXT_SAR_HEIGHT > > (V4L2_CID_MPEG_BASE+216) > > > +#define V4L2_CID_MPEG_VIDEO_H264_LEVEL > > (V4L2_CID_MPEG_BASE+217) > > > +enum v4l2_mpeg_video_h264_level { > > > + V4L2_MPEG_VIDEO_H264_LEVEL_1_0 = 0, > > > + V4L2_MPEG_VIDEO_H264_LEVEL_1B = 1, > > > + V4L2_MPEG_VIDEO_H264_LEVEL_1_1 = 2, > > > + V4L2_MPEG_VIDEO_H264_LEVEL_1_2 = 3, > > > + V4L2_MPEG_VIDEO_H264_LEVEL_1_3 = 4, > > > + V4L2_MPEG_VIDEO_H264_LEVEL_2_0 = 5, > > > + V4L2_MPEG_VIDEO_H264_LEVEL_2_1 = 6, > > > + V4L2_MPEG_VIDEO_H264_LEVEL_2_2 = 7, > > > + V4L2_MPEG_VIDEO_H264_LEVEL_3_0 = 8, > > > + V4L2_MPEG_VIDEO_H264_LEVEL_3_1 = 9, > > > + V4L2_MPEG_VIDEO_H264_LEVEL_3_2 = 10, > > > + V4L2_MPEG_VIDEO_H264_LEVEL_4_0 = 11, > > > + V4L2_MPEG_VIDEO_H264_LEVEL_4_1 = 12, > > > + V4L2_MPEG_VIDEO_H264_LEVEL_4_2 = 13, > > > + V4L2_MPEG_VIDEO_H264_LEVEL_5_0 = 14, > > > + V4L2_MPEG_VIDEO_H264_LEVEL_5_1 = 15, > > > +}; > > > +#define V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL > > (V4L2_CID_MPEG_BASE+218) > > > +enum v4l2_mpeg_video_mpeg4_level { > > > + V4L2_MPEG_VIDEO_MPEG4_LEVEL_0 = 0, > > > + V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B = 1, > > > + V4L2_MPEG_VIDEO_MPEG4_LEVEL_1 = 2, > > > + V4L2_MPEG_VIDEO_MPEG4_LEVEL_2 = 3, > > > + V4L2_MPEG_VIDEO_MPEG4_LEVEL_3 = 4, > > > + V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B = 5, > > > + V4L2_MPEG_VIDEO_MPEG4_LEVEL_4 = 6, > > > + V4L2_MPEG_VIDEO_MPEG4_LEVEL_5 = 7, > > > +}; > > > +#define V4L2_CID_MPEG_VIDEO_H264_PROFILE (V4L2_CID_MPEG_BASE+219) > > > +enum v4l2_mpeg_video_h264_profile { > > > + V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE = 0, > > > + V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE = 1, > > > + V4L2_MPEG_VIDEO_H264_PROFILE_MAIN = 2, > > > + V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED = 3, > > > + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH = 4, > > > + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10 = 5, > > > + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422 = 6, > > > + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE = 7, > > > + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA = 8, > > > + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA = 9, > > > + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA = 10, > > > + V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA = 11, > > > +}; > > > > How about include SVC, MVC extension profiles? > > Yes, it wasn't present in the standard definition I have used, but I have a > newer version of that document with the SVC and MVC added. > > [snip] > > > > +#define V4L2_CID_MPEG_VIDEO_INTERLACE (V4L2_CID_MPEG_BASE+231) > > > > MFC encoder supports only H.264 the interlace encoding, and > > how about use v4l2_field in struct v4l2_pix_format_mplane with VIDIOC_*_FMT > > ioctl? > > Yes, that is a good idea. I think we have discussed this earlier, but I forgot to > send it in this patch - I had posted the wrong file... > > > > +#define V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM > > (V4L2_CID_MPEG_BASE+232) > > > +#define V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_MB (V4L2_CID_MPEG_BASE+233) > > > +#define V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (V4L2_CID_MPEG_BASE+234) > > > +#define V4L2_CID_MPEG_VIDEO_H264_MB_RC_ENABLE > > (V4L2_CID_MPEG_BASE+235) > > > +#define V4L2_CID_MPEG_VIDEO_RC_BITRATE (V4L2_CID_MPEG_BASE+236) > > > > How about use V4L2_CID_MPEG_VIDEO_BITRATE? > > Good catch, it means the same. > > > > +#define V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (V4L2_CID_MPEG_BASE+237) > > > +#define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+238) > > > +#define V4L2_CID_MPEG_VIDEO_H263_MIN_QP > > (V4L2_CID_MPEG_BASE+239) > > > +#define V4L2_CID_MPEG_VIDEO_H263_MAX_QP > > (V4L2_CID_MPEG_BASE+240) > > > +#define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+241) > > > +#define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_MPEG_BASE+242) > > > +#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (V4L2_CID_MPEG_BASE+243) > > > +#define V4L2_CID_MPEG_VIDEO_H264_MIN_QP > > (V4L2_CID_MPEG_BASE+244) > > > +#define V4L2_CID_MPEG_VIDEO_H264_MAX_QP > > (V4L2_CID_MPEG_BASE+245) > > > +#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (V4L2_CID_MPEG_BASE+246) > > > +#define V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (V4L2_CID_MPEG_BASE+247) > > > +#define V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (V4L2_CID_MPEG_BASE+248) > > > +#define V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (V4L2_CID_MPEG_BASE+249) > > > +#define V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (V4L2_CID_MPEG_BASE+250) > > > +#define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_MPEG_BASE+251) > > > +#define V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (V4L2_CID_MPEG_BASE+252) > > > > There are only V4L2_CID_MPEG_VIDEO_[I,P,B]_FRAME_QP descriptions in > > controls.xml. > > I have also added this in the next patch. > > > > > > +#define V4L2_CID_MPEG_VIDEO_VBV_BUF_SIZE (V4L2_CID_MPEG_BASE+253) > > > +#define V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (V4L2_CID_MPEG_BASE+255) > > > +#define V4L2_CID_MPEG_VIDEO_HEADER_MODE > > (V4L2_CID_MPEG_BASE+256) > > > +enum v4l2_mpeg_video_header_mode { > > > + V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE = 0, > > > + V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME = 1, > > > + > > > +}; > > > + > > > /* MPEG-class control IDs specific to the CX2341x driver as defined by > > V4L2 */ > > > #define V4L2_CID_MPEG_CX2341X_BASE > > (V4L2_CTRL_CLASS_MPEG | 0x1000) > > > #define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE > > (V4L2_CID_MPEG_CX2341X_BASE+0) > > > @@ -1369,6 +1485,37 @@ enum v4l2_mpeg_cx2341x_video_median_filter_type { > > > #define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP > > (V4L2_CID_MPEG_CX2341X_BASE+10) > > > #define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS > > (V4L2_CID_MPEG_CX2341X_BASE+11) > > > > > > +/* MPEG-class control IDs specific to the Samsung MFC 5.1 driver as > > defined by V4L2 */ > > > +#define V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG > > | 0x1000) > > > + > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER > > (V4L2_CID_MPEG_MFC51_BASE+0) > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY > > (V4L2_CID_MPEG_MFC51_BASE+1) > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE > > (V4L2_CID_MPEG_MFC51_BASE+2) > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_NUM_REF_PIC_FOR_P > > (V4L2_CID_MPEG_MFC51_BASE+3) > > > > Support in H.264 only. > > Right, this is a MFC 5.1 specific control, so it can have the H264 in the name. > > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_PADDING > > (V4L2_CID_MPEG_MFC51_BASE+4) > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV > > (V4L2_CID_MPEG_MFC51_BASE+5) > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF > > (V4L2_CID_MPEG_MFC51_BASE+8) > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK > > (V4L2_CID_MPEG_MFC51_BASE+9) > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH > > (V4L2_CID_MPEG_MFC51_BASE+10) > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC > > (V4L2_CID_MPEG_MFC51_BASE+11) > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY > > (V4L2_CID_MPEG_MFC51_BASE+12) > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE > > (V4L2_CID_MPEG_MFC51_BASE+13) > > > +enum v4l2_mpeg_mfc51_video_frame_skip_mode { > > > + V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED = 0, > > > + V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1, > > > + V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_VBV_LIMIT = 2, > > > +}; > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT > > (V4L2_CID_MPEG_MFC51_BASE+14) > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_MPEG4_VOP_TIME_RES > > (V4L2_CID_MPEG_MFC51_BASE+15) > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_MPEG4_VOP_FRAME_DELTA > > (V4L2_CID_MPEG_MFC51_BASE+16) > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE > > (V4L2_CID_MPEG_MFC51_BASE+17) > > > +enum v4l2_mpeg_mfc51_video_force_frame_type { > > > + V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_DISABLED = 0, > > > + V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME = 1, > > > + V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_NOT_CODED = 2, > > > +}; > > > +#define V4L2_CID_MPEG_MFC51_VIDEO_FRAME_TAG > (V4L2_CID_MPEG_MFC51_BASE+18) > > > + > > > > I remember that you try to add extra frame type(SKIPPED or NOT_CODED) to > > V4L2_BUF_FLAG_*. > > How is it going? > > > > As you can see there was no discussion so far on the list about it. > > Now my priority is merging the driver in the mainline. So I have focused on > adding > new pixel formats and the necessary controls. After the driver gets merged it is > still possible to add new code and extend functionality. > > Pixel formats are already discussed and discussion of controls is (hopefully) > close > to the end. Adding another topic will last weeks, and will delay merging. > > Let's get the driver merged with basic functionality and then extend it, > otherwise > it will be delayed again and again. I can't agree with you anymore. I hope MFC driver would be merge ASAP too. > > > Best regards, > -- > Kamil Debski > Linux Platform Group > Samsung Poland R&D Center Best regards /jtpark -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html