Mercurial > mplayer.hg
comparison libaf/af_pan.c @ 29263:0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
author | diego |
---|---|
date | Wed, 13 May 2009 02:58:57 +0000 |
parents | 8c706ce21c6f |
children | 8fa2f43cb760 |
comparison
equal
deleted
inserted
replaced
29262:7d545a6b8aff | 29263:0f1b5b68af32 |
---|---|
35 }af_pan_t; | 35 }af_pan_t; |
36 | 36 |
37 // Initialization and runtime control | 37 // Initialization and runtime control |
38 static int control(struct af_instance_s* af, int cmd, void* arg) | 38 static int control(struct af_instance_s* af, int cmd, void* arg) |
39 { | 39 { |
40 af_pan_t* s = af->setup; | 40 af_pan_t* s = af->setup; |
41 | 41 |
42 switch(cmd){ | 42 switch(cmd){ |
43 case AF_CONTROL_REINIT: | 43 case AF_CONTROL_REINIT: |
44 // Sanity check | 44 // Sanity check |
45 if(!arg) return AF_ERROR; | 45 if(!arg) return AF_ERROR; |
48 af->data->format = AF_FORMAT_FLOAT_NE; | 48 af->data->format = AF_FORMAT_FLOAT_NE; |
49 af->data->bps = 4; | 49 af->data->bps = 4; |
50 af->data->nch = s->nch ? s->nch: ((af_data_t*)arg)->nch; | 50 af->data->nch = s->nch ? s->nch: ((af_data_t*)arg)->nch; |
51 af->mul = (double)af->data->nch / ((af_data_t*)arg)->nch; | 51 af->mul = (double)af->data->nch / ((af_data_t*)arg)->nch; |
52 | 52 |
53 if((af->data->format != ((af_data_t*)arg)->format) || | 53 if((af->data->format != ((af_data_t*)arg)->format) || |
54 (af->data->bps != ((af_data_t*)arg)->bps)){ | 54 (af->data->bps != ((af_data_t*)arg)->bps)){ |
55 ((af_data_t*)arg)->format = af->data->format; | 55 ((af_data_t*)arg)->format = af->data->format; |
56 ((af_data_t*)arg)->bps = af->data->bps; | 56 ((af_data_t*)arg)->bps = af->data->bps; |
57 return AF_FALSE; | 57 return AF_FALSE; |
58 } | 58 } |
70 // Read pan values | 70 // Read pan values |
71 cp = &((char*)arg)[n]; | 71 cp = &((char*)arg)[n]; |
72 j = 0; k = 0; | 72 j = 0; k = 0; |
73 while((*cp == ':') && (k < AF_NCH)){ | 73 while((*cp == ':') && (k < AF_NCH)){ |
74 sscanf(cp, ":%f%n" , &s->level[j][k], &n); | 74 sscanf(cp, ":%f%n" , &s->level[j][k], &n); |
75 mp_msg(MSGT_AFILTER, MSGL_V, "[pan] Pan level from channel %i to" | 75 mp_msg(MSGT_AFILTER, MSGL_V, "[pan] Pan level from channel %i to" |
76 " channel %i = %f\n",k,j,s->level[j][k]); | 76 " channel %i = %f\n",k,j,s->level[j][k]); |
77 cp =&cp[n]; | 77 cp =&cp[n]; |
78 j++; | 78 j++; |
79 if(j>=nch){ | 79 if(j>=nch){ |
80 j = 0; | 80 j = 0; |
81 k++; | 81 k++; |
82 } | 82 } |
83 } | 83 } |
84 return AF_OK; | 84 return AF_OK; |
85 } | 85 } |
106 case AF_CONTROL_PAN_NOUT | AF_CONTROL_SET: | 106 case AF_CONTROL_PAN_NOUT | AF_CONTROL_SET: |
107 // Reinit must be called after this function has been called | 107 // Reinit must be called after this function has been called |
108 | 108 |
109 // Sanity check | 109 // Sanity check |
110 if(((int*)arg)[0] <= 0 || ((int*)arg)[0] > AF_NCH){ | 110 if(((int*)arg)[0] <= 0 || ((int*)arg)[0] > AF_NCH){ |
111 mp_msg(MSGT_AFILTER, MSGL_ERR, "[pan] The number of output channels must be" | 111 mp_msg(MSGT_AFILTER, MSGL_ERR, "[pan] The number of output channels must be" |
112 " between 1 and %i. Current value is %i\n",AF_NCH,((int*)arg)[0]); | 112 " between 1 and %i. Current value is %i\n",AF_NCH,((int*)arg)[0]); |
113 return AF_ERROR; | 113 return AF_ERROR; |
114 } | 114 } |
115 s->nch=((int*)arg)[0]; | 115 s->nch=((int*)arg)[0]; |
116 return AF_OK; | 116 return AF_OK; |
136 return AF_OK; | 136 return AF_OK; |
137 } | 137 } |
138 return AF_UNKNOWN; | 138 return AF_UNKNOWN; |
139 } | 139 } |
140 | 140 |
141 // Deallocate memory | 141 // Deallocate memory |
142 static void uninit(struct af_instance_s* af) | 142 static void uninit(struct af_instance_s* af) |
143 { | 143 { |
144 if(af->data) | 144 if(af->data) |
145 free(af->data->audio); | 145 free(af->data->audio); |
146 free(af->data); | 146 free(af->data); |
163 | 163 |
164 if(AF_OK != RESIZE_LOCAL_BUFFER(af,data)) | 164 if(AF_OK != RESIZE_LOCAL_BUFFER(af,data)) |
165 return NULL; | 165 return NULL; |
166 | 166 |
167 out = l->audio; | 167 out = l->audio; |
168 // Execute panning | 168 // Execute panning |
169 // FIXME: Too slow | 169 // FIXME: Too slow |
170 while(in < end){ | 170 while(in < end){ |
171 for(j=0;j<ncho;j++){ | 171 for(j=0;j<ncho;j++){ |
172 register float x = 0.0; | 172 register float x = 0.0; |
173 register float* tin = in; | 173 register float* tin = in; |