yuzu-fork/externals
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
..
cmake-modules Replace externals with Conan (#3735) 2020-05-08 17:09:29 -04:00
cubeb@616d773441 externals: Update cubeb to 616d773 2020-04-30 00:33:02 +10:00
discord-rpc@e32d001809 Port web_service from Citra 2018-10-02 15:30:48 +02:00
dynarmic@0e1112b7df dynarmic: Add unsafe optimizations 2020-08-16 14:15:39 +01:00
find-modules video_core: NVDEC Implementation 2020-10-26 23:07:36 -04:00
getopt CMakeLists: Derive the source directory grouping from targets themselves 2018-01-17 21:51:43 -05:00
glad externals: Update glad to support OpenGL 4.6 compatibility profile 2019-05-21 20:52:00 -03:00
httplib core/CMakeLists: Make some warnings errors 2020-10-13 13:16:49 -04:00
inih CMakeLists: Derive the source directory grouping from targets themselves 2018-01-17 21:51:43 -05:00
libressl@7d01cb01cb externals: Revert to libressl, as build is broken with find_package(OpenSSL). (#4093) 2020-06-16 21:46:19 -04:00
libusb externals: Work around libusb duplicate GUID errors 2020-09-02 19:32:19 -04:00
libzip externals: Track upstream libzip 2019-10-29 19:52:40 -04:00
lurlparser Add submodules 2018-10-02 15:30:48 +02:00
mbedtls@a280e602f3 externals/mbedtls: Enable CMAC module 2018-10-07 13:15:11 -04:00
microprofile Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
opus externals: Track opus as submodule instead of using conan 2020-07-01 15:09:33 +10:00
sirit@eefca56afd vk_shader_decompiler: Implement atomic image operations 2020-06-02 02:20:02 -03:00
soundtouch@060181eaf2 Add audio stretching support 2018-09-08 18:26:23 +01:00
unicorn@73f4573535 Build: Add unicorn as a submodule and build it if needed 2018-01-16 01:15:52 -07:00
Vulkan-Headers@8188e3fbbc vk_device: Enable VK_EXT_extended_dynamic_state when available 2020-06-26 20:55:15 -03:00
xbyak@c306b8e578 externals: Update Xbyak to 5.96 2020-08-30 05:09:48 -04:00
CMakeLists.txt core/CMakeLists: Make some warnings errors 2020-10-13 13:16:49 -04:00