> -----Original Message----- > From: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] On Behalf Of Mark > Thompson > Sent: Sunday, February 10, 2019 11:51 AM > To: ffmpeg-devel@ffmpeg.org > Subject: Re: [FFmpeg-devel] [PATCH v2 01/11] vaapi_encode: Support more RC > modes > > On 05/02/2019 16:51, Eoff, Ullysses A wrote: > >> -----Original Message----- > >> From: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] On Behalf Of > >> Mark Thompson > >> Sent: Monday, February 04, 2019 1:26 AM > >> To: ffmpeg-devel@ffmpeg.org > >> Subject: Re: [FFmpeg-devel] [PATCH v2 01/11] vaapi_encode: Support more RC > >> modes > >> > >> On 28/01/2019 04:23, Eoff, Ullysses A wrote: > >>>> -----Original Message----- > >>>> From: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] On Behalf Of > >>>> Mark Thompson > >>>> Sent: Sunday, January 27, 2019 3:47 PM > >>>> To: ffmpeg-devel@ffmpeg.org > >>>> Subject: [FFmpeg-devel] [PATCH v2 01/11] vaapi_encode: Support more RC > >>>> modes > >>>> > >>>> Allow setting the mode explicitly, and try to make a sensible choice > >>>> given the available parameters if not. > >>>> --- > >>>> doc/encoders.texi | 24 +++ > >>>> libavcodec/vaapi_encode.c | 370 +++++++++++++++++++++++++++----------- > >>>> libavcodec/vaapi_encode.h | 65 +++++++ > >>>> 3 files changed, 351 insertions(+), 108 deletions(-) > >>>> > >>>> ... > >>>> if (rc_attr.value == VA_ATTRIB_NOT_SUPPORTED) { > >>>> av_log(avctx, AV_LOG_VERBOSE, "Driver does not report any " > >>>> - "supported rate control modes: assuming > >>>> constant-quality.\n"); > >>>> - ctx->va_rc_mode = VA_RC_CQP; > >>>> - return 0; > >>>> ... > >>> > >>> With this patch series, mjpeg_vaapi encoder breaks with iHD driver: > >>> > >>> LIBVA_DRIVER_NAME=iHD ffmpeg -hwaccel vaapi \ > >>> -vaapi_device /dev/dri/renderD128 -v debug \ > >>> -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 \ > >>> -i input.yuv -vf 'format=nv12,hwupload' -c:v mjpeg_vaapi \ > >>> -global_quality 100 -vframes 10 -y output.mjpg > >>> > >>> <snip> > >>> [AVHWDeviceContext @ 0x193c580] Opened VA display via DRM device > >>> /dev/dri/renderD128. > >>> [AVHWDeviceContext @ 0x193c580] libva: VA-API version 1.4.0 > >>> [AVHWDeviceContext @ 0x193c580] libva: va_getDriverName() returns 0 > >>> [AVHWDeviceContext @ 0x193c580] libva: User requested driver 'iHD' > >>> [AVHWDeviceContext @ 0x193c580] libva: Trying to open > /home/uaeoff/Work/workspace/media/install/lib/dri/iHD_drv_video.so > >>> [AVHWDeviceContext @ 0x193c580] libva: Found init function > >>> __vaDriverInit_1_4 > >>> [AVHWDeviceContext @ 0x193c580] libva: va_openDriver() returns 0 > >>> [AVHWDeviceContext @ 0x193c580] Initialised VAAPI connection: version 1.4 > >>> <snip> > >>> [mjpeg_vaapi @ 0x19847c0] Input surface format is nv12. > >>> [mjpeg_vaapi @ 0x19847c0] Using VAAPI profile VAProfileJPEGBaseline (12). > >>> [mjpeg_vaapi @ 0x19847c0] Using VAAPI entrypoint VAEntrypointEncPicture > >>> (7). > >>> [mjpeg_vaapi @ 0x19847c0] Using VAAPI render target format YUV420 (0x1). > >>> [mjpeg_vaapi @ 0x19847c0] Driver does not report any supported rate > >>> control modes: assuming CQP only. > >>> [mjpeg_vaapi @ 0x19847c0] RC mode: CQP. > >>> [mjpeg_vaapi @ 0x19847c0] RC quality: 100. > >>> [mjpeg_vaapi @ 0x19847c0] RC framerate (CFR mode): 25/1 (25.00 fps). > >>> [mjpeg_vaapi @ 0x19847c0] Using intra frames only. > >>> [mjpeg_vaapi @ 0x19847c0] All wanted packed headers available (wanted > >>> 0x10, found 0x10). > >>> [mjpeg_vaapi @ 0x19847c0] Failed to create encode pipeline configuration: > >>> 10 (attribute not supported). > >>> Error initializing output stream 0:0 -- Error while opening encoder for > >>> output stream #0:0 - maybe incorrect parameters such as > >> bit_rate, rate, width or height > >>> [AVIOContext @ 0x1987000] Statistics: 0 seeks, 0 writeouts > >>> [AVIOContext @ 0x19802c0] Statistics: 3110400 bytes read, 0 seeks > >>> Conversion failed! > >>> > >>> ... it works fine on i965 driver. > >> > >> Right, the specific workaround to not set any options on drivers which > >> report no supported RC modes (highlighted above) needs to > be > >> carried forward to this. Added. > >> > >> Thank you for testing! > >> > > > > Is there a v3 I can test? Thanks. > > New version sent. It now doesn't bail out from that function early because > it does want to do some other setup there; instead it just > avoids setting that particular attribute at the end if the driver has > declared that it doesn't support it. >
[UAE] Yep, v3 works now. Thanks. > Thanks, > > - Mark > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel