Message ID | 20190524093635.1832-3-paul.kocialkowski@bootlin.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | HEVC/H.265 stateless support for V4L2 and Cedrus | expand |
Hi! Dne petek, 24. maj 2019 ob 11:36:33 CEST je Paul Kocialkowski napisal(a): > Introduce the V4L2_PIX_FMT_HEVC_SLICE pixel format, which currently > describes an output buffer with enough appended slice data for > producing one decoded frame with a stateless video decoder. > > This will need to be reworked (along with the controls and the core) to > allow passing slice data individually, as it is the natural decoding > unit in HEVC. > > We also need to figure out the description of the possible source data: > * Compressed slice data only, with slice controls attached; > * Slice data in Annex-B format (with raw slice header), without slice > controls attached; > * Slice data in Annex-B format (with raw slice header), with slice > controls attached. > > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> > --- > include/media/hevc-ctrls.h | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/include/media/hevc-ctrls.h b/include/media/hevc-ctrls.h > index 9ea013c88afc..2de83d9f6d47 100644 > --- a/include/media/hevc-ctrls.h > +++ b/include/media/hevc-ctrls.h > @@ -11,6 +11,9 @@ > #ifndef _HEVC_CTRLS_H_ > #define _HEVC_CTRLS_H_ > > +/* The pixel format isn't stable at the moment and will likely be renamed. > */ +#define V4L2_PIX_FMT_HEVC_SLICE v4l2_fourcc('S', '2', '6', '5') /* HEVC You should add include to cover v4l2_fourcc() macro. Best regards, Jernej > parsed slices */ + > #define V4L2_CID_MPEG_VIDEO_HEVC_SPS (V4L2_CID_MPEG_BASE + 1008) > #define V4L2_CID_MPEG_VIDEO_HEVC_PPS (V4L2_CID_MPEG_BASE + 1009) > #define V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS (V4L2_CID_MPEG_BASE + 1010)
diff --git a/include/media/hevc-ctrls.h b/include/media/hevc-ctrls.h index 9ea013c88afc..2de83d9f6d47 100644 --- a/include/media/hevc-ctrls.h +++ b/include/media/hevc-ctrls.h @@ -11,6 +11,9 @@ #ifndef _HEVC_CTRLS_H_ #define _HEVC_CTRLS_H_ +/* The pixel format isn't stable at the moment and will likely be renamed. */ +#define V4L2_PIX_FMT_HEVC_SLICE v4l2_fourcc('S', '2', '6', '5') /* HEVC parsed slices */ + #define V4L2_CID_MPEG_VIDEO_HEVC_SPS (V4L2_CID_MPEG_BASE + 1008) #define V4L2_CID_MPEG_VIDEO_HEVC_PPS (V4L2_CID_MPEG_BASE + 1009) #define V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS (V4L2_CID_MPEG_BASE + 1010)
Introduce the V4L2_PIX_FMT_HEVC_SLICE pixel format, which currently describes an output buffer with enough appended slice data for producing one decoded frame with a stateless video decoder. This will need to be reworked (along with the controls and the core) to allow passing slice data individually, as it is the natural decoding unit in HEVC. We also need to figure out the description of the possible source data: * Compressed slice data only, with slice controls attached; * Slice data in Annex-B format (with raw slice header), without slice controls attached; * Slice data in Annex-B format (with raw slice header), with slice controls attached. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> --- include/media/hevc-ctrls.h | 3 +++ 1 file changed, 3 insertions(+)