From: Kwanghoon Son Date: Thu, 11 Jul 2024 02:16:17 +0000 (+0900) Subject: Clean symbol resource handle X-Git-Tag: accepted/tizen/unified/20240727.112753^2~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=070374b2465bcd40ab639c7ec4d604580c6fbca3;p=platform%2Fcore%2Fapi%2Fmediavision.git Clean symbol resource handle - ZBarcode_Delete now called once after draw logic - remove un-necessary API expose Change-Id: I4dea92cb2678adb5f1dcefa9530dd4ffb3ed3122 Signed-off-by: Kwanghoon Son --- diff --git a/mv_barcode/barcode_generator/include/BarcodeGenerator.h b/mv_barcode/barcode_generator/include/BarcodeGenerator.h index 7c551487..e1ccd3b6 100644 --- a/mv_barcode/barcode_generator/include/BarcodeGenerator.h +++ b/mv_barcode/barcode_generator/include/BarcodeGenerator.h @@ -56,13 +56,8 @@ struct BarcodeConfig { std::string logo_path {}; }; -int write_buffer_to_img(zint_symbol *symbol, const BarcodeConfig &config); - -BarcodeImageFormat convertImageFormat(mv_barcode_image_format_e format); - -void swapBR(uint16_t *color); - -int mv_barcode_generate_symbol(zint_symbol *symbol, const BarcodeConfig &config); +int symbol_to_source(zint_symbol *symbol, const BarcodeConfig &config, mv_source_h source); +int symbol_to_image(zint_symbol *symbol, const BarcodeConfig &config); } /* Barcode */ } /* MediaVision */ diff --git a/mv_barcode/barcode_generator/src/BarcodeGenerator.cpp b/mv_barcode/barcode_generator/src/BarcodeGenerator.cpp index 6cb608fb..9a3d1f3e 100644 --- a/mv_barcode/barcode_generator/src/BarcodeGenerator.cpp +++ b/mv_barcode/barcode_generator/src/BarcodeGenerator.cpp @@ -36,7 +36,7 @@ namespace MediaVision { namespace Barcode { -BarcodeImageFormat convertImageFormat(mv_barcode_image_format_e format) +static BarcodeImageFormat convertImageFormat(mv_barcode_image_format_e format) { BarcodeImageFormat imageFormat = BARCODE_IMAGE_PNG; @@ -283,7 +283,7 @@ static int createBarcode(zint_symbol *symbol, const BarcodeConfig &config) return error; } -int mv_barcode_generate_symbol(zint_symbol *symbol, const BarcodeConfig &config) +static int mv_barcode_generate_symbol(zint_symbol *symbol, const BarcodeConfig &config) { int error = createBarcode(symbol, config); @@ -359,7 +359,7 @@ static void __draw_logo(cv::Mat &image, const BarcodeConfig &config) cv::add(logoMat, image, image); } -int write_buffer_to_img(zint_symbol *symbol, const BarcodeConfig &config) +static int write_buffer_to_img(zint_symbol *symbol, const BarcodeConfig &config) { std::string imageFileName = config.image_path; /* find directory */ @@ -422,7 +422,7 @@ int write_buffer_to_img(zint_symbol *symbol, const BarcodeConfig &config) The input colorspace is RGB but the generators' is BGR. Replace the value of R with that of B */ -void swapBR(uint16_t *color) +static void swapBR(uint16_t *color) { std::swap(color[0], color[2]); } @@ -537,5 +537,29 @@ int BarcodeConfig::update(mv_engine_config_h engine_cfg) return MEDIA_VISION_ERROR_NONE; } +int symbol_to_source(zint_symbol *symbol, const BarcodeConfig &config, mv_source_h source) +{ + int ret = mv_barcode_generate_symbol(symbol, config); + if (ret != MEDIA_VISION_ERROR_NONE) { + LOGE("mv_barcode_generate_symbol failed error : %d", ret); + return ret; + } + + return mv_source_fill_by_buffer(source, (unsigned char *) symbol->bitmap, + symbol->bitmap_width * symbol->bitmap_height * 3, symbol->bitmap_width, + symbol->bitmap_height, MEDIA_VISION_COLORSPACE_RGB888); +} + +int symbol_to_image(zint_symbol *symbol, const BarcodeConfig &config) +{ + int ret = mv_barcode_generate_symbol(symbol, config); + if (ret != MEDIA_VISION_ERROR_NONE) { + LOGE("mv_barcode_generate_symbol failed error : %d", ret); + return ret; + } + + return write_buffer_to_img(symbol, config); +} + } /* Barcode */ } /* MediaVision */ diff --git a/mv_barcode/barcode_generator/src/mv_barcode_generate.cpp b/mv_barcode/barcode_generator/src/mv_barcode_generate.cpp index 858de94c..ffbf4a7b 100644 --- a/mv_barcode/barcode_generator/src/mv_barcode_generate.cpp +++ b/mv_barcode/barcode_generator/src/mv_barcode_generate.cpp @@ -81,16 +81,7 @@ int mv_barcode_generate_source(mv_engine_config_h engine_cfg, const char *messag LOGE("ZBarcode creation failed"); return MEDIA_VISION_ERROR_INTERNAL; } - - ret = mv_barcode_generate_symbol(symbol, config); - if (ret != MEDIA_VISION_ERROR_NONE) { - ZBarcode_Delete(symbol); - return ret; - } - - ret = mv_source_fill_by_buffer(image, (unsigned char *) symbol->bitmap, - symbol->bitmap_width * symbol->bitmap_height * 3, symbol->bitmap_width, - symbol->bitmap_height, MEDIA_VISION_COLORSPACE_RGB888); + ret = symbol_to_source(symbol, config, image); ZBarcode_Delete(symbol); MEDIA_VISION_FUNCTION_LEAVE(); return ret; @@ -130,15 +121,7 @@ int mv_barcode_generate_image(mv_engine_config_h engine_cfg, const char *message LOGE("ZBarcode creation failed"); return MEDIA_VISION_ERROR_INTERNAL; } - - ret = mv_barcode_generate_symbol(symbol, config); - if (ret != MEDIA_VISION_ERROR_NONE) { - ZBarcode_Delete(symbol); - return ret; - } - - ret = MediaVision::Barcode::write_buffer_to_img(symbol, config); - + ret = symbol_to_image(symbol, config); ZBarcode_Delete(symbol); MEDIA_VISION_FUNCTION_LEAVE(); return ret;