Intel-FFmpeg-Plugin / Intel_FFmpeg_plugins

mirror of git://source.ffmpeg.org/ffmpeg.git
http://ffmpeg.org
Other
35 stars 19 forks source link

ffmpeg decode hevc failed #3

Closed YaboWei closed 7 years ago

YaboWei commented 7 years ago

Hi, I get some hevc decode problems:

1, ffmpeg and MSS sample decode 10bit hevc failed;

2, I have a 8bit hevc, MSS sample decode success, but ffmpeg decode failed; below is the 8bit hevc:

http://pan.baidu.com/s/1hsOMdU0

hzhan80 commented 7 years ago

Hi YaboWei,

  1. hevc 10bit haven't been supported by MSS yet. and so decoder will fail.
  2. please try latest code with branch qsv-3.2.2 in this repo. We have some fix with HEVC_qsv codec git clone https://github.com/Intel-FFmpeg-Plugin/Intel_FFmpeg_plugins.git git checkout origin/qsv-3.2.2 -b 3.2.2
YaboWei commented 7 years ago

Hi, My code is already the newest. Thanks!

hzhan80 commented 7 years ago

OK. We will download the clip and debug the issue asap. thanks

YaboWei commented 7 years ago

ffmpeg decode failed: [chnvideo@bogon Intel_FFmpeg_plugins]$ sudo ./ffmpeg_g -vcodec hevc_qsv -i ./ftest_000.ts -vcodec rawvideo -f rawvideo -y /dev/null ffmpeg version n3.2.2-42-gd200a15 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-11) configuration: --enable-libmfx libavutil 55. 34.100 / 55. 34.100 libavcodec 57. 64.101 / 57. 64.101 libavformat 57. 56.100 / 57. 56.100 libavdevice 57. 1.100 / 57. 1.100 libavfilter 6. 65.100 / 6. 65.100 libswscale 4. 2.100 / 4. 2.100 libswresample 2. 3.100 / 2. 3.100 [hevc @ 0x2125040] vps_num_hrd_parameters -1 is invalid Last message repeated 2 times Input #0, mpegts, from './ftest_000.ts': Duration: 00:00:10.02, start: 1.538667, bitrate: 1462 kb/s Program 1 Metadata: service_name : Service01 service_provider: FFmpeg Stream #0:0[0x100]: Video: hevc (Main) ([36][0][0][0] / 0x0024), yuv420p(tv), 3840x2160 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 25 tbc Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 85 kb/s Stream mapping: Stream #0:0 -> #0:0 (hevc (hevc_qsv) -> rawvideo (native)) Press [q] to stop, [?] for help [NULL @ 0x2125040] vps_num_hrd_parameters -1 is invalid Last message repeated 1 times [NULL @ 0x2191ec0] vps_num_hrd_parameters -1 is invalid libva info: VA-API version 0.99.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_32 libva info: va_openDriver() returns 0 [hevc_qsv @ 0x2126b60] QSV DECODE: Decode Header, ret=0 [hevc_qsv @ 0x2126b60] ret=-10, MFXVideoDECODE_DecodeFrameAsync(size=21544) [NULL @ 0x2191ec0] vps_num_hrd_parameters -1 is invalid [hevc_qsv @ 0x2126b60] ret=-10, MFXVideoDECODE_DecodeFrameAsync(size=21402) [hevc_qsv @ 0x2126b60] A decode call did not consume any data [hevc_qsv @ 0x2126b60] ret=-10, MFXVideoDECODE_DecodeFrameAsync(size=6613) [hevc_qsv @ 0x2126b60] A decode call did not consume any data [hevc_qsv @ 0x2126b60] ret=-10, MFXVideoDECODE_DecodeFrameAsync(size=2483) [hevc_qsv @ 0x2126b60] A decode call did not consume any data [hevc_qsv @ 0x2126b60] ret=-10, MFXVideoDECODE_DecodeFrameAsync(size=1924) [hevc_qsv @ 0x2126b60] A decode call did not consume any data [hevc_qsv @ 0x2126b60] ret=-10, MFXVideoDECODE_DecodeFrameAsync(size=1369) [hevc_qsv @ 0x2126b60] A decode call did not consume any data [hevc_qsv @ 0x2126b60] ret=-10, MFXVideoDECODE_DecodeFrameAsync(size=923) [hevc_qsv @ 0x2126b60] A decode call did not consume any data [hevc_qsv @ 0x2126b60] ret=-10, MFXVideoDECODE_DecodeFrameAsync(size=919) ... ... [hevc_qsv @ 0x2126b60] ret=-10, MFXVideoDECODE_DecodeFrameAsync(size=2561) [hevc_qsv @ 0x2126b60] A decode call did not consume any data [hevc_qsv @ 0x2126b60] ret=-16, MFXVideoDECODE_DecodeFrameAsync(size=0) [hevc_qsv @ 0x2126b60] Error during QSV decoding: -16. Error while decoding stream #0:0: Internal bug, should not have happened Finishing stream 0:0 without any data written to it. Output #0, rawvideo, to '/dev/null': Metadata: encoder : Lavf57.56.100 Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc57.64.101 rawvideo frame= 0 fps=0.0 q=0.0 Lsize= 0kB time=00:00:00.00 bitrate=N/A speed= 0x video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used) Conversion failed!

MSS sample_decode is OK: `[root@bogon MediaSamples_Linux_2017]# ./samples/_bin/x64/sample_decode h265 -i /home/chnvideo/Intel_FFmpeg_plugins/ftest_000.h265 -o out.yuv 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) 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.16053611

Input video HEVC Output format NV12 Input: Resolution 3840x2160 Crop X,Y,W,H 0,0,0,0 Output: Resolution 3840x2160 Frame rate 25.00 Memory type system MediaSDK impl hw MediaSDK version 1.19

Decoding started Frame number: 0, fps: 0.000, fread_fps: 0.000, fwrite_fps: 0.000 ERROR: Incompatible video parameters detected. Recovering... Frame number: 250, fps: 45.572, fread_fps: 0.000, fwrite_fps: 57.3397 Decoding finished plugin_loader.h :196 [INFO] MFXBaseUSER_UnLoad(session=0x0x7f822de001e0), sts=0`

hzhan80 commented 7 years ago

Issue is fixed from commit "b178ad45a09da213ad075b24ca3498f240bbf279" in qsv-3.2.2 branch.