Closed
Bug 1254874
Opened 9 years ago
Closed 2 years ago
Investigate hardware video decoding with the basic compositor
Categories
(Core :: Graphics, defect, P3)
Core
Graphics
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: jrmuizel, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [gfx-noted])
Does this work? Should this work?
Reporter | ||
Updated•9 years ago
|
Blocks: unaccel-video
Updated•9 years ago
|
Whiteboard: [gfx-noted]
Comment 1•9 years ago
|
||
Adding cpearce since I believe he tested this during the initial implementation.
Readback made it slower than software iirc, but it's possible that there are ways to do better.
Comment 2•9 years ago
|
||
(In reply to Matt Woodrow (:mattwoodrow) from comment #1)
> Adding cpearce since I believe he tested this during the initial
> implementation.
>
> Readback made it slower than software iirc, but it's possible that there are
> ways to do better.
Yes, I tested this using the naive approach (just locking and memcpying IIRC, it was a few years ago...).
Intel released a paper on how to do this faster:
https://software.intel.com/en-us/articles/copying-accelerated-video-decode-frame-buffers
jya also implemented this in a personal project IIRC, so he may have input here.
Flags: needinfo?(jyavenard)
Comment 3•9 years ago
|
||
Yes, USWC copy using Intel's method is significantly faster. Over 10* faster in my experience.
This is what VLC uses btw, it decodes in hardware and the perform a readback into a YV12 buffe. performance appears okay there.
don't know how well that will work with discrete graphic cards though, likely still an improvement.
I'd be happy to work on that, I've written all the bricks already.
Flags: needinfo?(jyavenard)
Comment 4•9 years ago
|
||
comparison is between memcpy (which is SSE2 accelerated already) and MOVDQA
Comment 6•8 years ago
|
||
I haven't done anything, i wasn't asked to. sorry :(
Flags: needinfo?(jyavenard)
Comment 7•8 years ago
|
||
Ok, no problem.
Can you point us to the "bricks" from comment 3? :)
Flags: needinfo?(jyavenard)
Comment 9•8 years ago
|
||
Here is the code I wrote for another project
https://github.com/MythTV/mythtv/blob/master/mythtv/libs/libmythtv/mythframe.cpp
The intel white paper also have a code sample that can be used.
There are two copy algorithm in there. One is plain SSE copy the other is the one optimised for uswc memory. The first time the method of the class is used, it actually time the copy. With the Intel decoder all frames returned are uswc based, but that's not always the case under all circumstances.
Flags: needinfo?(jyavenard)
Updated•8 years ago
|
Updated•7 years ago
|
Priority: -- → P3
Updated•2 years ago
|
Severity: normal → S3
Comment 10•2 years ago
|
||
Basic Compositing was removed in bug 1727876.
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•