annotate raw.c @ 6445:4aaed59641ff libavformat

move pcm demuxers to their own file
author aurel
date Mon, 30 Aug 2010 21:17:34 +0000
parents 9a1a187b1de7
children 659a7e022950
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
885
da1d5db0ce5c COSMETICS: Remove all trailing whitespace.
diego
parents: 868
diff changeset
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
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
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
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
9 * modify it under the terms of the GNU Lesser General Public
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
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
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
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
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
16 * Lesser General Public License for more details.
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
17 *
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
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
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
21 */
3286
6f61c3b36632 Use full path for #includes from another directory.
diego
parents: 3274
diff changeset
22
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
23 #include "avformat.h"
2545
213268d7594e move unrelated functions declarations out of allformats.h
aurel
parents: 2368
diff changeset
24 #include "raw.h"
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
25
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
26 /* simple formats */
1078
0bc9422cc0ad Raw flac muxer, patch by Justin Ruggles (jruggle earthlink net). Can be
banan
parents: 1070
diff changeset
27
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
28 #if CONFIG_MUXERS
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
29 int ff_raw_write_packet(AVFormatContext *s, AVPacket *pkt)
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
30 {
2771
d52c718e83f9 Use dynamically allocated ByteIOContext in AVFormatContext
andoma
parents: 2545
diff changeset
31 put_buffer(s->pb, pkt->data, pkt->size);
d52c718e83f9 Use dynamically allocated ByteIOContext in AVFormatContext
andoma
parents: 2545
diff changeset
32 put_flush_packet(s->pb);
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
33 return 0;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
34 }
3726
514470f7afed cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents: 3725
diff changeset
35 #endif
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
36
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
37 #if CONFIG_DEMUXERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
38 /* raw input */
6445
4aaed59641ff move pcm demuxers to their own file
aurel
parents: 6443
diff changeset
39 int ff_raw_read_header(AVFormatContext *s, AVFormatParameters *ap)
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
40 {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
41 AVStream *st;
5360
a00cc1aac80d Use enum instead of integer types where appropriate.
cehoyos
parents: 5263
diff changeset
42 enum CodecID id;
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
43
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
44 st = av_new_stream(s, 0);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
45 if (!st)
2273
7eb456c4ed8a Replace all occurrences of AVERROR_NOMEM with AVERROR(ENOMEM).
takis
parents: 2231
diff changeset
46 return AVERROR(ENOMEM);
1003
2d57ce58f576 simplify AVFormatParameters NULL checks
michael
parents: 985
diff changeset
47
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
48 id = s->iformat->value;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
49 if (id == CODEC_ID_RAWVIDEO) {
5910
536e5527c1e0 Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents: 5657
diff changeset
50 st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
51 } else {
5910
536e5527c1e0 Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents: 5657
diff changeset
52 st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
53 }
820
feca73904e67 changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents: 814
diff changeset
54 st->codec->codec_id = id;
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
55
820
feca73904e67 changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents: 814
diff changeset
56 switch(st->codec->codec_type) {
5910
536e5527c1e0 Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents: 5657
diff changeset
57 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
58 st->codec->sample_rate = ap->sample_rate;
3995
fcff303d5c8c Assume mono if no other information for raw.
michael
parents: 3973
diff changeset
59 if(ap->channels) st->codec->channels = ap->channels;
fcff303d5c8c Assume mono if no other information for raw.
michael
parents: 3973
diff changeset
60 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
61 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
62 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
63 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
64 av_set_pts_info(st, 64, 1, st->codec->sample_rate);
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
65 break;
5910
536e5527c1e0 Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents: 5657
diff changeset
66 case AVMEDIA_TYPE_VIDEO:
2860
cf6976fdd05f Do not force fps unless the user actually specified one.
michael
parents: 2771
diff changeset
67 if(ap->time_base.num)
cf6976fdd05f Do not force fps unless the user actually specified one.
michael
parents: 2771
diff changeset
68 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
69 else
cf6976fdd05f Do not force fps unless the user actually specified one.
michael
parents: 2771
diff changeset
70 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
71 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
72 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
73 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
74 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
75 st->codec->pix_fmt= PIX_FMT_YUV420P;
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
76 break;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
77 default:
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
78 return -1;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
79 }
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
80 return 0;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
81 }
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
82
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
83 #define RAW_PACKET_SIZE 1024
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
84
4610
41542d2edcf4 Separate the raw FLAC demuxer from raw.c and put in a new file,
jbr
parents: 4577
diff changeset
85 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
86 {
e14fcd57ad2f decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents: 306
diff changeset
87 int ret, size;
e14fcd57ad2f decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents: 306
diff changeset
88
e14fcd57ad2f decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents: 306
diff changeset
89 size = RAW_PACKET_SIZE;
e14fcd57ad2f decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents: 306
diff changeset
90
e14fcd57ad2f decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents: 306
diff changeset
91 if (av_new_packet(pkt, size) < 0)
5245
30c093f11b4e av_new_packet failing should return ENOMEM, not EIO.
reimar
parents: 5238
diff changeset
92 return AVERROR(ENOMEM);
885
da1d5db0ce5c COSMETICS: Remove all trailing whitespace.
diego
parents: 868
diff changeset
93
2771
d52c718e83f9 Use dynamically allocated ByteIOContext in AVFormatContext
andoma
parents: 2545
diff changeset
94 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
95 pkt->stream_index = 0;
2771
d52c718e83f9 Use dynamically allocated ByteIOContext in AVFormatContext
andoma
parents: 2545
diff changeset
96 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
97 if (ret < 0) {
389
e14fcd57ad2f decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents: 306
diff changeset
98 av_free_packet(pkt);
5254
83cc2a571542 Return any error return values from av_get_packet, get_buffer etc. unchanged
reimar
parents: 5249
diff changeset
99 return ret;
389
e14fcd57ad2f decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents: 306
diff changeset
100 }
e14fcd57ad2f decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents: 306
diff changeset
101 pkt->size = ret;
e14fcd57ad2f decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents: 306
diff changeset
102 return ret;
e14fcd57ad2f decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents: 306
diff changeset
103 }
3730
ee001685e4e5 Surround format-specific functions with matching preprocessor conditionals.
diego
parents: 3729
diff changeset
104 #endif
389
e14fcd57ad2f decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
michael
parents: 306
diff changeset
105
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
106 #if CONFIG_RAWVIDEO_DEMUXER
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
107 static int rawvideo_read_packet(AVFormatContext *s, AVPacket *pkt)
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
108 {
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
109 int packet_size, ret, width, height;
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
110 AVStream *st = s->streams[0];
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
111
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
112 width = st->codec->width;
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
113 height = st->codec->height;
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
114
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
115 packet_size = avpicture_get_size(st->codec->pix_fmt, width, height);
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
116 if (packet_size < 0)
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
117 return -1;
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
118
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
119 ret= av_get_packet(s->pb, pkt, packet_size);
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
120 pkt->pts=
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
121 pkt->dts= pkt->pos / packet_size;
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
122
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
123 pkt->stream_index = 0;
5254
83cc2a571542 Return any error return values from av_get_packet, get_buffer etc. unchanged
reimar
parents: 5249
diff changeset
124 if (ret < 0)
83cc2a571542 Return any error return values from av_get_packet, get_buffer etc. unchanged
reimar
parents: 5249
diff changeset
125 return ret;
5248
938a1b27357a Simplify: remove pointless {} and else
reimar
parents: 5247
diff changeset
126 return 0;
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
127 }
3730
ee001685e4e5 Surround format-specific functions with matching preprocessor conditionals.
diego
parents: 3729
diff changeset
128 #endif
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
129
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
130 #if CONFIG_DEMUXERS
6429
3e32902d7025 move DTS demuxer to its own file
aurel
parents: 6428
diff changeset
131 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
132 AVFormatParameters *ap)
63
8329ba7cbd01 raw ac3 auto detects parameters
bellard
parents: 49
diff changeset
133 {
3268
319c36da904b set demuxers .value and use common audio_read_header function
bcoudurier
parents: 3238
diff changeset
134 AVStream *st = av_new_stream(s, 0);
686
e2687b784c3a shorten decoder by (Jeff Muizelaar <jrmuizel gmail com>)
michael
parents: 637
diff changeset
135 if (!st)
2273
7eb456c4ed8a Replace all occurrences of AVERROR_NOMEM with AVERROR(ENOMEM).
takis
parents: 2231
diff changeset
136 return AVERROR(ENOMEM);
5910
536e5527c1e0 Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents: 5657
diff changeset
137 st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
3268
319c36da904b set demuxers .value and use common audio_read_header function
bcoudurier
parents: 3238
diff changeset
138 st->codec->codec_id = s->iformat->value;
2023
a3e79d6e4e3c add an enum for need_parsing
aurel
parents: 2022
diff changeset
139 st->need_parsing = AVSTREAM_PARSE_FULL;
931
7420a756dc7a read/write adts aac
mru
parents: 930
diff changeset
140 /* 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
141
931
7420a756dc7a read/write adts aac
mru
parents: 930
diff changeset
142 return 0;
7420a756dc7a read/write adts aac
mru
parents: 930
diff changeset
143 }
7420a756dc7a read/write adts aac
mru
parents: 930
diff changeset
144
3725
900a232fc55e cosmetics: misc spelling fixes
diego
parents: 3613
diff changeset
145 /* MPEG-1/H.263 input */
6430
d3a51b32b769 move ingenient demuxer to its own file
aurel
parents: 6429
diff changeset
146 int ff_raw_video_read_header(AVFormatContext *s,
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
147 AVFormatParameters *ap)
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
148 {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
149 AVStream *st;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
150
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
151 st = av_new_stream(s, 0);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
152 if (!st)
2273
7eb456c4ed8a Replace all occurrences of AVERROR_NOMEM with AVERROR(ENOMEM).
takis
parents: 2231
diff changeset
153 return AVERROR(ENOMEM);
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
154
5910
536e5527c1e0 Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents: 5657
diff changeset
155 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
156 st->codec->codec_id = s->iformat->value;
2023
a3e79d6e4e3c add an enum for need_parsing
aurel
parents: 2022
diff changeset
157 st->need_parsing = AVSTREAM_PARSE_FULL;
306
e7a8d4dd8e14 seek support for PCM formats
bellard
parents: 277
diff changeset
158
3725
900a232fc55e cosmetics: misc spelling fixes
diego
parents: 3613
diff changeset
159 /* for MJPEG, specify frame rate */
900a232fc55e cosmetics: misc spelling fixes
diego
parents: 3613
diff changeset
160 /* for MPEG-4 specify it, too (most MPEG-4 streams do not have the fixed_vop_rate set ...)*/
1003
2d57ce58f576 simplify AVFormatParameters NULL checks
michael
parents: 985
diff changeset
161 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
162 st->codec->time_base= ap->time_base;
885
da1d5db0ce5c COSMETICS: Remove all trailing whitespace.
diego
parents: 868
diff changeset
163 } 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
164 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
165 st->codec->codec_id == CODEC_ID_DIRAC ||
5451
c0f40f4293cd Add CODEC_ID_DNXHD into the 25 fps case.
michael
parents: 5425
diff changeset
166 st->codec->codec_id == CODEC_ID_DNXHD ||
6120
a2a55244ca6b Fix raw vc1 decoding - this is supposed to break FATE.
cehoyos
parents: 5910
diff changeset
167 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
168 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
169 st->codec->time_base= (AVRational){1,25};
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
170 }
4620
290808c90f82 Change the timebase of the raw demuxer to one that can represent the ts of fields.
michael
parents: 4610
diff changeset
171 av_set_pts_info(st, 64, 1, 1200000);
745
a03f1f7497ad always honor the user specified frame rate if set
michael
parents: 743
diff changeset
172
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
173 return 0;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
174 }
3730
ee001685e4e5 Surround format-specific functions with matching preprocessor conditionals.
diego
parents: 3729
diff changeset
175 #endif
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
176
3545
2949f7da8931 Add a note to remind people to add new raw formats to the Makefile.
diego
parents: 3543
diff changeset
177 /* 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
178
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
179 #if CONFIG_AC3_MUXER
1167
d89d7ef290da give AVInput/OutputFormat structs consistent names
mru
parents: 1121
diff changeset
180 AVOutputFormat ac3_muxer = {
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
181 "ac3",
3424
7a0230981402 Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents: 3405
diff changeset
182 NULL_IF_CONFIG_SMALL("raw AC-3"),
885
da1d5db0ce5c COSMETICS: Remove all trailing whitespace.
diego
parents: 868
diff changeset
183 "audio/x-ac3",
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
184 "ac3",
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
185 0,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
186 CODEC_ID_AC3,
3289
811c78fac294 Replace some occurrences of 0 with CODEC_ID_NONE.
cehoyos
parents: 3286
diff changeset
187 CODEC_ID_NONE,
2305
7843ebbe9b0a remove useless raw_write_header
bcoudurier
parents: 2304
diff changeset
188 NULL,
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
189 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
190 .flags= AVFMT_NOTIMESTAMPS,
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
191 };
3726
514470f7afed cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents: 3725
diff changeset
192 #endif
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
193
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
194 #if CONFIG_DIRAC_MUXER
3272
07038dc492ab Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents: 3269
diff changeset
195 AVOutputFormat dirac_muxer = {
07038dc492ab Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents: 3269
diff changeset
196 "dirac",
3424
7a0230981402 Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents: 3405
diff changeset
197 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
198 NULL,
07038dc492ab Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents: 3269
diff changeset
199 "drc",
07038dc492ab Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents: 3269
diff changeset
200 0,
3289
811c78fac294 Replace some occurrences of 0 with CODEC_ID_NONE.
cehoyos
parents: 3286
diff changeset
201 CODEC_ID_NONE,
3272
07038dc492ab Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents: 3269
diff changeset
202 CODEC_ID_DIRAC,
07038dc492ab Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents: 3269
diff changeset
203 NULL,
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
204 ff_raw_write_packet,
3272
07038dc492ab Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents: 3269
diff changeset
205 .flags= AVFMT_NOTIMESTAMPS,
07038dc492ab Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents: 3269
diff changeset
206 };
07038dc492ab Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents: 3269
diff changeset
207 #endif
07038dc492ab Import Dirac demuxer/muxer from SoC branch; written by Marco Gerards,
lu_zero
parents: 3269
diff changeset
208
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
209 #if CONFIG_DNXHD_MUXER
4004
677bcb3b65cd raw dnxhd de/muxer
bcoudurier
parents: 3995
diff changeset
210 AVOutputFormat dnxhd_muxer = {
677bcb3b65cd raw dnxhd de/muxer
bcoudurier
parents: 3995
diff changeset
211 "dnxhd",
677bcb3b65cd raw dnxhd de/muxer
bcoudurier
parents: 3995
diff changeset
212 NULL_IF_CONFIG_SMALL("raw DNxHD (SMPTE VC-3)"),
677bcb3b65cd raw dnxhd de/muxer
bcoudurier
parents: 3995
diff changeset
213 NULL,
677bcb3b65cd raw dnxhd de/muxer
bcoudurier
parents: 3995
diff changeset
214 "dnxhd",
677bcb3b65cd raw dnxhd de/muxer
bcoudurier
parents: 3995
diff changeset
215 0,
677bcb3b65cd raw dnxhd de/muxer
bcoudurier
parents: 3995
diff changeset
216 CODEC_ID_NONE,
677bcb3b65cd raw dnxhd de/muxer
bcoudurier
parents: 3995
diff changeset
217 CODEC_ID_DNXHD,
677bcb3b65cd raw dnxhd de/muxer
bcoudurier
parents: 3995
diff changeset
218 NULL,
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
219 ff_raw_write_packet,
4004
677bcb3b65cd raw dnxhd de/muxer
bcoudurier
parents: 3995
diff changeset
220 .flags= AVFMT_NOTIMESTAMPS,
677bcb3b65cd raw dnxhd de/muxer
bcoudurier
parents: 3995
diff changeset
221 };
677bcb3b65cd raw dnxhd de/muxer
bcoudurier
parents: 3995
diff changeset
222 #endif
677bcb3b65cd raw dnxhd de/muxer
bcoudurier
parents: 3995
diff changeset
223
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
224 #if CONFIG_DTS_MUXER
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
225 AVOutputFormat dts_muxer = {
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
226 "dts",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
227 NULL_IF_CONFIG_SMALL("raw DTS"),
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
228 "audio/x-dca",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
229 "dts",
931
7420a756dc7a read/write adts aac
mru
parents: 930
diff changeset
230 0,
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
231 CODEC_ID_DTS,
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
232 CODEC_ID_NONE,
931
7420a756dc7a read/write adts aac
mru
parents: 930
diff changeset
233 NULL,
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
234 ff_raw_write_packet,
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
235 .flags= AVFMT_NOTIMESTAMPS,
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
236 };
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
237 #endif
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
238
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
239 #if CONFIG_EAC3_MUXER
3862
c11ff84634b2 create a separate codec_id for E-AC-3
jbr
parents: 3757
diff changeset
240 AVOutputFormat eac3_muxer = {
c11ff84634b2 create a separate codec_id for E-AC-3
jbr
parents: 3757
diff changeset
241 "eac3",
c11ff84634b2 create a separate codec_id for E-AC-3
jbr
parents: 3757
diff changeset
242 NULL_IF_CONFIG_SMALL("raw E-AC-3"),
c11ff84634b2 create a separate codec_id for E-AC-3
jbr
parents: 3757
diff changeset
243 "audio/x-eac3",
c11ff84634b2 create a separate codec_id for E-AC-3
jbr
parents: 3757
diff changeset
244 "eac3",
c11ff84634b2 create a separate codec_id for E-AC-3
jbr
parents: 3757
diff changeset
245 0,
c11ff84634b2 create a separate codec_id for E-AC-3
jbr
parents: 3757
diff changeset
246 CODEC_ID_EAC3,
c11ff84634b2 create a separate codec_id for E-AC-3
jbr
parents: 3757
diff changeset
247 CODEC_ID_NONE,
c11ff84634b2 create a separate codec_id for E-AC-3
jbr
parents: 3757
diff changeset
248 NULL,
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
249 ff_raw_write_packet,
3862
c11ff84634b2 create a separate codec_id for E-AC-3
jbr
parents: 3757
diff changeset
250 .flags= AVFMT_NOTIMESTAMPS,
c11ff84634b2 create a separate codec_id for E-AC-3
jbr
parents: 3757
diff changeset
251 };
c11ff84634b2 create a separate codec_id for E-AC-3
jbr
parents: 3757
diff changeset
252 #endif
c11ff84634b2 create a separate codec_id for E-AC-3
jbr
parents: 3757
diff changeset
253
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
254 #if CONFIG_GSM_DEMUXER
3269
55d4f01c9728 raw GSM demuxer (does not work yet as parser is missing)
michael
parents: 3268
diff changeset
255 AVInputFormat gsm_demuxer = {
55d4f01c9728 raw GSM demuxer (does not work yet as parser is missing)
michael
parents: 3268
diff changeset
256 "gsm",
4501
3e5b9c1a413e Make format long_names consistent.
diego
parents: 4293
diff changeset
257 NULL_IF_CONFIG_SMALL("raw GSM"),
3269
55d4f01c9728 raw GSM demuxer (does not work yet as parser is missing)
michael
parents: 3268
diff changeset
258 0,
55d4f01c9728 raw GSM demuxer (does not work yet as parser is missing)
michael
parents: 3268
diff changeset
259 NULL,
6429
3e32902d7025 move DTS demuxer to its own file
aurel
parents: 6428
diff changeset
260 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
261 ff_raw_read_partial_packet,
3269
55d4f01c9728 raw GSM demuxer (does not work yet as parser is missing)
michael
parents: 3268
diff changeset
262 .flags= AVFMT_GENERIC_INDEX,
55d4f01c9728 raw GSM demuxer (does not work yet as parser is missing)
michael
parents: 3268
diff changeset
263 .extensions = "gsm",
55d4f01c9728 raw GSM demuxer (does not work yet as parser is missing)
michael
parents: 3268
diff changeset
264 .value = CODEC_ID_GSM,
55d4f01c9728 raw GSM demuxer (does not work yet as parser is missing)
michael
parents: 3268
diff changeset
265 };
3729
ed875181c3fa Surround AVInputFormat declarations with format-specific #ifdefs.
diego
parents: 3728
diff changeset
266 #endif
3269
55d4f01c9728 raw GSM demuxer (does not work yet as parser is missing)
michael
parents: 3268
diff changeset
267
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
268 #if CONFIG_H261_MUXER
1167
d89d7ef290da give AVInput/OutputFormat structs consistent names
mru
parents: 1121
diff changeset
269 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
270 "h261",
3424
7a0230981402 Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents: 3405
diff changeset
271 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
272 "video/x-h261",
f701ba509d0c H.261 encoder by (Maarten Daniels <maarten dot daniels at luc dot ac dot be>)
michael
parents: 567
diff changeset
273 "h261",
f701ba509d0c H.261 encoder by (Maarten Daniels <maarten dot daniels at luc dot ac dot be>)
michael
parents: 567
diff changeset
274 0,
3289
811c78fac294 Replace some occurrences of 0 with CODEC_ID_NONE.
cehoyos
parents: 3286
diff changeset
275 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
276 CODEC_ID_H261,
2305
7843ebbe9b0a remove useless raw_write_header
bcoudurier
parents: 2304
diff changeset
277 NULL,
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
278 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
279 .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
280 };
3726
514470f7afed cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents: 3725
diff changeset
281 #endif
576
f701ba509d0c H.261 encoder by (Maarten Daniels <maarten dot daniels at luc dot ac dot be>)
michael
parents: 567
diff changeset
282
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
283 #if CONFIG_H263_MUXER
1167
d89d7ef290da give AVInput/OutputFormat structs consistent names
mru
parents: 1121
diff changeset
284 AVOutputFormat h263_muxer = {
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
285 "h263",
3424
7a0230981402 Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents: 3405
diff changeset
286 NULL_IF_CONFIG_SMALL("raw H.263"),
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
287 "video/x-h263",
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
288 "h263",
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
289 0,
3289
811c78fac294 Replace some occurrences of 0 with CODEC_ID_NONE.
cehoyos
parents: 3286
diff changeset
290 CODEC_ID_NONE,
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
291 CODEC_ID_H263,
2305
7843ebbe9b0a remove useless raw_write_header
bcoudurier
parents: 2304
diff changeset
292 NULL,
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
293 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
294 .flags= AVFMT_NOTIMESTAMPS,
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
295 };
3726
514470f7afed cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents: 3725
diff changeset
296 #endif
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
297
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
298 #if CONFIG_H264_MUXER
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
299 AVOutputFormat h264_muxer = {
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
300 "h264",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
301 NULL_IF_CONFIG_SMALL("raw H.264 video format"),
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
302 NULL,
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
303 "h264",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
304 0,
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
305 CODEC_ID_NONE,
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
306 CODEC_ID_H264,
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
307 NULL,
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
308 ff_raw_write_packet,
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
309 .flags= AVFMT_NOTIMESTAMPS,
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
310 };
3726
514470f7afed cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents: 3725
diff changeset
311 #endif
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
312
6320
c12a0b951902 add Chinese AVS encoding via external library libxavs
stefang
parents: 6308
diff changeset
313 #if CONFIG_CAVSVIDEO_MUXER
c12a0b951902 add Chinese AVS encoding via external library libxavs
stefang
parents: 6308
diff changeset
314 AVOutputFormat cavsvideo_muxer = {
c12a0b951902 add Chinese AVS encoding via external library libxavs
stefang
parents: 6308
diff changeset
315 "cavsvideo",
c12a0b951902 add Chinese AVS encoding via external library libxavs
stefang
parents: 6308
diff changeset
316 NULL_IF_CONFIG_SMALL("raw Chinese AVS video"),
c12a0b951902 add Chinese AVS encoding via external library libxavs
stefang
parents: 6308
diff changeset
317 NULL,
c12a0b951902 add Chinese AVS encoding via external library libxavs
stefang
parents: 6308
diff changeset
318 "cavs",
c12a0b951902 add Chinese AVS encoding via external library libxavs
stefang
parents: 6308
diff changeset
319 0,
c12a0b951902 add Chinese AVS encoding via external library libxavs
stefang
parents: 6308
diff changeset
320 CODEC_ID_NONE,
c12a0b951902 add Chinese AVS encoding via external library libxavs
stefang
parents: 6308
diff changeset
321 CODEC_ID_CAVS,
c12a0b951902 add Chinese AVS encoding via external library libxavs
stefang
parents: 6308
diff changeset
322 NULL,
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
323 ff_raw_write_packet,
6320
c12a0b951902 add Chinese AVS encoding via external library libxavs
stefang
parents: 6308
diff changeset
324 .flags= AVFMT_NOTIMESTAMPS,
c12a0b951902 add Chinese AVS encoding via external library libxavs
stefang
parents: 6308
diff changeset
325 };
c12a0b951902 add Chinese AVS encoding via external library libxavs
stefang
parents: 6308
diff changeset
326 #endif
c12a0b951902 add Chinese AVS encoding via external library libxavs
stefang
parents: 6308
diff changeset
327
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
328 #if CONFIG_M4V_MUXER
1167
d89d7ef290da give AVInput/OutputFormat structs consistent names
mru
parents: 1121
diff changeset
329 AVOutputFormat m4v_muxer = {
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
330 "m4v",
3424
7a0230981402 Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents: 3405
diff changeset
331 NULL_IF_CONFIG_SMALL("raw MPEG-4 video format"),
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
332 NULL,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
333 "m4v",
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
334 0,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
335 CODEC_ID_NONE,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
336 CODEC_ID_MPEG4,
2305
7843ebbe9b0a remove useless raw_write_header
bcoudurier
parents: 2304
diff changeset
337 NULL,
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
338 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
339 .flags= AVFMT_NOTIMESTAMPS,
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
340 };
3726
514470f7afed cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents: 3725
diff changeset
341 #endif
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
342
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
343 #if CONFIG_MJPEG_DEMUXER
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
344 AVInputFormat mjpeg_demuxer = {
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
345 "mjpeg",
4501
3e5b9c1a413e Make format long_names consistent.
diego
parents: 4293
diff changeset
346 NULL_IF_CONFIG_SMALL("raw MJPEG video"),
100
fa3ebf0d0270 H264 decoder & demuxer
michaelni
parents: 85
diff changeset
347 0,
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
348 NULL,
6430
d3a51b32b769 move ingenient demuxer to its own file
aurel
parents: 6429
diff changeset
349 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
350 ff_raw_read_partial_packet,
1756
5d72afc6c8aa better generic index building and seeking code
michael
parents: 1463
diff changeset
351 .flags= AVFMT_GENERIC_INDEX,
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
352 .extensions = "mjpg,mjpeg",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
353 .value = CODEC_ID_MJPEG,
100
fa3ebf0d0270 H264 decoder & demuxer
michaelni
parents: 85
diff changeset
354 };
3729
ed875181c3fa Surround AVInputFormat declarations with format-specific #ifdefs.
diego
parents: 3728
diff changeset
355 #endif
100
fa3ebf0d0270 H264 decoder & demuxer
michaelni
parents: 85
diff changeset
356
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
357 #if CONFIG_MJPEG_MUXER
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
358 AVOutputFormat mjpeg_muxer = {
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
359 "mjpeg",
4501
3e5b9c1a413e Make format long_names consistent.
diego
parents: 4293
diff changeset
360 NULL_IF_CONFIG_SMALL("raw MJPEG video"),
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
361 "video/x-mjpeg",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
362 "mjpg,mjpeg",
100
fa3ebf0d0270 H264 decoder & demuxer
michaelni
parents: 85
diff changeset
363 0,
fa3ebf0d0270 H264 decoder & demuxer
michaelni
parents: 85
diff changeset
364 CODEC_ID_NONE,
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
365 CODEC_ID_MJPEG,
2305
7843ebbe9b0a remove useless raw_write_header
bcoudurier
parents: 2304
diff changeset
366 NULL,
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
367 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
368 .flags= AVFMT_NOTIMESTAMPS,
100
fa3ebf0d0270 H264 decoder & demuxer
michaelni
parents: 85
diff changeset
369 };
3726
514470f7afed cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents: 3725
diff changeset
370 #endif
100
fa3ebf0d0270 H264 decoder & demuxer
michaelni
parents: 85
diff changeset
371
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
372 #if CONFIG_MLP_DEMUXER
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
373 AVInputFormat mlp_demuxer = {
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
374 "mlp",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
375 NULL_IF_CONFIG_SMALL("raw MLP"),
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
376 0,
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
377 NULL,
6429
3e32902d7025 move DTS demuxer to its own file
aurel
parents: 6428
diff changeset
378 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
379 ff_raw_read_partial_packet,
1756
5d72afc6c8aa better generic index building and seeking code
michael
parents: 1463
diff changeset
380 .flags= AVFMT_GENERIC_INDEX,
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
381 .extensions = "mlp",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
382 .value = CODEC_ID_MLP,
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
383 };
3729
ed875181c3fa Surround AVInputFormat declarations with format-specific #ifdefs.
diego
parents: 3728
diff changeset
384 #endif
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
385
4901
62d8279280a8 It should be #if, not #ifdef
andoma
parents: 4899
diff changeset
386 #if CONFIG_MLP_MUXER
4899
52992e9a0109 Add raw MLP muxer.
ramiro
parents: 4872
diff changeset
387 AVOutputFormat mlp_muxer = {
52992e9a0109 Add raw MLP muxer.
ramiro
parents: 4872
diff changeset
388 "mlp",
52992e9a0109 Add raw MLP muxer.
ramiro
parents: 4872
diff changeset
389 NULL_IF_CONFIG_SMALL("raw MLP"),
52992e9a0109 Add raw MLP muxer.
ramiro
parents: 4872
diff changeset
390 NULL,
52992e9a0109 Add raw MLP muxer.
ramiro
parents: 4872
diff changeset
391 "mlp",
52992e9a0109 Add raw MLP muxer.
ramiro
parents: 4872
diff changeset
392 0,
52992e9a0109 Add raw MLP muxer.
ramiro
parents: 4872
diff changeset
393 CODEC_ID_MLP,
52992e9a0109 Add raw MLP muxer.
ramiro
parents: 4872
diff changeset
394 CODEC_ID_NONE,
52992e9a0109 Add raw MLP muxer.
ramiro
parents: 4872
diff changeset
395 NULL,
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
396 ff_raw_write_packet,
4899
52992e9a0109 Add raw MLP muxer.
ramiro
parents: 4872
diff changeset
397 .flags= AVFMT_NOTIMESTAMPS,
52992e9a0109 Add raw MLP muxer.
ramiro
parents: 4872
diff changeset
398 };
52992e9a0109 Add raw MLP muxer.
ramiro
parents: 4872
diff changeset
399 #endif
52992e9a0109 Add raw MLP muxer.
ramiro
parents: 4872
diff changeset
400
6308
2b1ab404f1cf add SubRip muxer and demuxer
aurel
parents: 6144
diff changeset
401 #if CONFIG_SRT_MUXER
2b1ab404f1cf add SubRip muxer and demuxer
aurel
parents: 6144
diff changeset
402 AVOutputFormat srt_muxer = {
2b1ab404f1cf add SubRip muxer and demuxer
aurel
parents: 6144
diff changeset
403 .name = "srt",
2b1ab404f1cf add SubRip muxer and demuxer
aurel
parents: 6144
diff changeset
404 .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle format"),
2b1ab404f1cf add SubRip muxer and demuxer
aurel
parents: 6144
diff changeset
405 .mime_type = "application/x-subrip",
2b1ab404f1cf add SubRip muxer and demuxer
aurel
parents: 6144
diff changeset
406 .extensions = "srt",
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
407 .write_packet = ff_raw_write_packet,
6308
2b1ab404f1cf add SubRip muxer and demuxer
aurel
parents: 6144
diff changeset
408 .flags = AVFMT_NOTIMESTAMPS,
2b1ab404f1cf add SubRip muxer and demuxer
aurel
parents: 6144
diff changeset
409 .subtitle_codec = CODEC_ID_SRT,
2b1ab404f1cf add SubRip muxer and demuxer
aurel
parents: 6144
diff changeset
410 };
2b1ab404f1cf add SubRip muxer and demuxer
aurel
parents: 6144
diff changeset
411 #endif
2b1ab404f1cf add SubRip muxer and demuxer
aurel
parents: 6144
diff changeset
412
4751
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
413 #if CONFIG_TRUEHD_DEMUXER
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
414 AVInputFormat truehd_demuxer = {
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
415 "truehd",
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
416 NULL_IF_CONFIG_SMALL("raw TrueHD"),
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
417 0,
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
418 NULL,
6429
3e32902d7025 move DTS demuxer to its own file
aurel
parents: 6428
diff changeset
419 ff_raw_audio_read_header,
4751
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
420 ff_raw_read_partial_packet,
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
421 .flags= AVFMT_GENERIC_INDEX,
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
422 .extensions = "thd",
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
423 .value = CODEC_ID_TRUEHD,
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
424 };
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
425 #endif
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
426
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
427 #if CONFIG_TRUEHD_MUXER
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
428 AVOutputFormat truehd_muxer = {
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
429 "truehd",
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
430 NULL_IF_CONFIG_SMALL("raw TrueHD"),
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
431 NULL,
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
432 "thd",
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
433 0,
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
434 CODEC_ID_TRUEHD,
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
435 CODEC_ID_NONE,
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
436 NULL,
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
437 ff_raw_write_packet,
4751
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
438 .flags= AVFMT_NOTIMESTAMPS,
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
439 };
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
440 #endif
ffb7e8093289 Support raw TrueHD files
ramiro
parents: 4710
diff changeset
441
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
442 #if CONFIG_MPEG1VIDEO_MUXER
1167
d89d7ef290da give AVInput/OutputFormat structs consistent names
mru
parents: 1121
diff changeset
443 AVOutputFormat mpeg1video_muxer = {
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
444 "mpeg1video",
4501
3e5b9c1a413e Make format long_names consistent.
diego
parents: 4293
diff changeset
445 NULL_IF_CONFIG_SMALL("raw MPEG-1 video"),
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
446 "video/x-mpeg",
814
731af78f150d .m1v and .m2a (feature req #1178960)
michael
parents: 808
diff changeset
447 "mpg,mpeg,m1v",
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
448 0,
3289
811c78fac294 Replace some occurrences of 0 with CODEC_ID_NONE.
cehoyos
parents: 3286
diff changeset
449 CODEC_ID_NONE,
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
450 CODEC_ID_MPEG1VIDEO,
2305
7843ebbe9b0a remove useless raw_write_header
bcoudurier
parents: 2304
diff changeset
451 NULL,
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
452 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
453 .flags= AVFMT_NOTIMESTAMPS,
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
454 };
3726
514470f7afed cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents: 3725
diff changeset
455 #endif
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
456
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
457 #if CONFIG_MPEG2VIDEO_MUXER
1167
d89d7ef290da give AVInput/OutputFormat structs consistent names
mru
parents: 1121
diff changeset
458 AVOutputFormat mpeg2video_muxer = {
637
76e36d97a27a Patch for creating m2v files by (Fabrizio Gennari <fabrizio.ge tiscali it)
michael
parents: 576
diff changeset
459 "mpeg2video",
4501
3e5b9c1a413e Make format long_names consistent.
diego
parents: 4293
diff changeset
460 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
461 NULL,
76e36d97a27a Patch for creating m2v files by (Fabrizio Gennari <fabrizio.ge tiscali it)
michael
parents: 576
diff changeset
462 "m2v",
76e36d97a27a Patch for creating m2v files by (Fabrizio Gennari <fabrizio.ge tiscali it)
michael
parents: 576
diff changeset
463 0,
3289
811c78fac294 Replace some occurrences of 0 with CODEC_ID_NONE.
cehoyos
parents: 3286
diff changeset
464 CODEC_ID_NONE,
637
76e36d97a27a Patch for creating m2v files by (Fabrizio Gennari <fabrizio.ge tiscali it)
michael
parents: 576
diff changeset
465 CODEC_ID_MPEG2VIDEO,
2305
7843ebbe9b0a remove useless raw_write_header
bcoudurier
parents: 2304
diff changeset
466 NULL,
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
467 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
468 .flags= AVFMT_NOTIMESTAMPS,
637
76e36d97a27a Patch for creating m2v files by (Fabrizio Gennari <fabrizio.ge tiscali it)
michael
parents: 576
diff changeset
469 };
3726
514470f7afed cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents: 3725
diff changeset
470 #endif
637
76e36d97a27a Patch for creating m2v files by (Fabrizio Gennari <fabrizio.ge tiscali it)
michael
parents: 576
diff changeset
471
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
472 #if CONFIG_RAWVIDEO_DEMUXER
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
473 AVInputFormat rawvideo_demuxer = {
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
474 "rawvideo",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
475 NULL_IF_CONFIG_SMALL("raw video format"),
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
476 0,
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
477 NULL,
6445
4aaed59641ff move pcm demuxers to their own file
aurel
parents: 6443
diff changeset
478 ff_raw_read_header,
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
479 rawvideo_read_packet,
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
480 .flags= AVFMT_GENERIC_INDEX,
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
481 .extensions = "yuv,cif,qcif,rgb",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
482 .value = CODEC_ID_RAWVIDEO,
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
483 };
3729
ed875181c3fa Surround AVInputFormat declarations with format-specific #ifdefs.
diego
parents: 3728
diff changeset
484 #endif
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
485
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
486 #if CONFIG_RAWVIDEO_MUXER
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
487 AVOutputFormat rawvideo_muxer = {
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
488 "rawvideo",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
489 NULL_IF_CONFIG_SMALL("raw video format"),
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
490 NULL,
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
491 "yuv,rgb",
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
492 0,
3289
811c78fac294 Replace some occurrences of 0 with CODEC_ID_NONE.
cehoyos
parents: 3286
diff changeset
493 CODEC_ID_NONE,
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
494 CODEC_ID_RAWVIDEO,
2305
7843ebbe9b0a remove useless raw_write_header
bcoudurier
parents: 2304
diff changeset
495 NULL,
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
496 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
497 .flags= AVFMT_NOTIMESTAMPS,
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
498 };
3726
514470f7afed cosmetics: Remove redundant #endif comments that are very close to the #ifdef
diego
parents: 3725
diff changeset
499 #endif
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
500
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
501 #if CONFIG_SHORTEN_DEMUXER
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
502 AVInputFormat shorten_demuxer = {
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
503 "shn",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
504 NULL_IF_CONFIG_SMALL("raw Shorten"),
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
505 0,
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
506 NULL,
6429
3e32902d7025 move DTS demuxer to its own file
aurel
parents: 6428
diff changeset
507 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
508 ff_raw_read_partial_packet,
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
509 .flags= AVFMT_GENERIC_INDEX,
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
510 .extensions = "shn",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
511 .value = CODEC_ID_SHORTEN,
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
512 };
3729
ed875181c3fa Surround AVInputFormat declarations with format-specific #ifdefs.
diego
parents: 3728
diff changeset
513 #endif
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
514
4206
c3102b189cb6 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 4103
diff changeset
515 #if CONFIG_VC1_DEMUXER
1773
4b8313d5b23b Raw VC-1 demuxer
kostya
parents: 1768
diff changeset
516 AVInputFormat vc1_demuxer = {
4b8313d5b23b Raw VC-1 demuxer
kostya
parents: 1768
diff changeset
517 "vc1",
3424
7a0230981402 Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents: 3405
diff changeset
518 NULL_IF_CONFIG_SMALL("raw VC-1"),
1773
4b8313d5b23b Raw VC-1 demuxer
kostya
parents: 1768
diff changeset
519 0,
4b8313d5b23b Raw VC-1 demuxer
kostya
parents: 1768
diff changeset
520 NULL /* vc1_probe */,
6430
d3a51b32b769 move ingenient demuxer to its own file
aurel
parents: 6429
diff changeset
521 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
522 ff_raw_read_partial_packet,
1773
4b8313d5b23b Raw VC-1 demuxer
kostya
parents: 1768
diff changeset
523 .extensions = "vc1",
4b8313d5b23b Raw VC-1 demuxer
kostya
parents: 1768
diff changeset
524 .value = CODEC_ID_VC1,
4b8313d5b23b Raw VC-1 demuxer
kostya
parents: 1768
diff changeset
525 };
3729
ed875181c3fa Surround AVInputFormat declarations with format-specific #ifdefs.
diego
parents: 3728
diff changeset
526 #endif
1773
4b8313d5b23b Raw VC-1 demuxer
kostya
parents: 1768
diff changeset
527
3725
900a232fc55e cosmetics: misc spelling fixes
diego
parents: 3613
diff changeset
528 /* PCM formats */
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 241
diff changeset
529
1121
787a70a8b867 Fix compilation with all combinations of --disable-(de)muxers.
diego
parents: 1078
diff changeset
530 #define PCMOUTPUTDEF(name, long_name, ext, codec) \
1167
d89d7ef290da give AVInput/OutputFormat structs consistent names
mru
parents: 1121
diff changeset
531 AVOutputFormat pcm_ ## name ## _muxer = {\
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
532 #name,\
3424
7a0230981402 Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents: 3405
diff changeset
533 NULL_IF_CONFIG_SMALL(long_name),\
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
534 NULL,\
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
535 ext,\
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
536 0,\
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
537 codec,\
3289
811c78fac294 Replace some occurrences of 0 with CODEC_ID_NONE.
cehoyos
parents: 3286
diff changeset
538 CODEC_ID_NONE,\
2305
7843ebbe9b0a remove useless raw_write_header
bcoudurier
parents: 2304
diff changeset
539 NULL,\
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
540 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
541 .flags= AVFMT_NOTIMESTAMPS,\
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
542 };
1121
787a70a8b867 Fix compilation with all combinations of --disable-(de)muxers.
diego
parents: 1078
diff changeset
543
787a70a8b867 Fix compilation with all combinations of --disable-(de)muxers.
diego
parents: 1078
diff changeset
544
6445
4aaed59641ff move pcm demuxers to their own file
aurel
parents: 6443
diff changeset
545 #if CONFIG_MUXERS
1121
787a70a8b867 Fix compilation with all combinations of --disable-(de)muxers.
diego
parents: 1078
diff changeset
546 #define PCMDEF(name, long_name, ext, codec) \
787a70a8b867 Fix compilation with all combinations of --disable-(de)muxers.
diego
parents: 1078
diff changeset
547 PCMOUTPUTDEF(name, long_name, ext, codec)
787a70a8b867 Fix compilation with all combinations of --disable-(de)muxers.
diego
parents: 1078
diff changeset
548 #else
787a70a8b867 Fix compilation with all combinations of --disable-(de)muxers.
diego
parents: 1078
diff changeset
549 #define PCMDEF(name, long_name, ext, codec)
787a70a8b867 Fix compilation with all combinations of --disable-(de)muxers.
diego
parents: 1078
diff changeset
550 #endif
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
551
3757
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
552 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
553 NULL, CODEC_ID_PCM_F64BE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
554
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
555 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
556 NULL, CODEC_ID_PCM_F64LE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
557
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
558 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
559 NULL, CODEC_ID_PCM_F32BE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
560
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
561 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
562 NULL, CODEC_ID_PCM_F32LE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
563
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
564 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
565 NULL, CODEC_ID_PCM_S32BE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
566
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
567 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
568 NULL, CODEC_ID_PCM_S32LE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
569
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
570 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
571 NULL, CODEC_ID_PCM_S24BE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
572
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
573 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
574 NULL, CODEC_ID_PCM_S24LE)
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
575
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
576 PCMDEF(s16be, "PCM signed 16 bit big-endian format",
6443
9a1a187b1de7 simplify code by using the AV_NE() macro
aurel
parents: 6442
diff changeset
577 AV_NE("sw", NULL), CODEC_ID_PCM_S16BE)
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
578
3543
1d8d52ca1e54 spelling cosmetics in PCM codec long names
diego
parents: 3484
diff changeset
579 PCMDEF(s16le, "PCM signed 16 bit little-endian format",
6443
9a1a187b1de7 simplify code by using the AV_NE() macro
aurel
parents: 6442
diff changeset
580 AV_NE(NULL, "sw"), CODEC_ID_PCM_S16LE)
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
581
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
582 PCMDEF(s8, "PCM signed 8 bit format",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
583 "sb", CODEC_ID_PCM_S8)
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
584
3757
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
585 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
586 NULL, CODEC_ID_PCM_U32BE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
587
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
588 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
589 NULL, CODEC_ID_PCM_U32LE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
590
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
591 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
592 NULL, CODEC_ID_PCM_U24BE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
593
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
594 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
595 NULL, CODEC_ID_PCM_U24LE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
596
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
597 PCMDEF(u16be, "PCM unsigned 16 bit big-endian format",
6443
9a1a187b1de7 simplify code by using the AV_NE() macro
aurel
parents: 6442
diff changeset
598 AV_NE("uw", NULL), CODEC_ID_PCM_U16BE)
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
599
3543
1d8d52ca1e54 spelling cosmetics in PCM codec long names
diego
parents: 3484
diff changeset
600 PCMDEF(u16le, "PCM unsigned 16 bit little-endian format",
6443
9a1a187b1de7 simplify code by using the AV_NE() macro
aurel
parents: 6442
diff changeset
601 AV_NE(NULL, "uw"), CODEC_ID_PCM_U16LE)
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
602
3543
1d8d52ca1e54 spelling cosmetics in PCM codec long names
diego
parents: 3484
diff changeset
603 PCMDEF(u8, "PCM unsigned 8 bit format",
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
604 "ub", CODEC_ID_PCM_U8)
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
605
3543
1d8d52ca1e54 spelling cosmetics in PCM codec long names
diego
parents: 3484
diff changeset
606 PCMDEF(alaw, "PCM A-law format",
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
607 "al", CODEC_ID_PCM_ALAW)
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
608
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
609 PCMDEF(mulaw, "PCM mu-law format",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
610 "ul", CODEC_ID_PCM_MULAW)