diff --git a/libswresample/swresample_test.c b/libswresample/swresample_test.c index d4b60706b2bcfbaa793b2ae26deedc46f05789ea..7fa4d3762753c5ec5c83138d7621ace64a3f7d21 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); } }