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
This commit is contained in:
Urvang Joshi 2015-01-06 16:24:07 -08:00
parent ae1c046e12
commit eec423abe9

View File

@ -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,12 +1099,12 @@ int WebPAnimEncoderAssemble(WebPAnimEncoder* enc, WebPData* webp_data) {
err = WebPMuxSetCanvasSize(mux, enc->canvas_width_, enc->canvas_height_);
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);
if (err != WEBP_MUX_OK) goto Err;
if (enc->frame_count_ == 1) {
err = OptimizeSingleFrame(mux);
if (err != WEBP_MUX_OK) goto Err;
}
// Assemble into a WebP bitstream.