On Fri, Oct 19, 2018 at 8:53 AM 孫偉程 <dmvic...@gmail.com> wrote:
> I can imagine there is a long way to go to fulfill my requirements. But I 
> know a driver for my NVIDIA card is a must for the hardware decoder to work. 
> Can somebody shed some lights that if I want to play an 8K HEVC encoded video 
> on Android-x86 with NVIDIA's decoder enabled, what should I do in this 
> project? And how to start?

The steps are straightforward, although each one of them is fairly tricky.

1. Load decoding firmware into the engine
2. Hook up engine "servicing" (like interrupts, channels, etc)
3. Figure out the how the commands work, what data they require, how
that data is formatted, etc.
4. Sit back and enjoy some 8K HEVC video.

In VP3/4/5, there are 3 stages to decoding -- BSP (bit-stream
processor), VP (video processor), and PPP (post-processing
processor?). Starting with VP6, we believe these got integrated into a
single engine. However not much more is known. I have a vague notion
that the way the data is passed in hasn't really changed much,
although obviously for HEVC it will have as that's a new format.
Perhaps it's all even simpler now if you don't have to drive the
VP/PPP independently. But perhaps you still do and they're just all in
a single engine. I haven't so much as looked at a command stream...

Loading the firmware could be a drag on GM20x+ -- if you have to deal
with secure mode, it'll be a huge pain. You will also have to locate
the firmware, which is no longer quite as easy as it once was, I think
the GPU will DMA it from system memory now as opposed to it being
uploaded directly in the mmiotrace. I've created a "scanner" tool
which looks through the blob for firmware-looking things.

Cheers,

  -ilia
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to