On Friday 23 Sep 2011 21:26:56 Nikos Chantziaras wrote:
> On 09/23/2011 12:54 AM, Mick wrote:
> > On Thursday 22 Sep 2011 09:15:42 Nikos Chantziaras wrote:
> >> On 09/22/2011 12:58 AM, Mick wrote:
> >>> On Wednesday 21 Sep 2011 09:19:39 Sebastian Beßler wrote:
> >>>>> Does mplayer2 work with smplayer or kmplayer?
> >>>> 
> >>>> I use mplayer2 with smplayer for a few month now and everything works
> >>>> just fine for me.
> >>> 
> >>> Any idea when ffmpeg-mt might make it to the main portage tree?
> >> 
> >> It's already in the tree.  Both ffmpeg as well as libav now have it.
> > 
> > Sorry I can't see a USE flag or ffmpeg-mt package in portage:
> > 
> > $ eix -l ffmpeg | grep mt
> > $
> > 
> > or are you saying that the code has been merged in the vanilla ffmpeg and
> > libav without the need for a USE flag?
> 
> ffmpeg-mt is not a "package".  It's the name of the git branch the code
> was in.  That code was merged into the fmmpeg and libav projects.  That
> means that ffmpeg and libav now do multi-threading.

Yes, I didn't understand this initially.  Thanks.  :-)


> Furthermore, the "threads" USE flag does *not* control this.  You get
> multi-threading regardless of that flag.  "threads" only controls
> another type of multi-threading that was there since a long time now,
> but doesn't perform well.

Yes, that's how I remembered this, posix compatible threads (pthreads - since 
2004 or so IIRC).

However, my experience with USE=threads which I just switched on to test it, 
is the opposite:

The video rendering in mplayer is sharper and the picture therefore shows 
greater definition.  Not much, but enough for me to notice a clearer image.

The impact of threads on the CPU is not noticeable.


> It would split decoding of each frame into
> multiple threads, and the CPU cores would not start decoding again until
> the whole frame was finished.  The speed-up you get by this is minimal.
>   "Real" multithreading, meaning the code from the ffmpeg-mt branch
> which allows every CPU core to fully decode its own video frame, cannot
> be controlled by a USE flag.
> 
> To verify if multi-threading works for you, simply play an h264 video
> file in mplayer2 (using "-lavdopts threads=N", where N is the number of
> CPU cores in your system) and use something like "top" or "htop" to
> check CPU load of each core.

I've removed USE=threads and emerged mplayer2.  Multithreading works fine (5 
threads are shown in top with 4 CPUs and threads=4).  However, the quality of 
the video is inferior to vanilla mplayer and USE=threads enabled ... o_O
-- 
Regards,
Mick

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to