summaryrefslogtreecommitdiff
path: root/libavformat/img2.h (plain)
blob: 0e5b374a6b25adacadfa87a5f54d52b3a3ea63ef
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
33enum PatternType {
34 PT_GLOB_SEQUENCE,
35 PT_GLOB,
36 PT_SEQUENCE,
37 PT_NONE,
38 PT_DEFAULT
39};
40
41typedef struct VideoDemuxData {
42 const AVClass *class; /**< Class for private options. */
43 int img_first;
44 int img_last;
45 int img_number;
46 int64_t pts;
47 int img_count;
48 int is_pipe;
49 int split_planes; /**< use independent file for each Y, U, V plane */
50 char path[1024];
51 char *pixel_format; /**< Set by a private option. */
52 int width, height; /**< Set by a private option. */
53 AVRational framerate; /**< Set by a private option. */
54 int loop;
55 int pattern_type; /**< PatternType */
56 int use_glob;
57#if HAVE_GLOB
58 glob_t globstate;
59#endif
60 int start_number;
61 int start_number_range;
62 int frame_size;
63 int ts_from_file;
64} VideoDemuxData;
65
66typedef struct IdStrMap {
67 enum AVCodecID id;
68 const char *str;
69} IdStrMap;
70
71extern const IdStrMap ff_img_tags[];
72
73extern const AVOption ff_img_options[];
74
75int ff_img_read_header(AVFormatContext *s1);
76
77int ff_img_read_packet(AVFormatContext *s1, AVPacket *pkt);
78#endif
79