FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavformat
rawdec.h
Go to the documentation of this file.
1
/*
2
* RAW demuxers
3
* Copyright (C) 2007 Aurelien Jacobs <aurel@gnuage.org>
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_RAWDEC_H
23
#define AVFORMAT_RAWDEC_H
24
25
#include "
avformat.h
"
26
#include "
libavutil/log.h
"
27
#include "
libavutil/opt.h
"
28
29
typedef
struct
FFRawVideoDemuxerContext
{
30
const
AVClass
*
class
;
/**< Class for private options. */
31
char
*
video_size
;
/**< String describing video size, set by a private option. */
32
char
*
pixel_format
;
/**< Set by a private option. */
33
AVRational
framerate
;
/**< AVRational describing framerate, set by a private option. */
34
}
FFRawVideoDemuxerContext
;
35
36
extern
const
AVOption
ff_rawvideo_options
[];
37
38
int
ff_raw_read_partial_packet
(
AVFormatContext
*
s
,
AVPacket
*
pkt
);
39
40
int
ff_raw_audio_read_header
(
AVFormatContext
*
s
);
41
42
int
ff_raw_video_read_header
(
AVFormatContext
*
s
);
43
44
int
ff_raw_data_read_header
(
AVFormatContext
*
s
);
45
46
#define FF_RAWVIDEO_DEMUXER_CLASS(name)\
47
static const AVClass name ## _demuxer_class = {\
48
.class_name = #name " demuxer",\
49
.item_name = av_default_item_name,\
50
.option = ff_rawvideo_options,\
51
.version = LIBAVUTIL_VERSION_INT,\
52
};
53
54
#define FF_DEF_RAWVIDEO_DEMUXER2(shortname, longname, probe, ext, id, flag)\
55
FF_RAWVIDEO_DEMUXER_CLASS(shortname)\
56
AVInputFormat ff_ ## shortname ## _demuxer = {\
57
.name = #shortname,\
58
.long_name = NULL_IF_CONFIG_SMALL(longname),\
59
.read_probe = probe,\
60
.read_header = ff_raw_video_read_header,\
61
.read_packet = ff_raw_read_partial_packet,\
62
.extensions = ext,\
63
.flags = flag,\
64
.raw_codec_id = id,\
65
.priv_data_size = sizeof(FFRawVideoDemuxerContext),\
66
.priv_class = &shortname ## _demuxer_class,\
67
};
68
69
#define FF_DEF_RAWVIDEO_DEMUXER(shortname, longname, probe, ext, id)\
70
FF_DEF_RAWVIDEO_DEMUXER2(shortname, longname, probe, ext, id, AVFMT_GENERIC_INDEX)
71
72
#define FF_RAWSUB_DEMUXER_CLASS(name)\
73
static const AVClass name ## _demuxer_class = {\
74
.class_name = #name " demuxer",\
75
.item_name = av_default_item_name,\
76
.option = NULL,\
77
.version = LIBAVUTIL_VERSION_INT,\
78
};
79
80
#define FF_DEF_RAWSUB_DEMUXER(shortname, longname, probe, ext, id, flag)\
81
FF_RAWVIDEO_DEMUXER_CLASS(shortname)\
82
AVInputFormat ff_ ## shortname ## _demuxer = {\
83
.name = #shortname,\
84
.long_name = NULL_IF_CONFIG_SMALL(longname),\
85
.read_probe = probe,\
86
.read_header = ff_raw_data_read_header,\
87
.read_packet = ff_raw_read_partial_packet,\
88
.extensions = ext,\
89
.flags = flag,\
90
.raw_codec_id = id,\
91
.priv_data_size = 0,\
92
.priv_class = &shortname ## _demuxer_class,\
93
};
94
95
#endif
/* AVFORMAT_RAWDEC_H */
s
const char * s
Definition:
avisynth_c.h:768
AVOption
AVOption.
Definition:
opt.h:246
FFRawVideoDemuxerContext::video_size
char * video_size
String describing video size, set by a private option.
Definition:
rawdec.h:31
pkt
static AVPacket pkt
Definition:
demuxing_decoding.c:54
AVFormatContext
Format I/O context.
Definition:
avformat.h:1349
ff_raw_video_read_header
int ff_raw_video_read_header(AVFormatContext *s)
Definition:
rawdec.c:70
opt.h
AVOptions.
ff_rawvideo_options
const AVOption ff_rawvideo_options[]
Definition:
rawdec.c:109
FFRawVideoDemuxerContext
Definition:
rawdec.h:29
FFRawVideoDemuxerContext::pixel_format
char * pixel_format
Set by a private option.
Definition:
rawdec.h:32
ff_raw_data_read_header
int ff_raw_data_read_header(AVFormatContext *s)
Definition:
rawdec.c:94
AVClass
Describe the class of an AVClass context structure.
Definition:
log.h:67
ff_raw_audio_read_header
int ff_raw_audio_read_header(AVFormatContext *s)
Definition:
rawdec.c:55
AVRational
Rational number (pair of numerator and denominator).
Definition:
rational.h:58
avformat.h
Main libavformat public API header.
ff_raw_read_partial_packet
int ff_raw_read_partial_packet(AVFormatContext *s, AVPacket *pkt)
Definition:
rawdec.c:35
FFRawVideoDemuxerContext::framerate
AVRational framerate
AVRational describing framerate, set by a private option.
Definition:
rawdec.h:33
log.h
AVPacket
This structure stores compressed data.
Definition:
avcodec.h:1656
Generated on Fri Jan 12 2018 01:48:04 for FFmpeg by
1.8.6