1 /*
2 * RAW muxers
3 * Copyright (c) 2001 Fabrice Bellard
4 * Copyright (c) 2005 Alex Beregszaszi
5 *
6 * This file is part of FFmpeg.
7 *
8 * FFmpeg is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * FFmpeg is distributed in the hope that it will be useful,
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
19 * License along with FFmpeg; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 */
22
24
28
30 {
32 return 0;
33 }
34
36 {
37 if (
s->nb_streams != 1) {
41 }
47 }
53 }
54 return 0;
55 }
56
57 /* Note: Do not forget to add new entries to the Makefile as well. */
58
59 #if CONFIG_AC3_MUXER
63 .mime_type = "audio/x-ac3",
64 .extensions = "ac3",
70 };
71 #endif
72
73 #if CONFIG_ADX_MUXER
74
76 {
79
82 uint64_t sample_count = (file_size - 36) / par->
channels / 18 * 32;
83 if (sample_count <= UINT32_MAX) {
87 }
88 }
89
90 return 0;
91 }
92
96 .extensions = "adx",
101 .write_trailer = adx_write_trailer,
103 };
104 #endif
105
106 #if CONFIG_APTX_MUXER
110 .extensions = "aptx",
116 };
117 #endif
118
119 #if CONFIG_APTX_HD_MUXER
123 .extensions = "aptxhd",
129 };
130 #endif
131
132 #if CONFIG_AVS2_MUXER
136 .extensions = "avs,avs2",
142 };
143 #endif
144
145 #if CONFIG_AVS3_MUXER
149 .extensions = "avs3",
155 };
156 #endif
157
158
159 #if CONFIG_CAVSVIDEO_MUXER
163 .extensions = "cavs",
169 };
170 #endif
171
172 #if CONFIG_CODEC2RAW_MUXER
181 };
182 #endif
183
184
185 #if CONFIG_DATA_MUXER
192 };
193 #endif
194
195 #if CONFIG_DIRAC_MUXER
199 .extensions = "drc,vc2",
205 };
206 #endif
207
208 #if CONFIG_DNXHD_MUXER
212 .extensions = "dnxhd,dnxhr",
218 };
219 #endif
220
221 #if CONFIG_DTS_MUXER
225 .mime_type = "audio/x-dca",
226 .extensions = "dts",
232 };
233 #endif
234
235 #if CONFIG_EAC3_MUXER
239 .mime_type = "audio/x-eac3",
240 .extensions = "eac3",
246 };
247 #endif
248
249 #if CONFIG_G722_MUXER
253 .mime_type = "audio/G722",
254 .extensions = "g722",
260 };
261 #endif
262
263 #if CONFIG_G723_1_MUXER
267 .mime_type = "audio/g723",
268 .extensions = "tco,rco",
274 };
275 #endif
276
277 #if CONFIG_G726_MUXER
286 };
287 #endif
288
289 #if CONFIG_G726LE_MUXER
298 };
299 #endif
300
301 #if CONFIG_GSM_MUXER
305 .mime_type = "audio/x-gsm",
306 .extensions = "gsm",
312 };
313 #endif
314
315 #if CONFIG_H261_MUXER
319 .mime_type = "video/x-h261",
320 .extensions = "h261",
326 };
327 #endif
328
329 #if CONFIG_H263_MUXER
333 .mime_type = "video/x-h263",
334 .extensions = "h263",
340 };
341 #endif
342
343 #if CONFIG_H264_MUXER
346 {
350 return 1;
351 }
352
356 .extensions = "h264,264",
361 .check_bitstream = h264_check_bitstream,
363 };
364 #endif
365
366 #if CONFIG_HEVC_MUXER
369 {
373 return 1;
374 }
375
379 .extensions = "hevc,h265,265",
384 .check_bitstream = hevc_check_bitstream,
386 };
387 #endif
388
389 #if CONFIG_M4V_MUXER
393 .extensions = "m4v",
399 };
400 #endif
401
402 #if CONFIG_MJPEG_MUXER
406 .mime_type = "video/x-mjpeg",
407 .extensions = "mjpg,mjpeg",
413 };
414 #endif
415
416 #if CONFIG_MLP_MUXER
420 .extensions = "mlp",
426 };
427 #endif
428
429 #if CONFIG_MP2_MUXER
433 .mime_type = "audio/mpeg",
434 .extensions = "mp2,m2a,mpa",
440 };
441 #endif
442
443 #if CONFIG_MPEG1VIDEO_MUXER
445 .
name =
"mpeg1video",
447 .mime_type = "video/mpeg",
448 .extensions = "mpg,mpeg,m1v",
454 };
455 #endif
456
457 #if CONFIG_MPEG2VIDEO_MUXER
459 .
name =
"mpeg2video",
461 .extensions = "m2v",
467 };
468 #endif
469
470 #if CONFIG_OBU_MUXER
473 {
475 }
476
480 .extensions = "obu",
485 .check_bitstream = obu_check_bitstream,
487 };
488 #endif
489
490 #if CONFIG_RAWVIDEO_MUXER
494 .extensions = "yuv,rgb",
499 };
500 #endif
501
502 #if CONFIG_SBC_MUXER
506 .mime_type = "audio/x-sbc",
507 .extensions = "sbc,msbc",
512 };
513 #endif
514
515 #if CONFIG_TRUEHD_MUXER
519 .extensions = "thd",
525 };
526 #endif
527
528 #if CONFIG_VC1_MUXER
532 .extensions = "vc1",
538 };
539 #endif