[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