[Kdenlive-devel] AVCHD/h264 decoding benchmarking

Dan Dennedy dan at dennedy.org
Thu Dec 18 04:55:48 UTC 2008


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-+




More information about the Kdenlive mailing list