int run=0;
int runs[w*h];
int run_index=0;
+ int max_index;
for(y=0; y<h; y++){
for(x=0; x<w; x++){
}
}
}
+ max_index= run_index;
runs[run_index++]= run;
run_index=0;
run= runs[run_index++];
- put_symbol2(&s->c, b->state[1], run, 3);
+ put_symbol2(&s->c, b->state[30], max_index, 0);
+ if(run_index <= max_index)
+ put_symbol2(&s->c, b->state[1], run, 3);
for(y=0; y<h; y++){
if(s->c.bytestream_end - s->c.bytestream < w*40){
if(!run){
run= runs[run_index++];
- put_symbol2(&s->c, b->state[1], run, 3);
+ if(run_index <= max_index)
+ put_symbol2(&s->c, b->state[1], run, 3);
assert(v);
}else{
run--;
int x,y;
if(1){
- int run;
+ int run, runs;
x_and_coeff *xc= b->x_coeff;
x_and_coeff *prev_xc= NULL;
x_and_coeff *prev2_xc= xc;
x_and_coeff *parent_xc= parent ? parent->x_coeff : NULL;
x_and_coeff *prev_parent_xc= parent_xc;
- run= get_symbol2(&s->c, b->state[1], 3);
+ runs= get_symbol2(&s->c, b->state[30], 0);
+ if(runs-- > 0) run= get_symbol2(&s->c, b->state[1], 3);
+ else run= INT_MAX;
+
for(y=0; y<h; y++){
int v=0;
int lt=0, t=0, rt=0;
}
}else{
if(!run){
- run= get_symbol2(&s->c, b->state[1], 3);
+ if(runs-- > 0) run= get_symbol2(&s->c, b->state[1], 3);
+ else run= INT_MAX;
v= 2*(get_symbol2(&s->c, b->state[0 + 2], 0-4) + 1);
v+=get_rac(&s->c, &b->state[0][16 + 1 + 3]);
2653642 ./data/a-ffv1.avi
799d3db687f6cdd7a837ec156efc171f *./data/out.yuv
stddev: 0.00 PSNR:99.99 bytes:7602176
-98f6913d98bccb4ba4829ccde7286e8f *./data/a-snow.avi
-1266766 ./data/a-snow.avi
+24c1fcbcdb08052359679700056ef4e5 *./data/a-snow.avi
+1267526 ./data/a-snow.avi
575fdd879119902a8289c825c2389dca *./data/out.yuv
stddev: 2.96 PSNR:38.67 bytes:7602176
-28b6a82fdd8058e2df35778c9a5edbbf *./data/a-snow53.avi
-3537074 ./data/a-snow53.avi
+0c570833b736a8d4c8c428bf6e82272f *./data/a-snow53.avi
+3537490 ./data/a-snow53.avi
799d3db687f6cdd7a837ec156efc171f *./data/out.yuv
stddev: 0.00 PSNR:99.99 bytes:7602176
b5b6275f58f012de73644bbaa9080097 *./data/a-svq1.mov
3524768 ./data/a-ffv1.avi
dde5895817ad9d219f79a52d0bdfb001 *./data/out.yuv
stddev: 0.00 PSNR:99.99 bytes:7602176
-d1546d2176c4cd3913ccb0920e5e556f *./data/a-snow.avi
-326454 ./data/a-snow.avi
+2d665a41c46d8e581cf5898e85a2b55f *./data/a-snow.avi
+326532 ./data/a-snow.avi
c0b1b63dc45141c76d538edfd618ac19 *./data/out.yuv
stddev: 2.40 PSNR:40.51 bytes:7602176
-8b510a8e4a26d6d469bd80b46922d5e6 *./data/a-snow53.avi
-2724602 ./data/a-snow53.avi
+d0a8bdb25d7ed641eab0debcac396eb7 *./data/a-snow53.avi
+2725842 ./data/a-snow53.avi
dde5895817ad9d219f79a52d0bdfb001 *./data/out.yuv
stddev: 0.00 PSNR:99.99 bytes:7602176
920c610ec324b772d882b0717e375943 *./data/a-svq1.mov