Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#7415 closed defect (invalid)

[ffmpeg-qsv][1toN_encode] 1 to N avc encode failed on iHD driver.

Reported by: a Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords: qsv
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:

encode 1 to N failed

environment

FFMPEG-QSV	CFL	OS: ubuntu 17.04	kernel: 4.15.0
	KBL	OS: ubuntu 16.04	kernel: 4.14.0-rc1
	SKL	OS: ubuntu 16.04	kernel: 4.15.0
			
libva	b6c50dad4d7d14c507108d9f468662e2d7ae1c4d	 https://github.com/01org/libva.git  ( master )
iHD Driver	ed04556a6676fd77ff845508bc54bfc60915450c	 https://github.com/intel/media-driver
libva-utils	9a10ad663349732decd668a426cfc349b0010d1d	 https://github.com/01org/libva-utils.git
Mediasdk	7ea683585f0f84f1bea035a405855312c92c46c0	 https://github.com/Intel-Media-SDK/MediaSDK
FFMPEG	56f68a099cc607658118e00cad30569103ae3751	 https://git.ffmpeg.org/ffmpeg.git

How to reproduce:

1.build env as above lists
2.ffmpeg -hwaccel qsv -init_hw_device qsv=hw -filter_hw_device hw -v verbose -f rawvideo -video_size 720x480 -pix_fmt nv12 -i ./Test_720x480p.yuv -an -vf hwupload=extra_hw_frames=64,format=qsv -c:v h264_qsv -vframes 200 -y ./H264e_1N_720x480_session8_1.h264 -c:v h264_qsv -vframes 200 -y ./H264e_1N_720x480_session8_2.h264 -c:v h264_qsv -vframes 200 -y ./H264e_1N_720x480_session8_3.h264 -c:v h264_qsv -vframes 200 -y ./H264e_1N_720x480_session8_4.h264 -c:v h264_qsv -vframes 200 -y ./H264e_1N_720x480_session8_5.h264 -c:v h264_qsv -vframes 200 -y ./H264e_1N_720x480_session8_6.h264 -c:v h264_qsv -vframes 200 -y ./H264e_1N_720x480_session8_7.h264 -c:v h264_qsv -vframes 200 -y ./H264e_1N_720x480_session8_8.h264
3.error message:
[h264_qsv @ 0x1277640] Selected ratecontrol mode is unsupported
[h264_qsv @ 0x1277640] Current frame rate is unsupported
[h264_qsv @ 0x1277640] Current picture structure is unsupported
[h264_qsv @ 0x1277640] Current resolution is unsupported
[h264_qsv @ 0x1277640] Current pixel format is unsupported
[h264_qsv @ 0x1277640] some encoding parameters are not supported by the QSV runtime. Please double check the input parameters.
Error initializing output stream 1:0 -- Error while opening encoder for output stream #1:0 - maybe incorrect parameters such as bit_rate, rate, width or height

Change History (6)

comment:1 by Carl Eugen Hoyos, 6 years ago

Keywords: 1toN removed
Priority: normalwish
Type: defectenhancement

comment:2 by Carl Eugen Hoyos, 6 years ago

Priority: wishnormal
Type: enhancementdefect

comment:3 by jkqxz, 6 years ago

The video filter chain from -vf only applies to the first encoder, so the remaining ones are not using the hardware input on the same device. Try with -filter_complex.

This works for me:

$ LIBVA_DRIVER_NAME=iHD ./ffmpeg_g -y -i input.mp4 -an -init_hw_device qsv=hw -filter_hw_device hw -filter_complex 'format=nv12,hwupload=extra_hw_frames=64,split=2[out1][out2]' -map '[out1]' -c:v h264_qsv -frames:v 100 out1.h264 -map '[out2]' -c:v h264_qsv -frames:v 100 out2.h264

comment:4 by a, 6 years ago

I changed my command as below , now it run successfully .
Thank you very much.

... -filter_complex 'hwupload=extra_hw_frames=64,format=qsv,split=8[1][2][3][4][5][6][7][8]'
-map '[1]' -c:v h264_qsv -vframes 200 -y ./H264e_1N_720x480_session8_1.h264
-map '[2]' -c:v h264_qsv -vframes 200 -y ./H264e_1N_720x480_session8_2.h264
-map '[3]' -c:v h264_qsv -vframes 200 -y ./H264e_1N_720x480_session8_3.h264
-map '[4]' -c:v h264_qsv -vframes 200 -y ./H264e_1N_720x480_session8_4.h264
-map '[5]' -c:v h264_qsv -vframes 200 -y ./H264e_1N_720x480_session8_5.h264
-map '[6]' -c:v h264_qsv -vframes 200 -y ./H264e_1N_720x480_session8_6.h264
-map '[7]' -c:v h264_qsv -vframes 200 -y ./H264e_1N_720x480_session8_7.h264
-map '[8]' -c:v h264_qsv -vframes 200 -y ./H264e_1N_720x480_session8_8.h264

comment:5 by Zhong,Li, 6 years ago

Resolution: fixed
Status: newclosed

comment:6 by Carl Eugen Hoyos, 6 years ago

Resolution: fixedinvalid
Note: See TracTickets for help on using tickets.