Mercurial > libavcodec.hg
comparison pcm.c @ 649:5a8f80522cf8 libavcodec
fixing overflow in 16->8 bit conversion, patch by (Nikolai Zhubr <s001 at hotbox dot ru>)
author | michaelni |
---|---|
date | Sat, 07 Sep 2002 10:57:51 +0000 |
parents | 000aeeac27a2 |
children | 7fccaa0d699d |
comparison
equal
deleted
inserted
replaced
648:dddcff6841f2 | 649:5a8f80522cf8 |
---|---|
207 } | 207 } |
208 break; | 208 break; |
209 case CODEC_ID_PCM_S8: | 209 case CODEC_ID_PCM_S8: |
210 for(;n>0;n--) { | 210 for(;n>0;n--) { |
211 v = *samples++; | 211 v = *samples++; |
212 dst[0] = (v + 128) >> 8; | 212 dst[0] = v >> 8; |
213 dst++; | 213 dst++; |
214 } | 214 } |
215 break; | 215 break; |
216 case CODEC_ID_PCM_U8: | 216 case CODEC_ID_PCM_U8: |
217 for(;n>0;n--) { | 217 for(;n>0;n--) { |
218 v = *samples++; | 218 v = *samples++; |
219 dst[0] = ((v + 128) >> 8) + 128; | 219 dst[0] = (v >> 8) + 128; |
220 dst++; | 220 dst++; |
221 } | 221 } |
222 break; | 222 break; |
223 case CODEC_ID_PCM_ALAW: | 223 case CODEC_ID_PCM_ALAW: |
224 for(;n>0;n--) { | 224 for(;n>0;n--) { |