Message ID | 20220116185556.10657-4-digetx@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add V4L stateless video decoder API support to NVIDIA Tegra driver | expand |
Le dimanche 16 janvier 2022 à 21:55 +0300, Dmitry Osipenko a écrit : > Document that frame type flags must be set for the coded buffer. > Decoders, like NVIDIA Tegra h264 decoder for example, won't work > properly without these flags. > > Signed-off-by: Dmitry Osipenko <digetx@gmail.com> > --- > .../userspace-api/media/v4l/dev-stateless-decoder.rst | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/Documentation/userspace-api/media/v4l/dev-stateless-decoder.rst b/Documentation/userspace-api/media/v4l/dev-stateless-decoder.rst > index 4a26646eeec5..845f4481d34f 100644 > --- a/Documentation/userspace-api/media/v4l/dev-stateless-decoder.rst > +++ b/Documentation/userspace-api/media/v4l/dev-stateless-decoder.rst > @@ -271,6 +271,9 @@ A typical frame would thus be decoded using the following sequence: > we are not sure that the current decode request is the last one needed > to produce a fully decoded frame, then > ``V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF`` must also be set. > + ``V4L2_BUF_FLAG_KEYFRAME``, ``V4L2_BUF_FLAG_PFRAME`` and > + ``V4L2_BUF_FLAG_BFRAME`` must be set if relevant to the coded > + format. I think I would rather keep this in the CODEC specific APIs (BFrame being an MPEG specific concept). If I knew about this before we made the API final, I would have added the slice_type bitstream parameter in the v4l2_h264_decode_params structure. But as the types are rather limited, I would preserve our "reservered" space and make that part of the V4L2_H264_DECODE_PARAM_FLAGS_{} instead. Do you also need that for HEVC ? (do you have HEVC on that generation of tegra ?) > > ``request_fd`` > must be set to the file descriptor of the decoding request.
25.01.2022 23:37, Nicolas Dufresne пишет: > Le dimanche 16 janvier 2022 à 21:55 +0300, Dmitry Osipenko a écrit : >> Document that frame type flags must be set for the coded buffer. >> Decoders, like NVIDIA Tegra h264 decoder for example, won't work >> properly without these flags. >> >> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> >> --- >> .../userspace-api/media/v4l/dev-stateless-decoder.rst | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/Documentation/userspace-api/media/v4l/dev-stateless-decoder.rst b/Documentation/userspace-api/media/v4l/dev-stateless-decoder.rst >> index 4a26646eeec5..845f4481d34f 100644 >> --- a/Documentation/userspace-api/media/v4l/dev-stateless-decoder.rst >> +++ b/Documentation/userspace-api/media/v4l/dev-stateless-decoder.rst >> @@ -271,6 +271,9 @@ A typical frame would thus be decoded using the following sequence: >> we are not sure that the current decode request is the last one needed >> to produce a fully decoded frame, then >> ``V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF`` must also be set. >> + ``V4L2_BUF_FLAG_KEYFRAME``, ``V4L2_BUF_FLAG_PFRAME`` and >> + ``V4L2_BUF_FLAG_BFRAME`` must be set if relevant to the coded >> + format. > > I think I would rather keep this in the CODEC specific APIs (BFrame being an > MPEG specific concept). If I knew about this before we made the API final, I > would have added the slice_type bitstream parameter in the > v4l2_h264_decode_params structure. But as the types are rather limited, I would > preserve our "reservered" space and make that part of the > V4L2_H264_DECODE_PARAM_FLAGS_{} instead. Do you also need that for HEVC ? (do > you have HEVC on that generation of tegra ?) That generation of Tegra doesn't support HEVC. I'll try to move frame type to v4l2_h264_decode_params, thank you.
diff --git a/Documentation/userspace-api/media/v4l/dev-stateless-decoder.rst b/Documentation/userspace-api/media/v4l/dev-stateless-decoder.rst index 4a26646eeec5..845f4481d34f 100644 --- a/Documentation/userspace-api/media/v4l/dev-stateless-decoder.rst +++ b/Documentation/userspace-api/media/v4l/dev-stateless-decoder.rst @@ -271,6 +271,9 @@ A typical frame would thus be decoded using the following sequence: we are not sure that the current decode request is the last one needed to produce a fully decoded frame, then ``V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF`` must also be set. + ``V4L2_BUF_FLAG_KEYFRAME``, ``V4L2_BUF_FLAG_PFRAME`` and + ``V4L2_BUF_FLAG_BFRAME`` must be set if relevant to the coded + format. ``request_fd`` must be set to the file descriptor of the decoding request.
Document that frame type flags must be set for the coded buffer. Decoders, like NVIDIA Tegra h264 decoder for example, won't work properly without these flags. Signed-off-by: Dmitry Osipenko <digetx@gmail.com> --- .../userspace-api/media/v4l/dev-stateless-decoder.rst | 3 +++ 1 file changed, 3 insertions(+)