mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
imlib/draw: Remove single use flags.
This commit is contained in:
parent
bd851413da
commit
c9cb42a659
@ -3040,9 +3040,6 @@ void imlib_draw_image(image_t *dst_img,
|
|||||||
color_palette = NULL;
|
color_palette = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Special destination?
|
|
||||||
bool is_jpeg = src_img->pixfmt == PIXFORMAT_JPEG;
|
|
||||||
bool is_png = src_img->pixfmt == PIXFORMAT_PNG;
|
|
||||||
// Best format to convert yuv/bayer/jpeg image to.
|
// Best format to convert yuv/bayer/jpeg image to.
|
||||||
int new_not_mutable_pixfmt = (rgb_channel != -1) ? PIXFORMAT_RGB565 :
|
int new_not_mutable_pixfmt = (rgb_channel != -1) ? PIXFORMAT_RGB565 :
|
||||||
(color_palette ? PIXFORMAT_GRAYSCALE :
|
(color_palette ? PIXFORMAT_GRAYSCALE :
|
||||||
@ -3068,13 +3065,6 @@ void imlib_draw_image(image_t *dst_img,
|
|||||||
// Is the line length growing which will prevent us from working in-place?
|
// Is the line length growing which will prevent us from working in-place?
|
||||||
bool is_upscaling = src_img_row_bytes < dst_img_row_bytes;
|
bool is_upscaling = src_img_row_bytes < dst_img_row_bytes;
|
||||||
|
|
||||||
// Force a deep copy if we cannot use the image in-place.
|
|
||||||
bool need_deep_copy = (dst_img->data == src_img->data)
|
|
||||||
&& (is_scaling || is_upscaling || is_bayer_yuv_conversion);
|
|
||||||
|
|
||||||
// Force a deep copy if we are scaling.
|
|
||||||
bool is_bayer_yuv_conversion_scaling = is_bayer_yuv_conversion && is_scaling;
|
|
||||||
|
|
||||||
#if (OMV_GPU_ENABLE == 1)
|
#if (OMV_GPU_ENABLE == 1)
|
||||||
if (!callback &&
|
if (!callback &&
|
||||||
!is_bayer_yuv_conversion &&
|
!is_bayer_yuv_conversion &&
|
||||||
@ -3109,7 +3099,10 @@ void imlib_draw_image(image_t *dst_img,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Make a deep copy of the source image.
|
// Make a deep copy of the source image.
|
||||||
if (need_deep_copy || is_bayer_yuv_conversion_scaling || is_jpeg || is_png) {
|
if (((dst_img->data == src_img->data) &&
|
||||||
|
(is_scaling || is_upscaling || is_bayer_yuv_conversion)) ||
|
||||||
|
(is_bayer_yuv_conversion && is_scaling) ||
|
||||||
|
src_img->is_compressed) {
|
||||||
new_src_img.w = src_img->w; // same width as source image
|
new_src_img.w = src_img->w; // same width as source image
|
||||||
new_src_img.h = src_img->h; // same height as source image
|
new_src_img.h = src_img->h; // same height as source image
|
||||||
|
|
||||||
@ -3126,9 +3119,9 @@ void imlib_draw_image(image_t *dst_img,
|
|||||||
imlib_debayer_image(&new_src_img, src_img);
|
imlib_debayer_image(&new_src_img, src_img);
|
||||||
} else if (src_img->is_yuv) {
|
} else if (src_img->is_yuv) {
|
||||||
imlib_deyuv_image(&new_src_img, src_img);
|
imlib_deyuv_image(&new_src_img, src_img);
|
||||||
} else if (is_jpeg) {
|
} else if (src_img->pixfmt == PIXFORMAT_JPEG) {
|
||||||
jpeg_decompress(&new_src_img, src_img);
|
jpeg_decompress(&new_src_img, src_img);
|
||||||
} else if (is_png) {
|
} else if (src_img->pixfmt == PIXFORMAT_PNG) {
|
||||||
png_decompress(&new_src_img, src_img);
|
png_decompress(&new_src_img, src_img);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -3139,7 +3132,7 @@ void imlib_draw_image(image_t *dst_img,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
if (is_png) {
|
if (src_img->pixfmt == PIXFORMAT_PNG) {
|
||||||
png_decompress(&new_src_img, src_img);
|
png_decompress(&new_src_img, src_img);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user