diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-12-05 01:20:44 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-12-05 01:22:43 +0100 |
commit | 8bf16e677f5df5c71e92dcfd1cc5b2e2df15410b (patch) | |
tree | 6c939e98f1ef7fff2539a69923094d71fb278cd4 /libavcodec/ffv1enc.c | |
parent | 4e6f9db493f586becb4f42f30730ae27b219580a (diff) | |
download | ffmpeg-streaming-8bf16e677f5df5c71e92dcfd1cc5b2e2df15410b.zip ffmpeg-streaming-8bf16e677f5df5c71e92dcfd1cc5b2e2df15410b.tar.gz |
ffv1enc: allow encoding with 1 slice for CIF and smaller in version 3
the default is still 4 slices for any resolution, this just allows the user
to force 1 slice.
This in my quick test improves compression by 1% for a 320x240 sample
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/ffv1enc.c')
-rw-r--r-- | libavcodec/ffv1enc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c index b3879fc..031db06 100644 --- a/libavcodec/ffv1enc.c +++ b/libavcodec/ffv1enc.c @@ -872,7 +872,8 @@ static av_cold int encode_init(AVCodecContext *avctx) } if (s->version > 1) { - for (s->num_v_slices = 2; s->num_v_slices < 9; s->num_v_slices++) { + s->num_v_slices = (avctx->width > 352 || avctx->height > 288 || !avctx->slices) ? 2 : 1; + for (; s->num_v_slices < 9; s->num_v_slices++) { for (s->num_h_slices = s->num_v_slices; s->num_h_slices < 2*s->num_v_slices; s->num_h_slices++) { if (avctx->slices == s->num_h_slices * s->num_v_slices && avctx->slices <= 64 || !avctx->slices) goto slices_ok; |