1+ /* Copyright (c) 2015, Benjamin Huber
2+ *
3+ * All rights reserved.
4+ *
5+ * Redistribution and use in source and binary forms, with or without
6+ * modification, are permitted provided that the following conditions are met:
7+ * * Redistributions of source code must retain the above copyright
8+ * notice, this list of conditions and the following disclaimer.
9+ * * Redistributions in binary form must reproduce the above copyright
10+ * notice, this list of conditions and the following disclaimer in the
11+ * documentation and/or other materials provided with the distribution.
12+ * * Neither the name of the copyright holder nor the
13+ * names of its contributors may be used to endorse or promote products
14+ * derived from this software without specific prior written permission.
15+ *
16+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
20+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26+ */
27+
128#ifndef IMAGEDEF_H
229#define IMAGEDEF_H
330
31+ #define INIT_IMAGE { 0, 0, 0, 0, 0}
32+ #define INIT_ANIM_IMAGE { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
33+
34+ #define destroyImage (im ) free((im)->pData); (im)->pData = NULL
35+
436/* Color spaces OMX-Components support */
537#define COLOR_SPACE_RGB24 0
638#define COLOR_SPACE_RGBA 1
@@ -14,7 +46,24 @@ typedef struct IMAGE{
1446
1547 unsigned int width ;
1648 unsigned int height ;
17- char colorSpace ;
49+ unsigned char colorSpace ;
1850} IMAGE ;
1951
52+ typedef struct ANIM_IMAGE {
53+ IMAGE * curFrame ;
54+ unsigned frameNum ;
55+
56+ unsigned char * imData ;
57+ size_t size ;
58+
59+ void * pExtraData ;
60+ int (* decodeNextFrame )(struct ANIM_IMAGE * );
61+ void (* finaliseDecoding )(struct ANIM_IMAGE * );
62+
63+ unsigned int frameCount ;
64+ unsigned int frameDelayCs ;
65+ int loopCount ;
66+
67+ } ANIM_IMAGE ;
68+
2069#endif
0 commit comments