comparison snow.c @ 3035:d0f408fa01c7 libavcodec

bugs found by valgrind
author michael
date Thu, 12 Jan 2006 21:37:57 +0000
parents e8599ab02b38
children 0b546eab515d
comparison
equal deleted inserted replaced
3034:d37065d8aeff 3035:d0f408fa01c7
3114 BlockNode *b = &s->block[index]; 3114 BlockNode *b = &s->block[index];
3115 BlockNode *left = x ? &s->block[index-1] : &null_block; 3115 BlockNode *left = x ? &s->block[index-1] : &null_block;
3116 BlockNode *top = y ? &s->block[index-b_stride] : &null_block; 3116 BlockNode *top = y ? &s->block[index-b_stride] : &null_block;
3117 BlockNode *tl = y && x ? &s->block[index-b_stride-1] : left; 3117 BlockNode *tl = y && x ? &s->block[index-b_stride-1] : left;
3118 BlockNode *tr = y && x+1<b_stride ? &s->block[index-b_stride+1] : tl; 3118 BlockNode *tr = y && x+1<b_stride ? &s->block[index-b_stride+1] : tl;
3119 int dmx= b->mx - mid_pred(left->mx, top->mx, tr->mx); 3119 int dmx, dmy;
3120 int dmy= b->my - mid_pred(left->my, top->my, tr->my);
3121 // int mx_context= av_log2(2*ABS(left->mx - top->mx)); 3120 // int mx_context= av_log2(2*ABS(left->mx - top->mx));
3122 // int my_context= av_log2(2*ABS(left->my - top->my)); 3121 // int my_context= av_log2(2*ABS(left->my - top->my));
3123 3122
3124 if(x<0 || x>=b_stride || y>=b_height) 3123 if(x<0 || x>=b_stride || y>=b_height)
3125 continue; 3124 continue;
3125 dmx= b->mx - mid_pred(left->mx, top->mx, tr->mx);
3126 dmy= b->my - mid_pred(left->my, top->my, tr->my);
3126 /* 3127 /*
3127 1 0 0 3128 1 0 0
3128 01X 1-2 1 3129 01X 1-2 1
3129 001XX 3-6 2-3 3130 001XX 3-6 2-3
3130 0001XXX 7-14 4-7 3131 0001XXX 7-14 4-7
3204 int dia_change, i, j; 3205 int dia_change, i, j;
3205 int best_rd= INT_MAX; 3206 int best_rd= INT_MAX;
3206 BlockNode backup; 3207 BlockNode backup;
3207 const int index= mb_x + mb_y * b_stride; 3208 const int index= mb_x + mb_y * b_stride;
3208 BlockNode *block= &s->block[index]; 3209 BlockNode *block= &s->block[index];
3209 BlockNode *tb = mb_y ? &s->block[index-b_stride ] : &null_block; 3210 BlockNode *tb = mb_y ? &s->block[index-b_stride ] : &null_block;
3210 BlockNode *lb = mb_x ? &s->block[index -1] : &null_block; 3211 BlockNode *lb = mb_x ? &s->block[index -1] : &null_block;
3211 BlockNode *rb = mb_x<b_width ? &s->block[index +1] : &null_block; 3212 BlockNode *rb = mb_x+1<b_width ? &s->block[index +1] : &null_block;
3212 BlockNode *bb = mb_y<b_height ? &s->block[index+b_stride ] : &null_block; 3213 BlockNode *bb = mb_y+1<b_height ? &s->block[index+b_stride ] : &null_block;
3213 BlockNode *tlb= mb_x && mb_y ? &s->block[index-b_stride-1] : &null_block; 3214 BlockNode *tlb= mb_x && mb_y ? &s->block[index-b_stride-1] : &null_block;
3214 BlockNode *trb= mb_x<b_width && mb_y ? &s->block[index-b_stride+1] : &null_block; 3215 BlockNode *trb= mb_x+1<b_width && mb_y ? &s->block[index-b_stride+1] : &null_block;
3215 BlockNode *blb= mb_x && mb_y<b_height ? &s->block[index+b_stride-1] : &null_block; 3216 BlockNode *blb= mb_x && mb_y+1<b_height ? &s->block[index+b_stride-1] : &null_block;
3216 BlockNode *brb= mb_x<b_width && mb_y<b_height ? &s->block[index+b_stride+1] : &null_block; 3217 BlockNode *brb= mb_x+1<b_width && mb_y+1<b_height ? &s->block[index+b_stride+1] : &null_block;
3217 const int b_w= (MB_SIZE >> s->block_max_depth); 3218 const int b_w= (MB_SIZE >> s->block_max_depth);
3218 uint8_t obmc_edged[b_w*2][b_w*2]; 3219 uint8_t obmc_edged[b_w*2][b_w*2];
3219 3220
3220 if(pass && (block->type & BLOCK_OPT)) 3221 if(pass && (block->type & BLOCK_OPT))
3221 continue; 3222 continue;