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

wm4 nfxjfg at googlemail.com
Wed Feb 15 11:07:45 EET 2017


On Tue, 14 Feb 2017 18:43:30 +0100
Michael Niedermayer <michael at niedermayer.cc> wrote:

> On Tue, Feb 14, 2017 at 06:11:22PM +0100, Michael Niedermayer wrote:
> > On Mon, Feb 13, 2017 at 12:57:30PM +0100, Michael Niedermayer wrote:  
> > > On Mon, Feb 13, 2017 at 10:31:19AM +0100, wm4 wrote:  
> > > > On Fri, 10 Feb 2017 15:25:13 +0100
> > > > Michael Niedermayer <michael at niedermayer.cc> wrote:
> > > >   
> > > > > On Fri, Feb 10, 2017 at 03:22:28PM +0100, Michael Niedermayer wrote:  
> > > > > > On Fri, Feb 10, 2017 at 03:15:29PM +0100, Michael Niedermayer wrote:    
> > > > > > > On Fri, Feb 10, 2017 at 01:35:32PM +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,
> > > > > > > > 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    
> > > > > > > 
> > > > > > > This patchset breaks
> > > > > > > ./ffmpeg -i Voting_Machine.wmv test.avi
> > > > > > > 
> > > > > > > http://data.onas.ru/fun-clips/Voting_Machine.wmv
> > > > > > > 
> > > > > > > didnt bisect which patch causes it    
> > > > > > 
> > > > > > heres another example:
> > > > > > 
> > > > > > ./ffmpeg -i ~/tickets/4329/bogus_video.mp4 -vframes 5  -vf crop=720:404  out.mov
> > > > > > ./ffplay out.mov
> > > > > > before this patchset out.mov had an audio stream    
> > > > > 
> > > > > sample seems to be here:
> > > > > http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket4329/
> > > > > 
> > > > > [...]
> > > > > 
> > > > >   
> > > > 
> > > > Most of these should be fixed, new patches:
> > > > https://github.com/wm4/FFmpeg/commits/filter-merge  
> > > 
> > > already reported on IRC:
> > > this breaks:
> > > ./ffmpeg -i ~/videos/matrixbench_mpeg2.mpg -vf scale=80x60  small.mpg && ./ffmpeg -i small.mpg  -vframes 3 -metadata compilation="1"  blah.m4a
> > > 
> > > 
> > > Also please repost the patchset or changed patches to the ML
> > > I think this needs more testing, its a large patchset  
> > 
> > a new one
> > 
> > ./ffmpeg -i tickets//3080/flossless_cut.avi -f null -
> > (with 2c7a77304a7c4f8f7670866db319613771fcde13)
> > 
> > seems to never exit on its own  

Fixed in the next patch set.

> 
> heres another failure:
> i found 3 files failing this way, sadly 1 is marked as private and one
> i cant figure out were i got it from so its possibly private too
> the 3rd is public but a fuzzed file, the other 2 are a undamaged file
> and one which has actual real world (unintended) damage
> 
> ./ffmpeg -i tickets//4931/ffv1_fuzz1.avi out.avi
> 
> this fails were previously there was some output

Appears to "work" with -max_muxing_queue_size 1000

> [...]
> 



More information about the ffmpeg-devel mailing list