summaryrefslogtreecommitdiff
path: root/libavcodec/vorbis.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/vorbis.c')
-rw-r--r--libavcodec/vorbis.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/vorbis.c b/libavcodec/vorbis.c
index cdf7cee579..0bd318d6b1 100644
--- a/libavcodec/vorbis.c
+++ b/libavcodec/vorbis.c
@@ -1379,7 +1379,9 @@ static int vorbis_residue_decode(vorbis_context *vc, vorbis_residue *vr, uint_fa
if (vqbook>=0) {
uint_fast16_t coffs;
- uint_fast16_t step=vr->partition_size/vc->codebooks[vqbook].dimensions;
+ uint_fast8_t dim= vc->codebooks[vqbook].dimensions;
+ uint_fast16_t step= dim==1 ? vr->partition_size
+ : FASTDIV(vr->partition_size, dim);
vorbis_codebook codebook= vc->codebooks[vqbook];
if (vr->type==0) {