comparison mpegaudiodec.c @ 9601:21225d993671 libavcodec

mpegaudio: use av_clip()
author mru
date Tue, 05 May 2009 18:44:07 +0000
parents f9a7147cc9e6
children 9e7665d68111
comparison
equal deleted inserted replaced
9600:b59a8ed50f36 9601:21225d993671
750 static inline int round_sample(int *sum) 750 static inline int round_sample(int *sum)
751 { 751 {
752 int sum1; 752 int sum1;
753 sum1 = (*sum) >> OUT_SHIFT; 753 sum1 = (*sum) >> OUT_SHIFT;
754 *sum &= (1<<OUT_SHIFT)-1; 754 *sum &= (1<<OUT_SHIFT)-1;
755 if (sum1 < OUT_MIN) 755 return av_clip(sum1, OUT_MIN, OUT_MAX);
756 sum1 = OUT_MIN;
757 else if (sum1 > OUT_MAX)
758 sum1 = OUT_MAX;
759 return sum1;
760 } 756 }
761 757
762 /* signed 16x16 -> 32 multiply add accumulate */ 758 /* signed 16x16 -> 32 multiply add accumulate */
763 #define MACS(rt, ra, rb) MAC16(rt, ra, rb) 759 #define MACS(rt, ra, rb) MAC16(rt, ra, rb)
764 760
772 static inline int round_sample(int64_t *sum) 768 static inline int round_sample(int64_t *sum)
773 { 769 {
774 int sum1; 770 int sum1;
775 sum1 = (int)((*sum) >> OUT_SHIFT); 771 sum1 = (int)((*sum) >> OUT_SHIFT);
776 *sum &= (1<<OUT_SHIFT)-1; 772 *sum &= (1<<OUT_SHIFT)-1;
777 if (sum1 < OUT_MIN) 773 return av_clip(sum1, OUT_MIN, OUT_MAX);
778 sum1 = OUT_MIN;
779 else if (sum1 > OUT_MAX)
780 sum1 = OUT_MAX;
781 return sum1;
782 } 774 }
783 775
784 # define MULS(ra, rb) MUL64(ra, rb) 776 # define MULS(ra, rb) MUL64(ra, rb)
785 # define MACS(rt, ra, rb) MAC64(rt, ra, rb) 777 # define MACS(rt, ra, rb) MAC64(rt, ra, rb)
786 # define MLSS(rt, ra, rb) MLS64(rt, ra, rb) 778 # define MLSS(rt, ra, rb) MLS64(rt, ra, rb)