tools/sofa2wavs: fix build on Windows
[ffmpeg.git] / libavformat / img2.h
1 /*
2 * Image format
3 * Copyright (c) 2014 Michael Niedermayer
4 *
5 * This file is part of FFmpeg.
6 *
7 * FFmpeg 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 * FFmpeg 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 FFmpeg; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22 #ifndef AVFORMAT_IMG2_H
23 #define AVFORMAT_IMG2_H
24
25 #include <stdint.h>
26 #include "avformat.h"
27 #include "libavutil/opt.h"
28
29 #if HAVE_GLOB
30 #include <glob.h>
31 #endif
32
33 enum PatternType {
34 PT_GLOB = 1,
35 PT_SEQUENCE,
36 PT_NONE,
37 PT_DEFAULT
38 };
39
40 typedef struct VideoDemuxData {
41 const AVClass *class; /**< Class for private options. */
42 int img_first;
43 int img_last;
44 int img_number;
45 int64_t pts;
46 int img_count;
47 int is_pipe;
48 int split_planes; /**< use independent file for each Y, U, V plane */
49 char *pixel_format; /**< Set by a private option. */
50 int width, height; /**< Set by a private option. */
51 AVRational framerate; /**< Set by a private option. */
52 int loop;
53 int pattern_type; /**< PatternType */
54 int use_glob;
55 #if HAVE_GLOB
56 glob_t globstate;
57 #endif
58 int start_number;
59 int start_number_range;
60 int frame_size;
61 int ts_from_file;
62 int export_path_metadata; /**< enabled when set to 1. */
63 } VideoDemuxData;
64
65 typedef struct IdStrMap {
66 enum AVCodecID id;
67 char str[12];
68 } IdStrMap;
69
70 extern const IdStrMap ff_img_tags[];
71
72 extern const AVOption ff_img_options[];
73
74 int ff_img_read_header(AVFormatContext *s1);
75
76 int ff_img_read_packet(AVFormatContext *s1, AVPacket *pkt);
77 #endif