Le lundi 09 septembre 2024 à 19:25 +0000, Jonas Karlman a écrit : > The VIDIOC_ENUM_FRAMESIZES ioctl should return all frame sizes (i. e. > width and height in pixels) that the device supports for the given pixel > format. > > For coded format returning the frame size used to enforce HW alignment > requirements for CAPTURE buffers does not make fully sense. > > Instead, signal applications what the maximum frame size that is > supported by the HW decoder using a frame size of continuous type. > > Fixes: cd33c830448b ("media: rkvdec: Add the rkvdec driver") > Suggested-by: Alex Bee <knaerzche@xxxxxxxxx> > Signed-off-by: Jonas Karlman <jonas@xxxxxxxxx> Reviewed-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx> > --- > v6: > - New patch > > With this change FFmpeg V4L2 Request API hwaccels can implement a strict > check if frame size is supported by the video device: > https://ffmpeg.org/pipermail/ffmpeg-devel/2024-August/332037.html > --- > drivers/staging/media/rkvdec/rkvdec.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c > index c8c14f35ac44..9002eb3a59e5 100644 > --- a/drivers/staging/media/rkvdec/rkvdec.c > +++ b/drivers/staging/media/rkvdec/rkvdec.c > @@ -334,8 +334,14 @@ static int rkvdec_enum_framesizes(struct file *file, void *priv, > if (!fmt) > return -EINVAL; > > - fsize->type = V4L2_FRMSIZE_TYPE_STEPWISE; > - fsize->stepwise = fmt->frmsize; > + fsize->type = V4L2_FRMSIZE_TYPE_CONTINUOUS; > + fsize->stepwise.min_width = 1; > + fsize->stepwise.max_width = fmt->frmsize.max_width; > + fsize->stepwise.step_width = 1; > + fsize->stepwise.min_height = 1; > + fsize->stepwise.max_height = fmt->frmsize.max_height; > + fsize->stepwise.step_height = 1; > + > return 0; > } >