On Wed, Dec 17, 2008 at 2:24 PM, Dan Dennedy <dan at dennedy.org> wrote: > On Wed, Dec 17, 2008 at 11:12 AM, Jean-Michel Pour? <jm at poure.com> wrote: >> On Wed, 2008-12-17 at 10:43 -0800, Dan Dennedy wrote: >>> configure with --enable-pthreads and run ffplay with the -threads >>> option followed by the number of worker threads to use. It will still >>> keep a decoder control thread and separate reader/output threads, all >>> of which are fairly light, so it is a good idea to use (#cores - 1) >>> for the worker threads. >> >> Ah ... this skiploop is not documented. > > documented in the source :-). Actually, I knew of it because of 'ffplay -h' > >> ffplay -skiploop 48 -threads 2 avchd-test-1.mts works very well. >> >> By the way, FFmpeg developers suggested that we do not decode B frames >> during viewing. I don't know is this can apply to Kdenlive. > > Yeah, I'm not sure, but I will experiment with it. I might be okay to > skip B frames in preview (user might see repeated frames) and then > process them during render. With ffplay you can use "-skipframe 16" to > skip B frames.
I learned that on my dual Athlon, these two options make it about twice as fast! I also learned that despite this, it does not support parallelized decoding even though (if I am not mistaken), it appears most files I tested have 2 slices per frame (determined using "-debug 1"). Nevertheless, this are some cheap, simple options. I added AVOption parsing to MLT producer_avformat in SVN. Please update and try this out: $ inigo some.mts skip_loop_filter=all skip_frame=bidir -consumer westley:some-fast.westley Next, load the some-fast.westley in kdenlive and try it out. This will still use these options when rendering. To fix that, you could edit the kdenlive project in a text editor and change all "-fast.westely" to ".mts" and then render it. Why skip_loop_filter and not skiploop? Because 'ffmpeg -h' shows that and ffmpeg fully uses the API-based AVOptions whereas ffplay does not. >> So Kdenlive is really AVCHD compliant. Good news. I am really pleased. > > It still has seeking problems. I think the seeking is a little better with skip_frame=bidir -- +-DRD-+
