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_SEQUENCE, 35 PT_GLOB, 36 PT_SEQUENCE, 37 PT_NONE, 38 PT_DEFAULT 39 }; 40 41 typedef 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 int export_path_metadata; /**< enabled when set to 1. */ 65 } VideoDemuxData; 66 67 typedef struct IdStrMap { 68 enum AVCodecID id; 69 const char *str; 70 } IdStrMap; 71 72 extern const IdStrMap ff_img_tags[]; 73 74 extern const AVOption ff_img_options[]; 75 76 int ff_img_read_header(AVFormatContext *s1); 77 78 int ff_img_read_packet(AVFormatContext *s1, AVPacket *pkt); 79 #endif 80