mirror of
https://github.com/webmproject/libwebp.git
synced 2024-12-27 22:28:22 +01:00
WebPGetFeatures() behavior change:
It should return VP8_STATUS_NOT_ENOUGH_DATA when it doesn't have enough data. Change-Id: I5acff04f9ba51dab150dc6d137c5ad00ea61c64a
This commit is contained in:
parent
df02e4ce93
commit
956b217a8b
@ -672,19 +672,13 @@ int WebPInitDecoderConfigInternal(WebPDecoderConfig* config,
|
|||||||
VP8StatusCode WebPGetFeaturesInternal(const uint8_t* data, size_t data_size,
|
VP8StatusCode WebPGetFeaturesInternal(const uint8_t* data, size_t data_size,
|
||||||
WebPBitstreamFeatures* features,
|
WebPBitstreamFeatures* features,
|
||||||
int version) {
|
int version) {
|
||||||
VP8StatusCode status;
|
|
||||||
if (WEBP_ABI_IS_INCOMPATIBLE(version, WEBP_DECODER_ABI_VERSION)) {
|
if (WEBP_ABI_IS_INCOMPATIBLE(version, WEBP_DECODER_ABI_VERSION)) {
|
||||||
return VP8_STATUS_INVALID_PARAM; // version mismatch
|
return VP8_STATUS_INVALID_PARAM; // version mismatch
|
||||||
}
|
}
|
||||||
if (features == NULL) {
|
if (features == NULL) {
|
||||||
return VP8_STATUS_INVALID_PARAM;
|
return VP8_STATUS_INVALID_PARAM;
|
||||||
}
|
}
|
||||||
|
return GetFeatures(data, data_size, features);
|
||||||
status = GetFeatures(data, data_size, features);
|
|
||||||
if (status == VP8_STATUS_NOT_ENOUGH_DATA) {
|
|
||||||
return VP8_STATUS_BITSTREAM_ERROR; // Not-enough-data treated as error.
|
|
||||||
}
|
|
||||||
return status;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
VP8StatusCode WebPDecode(const uint8_t* data, size_t data_size,
|
VP8StatusCode WebPDecode(const uint8_t* data, size_t data_size,
|
||||||
|
@ -411,8 +411,9 @@ WEBP_EXTERN(VP8StatusCode) WebPGetFeaturesInternal(
|
|||||||
|
|
||||||
// Retrieve features from the bitstream. The *features structure is filled
|
// Retrieve features from the bitstream. The *features structure is filled
|
||||||
// with information gathered from the bitstream.
|
// with information gathered from the bitstream.
|
||||||
// Returns false in case of error or version mismatch.
|
// Returns VP8_STATUS_OK when the features are successfully retrieved. Returns
|
||||||
// In case of error, features->bitstream_status will reflect the error code.
|
// VP8_STATUS_NOT_ENOUGH_DATA when more data is needed to retrieved the
|
||||||
|
// features. Returns error in other cases.
|
||||||
static WEBP_INLINE VP8StatusCode WebPGetFeatures(
|
static WEBP_INLINE VP8StatusCode WebPGetFeatures(
|
||||||
const uint8_t* data, size_t data_size,
|
const uint8_t* data, size_t data_size,
|
||||||
WebPBitstreamFeatures* features) {
|
WebPBitstreamFeatures* features) {
|
||||||
|
Loading…
Reference in New Issue
Block a user