summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKacper Michajłow <kasper93@gmail.com>2023-09-18 03:16:24 +0200
committerJan Ekström <jeebjp@gmail.com>2024-03-07 21:12:12 +0200
commit580bc69d0c4e99394a5490d060ebba9ab54ef056 (patch)
tree816df0e58ffb1bc91badd473593c21763d952350
parentfc5d533a66df72b79e35aa35dfd028562601f58c (diff)
downloadmpv-580bc69d0c4e99394a5490d060ebba9ab54ef056.tar.bz2
mpv-580bc69d0c4e99394a5490d060ebba9ab54ef056.tar.xz
vo_gpu_next: infer target parameters
This allows us to read them back.
-rw-r--r--video/out/vo_gpu_next.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/video/out/vo_gpu_next.c b/video/out/vo_gpu_next.c
index 55a6fd083f..8fb24c39b1 100644
--- a/video/out/vo_gpu_next.c
+++ b/video/out/vo_gpu_next.c
@@ -1114,6 +1114,9 @@ static void draw_frame(struct vo *vo, struct vo_frame *frame)
goto done;
}
+ struct pl_frame ref_frame;
+ pl_frames_infer_mix(p->rr, &mix, &target, &ref_frame);
+
mp_mutex_lock(&vo->params_mutex);
if (!vo->target_params)
vo->target_params = talloc(vo, struct mp_image_params);
@@ -1127,9 +1130,8 @@ static void draw_frame(struct vo *vo, struct vo_frame *frame)
.rotate = target.rotation,
};
- const struct pl_frame *cur_frame = pl_frame_mix_nearest(&mix);
- if (cur_frame && vo->params) {
- vo->params->color.hdr = cur_frame->color.hdr;
+ if (vo->params) {
+ vo->params->color.hdr = ref_frame.color.hdr;
// Augment metadata with peak detection max_pq_y / avg_pq_y
pl_renderer_get_hdr_metadata(p->rr, &vo->params->color.hdr);
}