Changeset 5181:ca57e34b2a35 in roaraudio for libroardsp/filter_amp.c
- Timestamp:
- 10/22/11 16:17:35 (13 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroardsp/filter_amp.c
r4708 r5181 47 47 } 48 48 49 int roardsp_amp_calc8 (struct roardsp_filter * filter, void * data, size_t samples) { 50 struct roardsp_amp * self = (struct roardsp_amp *) filter->inst; 51 int8_t * samp = (int8_t *) data; 52 register int_least32_t s; 53 size_t i; 54 55 for (i = 0; i < samples; i++) { 56 s = samp[i]; 57 s *= self->mul; 58 s /= self->div; 59 samp[i] = s; 60 }; 61 62 return 0; 49 #define _calcX(bits,twobits) \ 50 int roardsp_amp_calc##bits (struct roardsp_filter * filter, void * data, size_t samples) { \ 51 struct roardsp_amp * self = (struct roardsp_amp *) filter->inst; \ 52 int##bits##_t * samp = (int##bits##_t *) data; \ 53 register int##twobits##_t s; \ 54 size_t i; \ 55 \ 56 for (i = 0; i < samples; i++) { \ 57 s = samp[i]; \ 58 s *= self->mul; \ 59 s /= self->div; \ 60 samp[i] = s; \ 61 }; \ 62 \ 63 return 0; \ 63 64 } 64 65 65 int roardsp_amp_calc16 (struct roardsp_filter * filter, void * data, size_t samples) { 66 struct roardsp_amp * self = (struct roardsp_amp *) filter->inst; 67 int16_t * samp = (int16_t *) data; 68 register int_least32_t s; 69 size_t i; 70 71 for (i = 0; i < samples; i++) { 72 s = samp[i]; 73 s *= self->mul; 74 s /= self->div; 75 // ROAR_DBG("roardsp_amp_calc16(*): samp[i=%u] = %i, s=%i, self->mul=%i, self->div=%i", i, samp[i], s, self->mul, self->div); 76 samp[i] = s; 77 }; 78 79 return 0; 80 } 66 _calcX(8,16) 67 _calcX(16,32) 68 _calcX(32,64) 81 69 82 70 int roardsp_amp_ctl (struct roardsp_filter * filter, int cmd, void * data) {
Note: See TracChangeset
for help on using the changeset viewer.