yuzu-mainline/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
apm
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
btdrv
btm
caps caps_c: Stub SetShimLibraryVersion 2020-09-30 07:19:46 -04:00
erpt
es ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer (#4465) 2020-08-03 07:28:54 -04:00
eupld
fatal
fgm
filesystem Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
friend
glue
grc
hid Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
lbl
ldn
ldr core: Fix clang build pt.3 2020-10-21 22:14:23 -04:00
lm
mig
mii Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
mm
ncm
nfc
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
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
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