mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
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>
This commit is contained in:
parent
4e6f9db493
commit
8bf16e677f
@ -872,7 +872,8 @@ static av_cold int encode_init(AVCodecContext *avctx)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (s->version > 1) {
|
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++) {
|
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)
|
if (avctx->slices == s->num_h_slices * s->num_v_slices && avctx->slices <= 64 || !avctx->slices)
|
||||||
goto slices_ok;
|
goto slices_ok;
|
||||||
|
Loading…
Reference in New Issue
Block a user