MCPcopy Create free account
hub / github.com/AOMediaCodec/libavif / avifRWDataRealloc

Function avifRWDataRealloc

src/rawdata.c:8–26  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6#include <string.h>
7
8avifResult avifRWDataRealloc(avifRWData * raw, size_t newSize)
9{
10 if (raw->size != newSize) {
11 if (newSize == 0) {
12 // avifAlloc(0) returns NULL, so handle the shrink-to-zero case by freeing the buffer.
13 avifRWDataFree(raw);
14 return AVIF_RESULT_OK;
15 }
16 uint8_t * newData = (uint8_t *)avifAlloc(newSize);
17 AVIF_CHECKERR(newData, AVIF_RESULT_OUT_OF_MEMORY);
18 if (raw->size) {
19 memcpy(newData, raw->data, AVIF_MIN(raw->size, newSize));
20 }
21 avifFree(raw->data);
22 raw->data = newData;
23 raw->size = newSize;
24 }
25 return AVIF_RESULT_OK;
26}
27
28avifResult avifRWDataSet(avifRWData * raw, const uint8_t * data, size_t len)
29{

Callers 15

avifJPEGMergeXMPFunction · 0.85
avifJPEGReadInternalFunction · 0.85
avifJPEGWriteFunction · 0.85
avifReadEntireFileFunction · 0.85
avifHexStringToBytesFunction · 0.85
avifPNGWriteFunction · 0.85
y4mReadFunction · 0.85
avifIOFileReaderReadFunction · 0.85
avifIOCreateFileReaderFunction · 0.85
avifRWDataSetFunction · 0.85
makeRoomFunction · 0.85

Calls 3

avifRWDataFreeFunction · 0.85
avifAllocFunction · 0.85
avifFreeFunction · 0.85

Tested by 5

runIOTestsFunction · 0.68
TESTFunction · 0.68
ReadFileFunction · 0.68
TESTFunction · 0.68
TESTFunction · 0.68