This allows us to read them back.
Unified · Split
| @@ -1114,6 +1114,9 @@ static void draw_frame(struct vo *vo, struct vo_frame *frame) · 1113 unmodified lines | |||
| 1114 | goto done; | 1114 | goto done; |
| 1115 | } | 1115 | } |
| 1116 | 1116 | ||
| 1117 | struct pl_frame ref_frame; | ||
| 1118 | pl_frames_infer_mix(p->rr, &mix, &target, &ref_frame); | ||
| 1119 | |||
| 1117 | mp_mutex_lock(&vo->params_mutex); | 1120 | mp_mutex_lock(&vo->params_mutex); |
| 1118 | if (!vo->target_params) | 1121 | if (!vo->target_params) |
| 1119 | vo->target_params = talloc(vo, struct mp_image_params); | 1122 | vo->target_params = talloc(vo, struct mp_image_params); |
| @@ -1127,9 +1130,8 @@ static void draw_frame(struct vo *vo, struct vo_frame *frame) · 7 unmodified lines | |||
| 1127 | .rotate = target.rotation, | 1130 | .rotate = target.rotation, |
| 1128 | }; | 1131 | }; |
| 1129 | 1132 | ||
| 1130 | const struct pl_frame *cur_frame = pl_frame_mix_nearest(&mix); | 1133 | if (vo->params) { |
| 1131 | if (cur_frame && vo->params) { | 1134 | vo->params->color.hdr = ref_frame.color.hdr; |
| 1132 | vo->params->color.hdr = cur_frame->color.hdr; | ||
| 1133 | // Augment metadata with peak detection max_pq_y / avg_pq_y | 1135 | // Augment metadata with peak detection max_pq_y / avg_pq_y |
| 1134 | pl_renderer_get_hdr_metadata(p->rr, &vo->params->color.hdr); | 1136 | pl_renderer_get_hdr_metadata(p->rr, &vo->params->color.hdr); |
| 1135 | } | 1137 | } |