summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* SMMU: Fix software rendering and cleanupFernando Sahmkow2024-01-191-1/+1
|
* SMMU: Add Android compatibilityFernando Sahmkow2024-01-191-2/+4
|
* GPU SMMU: Expand to 34 bitsFernando Sahmkow2024-01-191-1/+0
|
* SMMU: Initial adaptation to video_core.Fernando Sahmkow2024-01-191-2/+6
|
* NVDRV: Implement sessions and initial implementation of SMMUFernando Sahmkow2024-01-191-2/+2
|
* nvdrv: rework to remove memcpyLiam2023-10-251-47/+24
|
* nvdrv: fix up remaining copy callsLiam2023-10-251-0/+10
|
* nvdrv: convert codec devicesLiam2023-10-251-18/+12
|
* Remove memory allocations in some hot pathsKelebek12023-06-221-8/+7
|
* memory: rename global memory references to application memoryLiam2023-03-241-2/+2
|
* Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"ameerj2023-02-031-9/+8
| | | | | This reverts commit 25fc5c0e1158cb8e81cbc769b24ad84032a1fbfd, reversing changes made to af20e25081f97d55b451606c87922e2b49f0d363.
* Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer"liamwhite2023-02-021-8/+9
|
* nvdrv: Use std::span for inputsameerj2022-12-291-9/+8
| | | | Allows the use of HLERequestContext::ReadBufferSpan
* General: address feedbackFernando Sahmkow2022-10-061-9/+4
|
* NvHostChannels: improve hack for supporting multiple channels.Fernando Sahmkow2022-10-061-2/+8
|
* NvDec: Fix regressions.Fernando Sahmkow2022-10-061-4/+12
|
* NVDRV: Further improvements.Fernando Sahmkow2022-10-061-8/+7
|
* NVDRV: Refactor Host1xFernando Sahmkow2022-10-061-26/+11
|
* NVDRV: Fix Open/Close and make sure each device is correctly created.Fernando Sahmkow2022-10-061-0/+2
|
* NVDRV: Implement new NvMapFernando Sahmkow2022-10-061-10/+16
|
* NVDRV: Refactor and add new NvMap.Fernando Sahmkow2022-10-061-3/+5
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-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.
* Support multiple videos playingFeng Chen2021-12-021-2/+3
|
* Fixup channel submit IOCTL syncpoint parametersBilly Laws2021-10-241-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.
* nvhost_nvdec_common: Remove BufferMapameerj2021-08-071-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.
* nvhost_nvdec_common: Stub UnmapBuffer Ioctlameerj2021-08-071-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.
* nvhost_nvdec_common: Read Submit ioctl data from object addrameerj2021-07-151-8/+2
| | | | Fixes Mario Golf intro video decoding.
* nvhost_nvdec_common: Fix {Slice/Write}Vectors returnameerj2021-07-151-37/+38
| | | | Plus some minor cleanup for consistency.
* service: Resolve cases of member field shadowingLioncash2021-05-041-3/+3
| | | | | Now all that remains is for kernel code to be 'shadow-free' and then -Wshadow can be turned into an error.
* nvhost_nvdec_common: Avoid memcpy with null pointerslat9nq2021-04-051-6/+11
| | | | | | | Avoid sending null pointer to memcpy as reported by Undefined Behavious Sanitizer. Co-authored-by: LC <mathew1800@gmail.com>
* fix for nvdec disabled, cleanup host1xameerj2021-01-071-11/+14
|
* nvdec syncpt incorporationameerj2021-01-071-7/+19
| | | | laying the groundwork for async gpu, although this does not fully implement async nvdec operations
* core: Make nvservices more standardizedChloe Marcec2020-11-101-24/+19
|
* video_core: unbreak -Werror in NVDEC with ClangJan Beich2020-10-301-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)}; ^
* video_core: NVDEC Implementationameerj2020-10-271-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>