Author: kostya Date: Mon Sep 17 18:50:22 2007 New Revision: 1362 Log: Simplify rv40_gen_vlc() as suggested by Michael Modified: rv40/rv40.c Modified: rv40/rv40.c ============================================================================== --- rv40/rv40.c (original) +++ rv40/rv40.c Mon Sep 17 18:50:22 2007 @@ -149,29 +149,23 @@ static int rv40_gen_vlc(const uint8_t *b { int i; int counts[17] = {0}, codes[17]; - uint16_t *cw, *syms; - uint8_t *bits; + uint16_t cw[size], syms[size]; + uint8_t bits[size]; int maxbits = 0, realsize; int ret; - cw = av_mallocz(size * 2); - syms = av_malloc(size * 2); - bits = av_malloc(size); - realsize = 0; for(i = 0; i < size; i++){ if(bits2[i]){ bits[realsize] = bits2[i]; syms[realsize] = i; realsize++; - if(bits2[i] > maxbits) - maxbits = bits2[i]; + maxbits = FFMAX(maxbits, bits2[i]); + counts[bits2[i]]++; } } size = realsize; - for(i = 0; i < size; i++) - counts[bits[i]]++; codes[0] = 0; for(i = 0; i < 16; i++) codes[i+1] = (codes[i] + counts[i]) << 1; @@ -182,9 +176,6 @@ static int rv40_gen_vlc(const uint8_t *b bits, 1, 1, cw, 2, 2, syms, 2, 2, INIT_VLC_USE_STATIC); - av_free(cw); - av_free(syms); - av_free(bits); return ret; }
participants (1)
-
kostya