diff options
author | Diego Biurrun <diego@biurrun.de> | 2009-09-28 21:13:47 +0000 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2009-09-28 21:13:47 +0000 |
commit | 5e56b30e1febefd4eee7a0831ccbcb979cc11a2e (patch) | |
tree | b4ecf1433153c2b9f1361b0d45c38aa833aad7df /libavcodec/vorbis_enc.c | |
parent | 754ff9a7956ab96aeda67dc392e167f565c8d55a (diff) | |
download | ffmpeg-5e56b30e1febefd4eee7a0831ccbcb979cc11a2e.tar.gz |
brace placement and linebreak cosmetics
Originally committed as revision 20070 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/vorbis_enc.c')
-rw-r--r-- | libavcodec/vorbis_enc.c | 153 |
1 files changed, 98 insertions, 55 deletions
diff --git a/libavcodec/vorbis_enc.c b/libavcodec/vorbis_enc.c index 2db7e0c95c..b188d89c06 100644 --- a/libavcodec/vorbis_enc.c +++ b/libavcodec/vorbis_enc.c @@ -125,20 +125,26 @@ typedef struct { int64_t sample_count; } vorbis_enc_context; -static inline void put_codeword(PutBitContext * pb, vorbis_enc_codebook * cb, int entry) { +static inline void put_codeword(PutBitContext * pb, vorbis_enc_codebook * cb, + int entry) +{ assert(entry >= 0); assert(entry < cb->nentries); assert(cb->lens[entry]); put_bits(pb, cb->lens[entry], cb->codewords[entry]); } -static int cb_lookup_vals(int lookup, int dimentions, int entries) { - if (lookup == 1) return ff_vorbis_nth_root(entries, dimentions); - else if (lookup == 2) return dimentions * entries; +static int cb_lookup_vals(int lookup, int dimentions, int entries) +{ + if (lookup == 1) + return ff_vorbis_nth_root(entries, dimentions); + else if (lookup == 2) + return dimentions * entries; return 0; } -static void ready_codebook(vorbis_enc_codebook * cb) { +static void ready_codebook(vorbis_enc_codebook * cb) +{ int i; ff_vorbis_len2vlc(cb->lens, cb->codewords, cb->nentries); @@ -171,7 +177,8 @@ static void ready_codebook(vorbis_enc_codebook * cb) { } } -static void ready_residue(vorbis_enc_residue * rc, vorbis_enc_context * venc) { +static void ready_residue(vorbis_enc_residue * rc, vorbis_enc_context * venc) +{ int i; assert(rc->type == 2); rc->maxes = av_mallocz(sizeof(float[2]) * rc->classifications); @@ -179,15 +186,18 @@ static void ready_residue(vorbis_enc_residue * rc, vorbis_enc_context * venc) { int j; vorbis_enc_codebook * cb; for (j = 0; j < 8; j++) - if (rc->books[i][j] != -1) break; - if (j == 8) continue; // zero + if (rc->books[i][j] != -1) + break; + if (j == 8) + continue; // zero cb = &venc->codebooks[rc->books[i][j]]; assert(cb->ndimentions >= 2); assert(cb->lookup); for (j = 0; j < cb->nentries; j++) { float a; - if (!cb->lens[j]) continue; + if (!cb->lens[j]) + continue; a = fabs(cb->dimentions[j * cb->ndimentions]); if (a > rc->maxes[i][0]) rc->maxes[i][0] = a; @@ -203,7 +213,9 @@ static void ready_residue(vorbis_enc_residue * rc, vorbis_enc_context * venc) { } } -static void create_vorbis_context(vorbis_enc_context * venc, AVCodecContext * avccontext) { +static void create_vorbis_context(vorbis_enc_context * venc, + AVCodecContext * avccontext) +{ vorbis_enc_floor * fc; vorbis_enc_residue * rc; vorbis_enc_mapping * mc; @@ -363,17 +375,22 @@ static void create_vorbis_context(vorbis_enc_context * venc, AVCodecContext * av ff_mdct_init(&venc->mdct[1], venc->log2_blocksize[1], 0, 1.0); } -static void put_float(PutBitContext * pb, float f) { +static void put_float(PutBitContext * pb, float f) +{ int exp, mant; uint32_t res = 0; mant = (int)ldexp(frexp(f, &exp), 20); exp += 788 - 20; - if (mant < 0) { res |= (1 << 31); mant = -mant; } + if (mant < 0) { + res |= (1 << 31); + mant = -mant; + } res |= mant | (exp << 21); put_bits(pb, 32, res); } -static void put_codebook_header(PutBitContext * pb, vorbis_enc_codebook * cb) { +static void put_codebook_header(PutBitContext * pb, vorbis_enc_codebook * cb) +{ int i; int ordered = 0; @@ -382,7 +399,8 @@ static void put_codebook_header(PutBitContext * pb, vorbis_enc_codebook * cb) { put_bits(pb, 24, cb->nentries); for (i = 1; i < cb->nentries; i++) - if (cb->lens[i] < cb->lens[i-1]) break; + if (cb->lens[i] < cb->lens[i-1]) + break; if (i == cb->nentries) ordered = 1; @@ -394,7 +412,8 @@ static void put_codebook_header(PutBitContext * pb, vorbis_enc_codebook * cb) { while (i < cb->nentries) { int j; for (j = 0; j+i < cb->nentries; j++) - if (cb->lens[j+i] != len) break; + if (cb->lens[j+i] != len) + break; put_bits(pb, ilog(cb->nentries - i), j); i += j; len++; @@ -402,14 +421,17 @@ static void put_codebook_header(PutBitContext * pb, vorbis_enc_codebook * cb) { } else { int sparse = 0; for (i = 0; i < cb->nentries; i++) - if (!cb->lens[i]) break; + if (!cb->lens[i]) + break; if (i != cb->nentries) sparse = 1; put_bits(pb, 1, sparse); for (i = 0; i < cb->nentries; i++) { - if (sparse) put_bits(pb, 1, !!cb->lens[i]); - if (cb->lens[i]) put_bits(pb, 5, cb->lens[i] - 1); + if (sparse) + put_bits(pb, 1, !!cb->lens[i]); + if (cb->lens[i]) + put_bits(pb, 5, cb->lens[i] - 1); } } @@ -432,7 +454,8 @@ static void put_codebook_header(PutBitContext * pb, vorbis_enc_codebook * cb) { } } -static void put_floor_header(PutBitContext * pb, vorbis_enc_floor * fc) { +static void put_floor_header(PutBitContext * pb, vorbis_enc_floor * fc) +{ int i; put_bits(pb, 16, 1); // type, only floor1 is supported @@ -464,7 +487,8 @@ static void put_floor_header(PutBitContext * pb, vorbis_enc_floor * fc) { put_bits(pb, fc->rangebits, fc->list[i].x); } -static void put_residue_header(PutBitContext * pb, vorbis_enc_residue * rc) { +static void put_residue_header(PutBitContext * pb, vorbis_enc_residue * rc) +{ int i; put_bits(pb, 16, rc->type); @@ -495,7 +519,8 @@ static void put_residue_header(PutBitContext * pb, vorbis_enc_residue * rc) { } } -static int put_main_header(vorbis_enc_context * venc, uint8_t ** out) { +static int put_main_header(vorbis_enc_context * venc, uint8_t ** out) +{ int i; PutBitContext pb; uint8_t buffer[50000] = {0}, * p = buffer; @@ -624,7 +649,8 @@ static int put_main_header(vorbis_enc_context * venc, uint8_t ** out) { return p - *out; } -static float get_floor_average(vorbis_enc_floor * fc, float * coeffs, int i) { +static float get_floor_average(vorbis_enc_floor * fc, float * coeffs, int i) +{ int begin = fc->list[fc->list[FFMAX(i-1, 0)].sort].x; int end = fc->list[fc->list[FFMIN(i+1, fc->values - 1)].sort].x; int j; @@ -635,7 +661,9 @@ static float get_floor_average(vorbis_enc_floor * fc, float * coeffs, int i) { return average / (end - begin); } -static void floor_fit(vorbis_enc_context * venc, vorbis_enc_floor * fc, float * coeffs, uint_fast16_t * posts, int samples) { +static void floor_fit(vorbis_enc_context * venc, vorbis_enc_floor * fc, + float * coeffs, uint_fast16_t * posts, int samples) +{ int range = 255 / fc->multiplier + 1; int i; float tot_average = 0.; @@ -654,16 +682,21 @@ static void floor_fit(vorbis_enc_context * venc, vorbis_enc_floor * fc, float * average *= pow(tot_average / average, 0.5) * pow(1.25, position/200.); // MAGIC! for (j = 0; j < range - 1; j++) - if (ff_vorbis_floor1_inverse_db_table[j * fc->multiplier] > average) break; + if (ff_vorbis_floor1_inverse_db_table[j * fc->multiplier] > average) + break; posts[fc->list[i].sort] = j; } } -static int render_point(int x0, int y0, int x1, int y1, int x) { +static int render_point(int x0, int y0, int x1, int y1, int x) +{ return y0 + (x - x0) * (y1 - y0) / (x1 - x0); } -static void floor_encode(vorbis_enc_context * venc, vorbis_enc_floor * fc, PutBitContext * pb, uint_fast16_t * posts, float * floor, int samples) { +static void floor_encode(vorbis_enc_context * venc, vorbis_enc_floor * fc, + PutBitContext * pb, uint_fast16_t * posts, + float * floor, int samples) +{ int range = 255 / fc->multiplier + 1; int coded[fc->values]; // first 2 values are unused int i, counter; @@ -686,8 +719,10 @@ static void floor_encode(vorbis_enc_context * venc, vorbis_enc_floor * fc, PutBi coded[i] = 0; // must be used later as flag! continue; } else { - if (!coded[fc->list[i].low ]) coded[fc->list[i].low ] = -1; - if (!coded[fc->list[i].high]) coded[fc->list[i].high] = -1; + if (!coded[fc->list[i].low ]) + coded[fc->list[i].low ] = -1; + if (!coded[fc->list[i].high]) + coded[fc->list[i].high] = -1; } if (posts[i] > predicted) { if (posts[i] - predicted > room) @@ -716,7 +751,8 @@ static void floor_encode(vorbis_enc_context * venc, vorbis_enc_floor * fc, PutBi if (c->books[l] != -1) maxval = venc->codebooks[c->books[l]].nentries; // coded could be -1, but this still works, cause that is 0 - if (coded[counter + k] < maxval) break; + if (coded[counter + k] < maxval) + break; } assert(l != csub); cval |= l << cshift; @@ -728,8 +764,10 @@ static void floor_encode(vorbis_enc_context * venc, vorbis_enc_floor * fc, PutBi int book = c->books[cval & (csub-1)]; int entry = coded[counter++]; cval >>= c->subclass; - if (book == -1) continue; - if (entry == -1) entry = 0; + if (book == -1) + continue; + if (entry == -1) + entry = 0; put_codeword(pb, &venc->codebooks[book], entry); } } @@ -737,14 +775,16 @@ static void floor_encode(vorbis_enc_context * venc, vorbis_enc_floor * fc, PutBi ff_vorbis_floor1_render_list(fc->list, fc->values, posts, coded, fc->multiplier, floor, samples); } -static float * put_vector(vorbis_enc_codebook * book, PutBitContext * pb, float * num) { +static float * put_vector(vorbis_enc_codebook * book, PutBitContext * pb, float * num) +{ int i, entry = -1; float distance = FLT_MAX; assert(book->dimentions); for (i = 0; i < book->nentries; i++) { float * vec = book->dimentions + i * book->ndimentions, d = book->pow2[i]; int j; - if (!book->lens[i]) continue; + if (!book->lens[i]) + continue; for (j = 0; j < book->ndimentions; j++) d -= vec[j] * num[j]; if (distance > d) { @@ -756,7 +796,10 @@ static float * put_vector(vorbis_enc_codebook * book, PutBitContext * pb, float return &book->dimentions[entry * book->ndimentions]; } -static void residue_encode(vorbis_enc_context * venc, vorbis_enc_residue * rc, PutBitContext * pb, float * coeffs, int samples, int real_ch) { +static void residue_encode(vorbis_enc_context * venc, vorbis_enc_residue * rc, + PutBitContext * pb, float * coeffs, int samples, + int real_ch) +{ int pass, i, j, p, k; int psize = rc->partition_size; int partitions = (rc->end - rc->begin) / psize; @@ -774,9 +817,9 @@ static void residue_encode(vorbis_enc_context * venc, vorbis_enc_residue * rc, P max2 = FFMAX(max2, fabs(coeffs[samples + k / real_ch])); } - for (i = 0; i < rc->classifications - 1; i++) { - if (max1 < rc->maxes[i][0] && max2 < rc->maxes[i][1]) break; - } + for (i = 0; i < rc->classifications - 1; i++) + if (max1 < rc->maxes[i][0] && max2 < rc->maxes[i][1]) + break; classes[0][p] = i; } @@ -798,7 +841,8 @@ static void residue_encode(vorbis_enc_context * venc, vorbis_enc_residue * rc, P int nbook = rc->books[classes[j][p]][pass]; vorbis_enc_codebook * book = &venc->codebooks[nbook]; float * buf = coeffs + samples*j + rc->begin + p*psize; - if (nbook == -1) continue; + if (nbook == -1) + continue; assert(rc->type == 0 || rc->type == 2); assert(!(psize % book->ndimentions)); @@ -841,7 +885,9 @@ static void residue_encode(vorbis_enc_context * venc, vorbis_enc_residue * rc, P } } -static int apply_window_and_mdct(vorbis_enc_context * venc, signed short * audio, int samples) { +static int apply_window_and_mdct(vorbis_enc_context * venc, + signed short * audio, int samples) +{ int i, j, channel; const float * win = venc->win[0]; int window_len = 1 << (venc->log2_blocksize[0] - 1); @@ -850,15 +896,12 @@ static int apply_window_and_mdct(vorbis_enc_context * venc, signed short * audio if (!venc->have_saved && !samples) return 0; - if (venc->have_saved) { - for (channel = 0; channel < venc->channels; channel++) { + if (venc->have_saved) + for (channel = 0; channel < venc->channels; channel++) memcpy(venc->samples + channel*window_len*2, venc->saved + channel*window_len, sizeof(float)*window_len); - } - } else { - for (channel = 0; channel < venc->channels; channel++) { + else + for (channel = 0; channel < venc->channels; channel++) memset(venc->samples + channel*window_len*2, 0, sizeof(float)*window_len); - } - } if (samples) { for (channel = 0; channel < venc->channels; channel++) { @@ -868,14 +911,12 @@ static int apply_window_and_mdct(vorbis_enc_context * venc, signed short * audio offset[i] = -audio[j] / 32768. / n * win[window_len - i - 1]; //FIXME find out why the sign has to be fliped } } else { - for (channel = 0; channel < venc->channels; channel++) { + for (channel = 0; channel < venc->channels; channel++) memset(venc->samples + channel*window_len*2 + window_len, 0, sizeof(float)*window_len); - } } - for (channel = 0; channel < venc->channels; channel++) { + for (channel = 0; channel < venc->channels; channel++) ff_mdct_calc(&venc->mdct[0], venc->coeffs + channel*window_len, venc->samples + channel*window_len*2); - } if (samples) { for (channel = 0; channel < venc->channels; channel++) { @@ -928,7 +969,8 @@ static int vorbis_encode_frame(AVCodecContext * avccontext, unsigned char * pack PutBitContext pb; int i; - if (!apply_window_and_mdct(venc, audio, samples)) return 0; + if (!apply_window_and_mdct(venc, audio, samples)) + return 0; samples = 1 << (venc->log2_blocksize[0] - 1); init_put_bits(&pb, packets, buf_size); @@ -951,9 +993,8 @@ static int vorbis_encode_frame(AVCodecContext * avccontext, unsigned char * pack floor_encode(venc, fc, &pb, posts, &venc->floor[i * samples], samples); } - for (i = 0; i < venc->channels * samples; i++) { + for (i = 0; i < venc->channels * samples; i++) venc->coeffs[i] /= venc->floor[i]; - } for (i = 0; i < mapping->coupling_steps; i++) { float * mag = venc->coeffs + mapping->magnitude[i] * samples; @@ -962,8 +1003,10 @@ static int vorbis_encode_frame(AVCodecContext * avccontext, unsigned char * pack for (j = 0; j < samples; j++) { float a = ang[j]; ang[j] -= mag[j]; - if (mag[j] > 0) ang[j] = -ang[j]; - if (ang[j] < 0) mag[j] = a; + if (mag[j] > 0) + ang[j] = -ang[j]; + if (ang[j] < 0) + mag[j] = a; } } |