Commit graph

9 commits

Author SHA1 Message Date
Fernando Sahmkow
a6425c97e4 VideoCore: Refactor syncing. 2022-10-06 21:00:52 +02:00
Morph
2b87305d31 general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
ameerj
538647f62b codecs: Add VP8 codec class 2021-11-12 19:49:45 -05:00
ameerj
f52a3de990 nvdec: Better logging for unimplemented codecs 2021-08-07 01:08:33 -04:00
Kelebek1
05fb3db000 Slightly refactor NVDEC and codecs for readability and safety 2021-07-01 06:22:05 +01:00
ameerj
e97cd00753 streamline cdma_pusher/command_classes 2021-02-13 13:07:53 -05:00
ameerj
5beb990349 Queue decoded frames, cleanup decoders 2020-11-25 17:10:44 -05:00
Lioncash
31d9c3c75e nvdec: Tidy up header includes
Prevents a few unnecessary inclusions.
2020-10-27 02:16:42 -04:00
ameerj
9ef5c53e52 video_core: NVDEC Implementation
This commit aims to implement the NVDEC (Nvidia Decoder) functionality, with video frame decoding being handled by the FFmpeg library.

The process begins with Ioctl commands being sent to the NVDEC and VIC (Video Image Composer) emulated devices. These allocate the necessary GPU buffers for the frame data, along with providing information on the incoming video data. A Submit command then signals the GPU to process and decode the frame data.

To decode the frame, the respective codec's header must be manually composed from the information provided by NVDEC, then sent with the raw frame data to the ffmpeg library.

Currently, H264 and VP9 are supported, with VP9 having some minor artifacting issues related mainly to the reference frame composition in its uncompressed header.

Async GPU is not properly implemented at the moment.

Co-Authored-By: David <25727384+ogniK5377@users.noreply.github.com>
2020-10-26 23:07:36 -04:00