summaryrefslogtreecommitdiff
path: root/libavcodec/cook.c
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2011-10-26 20:59:14 -0400
committerJustin Ruggles <justin.ruggles@gmail.com>2011-10-29 13:43:28 -0400
commitc9c841e2314ab9812f4956441e91f90193fcac5e (patch)
treed5d9b9edad94dae25c83c811ae4b453f1860be0d /libavcodec/cook.c
parentf193c96f49c5a0778a06ed1279593cc6ed536052 (diff)
cook: simplify decouple_info()
Diffstat (limited to 'libavcodec/cook.c')
-rw-r--r--libavcodec/cook.c31
1 files changed, 14 insertions, 17 deletions
diff --git a/libavcodec/cook.c b/libavcodec/cook.c
index 957775727b..7157a8ce01 100644
--- a/libavcodec/cook.c
+++ b/libavcodec/cook.c
@@ -740,27 +740,24 @@ static void imlt_gain(COOKContext *q, float *inbuffer,
* @param decouple_tab decoupling array
*
*/
+static void decouple_info(COOKContext *q, COOKSubpacket *p, int *decouple_tab)
+{
+ int i;
+ int vlc = get_bits1(&q->gb);
+ int start = cplband[p->js_subband_start];
+ int end = cplband[p->subbands-1];
+ int length = end - start + 1;
-static void decouple_info(COOKContext *q, COOKSubpacket *p, int* decouple_tab){
- int length, i;
-
- if(get_bits1(&q->gb)) {
- if(cplband[p->js_subband_start] > cplband[p->subbands-1]) return;
-
- length = cplband[p->subbands-1] - cplband[p->js_subband_start] + 1;
- for (i=0 ; i<length ; i++) {
- decouple_tab[cplband[p->js_subband_start] + i] = get_vlc2(&q->gb, p->ccpl.table, p->ccpl.bits, 2);
- }
+ if (start > end)
return;
- }
- if(cplband[p->js_subband_start] > cplband[p->subbands-1]) return;
-
- length = cplband[p->subbands-1] - cplband[p->js_subband_start] + 1;
- for (i=0 ; i<length ; i++) {
- decouple_tab[cplband[p->js_subband_start] + i] = get_bits(&q->gb, p->js_vlc_bits);
+ if (vlc) {
+ for (i = 0; i < length; i++)
+ decouple_tab[start + i] = get_vlc2(&q->gb, p->ccpl.table, p->ccpl.bits, 2);
+ } else {
+ for (i = 0; i < length; i++)
+ decouple_tab[start + i] = get_bits(&q->gb, p->js_vlc_bits);
}
- return;
}
/*