summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-3/+2
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.
2021-12-02Support multiple videos playingFeng Chen1-2/+3
2021-10-24Fixup channel submit IOCTL syncpoint parametersBilly Laws1-13/+4
The current arguments worked by happenstance as games only ever submit one syncpoint and request one fence back, if a game were to do something other than this then the arguments would've been parsed entirely wrong.
2021-08-07nvhost_nvdec_common: Remove BufferMapameerj1-31/+0
This was mainly used to keep track of mapped buffers for later unmapping. Since unmap is no longer implemented, this no longer seves a valuable purpose.
2021-08-07nvhost_nvdec_common: Stub UnmapBuffer Ioctlameerj1-23/+4
Skip unmapping nvdec buffers to avoid breaking the continuity of the VP9 reference frame addresses, and the risk of invalidating data before the async GPU thread is done with it.
2021-07-15nvhost_nvdec_common: Read Submit ioctl data from object addrameerj1-8/+2
Fixes Mario Golf intro video decoding.
2021-07-15nvhost_nvdec_common: Fix {Slice/Write}Vectors returnameerj1-37/+38
Plus some minor cleanup for consistency.
2021-05-04service: Resolve cases of member field shadowingLioncash1-3/+3
Now all that remains is for kernel code to be 'shadow-free' and then -Wshadow can be turned into an error.
2021-04-05nvhost_nvdec_common: Avoid memcpy with null pointerslat9nq1-6/+11
Avoid sending null pointer to memcpy as reported by Undefined Behavious Sanitizer. Co-authored-by: LC <mathew1800@gmail.com>
2021-01-07fix for nvdec disabled, cleanup host1xameerj1-11/+14
2021-01-07nvdec syncpt incorporationameerj1-7/+19
laying the groundwork for async gpu, although this does not fully implement async nvdec operations
2020-11-10core: Make nvservices more standardizedChloe Marcec1-24/+19
2020-10-30video_core: unbreak -Werror in NVDEC with ClangJan Beich1-1/+1
src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp:41:15: error: unused variable 'OutOfMemory' [-Werror,-Wunused-const-variable] constexpr u32 OutOfMemory{static_cast<u32>(-12)}; ^
2020-10-27video_core: NVDEC Implementationameerj1-0/+234
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>