summaryrefslogtreecommitdiffstats
path: root/video/out/placebo/utils.h
Commit message (Collapse)AuthorAgeFilesLines
* mp_image: add Dolby Vision metadata mappingKacper Michajłow2024-03-091-3/+0
| | | | | Remove side-loading metadata in vo_gpu_next.c and remove unneded side-data duplication.
* csputils: replace mp_chroma_location with pl_chroma_locationKacper Michajłow2024-01-221-2/+0
|
* csputils: replace mp_alpha_type with pl_alpha_modeKacper Michajłow2024-01-221-1/+0
|
* csputils: replace mp_colorspace with pl_color_spaceKacper Michajłow2024-01-221-7/+0
|
* video/out/placebo/utils: add mappings from pl enums to mpv enumsLeo Izen2023-03-051-0/+3
| | | | | | | mp_trc_to_pl, mp_prim_to_pl, and mp_levels_to_pl have forward but not inverse mappings. This commit adds mp_trc_from_pl, mp_prim_from_pl, and mp_levels_from_pl inverse mapping functions, which just map the enums in the other direction.
* vo_gpu_next: parse Dolby Vision metadata for dynamic scene brightnessquietvoid2023-02-191-0/+9
| | | | | Improves playback for Dolby Vision video files as the metadata can be used instead of requiring `hdr-compute-peak=yes`.
* vo_gpu_next: vulkan: libplacebo: unify log prefixNiklas Haas2022-10-091-1/+1
| | | | | | | | | | | | | | | | | | The new status quo is simple: all messages coming from libplacebo are marked "vo/gpu{-next}/libplacebo", regardless of the backend API (vulkan vs opengl/d3d11). Messages coming from mpv's internal vulkan code will continue to come from "vo/gpu{-next}/vulkan", and messages coming from the vo module itself will be marked "vo/gpu{-next}". This is significantly better than the old status quo of vulkan messages coming from "vo/gpu{-next}/vulkan/libplacebo" whereas opengl/d3d11 messages simply came from "vo/gpu{-next}", even when those messages originated from libplacebo. (It's worth noting that the the destructor for the log is redundant because it's attached to the ctx which is freed on uninit anyway)
* libplacebo: fix compatibility with libplacebo >= 5Coelacanthus2022-07-161-1/+1
| | | | | | | | | | | | libplacebo 4.157 [1] rename context.h to log.h, and left a compatibility header. In 5.x, this header has been removed. Since we require libplacebo 4.157 to build mpv, we can just use log.h to fix compatibility with 5.x. [1]: https://github.com/haasn/libplacebo/commit/2459200a133d1a0f36f092a32a2d5d443cfbee55 Signed-off-by: Coelacanthus <coelacanthus@outlook.com>
* libplacebo: update log helpersNiklas Haas2022-02-031-1/+2
| | | | | Use the pl_log APIs introduced in libplacebo v4, replacing the deprecated pl_context concept.
* vo_gpu_next: use new HDR metadata optionsNiklas Haas2022-01-071-1/+0
| | | | | Properly forward the HDR metadata from the mpi to the equivalent (new) fields in pl_color_space. Used by the new tone mapping code.
* vo_gpu_next: add new libplacebo-based rendererNiklas Haas2021-11-031-0/+10
| | | | | | | | | | | | | As discussed in #8799, this will eventually replace vo_gpu. However, it is not yet complete. Currently missing: - OpenGL contexts - hardware decoding - blend-subtitles=video - VOCTRL_SCREENSHOT However, it's usable enough to cover most use cases, and as such is enough to start getting in some crucial testing.
* vo_gpu: libplacebo: add missing includeNiklas Haas2021-10-041-0/+1
| | | | | This was removed from common.h upstream since it was a cyclic dependency. We need to re-import it into utils.h manually.
* vo_gpu: vulkan: use libplacebo insteadNiklas Haas2019-04-211-0/+18
This commit rips out the entire mpv vulkan implementation in favor of exposing lightweight wrappers on top of libplacebo instead, which provides much of the same except in a more up-to-date and polished form. This (finally) unifies the code base between mpv and libplacebo, which is something I've been hoping to do for a long time. Note: The ra_pl wrappers are abstract enough from the actual libplacebo device type that we can in theory re-use them for other devices like d3d11 or even opengl in the future, so I moved them to a separate directory for the time being. However, the rest of the code is still vulkan-specific, so I've kept the "vulkan" naming and file paths, rather than introducing a new `--gpu-api` type. (Which would have been ended up with significantly more code duplicaiton) Plus, the code and functionality is similar enough that for most users this should just be a straight-up drop-in replacement. Note: This commit excludes some changes; specifically, the updates to context_win and hwdec_cuda are deferred to separate commits for authorship reasons.