annotate flacdata.c @ 12530:63edd10ad4bc libavcodec tip

Try to fix crashes introduced by r25218 r25218 made assumptions about the existence of past reference frames that weren't necessarily true.
author darkshikari
date Tue, 28 Sep 2010 09:06:22 +0000
parents 782d31263979
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1811
98d4d32b90e8 flac decoder by (Alex Beregszaszi <alex at fsn dot hu>)
michael
parents:
diff changeset
1 /*
9213
782d31263979 share sample rate and blocksize tables between the FLAC encoder and FLAC
jbr
parents: 9211
diff changeset
2 * FLAC data
1811
98d4d32b90e8 flac decoder by (Alex Beregszaszi <alex at fsn dot hu>)
michael
parents:
diff changeset
3 * Copyright (c) 2003 Alex Beregszaszi
98d4d32b90e8 flac decoder by (Alex Beregszaszi <alex at fsn dot hu>)
michael
parents:
diff changeset
4 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3649
diff changeset
5 * This file is part of FFmpeg.
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3649
diff changeset
6 *
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3649
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
1811
98d4d32b90e8 flac decoder by (Alex Beregszaszi <alex at fsn dot hu>)
michael
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
98d4d32b90e8 flac decoder by (Alex Beregszaszi <alex at fsn dot hu>)
michael
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3649
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
1811
98d4d32b90e8 flac decoder by (Alex Beregszaszi <alex at fsn dot hu>)
michael
parents:
diff changeset
11 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3649
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
1811
98d4d32b90e8 flac decoder by (Alex Beregszaszi <alex at fsn dot hu>)
michael
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
98d4d32b90e8 flac decoder by (Alex Beregszaszi <alex at fsn dot hu>)
michael
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
98d4d32b90e8 flac decoder by (Alex Beregszaszi <alex at fsn dot hu>)
michael
parents:
diff changeset
15 * Lesser General Public License for more details.
98d4d32b90e8 flac decoder by (Alex Beregszaszi <alex at fsn dot hu>)
michael
parents:
diff changeset
16 *
98d4d32b90e8 flac decoder by (Alex Beregszaszi <alex at fsn dot hu>)
michael
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3649
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
3036
0b546eab515d Update licensing information: The FSF changed postal address.
diego
parents: 2967
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1811
98d4d32b90e8 flac decoder by (Alex Beregszaszi <alex at fsn dot hu>)
michael
parents:
diff changeset
20 */
98d4d32b90e8 flac decoder by (Alex Beregszaszi <alex at fsn dot hu>)
michael
parents:
diff changeset
21
9101
03a05f3afbae flacdec: Avoid trying to read 33 bits. This occurs when the source
jbr
parents: 9100
diff changeset
22 #include "internal.h"
1811
98d4d32b90e8 flac decoder by (Alex Beregszaszi <alex at fsn dot hu>)
michael
parents:
diff changeset
23
9213
782d31263979 share sample rate and blocksize tables between the FLAC encoder and FLAC
jbr
parents: 9211
diff changeset
24 const int ff_flac_sample_rate_table[16] =
8638
1088ea188568 flacdec: add support for 3 additional sample rate codes
jbr
parents: 7785
diff changeset
25 { 0,
1088ea188568 flacdec: add support for 3 additional sample rate codes
jbr
parents: 7785
diff changeset
26 88200, 176400, 192000,
1811
98d4d32b90e8 flac decoder by (Alex Beregszaszi <alex at fsn dot hu>)
michael
parents:
diff changeset
27 8000, 16000, 22050, 24000, 32000, 44100, 48000, 96000,
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2859
diff changeset
28 0, 0, 0, 0 };
1811
98d4d32b90e8 flac decoder by (Alex Beregszaszi <alex at fsn dot hu>)
michael
parents:
diff changeset
29
9213
782d31263979 share sample rate and blocksize tables between the FLAC encoder and FLAC
jbr
parents: 9211
diff changeset
30 const int16_t ff_flac_blocksize_table[16] = {
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2859
diff changeset
31 0, 192, 576<<0, 576<<1, 576<<2, 576<<3, 0, 0,
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2859
diff changeset
32 256<<0, 256<<1, 256<<2, 256<<3, 256<<4, 256<<5, 256<<6, 256<<7
1816
fa7d0134f9f0 simplify
michael
parents: 1814
diff changeset
33 };