| Age | Commit message (Collapse) | Author |
|
src/video_core/command_classes/codecs/codec.cpp:177:16: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
av_codec = avcodec_find_decoder(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
... this would resolve some edge-cases where multiple devices are
present and ffmpeg is unable to auto-supply the hw surfaces
|
|
* skip impersonated VAAPI implementaions ("imposter detection")
* place VAAPI priority below CUDA/NVDEC/CUVID
|
|
|
|
|
|
|
|
* when someone installed Intel video drivers on an AMD system, the
decoder will select the Intel VA-API decoding driver and yuzu will
crash due to incorrect driver selection; the fix will check if the
currently about-to-use driver is loaded in the kernel
* when using NVIDIA driver on Linux with a ffmpeg that does not have
CUDA capability enabled, the decoder will crash; the fix simply
making the decoder prefers the VDPAU driver over CUDA on Linux
|
|
These functions were composing the entire frame, not just the headers. Rename to more accurately describe them.
|
|
Enables frame decoding with FFmpeg
|
|
|
|
vic: Use the minimum of surface/frame dimensions when writing the final frame to the GPU
|
|
h264: Use max allowed max_num_ref_frames when using CPU decoding
|
|
frame to the GPU
Addresses possible buffer overflow behavior.
|
|
|
|
Touhou Genso Wanderer Lotus Labyrinth R decodes 1920x1080 videos into 1920x1088 surface.
Only allow mismatch for height, since larger width would result in increasingly offset rows and somewhat defeat entire purpose of this check.
|
|
are decoded
This is a work around to avoid buffer overflow errors until multi channel/multi stream decoding is supported.
|
|
|
|
|
|
|
|
nvdec: Add GPU video decoding for all capable drivers and platforms
|
|
|
|
|
|
GPU decoding seems to be more picky when it comes to the maximum number of reference frames.
|
|
Some system configurations may see visual regressions or lower performance using GPU decoding compared to CPU decoding. This setting provides the option for users to specify their decoding preference.
Co-Authored-By: yzct12345 <87620833+yzct12345@users.noreply.github.com>
|
|
|
|
|
|
vic: Specify sws_scale height stride.
|
|
|
|
Supplements the VAAPI intel gpu decoder by implementing the D3D11VA decoder for Windows, and CUVID/VDPAU for Nvidia and AMD on drivers linux respectively.
|
|
Silences a sws_scale runtime warning about unaligned strides.
|
|
Silences a runtime error due to the first frame missing the frame data, and being set to hidden despite being a key-frame.
|
|
|
|
nvdec: Fix VP9 reference frame refreshes
|
|
With reference frames refreshes fix, we no longer need to buffer two frames in advance.
We can also remove other unused or otherwise unneeded variables.
|
|
This resolves the artifacting when decoding VP9 streams.
|
|
* nvdec: VA-API
* Verify formatting
* Forgot a semicolon for Windows
* Clarify comment about AV_PIX_FMT_NV12
* Fix assert log spam from missing negation
* vic: Remove forgotten debug code
* Address lioncash's review
* Mention VA-API is Intel/AMD
* Address v1993's review
* Hopefully fix CMakeLists style this time
* vic: Improve cache locality
* vic: Fix off-by-one error
* codec: Async
* codec: Forgot the GetValue()
* nvdec: Address ameerj's review
* codec: Fallback to CPU without VA-API support
* cmake: Address lat9nq's review
* cmake: Make VA-API optional
* vaapi: Multiple GPU
* Apply suggestions from code review
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
* nvdec: Address ameerj's review
* codec: Use anonymous instead of static
* nvdec: Remove enum and fix memory leak
* nvdec: Address ameerj's review
* codec: Remove preparation for threading
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
|
|
nvdec: Fix Submit Ioctl data source, vic frame dimension computations
|
|
Fixes out of bound memory crashes in Mario Golf
|
|
general: Enforce multiple warnings in MSVC
|
|
|
|
|
|
|
|
Avoid sending null pointer to memcpy as reported by Undefined Behaviour
Sanitizer. Replaces the std::memcpy calls in SpliceVectors with
std::copy calls. Opting to replace all the memcpy's with copy's.
Co-authored-by: LC <mathew1800@gmail.com>
|
|
|
|
|
|
|