r1527 - in /experimental/ffmpeg-debian/debian: changelog patches/020_visibility_patch patches/series

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sat Nov 1 13:53:18 UTC 2008


Author: siretart
Date: Sat Nov  1 13:53:18 2008
New Revision: 1527

URL: http://svn.debian.org/wsvn/pkg-multimedia/?sc=1&rev=1527
Log:
apply visibility patch from ffmpeg-devel mailing list.

Added:
    experimental/ffmpeg-debian/debian/patches/020_visibility_patch
Modified:
    experimental/ffmpeg-debian/debian/changelog
    experimental/ffmpeg-debian/debian/patches/series

Modified: experimental/ffmpeg-debian/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-multimedia/experimental/ffmpeg-debian/debian/changelog?rev=1527&op=diff
==============================================================================
--- experimental/ffmpeg-debian/debian/changelog (original)
+++ experimental/ffmpeg-debian/debian/changelog Sat Nov  1 13:53:18 2008
@@ -1,6 +1,7 @@
 ffmpeg-debian (3:0.svn20081101-1) UNRELEASED; urgency=low
 
   * upstream svn snapshot (svn revision 15761, libswscale revision 27872).
+  * apply visibility patch from ffmpeg-devel mailing list.
 
  -- Reinhard Tartler <siretart at tauware.de>  Sat, 01 Nov 2008 14:13:20 +0100
 

Added: experimental/ffmpeg-debian/debian/patches/020_visibility_patch
URL: http://svn.debian.org/wsvn/pkg-multimedia/experimental/ffmpeg-debian/debian/patches/020_visibility_patch?rev=1527&op=file
==============================================================================
--- experimental/ffmpeg-debian/debian/patches/020_visibility_patch (added)
+++ experimental/ffmpeg-debian/debian/patches/020_visibility_patch Sat Nov  1 13:53:18 2008
@@ -1,0 +1,1402 @@
+patch by Uoti Urpala <uoti.urpala at pp1.inet.fi> and Diego Biurrun <diego at biurrun.de>
+
+The attached patch adds visibility information for lots of symbols in
+libavcodec.
+
+It is not yet applied to ffmpeg, but it is expected that this happens soon.
+
+
+--- a/configure
++++ b/configure
+@@ -148,6 +148,7 @@ show_help(){
+   echo "  --enable-small           optimize for size instead of speed"
+   echo "  --enable-hardcoded-tables use hardcoded tables instead of runtime generation"
+   echo "  --enable-memalign-hack   emulate memalign, interferes with memory debuggers"
++  echo "  --enable-symbol_hiding   enable symbol hiding support"
+   echo "  --disable-encoder=NAME   disables encoder NAME"
+   echo "  --enable-encoder=NAME    enables encoder NAME"
+   echo "  --disable-decoder=NAME   disables decoder NAME"
+@@ -756,6 +757,7 @@ CONFIG_LIST="
+     small
+     swscale
+     vhook
++    symbol_hiding
+     x11grab
+     zlib
+ "
+--- a/libavcodec/aac_ac3_parser.h
++++ b/libavcodec/aac_ac3_parser.h
+@@ -27,6 +27,8 @@
+ #include "avcodec.h"
+ #include "parser.h"
+ 
++START_HIDDEN
++
+ typedef struct AACAC3ParseContext {
+     ParseContext pc;
+     int frame_size;
+@@ -50,4 +52,6 @@ int ff_aac_ac3_parse(AVCodecParserContex
+                      const uint8_t **poutbuf, int *poutbuf_size,
+                      const uint8_t *buf, int buf_size);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_AAC_AC3_PARSER_H */
+--- a/libavcodec/ac3.h
++++ b/libavcodec/ac3.h
+@@ -29,6 +29,8 @@
+ 
+ #include "ac3tab.h"
+ 
++START_HIDDEN
++
+ #define AC3_MAX_CODED_FRAME_SIZE 3840 /* in bytes */
+ #define AC3_MAX_CHANNELS 6 /* including LFE channel */
+ 
+@@ -182,4 +184,6 @@ void ac3_parametric_bit_allocation(AC3Bi
+                                    uint8_t *dba_offsets, uint8_t *dba_lengths,
+                                    uint8_t *dba_values);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_AC3_H */
+--- a/libavcodec/ac3_parser.h
++++ b/libavcodec/ac3_parser.h
+@@ -26,6 +26,8 @@
+ #include "ac3.h"
+ #include "bitstream.h"
+ 
++START_HIDDEN
++
+ typedef enum {
+     AC3_PARSE_ERROR_SYNC        = -1,
+     AC3_PARSE_ERROR_BSID        = -2,
+@@ -45,7 +47,7 @@ typedef enum {
+  * -2 if the bsid (version) element is invalid, -3 if the fscod (sample rate)
+  * element is invalid, or -4 if the frmsizecod (bit rate) element is invalid.
+  */
+-int ff_ac3_parse_header(GetBitContext *gbc, AC3HeaderInfo *hdr);
++attribute_visible int ff_ac3_parse_header(GetBitContext *gbc, AC3HeaderInfo *hdr);
+ 
+ /**
+  * Parses AC-3 frame header and sets channel_map
+@@ -58,4 +60,6 @@ int ff_ac3_parse_header(GetBitContext *g
+  */
+ int ff_ac3_parse_header_full(GetBitContext *gbc, AC3HeaderInfo *hdr);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_AC3_PARSER_H */
+--- a/libavcodec/ac3dec.h
++++ b/libavcodec/ac3dec.h
+@@ -32,6 +32,8 @@
+ #include "bitstream.h"
+ #include "dsputil.h"
+ 
++START_HIDDEN
++
+ /* override ac3.h to include coupling channel */
+ #undef AC3_MAX_CHANNELS
+ #define AC3_MAX_CHANNELS 7
+@@ -179,4 +181,6 @@ int ff_eac3_parse_header(AC3DecodeContex
+  */
+ void ff_eac3_decode_transform_coeffs_aht_ch(AC3DecodeContext *s, int ch);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_AC3DEC_H */
+--- a/libavcodec/ac3dec_data.h
++++ b/libavcodec/ac3dec_data.h
+@@ -24,6 +24,8 @@
+ 
+ #include "libavutil/common.h"
+ 
++START_HIDDEN
++
+ extern const uint8_t ff_ac3_ungroup_3_in_5_bits_tab[32][3];
+ extern const uint8_t ff_eac3_hebap_tab[64];
+ extern const uint8_t ff_eac3_bits_vs_hebap[20];
+@@ -37,4 +39,6 @@ extern const uint8_t ff_eac3_default_cpl
+ 
+ extern const uint8_t ff_ac3_rematrix_band_tab[5];
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_AC3DEC_DATA_H */
+--- a/libavcodec/ac3tab.h
++++ b/libavcodec/ac3tab.h
+@@ -24,6 +24,8 @@
+ 
+ #include "libavutil/common.h"
+ 
++START_HIDDEN
++
+ extern const uint16_t ff_ac3_frame_size_tab[38][3];
+ extern const uint8_t  ff_ac3_channels_tab[8];
+ extern const uint16_t ff_ac3_sample_rate_tab[3];
+@@ -56,4 +58,6 @@ enum CustomChannelMapLocation{
+     AC3_CHMAP_LFE =     1<<(15-15)
+ };
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_AC3TAB_H */
+--- a/libavcodec/acelp_filters.h
++++ b/libavcodec/acelp_filters.h
+@@ -25,6 +25,8 @@
+ 
+ #include <stdint.h>
+ 
++START_HIDDEN
++
+ /**
+  * low-pass Finite Impulse Response filter coefficients.
+  *
+@@ -90,4 +92,6 @@ void ff_acelp_high_pass_filter(
+         const int16_t* in,
+         int length);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_ACELP_FILTERS_H */
+--- a/libavcodec/acelp_pitch_delay.h
++++ b/libavcodec/acelp_pitch_delay.h
+@@ -25,6 +25,8 @@
+ 
+ #include <stdint.h>
+ 
++START_HIDDEN
++
+ #define PITCH_DELAY_MIN             20
+ #define PITCH_DELAY_MAX             143
+ 
+@@ -217,4 +219,6 @@ int16_t ff_acelp_decode_gain_code(
+     int subframe_size,
+     int max_pred_order);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_ACELP_PITCH_DELAY_H */
+--- a/libavcodec/acelp_vectors.h
++++ b/libavcodec/acelp_vectors.h
+@@ -25,6 +25,8 @@
+ 
+ #include <stdint.h>
+ 
++START_HIDDEN
++
+ /**
+  * Track|Pulse|        Positions
+  * -------------------------------------------------------------------------
+@@ -150,4 +152,6 @@ void ff_acelp_weighted_vector_sum(
+         int shift,
+         int length);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_ACELP_VECTORS_H */
+--- a/libavcodec/allcodecs.c
++++ b/libavcodec/allcodecs.c
+@@ -27,18 +27,18 @@
+ #include "avcodec.h"
+ 
+ #define REGISTER_ENCODER(X,x) { \
+-          extern AVCodec x##_encoder; \
++          extern attribute_hidden AVCodec x##_encoder; \
+           if(ENABLE_##X##_ENCODER)  register_avcodec(&x##_encoder); }
+ #define REGISTER_DECODER(X,x) { \
+-          extern AVCodec x##_decoder; \
++          extern attribute_hidden AVCodec x##_decoder; \
+           if(ENABLE_##X##_DECODER)  register_avcodec(&x##_decoder); }
+ #define REGISTER_ENCDEC(X,x)  REGISTER_ENCODER(X,x); REGISTER_DECODER(X,x)
+ 
+ #define REGISTER_PARSER(X,x) { \
+-          extern AVCodecParser x##_parser; \
++          extern attribute_hidden AVCodecParser x##_parser; \
+           if(ENABLE_##X##_PARSER)  av_register_codec_parser(&x##_parser); }
+ #define REGISTER_BSF(X,x) { \
+-          extern AVBitStreamFilter x##_bsf; \
++          extern attribute_hidden AVBitStreamFilter x##_bsf; \
+           if(ENABLE_##X##_BSF)     av_register_bitstream_filter(&x##_bsf); }
+ 
+ /**
+--- a/libavcodec/bitstream.h
++++ b/libavcodec/bitstream.h
+@@ -34,6 +34,8 @@
+ #include "libavutil/intreadwrite.h"
+ #include "libavutil/log.h"
+ 
++START_HIDDEN
++
+ #if defined(ALT_BITSTREAM_READER_LE) && !defined(ALT_BITSTREAM_READER)
+ #   define ALT_BITSTREAM_READER
+ #endif
+@@ -954,4 +956,6 @@ static inline int decode210(GetBitContex
+         return 2 - get_bits1(gb);
+ }
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_BITSTREAM_H */
+--- a/libavcodec/cabac.h
++++ b/libavcodec/cabac.h
+@@ -33,6 +33,8 @@
+ #include <assert.h>
+ #include "libavutil/x86_cpu.h"
+ 
++START_HIDDEN
++
+ #define CABAC_BITS 16
+ #define CABAC_MASK ((1<<CABAC_BITS)-1)
+ #define BRANCHLESS_CABAC_DECODER 1
+@@ -755,4 +757,6 @@ static int get_cabac_ueg(CABACContext *c
+ }
+ #endif /* 0 */
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_CABAC_H */
+--- a/libavcodec/cavs.h
++++ b/libavcodec/cavs.h
+@@ -25,6 +25,8 @@
+ #include "dsputil.h"
+ #include "mpegvideo.h"
+ 
++START_HIDDEN
++
+ #define SLICE_MIN_START_CODE    0x00000101
+ #define SLICE_MAX_START_CODE    0x000001af
+ #define EXT_START_CODE          0x000001b5
+@@ -311,4 +313,6 @@ void ff_cavs_init_top_lines(AVSContext *
+ int ff_cavs_init(AVCodecContext *avctx);
+ int ff_cavs_end (AVCodecContext *avctx);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_CAVS_H */
+--- a/libavcodec/cavsdata.h
++++ b/libavcodec/cavsdata.h
+@@ -24,6 +24,8 @@
+ 
+ #include "cavs.h"
+ 
++START_HIDDEN
++
+ const uint8_t ff_cavs_partition_flags[30] = {
+   0,                                 //I_8X8
+   0,                                 //P_SKIP
+@@ -502,4 +504,6 @@ const int_fast8_t ff_top_modifier_l[8]  
+ const int_fast8_t ff_left_modifier_c[7] = { 5,-1, 2,-1, 6, 5, 6};
+ const int_fast8_t ff_top_modifier_c[7]  = { 4, 1,-1,-1, 4, 6, 6};
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_CAVSDATA_H */
+--- a/libavcodec/celp_math.h
++++ b/libavcodec/celp_math.h
+@@ -25,6 +25,8 @@
+ 
+ #include <stdint.h>
+ 
++START_HIDDEN
++
+ /**
+  * fixed-point implementation of cosine in [0; PI) domain.
+  * @param arg fixed-point cosine argument, 0 <= arg < 0x4000
+@@ -93,4 +95,6 @@ static inline int bidir_sal(int value, i
+  */
+ extern float ff_dot_productf(const float* a, const float* b, int length);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_CELP_MATH_H */
+--- a/libavcodec/dnxhddata.h
++++ b/libavcodec/dnxhddata.h
+@@ -25,6 +25,8 @@
+ #include <stdint.h>
+ #include "avcodec.h"
+ 
++START_HIDDEN
++
+ typedef struct {
+     int cid;
+     unsigned int width, height;
+@@ -48,4 +50,6 @@ extern const CIDEntry ff_dnxhd_cid_table
+ int ff_dnxhd_get_cid_table(int cid);
+ int ff_dnxhd_find_cid(AVCodecContext *avctx);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_DNXHDDATA_H */
+--- a/libavcodec/dsputil.c
++++ b/libavcodec/dsputil.c
+@@ -45,7 +45,7 @@ void vorbis_inverse_coupling(float *mag,
+ void ff_ac3_downmix_c(float (*samples)[256], float (*matrix)[2], int out_ch, int in_ch, int len);
+ 
+ /* flacenc.c */
+-void ff_flac_compute_autocorr(const int32_t *data, int len, int lag, double *autoc);
++attribute_hidden void ff_flac_compute_autocorr(const int32_t *data, int len, int lag, double *autoc);
+ 
+ /* pngdec.c */
+ void ff_add_png_paeth_prediction(uint8_t *dst, uint8_t *src, uint8_t *top, int w, int bpp);
+@@ -82,7 +82,7 @@ const uint8_t ff_zigzag248_direct[64] = 
+ };
+ 
+ /* not permutated inverse zigzag_direct + 1 for MMX quantizer */
+-DECLARE_ALIGNED_8(uint16_t, inv_zigzag_direct16[64]) = {0, };
++DECLARE_ALIGNED_8(attribute_hidden uint16_t, inv_zigzag_direct16[64]) = {0, };
+ 
+ const uint8_t ff_alternate_horizontal_scan[64] = {
+     0,  1,   2,  3,  8,  9, 16, 17,
+@@ -107,7 +107,7 @@ const uint8_t ff_alternate_vertical_scan
+ };
+ 
+ /* a*inverse[b]>>32 == a/b for all 0<=a<=65536 && 2<=b<=255 */
+-const uint32_t ff_inverse[256]={
++attribute_hidden const uint32_t ff_inverse[256]={
+          0, 4294967295U,2147483648U,1431655766, 1073741824,  858993460,  715827883,  613566757,
+  536870912,  477218589,  429496730,  390451573,  357913942,  330382100,  306783379,  286331154,
+  268435456,  252645136,  238609295,  226050911,  214748365,  204522253,  195225787,  186737709,
+--- a/libavcodec/dsputil.h
++++ b/libavcodec/dsputil.h
+@@ -33,6 +33,8 @@
+ #include "avcodec.h"
+ 
+ 
++START_HIDDEN
++
+ //#define DEBUG
+ /* dct code */
+ typedef short DCTELEM;
+@@ -79,7 +81,7 @@ extern const uint8_t ff_zigzag248_direct
+ 
+ /* temporary */
+ extern uint32_t ff_squareTbl[512];
+-extern uint8_t ff_cropTbl[256 + 2 * MAX_NEG_CROP];
++extern attribute_visible uint8_t ff_cropTbl[256 + 2 * MAX_NEG_CROP];
+ 
+ /* VP3 DSP functions */
+ void ff_vp3_idct_c(DCTELEM *block/* align 16*/);
+@@ -830,4 +832,6 @@ static inline void copy_block17(uint8_t 
+     }
+ }
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_DSPUTIL_H */
+--- a/libavcodec/elbg.h
++++ b/libavcodec/elbg.h
+@@ -21,8 +21,11 @@
+ #ifndef AVCODEC_ELBG_H
+ #define AVCODEC_ELBG_H
+ 
++#include "libavutil/common.h"
+ #include "libavutil/random.h"
+ 
++START_HIDDEN
++
+ /**
+  * Implementation of the Enhanced LBG Algorithm
+  * Based on the paper "Neural Networks 14:1219-1237" that can be found in
+@@ -52,4 +55,6 @@ void ff_init_elbg(int *points, int dim, 
+                   int numCB, int num_steps, int *closest_cb,
+                   AVRandomState *rand_state);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_ELBG_H */
+--- a/libavcodec/eval.h
++++ b/libavcodec/eval.h
+@@ -28,6 +28,8 @@
+ #ifndef AVCODEC_EVAL_H
+ #define AVCODEC_EVAL_H
+ 
++START_HIDDEN
++
+ /**
+  * Parses and evaluates an expression.
+  * Note, this is significantly slower than ff_parse_eval()
+@@ -74,4 +76,6 @@ AVEvalExpr * ff_parse(const char *s, con
+ double ff_parse_eval(AVEvalExpr * e, double *const_value, void *opaque);
+ void ff_eval_free(AVEvalExpr * e);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_EVAL_H */
+--- a/libavcodec/faandct.h
++++ b/libavcodec/faandct.h
+@@ -31,9 +31,13 @@
+ 
+ #include "dsputil.h"
+ 
++START_HIDDEN
++
+ #define FAAN_POSTSCALE
+ 
+ void ff_faandct(DCTELEM * data);
+ void ff_faandct248(DCTELEM * data);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_FAANDCT_H */
+--- a/libavcodec/faanidct.h
++++ b/libavcodec/faanidct.h
+@@ -25,8 +25,12 @@
+ #include <stdint.h>
+ #include "dsputil.h"
+ 
++START_HIDDEN
++
+ void ff_faanidct(DCTELEM block[64]);
+ void ff_faanidct_add(uint8_t *dest, int line_size, DCTELEM block[64]);
+ void ff_faanidct_put(uint8_t *dest, int line_size, DCTELEM block[64]);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_FAANIDCT_H */
+--- a/libavcodec/flacenc.c
++++ b/libavcodec/flacenc.c
+@@ -610,8 +610,8 @@ static void apply_welch_window(const int
+  * Calculates autocorrelation data from audio samples
+  * A Welch window function is applied before calculation.
+  */
+-void ff_flac_compute_autocorr(const int32_t *data, int len, int lag,
+-                              double *autoc)
++attribute_hidden void ff_flac_compute_autocorr(const int32_t *data, int len,
++                                               int lag, double *autoc)
+ {
+     int i, j;
+     double tmp[len + lag + 1];
+--- a/libavcodec/golomb.h
++++ b/libavcodec/golomb.h
+@@ -33,6 +33,8 @@
+ #include <stdint.h>
+ #include "bitstream.h"
+ 
++START_HIDDEN
++
+ #define INVALID_VLC           0x80000000
+ 
+ extern const uint8_t ff_golomb_vlc_len[512];
+@@ -504,4 +506,6 @@ static inline void set_sr_golomb_flac(Pu
+     set_ur_golomb_jpegls(pb, v, k, limit, esc_len);
+ }
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_GOLOMB_H */
+--- a/libavcodec/h263data.h
++++ b/libavcodec/h263data.h
+@@ -32,6 +32,8 @@
+ #include <stdint.h>
+ #include "mpegvideo.h"
+ 
++START_HIDDEN
++
+ /* intra MCBPC, mb_type = (intra), then (intraq) */
+ const uint8_t intra_MCBPC_code[9] = { 1, 1, 2, 3, 1, 1, 2, 3, 1 };
+ const uint8_t intra_MCBPC_bits[9] = { 1, 3, 3, 3, 4, 6, 6, 6, 9 };
+@@ -311,4 +313,6 @@ const uint8_t ff_h263_loop_filter_streng
+     0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9,10,10,10,11,11,11,12,12,12
+ };
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_H263DATA_H */
+--- a/libavcodec/h264.h
++++ b/libavcodec/h264.h
+@@ -33,6 +33,8 @@
+ #include "mpegvideo.h"
+ #include "h264pred.h"
+ 
++START_HIDDEN
++
+ #define interlaced_dct interlaced_dct_is_a_bad_name
+ #define mb_intra mb_intra_is_not_initialized_see_mb_type
+ 
+@@ -462,4 +464,6 @@ typedef struct H264Context{
+     uint32_t svq3_watermark_key;
+ }H264Context;
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_H264_H */
+--- a/libavcodec/h264_parser.h
++++ b/libavcodec/h264_parser.h
+@@ -30,10 +30,14 @@
+ 
+ #include "h264.h"
+ 
++START_HIDDEN
++
+ /**
+  * finds the end of the current frame in the bitstream.
+  * @return the position of the first byte of the next frame, or -1
+  */
+ int ff_h264_find_frame_end(H264Context *h, const uint8_t *buf, int buf_size);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_H264_PARSER_H */
+--- a/libavcodec/h264pred.h
++++ b/libavcodec/h264pred.h
+@@ -30,6 +30,8 @@
+ 
+ #include "libavutil/common.h"
+ 
++START_HIDDEN
++
+ /**
+  * Prediction types
+  */
+@@ -79,4 +81,6 @@ typedef struct H264PredContext{
+ 
+ void ff_h264_pred_init(H264PredContext *h, int codec_id);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_H264PRED_H */
+--- a/libavcodec/huffman.h
++++ b/libavcodec/huffman.h
+@@ -26,6 +26,8 @@
+ #include "avcodec.h"
+ #include "bitstream.h"
+ 
++START_HIDDEN
++
+ typedef struct {
+     int16_t  sym;
+     int16_t  n0;
+@@ -39,4 +41,6 @@ typedef int (*huff_cmp_t)(const void *va
+ int ff_huff_build_tree(AVCodecContext *avctx, VLC *vlc, int nb_codes,
+                        Node *nodes, huff_cmp_t cmp, int flags);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_HUFFMAN_H */
+--- a/libavcodec/i386/dsputil_mmx.h
++++ b/libavcodec/i386/dsputil_mmx.h
+@@ -25,6 +25,8 @@
+ #include <stdint.h>
+ #include "libavcodec/dsputil.h"
+ 
++START_HIDDEN
++
+ typedef struct { uint64_t a, b; } xmm_t;
+ 
+ extern const uint64_t ff_bone;
+@@ -151,4 +153,6 @@ extern const double ff_pd_2[2];
+ 
+ void dsputilenc_init_mmx(DSPContext* c, AVCodecContext *avctx);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_I386_DSPUTIL_MMX_H */
+--- a/libavcodec/i386/dsputilenc_mmx.c
++++ b/libavcodec/i386/dsputilenc_mmx.c
+@@ -1348,8 +1348,9 @@ static int ssd_int8_vs_int16_mmx(const i
+ 
+ 
+ /* FLAC specific */
+-void ff_flac_compute_autocorr_sse2(const int32_t *data, int len, int lag,
+-                                   double *autoc);
++attribute_hidden void ff_flac_compute_autocorr_sse2(const int32_t *data,
++                                                    int len, int lag,
++                                                    double *autoc);
+ 
+ 
+ void dsputilenc_init_mmx(DSPContext* c, AVCodecContext *avctx)
+--- a/libavcodec/i386/flacdsp_mmx.c
++++ b/libavcodec/i386/flacdsp_mmx.c
+@@ -65,8 +65,9 @@ static void apply_welch_window_sse2(cons
+ #undef WELCH
+ }
+ 
+-void ff_flac_compute_autocorr_sse2(const int32_t *data, int len, int lag,
+-                                   double *autoc)
++attribute_hidden void ff_flac_compute_autocorr_sse2(const int32_t *data,
++                                                    int len, int lag,
++                                                    double *autoc)
+ {
+     double tmp[len + lag + 2];
+     double *data1 = tmp + lag;
+--- a/libavcodec/i386/idct_xvid.h
++++ b/libavcodec/i386/idct_xvid.h
+@@ -28,10 +28,14 @@
+ 
+ #include <stdint.h>
+ 
++START_HIDDEN
++
+ void ff_idct_xvid_mmx(short *block);
+ void ff_idct_xvid_mmx2(short *block);
+ void ff_idct_xvid_sse2(short *block);
+ void ff_idct_xvid_sse2_put(uint8_t *dest, int line_size, short *block);
+ void ff_idct_xvid_sse2_add(uint8_t *dest, int line_size, short *block);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_I386_IDCT_XVID_H */
+--- a/libavcodec/i386/mpegvideo_mmx.c
++++ b/libavcodec/i386/mpegvideo_mmx.c
+@@ -28,7 +28,7 @@
+ #include "libavcodec/mpegvideo.h"
+ #include "dsputil_mmx.h"
+ 
+-extern uint16_t inv_zigzag_direct16[64];
++extern attribute_hidden uint16_t inv_zigzag_direct16[64];
+ 
+ 
+ static void dct_unquantize_h263_intra_mmx(MpegEncContext *s,
+--- a/libavcodec/i386/vp3dsp_mmx.h
++++ b/libavcodec/i386/vp3dsp_mmx.h
+@@ -25,6 +25,8 @@
+ #include <stdint.h>
+ #include "libavcodec/dsputil.h"
+ 
++START_HIDDEN
++
+ void ff_vp3_idct_mmx(int16_t *data);
+ void ff_vp3_idct_put_mmx(uint8_t *dest, int line_size, DCTELEM *block);
+ void ff_vp3_idct_add_mmx(uint8_t *dest, int line_size, DCTELEM *block);
+@@ -32,4 +34,6 @@ void ff_vp3_idct_add_mmx(uint8_t *dest, 
+ void ff_vp3_v_loop_filter_mmx2(uint8_t *src, int stride, int *bounding_values);
+ void ff_vp3_h_loop_filter_mmx2(uint8_t *src, int stride, int *bounding_values);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_I386_VP3DSP_MMX_H */
+--- a/libavcodec/i386/vp3dsp_sse2.h
++++ b/libavcodec/i386/vp3dsp_sse2.h
+@@ -24,8 +24,12 @@
+ 
+ #include "libavcodec/dsputil.h"
+ 
++START_HIDDEN
++
+ void ff_vp3_idct_sse2(int16_t *input_data);
+ void ff_vp3_idct_put_sse2(uint8_t *dest, int line_size, DCTELEM *block);
+ void ff_vp3_idct_add_sse2(uint8_t *dest, int line_size, DCTELEM *block);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_I386_VP3DSP_SSE2_H */
+--- a/libavcodec/intrax8.h
++++ b/libavcodec/intrax8.h
+@@ -22,6 +22,8 @@
+ #include "bitstream.h"
+ #include "mpegvideo.h"
+ 
++START_HIDDEN
++
+ typedef struct{
+     VLC * j_ac_vlc[4];//they point to the static j_mb_vlc
+     VLC * j_orient_vlc;
+@@ -54,4 +56,6 @@ void ff_intrax8_common_init(IntraX8Conte
+ void ff_intrax8_common_end(IntraX8Context * w);
+ int  ff_intrax8_decode_picture(IntraX8Context * w, int quant, int halfpq);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_INTRAX8_H */
+--- a/libavcodec/jpegls.h
++++ b/libavcodec/jpegls.h
+@@ -30,6 +30,8 @@
+ 
+ #include "avcodec.h"
+ 
++START_HIDDEN
++
+ typedef struct JpeglsContext{
+     AVCodecContext *avctx;
+     AVFrame picture;
+@@ -108,4 +110,6 @@ static inline int ff_jpegls_update_state
+ #define R(a, i   ) (bits == 8 ?  ((uint8_t*)(a))[i]    :  ((uint16_t*)(a))[i]  )
+ #define W(a, i, v) (bits == 8 ? (((uint8_t*)(a))[i]=v) : (((uint16_t*)(a))[i]=v))
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_JPEGLS_H */
+--- a/libavcodec/jpeglsdec.h
++++ b/libavcodec/jpeglsdec.h
+@@ -31,6 +31,8 @@
+ #include "mjpeg.h"
+ #include "mjpegdec.h"
+ 
++START_HIDDEN
++
+ /**
+  * Decode LSE block with initialization parameters
+  */
+@@ -38,4 +40,6 @@ int ff_jpegls_decode_lse(MJpegDecodeCont
+ 
+ int ff_jpegls_decode_picture(MJpegDecodeContext *s, int near, int point_transform, int ilv);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_JPEGLSDEC_H */
+--- a/libavcodec/lzw.h
++++ b/libavcodec/lzw.h
+@@ -32,6 +32,8 @@
+ 
+ #include "bitstream.h"
+ 
++START_HIDDEN
++
+ enum FF_LZW_MODES{
+     FF_LZW_GIF,
+     FF_LZW_TIFF
+@@ -56,4 +58,6 @@ void ff_lzw_encode_init(struct LZWEncode
+ int ff_lzw_encode(struct LZWEncodeState * s, const uint8_t * inbuf, int insize);
+ int ff_lzw_encode_flush(struct LZWEncodeState * s);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_LZW_H */
+--- a/libavcodec/mjpeg.h
++++ b/libavcodec/mjpeg.h
+@@ -37,6 +37,8 @@
+ #include "bitstream.h"
+ 
+ 
++START_HIDDEN
++
+ /* JPEG marker codes */
+ typedef enum {
+     /* start of frame */
+@@ -152,4 +154,6 @@ void ff_mjpeg_build_huffman_codes(uint8_
+                                   const uint8_t *bits_table,
+                                   const uint8_t *val_table);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_MJPEG_H */
+--- a/libavcodec/mjpegdec.h
++++ b/libavcodec/mjpegdec.h
+@@ -33,6 +33,8 @@
+ #include "bitstream.h"
+ #include "dsputil.h"
+ 
++START_HIDDEN
++
+ #define MAX_COMPONENTS 4
+ 
+ typedef struct MJpegDecodeContext {
+@@ -108,4 +110,6 @@ int ff_mjpeg_decode_dht(MJpegDecodeConte
+ int ff_mjpeg_decode_sof(MJpegDecodeContext *s);
+ int ff_mjpeg_decode_sos(MJpegDecodeContext *s);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_MJPEGDEC_H */
+--- a/libavcodec/mjpegenc.h
++++ b/libavcodec/mjpegenc.h
+@@ -36,6 +36,8 @@
+ #include "dsputil.h"
+ #include "mpegvideo.h"
+ 
++START_HIDDEN
++
+ typedef struct MJpegContext {
+     uint8_t huff_size_dc_luminance[12]; //FIXME use array [3] instead of lumi / chrom, for easier addressing
+     uint16_t huff_code_dc_luminance[12];
+@@ -57,4 +59,6 @@ void ff_mjpeg_encode_dc(MpegEncContext *
+                         uint8_t *huff_size, uint16_t *huff_code);
+ void ff_mjpeg_encode_mb(MpegEncContext *s, DCTELEM block[6][64]);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_MJPEGENC_H */
+--- a/libavcodec/mpeg12.h
++++ b/libavcodec/mpeg12.h
+@@ -24,6 +24,8 @@
+ 
+ #include "mpegvideo.h"
+ 
++START_HIDDEN
++
+ #define DC_VLC_BITS 9
+ #define TEX_VLC_BITS 9
+ 
+@@ -56,4 +58,6 @@ static inline int decode_dc(GetBitContex
+     return diff;
+ }
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_MPEG12_H */
+--- a/libavcodec/mpeg12data.h
++++ b/libavcodec/mpeg12data.h
+@@ -32,6 +32,8 @@
+ #include "libavutil/rational.h"
+ #include "rl.h"
+ 
++START_HIDDEN
++
+ extern const uint16_t ff_mpeg1_default_intra_matrix[64];
+ extern const uint16_t ff_mpeg1_default_non_intra_matrix[64];
+ 
+@@ -48,9 +50,11 @@ extern const uint8_t ff_mpeg12_mbPatTabl
+ 
+ extern const uint8_t ff_mpeg12_mbMotionVectorTable[17][2];
+ 
+-extern const AVRational ff_frame_rate_tab[];
++extern attribute_visible const AVRational ff_frame_rate_tab[];
+ 
+ extern const float ff_mpeg1_aspect[16];
+ extern const AVRational ff_mpeg2_aspect[16];
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_MPEG12DATA_H */
+--- a/libavcodec/mpeg4audio.h
++++ b/libavcodec/mpeg4audio.h
+@@ -24,6 +24,8 @@
+ 
+ #include <stdint.h>
+ 
++START_HIDDEN
++
+ typedef struct {
+     int object_type;
+     int sampling_index;
+@@ -35,8 +37,8 @@ typedef struct {
+     int ext_sample_rate;
+ } MPEG4AudioConfig;
+ 
+-extern const int ff_mpeg4audio_sample_rates[16];
+-extern const uint8_t ff_mpeg4audio_channels[8];
++extern attribute_visible const int ff_mpeg4audio_sample_rates[16];
++extern attribute_visible const uint8_t ff_mpeg4audio_channels[8];
+ /**
+  * Parse MPEG-4 systems extradata to retrieve audio configuration.
+  * @param[in] c        MPEG4AudioConfig structure to fill.
+@@ -44,6 +46,8 @@ extern const uint8_t ff_mpeg4audio_chann
+  * @param[in] buf_size Extradata size.
+  * @return On error -1 is returned, on success AudioSpecificConfig bit index in extradata.
+  */
+-int ff_mpeg4audio_get_config(MPEG4AudioConfig *c, const uint8_t *buf, int buf_size);
++attribute_visible int ff_mpeg4audio_get_config(MPEG4AudioConfig *c, const uint8_t *buf, int buf_size);
++
++END_HIDDEN
+ 
+ #endif /* AVCODEC_MPEG4AUDIO_H */
+--- a/libavcodec/mpeg4data.h
++++ b/libavcodec/mpeg4data.h
+@@ -31,6 +31,8 @@
+ #include <stdint.h>
+ #include "mpegvideo.h"
+ 
++START_HIDDEN
++
+ // shapes
+ #define RECT_SHAPE       0
+ #define BIN_SHAPE        1
+@@ -429,4 +431,6 @@ static const uint8_t mpeg4_dc_threshold[
+     99, 13, 15, 17, 19, 21, 23, 0
+ };
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_MPEG4DATA_H */
+--- a/libavcodec/mpegaudio.h
++++ b/libavcodec/mpegaudio.h
+@@ -30,6 +30,8 @@
+ #include "bitstream.h"
+ #include "dsputil.h"
+ 
++START_HIDDEN
++
+ /* max frame size, in samples */
+ #define MPA_FRAME_SIZE 1152
+ 
+@@ -128,7 +130,7 @@ typedef struct HuffTable {
+ } HuffTable;
+ 
+ int ff_mpa_l2_select_table(int bitrate, int nb_channels, int freq, int lsf);
+-int ff_mpa_decode_header(AVCodecContext *avctx, uint32_t head, int *sample_rate);
++attribute_visible int ff_mpa_decode_header(AVCodecContext *avctx, uint32_t head, int *sample_rate);
+ void ff_mpa_synth_init(MPA_INT *window);
+ void ff_mpa_synth_filter(MPA_INT *synth_buf_ptr, int *synth_buf_offset,
+                          MPA_INT *window, int *dither_state,
+@@ -152,4 +154,6 @@ static inline int ff_mpa_check_header(ui
+     return 0;
+ }
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_MPEGAUDIO_H */
+--- a/libavcodec/mpegaudiodata.h
++++ b/libavcodec/mpegaudiodata.h
+@@ -29,15 +29,19 @@
+ 
+ #include "libavutil/common.h"
+ 
++START_HIDDEN
++
+ #define MODE_EXT_MS_STEREO 2
+ #define MODE_EXT_I_STEREO  1
+ 
+-extern const uint16_t ff_mpa_bitrate_tab[2][3][15];
+-extern const uint16_t ff_mpa_freq_tab[3];
++extern attribute_visible const uint16_t ff_mpa_bitrate_tab[2][3][15];
++extern attribute_visible const uint16_t ff_mpa_freq_tab[3];
+ extern const int32_t ff_mpa_enwindow[257];
+ extern const int ff_mpa_sblimit_table[5];
+ extern const int ff_mpa_quant_steps[17];
+ extern const int ff_mpa_quant_bits[17];
+ extern const unsigned char * const ff_mpa_alloc_tables[5];
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_MPEGAUDIODATA_H */
+--- a/libavcodec/mpegvideo.h
++++ b/libavcodec/mpegvideo.h
+@@ -35,6 +35,8 @@
+ #include "mpeg12data.h"
+ #include "rl.h"
+ 
++START_HIDDEN
++
+ #define FRAME_SKIPPED 100 ///< return value for header parsers if frame is not coded
+ 
+ enum OutputFormat {
+@@ -690,7 +692,7 @@ void ff_write_quant_matrix(PutBitContext
+ int ff_find_unused_picture(MpegEncContext *s, int shared);
+ void ff_denoise_dct(MpegEncContext *s, DCTELEM *block);
+ void ff_update_duplicate_context(MpegEncContext *dst, MpegEncContext *src);
+-const uint8_t *ff_find_start_code(const uint8_t *p, const uint8_t *end, uint32_t *state);
++attribute_visible const uint8_t *ff_find_start_code(const uint8_t *p, const uint8_t *end, uint32_t *state);
+ 
+ void ff_er_frame_start(MpegEncContext *s);
+ void ff_er_frame_end(MpegEncContext *s);
+@@ -865,5 +867,7 @@ void ff_wmv2_encode_mb(MpegEncContext * 
+                        DCTELEM block[6][64],
+                        int motion_x, int motion_y);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_MPEGVIDEO_H */
+ 
+--- a/libavcodec/mpegvideo_common.h
++++ b/libavcodec/mpegvideo_common.h
+@@ -38,6 +38,8 @@
+ #include "faandct.h"
+ #include <limits.h>
+ 
++START_HIDDEN
++
+ int dct_quantize_c(MpegEncContext *s, DCTELEM *block, int n, int qscale, int *overflow);
+ int dct_quantize_trellis_c(MpegEncContext *s, DCTELEM *block, int n, int qscale, int *overflow);
+ void  denoise_dct_c(MpegEncContext *s, DCTELEM *block);
+@@ -897,4 +899,7 @@ static inline void MPV_motion(MpegEncCon
+         MPV_motion_internal(s, dest_y, dest_cb, dest_cr, dir,
+                             ref_picture, pix_op, qpix_op, 0);
+ }
++
++END_HIDDEN
++
+ #endif /* AVCODEC_MPEGVIDEO_COMMON_H */
+--- a/libavcodec/msmpeg4.c
++++ b/libavcodec/msmpeg4.c
+@@ -70,7 +70,7 @@ static int msmpeg4v12_decode_mb(MpegEncC
+ static int msmpeg4v34_decode_mb(MpegEncContext *s, DCTELEM block[6][64]);
+ 
+ /* vc1 externs */
+-extern const uint8_t wmv3_dc_scale_table[32];
++extern attribute_hidden const uint8_t wmv3_dc_scale_table[32];
+ 
+ #ifdef DEBUG
+ int intra_count = 0;
+--- a/libavcodec/msmpeg4.h
++++ b/libavcodec/msmpeg4.h
+@@ -31,6 +31,8 @@
+ #include "dsputil.h"
+ #include "mpegvideo.h"
+ 
++START_HIDDEN
++
+ #define INTER_INTRA_VLC_BITS 3
+ #define MB_NON_INTRA_VLC_BITS 9
+ #define MB_INTRA_VLC_BITS 9
+@@ -62,4 +64,6 @@ int ff_wmv2_decode_mb(MpegEncContext *s,
+ #define ENABLE_WMV_DECODER (ENABLE_WMV1_DECODER || ENABLE_WMV2_DECODER)
+ #define ENABLE_WMV_ENCODER (ENABLE_WMV1_ENCODER || ENABLE_WMV2_ENCODER)
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_MSMPEG4_H */
+--- a/libavcodec/msmpeg4data.c
++++ b/libavcodec/msmpeg4data.c
+@@ -592,13 +592,13 @@ static const int8_t table4_run[168] = {
+  29, 30, 31, 32, 33, 34, 35, 36,
+ };
+ 
+-extern const uint16_t inter_vlc[103][2];
+-extern const int8_t inter_level[102];
+-extern const int8_t inter_run[102];
+-
+-extern const uint16_t intra_vlc[103][2];
+-extern const int8_t intra_level[102];
+-extern const int8_t intra_run[102];
++extern attribute_hidden const uint16_t inter_vlc[103][2];
++extern attribute_hidden const int8_t inter_level[102];
++extern attribute_hidden const int8_t inter_run[102];
++
++extern attribute_hidden const uint16_t intra_vlc[103][2];
++extern attribute_hidden const int8_t intra_level[102];
++extern attribute_hidden const int8_t intra_run[102];
+ 
+ RLTable rl_table[NB_RL_TABLES] = {
+     /* intra luminance tables */
+--- a/libavcodec/msmpeg4data.h
++++ b/libavcodec/msmpeg4data.h
+@@ -34,6 +34,8 @@
+ #include "bitstream.h"
+ #include "rl.h"
+ 
++START_HIDDEN
++
+ /* motion vector table */
+ typedef struct MVTable {
+     int n;
+@@ -96,4 +98,6 @@ extern const uint32_t (* const wmv2_inte
+ extern const uint8_t wmv2_scantableA[64];
+ extern const uint8_t wmv2_scantableB[64];
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_MSMPEG4DATA_H */
+--- a/libavcodec/parser.h
++++ b/libavcodec/parser.h
+@@ -25,6 +25,8 @@
+ 
+ #include "avcodec.h"
+ 
++START_HIDDEN
++
+ typedef struct ParseContext{
+     uint8_t *buffer;
+     int index;
+@@ -67,4 +69,6 @@ void ff_parse1_close(AVCodecParserContex
+  */
+ void ff_fetch_timestamp(AVCodecParserContext *s, int off, int remove);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_PARSER_H */
+--- a/libavcodec/png.h
++++ b/libavcodec/png.h
+@@ -24,6 +24,8 @@
+ 
+ #include <stdint.h>
+ 
++START_HIDDEN
++
+ #define PNG_COLOR_MASK_PALETTE    1
+ #define PNG_COLOR_MASK_COLOR      2
+ #define PNG_COLOR_MASK_ALPHA      4
+@@ -74,4 +76,6 @@ extern int ff_png_get_nb_channels(int co
+ /* compute the row size of an interleaved pass */
+ extern int ff_png_pass_row_size(int pass, int bits_per_pixel, int width);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_PNG_H */
+--- a/libavcodec/rangecoder.h
++++ b/libavcodec/rangecoder.h
+@@ -31,6 +31,8 @@
+ #include <assert.h>
+ #include "libavutil/common.h"
+ 
++START_HIDDEN
++
+ typedef struct RangeCoder{
+     int low;
+     int range;
+@@ -138,4 +140,6 @@ static inline int get_rac(RangeCoder *c,
+ #endif
+ }
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_RANGECODER_H */
+--- a/libavcodec/ratecontrol.h
++++ b/libavcodec/ratecontrol.h
+@@ -32,6 +32,8 @@
+ #include <stdint.h>
+ #include "eval.h"
+ 
++START_HIDDEN
++
+ typedef struct Predictor{
+     double coeff;
+     double count;
+@@ -101,5 +103,6 @@ int ff_xvid_rate_control_init(struct Mpe
+ void ff_xvid_rate_control_uninit(struct MpegEncContext *s);
+ float ff_xvid_rate_estimate_qscale(struct MpegEncContext *s, int dry_run);
+ 
+-#endif /* AVCODEC_RATECONTROL_H */
++END_HIDDEN
+ 
++#endif /* AVCODEC_RATECONTROL_H */
+--- a/libavcodec/roqvideo.h
++++ b/libavcodec/roqvideo.h
+@@ -26,6 +26,8 @@
+ #include "avcodec.h"
+ #include "dsputil.h"
+ 
++START_HIDDEN
++
+ typedef struct {
+     unsigned char y[4];
+     unsigned char u, v;
+@@ -89,4 +91,6 @@ void ff_apply_motion_4x4(RoqContext *ri,
+ 
+ void ff_apply_motion_8x8(RoqContext *ri, int x, int y, int deltax, int deltay);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_ROQVIDEO_H */
+--- a/libavcodec/simple_idct.h
++++ b/libavcodec/simple_idct.h
+@@ -31,6 +31,8 @@
+ #include <stdint.h>
+ #include "dsputil.h"
+ 
++START_HIDDEN
++
+ void ff_simple_idct_put(uint8_t *dest, int line_size, DCTELEM *block);
+ void ff_simple_idct_add(uint8_t *dest, int line_size, DCTELEM *block);
+ void ff_simple_idct_mmx(int16_t *block);
+@@ -44,4 +46,6 @@ void ff_simple_idct84_add(uint8_t *dest,
+ void ff_simple_idct48_add(uint8_t *dest, int line_size, DCTELEM *block);
+ void ff_simple_idct44_add(uint8_t *dest, int line_size, DCTELEM *block);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_SIMPLE_IDCT_H */
+--- a/libavcodec/snow.h
++++ b/libavcodec/snow.h
+@@ -24,6 +24,8 @@
+ 
+ #include "dsputil.h"
+ 
++START_HIDDEN
++
+ #define MID_STATE 128
+ 
+ #define MAX_DECOMPOSITIONS 8
+@@ -171,4 +173,6 @@ static av_always_inline void snow_horizo
+         }
+ }
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_SNOW_H */
+--- a/libavcodec/svq1.h
++++ b/libavcodec/svq1.h
+@@ -37,6 +37,10 @@
+ 
+ #include <stdint.h>
+ 
++#include "libavutil/common.h"
++
++START_HIDDEN
++
+ #define SVQ1_BLOCK_SKIP         0
+ #define SVQ1_BLOCK_INTER        1
+ #define SVQ1_BLOCK_INTER_4V     2
+@@ -61,4 +65,6 @@ extern const uint16_t ff_svq1_inter_mean
+ 
+ extern const svq1_frame_size_t ff_svq1_frame_size_table[8];
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_SVQ1_H */
+--- a/libavcodec/vc1.h
++++ b/libavcodec/vc1.h
+@@ -27,6 +27,8 @@
+ #include "mpegvideo.h"
+ #include "intrax8.h"
+ 
++START_HIDDEN
++
+ /** Markers used in VC-1 AP frame data */
+ //@{
+ enum VC1Code{
+@@ -308,4 +310,6 @@ typedef struct VC1Context{
+     uint32_t *cbp_base, *cbp;
+ } VC1Context;
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_VC1_H */
+--- a/libavcodec/vc1data.h
++++ b/libavcodec/vc1data.h
+@@ -32,6 +32,8 @@
+ #include "libavutil/rational.h"
+ #include "bitstream.h"
+ 
++START_HIDDEN
++
+ /** Table for conversion between TTBLK and TTMB */
+ extern const int ff_vc1_ttblk_to_tt[3][8];
+ 
+@@ -154,4 +156,6 @@ extern const int8_t ff_vc1_adv_interlace
+ /* DQScale as specified in 8.1.3.9 - almost identical to 0x40000/i */
+ extern const int32_t ff_vc1_dqscale[63];
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_VC1DATA_H */
+--- a/libavcodec/vorbis.h
++++ b/libavcodec/vorbis.h
+@@ -23,6 +23,8 @@
+ 
+ #include "avcodec.h"
+ 
++START_HIDDEN
++
+ extern const float ff_vorbis_floor1_inverse_db_table[256];
+ extern const float * const ff_vorbis_vwin[8];
+ 
+@@ -40,4 +42,6 @@ void ff_vorbis_floor1_render_list(floor1
+ 
+ #define ilog(i) av_log2(2*(i))
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_VORBIS_H */
+--- a/libavcodec/vorbis_enc_data.h
++++ b/libavcodec/vorbis_enc_data.h
+@@ -23,6 +23,8 @@
+ 
+ #include <stdint.h>
+ 
++START_HIDDEN
++
+ static const uint8_t codebook0[] = {
+    2, 10,  8, 14,  7, 12, 11, 14,  1,  5,  3,  7,  4,  9,  7,
+   13,
+@@ -502,4 +504,6 @@ static const struct {
+     { 3, 2, 3, (const int[]){ -1, 12, 13, 14 } },
+ };
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_VORBIS_ENC_DATA_H */
+--- a/libavcodec/vp56.h
++++ b/libavcodec/vp56.h
+@@ -30,6 +30,8 @@
+ #include "bytestream.h"
+ 
+ 
++START_HIDDEN
++
+ typedef struct vp56_context vp56_context_t;
+ typedef struct vp56_mv vp56_mv_t;
+ 
+@@ -265,4 +267,6 @@ static inline int vp56_rac_get_tree(vp56
+     return -tree->val;
+ }
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_VP56_H */
+--- a/libavcodec/vp56data.h
++++ b/libavcodec/vp56data.h
+@@ -26,6 +26,8 @@
+ 
+ #include "libavutil/common.h"
+ 
++START_HIDDEN
++
+ typedef enum {
+     VP56_FRAME_NONE     =-1,
+     VP56_FRAME_CURRENT  = 0,
+@@ -249,4 +251,6 @@ static const int8_t vp56_candidate_predi
+     {  2, -2 },
+ };
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_VP56DATA_H */
+--- a/libavcodec/wma.h
++++ b/libavcodec/wma.h
+@@ -25,6 +25,8 @@
+ #include "bitstream.h"
+ #include "dsputil.h"
+ 
++START_HIDDEN
++
+ /* size of blocks */
+ #define BLOCK_MIN_BITS 7
+ #define BLOCK_MAX_BITS 11
+@@ -146,4 +148,6 @@ int ff_wma_init(AVCodecContext * avctx, 
+ int ff_wma_total_gain_to_bits(int total_gain);
+ int ff_wma_end(AVCodecContext *avctx);
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_WMA_H */
+--- a/libavcodec/wmadata.h
++++ b/libavcodec/wmadata.h
+@@ -30,6 +30,8 @@
+ #include <stdint.h>
+ #include "wma.h"
+ 
++START_HIDDEN
++
+ static const uint16_t wma_critical_freqs[25] = {
+     100,   200,  300, 400,   510,  630,  770,    920,
+     1080, 1270, 1480, 1720, 2000, 2320, 2700,   3150,
+@@ -1438,4 +1440,6 @@ static const CoefVLCTable coef_vlcs[6] =
+     },
+ };
+ 
++END_HIDDEN
++
+ #endif /* AVCODEC_WMADATA_H */
+--- a/libavutil/internal.h
++++ b/libavutil/internal.h
+@@ -50,6 +50,30 @@
+ #endif
+ #endif
+ 
++#ifndef attribute_hidden
++#if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0)
++#    define attribute_hidden __attribute__((visibility("hidden")))
++#else
++#    define attribute_hidden
++#endif
++#endif
++
++#ifndef attribute_visible
++#if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0)
++#    define attribute_visible __attribute__((visibility("default")))
++#else
++#    define attribute_visible
++#endif
++#endif
++
++#ifdef CONFIG_SYMBOL_HIDING
++#    define START_HIDDEN _Pragma("GCC visibility push(hidden)")
++#    define END_HIDDEN   _Pragma("GCC visibility pop")
++#else
++#    define START_HIDDEN
++#    define END_HIDDEN
++#endif
++
+ #ifndef INT16_MIN
+ #define INT16_MIN       (-0x7fff-1)
+ #endif
+@@ -124,7 +148,7 @@
+ 
+ /* math */
+ 
+-extern const uint32_t ff_inverse[256];
++extern attribute_hidden const uint32_t ff_inverse[256];
+ 
+ #if defined(ARCH_X86)
+ #    define FASTDIV(a,b) \

Modified: experimental/ffmpeg-debian/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-multimedia/experimental/ffmpeg-debian/debian/patches/series?rev=1527&op=diff
==============================================================================
--- experimental/ffmpeg-debian/debian/patches/series (original)
+++ experimental/ffmpeg-debian/debian/patches/series Sat Nov  1 13:53:18 2008
@@ -1,3 +1,4 @@
 001_fixup_version.diff
 #015_reenable-img_convert.diff
+020_visibility_patch
 900_doxyfile




More information about the pkg-multimedia-commits mailing list