Commit b8560637 authored by Kostya Shishkov's avatar Kostya Shishkov

RealAudio Lossless decoder

parent 316e724f
...@@ -13,6 +13,7 @@ version <next>: ...@@ -13,6 +13,7 @@ version <next>:
- ID3v2 attached pictures reading and writing - ID3v2 attached pictures reading and writing
- WMA Lossless decoder - WMA Lossless decoder
- XBM encoder - XBM encoder
- RealAudio Lossless decoder
version 0.8: version 0.8:
......
...@@ -752,6 +752,7 @@ following image formats are supported: ...@@ -752,6 +752,7 @@ following image formats are supported:
@tab Real 28800 bit/s codec @tab Real 28800 bit/s codec
@item RealAudio 3.0 (dnet) @tab IX @tab X @item RealAudio 3.0 (dnet) @tab IX @tab X
@tab Real low bitrate AC-3 codec @tab Real low bitrate AC-3 codec
@item RealAudio Lossless @tab @tab X
@item RealAudio SIPR / ACELP.NET @tab @tab X @item RealAudio SIPR / ACELP.NET @tab @tab X
@item Shorten @tab @tab X @item Shorten @tab @tab X
@item Sierra VMD audio @tab @tab X @item Sierra VMD audio @tab @tab X
......
...@@ -322,6 +322,7 @@ OBJS-$(CONFIG_R210_DECODER) += r210dec.o ...@@ -322,6 +322,7 @@ OBJS-$(CONFIG_R210_DECODER) += r210dec.o
OBJS-$(CONFIG_RA_144_DECODER) += ra144dec.o ra144.o celp_filters.o OBJS-$(CONFIG_RA_144_DECODER) += ra144dec.o ra144.o celp_filters.o
OBJS-$(CONFIG_RA_144_ENCODER) += ra144enc.o ra144.o celp_filters.o OBJS-$(CONFIG_RA_144_ENCODER) += ra144enc.o ra144.o celp_filters.o
OBJS-$(CONFIG_RA_288_DECODER) += ra288.o celp_math.o celp_filters.o OBJS-$(CONFIG_RA_288_DECODER) += ra288.o celp_math.o celp_filters.o
OBJS-$(CONFIG_RALF_DECODER) += ralf.o
OBJS-$(CONFIG_RAWVIDEO_DECODER) += rawdec.o OBJS-$(CONFIG_RAWVIDEO_DECODER) += rawdec.o
OBJS-$(CONFIG_RAWVIDEO_ENCODER) += rawenc.o OBJS-$(CONFIG_RAWVIDEO_ENCODER) += rawenc.o
OBJS-$(CONFIG_RL2_DECODER) += rl2.o OBJS-$(CONFIG_RL2_DECODER) += rl2.o
......
...@@ -280,6 +280,7 @@ void avcodec_register_all(void) ...@@ -280,6 +280,7 @@ void avcodec_register_all(void)
REGISTER_DECODER (QDM2, qdm2); REGISTER_DECODER (QDM2, qdm2);
REGISTER_ENCDEC (RA_144, ra_144); REGISTER_ENCDEC (RA_144, ra_144);
REGISTER_DECODER (RA_288, ra_288); REGISTER_DECODER (RA_288, ra_288);
REGISTER_DECODER (RALF, ralf);
REGISTER_DECODER (SHORTEN, shorten); REGISTER_DECODER (SHORTEN, shorten);
REGISTER_DECODER (SIPR, sipr); REGISTER_DECODER (SIPR, sipr);
REGISTER_DECODER (SMACKAUD, smackaud); REGISTER_DECODER (SMACKAUD, smackaud);
......
...@@ -383,6 +383,7 @@ enum CodecID { ...@@ -383,6 +383,7 @@ enum CodecID {
CODEC_ID_8SVX_EXP, CODEC_ID_8SVX_EXP,
CODEC_ID_8SVX_FIB, CODEC_ID_8SVX_FIB,
CODEC_ID_BMV_AUDIO, CODEC_ID_BMV_AUDIO,
CODEC_ID_RALF,
/* subtitle codecs */ /* subtitle codecs */
CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs. CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs.
......
This diff is collapsed.
This diff is collapsed.
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
#define AVCODEC_VERSION_H #define AVCODEC_VERSION_H
#define LIBAVCODEC_VERSION_MAJOR 54 #define LIBAVCODEC_VERSION_MAJOR 54
#define LIBAVCODEC_VERSION_MINOR 9 #define LIBAVCODEC_VERSION_MINOR 10
#define LIBAVCODEC_VERSION_MICRO 0 #define LIBAVCODEC_VERSION_MICRO 0
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
......
...@@ -42,5 +42,6 @@ const AVCodecTag ff_rm_codec_tags[] = { ...@@ -42,5 +42,6 @@ const AVCodecTag ff_rm_codec_tags[] = {
{ CODEC_ID_SIPR, MKTAG('s','i','p','r') }, { CODEC_ID_SIPR, MKTAG('s','i','p','r') },
{ CODEC_ID_AAC, MKTAG('r','a','a','c') }, { CODEC_ID_AAC, MKTAG('r','a','a','c') },
{ CODEC_ID_AAC, MKTAG('r','a','c','p') }, { CODEC_ID_AAC, MKTAG('r','a','c','p') },
{ CODEC_ID_RALF, MKTAG('L','S','D',':') },
{ CODEC_ID_NONE }, { CODEC_ID_NONE },
}; };
...@@ -310,6 +310,15 @@ ff_rm_read_mdpr_codecdata (AVFormatContext *s, AVIOContext *pb, ...@@ -310,6 +310,15 @@ ff_rm_read_mdpr_codecdata (AVFormatContext *s, AVIOContext *pb,
/* ra type header */ /* ra type header */
if (rm_read_audio_stream_info(s, pb, st, rst, 0)) if (rm_read_audio_stream_info(s, pb, st, rst, 0))
return -1; return -1;
} else if (v == MKBETAG('L', 'S', 'D', ':')) {
avio_seek(pb, -4, SEEK_CUR);
if ((ret = rm_read_extradata(pb, st->codec, codec_data_size)) < 0)
return ret;
st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
st->codec->codec_tag = AV_RL32(st->codec->extradata);
st->codec->codec_id = ff_codec_get_id(ff_rm_codec_tags,
st->codec->codec_tag);
} else { } else {
int fps; int fps;
if (avio_rl32(pb) != MKTAG('V', 'I', 'D', 'O')) { if (avio_rl32(pb) != MKTAG('V', 'I', 'D', 'O')) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment