AnimEncoder API: Init method for default options.

Change-Id: I3ccd7fe782e10c51986b55fc1a515d958ff70752
This commit is contained in:
Urvang Joshi 2015-01-07 14:32:11 -08:00
parent 856f8ec1fd
commit b9489861a3
2 changed files with 27 additions and 2 deletions

View File

@ -150,6 +150,16 @@ static void DefaultEncoderOptions(WebPAnimEncoderOptions* const enc_options) {
enc_options->verbose = 0;
}
int WebPAnimEncoderOptionsInitInternal(WebPAnimEncoderOptions* enc_options,
int abi_version) {
if (enc_options == NULL ||
WEBP_ABI_IS_INCOMPATIBLE(abi_version, WEBP_MUX_ABI_VERSION)) {
return 0;
}
DefaultEncoderOptions(enc_options);
return 1;
}
#define TRANSPARENT_COLOR 0x00ffffff
static void ClearRectangle(WebPPicture* const picture,

View File

@ -399,9 +399,11 @@ WEBP_EXTERN(WebPMuxError) WebPMuxAssemble(WebPMux* mux,
//
// Code Example:
/*
WebPAnimEncoder* enc = WebPAnimEncoderNew(width, height, enc_options);
WebPAnimEncoderOptions enc_options;
WebPAnimEncoderOptionsInit(&enc_options);
WebPAnimEncoder* enc = WebPAnimEncoderNew(width, height, &enc_options);
while(<there are more frames>) {
WebPAnimEncoderAdd(enc, frame, duration, config);
WebPAnimEncoderAdd(enc, frame, duration, &config);
}
WebPAnimEncoderAssemble(enc, webp_data);
WebPAnimEncoderDelete(enc);
@ -431,6 +433,19 @@ typedef struct {
uint32_t padding[4]; // Padding for later use.
} WebPAnimEncoderOptions;
// Internal, version-checked, entry point.
WEBP_EXTERN(int) WebPAnimEncoderOptionsInitInternal(
WebPAnimEncoderOptions*, int);
// Should always be called, to initialize a fresh WebPAnimEncoderOptions
// structure before modification. Returns false in case of version mismatch.
// WebPAnimEncoderOptionsInit() must have succeeded before using the 'options'
// object.
static WEBP_INLINE int WebPAnimEncoderOptionsInit(
WebPAnimEncoderOptions* enc_options) {
return WebPAnimEncoderOptionsInitInternal(enc_options, WEBP_MUX_ABI_VERSION);
}
// Internal, version-checked, entry point.
WEBP_EXTERN(WebPAnimEncoder*) WebPAnimEncoderNewInternal(
int, int, const WebPAnimEncoderOptions*, int);