From eec423abe9bcdef9a8f04707c0daaf858d2bce31 Mon Sep 17 00:00:00 2001 From: Urvang Joshi Date: Tue, 6 Jan 2015 16:24:07 -0800 Subject: [PATCH] AnimEncoder API: In Assemble(), always set animation parameters. We set the parameters even if there is just one frame. This is to make sure assembly is correct even if single frame animation is NOT converted to a full frame later. Change-Id: If79e6aa5e2575cb0f3cd229f16c655b3663c35b0 --- src/mux/anim_encode.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mux/anim_encode.c b/src/mux/anim_encode.c index 79ebc9a2..9774239d 100644 --- a/src/mux/anim_encode.c +++ b/src/mux/anim_encode.c @@ -1068,7 +1068,7 @@ int WebPAnimEncoderAdd(WebPAnimEncoder* enc, WebPPicture* frame, int duration, // ----------------------------------------------------------------------------- // Bitstream assembly. -static WebPMuxError ConvertSingleFrameToFullFrame(WebPMux* const mux) { +static WebPMuxError OptimizeSingleFrame(WebPMux* const mux) { // TODO(urvang): If only one frame, re-encode it as a full frame. (void)mux; return WEBP_MUX_OK; @@ -1099,11 +1099,11 @@ int WebPAnimEncoderAssemble(WebPAnimEncoder* enc, WebPData* webp_data) { err = WebPMuxSetCanvasSize(mux, enc->canvas_width_, enc->canvas_height_); if (err != WEBP_MUX_OK) goto Err; + err = WebPMuxSetAnimationParams(mux, &enc->options_.anim_params); + if (err != WEBP_MUX_OK) goto Err; + if (enc->frame_count_ == 1) { - err = ConvertSingleFrameToFullFrame(mux); - if (err != WEBP_MUX_OK) goto Err; - } else { - err = WebPMuxSetAnimationParams(mux, &enc->options_.anim_params); + err = OptimizeSingleFrame(mux); if (err != WEBP_MUX_OK) goto Err; }