vp8 decoder frame level multi threading

269 views
Skip to first unread message

hitesh

unread,
Sep 14, 2012, 12:34:01 AM9/14/12
to codec...@webmproject.org
Hi,
 
ffvp8 decoder has frame level multithreading but libvpx code has partition level multithreading.
 
ffvp8 will generate two or more threads based on available cores even though the number of partitions are one.
 
where as libvpx(webm) won't generate any threads if number of partitions are one.
 
why frame level multithreading is not implemented in libvpx code(webm) ?
 
is it worthful if we implement frame level multtithreading ?
 
 
 
 
 
 
 
 

Scott LaVarnway

unread,
Sep 14, 2012, 2:20:10 PM9/14/12
to codec...@webmproject.org
The frame level multithreading is being worked on now. I have a
"proof of concept" working and am in the process of chunking the
changes up into smaller commits in order to make the code reviewing
easier.
> --
> You received this message because you are subscribed to the Google Groups
> "Codec Developers" group.
> To view this discussion on the web visit
> https://groups.google.com/a/webmproject.org/d/msg/codec-devel/-/mq_GT4cqji8J.
> To post to this group, send email to codec...@webmproject.org.
> To unsubscribe from this group, send email to
> codec-devel...@webmproject.org.
> For more options, visit this group at
> http://groups.google.com/a/webmproject.org/group/codec-devel/?hl=en.
Message has been deleted

hitesh

unread,
Sep 17, 2012, 10:27:16 AM9/17/12
to codec...@webmproject.org
Thanks for quick reply.
 
I have few more doubts regarding frame level multithreading.
 
1).what is the main reason to go for frame level multithreading ?
 
2).when will we expect frame level implemented libvpx ?
 
3).could you please share the location where you are committing frame level changes.
 
I ran both libvpx and ffvp8 with gstreamer on pandaboard for two partition 720p resolution stream.
 
Both are creating two threads (For ffvp8 max-threads=2 and libvpx creates two threads).
 
ffvp8 (frame level multithreading) is running faster than libvpx (partition level multithreading). 
 
Is frame level multithreading better than partition level multithreading ?

John Koleszar

unread,
Sep 17, 2012, 12:26:40 PM9/17/12
to Codec Developers
You need partition/slice level multithreading for video conferencing
or other low latency streaming applications. If you don't need low
latency, for example for a video-on-demand website like YouTube, then
you may get better performance with frame-level multithreading.

The feature is being actively worked now on in libvpx, but I can't
give any real guidance as to when it will be done. The work is
happening in the master branch of libvpx. You can see a list of
pending changes here:
https://gerrit.chromium.org/gerrit/#/q/status:open+project:webm/libvpx,n,z
> https://groups.google.com/a/webmproject.org/d/msg/codec-devel/-/cgd5nlbpXzYJ.
Reply all
Reply to author
Forward
0 new messages