comparison liba52.c @ 6352:a14abb3d08aa libavcodec

Cosmetics: indentation Patch by Thorsten Jordan (tjordan atay macrosystem otday de) [FFmpeg-devel] Behaviour of liba52 decoder
author superdump
date Wed, 13 Feb 2008 14:24:34 +0000
parents b568fe642948
children 48759bfbd073
comparison
equal deleted inserted replaced
6351:b568fe642948 6352:a14abb3d08aa
158 if (buf_size < HEADER_SIZE) { 158 if (buf_size < HEADER_SIZE) {
159 av_log(avctx, AV_LOG_ERROR, "Error decoding frame, not enough bytes for header\n"); 159 av_log(avctx, AV_LOG_ERROR, "Error decoding frame, not enough bytes for header\n");
160 return -1; 160 return -1;
161 } 161 }
162 len = s->a52_syncinfo(buf, &s->flags, &sample_rate, &bit_rate); 162 len = s->a52_syncinfo(buf, &s->flags, &sample_rate, &bit_rate);
163 if (len == 0) { 163 if (len == 0) {
164 av_log(avctx, AV_LOG_ERROR, "Error decoding frame, no sync byte at begin\n"); 164 av_log(avctx, AV_LOG_ERROR, "Error decoding frame, no sync byte at begin\n");
165 return -1; 165 return -1;
166 } 166 }
167 if (buf_size < len) { 167 if (buf_size < len) {
168 av_log(avctx, AV_LOG_ERROR, "Error decoding frame, not enough bytes\n"); 168 av_log(avctx, AV_LOG_ERROR, "Error decoding frame, not enough bytes\n");
169 return -1; 169 return -1;
170 } 170 }
171 /* update codec info */ 171 /* update codec info */
172 avctx->sample_rate = sample_rate; 172 avctx->sample_rate = sample_rate;
173 s->channels = ac3_channels[s->flags & 7]; 173 s->channels = ac3_channels[s->flags & 7];
174 if (s->flags & A52_LFE) 174 if (s->flags & A52_LFE)
175 s->channels++; 175 s->channels++;
176 if (avctx->request_channels > 0 && 176 if (avctx->request_channels > 0 &&
177 avctx->request_channels <= 2 && 177 avctx->request_channels <= 2 &&
178 avctx->request_channels < s->channels) { 178 avctx->request_channels < s->channels) {
179 avctx->channels = avctx->request_channels; 179 avctx->channels = avctx->request_channels;
180 } else { 180 } else {
181 avctx->channels = s->channels; 181 avctx->channels = s->channels;
182 } 182 }
183 avctx->bit_rate = bit_rate; 183 avctx->bit_rate = bit_rate;
184 flags = s->flags; 184 flags = s->flags;
185 if (avctx->channels == 1) 185 if (avctx->channels == 1)
186 flags = A52_MONO; 186 flags = A52_MONO;
187 else if (avctx->channels == 2) 187 else if (avctx->channels == 2)
188 flags = A52_STEREO; 188 flags = A52_STEREO;
189 else 189 else
190 flags |= A52_ADJUST_LEVEL; 190 flags |= A52_ADJUST_LEVEL;
191 level = 1; 191 level = 1;
192 if (s->a52_frame(s->state, buf, &flags, &level, 384)) { 192 if (s->a52_frame(s->state, buf, &flags, &level, 384)) {
193 fail: 193 fail:
194 av_log(avctx, AV_LOG_ERROR, "Error decoding frame\n"); 194 av_log(avctx, AV_LOG_ERROR, "Error decoding frame\n");
195 return -1; 195 return -1;
196 } 196 }
197 for (i = 0; i < 6; i++) { 197 for (i = 0; i < 6; i++) {
198 if (s->a52_block(s->state)) 198 if (s->a52_block(s->state))
199 goto fail; 199 goto fail;
200 float_to_int(s->samples, out_samples + i * 256 * avctx->channels, avctx->channels); 200 float_to_int(s->samples, out_samples + i * 256 * avctx->channels, avctx->channels);
201 } 201 }
202 *data_size = 6 * avctx->channels * 256 * sizeof(int16_t); 202 *data_size = 6 * avctx->channels * 256 * sizeof(int16_t);
203 return len; 203 return len;
204 } 204 }
205 205
206 static int a52_decode_end(AVCodecContext *avctx) 206 static int a52_decode_end(AVCodecContext *avctx)
207 { 207 {