mirror of
https://github.com/webmproject/libwebp.git
synced 2024-11-20 04:18:26 +01:00
Merge "add missing YUVA->ARGB automatic conversion in WebPEncode()"
This commit is contained in:
commit
2aaa423b20
@ -374,11 +374,8 @@ int WebPEncode(const WebPConfig* config, WebPPicture* pic) {
|
|||||||
if (!config->lossless) {
|
if (!config->lossless) {
|
||||||
VP8Encoder* enc = NULL;
|
VP8Encoder* enc = NULL;
|
||||||
if (pic->y == NULL || pic->u == NULL || pic->v == NULL) {
|
if (pic->y == NULL || pic->u == NULL || pic->v == NULL) {
|
||||||
if (pic->argb != NULL) {
|
// Make sure we have YUVA samples.
|
||||||
if (!WebPPictureARGBToYUVA(pic, WEBP_YUV420)) return 0;
|
if (!WebPPictureARGBToYUVA(pic, WEBP_YUV420)) return 0;
|
||||||
} else {
|
|
||||||
return WebPEncodingSetError(pic, VP8_ENC_ERROR_NULL_PARAMETER);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
enc = InitVP8Encoder(config, pic);
|
enc = InitVP8Encoder(config, pic);
|
||||||
@ -405,8 +402,10 @@ int WebPEncode(const WebPConfig* config, WebPPicture* pic) {
|
|||||||
}
|
}
|
||||||
ok &= DeleteVP8Encoder(enc); // must always be called, even if !ok
|
ok &= DeleteVP8Encoder(enc); // must always be called, even if !ok
|
||||||
} else {
|
} else {
|
||||||
if (pic->argb == NULL)
|
// Make sure we have ARGB samples.
|
||||||
return WebPEncodingSetError(pic, VP8_ENC_ERROR_NULL_PARAMETER);
|
if (pic->argb == NULL && !WebPPictureYUVAToARGB(pic)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
ok = VP8LEncodeImage(config, pic); // Sets pic->error in case of problem.
|
ok = VP8LEncodeImage(config, pic); // Sets pic->error in case of problem.
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user