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

Function avifEncoderFindExistingChunk

src/write.c:2163–2177  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2161}
2162
2163static size_t avifEncoderFindExistingChunk(avifRWStream * s, size_t mdatStartOffset, const uint8_t * data, size_t size)
2164{
2165 const size_t mdatCurrentOffset = avifRWStreamOffset(s);
2166 const size_t mdatSearchSize = mdatCurrentOffset - mdatStartOffset;
2167 if (mdatSearchSize < size) {
2168 return 0;
2169 }
2170 const size_t mdatEndSearchOffset = mdatCurrentOffset - size;
2171 for (size_t searchOffset = mdatStartOffset; searchOffset <= mdatEndSearchOffset; ++searchOffset) {
2172 if (!memcmp(data, &s->raw->data[searchOffset], size)) {
2173 return searchOffset;
2174 }
2175 }
2176 return 0;
2177}
2178
2179static avifResult avifEncoderWriteMediaDataBox(avifEncoder * encoder,
2180 avifRWStream * s,

Callers 1

Calls 1

avifRWStreamOffsetFunction · 0.85

Tested by

no test coverage detected