summaryrefslogtreecommitdiff
path: root/libavcodec/ffv1.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2010-10-24 12:31:00 +0000
committerMichael Niedermayer <michaelni@gmx.at>2010-10-24 12:31:00 +0000
commit6019cd9ff27f2e9f092a6149e6c069e2867cd14f (patch)
tree6a036a3dfcf1bb00672c10108c757c4daa5121bf /libavcodec/ffv1.c
parentc55f891c2f767a4e9526da98bae7c1d48f0e980a (diff)
downloadffmpeg-6019cd9ff27f2e9f092a6149e6c069e2867cd14f.tar.gz
Factorize state_transition init out.
Originally committed as revision 25559 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/ffv1.c')
-rw-r--r--libavcodec/ffv1.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/libavcodec/ffv1.c b/libavcodec/ffv1.c
index 4601725286..dd3ff0d12b 100644
--- a/libavcodec/ffv1.c
+++ b/libavcodec/ffv1.c
@@ -629,8 +629,7 @@ static void write_header(FFV1Context *f){
put_symbol(c, state, f->ac, 0);
if(f->ac>1){
for(i=1; i<256; i++){
- f->state_transition[i]=ver2_state[i];
- put_symbol(c, state, ver2_state[i] - c->one_state[i], 1);
+ put_symbol(c, state, f->state_transition[i] - c->one_state[i], 1);
}
}
put_symbol(c, state, f->colorspace, 0); //YUV cs type
@@ -751,8 +750,7 @@ static int write_extra_header(FFV1Context *f){
put_symbol(c, state, f->ac, 0);
if(f->ac>1){
for(i=1; i<256; i++){
- f->state_transition[i]=ver2_state[i];
- put_symbol(c, state, ver2_state[i] - c->one_state[i], 1);
+ put_symbol(c, state, f->state_transition[i] - c->one_state[i], 1);
}
}
put_symbol(c, state, f->colorspace, 0); //YUV cs type
@@ -783,6 +781,10 @@ static av_cold int encode_init(AVCodecContext *avctx)
s->version=0;
s->ac= avctx->coder_type ? 2:0;
+ if(s->ac>1)
+ for(i=1; i<256; i++)
+ s->state_transition[i]=ver2_state[i];
+
s->plane_count=2;
for(i=0; i<256; i++){
s->quant_table_count=2;