mirror of
https://github.com/webmproject/libwebp.git
synced 2025-02-05 19:42:54 +01:00
Make transform bits a function of encode method (-m).
Change-Id: Idc392f7cba6e160ea068eacd7f82be4ebc971eaa
This commit is contained in:
parent
72920caa61
commit
83332b3c16
@ -1002,7 +1002,8 @@ static WebPEncodingError WriteImage(VP8LEncoder* const enc,
|
|||||||
|
|
||||||
static VP8LEncoder* InitVP8LEncoder(const WebPConfig* const config,
|
static VP8LEncoder* InitVP8LEncoder(const WebPConfig* const config,
|
||||||
WebPPicture* const picture) {
|
WebPPicture* const picture) {
|
||||||
int sampling_bits = 9 - (((int)config->quality + 8) >> 4);
|
const int method = config->method;
|
||||||
|
const int histo_bits = 9 - (int)(config->quality / 16.f + .5f);
|
||||||
VP8LEncoder* enc = (VP8LEncoder*)malloc(sizeof(*enc));
|
VP8LEncoder* enc = (VP8LEncoder*)malloc(sizeof(*enc));
|
||||||
if (enc == NULL) {
|
if (enc == NULL) {
|
||||||
WebPEncodingSetError(picture, VP8_ENC_ERROR_OUT_OF_MEMORY);
|
WebPEncodingSetError(picture, VP8_ENC_ERROR_OUT_OF_MEMORY);
|
||||||
@ -1014,11 +1015,9 @@ static VP8LEncoder* InitVP8LEncoder(const WebPConfig* const config,
|
|||||||
enc->pic_ = picture;
|
enc->pic_ = picture;
|
||||||
enc->use_lz77_ = 1;
|
enc->use_lz77_ = 1;
|
||||||
|
|
||||||
if (sampling_bits > 8) sampling_bits = 8;
|
enc->histo_bits_ =
|
||||||
if (sampling_bits < 3) sampling_bits = 3;
|
(histo_bits < 3) ? 3 : (histo_bits > 8) ? 8 : histo_bits;
|
||||||
|
enc->transform_bits_ = (method < 4) ? 5 : (method > 4) ? 3 : 4;
|
||||||
enc->histo_bits_ = sampling_bits;
|
|
||||||
enc->transform_bits_ = sampling_bits;
|
|
||||||
|
|
||||||
return enc;
|
return enc;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user