On Fri, Oct 19, 2018 at 8:53 AM 孫偉程 <dmvictor@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/nouveau