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-QSV Performance Issue with VPP Color Conversion #47

Closed gsilva2016 closed 5 years ago

gsilva2016 commented 6 years ago

FFMPEG-QSV filter for converting NV12 to rgb32 in HW doesn’t appear to work. Although the command executes and converts to RGB32 we see CPU usage dramatically increase thus indicating GPU is not being used.

Following are the observations( 9- 4K- People- H264- SDR-2_60fps.mp4 (4K @60fps) is used for this experiment) : • Ubuntu 16 LTS • ffmpeg –hwaccel qsv –c:v h264_qsv –I -vf “vpp_qsv=framerate=60,format=rgb32” –f sdl - • ffmpeg -hwaccel qsv -c:v h264_qsv -i /home/test/TestFiles/Video/H264/9-\ 4K-\ People-\ H264-\ SDR-2_60fps.mp4 -vf vpp_qsv=framerate=60,format=rgb32 -f null – • Output FPS : If the format is selected as rgb32 , output FPS is about 30-32 .However, the output FPS for nv12 and qsv format is 99 and 155 respectively. • GPU Usage (measured using intel_gpu_time): For the rgb32 format , GPU utilization is 11% in comparison to 32.5% and 44.7% for nv12 and qsv format. • Format option can only be applied after scaling and framerate filter.

lizhong1008 commented 6 years ago

Should be using CPU to do nv12->rgb32 conversion. Would you please try: ./ffmpeg -hwaccel qsv -c:v h264_qsv -i /samba/anonymous/Videos/bbb_sunflower_1080p_30fps_normal.mp4 -vf "vpp_qsv=framerate=60,scale_qsv=format=rgb32, hwdownload,format=rgb32" -f sdl - scale_qsv can use HW to do nv12->rgb32.