[FFmpeg-soc] [soc]: r2687 - mlp/libavcodec_mlpdec.diff
ramiro
subversion at mplayerhq.hu
Fri Jul 4 16:44:45 CEST 2008
Author: ramiro
Date: Fri Jul 4 16:44:45 2008
New Revision: 2687
Log:
Update to latest SVN and add entry in Documentation.
Modified:
mlp/libavcodec_mlpdec.diff
Modified: mlp/libavcodec_mlpdec.diff
==============================================================================
--- mlp/libavcodec_mlpdec.diff (original)
+++ mlp/libavcodec_mlpdec.diff Fri Jul 4 16:44:45 2008
@@ -1,6 +1,6 @@
Index: configure
===================================================================
---- configure (revision 13943)
+--- configure (revision 14064)
+++ configure (working copy)
@@ -832,6 +832,7 @@
dxa_decoder_deps="zlib"
@@ -12,7 +12,7 @@ Index: configure
png_encoder_deps="zlib"
Index: Changelog
===================================================================
---- Changelog (revision 13943)
+--- Changelog (revision 14064)
+++ Changelog (working copy)
@@ -122,6 +122,7 @@
- MAXIS EA XA (.xa) demuxer / decoder
@@ -24,7 +24,7 @@ Index: Changelog
Index: libavcodec/Makefile
===================================================================
---- libavcodec/Makefile (revision 13943)
+--- libavcodec/Makefile (revision 14064)
+++ libavcodec/Makefile (working copy)
@@ -107,6 +107,7 @@
OBJS-$(CONFIG_MJPEG_DECODER) += mjpegdec.o mjpeg.o
@@ -36,7 +36,7 @@ Index: libavcodec/Makefile
OBJS-$(CONFIG_MP2_ENCODER) += mpegaudioenc.o mpegaudio.o mpegaudiodata.o
Index: libavcodec/allcodecs.c
===================================================================
---- libavcodec/allcodecs.c (revision 13943)
+--- libavcodec/allcodecs.c (revision 14064)
+++ libavcodec/allcodecs.c (working copy)
@@ -189,6 +189,7 @@
REGISTER_DECODER (IMC, imc);
@@ -46,131 +46,15 @@ Index: libavcodec/allcodecs.c
REGISTER_ENCDEC (MP2, mp2);
REGISTER_DECODER (MP3, mp3);
REGISTER_DECODER (MP3ADU, mp3adu);
-Index: libavcodec/mlp_parser.c
-===================================================================
---- libavcodec/mlp_parser.c (revision 13943)
-+++ libavcodec/mlp_parser.c (working copy)
-@@ -90,72 +90,70 @@
- * information is not actually necessary for decoding, only for playback.
- */
-
--int ff_mlp_read_major_sync(void *log, MLPHeaderInfo *mh, const uint8_t *buf,
-- unsigned int buf_size)
-+int ff_mlp_read_major_sync(void *log, MLPHeaderInfo *mh, GetBitContext *gb)
- {
-- GetBitContext gb;
- int ratebits;
- uint16_t checksum;
-
-- if (buf_size < 28) {
-+ assert(get_bits_count(gb) == 0);
-+
-+ if (gb->size_in_bits < 28 << 3) {
- av_log(log, AV_LOG_ERROR, "Packet too short, unable to read major sync\n");
- return -1;
- }
-
-- checksum = mlp_checksum16(buf, 26);
-- if (checksum != AV_RL16(buf+26)) {
-+ checksum = mlp_checksum16(gb->buffer, 26);
-+ if (checksum != AV_RL16(gb->buffer+26)) {
- av_log(log, AV_LOG_ERROR, "Major sync info header checksum error\n");
- return -1;
- }
-
-- init_get_bits(&gb, buf, buf_size * 8);
--
-- if (get_bits_long(&gb, 24) != 0xf8726f) /* Sync words */
-+ if (get_bits_long(gb, 24) != 0xf8726f) /* Sync words */
- return -1;
-
-- mh->stream_type = get_bits(&gb, 8);
-+ mh->stream_type = get_bits(gb, 8);
-
- if (mh->stream_type == 0xbb) {
-- mh->group1_bits = mlp_quants[get_bits(&gb, 4)];
-- mh->group2_bits = mlp_quants[get_bits(&gb, 4)];
-+ mh->group1_bits = mlp_quants[get_bits(gb, 4)];
-+ mh->group2_bits = mlp_quants[get_bits(gb, 4)];
-
-- ratebits = get_bits(&gb, 4);
-+ ratebits = get_bits(gb, 4);
- mh->group1_samplerate = mlp_samplerate(ratebits);
-- mh->group2_samplerate = mlp_samplerate(get_bits(&gb, 4));
-+ mh->group2_samplerate = mlp_samplerate(get_bits(gb, 4));
-
-- skip_bits(&gb, 11);
-+ skip_bits(gb, 11);
-
-- mh->channels_mlp = get_bits(&gb, 5);
-+ mh->channels_mlp = get_bits(gb, 5);
- } else if (mh->stream_type == 0xba) {
- mh->group1_bits = 24; // TODO: Is this information actually conveyed anywhere?
- mh->group2_bits = 0;
-
-- ratebits = get_bits(&gb, 4);
-+ ratebits = get_bits(gb, 4);
- mh->group1_samplerate = mlp_samplerate(ratebits);
- mh->group2_samplerate = 0;
-
-- skip_bits(&gb, 8);
-+ skip_bits(gb, 8);
-
-- mh->channels_thd_stream1 = get_bits(&gb, 5);
-+ mh->channels_thd_stream1 = get_bits(gb, 5);
-
-- skip_bits(&gb, 2);
-+ skip_bits(gb, 2);
-
-- mh->channels_thd_stream2 = get_bits(&gb, 13);
-+ mh->channels_thd_stream2 = get_bits(gb, 13);
- } else
- return -1;
-
- mh->access_unit_size = 40 << (ratebits & 7);
- mh->access_unit_size_pow2 = 64 << (ratebits & 7);
-
-- skip_bits_long(&gb, 48);
-+ skip_bits_long(gb, 48);
-
-- mh->is_vbr = get_bits1(&gb);
-+ mh->is_vbr = get_bits1(gb);
-
-- mh->peak_bitrate = (get_bits(&gb, 15) * mh->group1_samplerate + 8) >> 4;
-+ mh->peak_bitrate = (get_bits(gb, 15) * mh->group1_samplerate + 8) >> 4;
-
-- mh->num_substreams = get_bits(&gb, 4);
-+ mh->num_substreams = get_bits(gb, 4);
-
-- skip_bits_long(&gb, 4 + 11 * 8);
-+ skip_bits_long(gb, 4 + 11 * 8);
-
- return 0;
- }
-@@ -258,9 +256,11 @@
- goto lost_sync;
- }
- } else {
-+ GetBitContext gb;
- MLPHeaderInfo mh;
-
-- if (ff_mlp_read_major_sync(avctx, &mh, buf + 4, buf_size - 4) < 0)
-+ init_get_bits(&gb, buf + 4, (buf_size - 4) << 3);
-+ if (ff_mlp_read_major_sync(avctx, &mh, &gb) < 0)
- goto lost_sync;
-
- #ifdef CONFIG_AUDIO_NONSHORT
-Index: libavcodec/mlp_parser.h
+Index: doc/general.texi
===================================================================
---- libavcodec/mlp_parser.h (revision 13943)
-+++ libavcodec/mlp_parser.h (working copy)
-@@ -53,8 +53,7 @@
- } MLPHeaderInfo;
-
-
--int ff_mlp_read_major_sync(void *log, MLPHeaderInfo *mh, const uint8_t *buf,
-- unsigned int buf_size);
-+int ff_mlp_read_major_sync(void *log, MLPHeaderInfo *mh, GetBitContext *gb);
-
- #endif /* FFMPEG_MLP_PARSER_H */
+--- doc/general.texi (revision 14064)
++++ doc/general.texi (working copy)
+@@ -259,6 +259,7 @@
+ @item Renderware TXD @tab @tab X @tab Texture dictionaries used by the Renderware Engine.
+ @item AMV @tab @tab X @tab Used in Chinese MP3 players.
+ @item Mimic @tab @tab X @tab Used in MSN Messenger Webcam streams.
++ at item MLP/TrueHD @tab @tab X @tab Used in DVD-Audio and Blu-Ray discs.
+ @end multitable
+ @code{X} means that encoding (resp. decoding) is supported.
More information about the FFmpeg-soc
mailing list