2012/1/5 Jason Garrett-Glaser <ja...@x264.com>: > + int avail[6*8] = {0}; [...] > + if(r->avail_cache[9]) > + avail[24] = avail[32] = 1; > > You set all these values, but avail[] is never used.
Indeed, I ddin't noticed that. Maybe Kostya still remembers why he did that like this? A forgotten attempt at optimizing. > Not part of this patch, but is it possible to do the same optimization > here that I did in VP8: have idct clear the block, thus avoiding the > need for a separate clear_block call? I indeed did that later in the patch series, but sending it all at once could make it difficult to review. Up to you. > + for(i = 0; i < 4; i++, cbp >>= 1){ > + uint8_t *pdst; > + if(!(cbp & 1)) continue; > > Here's a really evil way of doing this that I used in VP8. > > int tmpcbp = cbp&0xf; > for(; tmpcbp ; tmpcbp >>= 1){ You mean the loop control, not the continue statement right? Otherwise, yes, I could apply this in several places and fix how I rely on the i/j loop counters for some computations. However, if you allow me, I would prefer not doing this if it causes conflicts when editing this commit and rebasing. Best regards, Christophe _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel