comparison snow.c @ 5667:9242e125395f libavcodec

do not force the halfpel filter coeffs to be retransmitted on every frame if always_reset is set
author michael
date Sun, 09 Sep 2007 16:54:00 +0000
parents b5c137f3f53a
children 52aae8c63b30
comparison
equal deleted inserted replaced
5666:b5c137f3f53a 5667:9242e125395f
3572 Plane *p= &s->plane[plane_index]; 3572 Plane *p= &s->plane[plane_index];
3573 update_mc |= p->last_htaps != p->htaps; 3573 update_mc |= p->last_htaps != p->htaps;
3574 update_mc |= p->last_diag_mc != p->diag_mc; 3574 update_mc |= p->last_diag_mc != p->diag_mc;
3575 update_mc |= !!memcmp(p->last_hcoeff, p->hcoeff, sizeof(p->hcoeff)); 3575 update_mc |= !!memcmp(p->last_hcoeff, p->hcoeff, sizeof(p->hcoeff));
3576 } 3576 }
3577 if(!s->always_reset) 3577 put_rac(&s->c, s->header_state, update_mc);
3578 put_rac(&s->c, s->header_state, update_mc);
3579 if(update_mc){ 3578 if(update_mc){
3580 for(plane_index=0; plane_index<2; plane_index++){ 3579 for(plane_index=0; plane_index<2; plane_index++){
3581 Plane *p= &s->plane[plane_index]; 3580 Plane *p= &s->plane[plane_index];
3582 put_rac(&s->c, s->header_state, p->diag_mc); 3581 put_rac(&s->c, s->header_state, p->diag_mc);
3583 put_symbol(&s->c, s->header_state, p->htaps/2-1, 0); 3582 put_symbol(&s->c, s->header_state, p->htaps/2-1, 0);
3659 3658
3660 decode_qlogs(s); 3659 decode_qlogs(s);
3661 } 3660 }
3662 3661
3663 if(!s->keyframe){ 3662 if(!s->keyframe){
3664 if(s->always_reset || get_rac(&s->c, s->header_state)){ 3663 if(get_rac(&s->c, s->header_state)){
3665 for(plane_index=0; plane_index<2; plane_index++){ 3664 for(plane_index=0; plane_index<2; plane_index++){
3666 int htaps, i, sum=0, absum=0; 3665 int htaps, i, sum=0, absum=0;
3667 Plane *p= &s->plane[plane_index]; 3666 Plane *p= &s->plane[plane_index];
3668 p->diag_mc= get_rac(&s->c, s->header_state); 3667 p->diag_mc= get_rac(&s->c, s->header_state);
3669 htaps= get_symbol(&s->c, s->header_state, 0)*2 + 2; 3668 htaps= get_symbol(&s->c, s->header_state, 0)*2 + 2;