diff --git a/gfx/video_pixel_converter.c b/gfx/video_pixel_converter.c
index 4a4467aa21..1d057183b8 100644
--- a/gfx/video_pixel_converter.c
+++ b/gfx/video_pixel_converter.c
@@ -14,9 +14,13 @@
* If not, see .
*/
-#include "video_pixel_converter.h"
+#include
+
#include
+
#include "../general.h"
+#include "../performance.h"
+#include "video_pixel_converter.h"
void deinit_pixel_converter(void)
{
@@ -70,3 +74,34 @@ unsigned video_pixel_get_alignment(unsigned pitch)
return 4;
return 8;
}
+
+bool video_pixel_frame_scale(const void *data,
+ unsigned width, unsigned height,
+ size_t pitch)
+{
+ driver_t *driver = driver_get_ptr();
+
+ RARCH_PERFORMANCE_INIT(video_frame_conv);
+
+ if (!data)
+ return false;
+ if (video_driver_get_pixel_format() != RETRO_PIXEL_FORMAT_0RGB1555)
+ return false;
+ if (data == RETRO_HW_FRAME_BUFFER_VALID)
+ return false;
+
+ RARCH_PERFORMANCE_START(video_frame_conv);
+
+ driver->scaler.in_width = width;
+ driver->scaler.in_height = height;
+ driver->scaler.out_width = width;
+ driver->scaler.out_height = height;
+ driver->scaler.in_stride = pitch;
+ driver->scaler.out_stride = width * sizeof(uint16_t);
+
+ scaler_ctx_scale(&driver->scaler, driver->scaler_out, data);
+
+ RARCH_PERFORMANCE_STOP(video_frame_conv);
+
+ return true;
+}
diff --git a/gfx/video_pixel_converter.h b/gfx/video_pixel_converter.h
index f08abed0c4..f9358fa843 100644
--- a/gfx/video_pixel_converter.h
+++ b/gfx/video_pixel_converter.h
@@ -29,6 +29,10 @@ bool init_video_pixel_converter(unsigned size);
unsigned video_pixel_get_alignment(unsigned pitch);
+bool video_pixel_frame_scale(const void *data,
+ unsigned width, unsigned height,
+ size_t pitch);
+
#ifdef __cplusplus
}
#endif
diff --git a/libretro_version_1.c b/libretro_version_1.c
index 10dcbded90..3e245d2fac 100644
--- a/libretro_version_1.c
+++ b/libretro_version_1.c
@@ -36,43 +36,13 @@
#include "audio/audio_utils.h"
#include "retroarch_logger.h"
#include "record/record_driver.h"
+#include "gfx/video_pixel_converter.h"
#include "intl/intl.h"
#ifdef HAVE_NETPLAY
#include "netplay.h"
#endif
-static bool video_frame_scale(const void *data,
- unsigned width, unsigned height,
- size_t pitch)
-{
- driver_t *driver = driver_get_ptr();
-
- RARCH_PERFORMANCE_INIT(video_frame_conv);
-
- if (!data)
- return false;
- if (video_driver_get_pixel_format() != RETRO_PIXEL_FORMAT_0RGB1555)
- return false;
- if (data == RETRO_HW_FRAME_BUFFER_VALID)
- return false;
-
- RARCH_PERFORMANCE_START(video_frame_conv);
-
- driver->scaler.in_width = width;
- driver->scaler.in_height = height;
- driver->scaler.out_width = width;
- driver->scaler.out_height = height;
- driver->scaler.in_stride = pitch;
- driver->scaler.out_stride = width * sizeof(uint16_t);
-
- scaler_ctx_scale(&driver->scaler, driver->scaler_out, data);
-
- RARCH_PERFORMANCE_STOP(video_frame_conv);
-
- return true;
-}
-
/**
* video_frame:
* @data : pointer to data of the video frame.
@@ -94,7 +64,7 @@ static void video_frame(const void *data, unsigned width,
if (!driver->video_active)
return;
- if (video_frame_scale(data, width, height, pitch))
+ if (video_pixel_frame_scale(data, width, height, pitch))
{
data = driver->scaler_out;
pitch = driver->scaler.out_stride;