do not force the halfpel filter coeffs to be retransmitted on every frame

if always_reset is set

Originally committed as revision 10460 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2007-09-09 16:54:00 +00:00
parent bc66275b06
commit b85bf991f6
2 changed files with 4 additions and 6 deletions

View File

@ -56,9 +56,8 @@ header:
qlogs
}
if(!keyframe){
if(!always_reset)
update_mc b header_state
if(always_reset || update_mc){
update_mc b header_state
if(update_mc){
for(plane=0; plane<2; plane++){
diag_mc b header_state
htaps/2-1 u header_state

View File

@ -3574,8 +3574,7 @@ static void encode_header(SnowContext *s){
update_mc |= p->last_diag_mc != p->diag_mc;
update_mc |= !!memcmp(p->last_hcoeff, p->hcoeff, sizeof(p->hcoeff));
}
if(!s->always_reset)
put_rac(&s->c, s->header_state, update_mc);
put_rac(&s->c, s->header_state, update_mc);
if(update_mc){
for(plane_index=0; plane_index<2; plane_index++){
Plane *p= &s->plane[plane_index];
@ -3661,7 +3660,7 @@ static int decode_header(SnowContext *s){
}
if(!s->keyframe){
if(s->always_reset || get_rac(&s->c, s->header_state)){
if(get_rac(&s->c, s->header_state)){
for(plane_index=0; plane_index<2; plane_index++){
int htaps, i, sum=0, absum=0;
Plane *p= &s->plane[plane_index];