Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
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 Libav.
6
*
7
* Libav 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
* Libav 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 Libav; 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
RawAudioDemuxerContext
{
30
AVClass
*
class
;
31
int
sample_rate
;
32
int
channels
;
33
}
RawAudioDemuxerContext
;
34
35
typedef
struct
FFRawVideoDemuxerContext
{
36
const
AVClass
*
class
;
37
char
*
video_size
;
38
char
*
pixel_format
;
39
char
*
framerate
;
40
}
FFRawVideoDemuxerContext
;
41
42
extern
const
AVOption
ff_rawvideo_options
[];
43
44
int
ff_raw_read_header
(
AVFormatContext
*s,
AVFormatParameters
*ap);
45
46
int
ff_raw_read_partial_packet
(
AVFormatContext
*s,
AVPacket
*pkt);
47
48
int
ff_raw_audio_read_header
(
AVFormatContext
*s,
AVFormatParameters
*ap);
49
50
int
ff_raw_video_read_header
(
AVFormatContext
*s,
AVFormatParameters
*ap);
51
52
#define FF_RAWVIDEO_DEMUXER_CLASS(name)\
53
static const AVClass name ## _demuxer_class = {\
54
.class_name = #name " demuxer",\
55
.item_name = av_default_item_name,\
56
.option = ff_rawvideo_options,\
57
.version = LIBAVUTIL_VERSION_INT,\
58
};
59
60
#define FF_DEF_RAWVIDEO_DEMUXER(shortname, longname, probe, ext, id)\
61
FF_RAWVIDEO_DEMUXER_CLASS(shortname)\
62
AVInputFormat ff_ ## shortname ## _demuxer = {\
63
.name = #shortname,\
64
.long_name = NULL_IF_CONFIG_SMALL(longname),\
65
.read_probe = probe,\
66
.read_header = ff_raw_video_read_header,\
67
.read_packet = ff_raw_read_partial_packet,\
68
.extensions = ext,\
69
.flags = AVFMT_GENERIC_INDEX,\
70
.value = id,\
71
.priv_data_size = sizeof(FFRawVideoDemuxerContext),\
72
.priv_class = &shortname ## _demuxer_class,\
73
};
74
75
#endif
/* AVFORMAT_RAWDEC_H */
FFRawVideoDemuxerContext::framerate
char * framerate
String describing framerate, set by a private option.
Definition:
rawdec.h:39
AVOption
AVOption.
Definition:
opt.h:244
RawAudioDemuxerContext::sample_rate
int sample_rate
Definition:
rawdec.h:31
FFRawVideoDemuxerContext
struct FFRawVideoDemuxerContext FFRawVideoDemuxerContext
opt.h
AVOptions.
FFRawVideoDemuxerContext::video_size
char * video_size
String describing video size, set by a private option.
Definition:
rawdec.h:37
AVFormatContext
Format I/O context.
Definition:
avformat.h:863
RawAudioDemuxerContext
struct RawAudioDemuxerContext RawAudioDemuxerContext
ff_rawvideo_options
const AVOption ff_rawvideo_options[]
Definition:
rawdec.c:174
FFRawVideoDemuxerContext
Definition:
rawdec.h:35
RawAudioDemuxerContext::channels
int channels
Definition:
rawdec.h:32
FFRawVideoDemuxerContext::pixel_format
char * pixel_format
Set by a private option.
Definition:
rawdec.h:38
ff_raw_read_header
int ff_raw_read_header(AVFormatContext *s, AVFormatParameters *ap)
Definition:
rawdec.c:32
ff_raw_video_read_header
int ff_raw_video_read_header(AVFormatContext *s, AVFormatParameters *ap)
Definition:
rawdec.c:139
RawAudioDemuxerContext
Definition:
rawdec.h:29
AVFormatParameters
Definition:
avformat.h:348
ff_raw_audio_read_header
int ff_raw_audio_read_header(AVFormatContext *s, AVFormatParameters *ap)
Definition:
rawdec.c:123
AVClass
Describe the class of an AVClass context structure.
Definition:
log.h:33
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:103
log.h
AVPacket
Definition:
avcodec.h:891