[FFmpeg-trac] #6378(undetermined:new): hevc_qsv encoder failed with 'Selected ratecontrol mode is not supported by the QSV runtime. Choose a different mode.'
FFmpeg
trac at avcodec.org
Mon May 8 08:13:39 EEST 2017
#6378: hevc_qsv encoder failed with 'Selected ratecontrol mode is not supported by
the QSV runtime. Choose a different mode.'
-------------------------------------+-------------------------------------
Reporter: xsyr | Type: defect
Status: new | Priority: normal
Component: | Version: git-
undetermined | master
Keywords: hevc_qsv | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
'''The issue:'''
{{{
$ ffmpeg -loglevel verbose -y -i src_55A16E560CEFFFF7F98994D086A220F0.mp4
-an -c:v hevc_qsv -load_plugin hevc_hw -preset fast -profile:v main -b:v
500k -maxrate 1500k out.mp4
ffmpeg version N-85917-gcc25a88 Copyright (c) 2000-2017 the FFmpeg
developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4)
configuration: --disable-ffplay --disable-ffserver --extra-
libs='-lstdc++ -lm -lrt -ldl -lnuma' --enable-gpl --enable-version3
--disable-shared --enable-static --disable-debug --disable-ffplay
--disable-indev=sndio --disable-outdev=sndio --enable-libmp3lame --enable-
libopenjpeg --enable-libvorbis --enable-libvpx --enable-libx264 --enable-
libx265 --enable-libmfx --enable-nonfree --disable-libxcb --disable-
libxcb-shm --disable-libxcb-xfixes --disable-libxcb-shape
libavutil 55. 61.100 / 55. 61.100
libavcodec 57. 94.101 / 57. 94.101
libavformat 57. 72.101 / 57. 72.101
libavdevice 57. 7.100 / 57. 7.100
libavfilter 6. 88.100 / 6. 88.100
libswscale 4. 7.101 / 4. 7.101
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
[h264 @ 0x3e33280] Reinit context to 1920x1088, pix_fmt: yuv420p
[h264 @ 0x3e33280] Increasing reorder buffer to 1
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
'src_55A16E560CEFFFF7F98994D086A220F0.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
creation_time : 2017-04-28T15:39:04.000000Z
Duration: 00:33:27.72, start: 0.000000, bitrate: 2019 kb/s
Stream #0:0(eng): Video: h264 (Main), 1 reference frame (avc1 /
0x31637661), yuv420p(tv, bt709, left), 1920x1080 (1920x1088), 1698 kb/s,
25 fps, 25 tbr, 25k tbn, 50 tbc (default)
Metadata:
creation_time : 2017-04-28T15:39:04.000000Z
handler_name : Alias Data Handler
encoder : AVC Coding
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
stereo, fltp, 317 kb/s (default)
Metadata:
creation_time : 2017-04-28T15:39:04.000000Z
handler_name : Alias Data Handler
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> hevc (hevc_qsv))
Press [q] to stop, [?] for help
[h264 @ 0x3e5f520] Reinit context to 1920x1088, pix_fmt: yuv420p
[graph 0 input from stream 0:0 @ 0x51225a0] w:1920 h:1080 pixfmt:yuv420p
tb:1/25000 fr:25/1 sar:0/1 sws_param:flags=2
[auto_scaler_0 @ 0x4d08600] w:iw h:ih flags:'bicubic' interl:0
[format @ 0x3e30da0] auto-inserting filter 'auto_scaler_0' between the
filter 'Parsed_null_0' and the filter 'format'
[auto_scaler_0 @ 0x4d08600] w:1920 h:1080 fmt:yuv420p sar:0/1 -> w:1920
h:1080 fmt:nv12 sar:0/1 flags:0x4
[hevc_qsv @ 0x44d2920] Initialized an internal MFX session using hardware
accelerated implementation
[hevc_qsv @ 0x44d2920] Using the variable bitrate (VBR) ratecontrol method
[hevc_qsv @ 0x44d2920] MFXVideoENCODE_Query() = -9
[hevc_qsv @ 0x44d2920] Selected ratecontrol mode is not supported by the
QSV runtime. Choose a different mode.
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
Conversion failed!
}}}
MFXVideoENCODE_Query() in qsvenc.c returns -9(MFX_ERR_NOT_FOUND), and I
don't knonw what does it mean.
I have checked the system(Media Server Studio 2017 R2, CentOS 7.2 “Gold”)
with sample_encode and samples_decode, they work fine.
I have read these the issue report, but nothing help.
https://trac.ffmpeg.org/ticket/5859
https://trac.ffmpeg.org/ticket/5899
The ffmpeg is built from git cc25a887c5467be5c7b004665047a32d36c9cf42.
Any help will be appreciated.
'''sample_decode testing:'''
{{{
$ ./sample_decode h265 -i ../content/test_stream.265 -o test.yuv -hw
plugin_loader.h :170 [INFO] Plugin was loaded from GUID: { 0x33, 0xa6,
0x1c, 0x0b, 0x4c, 0x27, 0x45, 0x4c, 0xa8, 0xd8, 0x5d, 0xde, 0x75, 0x7c,
0x6f, 0x8e } (Intel (R) Media SDK HW plugin for HEVC DECODE)
pretending that stream is 30fps one
pretending that aspect ratio is 1:1
libva info: VA-API version 0.99.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
Decoding Sample Version 7.0.16053634
Input video HEVC
Output format NV12
Input:
Resolution 176x96
Crop X,Y,W,H 0,0,0,0
Output:
Resolution 176x96
Frame rate 30.00
Memory type system
MediaSDK impl hw
MediaSDK version 1.21
Decoding started
Frame number: 101, fps: 2419.509, fread_fps: 0.000, fwrite_fps: 0.000
Decoding finished
plugin_loader.h :196 [INFO] MFXBaseUSER_UnLoad(session=0x0x7fa74d4d01e0),
sts=0
}}}
'''sample_encode testing:'''
{{{
$ ./sample_encode h265 -i ../content/test_stream_176x96.yuv -o test.265 -h
176 -w 96 -hw
plugin_loader.h :170 [INFO] Plugin was loaded from GUID: { 0x6f, 0xad,
0xc7, 0x91, 0xa0, 0xc2, 0xeb, 0x47, 0x9a, 0xb6, 0xdc, 0xd5, 0xea, 0x9d,
0xa3, 0x47 } (Intel (R) Media SDK HW plugin for HEVC ENCODE)
libva info: VA-API version 0.99.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
Encoding Sample Version 7.0.16053634
Input file format YUV420
Output video HEVC
Source picture:
Resolution 96x176
Crop X,Y,W,H 0,0,96,176
Destination picture:
Resolution 96x176
Crop X,Y,W,H 0,0,96,176
Frame rate 30.00
Bit rate(Kbps) 366
Gop size 0
Ref dist 0
Ref number 0
Idr Interval 0
Target usage balanced
Memory type system
Media SDK impl hw
Media SDK version 1.21
Processing started
Frame number: 101
plugin_loader.h :196 [INFO] MFXBaseUSER_UnLoad(session=0x0x7ff2b9e32d90),
sts=0
Processing finished
}}}
------------------------------------------------------------------------------------
'''The system configuration:'''
{{{
$ cat /etc/centos-release
CentOS Linux release 7.2.1511 (Core)
$ uname -a
Linux multimedia 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015
x86_64 x86_64 x86_64 GNU/Linux
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 94
Model name: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
Stepping: 3
CPU MHz: 800.000
BogoMIPS: 6382.03
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 6144K
NUMA node0 CPU(s): 0-3
--------
$ vainfo
error: can't connect to X server!
libva info: VA-API version 0.99.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.99 (libva 1.67.0.pre1)
vainfo: Driver version: 16.5.1.59511-ubit
vainfo: Supported profile and entrypoints
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: <unknown entrypoint>
VAProfileH264ConstrainedBaseline: <unknown entrypoint>
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : <unknown entrypoint>
VAProfileH264Main : <unknown entrypoint>
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : <unknown entrypoint>
VAProfileH264High : <unknown entrypoint>
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileVP8Version0_3 : VAEntrypointEncSlice
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileVP8Version0_3 : <unknown entrypoint>
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileVP9Profile0 : <unknown entrypoint>
<unknown profile> : VAEntrypointVideoProc
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : <unknown entrypoint>
$ python ~/sys_analyzer_linux.py
--------------------------
Hardware readiness checks:
--------------------------
[ OK ] Processor name: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
--------------------------
OS readiness checks:
--------------------------
[ OK ] GPU visible to OS
--------------------------
Intel(R) Media Server Studio Install:
--------------------------
[ OK ] user in video group
[ OK ] libva.so.1 found
[ OK ] vainfo reports valid codec entry points
[ OK ] /dev/dri/renderD128 connects to Intel i915
--------------------------
Media SDK Plugins available:
(for more info see /opt/intel/mediasdk/plugins/plugins.cfg)
--------------------------
H264LA Encoder = 588f1185d47b42968dea377bb5d0dcb4
VP8 Decoder = f622394d8d87452f878c51f2fc9b4131
HEVC Decoder = 33a61c0b4c27454ca8d85dde757c6f8e
HEVC Encoder = 6fadc791a0c2eb479ab6dcd5ea9da347
--------------------------
Component Smoke Tests:
--------------------------
[ OK ] Media SDK HW API level:1.21
[ OK ] Media SDK SW API level:1.21
[ OK ] OpenCL check:platform:Intel(R) OpenCL GPU OK CPU OK
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/6378>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list