summaryrefslogtreecommitdiff
path: root/libavcodec/smacker.c
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2011-11-09 16:20:45 -0500
committerJustin Ruggles <justin.ruggles@gmail.com>2011-11-09 16:20:45 -0500
commit375ca0aca81be2951d9ba4731196e70e490d3cdf (patch)
treee52b05dd771451a179559bf2f666e807f531810a /libavcodec/smacker.c
parentc86c3c8017da512591e6a490d447f64dc3d9253f (diff)
smackaud: clip output samples
Diffstat (limited to 'libavcodec/smacker.c')
-rw-r--r--libavcodec/smacker.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c
index 7013aa1f05..83ed8018a5 100644
--- a/libavcodec/smacker.c
+++ b/libavcodec/smacker.c
@@ -657,7 +657,7 @@ static int smka_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
res = 0;
val |= h[3].values[res] << 8;
pred[1] += sign_extend(val, 16);
- *samples++ = pred[1];
+ *samples++ = av_clip_int16(pred[1]);
} else {
if(vlc[0].table)
res = get_vlc2(&gb, vlc[0].table, SMKTREE_BITS, 3);
@@ -670,7 +670,7 @@ static int smka_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
res = 0;
val |= h[1].values[res] << 8;
pred[0] += sign_extend(val, 16);
- *samples++ = pred[0];
+ *samples++ = av_clip_int16(pred[0]);
}
}
} else { //8-bit data
@@ -685,14 +685,14 @@ static int smka_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
else
res = 0;
pred[1] += sign_extend(h[1].values[res], 8);
- *samples8++ = pred[1];
+ *samples8++ = av_clip_uint8(pred[1]);
} else {
if(vlc[0].table)
res = get_vlc2(&gb, vlc[0].table, SMKTREE_BITS, 3);
else
res = 0;
pred[0] += sign_extend(h[0].values[res], 8);
- *samples8++ = pred[0];
+ *samples8++ = av_clip_uint8(pred[0]);
}
}
}