Thread: [Mlt-devel] h264 AVCHD and MLT multi-treaded decoding
Brought to you by:
ddennedy,
lilo_booter
From: Jean-Michel <jm...@po...> - 2007-11-08 13:21:35
|
Dear Dave and friends, Thank you for this answer about MLT libavformat multi-threaded decoding. I just tested MLT and Kdenlive with Canon HG10 h264 AVCHD files. Decoding works but is *** very *** slow, even with real_time=1. The first core of my Athlon AMD64x2 is floded. And the second core stands nearly idle. Could someone look at consumer_avformat.c to see if multi-threaded decoding could be enabled. Kind regards, Jean-Michel P.S. This is a month old message from Dan: > When using Kdenlive, the activity of by AMDx2 processor sometimes > reaches 50%. Is MLT multi-threaded? Yes, but only in a trivial sense because there is no parallel processing. It just uses the threading for latency between the consumer and all the processing ahead of it. For example, while one thread in the the SDL consumer is updating the display, another thread is preparing the next or additional frames in a serial fashion. This is what the generic consumer property "real_time" controls. When set to 1, there is a queue that can fill causing it to skip processing frame to maintain "realtime." When set to 0, the framework consumer multithreading is disabled. > Can it take advantage of ffmpeg AVCHD multi-threaded decoding? Maybe just by setting some options in consumer_avformat.c. |
From: Dan D. <da...@de...> - 2007-11-10 06:12:53
|
Jean-Michel Pouré wrote: > Dear Dave and friends, > > Thank you for this answer about MLT libavformat multi-threaded decoding. > I just tested MLT and Kdenlive with Canon HG10 h264 AVCHD files. > > Decoding works but is *** very *** slow, even with real_time=1. > The first core of my Athlon AMD64x2 is floded. > And the second core stands nearly idle. > > I have a Core 2 Duo. HDV is playing poorly for me as well. Furthermore, neither CPU is being utilized anywhere near its fullest. This means there is a "bottle neck" somewhere. I want to look into this first so I can be sure to observe any multi-threaded usage of ffmpeg. > Could someone look at consumer_avformat.c to see > if multi-threaded decoding could be enabled. > > I took a look at ffmpeg to see how to integrate multi-threading, and it looks easy. > Kind regards, > Jean-Michel > > P.S. This is a month old message from Dan: > > >> When using Kdenlive, the activity of by AMDx2 processor sometimes >> reaches 50%. Is MLT multi-threaded? >> > > Yes, but only in a trivial sense because there is no parallel > processing. It just uses the threading for latency between the consumer > and all the processing ahead of it. For example, while one thread in the > the SDL consumer is updating the display, another thread is preparing > the next or additional frames in a serial fashion. This is what the > generic consumer property "real_time" controls. When set to 1, there is > a queue that can fill causing it to skip processing frame to maintain > "realtime." When set to 0, the framework consumer multithreading is > disabled. > > >> Can it take advantage of ffmpeg AVCHD multi-threaded decoding? >> > Maybe just by setting some options in consumer_avformat.c. > > > |