aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-04-25 18:02:43 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-04-25 18:05:29 +0200
commit83bf9fb6eca8cb9afd2a507ea20bec7f2cb429d2 (patch)
tree790277acb13db0b8ec0661a73e87a9b711fb8a8c
parent68a9194bb6ae638f51832c460c15b74f2c357ea9 (diff)
downloadffmpeg-83bf9fb6eca8cb9afd2a507ea20bec7f2cb429d2.tar.gz
ffv1: move clear_state() to clear_slice_state() in encoding threads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/ffv1.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/ffv1.c b/libavcodec/ffv1.c
index e03778e764..4df005f06c 100644
--- a/libavcodec/ffv1.c
+++ b/libavcodec/ffv1.c
@@ -1196,6 +1196,8 @@ static int encode_slice(AVCodecContext *c, void *arg){
AVFrame * const p= &f->picture;
const int ps= (f->bits_per_raw_sample>8)+1;
+ if(p->key_frame)
+ clear_slice_state(f, fs);
if(f->version > 2){
encode_slice_header(f, fs);
}
@@ -1252,7 +1254,6 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
p->key_frame= 1;
f->gob_count++;
write_header(f);
- clear_state(f);
}else{
put_rac(c, &keystate, 0);
p->key_frame= 0;