Libav 0.7.1
|
00001 /* 00002 * RAW muxers 00003 * Copyright (c) 2001 Fabrice Bellard 00004 * Copyright (c) 2005 Alex Beregszaszi 00005 * 00006 * This file is part of Libav. 00007 * 00008 * Libav is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Lesser General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2.1 of the License, or (at your option) any later version. 00012 * 00013 * Libav is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with Libav; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00021 */ 00022 00023 #include "avformat.h" 00024 #include "rawenc.h" 00025 00026 int ff_raw_write_packet(AVFormatContext *s, AVPacket *pkt) 00027 { 00028 avio_write(s->pb, pkt->data, pkt->size); 00029 avio_flush(s->pb); 00030 return 0; 00031 } 00032 00033 /* Note: Do not forget to add new entries to the Makefile as well. */ 00034 00035 #if CONFIG_AC3_MUXER 00036 AVOutputFormat ff_ac3_muxer = { 00037 "ac3", 00038 NULL_IF_CONFIG_SMALL("raw AC-3"), 00039 "audio/x-ac3", 00040 "ac3", 00041 0, 00042 CODEC_ID_AC3, 00043 CODEC_ID_NONE, 00044 NULL, 00045 ff_raw_write_packet, 00046 .flags= AVFMT_NOTIMESTAMPS, 00047 }; 00048 #endif 00049 00050 #if CONFIG_DIRAC_MUXER 00051 AVOutputFormat ff_dirac_muxer = { 00052 "dirac", 00053 NULL_IF_CONFIG_SMALL("raw Dirac"), 00054 NULL, 00055 "drc", 00056 0, 00057 CODEC_ID_NONE, 00058 CODEC_ID_DIRAC, 00059 NULL, 00060 ff_raw_write_packet, 00061 .flags= AVFMT_NOTIMESTAMPS, 00062 }; 00063 #endif 00064 00065 #if CONFIG_DNXHD_MUXER 00066 AVOutputFormat ff_dnxhd_muxer = { 00067 "dnxhd", 00068 NULL_IF_CONFIG_SMALL("raw DNxHD (SMPTE VC-3)"), 00069 NULL, 00070 "dnxhd", 00071 0, 00072 CODEC_ID_NONE, 00073 CODEC_ID_DNXHD, 00074 NULL, 00075 ff_raw_write_packet, 00076 .flags= AVFMT_NOTIMESTAMPS, 00077 }; 00078 #endif 00079 00080 #if CONFIG_DTS_MUXER 00081 AVOutputFormat ff_dts_muxer = { 00082 "dts", 00083 NULL_IF_CONFIG_SMALL("raw DTS"), 00084 "audio/x-dca", 00085 "dts", 00086 0, 00087 CODEC_ID_DTS, 00088 CODEC_ID_NONE, 00089 NULL, 00090 ff_raw_write_packet, 00091 .flags= AVFMT_NOTIMESTAMPS, 00092 }; 00093 #endif 00094 00095 #if CONFIG_EAC3_MUXER 00096 AVOutputFormat ff_eac3_muxer = { 00097 "eac3", 00098 NULL_IF_CONFIG_SMALL("raw E-AC-3"), 00099 "audio/x-eac3", 00100 "eac3", 00101 0, 00102 CODEC_ID_EAC3, 00103 CODEC_ID_NONE, 00104 NULL, 00105 ff_raw_write_packet, 00106 .flags= AVFMT_NOTIMESTAMPS, 00107 }; 00108 #endif 00109 00110 #if CONFIG_G722_MUXER 00111 AVOutputFormat ff_g722_muxer = { 00112 "g722", 00113 NULL_IF_CONFIG_SMALL("raw G.722"), 00114 "audio/G722", 00115 "g722", 00116 0, 00117 CODEC_ID_ADPCM_G722, 00118 CODEC_ID_NONE, 00119 NULL, 00120 ff_raw_write_packet, 00121 .flags= AVFMT_NOTIMESTAMPS, 00122 }; 00123 #endif 00124 00125 #if CONFIG_H261_MUXER 00126 AVOutputFormat ff_h261_muxer = { 00127 "h261", 00128 NULL_IF_CONFIG_SMALL("raw H.261"), 00129 "video/x-h261", 00130 "h261", 00131 0, 00132 CODEC_ID_NONE, 00133 CODEC_ID_H261, 00134 NULL, 00135 ff_raw_write_packet, 00136 .flags= AVFMT_NOTIMESTAMPS, 00137 }; 00138 #endif 00139 00140 #if CONFIG_H263_MUXER 00141 AVOutputFormat ff_h263_muxer = { 00142 "h263", 00143 NULL_IF_CONFIG_SMALL("raw H.263"), 00144 "video/x-h263", 00145 "h263", 00146 0, 00147 CODEC_ID_NONE, 00148 CODEC_ID_H263, 00149 NULL, 00150 ff_raw_write_packet, 00151 .flags= AVFMT_NOTIMESTAMPS, 00152 }; 00153 #endif 00154 00155 #if CONFIG_H264_MUXER 00156 AVOutputFormat ff_h264_muxer = { 00157 "h264", 00158 NULL_IF_CONFIG_SMALL("raw H.264 video format"), 00159 NULL, 00160 "h264", 00161 0, 00162 CODEC_ID_NONE, 00163 CODEC_ID_H264, 00164 NULL, 00165 ff_raw_write_packet, 00166 .flags= AVFMT_NOTIMESTAMPS, 00167 }; 00168 #endif 00169 00170 #if CONFIG_CAVSVIDEO_MUXER 00171 AVOutputFormat ff_cavsvideo_muxer = { 00172 "cavsvideo", 00173 NULL_IF_CONFIG_SMALL("raw Chinese AVS video"), 00174 NULL, 00175 "cavs", 00176 0, 00177 CODEC_ID_NONE, 00178 CODEC_ID_CAVS, 00179 NULL, 00180 ff_raw_write_packet, 00181 .flags= AVFMT_NOTIMESTAMPS, 00182 }; 00183 #endif 00184 00185 #if CONFIG_M4V_MUXER 00186 AVOutputFormat ff_m4v_muxer = { 00187 "m4v", 00188 NULL_IF_CONFIG_SMALL("raw MPEG-4 video format"), 00189 NULL, 00190 "m4v", 00191 0, 00192 CODEC_ID_NONE, 00193 CODEC_ID_MPEG4, 00194 NULL, 00195 ff_raw_write_packet, 00196 .flags= AVFMT_NOTIMESTAMPS, 00197 }; 00198 #endif 00199 00200 #if CONFIG_MJPEG_MUXER 00201 AVOutputFormat ff_mjpeg_muxer = { 00202 "mjpeg", 00203 NULL_IF_CONFIG_SMALL("raw MJPEG video"), 00204 "video/x-mjpeg", 00205 "mjpg,mjpeg", 00206 0, 00207 CODEC_ID_NONE, 00208 CODEC_ID_MJPEG, 00209 NULL, 00210 ff_raw_write_packet, 00211 .flags= AVFMT_NOTIMESTAMPS, 00212 }; 00213 #endif 00214 00215 #if CONFIG_MLP_MUXER 00216 AVOutputFormat ff_mlp_muxer = { 00217 "mlp", 00218 NULL_IF_CONFIG_SMALL("raw MLP"), 00219 NULL, 00220 "mlp", 00221 0, 00222 CODEC_ID_MLP, 00223 CODEC_ID_NONE, 00224 NULL, 00225 ff_raw_write_packet, 00226 .flags= AVFMT_NOTIMESTAMPS, 00227 }; 00228 #endif 00229 00230 #if CONFIG_SRT_MUXER 00231 AVOutputFormat ff_srt_muxer = { 00232 .name = "srt", 00233 .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle format"), 00234 .mime_type = "application/x-subrip", 00235 .extensions = "srt", 00236 .write_packet = ff_raw_write_packet, 00237 .flags = AVFMT_NOTIMESTAMPS, 00238 .subtitle_codec = CODEC_ID_SRT, 00239 }; 00240 #endif 00241 00242 #if CONFIG_TRUEHD_MUXER 00243 AVOutputFormat ff_truehd_muxer = { 00244 "truehd", 00245 NULL_IF_CONFIG_SMALL("raw TrueHD"), 00246 NULL, 00247 "thd", 00248 0, 00249 CODEC_ID_TRUEHD, 00250 CODEC_ID_NONE, 00251 NULL, 00252 ff_raw_write_packet, 00253 .flags= AVFMT_NOTIMESTAMPS, 00254 }; 00255 #endif 00256 00257 #if CONFIG_MPEG1VIDEO_MUXER 00258 AVOutputFormat ff_mpeg1video_muxer = { 00259 "mpeg1video", 00260 NULL_IF_CONFIG_SMALL("raw MPEG-1 video"), 00261 "video/x-mpeg", 00262 "mpg,mpeg,m1v", 00263 0, 00264 CODEC_ID_NONE, 00265 CODEC_ID_MPEG1VIDEO, 00266 NULL, 00267 ff_raw_write_packet, 00268 .flags= AVFMT_NOTIMESTAMPS, 00269 }; 00270 #endif 00271 00272 #if CONFIG_MPEG2VIDEO_MUXER 00273 AVOutputFormat ff_mpeg2video_muxer = { 00274 "mpeg2video", 00275 NULL_IF_CONFIG_SMALL("raw MPEG-2 video"), 00276 NULL, 00277 "m2v", 00278 0, 00279 CODEC_ID_NONE, 00280 CODEC_ID_MPEG2VIDEO, 00281 NULL, 00282 ff_raw_write_packet, 00283 .flags= AVFMT_NOTIMESTAMPS, 00284 }; 00285 #endif 00286 00287 #if CONFIG_RAWVIDEO_MUXER 00288 AVOutputFormat ff_rawvideo_muxer = { 00289 "rawvideo", 00290 NULL_IF_CONFIG_SMALL("raw video format"), 00291 NULL, 00292 "yuv,rgb", 00293 0, 00294 CODEC_ID_NONE, 00295 CODEC_ID_RAWVIDEO, 00296 NULL, 00297 ff_raw_write_packet, 00298 .flags= AVFMT_NOTIMESTAMPS, 00299 }; 00300 #endif