#include "avformat.h"
#include "raw.h"
-#ifdef CONFIG_MUXERS
/* simple formats */
+#ifdef CONFIG_FLAC_MUXER
static int flac_write_header(struct AVFormatContext *s)
{
static const uint8_t header[8] = {
}
return 0;
}
+#endif
-
+#ifdef CONFIG_ROQ_MUXER
static int roq_write_header(struct AVFormatContext *s)
{
static const uint8_t header[] = {
return 0;
}
+#endif
+#ifdef CONFIG_NULL_MUXER
static int null_write_packet(struct AVFormatContext *s, AVPacket *pkt)
{
return 0;
}
+#endif
+#ifdef CONFIG_MUXERS
static int raw_write_packet(struct AVFormatContext *s, AVPacket *pkt)
{
put_buffer(s->pb, pkt->data, pkt->size);
}
#endif
+#ifdef CONFIG_DEMUXERS
/* raw input */
static int raw_read_header(AVFormatContext *s, AVFormatParameters *ap)
{
pkt->size = ret;
return ret;
}
+#endif
+#ifdef CONFIG_RAWVIDEO_DEMUXER
static int rawvideo_read_packet(AVFormatContext *s, AVPacket *pkt)
{
int packet_size, ret, width, height;
return 0;
}
}
+#endif
+#ifdef CONFIG_INGENIENT_DEMUXER
// http://www.artificis.hu/files/texts/ingenient.txt
static int ingenient_read_packet(AVFormatContext *s, AVPacket *pkt)
{
pkt->size = ret;
return ret;
}
+#endif
+#ifdef CONFIG_DEMUXERS
int pcm_read_seek(AVFormatContext *s,
int stream_index, int64_t timestamp, int flags)
{
return 0;
}
+#endif
+#ifdef CONFIG_MPEGVIDEO_DEMUXER
#define SEQ_START_CODE 0x000001b3
#define GOP_START_CODE 0x000001b8
#define PICTURE_START_CODE 0x00000100
return AVPROBE_SCORE_MAX/2+1; // +1 for .mpg
return 0;
}
+#endif
+#ifdef CONFIG_M4V_DEMUXER
#define VISUAL_OBJECT_START_CODE 0x000001b5
#define VOP_START_CODE 0x000001b6
return AVPROBE_SCORE_MAX/2;
return 0;
}
+#endif
+#ifdef CONFIG_H264_DEMUXER
static int h264_probe(AVProbeData *p)
{
uint32_t code= -1;
return AVPROBE_SCORE_MAX/2+1; // +1 for .mpg
return 0;
}
+#endif
+#ifdef CONFIG_H263_DEMUXER
static int h263_probe(AVProbeData *p)
{
int code;
}
return 0;
}
+#endif
+#ifdef CONFIG_H261_DEMUXER
static int h261_probe(AVProbeData *p)
{
int code;
}
return 0;
}
+#endif
+#ifdef CONFIG_DTS_DEMUXER
#define DCA_MARKER_14B_BE 0x1FFFE800
#define DCA_MARKER_14B_LE 0xFF1F00E8
#define DCA_MARKER_RAW_BE 0x7FFE8001
return 0;
}
+#endif
+#ifdef CONFIG_DIRAC_DEMUXER
static int dirac_probe(AVProbeData *p)
{
if (AV_RL32(p->buf) == MKTAG('B', 'B', 'C', 'D'))
else
return 0;
}
+#endif
+#ifdef CONFIG_AC3_DEMUXER
static int ac3_probe(AVProbeData *p)
{
int max_frames, first_frames = 0, frames;
else if(max_frames>=1) return 1;
else return 0;
}
+#endif
+#ifdef CONFIG_FLAC_DEMUXER
static int flac_probe(AVProbeData *p)
{
if(memcmp(p->buf, "fLaC", 4)) return 0;
else return AVPROBE_SCORE_MAX / 2;
}
+#endif
/* Note: Do not forget to add new entries to the Makefile as well. */
+#ifdef CONFIG_AAC_DEMUXER
AVInputFormat aac_demuxer = {
"aac",
NULL_IF_CONFIG_SMALL("ADTS AAC"),
.extensions = "aac",
.value = CODEC_ID_AAC,
};
+#endif
#ifdef CONFIG_AC3_DEMUXER
AVInputFormat ac3_demuxer = {
};
#endif
+#ifdef CONFIG_DIRAC_DEMUXER
AVInputFormat dirac_demuxer = {
"dirac",
NULL_IF_CONFIG_SMALL("raw Dirac"),
.flags= AVFMT_GENERIC_INDEX,
.value = CODEC_ID_DIRAC,
};
+#endif
#ifdef CONFIG_DIRAC_MUXER
AVOutputFormat dirac_muxer = {
};
#endif
+#ifdef CONFIG_DTS_DEMUXER
AVInputFormat dts_demuxer = {
"dts",
NULL_IF_CONFIG_SMALL("raw DTS"),
.extensions = "dts",
.value = CODEC_ID_DTS,
};
+#endif
#ifdef CONFIG_DTS_MUXER
AVOutputFormat dts_muxer = {
};
#endif
+#ifdef CONFIG_FLAC_DEMUXER
AVInputFormat flac_demuxer = {
"flac",
NULL_IF_CONFIG_SMALL("raw FLAC"),
.extensions = "flac",
.value = CODEC_ID_FLAC,
};
+#endif
#ifdef CONFIG_FLAC_MUXER
AVOutputFormat flac_muxer = {
};
#endif
+#ifdef CONFIG_GSM_DEMUXER
AVInputFormat gsm_demuxer = {
"gsm",
NULL_IF_CONFIG_SMALL("GSM"),
.extensions = "gsm",
.value = CODEC_ID_GSM,
};
+#endif
+#ifdef CONFIG_H261_DEMUXER
AVInputFormat h261_demuxer = {
"h261",
NULL_IF_CONFIG_SMALL("raw H.261"),
.extensions = "h261",
.value = CODEC_ID_H261,
};
+#endif
#ifdef CONFIG_H261_MUXER
AVOutputFormat h261_muxer = {
};
#endif
+#ifdef CONFIG_H263_DEMUXER
AVInputFormat h263_demuxer = {
"h263",
NULL_IF_CONFIG_SMALL("raw H.263"),
// .extensions = "h263", //FIXME remove after writing mpeg4_probe
.value = CODEC_ID_H263,
};
+#endif
#ifdef CONFIG_H263_MUXER
AVOutputFormat h263_muxer = {
};
#endif
+#ifdef CONFIG_H264_DEMUXER
AVInputFormat h264_demuxer = {
"h264",
NULL_IF_CONFIG_SMALL("raw H.264 video format"),
.extensions = "h26l,h264,264", //FIXME remove after writing mpeg4_probe
.value = CODEC_ID_H264,
};
+#endif
#ifdef CONFIG_H264_MUXER
AVOutputFormat h264_muxer = {
};
#endif
+#ifdef CONFIG_INGENIENT_DEMUXER
AVInputFormat ingenient_demuxer = {
"ingenient",
NULL_IF_CONFIG_SMALL("Ingenient MJPEG"),
.extensions = "cgi", // FIXME
.value = CODEC_ID_MJPEG,
};
+#endif
+#ifdef CONFIG_M4V_DEMUXER
AVInputFormat m4v_demuxer = {
"m4v",
NULL_IF_CONFIG_SMALL("raw MPEG-4 video format"),
.extensions = "m4v", //FIXME remove after writing mpeg4_probe
.value = CODEC_ID_MPEG4,
};
+#endif
#ifdef CONFIG_M4V_MUXER
AVOutputFormat m4v_muxer = {
};
#endif
+#ifdef CONFIG_MJPEG_DEMUXER
AVInputFormat mjpeg_demuxer = {
"mjpeg",
NULL_IF_CONFIG_SMALL("MJPEG video"),
.extensions = "mjpg,mjpeg",
.value = CODEC_ID_MJPEG,
};
+#endif
#ifdef CONFIG_MJPEG_MUXER
AVOutputFormat mjpeg_muxer = {
};
#endif
+#ifdef CONFIG_MLP_DEMUXER
AVInputFormat mlp_demuxer = {
"mlp",
NULL_IF_CONFIG_SMALL("raw MLP"),
.extensions = "mlp",
.value = CODEC_ID_MLP,
};
+#endif
#ifdef CONFIG_MPEG1VIDEO_MUXER
AVOutputFormat mpeg1video_muxer = {
};
#endif
+#ifdef CONFIG_MPEGVIDEO_DEMUXER
AVInputFormat mpegvideo_demuxer = {
"mpegvideo",
NULL_IF_CONFIG_SMALL("MPEG video"),
.flags= AVFMT_GENERIC_INDEX,
.value = CODEC_ID_MPEG1VIDEO,
};
+#endif
#ifdef CONFIG_NULL_MUXER
AVOutputFormat null_muxer = {
};
#endif
+#ifdef CONFIG_RAWVIDEO_DEMUXER
AVInputFormat rawvideo_demuxer = {
"rawvideo",
NULL_IF_CONFIG_SMALL("raw video format"),
.extensions = "yuv,cif,qcif,rgb",
.value = CODEC_ID_RAWVIDEO,
};
+#endif
#ifdef CONFIG_RAWVIDEO_MUXER
AVOutputFormat rawvideo_muxer = {
};
#endif
+#ifdef CONFIG_SHORTEN_DEMUXER
AVInputFormat shorten_demuxer = {
"shn",
NULL_IF_CONFIG_SMALL("raw Shorten"),
.extensions = "shn",
.value = CODEC_ID_SHORTEN,
};
+#endif
+#ifdef CONFIG_VC1_DEMUXER
AVInputFormat vc1_demuxer = {
"vc1",
NULL_IF_CONFIG_SMALL("raw VC-1"),
.extensions = "vc1",
.value = CODEC_ID_VC1,
};
+#endif
/* PCM formats */
#define LE_DEF(s) s
#endif
+PCMDEF(f64be, "PCM 64 bit floating-point big-endian format",
+ NULL, CODEC_ID_PCM_F64BE)
+
+PCMDEF(f64le, "PCM 64 bit floating-point little-endian format",
+ NULL, CODEC_ID_PCM_F64LE)
+
+PCMDEF(f32be, "PCM 32 bit floating-point big-endian format",
+ NULL, CODEC_ID_PCM_F32BE)
+
+PCMDEF(f32le, "PCM 32 bit floating-point little-endian format",
+ NULL, CODEC_ID_PCM_F32LE)
+
+PCMDEF(s32be, "PCM signed 32 bit big-endian format",
+ NULL, CODEC_ID_PCM_S32BE)
+
+PCMDEF(s32le, "PCM signed 32 bit little-endian format",
+ NULL, CODEC_ID_PCM_S32LE)
+
+PCMDEF(s24be, "PCM signed 24 bit big-endian format",
+ NULL, CODEC_ID_PCM_S24BE)
+
+PCMDEF(s24le, "PCM signed 24 bit little-endian format",
+ NULL, CODEC_ID_PCM_S24LE)
PCMDEF(s16be, "PCM signed 16 bit big-endian format",
BE_DEF("sw"), CODEC_ID_PCM_S16BE)
PCMDEF(s8, "PCM signed 8 bit format",
"sb", CODEC_ID_PCM_S8)
+PCMDEF(u32be, "PCM unsigned 32 bit big-endian format",
+ NULL, CODEC_ID_PCM_U32BE)
+
+PCMDEF(u32le, "PCM unsigned 32 bit little-endian format",
+ NULL, CODEC_ID_PCM_U32LE)
+
+PCMDEF(u24be, "PCM unsigned 24 bit big-endian format",
+ NULL, CODEC_ID_PCM_U24BE)
+
+PCMDEF(u24le, "PCM unsigned 24 bit little-endian format",
+ NULL, CODEC_ID_PCM_U24LE)
+
PCMDEF(u16be, "PCM unsigned 16 bit big-endian format",
BE_DEF("uw"), CODEC_ID_PCM_U16BE)