Hello, This is a first batch of adjustments to the stateless H264 decoder uAPI. The first one is about adding support for per-frame decoding, which is the only mode supported on some codecs (the hantro G1 block supports per-slice decoding but not in an way that would allow efficient multiplexing of several decoding contexts). The second modification drops the P0/B0/B1 ref lists from the decode_params control. These lists are no longer needed now that we know we can build them kernel side based on the DPB. There are few more changes in the pipe, but I'd like to sync with Paul, Jonas, Jernej and Nicolas before modifying: * Enforce order of the scaling list (looks like the rockchip and cedrus have different expectations) * Pass top/bottom field info as flags in the DPB entry: the field attached to the capture buffer is not accurate as capture bufs might contain both top/bottom (meaning they are actually interlaced), but a coded frame might contain only one of these fields. Note that there's also a problem with the output -> capture field flag propagation we have in copy_metadata() because a coded slice might contain only data for top or bottom, but the capture frame might contain both. Doing capture->field = output->field means we're lying about what's inside the capture buffer (not sure we have implementation checking that) * s/dpb/refs/: looks like we're abusing the term DPB which is supposed to be implementation specific. What's provided by the bitstream is a list of references that will be used to decode a frame * ... (add your own) Feel free to comment on these changes and/or propose alternatives. Regards, Boris Changes in v2: * Allow decoding multiple slices in per-slice decoding mode * Minor doc improvements/fixes Boris Brezillon (3): media: uapi: h264: Clarify our expectations regarding NAL header format media: uapi: h264: Add the concept of decoding mode media: uapi: h264: Get rid of the p0/b0/b1 ref-lists .../media/uapi/v4l/ext-ctrls-codec.rst | 56 +++++++++++++++---- drivers/media/v4l2-core/v4l2-ctrls.c | 9 +++ include/media/h264-ctrls.h | 13 +++++ 3 files changed, 68 insertions(+), 10 deletions(-) -- 2.20.1