[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