diff --git a/celt/vq.c b/celt/vq.c index a064df0047ec111ae4b400929a9a4dceab1c391d..6bf9b2b0c5ed70671e30644d7707dcec4993d9d9 100644 --- a/celt/vq.c +++ b/celt/vq.c @@ -147,9 +147,11 @@ static unsigned extract_collapse_mask(int *iy, int N, int B) collapse_mask = 0; i=0; do { int j; + unsigned tmp=0; j=0; do { - collapse_mask |= (iy[i*N0+j]!=0)<<i; + tmp |= iy[i*N0+j]; } while (++j<N0); + collapse_mask |= (tmp!=0)<<i; } while (++i<B); return collapse_mask; }