[FFmpeg-devel] [PATCH v2 0/8] Merge lazy filter initialization in ffmpeg CLI
Michael Niedermayer
michael at niedermayer.cc
Fri Feb 17 13:16:01 EET 2017
On Wed, Feb 15, 2017 at 07:57:17PM +0100, Michael Niedermayer wrote:
> On Wed, Feb 15, 2017 at 03:22:33PM +0100, Michael Niedermayer wrote:
> > On Wed, Feb 15, 2017 at 10:24:15AM +0100, wm4 wrote:
> > > 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
> > > and ffmpeg_cuvid.c, which don'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.
> > >
> > > I plan to push this tomorrow, except if critical errors are found.
> > >
> > > 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 (2):
> > > ffmpeg_cuvid: adapt for recent filter graph initialization changes
> > > 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
> >
> > breaks: (Application provided invalid, non monotonically increasing dts to muxer in stream 1: 1824120 >= 70020)
> >
> > ./ffmpeg -skip_frame nokey -ss 20 -i ~/tickets/2024/dvbsubtest.ts -qscale 2 -scodec dvbsub -t 6 -an file.ts
>
> heres another issue:
>
> ./ffmpeg -i ~/tickets/3015/test_video -filter:a apad -f flv -vcodec flv -ar 22050 -shortest file.flv
>
> the output files looses a audio stream
also it seems this patchset does not fix all the previously reported
isssues, tickets/1726/Mono.thd is still broken
and the patchset causes crashes, sadly it seems not with any public
files i could find but heres a backtrace
==11848== Invalid read of size 8
==11848== at 0x4714B1: av_buffersink_get_frame_rate (buffersink.c:193)
==11848== by 0x435ADB: init_output_stream_encode (ffmpeg.c:3207)
==11848== by 0x43641C: init_output_stream (ffmpeg.c:3339)
==11848== by 0x42E4DB: reap_filters (ffmpeg.c:1428)
==11848== by 0x43A9CC: transcode_step (ffmpeg.c:4442)
==11848== by 0x43AAB0: transcode (ffmpeg.c:4486)
==11848== by 0x43B285: main (ffmpeg.c:4691)
==11848== Address 0x8 is not stack'd, malloc'd or (recently) free'd
If this backtrace is not sufficient i can share the file privatly
with someone who wants to work on fixing this
It also may make sense to test this patchset with a fuzzer, i did not
try that.
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Into a blind darkness they enter who follow after the Ignorance,
they as if into a greater darkness enter who devote themselves
to the Knowledge alone. -- Isha Upanishad
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170217/2b656966/attachment.sig>
More information about the ffmpeg-devel
mailing list