Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavcodec
mpegaudio.c
Go to the documentation of this file.
1
/*
2
* MPEG Audio common code
3
* Copyright (c) 2001, 2002 Fabrice Bellard
4
*
5
* This file is part of Libav.
6
*
7
* Libav is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* Libav is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with Libav; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
27
#include "
mpegaudio.h
"
28
29
30
/* bitrate is in kb/s */
31
int
ff_mpa_l2_select_table
(
int
bitrate,
int
nb_channels
,
int
freq,
int
lsf)
32
{
33
int
ch_bitrate, table;
34
35
ch_bitrate = bitrate /
nb_channels
;
36
if
(!lsf) {
37
if
((freq == 48000 && ch_bitrate >= 56) ||
38
(ch_bitrate >= 56 && ch_bitrate <= 80))
39
table = 0;
40
else
if
(freq != 48000 && ch_bitrate >= 96)
41
table = 1;
42
else
if
(freq != 32000 && ch_bitrate <= 48)
43
table = 2;
44
else
45
table = 3;
46
}
else
{
47
table = 4;
48
}
49
return
table;
50
}