[SCM] libav/experimental: header for common code between mp3 decoder and encoder. unfinished, iam just commiting this so the functions that should be non static have prototypes.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:03:18 UTC 2013


The following commit has been merged in the experimental branch:
commit d5dfecb1eaeea4a8498d2135e3e5bbc3d7bbc567
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Sat Mar 6 23:36:30 2010 +0000

    header for common code between mp3 decoder and encoder.
    unfinished, iam just commiting this so the functions that should be
    non static have prototypes.
    
    Originally committed as revision 22270 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/mpegaudio3.h b/libavcodec/mpegaudio3.h
new file mode 100644
index 0000000..c374a59
--- /dev/null
+++ b/libavcodec/mpegaudio3.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2007 Michael Niedermayer
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/* layer 3 "granule" */
+typedef struct GranuleDef {
+    uint8_t scfsi;
+    int part2_3_length;
+    int big_values;
+    int global_gain;
+    int scalefac_compress;
+    uint8_t block_type;
+    uint8_t switch_point;
+    int table_select[3];
+    int subblock_gain[3];
+    uint8_t scalefac_scale;
+    uint8_t count1table_select;
+    int region_size[3]; /* number of huffman codes in each region */
+    int preflag;
+    int short_start, long_end; /* long/short band indexes */
+    uint8_t scale_factors[40];
+    int32_t sb_hybrid[SBLIMIT * 18]; /* 576 samples */
+} GranuleDef;
+
+void ff_mp3_init(void);
+
+/**
+ * Compute huffman coded region sizes.
+ */
+void ff_init_short_region(MPADecodeContext *s, GranuleDef *g);
+
+/**
+ * Compute huffman coded region sizes.
+ */
+void ff_init_long_region(MPADecodeContext *s, GranuleDef *g, int ra1, int ra2);
+
+void ff_compute_band_indexes(MPADecodeContext *s, GranuleDef *g);

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list