Repository navigation
Commit d64e6fb
committed
media: rpi: hevc_dec: allow up to 64 capture buffers
The capture queue does not set max_num_buffers, so videobuf2 limits it to
VB2_MAX_FRAME (32) buffers, and the per-buffer auxiliary (colocated
motion vector) table is sized to match. Every reference frame must be a
capture buffer, so a userspace that keeps decoded frames queued for
display or further processing can exhaust that limit, and
VIDIOC_CREATE_BUFS then fails with -ENOBUFS.
Kodi's Dolby Vision profile 7 FEL playback holds up to 16 base layer
pictures while it waits for the matching enhancement layer pictures, on
top of the HEVC DPB and its render queue, which exceeds 32 buffers for
the 4K base layer. Size the auxiliary table for 64 entries and allow 64
capture buffers. Buffers and their auxiliary data are still allocated on
demand, and the decoder is behind an IOMMU, so they do not use CMA.
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>1 parent 013e30f commit d64e6fb
2 files changed
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
97 | | - | |
| 97 | + | |
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
642 | 642 | | |
643 | 643 | | |
644 | 644 | | |
| 645 | + | |
645 | 646 | | |
646 | 647 | | |
647 | 648 | | |
| |||
0 commit comments