From 835936220403b7f69fdc3749fd785ed1d0a674c2 Mon Sep 17 00:00:00 2001 From: MK3S+ Printer Date: Sat, 29 Oct 2022 11:10:16 +0200 Subject: [PATCH] Improve decoder selected formats to choose ones with best quality first --- device/camera/camera_output.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/device/camera/camera_output.c b/device/camera/camera_output.c index aa6d6ee..1f06d95 100644 --- a/device/camera/camera_output.c +++ b/device/camera/camera_output.c @@ -126,11 +126,16 @@ int camera_configure_output_rescaler(camera_t *camera, buffer_list_t *src_captur int camera_configure_decoder(camera_t *camera, buffer_list_t *src_capture) { unsigned decode_formats[] = { + // best quality V4L2_PIX_FMT_YUYV, + + // medium quality V4L2_PIX_FMT_YUV420, - V4L2_PIX_FMT_YVU420, V4L2_PIX_FMT_NV12, + + // low quality V4L2_PIX_FMT_NV21, + V4L2_PIX_FMT_YVU420, 0 }; unsigned chosen_format = 0; @@ -148,7 +153,7 @@ int camera_configure_decoder(camera_t *camera, buffer_list_t *src_capture) buffer_list_t *decoder_output = device_open_buffer_list_output( camera->decoder, src_capture); buffer_list_t *decoder_capture = device_open_buffer_list_capture( - camera->decoder, decoder_output, 1.0, 0, true); + camera->decoder, decoder_output, 1.0, chosen_format, true); camera_capture_add_output(camera, src_capture, decoder_output);