On Mon, 10 Jun 2019 10:52:47 +0200 Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> wrote: > 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 Forgot: * Drop sunxi changes until we settle on the uAPI changes (supporting multi-slice decoding in per-slice mode requires a bit more work and I can't test it) > > 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(-) >