Add CAMERA_DECODER_DEBUG
to capture debug output of capture into /tmp
This commit is contained in:
parent
8359362204
commit
f0d16f491c
@ -123,6 +123,30 @@ int camera_configure_output_rescaler(camera_t *camera, buffer_list_t *src_captur
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void decoder_debug_on_buffer(buffer_t *buf) {
|
||||||
|
if (!buf) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int index = 0;
|
||||||
|
|
||||||
|
char path[256];
|
||||||
|
sprintf(path, "/tmp/decoder_capture.%d.%s", index++ % 10, fourcc_to_string(buf->buf_list->fmt.format).buf);
|
||||||
|
|
||||||
|
FILE *fp = fopen(path, "wb");
|
||||||
|
if (!fp) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
fwrite(buf->start, 1, buf->used, fp);
|
||||||
|
fclose(fp);
|
||||||
|
}
|
||||||
|
|
||||||
|
static link_callbacks_t decoder_debug_callbacks = {
|
||||||
|
.name = "DECODER-DEBUG-CAPTURE",
|
||||||
|
.on_buffer = decoder_debug_on_buffer
|
||||||
|
};
|
||||||
|
|
||||||
int camera_configure_decoder(camera_t *camera, buffer_list_t *src_capture)
|
int camera_configure_decoder(camera_t *camera, buffer_list_t *src_capture)
|
||||||
{
|
{
|
||||||
unsigned decode_formats[] = {
|
unsigned decode_formats[] = {
|
||||||
@ -155,6 +179,10 @@ int camera_configure_decoder(camera_t *camera, buffer_list_t *src_capture)
|
|||||||
buffer_list_t *decoder_capture = device_open_buffer_list_capture(
|
buffer_list_t *decoder_capture = device_open_buffer_list_capture(
|
||||||
camera->decoder, decoder_output, 1.0, chosen_format, true);
|
camera->decoder, decoder_output, 1.0, chosen_format, true);
|
||||||
|
|
||||||
|
if (getenv("CAMERA_DECODER_DEBUG")) {
|
||||||
|
camera_capture_set_callbacks(camera, decoder_capture, decoder_debug_callbacks);
|
||||||
|
}
|
||||||
|
|
||||||
camera_capture_add_output(camera, src_capture, decoder_output);
|
camera_capture_add_output(camera, src_capture, decoder_output);
|
||||||
|
|
||||||
if (camera->options.high_res_factor <= 1 && (src_capture->fmt.format == V4L2_PIX_FMT_JPEG || src_capture->fmt.format == V4L2_PIX_FMT_MJPEG)) {
|
if (camera->options.high_res_factor <= 1 && (src_capture->fmt.format == V4L2_PIX_FMT_JPEG || src_capture->fmt.format == V4L2_PIX_FMT_MJPEG)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user