suyu/src/core/hle/service
ameerj eb67a45ca8 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
..
acc Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
am Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
aoc aoc: Update function table (#4170) 2020-06-26 20:31:44 -04:00
apm apm/controller: Make SetPerformanceConfiguration() use an array of pairs over a map 2019-10-17 16:13:14 -04:00
audio Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
bcat general: Use template deduction guides for lock_guard 2020-10-25 13:53:22 -04:00
bpc bpc: Update function tables (#4173) 2020-06-26 20:33:55 -04:00
btdrv btdrv: Update function table (#4174) 2020-06-26 20:34:29 -04:00
btm btm: Give better names for unknown functions 2020-06-27 10:42:46 +10:00
caps caps_c: Stub SetShimLibraryVersion 2020-09-30 07:19:46 -04:00
erpt service: Update function tables 2019-11-12 10:32:56 -05:00
es ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer (#4465) 2020-08-03 07:28:54 -04:00
eupld eupld: Update function table 2020-06-27 02:25:04 +02:00
fatal hle/service: Replace global system instance calls with instance-based ones 2019-10-06 13:42:23 -04:00
fgm Changed logging to be "Log before execution", Added more error logging, all services should now log on some level 2018-11-26 17:06:13 +11:00
filesystem Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
friend friend: Update function table 2020-06-27 12:39:10 +02:00
glue style: Change AMs & Glues error codes to be dec instead of hex 2020-04-29 00:49:49 +10:00
grc Oops (fix typo) 2020-06-27 12:45:42 +02:00
hid Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
lbl lbl: Update function table 2020-06-27 12:43:33 +02:00
ldn ldn: Update function table 2020-06-27 12:50:56 +02:00
ldr core: Fix clang build pt.3 2020-10-21 22:14:23 -04:00
lm lm: Silence no return value warning 2020-06-22 22:55:32 -04:00
mig mig: Update function table 2020-06-27 12:53:59 +02:00
mii Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
mm mm: Update function table 2020-06-27 12:59:01 +02:00
ncm ncm: Update function table 2020-06-27 13:05:22 +02:00
nfc nfc: Update function table 2020-06-27 13:09:36 +02:00
nfp Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
nifm Added remaining params 2020-10-20 16:45:01 +11:00
nim Fix typo 2020-06-29 04:12:36 +02:00
npns service: Update function tables 2020-06-29 04:01:34 +02:00
ns core: Fix clang build pt.3 2020-10-21 22:14:23 -04:00
nvdrv video_core: NVDEC Implementation 2020-10-26 23:07:36 -04:00
nvflinger Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
pcie service: Update function tables 2020-06-29 04:01:34 +02:00
pctl service: Update function tables 2020-04-20 15:53:49 -04:00
pcv service: Update function tables 2020-06-29 04:01:34 +02:00
pm service: Update function tables 2020-06-29 04:01:34 +02:00
prepo Merge pull request #4203 from VolcaEM/services 2020-07-11 00:02:36 -04:00
psc service: Update function tables 2020-06-29 04:01:34 +02:00
ptm service: Update function tables 2020-06-29 04:01:34 +02:00
set Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
sm service/sm: Slightly more efficient string name validation 2020-09-17 10:54:12 -04:00
sockets Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
spl Merge pull request #4203 from VolcaEM/services 2020-07-11 00:02:36 -04:00
ssl service: Update function tables 2019-11-12 10:32:56 -05:00
time Merge pull request #4792 from bunnei/rtc-fix 2020-10-22 20:46:54 -07:00
usb service: Update function tables 2020-06-29 04:01:34 +02:00
vi hle: service: vi: Implement BufferQueue::CancelBuffer. 2020-10-13 22:11:52 -07:00
wlan service: Update function tables 2020-06-29 04:01:34 +02:00
service.cpp Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
service.h service: Remove two usages of the global system accessor 2020-09-07 03:18:45 -04:00