Mercurial > libavcodec.hg
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; |