From a3e2531bd601bfc0a886348e69498009bdcb7e67 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 21 Aug 2019 21:51:25 +0200 Subject: [PATCH] Remove duplicate function in translation_service.c --- griffin/griffin.c | 2 +- libretro-common/formats/bmp/rbmp_encode.c | 13 ++-- libretro-common/include/formats/rbmp.h | 4 ++ translation/translation_service.c | 80 +---------------------- 4 files changed, 15 insertions(+), 84 deletions(-) diff --git a/griffin/griffin.c b/griffin/griffin.c index d064b3b297..2583671131 100644 --- a/griffin/griffin.c +++ b/griffin/griffin.c @@ -339,9 +339,9 @@ VIDEO IMAGE #endif #ifdef HAVE_RBMP #include "../libretro-common/formats/bmp/rbmp.c" -#include "../libretro-common/formats/bmp/rbmp_encode.c" #endif +#include "../libretro-common/formats/bmp/rbmp_encode.c" #include "../libretro-common/formats/wav/rwav.c" /*============================================================ diff --git a/libretro-common/formats/bmp/rbmp_encode.c b/libretro-common/formats/bmp/rbmp_encode.c index 50798b080f..d308c4c226 100644 --- a/libretro-common/formats/bmp/rbmp_encode.c +++ b/libretro-common/formats/bmp/rbmp_encode.c @@ -26,15 +26,15 @@ #include #include -static bool write_header_bmp(RFILE *file, unsigned width, unsigned height, bool is32bpp) +void form_bmp_header(uint8_t *header, + unsigned width, unsigned height, + bool is32bpp) { - uint8_t header[54]; unsigned line_size = (width * (is32bpp?4:3) + 3) & ~3; unsigned size = line_size * height + 54; unsigned size_array = line_size * height; /* Generic BMP stuff. */ - /* signature */ header[0] = 'B'; header[1] = 'M'; @@ -72,7 +72,7 @@ static bool write_header_bmp(RFILE *file, unsigned width, unsigned height, bool header[26] = 1; header[27] = 0; /* Bits per pixel */ - header[28] = is32bpp?32:24; + header[28] = 24; header[29] = 0; /* Compression method */ header[30] = 0; @@ -104,7 +104,12 @@ static bool write_header_bmp(RFILE *file, unsigned width, unsigned height, bool header[51] = 0; header[52] = 0; header[53] = 0; +} +static bool write_header_bmp(RFILE *file, unsigned width, unsigned height, bool is32bpp) +{ + uint8_t header[54]; + form_bmp_header(header, width, height, is32bpp); return filestream_write(file, header, sizeof(header)) == sizeof(header); } diff --git a/libretro-common/include/formats/rbmp.h b/libretro-common/include/formats/rbmp.h index 9b3a908733..28403c9481 100644 --- a/libretro-common/include/formats/rbmp.h +++ b/libretro-common/include/formats/rbmp.h @@ -51,6 +51,10 @@ bool rbmp_save_image( int rbmp_process_image(rbmp_t *rbmp, void **buf, size_t size, unsigned *width, unsigned *height); +void form_bmp_header(uint8_t *header, + unsigned width, unsigned height, + bool is32bpp); + bool rbmp_set_buf_ptr(rbmp_t *rbmp, void *data); void rbmp_free(rbmp_t *rbmp); diff --git a/translation/translation_service.c b/translation/translation_service.c index 90df5e8c8a..4fbc7ae6f3 100644 --- a/translation/translation_service.c +++ b/translation/translation_service.c @@ -3,6 +3,7 @@ #include #include #include +#include #include "translation_service.h" #include "gfx/video_frame.h" #include "gfx/scaler/scaler.h" @@ -26,85 +27,6 @@ typedef struct nbio_buf char *path; } nbio_buf_t; -static void form_bmp_header(uint8_t *header, - unsigned width, unsigned height, - bool is32bpp) -{ - unsigned line_size = (width * (is32bpp?4:3) + 3) & ~3; - unsigned size = line_size * height + 54; - unsigned size_array = line_size * height; - - /* Generic BMP stuff. */ - /* signature */ - header[0] = 'B'; - header[1] = 'M'; - /* file size */ - header[2] = (uint8_t)(size >> 0); - header[3] = (uint8_t)(size >> 8); - header[4] = (uint8_t)(size >> 16); - header[5] = (uint8_t)(size >> 24); - /* reserved */ - header[6] = 0; - header[7] = 0; - header[8] = 0; - header[9] = 0; - /* offset */ - header[10] = 54; - header[11] = 0; - header[12] = 0; - header[13] = 0; - /* DIB size */ - header[14] = 40; - header[15] = 0; - header[16] = 0; - header[17] = 0; - /* Width */ - header[18] = (uint8_t)(width >> 0); - header[19] = (uint8_t)(width >> 8); - header[20] = (uint8_t)(width >> 16); - header[21] = (uint8_t)(width >> 24); - /* Height */ - header[22] = (uint8_t)(height >> 0); - header[23] = (uint8_t)(height >> 8); - header[24] = (uint8_t)(height >> 16); - header[25] = (uint8_t)(height >> 24); - /* Color planes */ - header[26] = 1; - header[27] = 0; - /* Bits per pixel */ - header[28] = 24; - header[29] = 0; - /* Compression method */ - header[30] = 0; - header[31] = 0; - header[32] = 0; - header[33] = 0; - /* Image data size */ - header[34] = (uint8_t)(size_array >> 0); - header[35] = (uint8_t)(size_array >> 8); - header[36] = (uint8_t)(size_array >> 16); - header[37] = (uint8_t)(size_array >> 24); - /* Horizontal resolution */ - header[38] = 19; - header[39] = 11; - header[40] = 0; - header[41] = 0; - /* Vertical resolution */ - header[42] = 19; - header[43] = 11; - header[44] = 0; - header[45] = 0; - /* Palette size */ - header[46] = 0; - header[47] = 0; - header[48] = 0; - header[49] = 0; - /* Important color count */ - header[50] = 0; - header[51] = 0; - header[52] = 0; - header[53] = 0; -} static void handle_translation_cb( retro_task_t *task, void *task_data, void *user_data, const char *error)