]> git.sesse.net Git - ffmpeg/blob - libavcodec/eac3enc.h
cook: Make constants passed to AV_BE2NE32C() unsigned to avoid signed overflow.
[ffmpeg] / libavcodec / eac3enc.h
1 /*
2  * E-AC-3 encoder
3  * Copyright (c) 2011 Justin Ruggles <justin.ruggles@gmail.com>
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
22 /**
23  * @file
24  * E-AC-3 encoder
25  */
26
27 #ifndef AVCODEC_EAC3ENC_H
28 #define AVCODEC_EAC3ENC_H
29
30 #include "ac3enc.h"
31
32 /**
33  * Initialize E-AC-3 exponent tables.
34  */
35 void ff_eac3_exponent_init(void);
36
37 /**
38  * Determine frame exponent strategy use and indices.
39  */
40 void ff_eac3_get_frame_exp_strategy(AC3EncodeContext *s);
41
42 /**
43  * Set coupling states.
44  * This determines whether certain flags must be written to the bitstream or
45  * whether they will be implicitly already known by the decoder.
46  */
47 void ff_eac3_set_cpl_states(AC3EncodeContext *s);
48
49 /**
50  * Write the E-AC-3 frame header to the output bitstream.
51  */
52 void ff_eac3_output_frame_header(AC3EncodeContext *s);
53
54 #endif /* AVCODEC_EAC3ENC_H */