Add D-Cinema audio muxer
Originally committed as revision 14531 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
bb89b0bc9d
commit
51c3861e16
@ -127,6 +127,7 @@ version <next>
|
|||||||
- Motion Pixels Video decoder
|
- Motion Pixels Video decoder
|
||||||
- Motion Pixels MVI demuxer
|
- Motion Pixels MVI demuxer
|
||||||
- removed animated GIF decoder/demuxer
|
- removed animated GIF decoder/demuxer
|
||||||
|
- D-Cinema audio muxer
|
||||||
|
|
||||||
version 0.4.9-pre1:
|
version 0.4.9-pre1:
|
||||||
|
|
||||||
|
@ -33,6 +33,7 @@ OBJS-$(CONFIG_BFI_DEMUXER) += bfi.o
|
|||||||
OBJS-$(CONFIG_C93_DEMUXER) += c93.o vocdec.o voc.o
|
OBJS-$(CONFIG_C93_DEMUXER) += c93.o vocdec.o voc.o
|
||||||
OBJS-$(CONFIG_CRC_MUXER) += crcenc.o
|
OBJS-$(CONFIG_CRC_MUXER) += crcenc.o
|
||||||
OBJS-$(CONFIG_DAUD_DEMUXER) += daud.o
|
OBJS-$(CONFIG_DAUD_DEMUXER) += daud.o
|
||||||
|
OBJS-$(CONFIG_DAUD_MUXER) += daud.o
|
||||||
OBJS-$(CONFIG_DIRAC_DEMUXER) += raw.o
|
OBJS-$(CONFIG_DIRAC_DEMUXER) += raw.o
|
||||||
OBJS-$(CONFIG_DIRAC_MUXER) += raw.o
|
OBJS-$(CONFIG_DIRAC_MUXER) += raw.o
|
||||||
OBJS-$(CONFIG_DSICIN_DEMUXER) += dsicin.o
|
OBJS-$(CONFIG_DSICIN_DEMUXER) += dsicin.o
|
||||||
|
@ -68,7 +68,7 @@ void av_register_all(void)
|
|||||||
REGISTER_DEMUXER (BFI, bfi);
|
REGISTER_DEMUXER (BFI, bfi);
|
||||||
REGISTER_DEMUXER (C93, c93);
|
REGISTER_DEMUXER (C93, c93);
|
||||||
REGISTER_MUXER (CRC, crc);
|
REGISTER_MUXER (CRC, crc);
|
||||||
REGISTER_DEMUXER (DAUD, daud);
|
REGISTER_MUXDEMUX (DAUD, daud);
|
||||||
REGISTER_MUXDEMUX (DIRAC, dirac);
|
REGISTER_MUXDEMUX (DIRAC, dirac);
|
||||||
REGISTER_DEMUXER (DSICIN, dsicin);
|
REGISTER_DEMUXER (DSICIN, dsicin);
|
||||||
REGISTER_MUXDEMUX (DTS, dts);
|
REGISTER_MUXDEMUX (DTS, dts);
|
||||||
|
@ -47,6 +47,24 @@ static int daud_packet(AVFormatContext *s, AVPacket *pkt) {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int daud_write_header(struct AVFormatContext *s)
|
||||||
|
{
|
||||||
|
AVCodecContext *codec = s->streams[0]->codec;
|
||||||
|
if (codec->channels!=6 || codec->sample_rate!=96000)
|
||||||
|
return -1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int daud_write_packet(struct AVFormatContext *s, AVPacket *pkt)
|
||||||
|
{
|
||||||
|
put_be16(s->pb, pkt->size);
|
||||||
|
put_be16(s->pb, 0x8010); // unknown
|
||||||
|
put_buffer(s->pb, pkt->data, pkt->size);
|
||||||
|
put_flush_packet(s->pb);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if CONFIG_DAUD_DEMUXER
|
||||||
AVInputFormat daud_demuxer = {
|
AVInputFormat daud_demuxer = {
|
||||||
"daud",
|
"daud",
|
||||||
NULL_IF_CONFIG_SMALL("D-Cinema audio format"),
|
NULL_IF_CONFIG_SMALL("D-Cinema audio format"),
|
||||||
@ -58,3 +76,20 @@ AVInputFormat daud_demuxer = {
|
|||||||
NULL,
|
NULL,
|
||||||
.extensions = "302",
|
.extensions = "302",
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_DAUD_MUXER
|
||||||
|
AVOutputFormat daud_muxer =
|
||||||
|
{
|
||||||
|
"daud",
|
||||||
|
NULL_IF_CONFIG_SMALL("D-Cinema audio format"),
|
||||||
|
NULL,
|
||||||
|
"302",
|
||||||
|
0,
|
||||||
|
CODEC_ID_PCM_S24DAUD,
|
||||||
|
CODEC_ID_NONE,
|
||||||
|
daud_write_header,
|
||||||
|
daud_write_packet,
|
||||||
|
.flags= AVFMT_NOTIMESTAMPS,
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user