diff options
Diffstat (limited to 'apps/codecs/libmad/frame.c')
-rw-r--r-- | apps/codecs/libmad/frame.c | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/apps/codecs/libmad/frame.c b/apps/codecs/libmad/frame.c index 3fb971d3e1..85c2a201f7 100644 --- a/apps/codecs/libmad/frame.c +++ b/apps/codecs/libmad/frame.c | |||
@@ -61,8 +61,8 @@ int (*const decoder_table[3])(struct mad_stream *, struct mad_frame *) = { | |||
61 | }; | 61 | }; |
62 | 62 | ||
63 | /* | 63 | /* |
64 | * NAME: header->init() | 64 | * NAME: header->init() |
65 | * DESCRIPTION: initialize header struct | 65 | * DESCRIPTION: initialize header struct |
66 | */ | 66 | */ |
67 | void mad_header_init(struct mad_header *header) | 67 | void mad_header_init(struct mad_header *header) |
68 | { | 68 | { |
@@ -84,8 +84,8 @@ void mad_header_init(struct mad_header *header) | |||
84 | } | 84 | } |
85 | 85 | ||
86 | /* | 86 | /* |
87 | * NAME: frame->init() | 87 | * NAME: frame->init() |
88 | * DESCRIPTION: initialize frame struct | 88 | * DESCRIPTION: initialize frame struct |
89 | */ | 89 | */ |
90 | void mad_frame_init(struct mad_frame *frame) | 90 | void mad_frame_init(struct mad_frame *frame) |
91 | { | 91 | { |
@@ -98,8 +98,8 @@ void mad_frame_init(struct mad_frame *frame) | |||
98 | } | 98 | } |
99 | 99 | ||
100 | /* | 100 | /* |
101 | * NAME: frame->finish() | 101 | * NAME: frame->finish() |
102 | * DESCRIPTION: deallocate any dynamic memory associated with frame | 102 | * DESCRIPTION: deallocate any dynamic memory associated with frame |
103 | */ | 103 | */ |
104 | void mad_frame_finish(struct mad_frame *frame) | 104 | void mad_frame_finish(struct mad_frame *frame) |
105 | { | 105 | { |
@@ -112,8 +112,8 @@ void mad_frame_finish(struct mad_frame *frame) | |||
112 | } | 112 | } |
113 | 113 | ||
114 | /* | 114 | /* |
115 | * NAME: decode_header() | 115 | * NAME: decode_header() |
116 | * DESCRIPTION: read header data and following CRC word | 116 | * DESCRIPTION: read header data and following CRC word |
117 | */ | 117 | */ |
118 | static | 118 | static |
119 | int decode_header(struct mad_header *header, struct mad_stream *stream) | 119 | int decode_header(struct mad_header *header, struct mad_stream *stream) |
@@ -231,8 +231,8 @@ int decode_header(struct mad_header *header, struct mad_stream *stream) | |||
231 | } | 231 | } |
232 | 232 | ||
233 | /* | 233 | /* |
234 | * NAME: free_bitrate() | 234 | * NAME: free_bitrate() |
235 | * DESCRIPTION: attempt to discover the bitstream's free bitrate | 235 | * DESCRIPTION: attempt to discover the bitstream's free bitrate |
236 | */ | 236 | */ |
237 | static | 237 | static |
238 | int free_bitrate(struct mad_stream *stream, struct mad_header const *header) | 238 | int free_bitrate(struct mad_stream *stream, struct mad_header const *header) |
@@ -246,7 +246,7 @@ int free_bitrate(struct mad_stream *stream, struct mad_header const *header) | |||
246 | 246 | ||
247 | pad_slot = (header->flags & MAD_FLAG_PADDING) ? 1 : 0; | 247 | pad_slot = (header->flags & MAD_FLAG_PADDING) ? 1 : 0; |
248 | slots_per_frame = (header->layer == MAD_LAYER_III && | 248 | slots_per_frame = (header->layer == MAD_LAYER_III && |
249 | (header->flags & MAD_FLAG_LSF_EXT)) ? 72 : 144; | 249 | (header->flags & MAD_FLAG_LSF_EXT)) ? 72 : 144; |
250 | 250 | ||
251 | while (mad_stream_sync(stream) == 0) { | 251 | while (mad_stream_sync(stream) == 0) { |
252 | struct mad_stream peek_stream; | 252 | struct mad_stream peek_stream; |
@@ -256,8 +256,8 @@ int free_bitrate(struct mad_stream *stream, struct mad_header const *header) | |||
256 | peek_header = *header; | 256 | peek_header = *header; |
257 | 257 | ||
258 | if (decode_header(&peek_header, &peek_stream) == 0 && | 258 | if (decode_header(&peek_header, &peek_stream) == 0 && |
259 | peek_header.layer == header->layer && | 259 | peek_header.layer == header->layer && |
260 | peek_header.samplerate == header->samplerate) { | 260 | peek_header.samplerate == header->samplerate) { |
261 | unsigned int N; | 261 | unsigned int N; |
262 | 262 | ||
263 | ptr = mad_bit_nextbyte(&stream->ptr); | 263 | ptr = mad_bit_nextbyte(&stream->ptr); |
@@ -265,16 +265,16 @@ int free_bitrate(struct mad_stream *stream, struct mad_header const *header) | |||
265 | N = ptr - stream->this_frame; | 265 | N = ptr - stream->this_frame; |
266 | 266 | ||
267 | if (header->layer == MAD_LAYER_I) { | 267 | if (header->layer == MAD_LAYER_I) { |
268 | rate = (unsigned long) header->samplerate * | 268 | rate = (unsigned long) header->samplerate * |
269 | (N - 4 * pad_slot + 4) / 48 / 1000; | 269 | (N - 4 * pad_slot + 4) / 48 / 1000; |
270 | } | 270 | } |
271 | else { | 271 | else { |
272 | rate = (unsigned long) header->samplerate * | 272 | rate = (unsigned long) header->samplerate * |
273 | (N - pad_slot + 1) / slots_per_frame / 1000; | 273 | (N - pad_slot + 1) / slots_per_frame / 1000; |
274 | } | 274 | } |
275 | 275 | ||
276 | if (rate >= 8) | 276 | if (rate >= 8) |
277 | break; | 277 | break; |
278 | } | 278 | } |
279 | 279 | ||
280 | mad_bit_skip(&stream->ptr, 8); | 280 | mad_bit_skip(&stream->ptr, 8); |
@@ -293,8 +293,8 @@ int free_bitrate(struct mad_stream *stream, struct mad_header const *header) | |||
293 | } | 293 | } |
294 | 294 | ||
295 | /* | 295 | /* |
296 | * NAME: header->decode() | 296 | * NAME: header->decode() |
297 | * DESCRIPTION: read the next frame header from the stream | 297 | * DESCRIPTION: read the next frame header from the stream |
298 | */ | 298 | */ |
299 | int mad_header_decode(struct mad_header *header, struct mad_stream *stream) | 299 | int mad_header_decode(struct mad_header *header, struct mad_stream *stream) |
300 | { | 300 | { |
@@ -351,7 +351,7 @@ int mad_header_decode(struct mad_header *header, struct mad_stream *stream) | |||
351 | 351 | ||
352 | if (mad_stream_sync(stream) == -1) { | 352 | if (mad_stream_sync(stream) == -1) { |
353 | if (end - stream->next_frame >= MAD_BUFFER_GUARD) | 353 | if (end - stream->next_frame >= MAD_BUFFER_GUARD) |
354 | stream->next_frame = end - MAD_BUFFER_GUARD; | 354 | stream->next_frame = end - MAD_BUFFER_GUARD; |
355 | 355 | ||
356 | stream->error = MAD_ERROR_BUFLEN; | 356 | stream->error = MAD_ERROR_BUFLEN; |
357 | goto fail; | 357 | goto fail; |
@@ -371,13 +371,13 @@ int mad_header_decode(struct mad_header *header, struct mad_stream *stream) | |||
371 | 371 | ||
372 | /* calculate frame duration */ | 372 | /* calculate frame duration */ |
373 | mad_timer_set(&header->duration, 0, | 373 | mad_timer_set(&header->duration, 0, |
374 | 32 * MAD_NSBSAMPLES(header), header->samplerate); | 374 | 32 * MAD_NSBSAMPLES(header), header->samplerate); |
375 | 375 | ||
376 | /* calculate free bit rate */ | 376 | /* calculate free bit rate */ |
377 | if (header->bitrate == 0) { | 377 | if (header->bitrate == 0) { |
378 | if ((stream->freerate == 0 || !stream->sync || | 378 | if ((stream->freerate == 0 || !stream->sync || |
379 | (header->layer == MAD_LAYER_III && stream->freerate > 640000)) && | 379 | (header->layer == MAD_LAYER_III && stream->freerate > 640000)) && |
380 | free_bitrate(stream, header) == -1) | 380 | free_bitrate(stream, header) == -1) |
381 | goto fail; | 381 | goto fail; |
382 | 382 | ||
383 | header->bitrate = stream->freerate; | 383 | header->bitrate = stream->freerate; |
@@ -393,7 +393,7 @@ int mad_header_decode(struct mad_header *header, struct mad_stream *stream) | |||
393 | unsigned int slots_per_frame; | 393 | unsigned int slots_per_frame; |
394 | 394 | ||
395 | slots_per_frame = (header->layer == MAD_LAYER_III && | 395 | slots_per_frame = (header->layer == MAD_LAYER_III && |
396 | (header->flags & MAD_FLAG_LSF_EXT)) ? 72 : 144; | 396 | (header->flags & MAD_FLAG_LSF_EXT)) ? 72 : 144; |
397 | 397 | ||
398 | N = (slots_per_frame * header->bitrate / header->samplerate) + pad_slot; | 398 | N = (slots_per_frame * header->bitrate / header->samplerate) + pad_slot; |
399 | } | 399 | } |
@@ -431,8 +431,8 @@ int mad_header_decode(struct mad_header *header, struct mad_stream *stream) | |||
431 | } | 431 | } |
432 | 432 | ||
433 | /* | 433 | /* |
434 | * NAME: frame->decode() | 434 | * NAME: frame->decode() |
435 | * DESCRIPTION: decode a single frame from a bitstream | 435 | * DESCRIPTION: decode a single frame from a bitstream |
436 | */ | 436 | */ |
437 | int mad_frame_decode(struct mad_frame *frame, struct mad_stream *stream) | 437 | int mad_frame_decode(struct mad_frame *frame, struct mad_stream *stream) |
438 | { | 438 | { |
@@ -479,8 +479,8 @@ int mad_frame_decode(struct mad_frame *frame, struct mad_stream *stream) | |||
479 | } | 479 | } |
480 | 480 | ||
481 | /* | 481 | /* |
482 | * NAME: frame->mute() | 482 | * NAME: frame->mute() |
483 | * DESCRIPTION: zero all subband values so the frame becomes silent | 483 | * DESCRIPTION: zero all subband values so the frame becomes silent |
484 | */ | 484 | */ |
485 | void mad_frame_mute(struct mad_frame *frame) | 485 | void mad_frame_mute(struct mad_frame *frame) |
486 | { | 486 | { |
@@ -496,8 +496,8 @@ void mad_frame_mute(struct mad_frame *frame) | |||
496 | if (frame->overlap) { | 496 | if (frame->overlap) { |
497 | for (s = 0; s < 18; ++s) { | 497 | for (s = 0; s < 18; ++s) { |
498 | for (sb = 0; sb < 32; ++sb) { | 498 | for (sb = 0; sb < 32; ++sb) { |
499 | (*frame->overlap)[0][sb][s] = | 499 | (*frame->overlap)[0][sb][s] = |
500 | (*frame->overlap)[1][sb][s] = 0; | 500 | (*frame->overlap)[1][sb][s] = 0; |
501 | } | 501 | } |
502 | } | 502 | } |
503 | } | 503 | } |