summaryrefslogtreecommitdiff
path: root/libavcodec/atrac3.c
diff options
context:
space:
mode:
authorBenjamin Larsson <banan@ludd.ltu.se>2007-04-18 19:58:20 +0000
committerBenjamin Larsson <banan@ludd.ltu.se>2007-04-18 19:58:20 +0000
commitb8c4a51598fc34a7613dc5e94cbf067d11c61a08 (patch)
tree2ff607eaed5098473eb8eaa783ff47006f171bbe /libavcodec/atrac3.c
parent1e8391777d2ba4f202e1abd49b6ec5e2fabb93a6 (diff)
Deobfuscade decodeTonalComponents calling logic.
Originally committed as revision 8757 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/atrac3.c')
-rw-r--r--libavcodec/atrac3.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/libavcodec/atrac3.c b/libavcodec/atrac3.c
index 4d676c1494..0e6d184259 100644
--- a/libavcodec/atrac3.c
+++ b/libavcodec/atrac3.c
@@ -409,22 +409,19 @@ static int decodeSpectrum (GetBitContext *gb, float *pOut)
* Restore the quantized tonal components
*
* @param gb the GetBit context
- * @param numComponents tonal components to report back
* @param pComponent tone component
* @param numBands amount of coded bands
*/
-static int decodeTonalComponents (GetBitContext *gb, int *numComponents, tonal_component *pComponent, int numBands)
+static int decodeTonalComponents (GetBitContext *gb, tonal_component *pComponent, int numBands)
{
int i,j,k,cnt;
- int component_count, components, coding_mode_selector, coding_mode, coded_values_per_component;
+ int components, coding_mode_selector, coding_mode, coded_values_per_component;
int sfIndx, coded_values, max_coded_values, quant_step_index, coded_components;
int band_flags[4], mantissa[8];
float *pCoef;
float scalefactor;
-
- component_count = 0;
- *numComponents = 0;
+ int component_count = 0;
components = get_bits(gb,5);
@@ -480,9 +477,7 @@ static int decodeTonalComponents (GetBitContext *gb, int *numComponents, tonal_c
}
}
- *numComponents = component_count;
-
- return 0;
+ return component_count;
}
/**
@@ -739,8 +734,8 @@ static int decodeChannelSoundUnit (ATRAC3Context *q, GetBitContext *gb, channel_
result = decodeGainControl (gb, &(pSnd->gainBlock[pSnd->gcBlkSwitch]), pSnd->bandsCoded);
if (result) return result;
- result = decodeTonalComponents (gb, &pSnd->numComponents, pSnd->components, pSnd->bandsCoded);
- if (result) return result;
+ pSnd->numComponents = decodeTonalComponents (gb, pSnd->components, pSnd->bandsCoded);
+ if (pSnd->numComponents == -1) return -1;
numSubbands = decodeSpectrum (gb, pSnd->spectrum);