Skip to content
Snippets Groups Projects
Commit f9f2e985 authored by Niklas Haas's avatar Niklas Haas
Browse files

renderer: allow rendering to planar targets

This is a major overhaul of the target rendering code, and the renderer
code in general (to keep things organized and understandable).

The motivation comes from vf_libplacebo, which wants to let users render
out subsampled YCbCr content directly. Unfortunately, we're still pretty
much forced to upconvert to RGB internally, if only for the sake of
things like tone mapping, linear scaling, and so forth. Plus, the entire
pl_renderer architecture is very much designed around the idea that
there's only one plane currently being rendered. While it's not entirely
impossible to change this, it'd be _way_ outside the scope of this
already massive change.

Due to the major change of a core API, I decided to make the old `pl_tex
*fbo` interface merely deprecated, rather than removing it entirely. Due
to the increasing unification between `pl_image` and `pl_render_target`,
I may choose to merge these into a single `pl_frame` at some point in
the future, but that would also imply dropping this bit of backwards
compatibility, so I'll postpone that refactor until after the next major
release.

Pick up a few bugs related to the dithering/compute indirection code
while we're at it.

Added a new test case to make sure it round trips, even for oddly-sized
planes.
parent 89b0cefb
No related branches found
No related tags found
No related merge requests found
This commit is part of merge request !124. Comments created here will be created in the context of that merge request.
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment