mirror of
https://github.com/webmproject/libwebp.git
synced 2025-02-13 07:22:52 +01:00
Rename and improve the API to retrieve decoded area
Change-Id: Iec7e0a1361c27dcf2dc8445170ab5b400454fce9
This commit is contained in:
parent
bf599d74a4
commit
c558bdad28
@ -578,10 +578,20 @@ static const WebPDecBuffer* GetOutputBuffer(const WebPIDecoder* const idec) {
|
|||||||
return idec->params_.output;
|
return idec->params_.output;
|
||||||
}
|
}
|
||||||
|
|
||||||
const WebPDecBuffer* WebPIDecGetSamples(const WebPIDecoder* const idec,
|
const WebPDecBuffer* WebPIDecodedArea(const WebPIDecoder* const idec,
|
||||||
int* last_y) {
|
int* const left, int* const top,
|
||||||
|
int* const width, int* const height) {
|
||||||
const WebPDecBuffer* const src = GetOutputBuffer(idec);
|
const WebPDecBuffer* const src = GetOutputBuffer(idec);
|
||||||
if (last_y) *last_y = idec->params_.last_y;
|
if (left) *left = 0;
|
||||||
|
if (top) *top = 0;
|
||||||
|
// TODO(skal): later include handling of rotations.
|
||||||
|
if (src) {
|
||||||
|
if (width) *width = src->width;
|
||||||
|
if (height) *height = idec->params_.last_y;
|
||||||
|
} else {
|
||||||
|
if (width) *width = 0;
|
||||||
|
if (height) *height = 0;
|
||||||
|
}
|
||||||
return src;
|
return src;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -249,13 +249,15 @@ uint8_t* WebPIDecGetYUV(const WebPIDecoder* const idec, int* last_y,
|
|||||||
uint8_t** u, uint8_t** v,
|
uint8_t** u, uint8_t** v,
|
||||||
int* width, int* height, int* stride, int* uv_stride);
|
int* width, int* height, int* stride, int* uv_stride);
|
||||||
|
|
||||||
// Generic call to retrieve output buffer information.
|
// Generic call to retrieve information about the displayable area.
|
||||||
// Returns NULL in case of error, otherwise returns the pointer to the internal
|
// If non NULL, the left/right/width/height pointers are filled with the visible
|
||||||
// representation. This structure is read-only and shouldn't be modified.
|
// rectangular area so far.
|
||||||
// TODO(skal): instead of 'last_y' only, we should pass *left/top/right/bottom,
|
// Returns NULL in case the incremental decoder object is in an invalid state.
|
||||||
// to get the visible area. Esp. useful for rotation.
|
// Otherwise returns the pointer to the internal representation. This structure
|
||||||
const WebPDecBuffer* WebPIDecGetSamples(const WebPIDecoder* const idec,
|
// is read-only, tied to WebPIDecoder's lifespan and should not be modified.
|
||||||
int* last_y);
|
const WebPDecBuffer* WebPIDecodedArea(const WebPIDecoder* const idec,
|
||||||
|
int* const left, int* const top,
|
||||||
|
int* const width, int* const height);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Advanced decoding parametrization
|
// Advanced decoding parametrization
|
||||||
|
Loading…
x
Reference in New Issue
Block a user