cs->y += 2;
}
-static void spatial_compose53i(IDWTELEM *buffer, int width, int height, int stride){
+static void av_unused spatial_compose53i(IDWTELEM *buffer, int width, int height, int stride){
dwt_compose_t cs;
spatial_compose53i_init(&cs, buffer, height, stride);
while(cs.y <= height)
cs->y += 2;
}
-static void spatial_compose97i(IDWTELEM *buffer, int width, int height, int stride){
+static void av_unused spatial_compose97i(IDWTELEM *buffer, int width, int height, int stride){
dwt_compose_t cs;
spatial_compose97i_init(&cs, buffer, height, stride);
while(cs.y <= height)
put_symbol(&s->c, s->header_state, p->htaps/2-1, 0);
for(i= p->htaps/2; i; i--)
put_symbol(&s->c, s->header_state, FFABS(p->hcoeff[i]), 0);
-
- p->last_diag_mc= p->diag_mc;
- p->last_htaps= p->htaps;
- memcpy(p->last_hcoeff, p->hcoeff, sizeof(p->hcoeff));
}
}
if(s->last_spatial_decomposition_count != s->spatial_decomposition_count){
put_symbol(&s->c, s->header_state, s->qbias - s->last_qbias , 1);
put_symbol(&s->c, s->header_state, s->block_max_depth - s->last_block_max_depth, 1);
+}
+
+static void update_last_header_values(SnowContext *s){
+ int plane_index;
+
+ if(!s->keyframe){
+ for(plane_index=0; plane_index<2; plane_index++){
+ Plane *p= &s->plane[plane_index];
+ p->last_diag_mc= p->diag_mc;
+ p->last_htaps = p->htaps;
+ memcpy(p->last_hcoeff, p->hcoeff, sizeof(p->hcoeff));
+ }
+ }
+
s->last_spatial_decomposition_type= s->spatial_decomposition_type;
s->last_qlog = s->qlog;
s->last_qbias = s->qbias;
}
}
+ update_last_header_values(s);
+
if(s->last_picture[s->max_ref_frames-1].data[0]){
avctx->release_buffer(avctx, &s->last_picture[s->max_ref_frames-1]);
for(i=0; i<9; i++)
#endif
-#if 0
+#ifdef TEST
#undef malloc
#undef free
#undef printf
#undef random
-int main(){
+int main(void){
int width=256;
int height=256;
int buffer[2][width*height];
printf("};\n");
{
int level=2;
- int orientation=3;
int w= width >> (s.spatial_decomposition_count-level);
- int h= height >> (s.spatial_decomposition_count-level);
+ //int h= height >> (s.spatial_decomposition_count-level);
int stride= width << (s.spatial_decomposition_count-level);
DWTELEM *buf= buffer[0];
int64_t error=0;
}
return 0;
}
-#endif /* 0 */
+#endif /* TEST */