[FFmpeg-devel] [PATCH 0/9] Merge lazy filter initialization in ffmpeg CLI

wm4 nfxjfg at googlemail.com
Fri Feb 10 14:35:32 EET 2017


These patches merge the previously skipped Libav commits, which made
avconv lazily initialize libavfilter graphs. This means the filters
are initialized with the actual output format, instead of whatever
libavformat reports.

It's a prerequisite to making hardware decoding support saner, as
hardware decoders will output a different pixfmt than the software
format reported by libavformat. This can be seen on ffmpeg_qsv.c,
which doesn't lose any functionality, even though half of the code
is removed.

There are some differences in how ffmpeg.c and avconv.c filter-flow
works. Also, avconv.c doesn't have sub2video. Relatively intrusive
changes were required.

The status of cuvid is unknown, but work in progress.

Anton Khirnov (4):
  ffmpeg: do packet ts rescaling in write_packet()
  ffmpeg: init filtergraphs only after we have a frame on each input
  ffmpeg: move flushing the queued frames to configure_filtergraph()
  ffmpeg: restructure sending EOF to filters

Timo Rothenpieler (3):
  ffmpeg_cuvid: adapt for recent filter graph initialization changes
  avcodec/cuvid: add format mismatch debug logs
  avcodec/cuvid: update hw_frames_ctx reference after get_format call

wm4 (2):
  ffmpeg: make sure packets put into the muxing FIFO are refcounted
  ffmpeg: fix printing of filter input/output names

 doc/libav-merge.txt                                |   1 -
 ffmpeg.c                                           | 347 ++++++++++++---------
 ffmpeg.h                                           |  20 +-
 ffmpeg_cuvid.c                                     | 142 ++-------
 ffmpeg_filter.c                                    | 112 +++----
 ffmpeg_opt.c                                       |  44 ---
 ffmpeg_qsv.c                                       |  82 -----
 libavcodec/cuvid.c                                 |  18 ++
 .../fate/exr-rgb-scanline-pxr24-half-uint32-13x9   |   2 +-
 .../fate/exr-rgba-scanline-float-half-b44-12x8-l1  |   2 +-
 .../fate/exr-rgba-scanline-float-half-b44-12x8-l2  |   2 +-
 .../fate/exr-rgba-scanline-float-half-b44-13x9-l1  |   2 +-
 .../fate/exr-rgba-scanline-float-half-b44-13x9-l2  |   2 +-
 .../fate/exr-rgba-scanline-float-half-b44a-12x8-l1 |   2 +-
 .../fate/exr-rgba-scanline-float-half-b44a-12x8-l2 |   2 +-
 .../fate/exr-rgba-scanline-float-half-b44a-13x9-l1 |   2 +-
 .../fate/exr-rgba-scanline-float-half-b44a-13x9-l2 |   2 +-
 tests/ref/fate/vp8-size-change                     |  62 ++--
 tests/ref/lavf/ffm                                 |   2 +-
 tests/ref/lavf/mxf                                 |   6 +-
 20 files changed, 352 insertions(+), 502 deletions(-)

-- 
2.11.0



More information about the ffmpeg-devel mailing list