yading@11
|
1 /*
|
yading@11
|
2 * RAW muxers
|
yading@11
|
3 * Copyright (c) 2001 Fabrice Bellard
|
yading@11
|
4 * Copyright (c) 2005 Alex Beregszaszi
|
yading@11
|
5 *
|
yading@11
|
6 * This file is part of FFmpeg.
|
yading@11
|
7 *
|
yading@11
|
8 * FFmpeg is free software; you can redistribute it and/or
|
yading@11
|
9 * modify it under the terms of the GNU Lesser General Public
|
yading@11
|
10 * License as published by the Free Software Foundation; either
|
yading@11
|
11 * version 2.1 of the License, or (at your option) any later version.
|
yading@11
|
12 *
|
yading@11
|
13 * FFmpeg is distributed in the hope that it will be useful,
|
yading@11
|
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
yading@11
|
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
yading@11
|
16 * Lesser General Public License for more details.
|
yading@11
|
17 *
|
yading@11
|
18 * You should have received a copy of the GNU Lesser General Public
|
yading@11
|
19 * License along with FFmpeg; if not, write to the Free Software
|
yading@11
|
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
yading@11
|
21 */
|
yading@11
|
22
|
yading@11
|
23 #include "avformat.h"
|
yading@11
|
24 #include "rawenc.h"
|
yading@11
|
25
|
yading@11
|
26 int ff_raw_write_packet(AVFormatContext *s, AVPacket *pkt)
|
yading@11
|
27 {
|
yading@11
|
28 avio_write(s->pb, pkt->data, pkt->size);
|
yading@11
|
29 return 0;
|
yading@11
|
30 }
|
yading@11
|
31
|
yading@11
|
32 /* Note: Do not forget to add new entries to the Makefile as well. */
|
yading@11
|
33
|
yading@11
|
34 #if CONFIG_AC3_MUXER
|
yading@11
|
35 AVOutputFormat ff_ac3_muxer = {
|
yading@11
|
36 .name = "ac3",
|
yading@11
|
37 .long_name = NULL_IF_CONFIG_SMALL("raw AC-3"),
|
yading@11
|
38 .mime_type = "audio/x-ac3",
|
yading@11
|
39 .extensions = "ac3",
|
yading@11
|
40 .audio_codec = AV_CODEC_ID_AC3,
|
yading@11
|
41 .video_codec = AV_CODEC_ID_NONE,
|
yading@11
|
42 .write_packet = ff_raw_write_packet,
|
yading@11
|
43 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
44 };
|
yading@11
|
45 #endif
|
yading@11
|
46
|
yading@11
|
47 #if CONFIG_ADX_MUXER
|
yading@11
|
48 AVOutputFormat ff_adx_muxer = {
|
yading@11
|
49 .name = "adx",
|
yading@11
|
50 .long_name = NULL_IF_CONFIG_SMALL("CRI ADX"),
|
yading@11
|
51 .extensions = "adx",
|
yading@11
|
52 .audio_codec = AV_CODEC_ID_ADPCM_ADX,
|
yading@11
|
53 .video_codec = AV_CODEC_ID_NONE,
|
yading@11
|
54 .write_packet = ff_raw_write_packet,
|
yading@11
|
55 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
56 };
|
yading@11
|
57 #endif
|
yading@11
|
58
|
yading@11
|
59 #if CONFIG_CAVSVIDEO_MUXER
|
yading@11
|
60 AVOutputFormat ff_cavsvideo_muxer = {
|
yading@11
|
61 .name = "cavsvideo",
|
yading@11
|
62 .long_name = NULL_IF_CONFIG_SMALL("raw Chinese AVS (Audio Video Standard) video"),
|
yading@11
|
63 .extensions = "cavs",
|
yading@11
|
64 .audio_codec = AV_CODEC_ID_NONE,
|
yading@11
|
65 .video_codec = AV_CODEC_ID_CAVS,
|
yading@11
|
66 .write_packet = ff_raw_write_packet,
|
yading@11
|
67 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
68 };
|
yading@11
|
69 #endif
|
yading@11
|
70
|
yading@11
|
71 #if CONFIG_DIRAC_MUXER
|
yading@11
|
72 AVOutputFormat ff_dirac_muxer = {
|
yading@11
|
73 .name = "dirac",
|
yading@11
|
74 .long_name = NULL_IF_CONFIG_SMALL("raw Dirac"),
|
yading@11
|
75 .extensions = "drc",
|
yading@11
|
76 .audio_codec = AV_CODEC_ID_NONE,
|
yading@11
|
77 .video_codec = AV_CODEC_ID_DIRAC,
|
yading@11
|
78 .write_packet = ff_raw_write_packet,
|
yading@11
|
79 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
80 };
|
yading@11
|
81 #endif
|
yading@11
|
82
|
yading@11
|
83 #if CONFIG_DNXHD_MUXER
|
yading@11
|
84 AVOutputFormat ff_dnxhd_muxer = {
|
yading@11
|
85 .name = "dnxhd",
|
yading@11
|
86 .long_name = NULL_IF_CONFIG_SMALL("raw DNxHD (SMPTE VC-3)"),
|
yading@11
|
87 .extensions = "dnxhd",
|
yading@11
|
88 .audio_codec = AV_CODEC_ID_NONE,
|
yading@11
|
89 .video_codec = AV_CODEC_ID_DNXHD,
|
yading@11
|
90 .write_packet = ff_raw_write_packet,
|
yading@11
|
91 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
92 };
|
yading@11
|
93 #endif
|
yading@11
|
94
|
yading@11
|
95 #if CONFIG_DTS_MUXER
|
yading@11
|
96 AVOutputFormat ff_dts_muxer = {
|
yading@11
|
97 .name = "dts",
|
yading@11
|
98 .long_name = NULL_IF_CONFIG_SMALL("raw DTS"),
|
yading@11
|
99 .mime_type = "audio/x-dca",
|
yading@11
|
100 .extensions = "dts",
|
yading@11
|
101 .audio_codec = AV_CODEC_ID_DTS,
|
yading@11
|
102 .video_codec = AV_CODEC_ID_NONE,
|
yading@11
|
103 .write_packet = ff_raw_write_packet,
|
yading@11
|
104 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
105 };
|
yading@11
|
106 #endif
|
yading@11
|
107
|
yading@11
|
108 #if CONFIG_EAC3_MUXER
|
yading@11
|
109 AVOutputFormat ff_eac3_muxer = {
|
yading@11
|
110 .name = "eac3",
|
yading@11
|
111 .long_name = NULL_IF_CONFIG_SMALL("raw E-AC-3"),
|
yading@11
|
112 .mime_type = "audio/x-eac3",
|
yading@11
|
113 .extensions = "eac3",
|
yading@11
|
114 .audio_codec = AV_CODEC_ID_EAC3,
|
yading@11
|
115 .video_codec = AV_CODEC_ID_NONE,
|
yading@11
|
116 .write_packet = ff_raw_write_packet,
|
yading@11
|
117 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
118 };
|
yading@11
|
119 #endif
|
yading@11
|
120
|
yading@11
|
121 #if CONFIG_G722_MUXER
|
yading@11
|
122 AVOutputFormat ff_g722_muxer = {
|
yading@11
|
123 .name = "g722",
|
yading@11
|
124 .long_name = NULL_IF_CONFIG_SMALL("raw G.722"),
|
yading@11
|
125 .mime_type = "audio/G722",
|
yading@11
|
126 .extensions = "g722",
|
yading@11
|
127 .audio_codec = AV_CODEC_ID_ADPCM_G722,
|
yading@11
|
128 .video_codec = AV_CODEC_ID_NONE,
|
yading@11
|
129 .write_packet = ff_raw_write_packet,
|
yading@11
|
130 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
131 };
|
yading@11
|
132 #endif
|
yading@11
|
133
|
yading@11
|
134 #if CONFIG_G723_1_MUXER
|
yading@11
|
135 AVOutputFormat ff_g723_1_muxer = {
|
yading@11
|
136 .name = "g723_1",
|
yading@11
|
137 .long_name = NULL_IF_CONFIG_SMALL("raw G.723.1"),
|
yading@11
|
138 .mime_type = "audio/g723",
|
yading@11
|
139 .extensions = "tco,rco",
|
yading@11
|
140 .audio_codec = AV_CODEC_ID_G723_1,
|
yading@11
|
141 .video_codec = AV_CODEC_ID_NONE,
|
yading@11
|
142 .write_packet = ff_raw_write_packet,
|
yading@11
|
143 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
144 };
|
yading@11
|
145 #endif
|
yading@11
|
146
|
yading@11
|
147 #if CONFIG_H261_MUXER
|
yading@11
|
148 AVOutputFormat ff_h261_muxer = {
|
yading@11
|
149 .name = "h261",
|
yading@11
|
150 .long_name = NULL_IF_CONFIG_SMALL("raw H.261"),
|
yading@11
|
151 .mime_type = "video/x-h261",
|
yading@11
|
152 .extensions = "h261",
|
yading@11
|
153 .audio_codec = AV_CODEC_ID_NONE,
|
yading@11
|
154 .video_codec = AV_CODEC_ID_H261,
|
yading@11
|
155 .write_packet = ff_raw_write_packet,
|
yading@11
|
156 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
157 };
|
yading@11
|
158 #endif
|
yading@11
|
159
|
yading@11
|
160 #if CONFIG_H263_MUXER
|
yading@11
|
161 AVOutputFormat ff_h263_muxer = {
|
yading@11
|
162 .name = "h263",
|
yading@11
|
163 .long_name = NULL_IF_CONFIG_SMALL("raw H.263"),
|
yading@11
|
164 .mime_type = "video/x-h263",
|
yading@11
|
165 .extensions = "h263",
|
yading@11
|
166 .audio_codec = AV_CODEC_ID_NONE,
|
yading@11
|
167 .video_codec = AV_CODEC_ID_H263,
|
yading@11
|
168 .write_packet = ff_raw_write_packet,
|
yading@11
|
169 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
170 };
|
yading@11
|
171 #endif
|
yading@11
|
172
|
yading@11
|
173 #if CONFIG_H264_MUXER
|
yading@11
|
174 AVOutputFormat ff_h264_muxer = {
|
yading@11
|
175 .name = "h264",
|
yading@11
|
176 .long_name = NULL_IF_CONFIG_SMALL("raw H.264 video"),
|
yading@11
|
177 .extensions = "h264",
|
yading@11
|
178 .audio_codec = AV_CODEC_ID_NONE,
|
yading@11
|
179 .video_codec = AV_CODEC_ID_H264,
|
yading@11
|
180 .write_packet = ff_raw_write_packet,
|
yading@11
|
181 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
182 };
|
yading@11
|
183 #endif
|
yading@11
|
184
|
yading@11
|
185 #if CONFIG_M4V_MUXER
|
yading@11
|
186 AVOutputFormat ff_m4v_muxer = {
|
yading@11
|
187 .name = "m4v",
|
yading@11
|
188 .long_name = NULL_IF_CONFIG_SMALL("raw MPEG-4 video"),
|
yading@11
|
189 .extensions = "m4v",
|
yading@11
|
190 .audio_codec = AV_CODEC_ID_NONE,
|
yading@11
|
191 .video_codec = AV_CODEC_ID_MPEG4,
|
yading@11
|
192 .write_packet = ff_raw_write_packet,
|
yading@11
|
193 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
194 };
|
yading@11
|
195 #endif
|
yading@11
|
196
|
yading@11
|
197 #if CONFIG_MJPEG_MUXER
|
yading@11
|
198 AVOutputFormat ff_mjpeg_muxer = {
|
yading@11
|
199 .name = "mjpeg",
|
yading@11
|
200 .long_name = NULL_IF_CONFIG_SMALL("raw MJPEG video"),
|
yading@11
|
201 .mime_type = "video/x-mjpeg",
|
yading@11
|
202 .extensions = "mjpg,mjpeg",
|
yading@11
|
203 .audio_codec = AV_CODEC_ID_NONE,
|
yading@11
|
204 .video_codec = AV_CODEC_ID_MJPEG,
|
yading@11
|
205 .write_packet = ff_raw_write_packet,
|
yading@11
|
206 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
207 };
|
yading@11
|
208 #endif
|
yading@11
|
209
|
yading@11
|
210 #if CONFIG_MLP_MUXER
|
yading@11
|
211 AVOutputFormat ff_mlp_muxer = {
|
yading@11
|
212 .name = "mlp",
|
yading@11
|
213 .long_name = NULL_IF_CONFIG_SMALL("raw MLP"),
|
yading@11
|
214 .extensions = "mlp",
|
yading@11
|
215 .audio_codec = AV_CODEC_ID_MLP,
|
yading@11
|
216 .video_codec = AV_CODEC_ID_NONE,
|
yading@11
|
217 .write_packet = ff_raw_write_packet,
|
yading@11
|
218 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
219 };
|
yading@11
|
220 #endif
|
yading@11
|
221
|
yading@11
|
222 #if CONFIG_MPEG1VIDEO_MUXER
|
yading@11
|
223 AVOutputFormat ff_mpeg1video_muxer = {
|
yading@11
|
224 .name = "mpeg1video",
|
yading@11
|
225 .long_name = NULL_IF_CONFIG_SMALL("raw MPEG-1 video"),
|
yading@11
|
226 .mime_type = "video/x-mpeg",
|
yading@11
|
227 .extensions = "mpg,mpeg,m1v",
|
yading@11
|
228 .audio_codec = AV_CODEC_ID_NONE,
|
yading@11
|
229 .video_codec = AV_CODEC_ID_MPEG1VIDEO,
|
yading@11
|
230 .write_packet = ff_raw_write_packet,
|
yading@11
|
231 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
232 };
|
yading@11
|
233 #endif
|
yading@11
|
234
|
yading@11
|
235 #if CONFIG_MPEG2VIDEO_MUXER
|
yading@11
|
236 AVOutputFormat ff_mpeg2video_muxer = {
|
yading@11
|
237 .name = "mpeg2video",
|
yading@11
|
238 .long_name = NULL_IF_CONFIG_SMALL("raw MPEG-2 video"),
|
yading@11
|
239 .extensions = "m2v",
|
yading@11
|
240 .audio_codec = AV_CODEC_ID_NONE,
|
yading@11
|
241 .video_codec = AV_CODEC_ID_MPEG2VIDEO,
|
yading@11
|
242 .write_packet = ff_raw_write_packet,
|
yading@11
|
243 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
244 };
|
yading@11
|
245 #endif
|
yading@11
|
246
|
yading@11
|
247 #if CONFIG_RAWVIDEO_MUXER
|
yading@11
|
248 AVOutputFormat ff_rawvideo_muxer = {
|
yading@11
|
249 .name = "rawvideo",
|
yading@11
|
250 .long_name = NULL_IF_CONFIG_SMALL("raw video"),
|
yading@11
|
251 .extensions = "yuv,rgb",
|
yading@11
|
252 .audio_codec = AV_CODEC_ID_NONE,
|
yading@11
|
253 .video_codec = AV_CODEC_ID_RAWVIDEO,
|
yading@11
|
254 .write_packet = ff_raw_write_packet,
|
yading@11
|
255 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
256 };
|
yading@11
|
257 #endif
|
yading@11
|
258
|
yading@11
|
259 #if CONFIG_TRUEHD_MUXER
|
yading@11
|
260 AVOutputFormat ff_truehd_muxer = {
|
yading@11
|
261 .name = "truehd",
|
yading@11
|
262 .long_name = NULL_IF_CONFIG_SMALL("raw TrueHD"),
|
yading@11
|
263 .extensions = "thd",
|
yading@11
|
264 .audio_codec = AV_CODEC_ID_TRUEHD,
|
yading@11
|
265 .video_codec = AV_CODEC_ID_NONE,
|
yading@11
|
266 .write_packet = ff_raw_write_packet,
|
yading@11
|
267 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
268 };
|
yading@11
|
269 #endif
|
yading@11
|
270
|
yading@11
|
271 #if CONFIG_VC1_MUXER
|
yading@11
|
272 AVOutputFormat ff_vc1_muxer = {
|
yading@11
|
273 .name = "vc1",
|
yading@11
|
274 .long_name = NULL_IF_CONFIG_SMALL("raw VC-1 video"),
|
yading@11
|
275 .extensions = "vc1",
|
yading@11
|
276 .audio_codec = AV_CODEC_ID_NONE,
|
yading@11
|
277 .video_codec = AV_CODEC_ID_VC1,
|
yading@11
|
278 .write_packet = ff_raw_write_packet,
|
yading@11
|
279 .flags = AVFMT_NOTIMESTAMPS,
|
yading@11
|
280 };
|
yading@11
|
281 #endif
|