Hi, Le lundi 10 septembre 2018 à 11:41 +0200, Hans Verkuil a écrit : > On 09/07/2018 12:24 AM, Paul Kocialkowski wrote: > > From: Paul Kocialkowski <paul.kocialkowski@xxxxxxxxxxx> > > > > Stateless video decoding engines require both the MPEG-2 slices and > > associated metadata from the video stream in order to decode frames. > > > > This introduces definitions for a new pixel format, describing buffers > > with MPEG-2 slice data, as well as control structure sfor passing the > > frame metadata to drivers. > > > > This is based on work from both Florent Revest and Hugues Fruchet. > > > > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@xxxxxxxxxxx> > > --- > > .../media/uapi/v4l/extended-controls.rst | 176 ++++++++++++++++++ > > .../media/uapi/v4l/pixfmt-compressed.rst | 16 ++ > > .../media/uapi/v4l/vidioc-queryctrl.rst | 14 +- > > .../media/videodev2.h.rst.exceptions | 2 + > > drivers/media/v4l2-core/v4l2-ctrls.c | 63 +++++++ > > drivers/media/v4l2-core/v4l2-ioctl.c | 1 + > > include/media/v4l2-ctrls.h | 18 +- > > include/uapi/linux/v4l2-controls.h | 65 +++++++ > > include/uapi/linux/videodev2.h | 5 + > > 9 files changed, 351 insertions(+), 9 deletions(-) > > > > diff --git a/Documentation/media/uapi/v4l/extended-controls.rst b/Documentation/media/uapi/v4l/extended-controls.rst > > index 9f7312bf3365..f1951236266a 100644 > > --- a/Documentation/media/uapi/v4l/extended-controls.rst > > +++ b/Documentation/media/uapi/v4l/extended-controls.rst > > @@ -1497,6 +1497,182 @@ enum v4l2_mpeg_video_h264_hierarchical_coding_type - > > > > > > > > +.. _v4l2-mpeg-mpeg2: > > + > > +``V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS (struct)`` > > + Specifies the slice parameters (as extracted from the bitstream) for the > > + associated MPEG-2 slice data. This includes the necessary parameters for > > + configuring a stateless hardware decoding pipeline for MPEG-2. > > + The bitstream parameters are defined according to :ref:`mpeg2part2`. > > + > > +.. c:type:: v4l2_ctrl_mpeg2_slice_params > > + > > +.. cssclass:: longtable > > + > > +.. flat-table:: struct v4l2_ctrl_mpeg2_slice_params > > + :header-rows: 0 > > + :stub-columns: 0 > > + :widths: 1 1 2 > > + > > + * - __u32 > > + - ``bit_size`` > > + - Size (in bits) of the current slice data. > > + * - __u32 > > + - ``data_bit_offset`` > > + - Offset (in bits) to the video data in the current slice data. > > + * - struct :c:type:`v4l2_mpeg2_sequence` > > + - ``sequence`` > > + - Structure with MPEG-2 sequence metadata, merging relevant fields from > > + the sequence header and sequence extension parts of the bitstream. > > + * - struct :c:type:`v4l2_mpeg2_picture` > > + - ``picture`` > > + - Structure with MPEG-2 picture metadata, merging relevant fields from > > + the picture header and picture coding extension parts of the bitstream. > > + * - __u8 > > + - ``quantiser_scale_code`` > > + - Code used to determine the quantization scale to use for the IDCT. > > + * - __u8 > > + - ``backward_ref_index`` > > + - Index for the V4L2 buffer to use as backward reference, used with > > + B-coded and P-coded frames. > > + * - __u8 > > + - ``forward_ref_index`` > > + - Index for the V4L2 buffer to use as forward reference, used with > > + P-coded frames. > > Should this be "B-coded frames"? Oops, that's right, B-coded frames. Should I make a follow-up patch for that (maybe gathered with other changes if required)? Cheers, Paul -- Developer of free digital technology and hardware support. Website: https://www.paulk.fr/ Coding blog: https://code.paulk.fr/ Git repositories: https://git.paulk.fr/ https://git.code.paulk.fr/
Attachment:
signature.asc
Description: This is a digitally signed message part