#include <inttypes.h>
#include <math.h>
#include "libavutil/float_dsp.h"
#include "libavutil/avassert.h"
#include "avcodec.h"
#include "get_bits.h"
#include "dsputil.h"
#include "fft.h"
#include "fmtconvert.h"
#include "vorbis.h"
#include "xiph.h"
Go to the source code of this file.
This file is part of FFmpeg.
FFmpeg is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
FFmpeg is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with FFmpeg; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Definition in file vorbisdec.c.
| #define BARK | ( | x | ) | (13.1f * atan(0.00074f * (x)) + 2.24f * atan(1.85e-8f * (x) * (x)) + 1e-4f * (x)) | 
| #define BITSTREAM_READER_LE | 
Definition at line 32 of file vorbisdec.c.
| #define GET_VALIDATED_INDEX | ( | idx, | |||
| bits, | |||||
| limit | ) | 
Value:
{\
        idx = get_bits(gb, bits);\
        VALIDATE_INDEX(idx, limit)\
    }
Definition at line 174 of file vorbisdec.c.
Referenced by vorbis_parse_audio_packet(), vorbis_parse_setup_hdr_floors(), vorbis_parse_setup_hdr_mappings(), vorbis_parse_setup_hdr_modes(), and vorbis_parse_setup_hdr_residues().
| #define V_MAX_PARTITIONS (1 << 20) | 
| #define V_MAX_VLCS (1 << 16) | 
| #define V_NB_BITS 8 | 
| #define V_NB_BITS2 11 | 
| #define VALIDATE_INDEX | ( | idx, | |||
| limit | ) | 
Value:
if (idx >= limit) {\ av_log(vc->avccontext, AV_LOG_ERROR,\ idx_err_str,\ (int)(idx), (int)(limit - 1), #idx, __FILE__, __LINE__);\ return AVERROR_INVALIDDATA;\ }
Definition at line 167 of file vorbisdec.c.
Referenced by vorbis_parse_setup_hdr_floors().
| typedef struct vorbis_context_s vorbis_context | 
| typedef struct vorbis_floor0_s vorbis_floor0 | 
Definition at line 59 of file vorbisdec.c.
| typedef struct vorbis_floor1_s vorbis_floor1 | 
Definition at line 60 of file vorbisdec.c.
| typedef union vorbis_floor_u vorbis_floor_data | 
Definition at line 58 of file vorbisdec.c.
| typedef int(* vorbis_floor_decode_func)(struct vorbis_context_s *, vorbis_floor_data *, float *) | 
Definition at line 64 of file vorbisdec.c.
| static void create_map | ( | vorbis_context * | vc, | |
| unsigned | floor_number | |||
| ) |  [static] | 
        
| void ff_vorbis_inverse_coupling | ( | float * | mag, | |
| float * | ang, | |||
| int | blocksize | |||
| ) | 
| static av_cold int vorbis_decode_close | ( | AVCodecContext * | avccontext | ) |  [static] | 
        
Definition at line 1711 of file vorbisdec.c.
| static av_cold void vorbis_decode_flush | ( | AVCodecContext * | avccontext | ) |  [static] | 
        
Definition at line 1720 of file vorbisdec.c.
| static int vorbis_decode_frame | ( | AVCodecContext * | avccontext, | |
| void * | data, | |||
| int * | got_frame_ptr, | |||
| AVPacket * | avpkt | |||
| ) |  [static] | 
        
Definition at line 1653 of file vorbisdec.c.
| static av_cold int vorbis_decode_init | ( | AVCodecContext * | avccontext | ) |  [static] | 
        
Definition at line 978 of file vorbisdec.c.
| static int vorbis_floor0_decode | ( | vorbis_context * | vc, | |
| vorbis_floor_data * | vfu, | |||
| float * | vec | |||
| ) |  [static] | 
        
| static int vorbis_floor1_decode | ( | vorbis_context * | vc, | |
| vorbis_floor_data * | vfu, | |||
| float * | vec | |||
| ) |  [static] | 
        
| static void vorbis_free | ( | vorbis_context * | vc | ) |  [static] | 
        
Definition at line 192 of file vorbisdec.c.
Referenced by vorbis_decode_close(), and vorbis_decode_init().
| static int vorbis_parse_audio_packet | ( | vorbis_context * | vc | ) |  [static] | 
        
| static int vorbis_parse_id_hdr | ( | vorbis_context * | vc | ) |  [static] | 
        
| static int vorbis_parse_setup_hdr | ( | vorbis_context * | vc | ) |  [static] | 
        
| static int vorbis_parse_setup_hdr_codebooks | ( | vorbis_context * | vc | ) |  [static] | 
        
| static int vorbis_parse_setup_hdr_floors | ( | vorbis_context * | vc | ) |  [static] | 
        
| static int vorbis_parse_setup_hdr_mappings | ( | vorbis_context * | vc | ) |  [static] | 
        
| static int vorbis_parse_setup_hdr_modes | ( | vorbis_context * | vc | ) |  [static] | 
        
| static int vorbis_parse_setup_hdr_residues | ( | vorbis_context * | vc | ) |  [static] | 
        
| static int vorbis_parse_setup_hdr_tdtransforms | ( | vorbis_context * | vc | ) |  [static] | 
        
| static int vorbis_residue_decode | ( | vorbis_context * | vc, | |
| vorbis_residue * | vr, | |||
| unsigned | ch, | |||
| uint8_t * | do_not_decode, | |||
| float * | vec, | |||
| unsigned | vlen, | |||
| unsigned | ch_left | |||
| ) |  [inline, static] | 
        
| static av_always_inline int vorbis_residue_decode_internal | ( | vorbis_context * | vc, | |
| vorbis_residue * | vr, | |||
| unsigned | ch, | |||
| uint8_t * | do_not_decode, | |||
| float * | vec, | |||
| unsigned | vlen, | |||
| unsigned | ch_left, | |||
| int | vr_type | |||
| ) |  [static] | 
        
| static float vorbisfloat2float | ( | unsigned | val | ) |  [static] | 
        
Initial value:
 {
    .name            = "vorbis",
    .type            = AVMEDIA_TYPE_AUDIO,
    .id              = AV_CODEC_ID_VORBIS,
    .priv_data_size  = sizeof(vorbis_context),
    .init            = vorbis_decode_init,
    .close           = vorbis_decode_close,
    .decode          = vorbis_decode_frame,
    .flush           = vorbis_decode_flush,
    .capabilities    = CODEC_CAP_DR1,
    .long_name       = NULL_IF_CONFIG_SMALL("Vorbis"),
    .channel_layouts = ff_vorbis_channel_layouts,
    .sample_fmts     = (const enum AVSampleFormat[]) {
        AV_SAMPLE_FMT_FLT, AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE
    },
}
Definition at line 1731 of file vorbisdec.c.
const char idx_err_str[] = "Index value %d out of range (0 - %d) for %s at %s:%i\n" [static]           | 
        
Definition at line 166 of file vorbisdec.c.
 1.5.8