Saket Sinha
2016-Mar-01 05:12 UTC
[Nouveau] GSOC 2016 Aspirant for Kepler Accelerated Video Encoding;
Hi, First of all, congratulations to the X.org team for selection into Google Summer of Code 2016. I would like to participate to Google Summer of Code 2016 by contributing to Kepler Accelerated Video Encoding for Nouveau. I request you to kindly guide me as to how to get started with this project. Regards, Saket Sinha
Ilia Mirkin
2016-Mar-01 08:56 UTC
[Nouveau] GSOC 2016 Aspirant for Kepler Accelerated Video Encoding;
First, make sure there's a mentor available -- I doubt I'll have time to do it, but perhaps someone else will be able to. I would recommend writing a minimal application that e.g. encodes a fixed group of frames. You should then trace this app under the blob with both mmiotrace to figure out how to configure the underlying engine (probably just firmware to upload), as well as get a mmt trace to figure out the fifo interface end of it. You could then write a proof of concept app that ran on top of nouveau and encoded those same frames (with a cooked cmd stream). Once that works, it's just a question of generalizing the commands to deal with different parameters, etc. (And sticking the whole thing into Mesa.) This is what I did when re'ing VP2, you can see some of the programs I used at github.com/imirkin/re-vp2. Obviously the ones needed here will be different but it should give an idea of what I mean. Hope this helps, -ilia On Mar 1, 2016 12:13 AM, "Saket Sinha" <saket.sinha89 at gmail.com> wrote:> Hi, > > First of all, congratulations to the X.org team for selection into > Google Summer of Code 2016. > > I would like to participate to Google Summer of Code 2016 by > contributing to Kepler Accelerated Video Encoding for Nouveau. > > I request you to kindly guide me as to how to get started with this > project. > > > Regards, > Saket Sinha > _______________________________________________ > Nouveau mailing list > Nouveau at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/nouveau >-------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.freedesktop.org/archives/nouveau/attachments/20160301/a55c6b97/attachment.html>
Karol Herbst
2016-Mar-01 09:39 UTC
[Nouveau] GSOC 2016 Aspirant for Kepler Accelerated Video Encoding;
Hi, I tried to look into that myself into the so called NVENC engine on my kepler gpu, but never got to work on that (still on my todo list), but it would be awesome if somebody else would work on that :) My first steps were to get nvenc working with ffmpeg (I think the code actually landed upstream). Then there is a tool called valgrind-mmt with which you can see what the nvidia userspace sends to the the kernel driver: https://nouveau.freedesktop.org/wiki/Valgrind-mmt/ Also there is a tool inside the kernel to trace what the nvidia kernel module sends to the hardware called mmiotrace: https://www.kernel.org/doc/Documentation/trace/mmiotrace.txt Also reading this might be of help: https://nouveau.freedesktop.org/wiki/ Usually I am around in the #nouveau IRC channel on freenode. If you have any questions I think it would be best to stick around there. If you need help with setting up any of those tools I will be glad to help you there Greetings> Saket Sinha <saket.sinha89 at gmail.com> hat am 1. März 2016 um 06:12 > geschrieben: > > > Hi, > > First of all, congratulations to the X.org team for selection into > Google Summer of Code 2016. > > I would like to participate to Google Summer of Code 2016 by > contributing to Kepler Accelerated Video Encoding for Nouveau. > > I request you to kindly guide me as to how to get started with this project. > > > Regards, > Saket Sinha > _______________________________________________ > Nouveau mailing list > Nouveau at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/nouveau
Karol Herbst
2016-Mar-01 09:40 UTC
[Nouveau] GSOC 2016 Aspirant for Kepler Accelerated Video Encoding;
Ohh completly missed that message, ignore the noise I created with my reply then :)> Ilia Mirkin <imirkin at alum.mit.edu> hat am 1. März 2016 um 09:56 geschrieben: > > > First, make sure there's a mentor available -- I doubt I'll have time to do > it, but perhaps someone else will be able to. > > I would recommend writing a minimal application that e.g. encodes a fixed > group of frames. You should then trace this app under the blob with both > mmiotrace to figure out how to configure the underlying engine (probably > just firmware to upload), as well as get a mmt trace to figure out the fifo > interface end of it. > > You could then write a proof of concept app that ran on top of nouveau and > encoded those same frames (with a cooked cmd stream). Once that works, it's > just a question of generalizing the commands to deal with different > parameters, etc. (And sticking the whole thing into Mesa.) > > This is what I did when re'ing VP2, you can see some of the programs I used > at github.com/imirkin/re-vp2. Obviously the ones needed here will be > different but it should give an idea of what I mean. > > Hope this helps, > > -ilia > On Mar 1, 2016 12:13 AM, "Saket Sinha" <saket.sinha89 at gmail.com> wrote: > > > Hi, > > > > First of all, congratulations to the X.org team for selection into > > Google Summer of Code 2016. > > > > I would like to participate to Google Summer of Code 2016 by > > contributing to Kepler Accelerated Video Encoding for Nouveau. > > > > I request you to kindly guide me as to how to get started with this > > project. > > > > > > Regards, > > Saket Sinha > > _______________________________________________ > > Nouveau mailing list > > Nouveau at lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/nouveau > > > _______________________________________________ > Nouveau mailing list > Nouveau at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/nouveau
Saket Sinha
2016-Mar-09 02:52 UTC
[Nouveau] GSOC 2016 Aspirant for Kepler Accelerated Video Encoding;
Hi IIia,> First, make sure there's a mentor available -- I doubt I'll have time to do > it, but perhaps someone else will be able to. >Unfortunately, I would need both a mentor and hardware for this project. If I could be helped with that, I shall really be interested in taking up this project.> I would recommend writing a minimal application that e.g. encodes a fixed > group of frames. You should then trace this app under the blob with both > mmiotrace to figure out how to configure the underlying engine (probably > just firmware to upload), as well as get a mmt trace to figure out the fifo > interface end of it. > > You could then write a proof of concept app that ran on top of nouveau and > encoded those same frames (with a cooked cmd stream). Once that works, it's > just a question of generalizing the commands to deal with different > parameters, etc. (And sticking the whole thing into Mesa.) > > This is what I did when re'ing VP2, you can see some of the programs I used > at github.com/imirkin/re-vp2. Obviously the ones needed here will be > different but it should give an idea of what I mean. > > Hope this helps, >Thanks for the link. I guess I need to develop a similar reverse-engineering approach for the project.
Reasonably Related Threads
- GSOC 2016 Aspirant for Kepler Accelerated Video Encoding;
- Recompiling the Kernel for CentOS 6.5
- Aspirant for GSOC 2018 for Nouveau Vulkan driver
- Video Hardware Decoding: Jittery Rectangles on Nvidia GT218 NVA8 VP4.
- Aspirant for GSOC 2018 for Nouveau Vulkan driver