| @@ -3116,13 +3116,14 @@ static int get_block_rd(SnowContext *s, int mb_x, int mb_y, int plane_index, con · 3115 unmodified lines |
| 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 |
| @@ -3206,14 +3207,14 @@ static void iterative_me(SnowContext *s){ · 77 unmodified lines |
| 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 | |