MLT  7.28.0
mlt_luma_map.h
Go to the documentation of this file.
1 /*
2  * \file mlt_luma_map.h
3  * \brief functions to generate and read luma-wipe transition maps
4  *
5  * Copyright (C) 2003-2019 Meltytech, LLC
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  */
21 
22 #ifndef MLT_LUMA_MAP_H
23 #define MLT_LUMA_MAP_H
24 
25 #include <stdint.h>
26 #include <stdio.h>
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
33 {
34  int type;
35  int w;
36  int h;
37  int bands;
38  int rband;
39  int vmirror;
40  int hmirror;
41  int dmirror;
42  int invert;
43  int offset;
44  int flip;
45  int flop;
46  int pflip;
47  int pflop;
48  int quart;
49  int rotate;
50 };
51 
52 typedef struct mlt_luma_map_s *mlt_luma_map;
53 
54 extern void mlt_luma_map_init(mlt_luma_map self);
55 extern mlt_luma_map mlt_luma_map_new(const char *path);
56 extern uint16_t *mlt_luma_map_render(mlt_luma_map self);
57 extern int mlt_luma_map_from_pgm(const char *filename, uint16_t **map, int *width, int *height);
58 extern void mlt_luma_map_from_yuv422(uint8_t *image, uint16_t **map, int width, int height);
59 
60 #ifdef __cplusplus
61 }
62 #endif
63 
64 #endif
void mlt_luma_map_init(mlt_luma_map self)
Definition: mlt_luma_map.c:32
struct mlt_luma_map_s * mlt_luma_map
Definition: mlt_luma_map.h:52
mlt_luma_map mlt_luma_map_new(const char *path)
Definition: mlt_luma_map.c:417
void mlt_luma_map_from_yuv422(uint8_t *image, uint16_t **map, int width, int height)
Generate a 16-bit luma map from an 8-bit image.
Definition: mlt_luma_map.c:500
int mlt_luma_map_from_pgm(const char *filename, uint16_t **map, int *width, int *height)
Load the luma map from PGM stream.
Definition: mlt_luma_map.c:302
uint16_t * mlt_luma_map_render(mlt_luma_map self)
Definition: mlt_luma_map.c:75
Definition: mlt_luma_map.h:33
int dmirror
Definition: mlt_luma_map.h:41
int flip
Definition: mlt_luma_map.h:44
int rotate
Definition: mlt_luma_map.h:49
int h
Definition: mlt_luma_map.h:36
int quart
Definition: mlt_luma_map.h:48
int type
Definition: mlt_luma_map.h:34
int bands
Definition: mlt_luma_map.h:37
int hmirror
Definition: mlt_luma_map.h:40
int invert
Definition: mlt_luma_map.h:42
int vmirror
Definition: mlt_luma_map.h:39
int rband
Definition: mlt_luma_map.h:38
int pflip
Definition: mlt_luma_map.h:46
int flop
Definition: mlt_luma_map.h:45
int pflop
Definition: mlt_luma_map.h:47
int offset
Definition: mlt_luma_map.h:43
int w
Definition: mlt_luma_map.h:35