MiniDLNA update: 1.0.19.1 to 1.0.20
[tomato.git] / release / src / router / minidlna / image_utils.h
blob40ffaeac6ff324f7fc55966eeeffcd3a7ec0a0c3
1 /* Image manipulation functions
3 * Project : minidlna
4 * Website : http://sourceforge.net/projects/minidlna/
5 * Author : Justin Maggard
7 * MiniDLNA media server
8 * Copyright (C) 2009 Justin Maggard
10 * This file is part of MiniDLNA.
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.
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.
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/>.
24 #include <sys/types.h>
26 typedef u_int32_t pix;
28 typedef struct {
29 int32_t width;
30 int32_t height;
31 pix *buf;
32 } image_s;
34 void
35 image_free(image_s *pimage);
37 int
38 image_get_jpeg_date_xmp(const char * path, char ** date);
40 int
41 image_get_jpeg_resolution(const char * path, int * width, int * height);
43 image_s *
44 image_new_from_jpeg(const char * path, int is_file, const char * ptr, int size, int scale);
46 image_s *
47 image_resize(image_s * src_image, int32_t width, int32_t height);
49 unsigned char *
50 image_save_to_jpeg_buf(image_s * pimage, int * size);
52 int
53 image_save_to_jpeg_file(image_s * pimage, const char * path);