FFmpeg
opus_silk.h
Go to the documentation of this file.
1 /*
2  * Opus Silk functions/definitions
3  * Copyright (c) 2012 Andrew D'Addesio
4  * Copyright (c) 2013-2014 Mozilla Corporation
5  *
6  * This file is part of FFmpeg.
7  *
8  * FFmpeg is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * FFmpeg is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with FFmpeg; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21  */
22 
23 #ifndef AVCODEC_OPUS_SILK_H
24 #define AVCODEC_OPUS_SILK_H
25 
26 #include "avcodec.h"
27 #include "opus.h"
28 #include "opus_rc.h"
29 
30 #define SILK_HISTORY 322
31 #define SILK_MAX_LPC 16
32 
33 typedef struct SilkContext SilkContext;
34 
36 void ff_silk_free(SilkContext **ps);
38 
39 /**
40  * Decode the LP layer of one Opus frame (which may correspond to several SILK
41  * frames).
42  */
44  float *output[2],
45  enum OpusBandwidth bandwidth, int coded_channels,
46  int duration_ms);
47 
48 #endif /* AVCODEC_OPUS_SILK_H */
SilkContext::output_channels
int output_channels
Definition: opus_silk.c:52
output
filter_frame For filters that do not use the this method is called when a frame is pushed to the filter s input It can be called at any time except in a reentrant way If the input frame is enough to produce output
Definition: filter_design.txt:225
opus.h
ff_silk_free
void ff_silk_free(SilkContext **ps)
Definition: opus_silk.c:869
SilkContext::bandwidth
enum OpusBandwidth bandwidth
Definition: opus_silk.c:60
s
#define s(width, name)
Definition: cbs_vp9.c:256
ff_silk_flush
void ff_silk_flush(SilkContext *s)
Definition: opus_silk.c:874
SilkContext
Definition: opus_silk.c:50
ff_silk_init
int ff_silk_init(AVCodecContext *avctx, SilkContext **ps, int output_channels)
Definition: opus_silk.c:882
OpusRangeCoder
Definition: opus_rc.h:39
SilkContext::avctx
AVCodecContext * avctx
Definition: opus_silk.c:51
avcodec.h
AVCodecContext
main external API structure.
Definition: avcodec.h:398
opus_rc.h
OpusBandwidth
OpusBandwidth
Definition: opus.h:49
ff_silk_decode_superframe
int ff_silk_decode_superframe(SilkContext *s, OpusRangeCoder *rc, float *output[2], enum OpusBandwidth bandwidth, int coded_channels, int duration_ms)
Decode the LP layer of one Opus frame (which may correspond to several SILK frames).
Definition: opus_silk.c:791