yuzu-mainline/src/yuzu
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
..
applets Merge pull request #4827 from lioncash/trunc 2020-10-25 16:56:30 -03:00
configuration video_core: NVDEC Implementation 2020-10-26 23:07:36 -04:00
debugger yuzu: Make use of qOverload where applicable 2020-08-14 14:12:55 -04:00
util sequence_dialog: Reorganize the constructor 2019-05-25 04:08:02 -04:00
about_dialog.cpp Addressed feedback: switched to snake case and fixed clang-format errors 2020-04-07 22:59:09 +02:00
about_dialog.h qt: Add missing override specifiers where applicable 2018-08-06 13:29:14 -04:00
aboutdialog.ui Merge pull request #859 from FearlessTobi/port-3837 2018-07-30 10:11:43 -07:00
bootmanager.cpp renderer_opengl: Remove emulated mailbox presentation 2020-09-20 16:29:41 -03:00
bootmanager.h yuzu/main: Amend lifetime issues with InputSubsystem 2020-08-29 00:58:11 -04:00
CMakeLists.txt video_core: NVDEC Implementation 2020-10-26 23:07:36 -04:00
compatdb.cpp common/telemetry: Migrate namespace into the Common namespace 2020-08-18 15:08:32 -04:00
compatdb.h compatdb: Use a seperate endpoint for testcase submission 2018-10-28 13:23:02 +01:00
compatdb.ui Port web_service from Citra 2018-10-02 15:30:48 +02:00
compatibility_list.cpp yuzu: Move compatibility list specifics to their own source files 2018-09-09 19:45:25 -04:00
compatibility_list.h yuzu: Move compatibility list specifics to their own source files 2018-09-09 19:45:25 -04:00
discord_impl.cpp yuzu/discord_impl: Update the applicationID (#3977) 2020-05-22 18:26:26 +02:00
discord_impl.h Address a bunch of review comments 2018-10-02 15:30:48 +02:00
discord.h Port web_service from Citra 2018-10-02 15:30:48 +02:00
game_list_p.h qt/game_list: Give GameListSearchField::KeyReleaseEater a parent 2020-09-29 16:23:16 -03:00
game_list_worker.cpp Merge pull request #4535 from lioncash/fileutil 2020-08-17 22:35:30 -04:00
game_list_worker.h yuzu/game_list_worker: Silence warnings 2019-10-04 23:41:22 +00:00
game_list.cpp qt/game_list: Give GameListSearchField::KeyReleaseEater a parent 2020-09-29 16:23:16 -03:00
game_list.h game_list: Make game list function naming consistent 2020-09-23 11:28:11 -04:00
hotkeys.cpp yuzu/CMakeLists: Remove qt5_wrap_ui macro usage 2019-08-09 17:54:08 -04:00
hotkeys.h yuzu/hotkeys: Remove unnecessary constructor 2019-05-09 02:17:22 -04:00
Info.plist macOS: Update Info.plist 2018-01-13 23:11:51 +00:00
install_dialog.cpp Update the install and progress dialogs 2020-07-10 00:38:28 -04:00
install_dialog.h install_dialog: Make use of [[nodiscard]] where applicable 2020-09-23 13:22:04 -04:00
loading_screen.cpp frontend: Set minimum window size to 640x360 instead of 1280x720 (#3413) 2020-05-15 22:22:27 +02:00
loading_screen.h Fix mingw compile error and warnings 2019-01-21 09:39:45 -07:00
loading_screen.ui QT: Fix the loading screen 'H' switch logo to not glitch out 2019-02-05 18:24:15 -07:00
main.cpp Don't ask for profile when there's only one. 2020-10-22 11:16:56 +02:00
main.h Project Mjölnir: Part 2 - Controller Applet 2020-09-04 12:23:25 -04:00
main.ui main: Use three dots to complete the ellipsis 2020-09-02 15:23:15 -04:00
uisettings.cpp Project Mjölnir: Part 1 2020-08-26 02:32:32 -04:00
uisettings.h Address feedback 2020-08-26 02:32:32 -04:00
yuzu.rc Fix: fatal error CVT1100 when compiling manifest file 2020-06-21 03:11:23 +02:00