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); }