Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-04-08 19:03:38 +0400
committerMichael Niedermayer <michaelni@gmx.at>2012-04-08 19:03:38 +0400
commit1d80c8db272baaa9b0334fe68119176477d0b60e (patch)
treea32c728a1d895ed3413b49bc8022f00dfee62d5c /libavcodec/ffv1.c
parent8dfbc1c5cf7973f9ffb5c9857db5d4c03a896686 (diff)
ffv1: set slice geometry based on user specified slices.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/ffv1.c')
-rw-r--r--libavcodec/ffv1.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/libavcodec/ffv1.c b/libavcodec/ffv1.c
index 4c8ef4bc85..681b363283 100644
--- a/libavcodec/ffv1.c
+++ b/libavcodec/ffv1.c
@@ -1065,8 +1065,15 @@ static av_cold int encode_init(AVCodecContext *avctx)
}
if(s->version>1){
- s->num_h_slices=2;
- s->num_v_slices=2;
+ for(s->num_v_slices=2; 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)
+ goto slices_ok;
+ }
+ }
+ av_log(avctx, AV_LOG_ERROR, "Unsupported number %d of slices requested\n", avctx->slices);
+ return -1;
+ slices_ok:
write_extra_header(s);
}