diff options
| author | Mike Melanson <mike@multimedia.cx> | 2005-04-19 05:16:45 +0000 |
|---|---|---|
| committer | Mike Melanson <mike@multimedia.cx> | 2005-04-19 05:16:45 +0000 |
| commit | 97c50cb77949856573d7f5f5a3c28cb73e61e011 (patch) | |
| tree | 2dbabcbb9009b09d66789498ce1d2451a4b39bc0 /src/libffmpeg/libavcodec/mpegaudio.h | |
| parent | 19e7199dad84489aa49e3b2dd5c0e45657ec0fb8 (diff) | |
| download | xine-lib-97c50cb77949856573d7f5f5a3c28cb73e61e011.tar.gz xine-lib-97c50cb77949856573d7f5f5a3c28cb73e61e011.tar.bz2 | |
sync to FFmpeg build 4752
CVS patchset: 7463
CVS date: 2005/04/19 05:16:45
Diffstat (limited to 'src/libffmpeg/libavcodec/mpegaudio.h')
| -rw-r--r-- | src/libffmpeg/libavcodec/mpegaudio.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/libffmpeg/libavcodec/mpegaudio.h b/src/libffmpeg/libavcodec/mpegaudio.h index e50e8bd6f..072c41bda 100644 --- a/src/libffmpeg/libavcodec/mpegaudio.h +++ b/src/libffmpeg/libavcodec/mpegaudio.h @@ -18,6 +18,10 @@ #define MPA_DUAL 2 #define MPA_MONO 3 +/* header + layer + bitrate + freq + lsf/mpeg25 */ +#define SAME_HEADER_MASK \ + (0xffe00000 | (3 << 17) | (0xf << 12) | (3 << 10) | (3 << 19)) + int l2_select_table(int bitrate, int nb_channels, int freq, int lsf); int mpa_decode_header(AVCodecContext *avctx, uint32_t head); @@ -29,3 +33,20 @@ extern const int sblimit_table[5]; extern const int quant_steps[17]; extern const int quant_bits[17]; extern const int32_t mpa_enwindow[257]; + +/* fast header check for resync */ +static inline int ff_mpa_check_header(uint32_t header){ + /* header */ + if ((header & 0xffe00000) != 0xffe00000) + return -1; + /* layer check */ + if ((header & (3<<17)) == 0) + return -1; + /* bit rate */ + if ((header & (0xf<<12)) == 0xf<<12) + return -1; + /* frequency */ + if ((header & (3<<10)) == 3<<10) + return -1; + return 0; +} |
