diff options
author | Dave Hooper <dave@beermex.com> | 2010-02-17 00:49:53 +0000 |
---|---|---|
committer | Dave Hooper <dave@beermex.com> | 2010-02-17 00:49:53 +0000 |
commit | 42774d3128b91d5a37344cb40d56d3c4d147e5f2 (patch) | |
tree | bf336b407992ec9a5e454556f3351e3f8a0d10de /apps/codecs/liba52/downmix.c | |
parent | 62257ebc38bc0a3095b25dd0f58c4c8215edf602 (diff) | |
download | rockbox-42774d3128b91d5a37344cb40d56d3c4d147e5f2.tar.gz rockbox-42774d3128b91d5a37344cb40d56d3c4d147e5f2.zip |
Merge from branches/mdctexp - faster ifft+imdct in codec lib
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24712 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/liba52/downmix.c')
-rw-r--r-- | apps/codecs/liba52/downmix.c | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/apps/codecs/liba52/downmix.c b/apps/codecs/liba52/downmix.c index 7bbf3793f0..2e8567bceb 100644 --- a/apps/codecs/liba52/downmix.c +++ b/apps/codecs/liba52/downmix.c | |||
@@ -329,7 +329,7 @@ int a52_downmix_coeff (level_t * coeff, int acmod, int output, level_t level, | |||
329 | return -1; /* NOTREACHED */ | 329 | return -1; /* NOTREACHED */ |
330 | } | 330 | } |
331 | 331 | ||
332 | static void mix2to1 (sample_t * dest, sample_t * src, sample_t bias) | 332 | static void mix2to1 (sample_t * dest, sample_t * src) |
333 | { | 333 | { |
334 | int i; | 334 | int i; |
335 | 335 | ||
@@ -337,7 +337,7 @@ static void mix2to1 (sample_t * dest, sample_t * src, sample_t bias) | |||
337 | dest[i] += BIAS (src[i]); | 337 | dest[i] += BIAS (src[i]); |
338 | } | 338 | } |
339 | 339 | ||
340 | static void mix3to1 (sample_t * samples, sample_t bias) | 340 | static void mix3to1 (sample_t * samples) |
341 | { | 341 | { |
342 | int i; | 342 | int i; |
343 | 343 | ||
@@ -345,7 +345,7 @@ static void mix3to1 (sample_t * samples, sample_t bias) | |||
345 | samples[i] += BIAS (samples[i + 256] + samples[i + 512]); | 345 | samples[i] += BIAS (samples[i + 256] + samples[i + 512]); |
346 | } | 346 | } |
347 | 347 | ||
348 | static void mix4to1 (sample_t * samples, sample_t bias) | 348 | static void mix4to1 (sample_t * samples) |
349 | { | 349 | { |
350 | int i; | 350 | int i; |
351 | 351 | ||
@@ -354,7 +354,7 @@ static void mix4to1 (sample_t * samples, sample_t bias) | |||
354 | samples[i + 768]); | 354 | samples[i + 768]); |
355 | } | 355 | } |
356 | 356 | ||
357 | static void mix5to1 (sample_t * samples, sample_t bias) | 357 | static void mix5to1 (sample_t * samples) |
358 | { | 358 | { |
359 | int i; | 359 | int i; |
360 | 360 | ||
@@ -363,7 +363,7 @@ static void mix5to1 (sample_t * samples, sample_t bias) | |||
363 | samples[i + 768] + samples[i + 1024]); | 363 | samples[i + 768] + samples[i + 1024]); |
364 | } | 364 | } |
365 | 365 | ||
366 | static void mix3to2 (sample_t * samples, sample_t bias) | 366 | static void mix3to2 (sample_t * samples) |
367 | { | 367 | { |
368 | int i; | 368 | int i; |
369 | sample_t common; | 369 | sample_t common; |
@@ -375,7 +375,7 @@ static void mix3to2 (sample_t * samples, sample_t bias) | |||
375 | } | 375 | } |
376 | } | 376 | } |
377 | 377 | ||
378 | static void mix21to2 (sample_t * left, sample_t * right, sample_t bias) | 378 | static void mix21to2 (sample_t * left, sample_t * right) |
379 | { | 379 | { |
380 | int i; | 380 | int i; |
381 | sample_t common; | 381 | sample_t common; |
@@ -387,7 +387,7 @@ static void mix21to2 (sample_t * left, sample_t * right, sample_t bias) | |||
387 | } | 387 | } |
388 | } | 388 | } |
389 | 389 | ||
390 | static void mix21toS (sample_t * samples, sample_t bias) | 390 | static void mix21toS (sample_t * samples) |
391 | { | 391 | { |
392 | int i; | 392 | int i; |
393 | sample_t surround; | 393 | sample_t surround; |
@@ -399,7 +399,7 @@ static void mix21toS (sample_t * samples, sample_t bias) | |||
399 | } | 399 | } |
400 | } | 400 | } |
401 | 401 | ||
402 | static void mix31to2 (sample_t * samples, sample_t bias) | 402 | static void mix31to2 (sample_t * samples) |
403 | { | 403 | { |
404 | int i; | 404 | int i; |
405 | sample_t common; | 405 | sample_t common; |
@@ -411,7 +411,7 @@ static void mix31to2 (sample_t * samples, sample_t bias) | |||
411 | } | 411 | } |
412 | } | 412 | } |
413 | 413 | ||
414 | static void mix31toS (sample_t * samples, sample_t bias) | 414 | static void mix31toS (sample_t * samples) |
415 | { | 415 | { |
416 | int i; | 416 | int i; |
417 | sample_t common, surround; | 417 | sample_t common, surround; |
@@ -424,7 +424,7 @@ static void mix31toS (sample_t * samples, sample_t bias) | |||
424 | } | 424 | } |
425 | } | 425 | } |
426 | 426 | ||
427 | static void mix22toS (sample_t * samples, sample_t bias) | 427 | static void mix22toS (sample_t * samples) |
428 | { | 428 | { |
429 | int i; | 429 | int i; |
430 | sample_t surround; | 430 | sample_t surround; |
@@ -436,7 +436,7 @@ static void mix22toS (sample_t * samples, sample_t bias) | |||
436 | } | 436 | } |
437 | } | 437 | } |
438 | 438 | ||
439 | static void mix32to2 (sample_t * samples, sample_t bias) | 439 | static void mix32to2 (sample_t * samples) |
440 | { | 440 | { |
441 | int i; | 441 | int i; |
442 | sample_t common; | 442 | sample_t common; |
@@ -448,7 +448,7 @@ static void mix32to2 (sample_t * samples, sample_t bias) | |||
448 | } | 448 | } |
449 | } | 449 | } |
450 | 450 | ||
451 | static void mix32toS (sample_t * samples, sample_t bias) | 451 | static void mix32toS (sample_t * samples) |
452 | { | 452 | { |
453 | int i; | 453 | int i; |
454 | sample_t common, surround; | 454 | sample_t common, surround; |
@@ -461,7 +461,7 @@ static void mix32toS (sample_t * samples, sample_t bias) | |||
461 | } | 461 | } |
462 | } | 462 | } |
463 | 463 | ||
464 | static void move2to1 (sample_t * src, sample_t * dest, sample_t bias) | 464 | static void move2to1 (sample_t * src, sample_t * dest) |
465 | { | 465 | { |
466 | int i; | 466 | int i; |
467 | 467 | ||
@@ -477,7 +477,7 @@ static void zero (sample_t * samples) | |||
477 | samples[i] = 0; | 477 | samples[i] = 0; |
478 | } | 478 | } |
479 | 479 | ||
480 | void a52_downmix (sample_t * samples, int acmod, int output, sample_t bias, | 480 | void a52_downmix (sample_t * samples, int acmod, int output, |
481 | level_t clev, level_t slev) | 481 | level_t clev, level_t slev) |
482 | { | 482 | { |
483 | /* avoid compiler warning */ | 483 | /* avoid compiler warning */ |
@@ -492,7 +492,7 @@ void a52_downmix (sample_t * samples, int acmod, int output, sample_t bias, | |||
492 | case CONVERT (A52_CHANNEL, A52_MONO): | 492 | case CONVERT (A52_CHANNEL, A52_MONO): |
493 | case CONVERT (A52_STEREO, A52_MONO): | 493 | case CONVERT (A52_STEREO, A52_MONO): |
494 | mix_2to1: | 494 | mix_2to1: |
495 | mix2to1 (samples, samples + 256, bias); | 495 | mix2to1 (samples, samples + 256); |
496 | break; | 496 | break; |
497 | 497 | ||
498 | case CONVERT (A52_2F1R, A52_MONO): | 498 | case CONVERT (A52_2F1R, A52_MONO): |
@@ -500,7 +500,7 @@ void a52_downmix (sample_t * samples, int acmod, int output, sample_t bias, | |||
500 | goto mix_2to1; | 500 | goto mix_2to1; |
501 | case CONVERT (A52_3F, A52_MONO): | 501 | case CONVERT (A52_3F, A52_MONO): |
502 | mix_3to1: | 502 | mix_3to1: |
503 | mix3to1 (samples, bias); | 503 | mix3to1 (samples); |
504 | break; | 504 | break; |
505 | 505 | ||
506 | case CONVERT (A52_3F1R, A52_MONO): | 506 | case CONVERT (A52_3F1R, A52_MONO): |
@@ -509,13 +509,13 @@ void a52_downmix (sample_t * samples, int acmod, int output, sample_t bias, | |||
509 | case CONVERT (A52_2F2R, A52_MONO): | 509 | case CONVERT (A52_2F2R, A52_MONO): |
510 | if (slev == 0) | 510 | if (slev == 0) |
511 | goto mix_2to1; | 511 | goto mix_2to1; |
512 | mix4to1 (samples, bias); | 512 | mix4to1 (samples); |
513 | break; | 513 | break; |
514 | 514 | ||
515 | case CONVERT (A52_3F2R, A52_MONO): | 515 | case CONVERT (A52_3F2R, A52_MONO): |
516 | if (slev == 0) | 516 | if (slev == 0) |
517 | goto mix_3to1; | 517 | goto mix_3to1; |
518 | mix5to1 (samples, bias); | 518 | mix5to1 (samples); |
519 | break; | 519 | break; |
520 | 520 | ||
521 | case CONVERT (A52_MONO, A52_DOLBY): | 521 | case CONVERT (A52_MONO, A52_DOLBY): |
@@ -525,79 +525,79 @@ void a52_downmix (sample_t * samples, int acmod, int output, sample_t bias, | |||
525 | case CONVERT (A52_3F, A52_STEREO): | 525 | case CONVERT (A52_3F, A52_STEREO): |
526 | case CONVERT (A52_3F, A52_DOLBY): | 526 | case CONVERT (A52_3F, A52_DOLBY): |
527 | mix_3to2: | 527 | mix_3to2: |
528 | mix3to2 (samples, bias); | 528 | mix3to2 (samples); |
529 | break; | 529 | break; |
530 | 530 | ||
531 | case CONVERT (A52_2F1R, A52_STEREO): | 531 | case CONVERT (A52_2F1R, A52_STEREO): |
532 | if (slev == 0) | 532 | if (slev == 0) |
533 | break; | 533 | break; |
534 | mix21to2 (samples, samples + 256, bias); | 534 | mix21to2 (samples, samples + 256); |
535 | break; | 535 | break; |
536 | 536 | ||
537 | case CONVERT (A52_2F1R, A52_DOLBY): | 537 | case CONVERT (A52_2F1R, A52_DOLBY): |
538 | mix21toS (samples, bias); | 538 | mix21toS (samples); |
539 | break; | 539 | break; |
540 | 540 | ||
541 | case CONVERT (A52_3F1R, A52_STEREO): | 541 | case CONVERT (A52_3F1R, A52_STEREO): |
542 | if (slev == 0) | 542 | if (slev == 0) |
543 | goto mix_3to2; | 543 | goto mix_3to2; |
544 | mix31to2 (samples, bias); | 544 | mix31to2 (samples); |
545 | break; | 545 | break; |
546 | 546 | ||
547 | case CONVERT (A52_3F1R, A52_DOLBY): | 547 | case CONVERT (A52_3F1R, A52_DOLBY): |
548 | mix31toS (samples, bias); | 548 | mix31toS (samples); |
549 | break; | 549 | break; |
550 | 550 | ||
551 | case CONVERT (A52_2F2R, A52_STEREO): | 551 | case CONVERT (A52_2F2R, A52_STEREO): |
552 | if (slev == 0) | 552 | if (slev == 0) |
553 | break; | 553 | break; |
554 | mix2to1 (samples, samples + 512, bias); | 554 | mix2to1 (samples, samples + 512); |
555 | mix2to1 (samples + 256, samples + 768, bias); | 555 | mix2to1 (samples + 256, samples + 768); |
556 | break; | 556 | break; |
557 | 557 | ||
558 | case CONVERT (A52_2F2R, A52_DOLBY): | 558 | case CONVERT (A52_2F2R, A52_DOLBY): |
559 | mix22toS (samples, bias); | 559 | mix22toS (samples); |
560 | break; | 560 | break; |
561 | 561 | ||
562 | case CONVERT (A52_3F2R, A52_STEREO): | 562 | case CONVERT (A52_3F2R, A52_STEREO): |
563 | if (slev == 0) | 563 | if (slev == 0) |
564 | goto mix_3to2; | 564 | goto mix_3to2; |
565 | mix32to2 (samples, bias); | 565 | mix32to2 (samples); |
566 | break; | 566 | break; |
567 | 567 | ||
568 | case CONVERT (A52_3F2R, A52_DOLBY): | 568 | case CONVERT (A52_3F2R, A52_DOLBY): |
569 | mix32toS (samples, bias); | 569 | mix32toS (samples); |
570 | break; | 570 | break; |
571 | 571 | ||
572 | case CONVERT (A52_3F1R, A52_3F): | 572 | case CONVERT (A52_3F1R, A52_3F): |
573 | if (slev == 0) | 573 | if (slev == 0) |
574 | break; | 574 | break; |
575 | mix21to2 (samples, samples + 512, bias); | 575 | mix21to2 (samples, samples + 512); |
576 | break; | 576 | break; |
577 | 577 | ||
578 | case CONVERT (A52_3F2R, A52_3F): | 578 | case CONVERT (A52_3F2R, A52_3F): |
579 | if (slev == 0) | 579 | if (slev == 0) |
580 | break; | 580 | break; |
581 | mix2to1 (samples, samples + 768, bias); | 581 | mix2to1 (samples, samples + 768); |
582 | mix2to1 (samples + 512, samples + 1024, bias); | 582 | mix2to1 (samples + 512, samples + 1024); |
583 | break; | 583 | break; |
584 | 584 | ||
585 | case CONVERT (A52_3F1R, A52_2F1R): | 585 | case CONVERT (A52_3F1R, A52_2F1R): |
586 | mix3to2 (samples, bias); | 586 | mix3to2 (samples); |
587 | memcpy (samples + 512, samples + 768, 256 * sizeof (sample_t)); | 587 | memcpy (samples + 512, samples + 768, 256 * sizeof (sample_t)); |
588 | break; | 588 | break; |
589 | 589 | ||
590 | case CONVERT (A52_2F2R, A52_2F1R): | 590 | case CONVERT (A52_2F2R, A52_2F1R): |
591 | mix2to1 (samples + 512, samples + 768, bias); | 591 | mix2to1 (samples + 512, samples + 768); |
592 | break; | 592 | break; |
593 | 593 | ||
594 | case CONVERT (A52_3F2R, A52_2F1R): | 594 | case CONVERT (A52_3F2R, A52_2F1R): |
595 | mix3to2 (samples, bias); | 595 | mix3to2 (samples); |
596 | move2to1 (samples + 768, samples + 512, bias); | 596 | move2to1 (samples + 768, samples + 512); |
597 | break; | 597 | break; |
598 | 598 | ||
599 | case CONVERT (A52_3F2R, A52_3F1R): | 599 | case CONVERT (A52_3F2R, A52_3F1R): |
600 | mix2to1 (samples + 768, samples + 1024, bias); | 600 | mix2to1 (samples + 768, samples + 1024); |
601 | break; | 601 | break; |
602 | 602 | ||
603 | case CONVERT (A52_2F1R, A52_2F2R): | 603 | case CONVERT (A52_2F1R, A52_2F2R): |
@@ -605,12 +605,12 @@ void a52_downmix (sample_t * samples, int acmod, int output, sample_t bias, | |||
605 | break; | 605 | break; |
606 | 606 | ||
607 | case CONVERT (A52_3F1R, A52_2F2R): | 607 | case CONVERT (A52_3F1R, A52_2F2R): |
608 | mix3to2 (samples, bias); | 608 | mix3to2 (samples); |
609 | memcpy (samples + 512, samples + 768, 256 * sizeof (sample_t)); | 609 | memcpy (samples + 512, samples + 768, 256 * sizeof (sample_t)); |
610 | break; | 610 | break; |
611 | 611 | ||
612 | case CONVERT (A52_3F2R, A52_2F2R): | 612 | case CONVERT (A52_3F2R, A52_2F2R): |
613 | mix3to2 (samples, bias); | 613 | mix3to2 (samples); |
614 | memcpy (samples + 512, samples + 768, 256 * sizeof (sample_t)); | 614 | memcpy (samples + 512, samples + 768, 256 * sizeof (sample_t)); |
615 | memcpy (samples + 768, samples + 1024, 256 * sizeof (sample_t)); | 615 | memcpy (samples + 768, samples + 1024, 256 * sizeof (sample_t)); |
616 | break; | 616 | break; |