#8006 closed defect (invalid)
VAAPI: fails to transcode HEVC 10bit on AMD RAVEN APU
Reported by: | tvsht | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | git-master | Keywords: | vaapi |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
vaapi accelerated transcoding from hevc 10bit to h264_vaapi fails
command:
"ffmpeg -threads 1 -loglevel debug \ -init_hw_device vaapi=amd:/dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi -hwaccel_device amd -filter_hw_device amd \ -i trk.mkv \ -vf "scale_vaapi=format=nv12" \ -c:v h264_vaapi \ -c:a copy -c:s copy -bf 0 \ -y plop.mkv
vainfo:
libva info: VA-API version 1.4.1 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/va/drivers/radeonsi_drv_video.so libva info: Found init function __vaDriverInit_1_4 ATTENTION: default value of option allow_rgb10_configs overridden by environment. ATTENTION: option value of option allow_rgb10_configs ignored. libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.4 (libva 2.4.0) vainfo: Driver version: Mesa Gallium driver 19.2.0-devel for AMD RAVEN (DRM 3.30.0, 5.1.16-gentoo, LLVM 8.0.0) vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointEncSlice VAProfileHEVCMain10 : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointVLD VAProfileVP9Profile0 : VAEntrypointVLD VAProfileVP9Profile2 : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc
ffmpeg debug log:
ffmpeg version 4.1.3 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 9.1.0 (Gentoo 9.1.0) configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --docdir=/usr/share/doc/ffmpeg-4.1.3/html --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar --optflags='-O3 -fgraphite-identity -floop-nest-optimize -fdevirtualize-at-ltrans -fno-semantic-interposition -fipa-pta -fuse-linker-plugin -O3 -march=native -pipe -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu' --disable-static --enable-avfilter --enable-avresample --disable-stripping --disable-optimizations --disable-libcelt --enable-lto --enable-nonfree --disable-indev=v4l2 --disable-outdev=v4l2 --disable-indev=oss --disable-indev=jack --disable-outdev=oss --enable-bzlib --disable-runtime-cpudetect --disable-debug --disable-gcrypt --disable-gnutls --disable-gmp --enable-gpl --enable-hardcoded-tables --enable-iconv --disable-libtls --disable-libxml2 --disable-lzma --enable-network --disable-opencl --enable-openssl --enable-postproc --disable-libsmbclient --enable-ffplay --enable-sdl2 --enable-vaapi --disable-vdpau --enable-xlib --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --enable-zlib --disable-libcdio --disable-libiec61883 --disable-libdc1394 --disable-libcaca --disable-openal --enable-opengl --disable-libv4l2 --enable-libpulse --enable-libdrm --disable-libjack --disable-libopencore-amrwb --disable-libopencore-amrnb --disable-libcodec2 --disable-libfdk-aac --disable-libopenjpeg --enable-libbluray --disable-libgme --disable-libgsm --disable-mmal --disable-libmodplug --disable-libopus --disable-libilbc --disable-librtmp --disable-libssh --disable-libspeex --enable-libsrt --disable-librsvg --disable-ffnvcodec --enable-libvorbis --enable-libvpx --disable-libzvbi --disable-appkit --disable-libbs2b --disable-chromaprint --disable-libflite --disable-frei0r --disable-libfribidi --disable-fontconfig --disable-ladspa --enable-libass --disable-lv2 --enable-libfreetype --disable-librubberband --disable-libzmq --disable-libzimg --enable-libsoxr --enable-pthreads --disable-libvo-amrwbenc --disable-libmp3lame --disable-libkvazaar --disable-libaom --disable-libopenh264 --disable-libsnappy --disable-libtheora --disable-libtwolame --disable-libwavpack --enable-libwebp --disable-libx264 --disable-libx265 --disable-libxvid --disable-gnutls --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-neon --disable-vfp --disable-vfpv3 --disable-armv8 --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-altivec --disable-amd3dnow --disable-amd3dnowext --disable-fma4 --disable-xop --cpu=host --disable-doc --disable-htmlpages --enable-manpages libavutil 56. 22.100 / 56. 22.100 libavcodec 58. 35.100 / 58. 35.100 libavformat 58. 20.100 / 58. 20.100 libavdevice 58. 5.100 / 58. 5.100 libavfilter 7. 40.101 / 7. 40.101 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 3.100 / 5. 3.100 libswresample 3. 3.100 / 3. 3.100 libpostproc 55. 3.100 / 55. 3.100 Splitting the commandline. Reading option '-threads' ... matched as AVOption 'threads' with argument '1'. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'vaapi=amd:/dev/dri/renderD128'. Reading option '-hwaccel' ... matched as option 'hwaccel' (use HW accelerated decoding) with argument 'vaapi'. Reading option '-hwaccel_output_format' ... matched as option 'hwaccel_output_format' (select output format used with HW accelerated decoding) with argument 'vaapi'. Reading option '-hwaccel_device' ... matched as option 'hwaccel_device' (select a device for HW acceleration) with argument 'amd'. Reading option '-filter_hw_device' ... matched as option 'filter_hw_device' (set hardware device used when filtering) with argument 'amd'. Reading option '-i' ... matched as input url with argument 'trk.mkv'. Reading option '-vf' ... matched as option 'vf' (set video filters) with argument 'scale_vaapi=format=nv12'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'h264_vaapi'. Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'copy'. Reading option '-c:s' ... matched as option 'c' (codec name) with argument 'copy'. Reading option '-bf' ... matched as AVOption 'bf' with argument '0'. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option 'plop.mkv' ... matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option loglevel (set logging level) with argument debug. Applying option init_hw_device (initialise hardware device) with argument vaapi=amd:/dev/dri/renderD128. [AVHWDeviceContext @ 0x482440] Opened VA display via DRM device /dev/dri/renderD128. [AVHWDeviceContext @ 0x482440] libva: VA-API version 1.4.1 [AVHWDeviceContext @ 0x482440] libva: va_getDriverName() returns 0 [AVHWDeviceContext @ 0x482440] libva: Trying to open /usr/lib64/va/drivers/radeonsi_drv_video.so [AVHWDeviceContext @ 0x482440] libva: Found init function __vaDriverInit_1_4 ATTENTION: default value of option allow_rgb10_configs overridden by environment. ATTENTION: option value of option allow_rgb10_configs ignored. [AVHWDeviceContext @ 0x482440] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x482440] Initialised VAAPI connection: version 1.4 [AVHWDeviceContext @ 0x482440] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x482440] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x482440] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x482440] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x482440] Format 0x56595559 -> unknown. [AVHWDeviceContext @ 0x482440] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x482440] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x482440] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x482440] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x482440] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x482440] VAAPI driver: Mesa Gallium driver 19.2.0-devel for AMD RAVEN (DRM 3.30.0, 5.1.16-gentoo, LLVM 8.0.0). [AVHWDeviceContext @ 0x482440] Driver not found in known nonstandard list, using standard behaviour. Applying option filter_hw_device (set hardware device used when filtering) with argument amd. Applying option y (overwrite output files) with argument 1. Successfully parsed a group of options. Parsing a group of options: input url trk.mkv. Applying option hwaccel (use HW accelerated decoding) with argument vaapi. Applying option hwaccel_output_format (select output format used with HW accelerated decoding) with argument vaapi. Applying option hwaccel_device (select a device for HW acceleration) with argument amd. Successfully parsed a group of options. Opening an input file: trk.mkv. [NULL @ 0x723240] Opening 'trk.mkv' for reading [file @ 0x723d40] Setting default whitelist 'file,crypto' [matroska,webm @ 0x723240] Format matroska,webm probed with size=2048 and score=100 st:0 removing common factor 1000000 from timebase st:1 removing common factor 1000000 from timebase st:2 removing common factor 1000000 from timebase st:3 removing common factor 1000000 from timebase st:4 removing common factor 1000000 from timebase st:5 removing common factor 1000000 from timebase st:6 removing common factor 1000000 from timebase st:7 removing common factor 1000000 from timebase st:8 removing common factor 1000000 from timebase st:9 removing common factor 1000000 from timebase st:10 removing common factor 1000000 from timebase st:11 removing common factor 1000000 from timebase st:12 removing common factor 1000000 from timebase [matroska,webm @ 0x723240] Before avformat_find_stream_info() pos: 12838 bytes read:37824 seeks:2 nb_streams:13 [hevc @ 0x74d000] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x74d000] Decoding VPS [hevc @ 0x74d000] Main 10 profile bitstream [hevc @ 0x74d000] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x74d000] Decoding SPS [hevc @ 0x74d000] Main 10 profile bitstream [hevc @ 0x74d000] Decoding VUI [hevc @ 0x74d000] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x74d000] Decoding PPS [hevc @ 0x74d000] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x74d000] Decoding SEI [hevc @ 0x74d000] Skipped PREFIX SEI 5 [dvdsub @ 0x74fcc0] palette: 0x000000 0xf0f0f0 0xcccccc 0x999999 0x3333fa 0x1111bb 0xfa3333 0xbb1111 0x33fa33 0x11bb11 0xfafa33 0xbbbb11 0xfa33fa 0xbb11bb 0x33fafa 0x11bbbb [dvdsub @ 0x750d00] palette: 0x000000 0xf0f0f0 0xcccccc 0x999999 0x3333fa 0x1111bb 0xfa3333 0xbb1111 0x33fa33 0x11bb11 0xfafa33 0xbbbb11 0xfa33fa 0xbb11bb 0x33fafa 0x11bbbb [dvdsub @ 0x751e00] palette: 0x000000 0xf0f0f0 0xcccccc 0x999999 0x3333fa 0x1111bb 0xfa3333 0xbb1111 0x33fa33 0x11bb11 0xfafa33 0xbbbb11 0xfa33fa 0xbb11bb 0x33fafa 0x11bbbb [dvdsub @ 0x752f00] palette: 0x000000 0xf0f0f0 0xcccccc 0x999999 0x3333fa 0x1111bb 0xfa3333 0xbb1111 0x33fa33 0x11bb11 0xfafa33 0xbbbb11 0xfa33fa 0xbb11bb 0x33fafa 0x11bbbb [dvdsub @ 0x754000] palette: 0x000000 0xf0f0f0 0xcccccc 0x999999 0x3333fa 0x1111bb 0xfa3333 0xbb1111 0x33fa33 0x11bb11 0xfafa33 0xbbbb11 0xfa33fa 0xbb11bb 0x33fafa 0x11bbbb [dvdsub @ 0x755100] palette: 0x000000 0xf0f0f0 0xcccccc 0x999999 0x3333fa 0x1111bb 0xfa3333 0xbb1111 0x33fa33 0x11bb11 0xfafa33 0xbbbb11 0xfa33fa 0xbb11bb 0x33fafa 0x11bbbb [dvdsub @ 0x756200] palette: 0x000000 0xf0f0f0 0xcccccc 0x999999 0x3333fa 0x1111bb 0xfa3333 0xbb1111 0x33fa33 0x11bb11 0xfafa33 0xbbbb11 0xfa33fa 0xbb11bb 0x33fafa 0x11bbbb [dvdsub @ 0x757300] palette: 0x000000 0xf0f0f0 0xcccccc 0x999999 0x3333fa 0x1111bb 0xfa3333 0xbb1111 0x33fa33 0x11bb11 0xfafa33 0xbbbb11 0xfa33fa 0xbb11bb 0x33fafa 0x11bbbb [dvdsub @ 0x758400] palette: 0x000000 0xf0f0f0 0xcccccc 0x999999 0x3333fa 0x1111bb 0xfa3333 0xbb1111 0x33fa33 0x11bb11 0xfafa33 0xbbbb11 0xfa33fa 0xbb11bb 0x33fafa 0x11bbbb [dvdsub @ 0x759500] palette: 0x000000 0xf0f0f0 0xcccccc 0x999999 0x3333fa 0x1111bb 0xfa3333 0xbb1111 0x33fa33 0x11bb11 0xfafa33 0xbbbb11 0xfa33fa 0xbb11bb 0x33fafa 0x11bbbb [dvdsub @ 0x75a600] palette: 0x000000 0xf0f0f0 0xcccccc 0x999999 0x3333fa 0x1111bb 0xfa3333 0xbb1111 0x33fa33 0x11bb11 0xfafa33 0xbbbb11 0xfa33fa 0xbb11bb 0x33fafa 0x11bbbb [matroska,webm @ 0x723240] All info found [matroska,webm @ 0x723240] After avformat_find_stream_info() pos: 16151 bytes read:70592 seeks:2 frames:11 Input #0, matroska,webm, from 'trk.mkv': Metadata: encoder : libebml v1.3.6 + libmatroska v1.4.9 creation_time : 2018-08-21T19:22:09.000000Z Writing frontend: StaxRip v1.8.2.0 Duration: 00:23:46.13, start: 0.000000, bitrate: 937 kb/s Stream #0:0, 3, 1/1000: Video: hevc (Main 10), 1 reference frame, yuv420p10le(tv), 1920x1072, 0/1, SAR 1:1 DAR 120:67, 23.98 fps, 23.98 tbr, 1k tbn, 23.98 tbc (default) ...[cut_subtitles_loading]... uccessfully opened the file. Parsing a group of options: output url plop.mkv. Applying option vf (set video filters) with argument scale_vaapi=format=nv12. Applying option c:v (codec name) with argument h264_vaapi. Applying option c:a (codec name) with argument copy. Applying option c:s (codec name) with argument copy. Successfully parsed a group of options. Opening an output file: plop.mkv. [file @ 0x7db800] Setting default whitelist 'file,crypto' Successfully opened the file. [hevc @ 0x845300] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x845300] Decoding VPS [hevc @ 0x845300] Main 10 profile bitstream [hevc @ 0x845300] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x845300] Decoding SPS [hevc @ 0x845300] Main 10 profile bitstream [hevc @ 0x845300] Decoding VUI [hevc @ 0x845300] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x845300] Decoding PPS [hevc @ 0x845300] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x845300] Decoding SEI [hevc @ 0x845300] Skipped PREFIX SEI 5 Stream mapping: Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_vaapi)) Stream #0:1 -> #0:1 (copy) Stream #0:2 -> #0:2 (copy) Press [q] to stop, [?] for help cur_dts is invalid (this is harmless if it occurs once at the start per stream) [hevc @ 0x845300] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x845300] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x845300] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x845300] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x845300] nal_unit_type: 20(IDR_N_LP), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x845300] Decoding VPS [hevc @ 0x845300] Main 10 profile bitstream [hevc @ 0x845300] Decoding SPS [hevc @ 0x845300] Main 10 profile bitstream [hevc @ 0x845300] Decoding VUI [hevc @ 0x845300] Decoding PPS [hevc @ 0x845300] Decoding SEI [hevc @ 0x845300] Skipped PREFIX SEI 5 [hevc @ 0x845300] Format vaapi_vld chosen by get_format(). [hevc @ 0x845300] Format vaapi_vld requires hwaccel initialisation. [hevc @ 0x845300] Considering format 0x3231564e -> nv12. [hevc @ 0x845300] Considering format 0x30313050 -> p010le. [hevc @ 0x845300] Ignoring unknown format 0x36313050. [hevc @ 0x845300] Picked p010le (0x30313050) as best match for yuv420p10le. [AVHWFramesContext @ 0x482000] Created surface 0x1. [AVHWFramesContext @ 0x482000] Direct mapping disabled: deriving image does not work: 1 (operation failed). [AVHWFramesContext @ 0x482000] Created surface 0x2. [AVHWFramesContext @ 0x482000] Created surface 0x3. [AVHWFramesContext @ 0x482000] Created surface 0x4. [AVHWFramesContext @ 0x482000] Created surface 0x5. [AVHWFramesContext @ 0x482000] Created surface 0x6. [AVHWFramesContext @ 0x482000] Created surface 0x7. [AVHWFramesContext @ 0x482000] Created surface 0x8. [AVHWFramesContext @ 0x482000] Created surface 0x9. [AVHWFramesContext @ 0x482000] Created surface 0xa. [AVHWFramesContext @ 0x482000] Created surface 0xb. [AVHWFramesContext @ 0x482000] Created surface 0xc. [AVHWFramesContext @ 0x482000] Created surface 0xd. [AVHWFramesContext @ 0x482000] Created surface 0xe. [AVHWFramesContext @ 0x482000] Created surface 0xf. [AVHWFramesContext @ 0x482000] Created surface 0x10. [AVHWFramesContext @ 0x482000] Created surface 0x11. [AVHWFramesContext @ 0x482000] Created surface 0x12. [AVHWFramesContext @ 0x482000] Created surface 0x13. [AVHWFramesContext @ 0x482000] Created surface 0x14. [hevc @ 0x845300] Considering format 0x3231564e -> nv12. [hevc @ 0x845300] Considering format 0x30313050 -> p010le. [hevc @ 0x845300] Ignoring unknown format 0x36313050. [hevc @ 0x845300] Picked p010le (0x30313050) as best match for yuv420p10le. [hevc @ 0x845300] Decode context initialised: 0x15/0x16. [hevc @ 0x845300] Param buffer (type 0, 604 bytes) is 0x17. [hevc @ 0x845300] Slice 0 param buffer (264 bytes) is 0x18. [hevc @ 0x845300] Slice 0 data buffer (562 bytes) is 0x19. [hevc @ 0x845300] Decode to surface 0x14. cur_dts is invalid (this is harmless if it occurs once at the start per stream) Last message repeated 8 times [hevc @ 0x845300] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x845300] Param buffer (type 0, 604 bytes) is 0x17. [hevc @ 0x845300] Slice 0 param buffer (264 bytes) is 0x18. [hevc @ 0x845300] Slice 0 data buffer (122 bytes) is 0x19. [hevc @ 0x845300] Decode to surface 0x13. cur_dts is invalid (this is harmless if it occurs once at the start per stream) [hevc @ 0x845300] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x845300] Output frame with POC 0. [hevc @ 0x845300] Param buffer (type 0, 604 bytes) is 0x17. [hevc @ 0x845300] Slice 0 param buffer (264 bytes) is 0x18. [hevc @ 0x845300] Slice 0 data buffer (104 bytes) is 0x19. [hevc @ 0x845300] Decode to surface 0x12. detected 4 logical cores [Parsed_scale_vaapi_0 @ 0xa14100] Setting 'format' to value 'nv12' [graph 0 input from stream 0:0 @ 0xae9400] Setting 'video_size' to value '1920x1072' [graph 0 input from stream 0:0 @ 0xae9400] Setting 'pix_fmt' to value '46' [graph 0 input from stream 0:0 @ 0xae9400] Setting 'time_base' to value '1/1000' [graph 0 input from stream 0:0 @ 0xae9400] Setting 'pixel_aspect' to value '1/1' [graph 0 input from stream 0:0 @ 0xae9400] Setting 'sws_param' to value 'flags=2' [graph 0 input from stream 0:0 @ 0xae9400] Setting 'frame_rate' to value '24000/1001' [graph 0 input from stream 0:0 @ 0xae9400] w:1920 h:1072 pixfmt:vaapi_vld tb:1/1000 fr:24000/1001 sar:1/1 sws_param:flags=2 [format @ 0xae92c0] Setting 'pix_fmts' to value 'vaapi_vld' [AVFilterGraph @ 0xa133c0] query_formats: 4 queried, 3 merged, 0 already done, 0 delayed [AVHWFramesContext @ 0xa134c0] Created surface 0x18. [AVHWFramesContext @ 0xa134c0] Direct mapping disabled: deriving image does not work: 1 (operation failed). [AVHWFramesContext @ 0xa134c0] Created surface 0x19. [AVHWFramesContext @ 0xa134c0] Created surface 0x1a. [AVHWFramesContext @ 0xa134c0] Created surface 0x1b. [AVHWFramesContext @ 0xa134c0] Created surface 0x1c. [AVHWFramesContext @ 0xa134c0] Created surface 0x1d. [AVHWFramesContext @ 0xa134c0] Created surface 0x1e. [AVHWFramesContext @ 0xa134c0] Created surface 0x1f. [AVHWFramesContext @ 0xa134c0] Created surface 0x20. [AVHWFramesContext @ 0xa134c0] Created surface 0x21. [Parsed_scale_vaapi_0 @ 0xa14100] Filter input: vaapi_vld, 1920x1072 (0). [Parsed_scale_vaapi_0 @ 0xa14100] Using surface 0x14 for scale input. [Parsed_scale_vaapi_0 @ 0xa14100] Using surface 0x21 for scale output. [Parsed_scale_vaapi_0 @ 0xa14100] Pipeline parameter buffer is 0x23. [Parsed_scale_vaapi_0 @ 0xa14100] Failed to render parameter buffer: 6 (invalid VASurfaceID). Error while filtering: Input/output error Failed to inject frame into filter network: Input/output error Error while processing the decoded data for stream #0:0 [AVIOContext @ 0x85e880] Statistics: 0 seeks, 0 writeouts [AVIOContext @ 0x72c000] Statistics: 70592 bytes read, 2 seeks Conversion failed!
Change History (3)
follow-up: 3 comment:1 by , 5 years ago
comment:2 by , 5 years ago
Keywords: | vaapi added |
---|---|
Resolution: | → invalid |
Status: | new → closed |
comment:3 by , 5 years ago
Replying to jkqxz:
This is the separated fields of surfaces in the Mesa driver biting you - you can't apply any postprocessing to the output of the H.265 decoder because you'll always fail a test like <https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/state_trackers/va/postproc.c#n131>.
It works fine if you build Mesa with separated fields disabled, e.g. by:
diff --git a/src/gallium/state_trackers/va/surface.c b/src/gallium/state_trackers/va/surface.c index 86daf0f7988..be72561df30 100644 --- a/src/gallium/state_trackers/va/surface.c +++ b/src/gallium/state_trackers/va/surface.c @@ -768,6 +768,7 @@ vlVaCreateSurfaces2(VADriverContextP ctx, unsigned int format, PIPE_VIDEO_ENTRYPOINT_BITSTREAM, PIPE_VIDEO_CAP_PREFERS_INTERLACED ); + templat.interlaced = false; if (expected_fourcc) { enum pipe_format expected_format = VaFourccToPipeFormat(expected_fourcc);
Thank you, with this patch hw transcoding "works" above-mentioned bug is gone, but the resulting files are half green, I'm assuming I should report it to mesa's bugtracker? Could you link me to where this patch came from?
This is the separated fields of surfaces in the Mesa driver biting you - you can't apply any postprocessing to the output of the H.265 decoder because you'll always fail a test like <https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/state_trackers/va/postproc.c#n131>.
It works fine if you build Mesa with separated fields disabled, e.g. by: