From 78cccdd596469711d0c466f1da25278f31b28efa Mon Sep 17 00:00:00 2001 From: Martijn Braam Date: Wed, 12 Jul 2023 15:30:03 +0200 Subject: [PATCH] Pass the correct buffer size through the pipeline again --- src/main.c | 4 ++-- src/main.h | 3 +++ src/process_pipeline.c | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main.c b/src/main.c index 6602dc3..03bdc2e 100644 --- a/src/main.c +++ b/src/main.c @@ -158,8 +158,8 @@ update_state(const struct mp_main_state *state) has_auto_focus_start = state->has_auto_focus_start; } - preview_buffer_width = state->mode->width; - preview_buffer_height = state->mode->height; + preview_buffer_width = state->image_width; + preview_buffer_height = state->image_height; return false; } diff --git a/src/main.h b/src/main.h index d3f5783..48b6ff2 100644 --- a/src/main.h +++ b/src/main.h @@ -17,6 +17,9 @@ struct mp_main_state { bool has_auto_focus_continuous; bool has_auto_focus_start; + + int image_width; + int image_height; }; void mp_main_update_state(const struct mp_main_state *state); diff --git a/src/process_pipeline.c b/src/process_pipeline.c index 2ddf30b..2badb1b 100644 --- a/src/process_pipeline.c +++ b/src/process_pipeline.c @@ -978,7 +978,7 @@ on_output_changed(bool format_changed) output_buffer_width = mode->width / 2; output_buffer_height = mode->height / 2; - if (mode->rotation != 0 || mode->rotation != 180) { + if (mode->rotation != 0 && mode->rotation != 180) { int tmp = output_buffer_width; output_buffer_width = output_buffer_height; output_buffer_height = tmp; @@ -1082,6 +1082,8 @@ update_state(MPPipeline *pipeline, const struct mp_process_pipeline_state *state .exposure = exposure, .has_auto_focus_continuous = state->has_auto_focus_continuous, .has_auto_focus_start = state->has_auto_focus_start, + .image_width = output_buffer_width, + .image_height = output_buffer_height, }; mp_main_update_state(&main_state); }