|
@@ -1,69 +0,0 @@
|
|
|
-#include "graphics.h"
|
|
|
-#include "obsconfig.h"
|
|
|
-
|
|
|
-#define MAGICKCORE_QUANTUM_DEPTH 16
|
|
|
-#define MAGICKCORE_HDRI_ENABLE 0
|
|
|
-
|
|
|
-#if LIBOBS_IMAGEMAGICK_DIR_STYLE == LIBOBS_IMAGEMAGICK_DIR_STYLE_6L
|
|
|
-#include <magick/MagickCore.h>
|
|
|
-#elif LIBOBS_IMAGEMAGICK_DIR_STYLE == LIBOBS_IMAGEMAGICK_DIR_STYLE_7GE
|
|
|
-#include <MagickCore/MagickCore.h>
|
|
|
-#endif
|
|
|
-
|
|
|
-void gs_init_image_deps()
|
|
|
-{
|
|
|
- MagickCoreGenesis(NULL, MagickTrue);
|
|
|
-}
|
|
|
-
|
|
|
-void gs_free_image_deps()
|
|
|
-{
|
|
|
- MagickCoreTerminus();
|
|
|
-}
|
|
|
-
|
|
|
-uint8_t *gs_create_texture_file_data(const char *file, enum gs_color_format *format, uint32_t *cx_out, uint32_t *cy_out)
|
|
|
-{
|
|
|
- uint8_t *data = NULL;
|
|
|
- ImageInfo *info;
|
|
|
- ExceptionInfo *exception;
|
|
|
- Image *image;
|
|
|
-
|
|
|
- if (!file || !*file)
|
|
|
- return NULL;
|
|
|
-
|
|
|
- info = CloneImageInfo(NULL);
|
|
|
- exception = AcquireExceptionInfo();
|
|
|
-
|
|
|
- strcpy(info->filename, file);
|
|
|
- image = ReadImage(info, exception);
|
|
|
- if (image) {
|
|
|
- size_t cx = image->magick_columns;
|
|
|
- size_t cy = image->magick_rows;
|
|
|
- data = bmalloc(cx * cy * 4);
|
|
|
-
|
|
|
- ExportImagePixels(image, 0, 0, cx, cy, "BGRA", CharPixel, data, exception);
|
|
|
- if (exception->severity != UndefinedException) {
|
|
|
- blog(LOG_WARNING,
|
|
|
- "magickcore warning/error getting "
|
|
|
- "pixels from file '%s': %s",
|
|
|
- file, exception->reason);
|
|
|
- bfree(data);
|
|
|
- data = NULL;
|
|
|
- }
|
|
|
-
|
|
|
- *format = GS_BGRA;
|
|
|
- *cx_out = (uint32_t)cx;
|
|
|
- *cy_out = (uint32_t)cy;
|
|
|
- DestroyImage(image);
|
|
|
-
|
|
|
- } else if (exception->severity != UndefinedException) {
|
|
|
- blog(LOG_WARNING,
|
|
|
- "magickcore warning/error reading file "
|
|
|
- "'%s': %s",
|
|
|
- file, exception->reason);
|
|
|
- }
|
|
|
-
|
|
|
- DestroyImageInfo(info);
|
|
|
- DestroyExceptionInfo(exception);
|
|
|
-
|
|
|
- return data;
|
|
|
-}
|