diff options
author | Kacper Michajłow <kasper93@gmail.com> | 2023-09-18 03:16:24 +0200 |
---|---|---|
committer | Jan Ekström <jeebjp@gmail.com> | 2024-03-07 21:12:12 +0200 |
commit | 580bc69d0c4e99394a5490d060ebba9ab54ef056 (patch) | |
tree | 816df0e58ffb1bc91badd473593c21763d952350 /video | |
parent | fc5d533a66df72b79e35aa35dfd028562601f58c (diff) | |
download | mpv-580bc69d0c4e99394a5490d060ebba9ab54ef056.tar.bz2 mpv-580bc69d0c4e99394a5490d060ebba9ab54ef056.tar.xz |
vo_gpu_next: infer target parameters
This allows us to read them back.
Diffstat (limited to 'video')
-rw-r--r-- | video/out/vo_gpu_next.c | 8 |
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); } |