diff --git a/modules/imgcodecs/src/grfmt_avif.cpp b/modules/imgcodecs/src/grfmt_avif.cpp index b2830b755a..6b5c2cda8b 100644 --- a/modules/imgcodecs/src/grfmt_avif.cpp +++ b/modules/imgcodecs/src/grfmt_avif.cpp @@ -147,18 +147,6 @@ AvifDecoder::~AvifDecoder() { size_t AvifDecoder::signatureLength() const { return kAvifSignatureSize; } -bool AvifDecoder::checkSignature(const String &signature) const { - avifDecoder *decoder = avifDecoderCreate(); - if (!decoder) return false; - avifDecoderSetIOMemory(decoder, - reinterpret_cast(signature.c_str()), - signature.size()); - decoder->io->sizeHint = 1e9; - const avifResult status = avifDecoderParse(decoder); - avifDecoderDestroy(decoder); - return (status == AVIF_RESULT_OK || status == AVIF_RESULT_TRUNCATED_DATA); -} - #define OPENCV_AVIF_CHECK_STATUS(X, ENCDEC) \ { \ const avifResult status = (X); \ @@ -170,6 +158,20 @@ bool AvifDecoder::checkSignature(const String &signature) const { } \ } +bool AvifDecoder::checkSignature(const String &signature) const { + avifDecoder *decoder = avifDecoderCreate(); + if (!decoder) return false; + OPENCV_AVIF_CHECK_STATUS( + avifDecoderSetIOMemory( + decoder, reinterpret_cast(signature.c_str()), + signature.size()), + decoder); + decoder->io->sizeHint = 1e9; + const avifResult status = avifDecoderParse(decoder); + avifDecoderDestroy(decoder); + return (status == AVIF_RESULT_OK || status == AVIF_RESULT_TRUNCATED_DATA); +} + ImageDecoder AvifDecoder::newDecoder() const { return makePtr(); } bool AvifDecoder::readHeader() {