Mercurial > libavformat.hg
annotate raw.c @ 6440:8beba113f242 libavformat
move ac3/eac3 demuxer to its own file
author | aurel |
---|---|
date | Sun, 29 Aug 2010 22:02:47 +0000 |
parents | 4053f191ae61 |
children | d23c128f1f51 |
rev | line source |
---|---|
885 | 1 /* |
1415
3b00fb8ef8e4
replace coder/decoder file description in libavformat by muxer/demuxer
aurel
parents:
1399
diff
changeset
|
2 * RAW muxer and demuxer |
4251
77e0c7511d41
cosmetics: Remove pointless period after copyright statement non-sentences.
diego
parents:
4206
diff
changeset
|
3 * Copyright (c) 2001 Fabrice Bellard |
868
c6b1dde68f3a
Ingenient MJPEG support, more at http://www.artificis.hu/files/texts/ingenient.txt
alex
parents:
858
diff
changeset
|
4 * Copyright (c) 2005 Alex Beregszaszi |
0 | 5 * |
1358
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1245
diff
changeset
|
6 * This file is part of FFmpeg. |
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1245
diff
changeset
|
7 * |
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1245
diff
changeset
|
8 * FFmpeg is free software; you can redistribute it and/or |
0 | 9 * modify it under the terms of the GNU Lesser General Public |
10 * License as published by the Free Software Foundation; either | |
1358
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1245
diff
changeset
|
11 * version 2.1 of the License, or (at your option) any later version. |
0 | 12 * |
1358
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1245
diff
changeset
|
13 * FFmpeg is distributed in the hope that it will be useful, |
0 | 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
16 * Lesser General Public License for more details. | |
17 * | |
18 * You should have received a copy of the GNU Lesser General Public | |
1358
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1245
diff
changeset
|
19 * License along with FFmpeg; if not, write to the Free Software |
896
edbe5c3717f9
Update licensing information: The FSF changed postal address.
diego
parents:
887
diff
changeset
|
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
0 | 21 */ |
3286 | 22 |
4872 | 23 #include "libavcodec/get_bits.h" |
3286 | 24 #include "libavcodec/bytestream.h" |
0 | 25 #include "avformat.h" |
2545
213268d7594e
move unrelated functions declarations out of allformats.h
aurel
parents:
2368
diff
changeset
|
26 #include "raw.h" |
4254 | 27 #include "id3v2.h" |
5046
b4b0df2c408b
Add support for id3 tag parsing for ADTS AAC streams
superdump
parents:
4901
diff
changeset
|
28 #include "id3v1.h" |
0 | 29 |
30 /* simple formats */ | |
1078
0bc9422cc0ad
Raw flac muxer, patch by Justin Ruggles (jruggle earthlink net). Can be
banan
parents:
1070
diff
changeset
|
31 |
4206 | 32 #if CONFIG_NULL_MUXER |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
33 static int null_write_packet(struct AVFormatContext *s, AVPacket *pkt) |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
34 { |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
35 return 0; |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
36 } |
3728
83ddeeaae767
Replace generic CONFIG_MUXERS preprocessor condition around format-specific
diego
parents:
3727
diff
changeset
|
37 #endif |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
38 |
4206 | 39 #if CONFIG_MUXERS |
6425 | 40 int ff_raw_write_packet(AVFormatContext *s, AVPacket *pkt) |
0 | 41 { |
2771
d52c718e83f9
Use dynamically allocated ByteIOContext in AVFormatContext
andoma
parents:
2545
diff
changeset
|
42 put_buffer(s->pb, pkt->data, pkt->size); |
d52c718e83f9
Use dynamically allocated ByteIOContext in AVFormatContext
andoma
parents:
2545
diff
changeset
|
43 put_flush_packet(s->pb); |
0 | 44 return 0; |
45 } | |
3726
514470f7afed
cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents:
3725
diff
changeset
|
46 #endif |
0 | 47 |
4206 | 48 #if CONFIG_DEMUXERS |
0 | 49 /* raw input */ |
65 | 50 static int raw_read_header(AVFormatContext *s, AVFormatParameters *ap) |
0 | 51 { |
52 AVStream *st; | |
5360
a00cc1aac80d
Use enum instead of integer types where appropriate.
cehoyos
parents:
5263
diff
changeset
|
53 enum CodecID id; |
0 | 54 |
55 st = av_new_stream(s, 0); | |
56 if (!st) | |
2273
7eb456c4ed8a
Replace all occurrences of AVERROR_NOMEM with AVERROR(ENOMEM).
takis
parents:
2231
diff
changeset
|
57 return AVERROR(ENOMEM); |
1003 | 58 |
0 | 59 id = s->iformat->value; |
60 if (id == CODEC_ID_RAWVIDEO) { | |
5910
536e5527c1e0
Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents:
5657
diff
changeset
|
61 st->codec->codec_type = AVMEDIA_TYPE_VIDEO; |
0 | 62 } else { |
5910
536e5527c1e0
Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents:
5657
diff
changeset
|
63 st->codec->codec_type = AVMEDIA_TYPE_AUDIO; |
0 | 64 } |
820
feca73904e67
changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents:
814
diff
changeset
|
65 st->codec->codec_id = id; |
0 | 66 |
820
feca73904e67
changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents:
814
diff
changeset
|
67 switch(st->codec->codec_type) { |
5910
536e5527c1e0
Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents:
5657
diff
changeset
|
68 case AVMEDIA_TYPE_AUDIO: |
820
feca73904e67
changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents:
814
diff
changeset
|
69 st->codec->sample_rate = ap->sample_rate; |
3995 | 70 if(ap->channels) st->codec->channels = ap->channels; |
71 else st->codec->channels = 1; | |
4857
18acfe3fe3d5
fix 6 channels raw pcm demuxing, raw pcm now demux a fixed number of samples
bcoudurier
parents:
4751
diff
changeset
|
72 st->codec->bits_per_coded_sample = av_get_bits_per_sample(st->codec->codec_id); |
18acfe3fe3d5
fix 6 channels raw pcm demuxing, raw pcm now demux a fixed number of samples
bcoudurier
parents:
4751
diff
changeset
|
73 assert(st->codec->bits_per_coded_sample > 0); |
18acfe3fe3d5
fix 6 channels raw pcm demuxing, raw pcm now demux a fixed number of samples
bcoudurier
parents:
4751
diff
changeset
|
74 st->codec->block_align = st->codec->bits_per_coded_sample*st->codec->channels/8; |
820
feca73904e67
changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents:
814
diff
changeset
|
75 av_set_pts_info(st, 64, 1, st->codec->sample_rate); |
0 | 76 break; |
5910
536e5527c1e0
Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents:
5657
diff
changeset
|
77 case AVMEDIA_TYPE_VIDEO: |
2860
cf6976fdd05f
Do not force fps unless the user actually specified one.
michael
parents:
2771
diff
changeset
|
78 if(ap->time_base.num) |
cf6976fdd05f
Do not force fps unless the user actually specified one.
michael
parents:
2771
diff
changeset
|
79 av_set_pts_info(st, 64, ap->time_base.num, ap->time_base.den); |
cf6976fdd05f
Do not force fps unless the user actually specified one.
michael
parents:
2771
diff
changeset
|
80 else |
cf6976fdd05f
Do not force fps unless the user actually specified one.
michael
parents:
2771
diff
changeset
|
81 av_set_pts_info(st, 64, 1, 25); |
820
feca73904e67
changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents:
814
diff
changeset
|
82 st->codec->width = ap->width; |
feca73904e67
changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents:
814
diff
changeset
|
83 st->codec->height = ap->height; |
feca73904e67
changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents:
814
diff
changeset
|
84 st->codec->pix_fmt = ap->pix_fmt; |
feca73904e67
changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents:
814
diff
changeset
|
85 if(st->codec->pix_fmt == PIX_FMT_NONE) |
feca73904e67
changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents:
814
diff
changeset
|
86 st->codec->pix_fmt= PIX_FMT_YUV420P; |
0 | 87 break; |
88 default: | |
89 return -1; | |
90 } | |
91 return 0; | |
92 } | |
93 | |
94 #define RAW_PACKET_SIZE 1024 | |
4857
18acfe3fe3d5
fix 6 channels raw pcm demuxing, raw pcm now demux a fixed number of samples
bcoudurier
parents:
4751
diff
changeset
|
95 #define RAW_SAMPLES 1024 |
0 | 96 |
64 | 97 static int raw_read_packet(AVFormatContext *s, AVPacket *pkt) |
0 | 98 { |
2929 | 99 int ret, size, bps; |
28 | 100 // AVStream *st = s->streams[0]; |
885 | 101 |
4857
18acfe3fe3d5
fix 6 channels raw pcm demuxing, raw pcm now demux a fixed number of samples
bcoudurier
parents:
4751
diff
changeset
|
102 size= RAW_SAMPLES*s->streams[0]->codec->block_align; |
0 | 103 |
2771
d52c718e83f9
Use dynamically allocated ByteIOContext in AVFormatContext
andoma
parents:
2545
diff
changeset
|
104 ret= av_get_packet(s->pb, pkt, size); |
0 | 105 |
106 pkt->stream_index = 0; | |
5254
83cc2a571542
Return any error return values from av_get_packet, get_buffer etc. unchanged
reimar
parents:
5249
diff
changeset
|
107 if (ret < 0) |
83cc2a571542
Return any error return values from av_get_packet, get_buffer etc. unchanged
reimar
parents:
5249
diff
changeset
|
108 return ret; |
2929 | 109 |
110 bps= av_get_bits_per_sample(s->streams[0]->codec->codec_id); | |
111 assert(bps); // if false there IS a bug elsewhere (NOT in this function) | |
112 pkt->dts= | |
113 pkt->pts= pkt->pos*8 / (bps * s->streams[0]->codec->channels); | |
114 | |
0 | 115 return ret; |
116 } | |
117 | |
4610
41542d2edcf4
Separate the raw FLAC demuxer from raw.c and put in a new file,
jbr
parents:
4577
diff
changeset
|
118 int ff_raw_read_partial_packet(AVFormatContext *s, AVPacket *pkt) |
389
e14fcd57ad2f
decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents:
306
diff
changeset
|
119 { |
e14fcd57ad2f
decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents:
306
diff
changeset
|
120 int ret, size; |
e14fcd57ad2f
decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents:
306
diff
changeset
|
121 |
e14fcd57ad2f
decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents:
306
diff
changeset
|
122 size = RAW_PACKET_SIZE; |
e14fcd57ad2f
decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents:
306
diff
changeset
|
123 |
e14fcd57ad2f
decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents:
306
diff
changeset
|
124 if (av_new_packet(pkt, size) < 0) |
5245
30c093f11b4e
av_new_packet failing should return ENOMEM, not EIO.
reimar
parents:
5238
diff
changeset
|
125 return AVERROR(ENOMEM); |
885 | 126 |
2771
d52c718e83f9
Use dynamically allocated ByteIOContext in AVFormatContext
andoma
parents:
2545
diff
changeset
|
127 pkt->pos= url_ftell(s->pb); |
389
e14fcd57ad2f
decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents:
306
diff
changeset
|
128 pkt->stream_index = 0; |
2771
d52c718e83f9
Use dynamically allocated ByteIOContext in AVFormatContext
andoma
parents:
2545
diff
changeset
|
129 ret = get_partial_buffer(s->pb, pkt->data, size); |
5254
83cc2a571542
Return any error return values from av_get_packet, get_buffer etc. unchanged
reimar
parents:
5249
diff
changeset
|
130 if (ret < 0) { |
389
e14fcd57ad2f
decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents:
306
diff
changeset
|
131 av_free_packet(pkt); |
5254
83cc2a571542
Return any error return values from av_get_packet, get_buffer etc. unchanged
reimar
parents:
5249
diff
changeset
|
132 return ret; |
389
e14fcd57ad2f
decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents:
306
diff
changeset
|
133 } |
e14fcd57ad2f
decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents:
306
diff
changeset
|
134 pkt->size = ret; |
e14fcd57ad2f
decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents:
306
diff
changeset
|
135 return ret; |
e14fcd57ad2f
decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents:
306
diff
changeset
|
136 } |
3730
ee001685e4e5
Surround format-specific functions with matching preprocessor conditionals.
diego
parents:
3729
diff
changeset
|
137 #endif |
389
e14fcd57ad2f
decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents:
306
diff
changeset
|
138 |
4206 | 139 #if CONFIG_RAWVIDEO_DEMUXER |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
140 static int rawvideo_read_packet(AVFormatContext *s, AVPacket *pkt) |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
141 { |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
142 int packet_size, ret, width, height; |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
143 AVStream *st = s->streams[0]; |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
144 |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
145 width = st->codec->width; |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
146 height = st->codec->height; |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
147 |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
148 packet_size = avpicture_get_size(st->codec->pix_fmt, width, height); |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
149 if (packet_size < 0) |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
150 return -1; |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
151 |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
152 ret= av_get_packet(s->pb, pkt, packet_size); |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
153 pkt->pts= |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
154 pkt->dts= pkt->pos / packet_size; |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
155 |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
156 pkt->stream_index = 0; |
5254
83cc2a571542
Return any error return values from av_get_packet, get_buffer etc. unchanged
reimar
parents:
5249
diff
changeset
|
157 if (ret < 0) |
83cc2a571542
Return any error return values from av_get_packet, get_buffer etc. unchanged
reimar
parents:
5249
diff
changeset
|
158 return ret; |
5248 | 159 return 0; |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
160 } |
3730
ee001685e4e5
Surround format-specific functions with matching preprocessor conditionals.
diego
parents:
3729
diff
changeset
|
161 #endif |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
162 |
4206 | 163 #if CONFIG_DEMUXERS |
885 | 164 int pcm_read_seek(AVFormatContext *s, |
558 | 165 int stream_index, int64_t timestamp, int flags) |
306 | 166 { |
167 AVStream *st; | |
5263
4aefe095faed
Fix pcm_read_seek () when the position it calculates is greater than 2 GB.
diego
parents:
5254
diff
changeset
|
168 int block_align, byte_rate; |
4aefe095faed
Fix pcm_read_seek () when the position it calculates is greater than 2 GB.
diego
parents:
5254
diff
changeset
|
169 int64_t pos, ret; |
306 | 170 |
171 st = s->streams[0]; | |
1399
5a3003271ad8
simplify pcm read seek, use av_get_bits_per_sample
bcoudurier
parents:
1358
diff
changeset
|
172 |
5a3003271ad8
simplify pcm read seek, use av_get_bits_per_sample
bcoudurier
parents:
1358
diff
changeset
|
173 block_align = st->codec->block_align ? st->codec->block_align : |
5a3003271ad8
simplify pcm read seek, use av_get_bits_per_sample
bcoudurier
parents:
1358
diff
changeset
|
174 (av_get_bits_per_sample(st->codec->codec_id) * st->codec->channels) >> 3; |
5a3003271ad8
simplify pcm read seek, use av_get_bits_per_sample
bcoudurier
parents:
1358
diff
changeset
|
175 byte_rate = st->codec->bit_rate ? st->codec->bit_rate >> 3 : |
5a3003271ad8
simplify pcm read seek, use av_get_bits_per_sample
bcoudurier
parents:
1358
diff
changeset
|
176 block_align * st->codec->sample_rate; |
885 | 177 |
306 | 178 if (block_align <= 0 || byte_rate <= 0) |
179 return -1; | |
4710
430cf07e7203
Make pcm_read_seek treat negative time stamps as 0, this avoids incorrectly
reimar
parents:
4620
diff
changeset
|
180 if (timestamp < 0) timestamp = 0; |
306 | 181 |
182 /* compute the position by aligning it to block_align */ | |
885 | 183 pos = av_rescale_rnd(timestamp * byte_rate, |
184 st->time_base.num, | |
558 | 185 st->time_base.den * (int64_t)block_align, |
186 (flags & AVSEEK_FLAG_BACKWARD) ? AV_ROUND_DOWN : AV_ROUND_UP); | |
187 pos *= block_align; | |
306 | 188 |
189 /* recompute exact position */ | |
464 | 190 st->cur_dts = av_rescale(pos, st->time_base.den, byte_rate * (int64_t)st->time_base.num); |
3613 | 191 if ((ret = url_fseek(s->pb, pos + s->data_offset, SEEK_SET)) < 0) |
192 return ret; | |
306 | 193 return 0; |
194 } | |
195 | |
6429 | 196 int ff_raw_audio_read_header(AVFormatContext *s, |
3268
319c36da904b
set demuxers .value and use common audio_read_header function
bcoudurier
parents:
3238
diff
changeset
|
197 AVFormatParameters *ap) |
63 | 198 { |
3268
319c36da904b
set demuxers .value and use common audio_read_header function
bcoudurier
parents:
3238
diff
changeset
|
199 AVStream *st = av_new_stream(s, 0); |
686
e2687b784c3a
shorten decoder by (Jeff Muizelaar <jrmuizel gmail com>)
michael
parents:
637
diff
changeset
|
200 if (!st) |
2273
7eb456c4ed8a
Replace all occurrences of AVERROR_NOMEM with AVERROR(ENOMEM).
takis
parents:
2231
diff
changeset
|
201 return AVERROR(ENOMEM); |
5910
536e5527c1e0
Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents:
5657
diff
changeset
|
202 st->codec->codec_type = AVMEDIA_TYPE_AUDIO; |
3268
319c36da904b
set demuxers .value and use common audio_read_header function
bcoudurier
parents:
3238
diff
changeset
|
203 st->codec->codec_id = s->iformat->value; |
2023 | 204 st->need_parsing = AVSTREAM_PARSE_FULL; |
931 | 205 /* the parameters will be extracted from the compressed bitstream */ |
4285
d8803d0a4274
Handle ID3v2 tags in raw FLAC streams by skipping them.
jbr
parents:
4254
diff
changeset
|
206 |
931 | 207 return 0; |
208 } | |
209 | |
3725 | 210 /* MPEG-1/H.263 input */ |
6430 | 211 int ff_raw_video_read_header(AVFormatContext *s, |
0 | 212 AVFormatParameters *ap) |
213 { | |
214 AVStream *st; | |
215 | |
216 st = av_new_stream(s, 0); | |
217 if (!st) | |
2273
7eb456c4ed8a
Replace all occurrences of AVERROR_NOMEM with AVERROR(ENOMEM).
takis
parents:
2231
diff
changeset
|
218 return AVERROR(ENOMEM); |
0 | 219 |
5910
536e5527c1e0
Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents:
5657
diff
changeset
|
220 st->codec->codec_type = AVMEDIA_TYPE_VIDEO; |
820
feca73904e67
changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents:
814
diff
changeset
|
221 st->codec->codec_id = s->iformat->value; |
2023 | 222 st->need_parsing = AVSTREAM_PARSE_FULL; |
306 | 223 |
3725 | 224 /* for MJPEG, specify frame rate */ |
225 /* for MPEG-4 specify it, too (most MPEG-4 streams do not have the fixed_vop_rate set ...)*/ | |
1003 | 226 if (ap->time_base.num) { |
4620
290808c90f82
Change the timebase of the raw demuxer to one that can represent the ts of fields.
michael
parents:
4610
diff
changeset
|
227 st->codec->time_base= ap->time_base; |
885 | 228 } else if ( st->codec->codec_id == CODEC_ID_MJPEG || |
820
feca73904e67
changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents:
814
diff
changeset
|
229 st->codec->codec_id == CODEC_ID_MPEG4 || |
3272
07038dc492ab
Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents:
3269
diff
changeset
|
230 st->codec->codec_id == CODEC_ID_DIRAC || |
5451 | 231 st->codec->codec_id == CODEC_ID_DNXHD || |
6120
a2a55244ca6b
Fix raw vc1 decoding - this is supposed to break FATE.
cehoyos
parents:
5910
diff
changeset
|
232 st->codec->codec_id == CODEC_ID_VC1 || |
820
feca73904e67
changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents:
814
diff
changeset
|
233 st->codec->codec_id == CODEC_ID_H264) { |
4620
290808c90f82
Change the timebase of the raw demuxer to one that can represent the ts of fields.
michael
parents:
4610
diff
changeset
|
234 st->codec->time_base= (AVRational){1,25}; |
0 | 235 } |
4620
290808c90f82
Change the timebase of the raw demuxer to one that can represent the ts of fields.
michael
parents:
4610
diff
changeset
|
236 av_set_pts_info(st, 64, 1, 1200000); |
745 | 237 |
0 | 238 return 0; |
239 } | |
3730
ee001685e4e5
Surround format-specific functions with matching preprocessor conditionals.
diego
parents:
3729
diff
changeset
|
240 #endif |
0 | 241 |
3545
2949f7da8931
Add a note to remind people to add new raw formats to the Makefile.
diego
parents:
3543
diff
changeset
|
242 /* Note: Do not forget to add new entries to the Makefile as well. */ |
2949f7da8931
Add a note to remind people to add new raw formats to the Makefile.
diego
parents:
3543
diff
changeset
|
243 |
4206 | 244 #if CONFIG_AC3_MUXER |
1167 | 245 AVOutputFormat ac3_muxer = { |
0 | 246 "ac3", |
3424
7a0230981402
Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents:
3405
diff
changeset
|
247 NULL_IF_CONFIG_SMALL("raw AC-3"), |
885 | 248 "audio/x-ac3", |
0 | 249 "ac3", |
250 0, | |
251 CODEC_ID_AC3, | |
3289 | 252 CODEC_ID_NONE, |
2305 | 253 NULL, |
6425 | 254 ff_raw_write_packet, |
1245
e59b75051ded
dont be too picky about timestampsbeing wrong if the destination container is without timestamps and raw of the raw video / raw audio sort
michael
parents:
1169
diff
changeset
|
255 .flags= AVFMT_NOTIMESTAMPS, |
0 | 256 }; |
3726
514470f7afed
cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents:
3725
diff
changeset
|
257 #endif |
0 | 258 |
4206 | 259 #if CONFIG_DIRAC_MUXER |
3272
07038dc492ab
Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents:
3269
diff
changeset
|
260 AVOutputFormat dirac_muxer = { |
07038dc492ab
Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents:
3269
diff
changeset
|
261 "dirac", |
3424
7a0230981402
Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents:
3405
diff
changeset
|
262 NULL_IF_CONFIG_SMALL("raw Dirac"), |
3272
07038dc492ab
Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents:
3269
diff
changeset
|
263 NULL, |
07038dc492ab
Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents:
3269
diff
changeset
|
264 "drc", |
07038dc492ab
Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents:
3269
diff
changeset
|
265 0, |
3289 | 266 CODEC_ID_NONE, |
3272
07038dc492ab
Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents:
3269
diff
changeset
|
267 CODEC_ID_DIRAC, |
07038dc492ab
Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents:
3269
diff
changeset
|
268 NULL, |
6425 | 269 ff_raw_write_packet, |
3272
07038dc492ab
Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents:
3269
diff
changeset
|
270 .flags= AVFMT_NOTIMESTAMPS, |
07038dc492ab
Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents:
3269
diff
changeset
|
271 }; |
07038dc492ab
Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents:
3269
diff
changeset
|
272 #endif |
07038dc492ab
Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents:
3269
diff
changeset
|
273 |
4206 | 274 #if CONFIG_DNXHD_MUXER |
4004 | 275 AVOutputFormat dnxhd_muxer = { |
276 "dnxhd", | |
277 NULL_IF_CONFIG_SMALL("raw DNxHD (SMPTE VC-3)"), | |
278 NULL, | |
279 "dnxhd", | |
280 0, | |
281 CODEC_ID_NONE, | |
282 CODEC_ID_DNXHD, | |
283 NULL, | |
6425 | 284 ff_raw_write_packet, |
4004 | 285 .flags= AVFMT_NOTIMESTAMPS, |
286 }; | |
287 #endif | |
288 | |
4206 | 289 #if CONFIG_DTS_MUXER |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
290 AVOutputFormat dts_muxer = { |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
291 "dts", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
292 NULL_IF_CONFIG_SMALL("raw DTS"), |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
293 "audio/x-dca", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
294 "dts", |
931 | 295 0, |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
296 CODEC_ID_DTS, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
297 CODEC_ID_NONE, |
931 | 298 NULL, |
6425 | 299 ff_raw_write_packet, |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
300 .flags= AVFMT_NOTIMESTAMPS, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
301 }; |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
302 #endif |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
303 |
4206 | 304 #if CONFIG_EAC3_MUXER |
3862 | 305 AVOutputFormat eac3_muxer = { |
306 "eac3", | |
307 NULL_IF_CONFIG_SMALL("raw E-AC-3"), | |
308 "audio/x-eac3", | |
309 "eac3", | |
310 0, | |
311 CODEC_ID_EAC3, | |
312 CODEC_ID_NONE, | |
313 NULL, | |
6425 | 314 ff_raw_write_packet, |
3862 | 315 .flags= AVFMT_NOTIMESTAMPS, |
316 }; | |
317 #endif | |
318 | |
4206 | 319 #if CONFIG_GSM_DEMUXER |
3269
55d4f01c9728
raw GSM demuxer (does not work yet as parser is missing)
michael
parents:
3268
diff
changeset
|
320 AVInputFormat gsm_demuxer = { |
55d4f01c9728
raw GSM demuxer (does not work yet as parser is missing)
michael
parents:
3268
diff
changeset
|
321 "gsm", |
4501 | 322 NULL_IF_CONFIG_SMALL("raw GSM"), |
3269
55d4f01c9728
raw GSM demuxer (does not work yet as parser is missing)
michael
parents:
3268
diff
changeset
|
323 0, |
55d4f01c9728
raw GSM demuxer (does not work yet as parser is missing)
michael
parents:
3268
diff
changeset
|
324 NULL, |
6429 | 325 ff_raw_audio_read_header, |
4610
41542d2edcf4
Separate the raw FLAC demuxer from raw.c and put in a new file,
jbr
parents:
4577
diff
changeset
|
326 ff_raw_read_partial_packet, |
3269
55d4f01c9728
raw GSM demuxer (does not work yet as parser is missing)
michael
parents:
3268
diff
changeset
|
327 .flags= AVFMT_GENERIC_INDEX, |
55d4f01c9728
raw GSM demuxer (does not work yet as parser is missing)
michael
parents:
3268
diff
changeset
|
328 .extensions = "gsm", |
55d4f01c9728
raw GSM demuxer (does not work yet as parser is missing)
michael
parents:
3268
diff
changeset
|
329 .value = CODEC_ID_GSM, |
55d4f01c9728
raw GSM demuxer (does not work yet as parser is missing)
michael
parents:
3268
diff
changeset
|
330 }; |
3729
ed875181c3fa
Surround AVInputFormat declarations with format-specific #ifdefs.
diego
parents:
3728
diff
changeset
|
331 #endif |
3269
55d4f01c9728
raw GSM demuxer (does not work yet as parser is missing)
michael
parents:
3268
diff
changeset
|
332 |
4206 | 333 #if CONFIG_H261_MUXER |
1167 | 334 AVOutputFormat h261_muxer = { |
576
f701ba509d0c
H.261 encoder by (Maarten Daniels <maarten dot daniels at luc dot ac dot be>)
michael
parents:
567
diff
changeset
|
335 "h261", |
3424
7a0230981402
Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents:
3405
diff
changeset
|
336 NULL_IF_CONFIG_SMALL("raw H.261"), |
576
f701ba509d0c
H.261 encoder by (Maarten Daniels <maarten dot daniels at luc dot ac dot be>)
michael
parents:
567
diff
changeset
|
337 "video/x-h261", |
f701ba509d0c
H.261 encoder by (Maarten Daniels <maarten dot daniels at luc dot ac dot be>)
michael
parents:
567
diff
changeset
|
338 "h261", |
f701ba509d0c
H.261 encoder by (Maarten Daniels <maarten dot daniels at luc dot ac dot be>)
michael
parents:
567
diff
changeset
|
339 0, |
3289 | 340 CODEC_ID_NONE, |
576
f701ba509d0c
H.261 encoder by (Maarten Daniels <maarten dot daniels at luc dot ac dot be>)
michael
parents:
567
diff
changeset
|
341 CODEC_ID_H261, |
2305 | 342 NULL, |
6425 | 343 ff_raw_write_packet, |
1245
e59b75051ded
dont be too picky about timestampsbeing wrong if the destination container is without timestamps and raw of the raw video / raw audio sort
michael
parents:
1169
diff
changeset
|
344 .flags= AVFMT_NOTIMESTAMPS, |
576
f701ba509d0c
H.261 encoder by (Maarten Daniels <maarten dot daniels at luc dot ac dot be>)
michael
parents:
567
diff
changeset
|
345 }; |
3726
514470f7afed
cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents:
3725
diff
changeset
|
346 #endif |
576
f701ba509d0c
H.261 encoder by (Maarten Daniels <maarten dot daniels at luc dot ac dot be>)
michael
parents:
567
diff
changeset
|
347 |
4206 | 348 #if CONFIG_H263_MUXER |
1167 | 349 AVOutputFormat h263_muxer = { |
0 | 350 "h263", |
3424
7a0230981402
Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents:
3405
diff
changeset
|
351 NULL_IF_CONFIG_SMALL("raw H.263"), |
0 | 352 "video/x-h263", |
353 "h263", | |
354 0, | |
3289 | 355 CODEC_ID_NONE, |
0 | 356 CODEC_ID_H263, |
2305 | 357 NULL, |
6425 | 358 ff_raw_write_packet, |
1245
e59b75051ded
dont be too picky about timestampsbeing wrong if the destination container is without timestamps and raw of the raw video / raw audio sort
michael
parents:
1169
diff
changeset
|
359 .flags= AVFMT_NOTIMESTAMPS, |
0 | 360 }; |
3726
514470f7afed
cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents:
3725
diff
changeset
|
361 #endif |
0 | 362 |
4206 | 363 #if CONFIG_H264_MUXER |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
364 AVOutputFormat h264_muxer = { |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
365 "h264", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
366 NULL_IF_CONFIG_SMALL("raw H.264 video format"), |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
367 NULL, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
368 "h264", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
369 0, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
370 CODEC_ID_NONE, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
371 CODEC_ID_H264, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
372 NULL, |
6425 | 373 ff_raw_write_packet, |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
374 .flags= AVFMT_NOTIMESTAMPS, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
375 }; |
3726
514470f7afed
cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents:
3725
diff
changeset
|
376 #endif |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
377 |
6320
c12a0b951902
add Chinese AVS encoding via external library libxavs
stefang
parents:
6308
diff
changeset
|
378 #if CONFIG_CAVSVIDEO_MUXER |
c12a0b951902
add Chinese AVS encoding via external library libxavs
stefang
parents:
6308
diff
changeset
|
379 AVOutputFormat cavsvideo_muxer = { |
c12a0b951902
add Chinese AVS encoding via external library libxavs
stefang
parents:
6308
diff
changeset
|
380 "cavsvideo", |
c12a0b951902
add Chinese AVS encoding via external library libxavs
stefang
parents:
6308
diff
changeset
|
381 NULL_IF_CONFIG_SMALL("raw Chinese AVS video"), |
c12a0b951902
add Chinese AVS encoding via external library libxavs
stefang
parents:
6308
diff
changeset
|
382 NULL, |
c12a0b951902
add Chinese AVS encoding via external library libxavs
stefang
parents:
6308
diff
changeset
|
383 "cavs", |
c12a0b951902
add Chinese AVS encoding via external library libxavs
stefang
parents:
6308
diff
changeset
|
384 0, |
c12a0b951902
add Chinese AVS encoding via external library libxavs
stefang
parents:
6308
diff
changeset
|
385 CODEC_ID_NONE, |
c12a0b951902
add Chinese AVS encoding via external library libxavs
stefang
parents:
6308
diff
changeset
|
386 CODEC_ID_CAVS, |
c12a0b951902
add Chinese AVS encoding via external library libxavs
stefang
parents:
6308
diff
changeset
|
387 NULL, |
6425 | 388 ff_raw_write_packet, |
6320
c12a0b951902
add Chinese AVS encoding via external library libxavs
stefang
parents:
6308
diff
changeset
|
389 .flags= AVFMT_NOTIMESTAMPS, |
c12a0b951902
add Chinese AVS encoding via external library libxavs
stefang
parents:
6308
diff
changeset
|
390 }; |
c12a0b951902
add Chinese AVS encoding via external library libxavs
stefang
parents:
6308
diff
changeset
|
391 #endif |
c12a0b951902
add Chinese AVS encoding via external library libxavs
stefang
parents:
6308
diff
changeset
|
392 |
4206 | 393 #if CONFIG_M4V_MUXER |
1167 | 394 AVOutputFormat m4v_muxer = { |
0 | 395 "m4v", |
3424
7a0230981402
Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents:
3405
diff
changeset
|
396 NULL_IF_CONFIG_SMALL("raw MPEG-4 video format"), |
0 | 397 NULL, |
398 "m4v", | |
399 0, | |
400 CODEC_ID_NONE, | |
401 CODEC_ID_MPEG4, | |
2305 | 402 NULL, |
6425 | 403 ff_raw_write_packet, |
1245
e59b75051ded
dont be too picky about timestampsbeing wrong if the destination container is without timestamps and raw of the raw video / raw audio sort
michael
parents:
1169
diff
changeset
|
404 .flags= AVFMT_NOTIMESTAMPS, |
0 | 405 }; |
3726
514470f7afed
cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents:
3725
diff
changeset
|
406 #endif |
0 | 407 |
4206 | 408 #if CONFIG_MJPEG_DEMUXER |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
409 AVInputFormat mjpeg_demuxer = { |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
410 "mjpeg", |
4501 | 411 NULL_IF_CONFIG_SMALL("raw MJPEG video"), |
100 | 412 0, |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
413 NULL, |
6430 | 414 ff_raw_video_read_header, |
4610
41542d2edcf4
Separate the raw FLAC demuxer from raw.c and put in a new file,
jbr
parents:
4577
diff
changeset
|
415 ff_raw_read_partial_packet, |
1756 | 416 .flags= AVFMT_GENERIC_INDEX, |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
417 .extensions = "mjpg,mjpeg", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
418 .value = CODEC_ID_MJPEG, |
100 | 419 }; |
3729
ed875181c3fa
Surround AVInputFormat declarations with format-specific #ifdefs.
diego
parents:
3728
diff
changeset
|
420 #endif |
100 | 421 |
4206 | 422 #if CONFIG_MJPEG_MUXER |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
423 AVOutputFormat mjpeg_muxer = { |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
424 "mjpeg", |
4501 | 425 NULL_IF_CONFIG_SMALL("raw MJPEG video"), |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
426 "video/x-mjpeg", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
427 "mjpg,mjpeg", |
100 | 428 0, |
429 CODEC_ID_NONE, | |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
430 CODEC_ID_MJPEG, |
2305 | 431 NULL, |
6425 | 432 ff_raw_write_packet, |
1245
e59b75051ded
dont be too picky about timestampsbeing wrong if the destination container is without timestamps and raw of the raw video / raw audio sort
michael
parents:
1169
diff
changeset
|
433 .flags= AVFMT_NOTIMESTAMPS, |
100 | 434 }; |
3726
514470f7afed
cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents:
3725
diff
changeset
|
435 #endif |
100 | 436 |
4206 | 437 #if CONFIG_MLP_DEMUXER |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
438 AVInputFormat mlp_demuxer = { |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
439 "mlp", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
440 NULL_IF_CONFIG_SMALL("raw MLP"), |
0 | 441 0, |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
442 NULL, |
6429 | 443 ff_raw_audio_read_header, |
4610
41542d2edcf4
Separate the raw FLAC demuxer from raw.c and put in a new file,
jbr
parents:
4577
diff
changeset
|
444 ff_raw_read_partial_packet, |
1756 | 445 .flags= AVFMT_GENERIC_INDEX, |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
446 .extensions = "mlp", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
447 .value = CODEC_ID_MLP, |
0 | 448 }; |
3729
ed875181c3fa
Surround AVInputFormat declarations with format-specific #ifdefs.
diego
parents:
3728
diff
changeset
|
449 #endif |
0 | 450 |
4901 | 451 #if CONFIG_MLP_MUXER |
4899 | 452 AVOutputFormat mlp_muxer = { |
453 "mlp", | |
454 NULL_IF_CONFIG_SMALL("raw MLP"), | |
455 NULL, | |
456 "mlp", | |
457 0, | |
458 CODEC_ID_MLP, | |
459 CODEC_ID_NONE, | |
460 NULL, | |
6425 | 461 ff_raw_write_packet, |
4899 | 462 .flags= AVFMT_NOTIMESTAMPS, |
463 }; | |
464 #endif | |
465 | |
6308 | 466 #if CONFIG_SRT_MUXER |
467 AVOutputFormat srt_muxer = { | |
468 .name = "srt", | |
469 .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle format"), | |
470 .mime_type = "application/x-subrip", | |
471 .extensions = "srt", | |
6425 | 472 .write_packet = ff_raw_write_packet, |
6308 | 473 .flags = AVFMT_NOTIMESTAMPS, |
474 .subtitle_codec = CODEC_ID_SRT, | |
475 }; | |
476 #endif | |
477 | |
4751 | 478 #if CONFIG_TRUEHD_DEMUXER |
479 AVInputFormat truehd_demuxer = { | |
480 "truehd", | |
481 NULL_IF_CONFIG_SMALL("raw TrueHD"), | |
482 0, | |
483 NULL, | |
6429 | 484 ff_raw_audio_read_header, |
4751 | 485 ff_raw_read_partial_packet, |
486 .flags= AVFMT_GENERIC_INDEX, | |
487 .extensions = "thd", | |
488 .value = CODEC_ID_TRUEHD, | |
489 }; | |
490 #endif | |
491 | |
492 #if CONFIG_TRUEHD_MUXER | |
493 AVOutputFormat truehd_muxer = { | |
494 "truehd", | |
495 NULL_IF_CONFIG_SMALL("raw TrueHD"), | |
496 NULL, | |
497 "thd", | |
498 0, | |
499 CODEC_ID_TRUEHD, | |
500 CODEC_ID_NONE, | |
501 NULL, | |
6425 | 502 ff_raw_write_packet, |
4751 | 503 .flags= AVFMT_NOTIMESTAMPS, |
504 }; | |
505 #endif | |
506 | |
4206 | 507 #if CONFIG_MPEG1VIDEO_MUXER |
1167 | 508 AVOutputFormat mpeg1video_muxer = { |
0 | 509 "mpeg1video", |
4501 | 510 NULL_IF_CONFIG_SMALL("raw MPEG-1 video"), |
0 | 511 "video/x-mpeg", |
814 | 512 "mpg,mpeg,m1v", |
0 | 513 0, |
3289 | 514 CODEC_ID_NONE, |
0 | 515 CODEC_ID_MPEG1VIDEO, |
2305 | 516 NULL, |
6425 | 517 ff_raw_write_packet, |
1245
e59b75051ded
dont be too picky about timestampsbeing wrong if the destination container is without timestamps and raw of the raw video / raw audio sort
michael
parents:
1169
diff
changeset
|
518 .flags= AVFMT_NOTIMESTAMPS, |
0 | 519 }; |
3726
514470f7afed
cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents:
3725
diff
changeset
|
520 #endif |
0 | 521 |
4206 | 522 #if CONFIG_MPEG2VIDEO_MUXER |
1167 | 523 AVOutputFormat mpeg2video_muxer = { |
637
76e36d97a27a
Patch for creating m2v files by (Fabrizio Gennari <fabrizio.ge tiscali it)
michael
parents:
576
diff
changeset
|
524 "mpeg2video", |
4501 | 525 NULL_IF_CONFIG_SMALL("raw MPEG-2 video"), |
637
76e36d97a27a
Patch for creating m2v files by (Fabrizio Gennari <fabrizio.ge tiscali it)
michael
parents:
576
diff
changeset
|
526 NULL, |
76e36d97a27a
Patch for creating m2v files by (Fabrizio Gennari <fabrizio.ge tiscali it)
michael
parents:
576
diff
changeset
|
527 "m2v", |
76e36d97a27a
Patch for creating m2v files by (Fabrizio Gennari <fabrizio.ge tiscali it)
michael
parents:
576
diff
changeset
|
528 0, |
3289 | 529 CODEC_ID_NONE, |
637
76e36d97a27a
Patch for creating m2v files by (Fabrizio Gennari <fabrizio.ge tiscali it)
michael
parents:
576
diff
changeset
|
530 CODEC_ID_MPEG2VIDEO, |
2305 | 531 NULL, |
6425 | 532 ff_raw_write_packet, |
1245
e59b75051ded
dont be too picky about timestampsbeing wrong if the destination container is without timestamps and raw of the raw video / raw audio sort
michael
parents:
1169
diff
changeset
|
533 .flags= AVFMT_NOTIMESTAMPS, |
637
76e36d97a27a
Patch for creating m2v files by (Fabrizio Gennari <fabrizio.ge tiscali it)
michael
parents:
576
diff
changeset
|
534 }; |
3726
514470f7afed
cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents:
3725
diff
changeset
|
535 #endif |
637
76e36d97a27a
Patch for creating m2v files by (Fabrizio Gennari <fabrizio.ge tiscali it)
michael
parents:
576
diff
changeset
|
536 |
4206 | 537 #if CONFIG_NULL_MUXER |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
538 AVOutputFormat null_muxer = { |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
539 "null", |
4501 | 540 NULL_IF_CONFIG_SMALL("raw null video format"), |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
541 NULL, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
542 NULL, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
543 0, |
6428 | 544 AV_NE(CODEC_ID_PCM_S16BE, CODEC_ID_PCM_S16LE), |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
545 CODEC_ID_RAWVIDEO, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
546 NULL, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
547 null_write_packet, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
548 .flags = AVFMT_NOFILE | AVFMT_RAWPICTURE | AVFMT_NOTIMESTAMPS, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
549 }; |
3726
514470f7afed
cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents:
3725
diff
changeset
|
550 #endif |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
551 |
4206 | 552 #if CONFIG_RAWVIDEO_DEMUXER |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
553 AVInputFormat rawvideo_demuxer = { |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
554 "rawvideo", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
555 NULL_IF_CONFIG_SMALL("raw video format"), |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
556 0, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
557 NULL, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
558 raw_read_header, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
559 rawvideo_read_packet, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
560 .flags= AVFMT_GENERIC_INDEX, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
561 .extensions = "yuv,cif,qcif,rgb", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
562 .value = CODEC_ID_RAWVIDEO, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
563 }; |
3729
ed875181c3fa
Surround AVInputFormat declarations with format-specific #ifdefs.
diego
parents:
3728
diff
changeset
|
564 #endif |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
565 |
4206 | 566 #if CONFIG_RAWVIDEO_MUXER |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
567 AVOutputFormat rawvideo_muxer = { |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
568 "rawvideo", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
569 NULL_IF_CONFIG_SMALL("raw video format"), |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
570 NULL, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
571 "yuv,rgb", |
0 | 572 0, |
3289 | 573 CODEC_ID_NONE, |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
574 CODEC_ID_RAWVIDEO, |
2305 | 575 NULL, |
6425 | 576 ff_raw_write_packet, |
1245
e59b75051ded
dont be too picky about timestampsbeing wrong if the destination container is without timestamps and raw of the raw video / raw audio sort
michael
parents:
1169
diff
changeset
|
577 .flags= AVFMT_NOTIMESTAMPS, |
0 | 578 }; |
3726
514470f7afed
cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents:
3725
diff
changeset
|
579 #endif |
0 | 580 |
4206 | 581 #if CONFIG_SHORTEN_DEMUXER |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
582 AVInputFormat shorten_demuxer = { |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
583 "shn", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
584 NULL_IF_CONFIG_SMALL("raw Shorten"), |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
585 0, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
586 NULL, |
6429 | 587 ff_raw_audio_read_header, |
4610
41542d2edcf4
Separate the raw FLAC demuxer from raw.c and put in a new file,
jbr
parents:
4577
diff
changeset
|
588 ff_raw_read_partial_packet, |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
589 .flags= AVFMT_GENERIC_INDEX, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
590 .extensions = "shn", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
591 .value = CODEC_ID_SHORTEN, |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
592 }; |
3729
ed875181c3fa
Surround AVInputFormat declarations with format-specific #ifdefs.
diego
parents:
3728
diff
changeset
|
593 #endif |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
594 |
4206 | 595 #if CONFIG_VC1_DEMUXER |
1773 | 596 AVInputFormat vc1_demuxer = { |
597 "vc1", | |
3424
7a0230981402
Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents:
3405
diff
changeset
|
598 NULL_IF_CONFIG_SMALL("raw VC-1"), |
1773 | 599 0, |
600 NULL /* vc1_probe */, | |
6430 | 601 ff_raw_video_read_header, |
4610
41542d2edcf4
Separate the raw FLAC demuxer from raw.c and put in a new file,
jbr
parents:
4577
diff
changeset
|
602 ff_raw_read_partial_packet, |
1773 | 603 .extensions = "vc1", |
604 .value = CODEC_ID_VC1, | |
605 }; | |
3729
ed875181c3fa
Surround AVInputFormat declarations with format-specific #ifdefs.
diego
parents:
3728
diff
changeset
|
606 #endif |
1773 | 607 |
3725 | 608 /* PCM formats */ |
277
a313e1080322
disable encoders where appropriate (patch courtesy of BERO
melanson
parents:
241
diff
changeset
|
609 |
306 | 610 #define PCMINPUTDEF(name, long_name, ext, codec) \ |
1167 | 611 AVInputFormat pcm_ ## name ## _demuxer = {\ |
277
a313e1080322
disable encoders where appropriate (patch courtesy of BERO
melanson
parents:
241
diff
changeset
|
612 #name,\ |
3424
7a0230981402
Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents:
3405
diff
changeset
|
613 NULL_IF_CONFIG_SMALL(long_name),\ |
277
a313e1080322
disable encoders where appropriate (patch courtesy of BERO
melanson
parents:
241
diff
changeset
|
614 0,\ |
a313e1080322
disable encoders where appropriate (patch courtesy of BERO
melanson
parents:
241
diff
changeset
|
615 NULL,\ |
a313e1080322
disable encoders where appropriate (patch courtesy of BERO
melanson
parents:
241
diff
changeset
|
616 raw_read_header,\ |
a313e1080322
disable encoders where appropriate (patch courtesy of BERO
melanson
parents:
241
diff
changeset
|
617 raw_read_packet,\ |
3484 | 618 NULL,\ |
306 | 619 pcm_read_seek,\ |
1756 | 620 .flags= AVFMT_GENERIC_INDEX,\ |
277
a313e1080322
disable encoders where appropriate (patch courtesy of BERO
melanson
parents:
241
diff
changeset
|
621 .extensions = ext,\ |
a313e1080322
disable encoders where appropriate (patch courtesy of BERO
melanson
parents:
241
diff
changeset
|
622 .value = codec,\ |
a313e1080322
disable encoders where appropriate (patch courtesy of BERO
melanson
parents:
241
diff
changeset
|
623 }; |
a313e1080322
disable encoders where appropriate (patch courtesy of BERO
melanson
parents:
241
diff
changeset
|
624 |
1121
787a70a8b867
Fix compilation with all combinations of --disable-(de)muxers.
diego
parents:
1078
diff
changeset
|
625 #define PCMOUTPUTDEF(name, long_name, ext, codec) \ |
1167 | 626 AVOutputFormat pcm_ ## name ## _muxer = {\ |
0 | 627 #name,\ |
3424
7a0230981402
Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents:
3405
diff
changeset
|
628 NULL_IF_CONFIG_SMALL(long_name),\ |
0 | 629 NULL,\ |
630 ext,\ | |
631 0,\ | |
632 codec,\ | |
3289 | 633 CODEC_ID_NONE,\ |
2305 | 634 NULL,\ |
6425 | 635 ff_raw_write_packet,\ |
1245
e59b75051ded
dont be too picky about timestampsbeing wrong if the destination container is without timestamps and raw of the raw video / raw audio sort
michael
parents:
1169
diff
changeset
|
636 .flags= AVFMT_NOTIMESTAMPS,\ |
0 | 637 }; |
1121
787a70a8b867
Fix compilation with all combinations of --disable-(de)muxers.
diego
parents:
1078
diff
changeset
|
638 |
787a70a8b867
Fix compilation with all combinations of --disable-(de)muxers.
diego
parents:
1078
diff
changeset
|
639 |
4206 | 640 #if !CONFIG_MUXERS && CONFIG_DEMUXERS |
1121
787a70a8b867
Fix compilation with all combinations of --disable-(de)muxers.
diego
parents:
1078
diff
changeset
|
641 #define PCMDEF(name, long_name, ext, codec) \ |
787a70a8b867
Fix compilation with all combinations of --disable-(de)muxers.
diego
parents:
1078
diff
changeset
|
642 PCMINPUTDEF(name, long_name, ext, codec) |
4206 | 643 #elif CONFIG_MUXERS && !CONFIG_DEMUXERS |
1121
787a70a8b867
Fix compilation with all combinations of --disable-(de)muxers.
diego
parents:
1078
diff
changeset
|
644 #define PCMDEF(name, long_name, ext, codec) \ |
787a70a8b867
Fix compilation with all combinations of --disable-(de)muxers.
diego
parents:
1078
diff
changeset
|
645 PCMOUTPUTDEF(name, long_name, ext, codec) |
4206 | 646 #elif CONFIG_MUXERS && CONFIG_DEMUXERS |
1121
787a70a8b867
Fix compilation with all combinations of --disable-(de)muxers.
diego
parents:
1078
diff
changeset
|
647 #define PCMDEF(name, long_name, ext, codec) \ |
787a70a8b867
Fix compilation with all combinations of --disable-(de)muxers.
diego
parents:
1078
diff
changeset
|
648 PCMINPUTDEF(name, long_name, ext, codec)\ |
787a70a8b867
Fix compilation with all combinations of --disable-(de)muxers.
diego
parents:
1078
diff
changeset
|
649 PCMOUTPUTDEF(name, long_name, ext, codec) |
787a70a8b867
Fix compilation with all combinations of --disable-(de)muxers.
diego
parents:
1078
diff
changeset
|
650 #else |
787a70a8b867
Fix compilation with all combinations of --disable-(de)muxers.
diego
parents:
1078
diff
changeset
|
651 #define PCMDEF(name, long_name, ext, codec) |
787a70a8b867
Fix compilation with all combinations of --disable-(de)muxers.
diego
parents:
1078
diff
changeset
|
652 #endif |
0 | 653 |
5108 | 654 #if HAVE_BIGENDIAN |
0 | 655 #define BE_DEF(s) s |
656 #define LE_DEF(s) NULL | |
657 #else | |
658 #define BE_DEF(s) NULL | |
659 #define LE_DEF(s) s | |
660 #endif | |
661 | |
3757
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
662 PCMDEF(f64be, "PCM 64 bit floating-point big-endian format", |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
663 NULL, CODEC_ID_PCM_F64BE) |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
664 |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
665 PCMDEF(f64le, "PCM 64 bit floating-point little-endian format", |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
666 NULL, CODEC_ID_PCM_F64LE) |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
667 |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
668 PCMDEF(f32be, "PCM 32 bit floating-point big-endian format", |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
669 NULL, CODEC_ID_PCM_F32BE) |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
670 |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
671 PCMDEF(f32le, "PCM 32 bit floating-point little-endian format", |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
672 NULL, CODEC_ID_PCM_F32LE) |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
673 |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
674 PCMDEF(s32be, "PCM signed 32 bit big-endian format", |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
675 NULL, CODEC_ID_PCM_S32BE) |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
676 |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
677 PCMDEF(s32le, "PCM signed 32 bit little-endian format", |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
678 NULL, CODEC_ID_PCM_S32LE) |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
679 |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
680 PCMDEF(s24be, "PCM signed 24 bit big-endian format", |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
681 NULL, CODEC_ID_PCM_S24BE) |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
682 |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
683 PCMDEF(s24le, "PCM signed 24 bit little-endian format", |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
684 NULL, CODEC_ID_PCM_S24LE) |
0 | 685 |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
686 PCMDEF(s16be, "PCM signed 16 bit big-endian format", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
687 BE_DEF("sw"), CODEC_ID_PCM_S16BE) |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
688 |
3543 | 689 PCMDEF(s16le, "PCM signed 16 bit little-endian format", |
0 | 690 LE_DEF("sw"), CODEC_ID_PCM_S16LE) |
691 | |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
692 PCMDEF(s8, "PCM signed 8 bit format", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
693 "sb", CODEC_ID_PCM_S8) |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
694 |
3757
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
695 PCMDEF(u32be, "PCM unsigned 32 bit big-endian format", |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
696 NULL, CODEC_ID_PCM_U32BE) |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
697 |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
698 PCMDEF(u32le, "PCM unsigned 32 bit little-endian format", |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
699 NULL, CODEC_ID_PCM_U32LE) |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
700 |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
701 PCMDEF(u24be, "PCM unsigned 24 bit big-endian format", |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
702 NULL, CODEC_ID_PCM_U24BE) |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
703 |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
704 PCMDEF(u24le, "PCM unsigned 24 bit little-endian format", |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
705 NULL, CODEC_ID_PCM_U24LE) |
7ab85dd1ef03
Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents:
3730
diff
changeset
|
706 |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
707 PCMDEF(u16be, "PCM unsigned 16 bit big-endian format", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
708 BE_DEF("uw"), CODEC_ID_PCM_U16BE) |
0 | 709 |
3543 | 710 PCMDEF(u16le, "PCM unsigned 16 bit little-endian format", |
0 | 711 LE_DEF("uw"), CODEC_ID_PCM_U16LE) |
712 | |
3543 | 713 PCMDEF(u8, "PCM unsigned 8 bit format", |
0 | 714 "ub", CODEC_ID_PCM_U8) |
715 | |
3543 | 716 PCMDEF(alaw, "PCM A-law format", |
0 | 717 "al", CODEC_ID_PCM_ALAW) |
718 | |
3546
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
719 PCMDEF(mulaw, "PCM mu-law format", |
45c3d2b2b2fb
Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents:
3545
diff
changeset
|
720 "ul", CODEC_ID_PCM_MULAW) |