📄 raw.c.svn-base
字号:
};AVInputFormat flac_demuxer = { "flac", "raw flac", 0, flac_probe, flac_read_header, raw_read_partial_packet, raw_read_close, .flags= AVFMT_GENERIC_INDEX, .extensions = "flac",};#ifdef CONFIG_MUXERSAVOutputFormat flac_muxer = { "flac", "raw flac", "audio/x-flac", "flac", 0, CODEC_ID_FLAC, 0, flac_write_header, raw_write_packet, .flags= AVFMT_NOTIMESTAMPS,};#endif //CONFIG_MUXERS#ifdef CONFIG_AC3_DEMUXERAVInputFormat ac3_demuxer = { "ac3", "raw ac3", 0, ac3_probe, ac3_read_header, raw_read_partial_packet, raw_read_close, .flags= AVFMT_GENERIC_INDEX, .extensions = "ac3",};#endif#ifdef CONFIG_MUXERSAVOutputFormat ac3_muxer = { "ac3", "raw ac3", "audio/x-ac3", "ac3", 0, CODEC_ID_AC3, 0, NULL, raw_write_packet, .flags= AVFMT_NOTIMESTAMPS,};#endif //CONFIG_MUXERSAVInputFormat dts_demuxer = { "dts", "raw dts", 0, NULL, dts_read_header, raw_read_partial_packet, raw_read_close, .flags= AVFMT_GENERIC_INDEX, .extensions = "dts",};AVInputFormat aac_demuxer = { "aac", "ADTS AAC", 0, NULL, aac_read_header, raw_read_partial_packet, raw_read_close, .flags= AVFMT_GENERIC_INDEX, .extensions = "aac",};#ifdef CONFIG_ROQ_MUXERAVOutputFormat roq_muxer ={ "RoQ", "Id RoQ format", NULL, "roq", 0, CODEC_ID_ROQ_DPCM, CODEC_ID_ROQ, roq_write_header, raw_write_packet,};#endif //CONFIG_ROQ_MUXERAVInputFormat h261_demuxer = { "h261", "raw h261", 0, h261_probe, video_read_header, raw_read_partial_packet, raw_read_close, .flags= AVFMT_GENERIC_INDEX, .extensions = "h261", .value = CODEC_ID_H261,};#ifdef CONFIG_MUXERSAVOutputFormat h261_muxer = { "h261", "raw h261", "video/x-h261", "h261", 0, 0, CODEC_ID_H261, NULL, raw_write_packet, .flags= AVFMT_NOTIMESTAMPS,};#endif //CONFIG_MUXERSAVInputFormat h263_demuxer = { "h263", "raw h263", 0, h263_probe, video_read_header, raw_read_partial_packet, raw_read_close, .flags= AVFMT_GENERIC_INDEX,// .extensions = "h263", //FIXME remove after writing mpeg4_probe .value = CODEC_ID_H263,};#ifdef CONFIG_MUXERSAVOutputFormat h263_muxer = { "h263", "raw h263", "video/x-h263", "h263", 0, 0, CODEC_ID_H263, NULL, raw_write_packet, .flags= AVFMT_NOTIMESTAMPS,};#endif //CONFIG_MUXERSAVInputFormat m4v_demuxer = { "m4v", "raw MPEG4 video format", 0, mpeg4video_probe, /** probing for mpeg4 data */ video_read_header, raw_read_partial_packet, raw_read_close, .flags= AVFMT_GENERIC_INDEX, .extensions = "m4v", //FIXME remove after writing mpeg4_probe .value = CODEC_ID_MPEG4,};#ifdef CONFIG_MUXERSAVOutputFormat m4v_muxer = { "m4v", "raw MPEG4 video format", NULL, "m4v", 0, CODEC_ID_NONE, CODEC_ID_MPEG4, NULL, raw_write_packet, .flags= AVFMT_NOTIMESTAMPS,};#endif //CONFIG_MUXERSAVInputFormat h264_demuxer = { "h264", "raw H264 video format", 0, NULL /*mpegvideo_probe*/, video_read_header, raw_read_partial_packet, raw_read_close, .flags= AVFMT_GENERIC_INDEX, .extensions = "h26l,h264,264", //FIXME remove after writing mpeg4_probe .value = CODEC_ID_H264,};#ifdef CONFIG_MUXERSAVOutputFormat h264_muxer = { "h264", "raw H264 video format", NULL, "h264", 0, CODEC_ID_NONE, CODEC_ID_H264, NULL, raw_write_packet, .flags= AVFMT_NOTIMESTAMPS,};#endif //CONFIG_MUXERSAVInputFormat mpegvideo_demuxer = { "mpegvideo", "MPEG video", 0, mpegvideo_probe, video_read_header, raw_read_partial_packet, raw_read_close, .flags= AVFMT_GENERIC_INDEX, .value = CODEC_ID_MPEG1VIDEO,};#ifdef CONFIG_MUXERSAVOutputFormat mpeg1video_muxer = { "mpeg1video", "MPEG video", "video/x-mpeg", "mpg,mpeg,m1v", 0, 0, CODEC_ID_MPEG1VIDEO, NULL, raw_write_packet, .flags= AVFMT_NOTIMESTAMPS,};#endif //CONFIG_MUXERS#ifdef CONFIG_MUXERSAVOutputFormat mpeg2video_muxer = { "mpeg2video", "MPEG2 video", NULL, "m2v", 0, 0, CODEC_ID_MPEG2VIDEO, NULL, raw_write_packet, .flags= AVFMT_NOTIMESTAMPS,};#endif //CONFIG_MUXERSAVInputFormat mjpeg_demuxer = { "mjpeg", "MJPEG video", 0, NULL, video_read_header, raw_read_partial_packet, raw_read_close, .flags= AVFMT_GENERIC_INDEX, .extensions = "mjpg,mjpeg", .value = CODEC_ID_MJPEG,};AVInputFormat ingenient_demuxer = { "ingenient", "Ingenient MJPEG", 0, NULL, video_read_header, ingenient_read_packet, raw_read_close, .flags= AVFMT_GENERIC_INDEX, .extensions = "cgi", // FIXME .value = CODEC_ID_MJPEG,};#ifdef CONFIG_MUXERSAVOutputFormat mjpeg_muxer = { "mjpeg", "MJPEG video", "video/x-mjpeg", "mjpg,mjpeg", 0, 0, CODEC_ID_MJPEG, NULL, raw_write_packet, .flags= AVFMT_NOTIMESTAMPS,};#endif //CONFIG_MUXERSAVInputFormat vc1_demuxer = { "vc1", "raw vc1", 0, NULL /* vc1_probe */, video_read_header, raw_read_partial_packet, raw_read_close, .extensions = "vc1", .value = CODEC_ID_VC1,};/* pcm formats */#define PCMINPUTDEF(name, long_name, ext, codec) \AVInputFormat pcm_ ## name ## _demuxer = {\ #name,\ long_name,\ 0,\ NULL,\ raw_read_header,\ raw_read_packet,\ raw_read_close,\ pcm_read_seek,\ .flags= AVFMT_GENERIC_INDEX,\ .extensions = ext,\ .value = codec,\};#define PCMOUTPUTDEF(name, long_name, ext, codec) \AVOutputFormat pcm_ ## name ## _muxer = {\ #name,\ long_name,\ NULL,\ ext,\ 0,\ codec,\ 0,\ NULL,\ raw_write_packet,\ .flags= AVFMT_NOTIMESTAMPS,\};#if !defined(CONFIG_MUXERS) && defined(CONFIG_DEMUXERS)#define PCMDEF(name, long_name, ext, codec) \ PCMINPUTDEF(name, long_name, ext, codec)#elif defined(CONFIG_MUXERS) && !defined(CONFIG_DEMUXERS)#define PCMDEF(name, long_name, ext, codec) \ PCMOUTPUTDEF(name, long_name, ext, codec)#elif defined(CONFIG_MUXERS) && defined(CONFIG_DEMUXERS)#define PCMDEF(name, long_name, ext, codec) \ PCMINPUTDEF(name, long_name, ext, codec)\ PCMOUTPUTDEF(name, long_name, ext, codec)#else#define PCMDEF(name, long_name, ext, codec)#endif#ifdef WORDS_BIGENDIAN#define BE_DEF(s) s#define LE_DEF(s) NULL#else#define BE_DEF(s) NULL#define LE_DEF(s) s#endifPCMDEF(s16le, "pcm signed 16 bit little endian format", LE_DEF("sw"), CODEC_ID_PCM_S16LE)PCMDEF(s16be, "pcm signed 16 bit big endian format", BE_DEF("sw"), CODEC_ID_PCM_S16BE)PCMDEF(u16le, "pcm unsigned 16 bit little endian format", LE_DEF("uw"), CODEC_ID_PCM_U16LE)PCMDEF(u16be, "pcm unsigned 16 bit big endian format", BE_DEF("uw"), CODEC_ID_PCM_U16BE)PCMDEF(s8, "pcm signed 8 bit format", "sb", CODEC_ID_PCM_S8)PCMDEF(u8, "pcm unsigned 8 bit format", "ub", CODEC_ID_PCM_U8)PCMDEF(mulaw, "pcm mu law format", "ul", CODEC_ID_PCM_MULAW)PCMDEF(alaw, "pcm A law format", "al", CODEC_ID_PCM_ALAW)static int rawvideo_read_packet(AVFormatContext *s, AVPacket *pkt){ int packet_size, ret, width, height; AVStream *st = s->streams[0]; width = st->codec->width; height = st->codec->height; packet_size = avpicture_get_size(st->codec->pix_fmt, width, height); if (packet_size < 0) return -1; ret= av_get_packet(s->pb, pkt, packet_size); pkt->pts= pkt->dts= pkt->pos / packet_size; pkt->stream_index = 0; if (ret != packet_size) { return AVERROR(EIO); } else { return 0; }}AVInputFormat rawvideo_demuxer = { "rawvideo", "raw video format", 0, NULL, raw_read_header, rawvideo_read_packet, raw_read_close, .flags= AVFMT_GENERIC_INDEX, .extensions = "yuv,cif,qcif,rgb", .value = CODEC_ID_RAWVIDEO,};#ifdef CONFIG_MUXERSAVOutputFormat rawvideo_muxer = { "rawvideo", "raw video format", NULL, "yuv,rgb", 0, CODEC_ID_NONE, CODEC_ID_RAWVIDEO, NULL, raw_write_packet, .flags= AVFMT_NOTIMESTAMPS,};#endif //CONFIG_MUXERS#ifdef CONFIG_MUXERSstatic int null_write_packet(struct AVFormatContext *s, AVPacket *pkt){ return 0;}AVOutputFormat null_muxer = { "null", "null video format", NULL, NULL, 0,#ifdef WORDS_BIGENDIAN CODEC_ID_PCM_S16BE,#else CODEC_ID_PCM_S16LE,#endif CODEC_ID_RAWVIDEO, NULL, null_write_packet, .flags = AVFMT_NOFILE | AVFMT_RAWPICTURE | AVFMT_NOTIMESTAMPS,};#endif //CONFIG_MUXERS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -