Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(567)

Side by Side Diff: patched-ffmpeg-mt/libavcodec/atrac3.c

Issue 789004: ffmpeg roll of source to mar 9 version... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/ffmpeg/
Patch Set: '' Created 10 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Atrac 3 compatible decoder 2 * Atrac 3 compatible decoder
3 * Copyright (c) 2006-2008 Maxim Poliakovski 3 * Copyright (c) 2006-2008 Maxim Poliakovski
4 * Copyright (c) 2006-2008 Benjamin Larsson 4 * Copyright (c) 2006-2008 Benjamin Larsson
5 * 5 *
6 * This file is part of FFmpeg. 6 * This file is part of FFmpeg.
7 * 7 *
8 * FFmpeg is free software; you can redistribute it and/or 8 * FFmpeg is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public 9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 22 matching lines...) Expand all
33 */ 33 */
34 34
35 #include <math.h> 35 #include <math.h>
36 #include <stddef.h> 36 #include <stddef.h>
37 #include <stdio.h> 37 #include <stdio.h>
38 38
39 #include "avcodec.h" 39 #include "avcodec.h"
40 #include "get_bits.h" 40 #include "get_bits.h"
41 #include "dsputil.h" 41 #include "dsputil.h"
42 #include "bytestream.h" 42 #include "bytestream.h"
43 #include "fft.h"
43 44
44 #include "atrac.h" 45 #include "atrac.h"
45 #include "atrac3data.h" 46 #include "atrac3data.h"
46 47
47 #define JOINT_STEREO 0x12 48 #define JOINT_STEREO 0x12
48 #define STEREO 0x2 49 #define STEREO 0x2
49 50
50 51
51 /* These structures are needed to store the parsed gain control data. */ 52 /* These structures are needed to store the parsed gain control data. */
52 typedef struct { 53 typedef struct {
(...skipping 13 matching lines...) Expand all
66 } tonal_component; 67 } tonal_component;
67 68
68 typedef struct { 69 typedef struct {
69 int bandsCoded; 70 int bandsCoded;
70 int numComponents; 71 int numComponents;
71 tonal_component components[64]; 72 tonal_component components[64];
72 float prevFrame[1024]; 73 float prevFrame[1024];
73 int gcBlkSwitch; 74 int gcBlkSwitch;
74 gain_block gainBlock[2]; 75 gain_block gainBlock[2];
75 76
76 DECLARE_ALIGNED_16(float, spectrum)[1024]; 77 DECLARE_ALIGNED(16, float, spectrum)[1024];
77 DECLARE_ALIGNED_16(float, IMDCT_buf)[1024]; 78 DECLARE_ALIGNED(16, float, IMDCT_buf)[1024];
78 79
79 float delayBuf1[46]; ///<qmf delay buffers 80 float delayBuf1[46]; ///<qmf delay buffers
80 float delayBuf2[46]; 81 float delayBuf2[46];
81 float delayBuf3[46]; 82 float delayBuf3[46];
82 } channel_unit; 83 } channel_unit;
83 84
84 typedef struct { 85 typedef struct {
85 GetBitContext gb; 86 GetBitContext gb;
86 //@{ 87 //@{
87 /** stream data */ 88 /** stream data */
(...skipping 24 matching lines...) Expand all
112 //@} 113 //@}
113 //@{ 114 //@{
114 /** extradata */ 115 /** extradata */
115 int atrac3version; 116 int atrac3version;
116 int delay; 117 int delay;
117 int scrambled_stream; 118 int scrambled_stream;
118 int frame_factor; 119 int frame_factor;
119 //@} 120 //@}
120 } ATRAC3Context; 121 } ATRAC3Context;
121 122
122 static DECLARE_ALIGNED_16(float,mdct_window)[512]; 123 static DECLARE_ALIGNED(16, float,mdct_window)[512];
123 static VLC spectral_coeff_tab[7]; 124 static VLC spectral_coeff_tab[7];
124 static float gain_tab1[16]; 125 static float gain_tab1[16];
125 static float gain_tab2[31]; 126 static float gain_tab2[31];
126 static FFTContext mdct_ctx; 127 static FFTContext mdct_ctx;
127 static DSPContext dsp; 128 static DSPContext dsp;
128 129
129 130
130 /** 131 /**
131 * Regular 512 points IMDCT without overlapping, with the exception of the swapp ing of odd bands 132 * Regular 512 points IMDCT without overlapping, with the exception of the swapp ing of odd bands
132 * caused by the reverse spectra of the QMF. 133 * caused by the reverse spectra of the QMF.
(...skipping 883 matching lines...) Expand 10 before | Expand all | Expand 10 after
1016 { 1017 {
1017 .name = "atrac3", 1018 .name = "atrac3",
1018 .type = CODEC_TYPE_AUDIO, 1019 .type = CODEC_TYPE_AUDIO,
1019 .id = CODEC_ID_ATRAC3, 1020 .id = CODEC_ID_ATRAC3,
1020 .priv_data_size = sizeof(ATRAC3Context), 1021 .priv_data_size = sizeof(ATRAC3Context),
1021 .init = atrac3_decode_init, 1022 .init = atrac3_decode_init,
1022 .close = atrac3_decode_close, 1023 .close = atrac3_decode_close,
1023 .decode = atrac3_decode_frame, 1024 .decode = atrac3_decode_frame,
1024 .long_name = NULL_IF_CONFIG_SMALL("Atrac 3 (Adaptive TRansform Acoustic Codi ng 3)"), 1025 .long_name = NULL_IF_CONFIG_SMALL("Atrac 3 (Adaptive TRansform Acoustic Codi ng 3)"),
1025 }; 1026 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698