Patchwork swr-test: improve rounding in set()

login
register
mail settings
Submitter Michael Niedermayer
Date April 26, 2012, 6:39 p.m.
Message ID <20120426183923.27A2E149B96@albiero.videolan.org>
Download mbox | patch
Permalink /patch/20844/
State New
Headers show

Comments

Michael Niedermayer - April 26, 2012, 6:39 p.m.
ffmpeg | branch: master | Michael Niedermayer <michaelni@gmx.at> | Thu Apr 26 19:39:40 2012 +0200| [56f89bae521dfbccc3836c1158f52b0cfdfbd92d] | committer: Michael Niedermayer

swr-test: improve rounding in set()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=56f89bae521dfbccc3836c1158f52b0cfdfbd92d
---

 libswresample/swresample_test.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

Patch

diff --git a/libswresample/swresample_test.c b/libswresample/swresample_test.c
index d4b6070..7fa4d37 100644
--- a/libswresample/swresample_test.c
+++ b/libswresample/swresample_test.c
@@ -59,11 +59,11 @@  static void  set(uint8_t *a[], int ch, int index, int ch_count, enum AVSampleFor
         index= ch + index*ch_count;
     }
     switch(f){
-    case AV_SAMPLE_FMT_U8 : ((uint8_t*)p)[index]= (v+1.0)*255.0/2; break;
-    case AV_SAMPLE_FMT_S16: ((int16_t*)p)[index]= v*32767;         break;
-    case AV_SAMPLE_FMT_S32: ((int32_t*)p)[index]= v*2147483647;    break;
-    case AV_SAMPLE_FMT_FLT: ((float  *)p)[index]= v;               break;
-    case AV_SAMPLE_FMT_DBL: ((double *)p)[index]= v;               break;
+    case AV_SAMPLE_FMT_U8 : ((uint8_t*)p)[index]= av_clip_uint8 (lrint((v+1.0)*255.0/2)); break;
+    case AV_SAMPLE_FMT_S16: ((int16_t*)p)[index]= av_clip_int16 (lrint(v*32767));         break;
+    case AV_SAMPLE_FMT_S32: ((int32_t*)p)[index]= av_clipl_int32(lrint(v*2147483647));    break;
+    case AV_SAMPLE_FMT_FLT: ((float  *)p)[index]= v;                                      break;
+    case AV_SAMPLE_FMT_DBL: ((double *)p)[index]= v;                                      break;
     default: av_assert2(0);
     }
 }