1/* Image manipulation functions 2 * 3 * Project : minidlna 4 * Website : http://sourceforge.net/projects/minidlna/ 5 * Author : Justin Maggard 6 * 7 * MiniDLNA media server 8 * Copyright (C) 2009 Justin Maggard 9 * 10 * This file is part of MiniDLNA. 11 * 12 * MiniDLNA is free software; you can redistribute it and/or modify 13 * it under the terms of the GNU General Public License version 2 as 14 * published by the Free Software Foundation. 15 * 16 * MiniDLNA is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU General Public License for more details. 20 * 21 * You should have received a copy of the GNU General Public License 22 * along with MiniDLNA. If not, see <http://www.gnu.org/licenses/>. 23 */ 24#include <inttypes.h> 25 26#define ROTATE_NONE 0x0 27#define ROTATE_90 0x1 28#define ROTATE_180 0x2 29#define ROTATE_270 0x4 30 31typedef uint32_t pix; 32 33typedef struct { 34 int32_t width; 35 int32_t height; 36 pix *buf; 37} image_s; 38 39void 40image_free(image_s *pimage); 41 42int 43image_get_jpeg_date_xmp(const char * path, char ** date); 44 45int 46image_get_jpeg_resolution(const char * path, int * width, int * height); 47 48image_s * 49image_new_from_jpeg(const char *path, int is_file, const uint8_t *ptr, int size, int scale, int resize); 50 51image_s * 52image_resize(image_s * src_image, int32_t width, int32_t height); 53 54unsigned char * 55image_save_to_jpeg_buf(image_s * pimage, int * size); 56 57char * 58image_save_to_jpeg_file(image_s * pimage, char * path); 59