Mercurial > libavcodec.hg
comparison vorbis.h @ 3805:5ad55a4e42c2 libavcodec
remove render_line from vorbis.h, add ff_vorbis_floor1_render_list instead
author | ods15 |
---|---|
date | Sun, 01 Oct 2006 17:38:07 +0000 |
parents | f472f55953bb |
children | c8c591fe26f8 |
comparison
equal
deleted
inserted
replaced
3804:f472f55953bb | 3805:5ad55a4e42c2 |
---|---|
32 } floor1_entry_t; | 32 } floor1_entry_t; |
33 | 33 |
34 void ff_vorbis_ready_floor1_list(floor1_entry_t * list, int values); | 34 void ff_vorbis_ready_floor1_list(floor1_entry_t * list, int values); |
35 unsigned int ff_vorbis_nth_root(unsigned int x, unsigned int n); // x^(1/n) | 35 unsigned int ff_vorbis_nth_root(unsigned int x, unsigned int n); // x^(1/n) |
36 int ff_vorbis_len2vlc(uint8_t *bits, uint32_t *codes, uint_fast32_t num); | 36 int ff_vorbis_len2vlc(uint8_t *bits, uint32_t *codes, uint_fast32_t num); |
37 | 37 void ff_vorbis_floor1_render_list(floor1_entry_t * list, int values, uint_fast16_t * y_list, int * flag, int multiplier, float * out, int samples); |
38 static void attribute_unused render_line(int x0, int y0, int x1, int y1, float * buf, int n) { | |
39 int dy = y1 - y0; | |
40 int adx = x1 - x0; | |
41 int ady = ABS(dy); | |
42 int base = dy / adx; | |
43 int x = x0; | |
44 int y = y0; | |
45 int err = 0; | |
46 int sy; | |
47 if (dy < 0) sy = base - 1; | |
48 else sy = base + 1; | |
49 ady = ady - ABS(base) * adx; | |
50 if (x >= n) return; | |
51 buf[x] = ff_vorbis_floor1_inverse_db_table[y]; | |
52 for (x = x0 + 1; x < x1; x++) { | |
53 if (x >= n) return; | |
54 err += ady; | |
55 if (err >= adx) { | |
56 err -= adx; | |
57 y += sy; | |
58 } else { | |
59 y += base; | |
60 } | |
61 buf[x] = ff_vorbis_floor1_inverse_db_table[y]; | |
62 } | |
63 } | |
64 | 38 |
65 #define ilog(i) av_log2(2*(i)) | 39 #define ilog(i) av_log2(2*(i)) |
66 | 40 |
67 #endif | 41 #endif |