[FFmpeg-trac] #8637(ffmpeg:new): regression on transcoding w/ qsv @1128aa8
FFmpeg
trac at avcodec.org
Tue Apr 28 01:09:34 EEST 2020
#8637: regression on transcoding w/ qsv @1128aa8
----------------------------------+---------------------------------------
Reporter: dvrogozh | Type: defect
Status: new | Priority: normal
Component: ffmpeg | Version: unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
----------------------------------+---------------------------------------
Summary of the bug:
Transcoding w/ qsv fails on SKL - see example below. This is a regression:
use case worked as of f53fc93.
How to reproduce:
{{{
# wget https://fate-suite.libav.org/h264-conformance/AUD_MW_E.264
# ffmpeg -hwaccel qsv -hwaccel_device /dev/dri/renderD128 -c:v h264_qsv
-re -i AUD_MW_E.264 -c:a copy -c:v h264_qsv -b:v 1000000 -y out.mp4
ffmpeg version N-97504-g1128aa8 Copyright (c) 2000-2020 the FFmpeg
developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39)
configuration: --prefix=/home/dvrogozh/git/github/install --enable-
libmfx
libavutil 56. 43.100 / 56. 43.100
libavcodec 58. 82.100 / 58. 82.100
libavformat 58. 42.101 / 58. 42.101
libavdevice 58. 9.103 / 58. 9.103
libavfilter 7. 79.100 / 7. 79.100
libswscale 5. 6.101 / 5. 6.101
libswresample 3. 6.100 / 3. 6.100
Input #0, h264, from 'AUD_MW_E.264':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: h264 (Constrained Baseline), yuv420p(progressive),
176x144, 25 fps, 25 tbr, 1200k tbn, 50 tbc
Stream mapping:
Stream #0:0 -> #0:0 (h264 (h264_qsv) -> h264 (h264_qsv))
Press [q] to stop, [?] for help
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!
}}}
This seems to be a regression since command line works fine on f53fc93.
Here is analisys:
{{{
$ git bisect start
$ git bisect bad 1128aa8
$ git bisect good f53fc93
git bisect log
git bisect start
# bad: [1128aa875367f66ac11adc30364d5652919a2591] avformat: only allow a
single bitstream filter when muxing
git bisect bad 1128aa875367f66ac11adc30364d5652919a2591
# good: [f53fc935b8b75cd301e8beb8ab8e276034cd3442] avfilter/vf_pixscope:
also show standard deviation of zoomed area
git bisect good f53fc935b8b75cd301e8beb8ab8e276034cd3442
# good: [5a1ff449071fefa7913858fbe2d084f698443e57] lavc/qsvenc: Add
hardware config metadata
git bisect good 5a1ff449071fefa7913858fbe2d084f698443e57
# bad: [8abd3b202821e9c491f44d097686402aafdda7c5] ffmpeg: Use hardware
config metadata with encoders
git bisect bad 8abd3b202821e9c491f44d097686402aafdda7c5
# good: [e2542124059f5960ac2bbd94183012814263f20d] ffmpeg: Make filter
hardware device selection clearer
git bisect good e2542124059f5960ac2bbd94183012814263f20d
# first bad commit: [8abd3b202821e9c491f44d097686402aafdda7c5] ffmpeg: Use
hardware config metadata with encoders
}}}
So, this points out to:
{{{
commit 8abd3b202821e9c491f44d097686402aafdda7c5
Author: Mark Thompson <sw at jkqxz.net>
Date: Mon Apr 13 16:33:20 2020 +0100
ffmpeg: Use hardware config metadata with encoders
This can support encoders which want frames and/or device contexts.
For
the device case, it currently picks the first initialised device of
the
desired type to give to the encoder - a new option would be needed if
it
were necessary to choose between multiple devices of the same type.
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8637>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list