Hi On Tue, Aug 19, 2025 at 06:33:03PM +0300, [email protected] wrote: > The branch, master has been updated > via 4c3f94f2651ce4d6834fbef10e5c287f25720ac9 (commit) > via fe496b0308f1911138698b92bbafac582fa455d7 (commit) > via 535a07d14e16eb2930d2b1e16605eafa95959139 (commit) > via 8132ee046d1a03c5913759c50fce7beda8d3d627 (commit) > via 5d4f873ff31f86f9ae1927f37ca0fcb78da70512 (commit) > via 1e816ebefee0ef479fa76bd2a1fb9ec5d5e807df (commit) > via 93a8091015978c44462626409af71789080bbef4 (commit) > via 303f60684f25ce63951480ef0f759acf41aac938 (commit) > via 5caaadee7954f2014d9e0a17d1edfb961893bcf1 (commit) > via d3190a64c366a79091fe47fddf93c09a7d988802 (commit) > via 44af3829796427b89c4b76b56652cc5932ada616 (commit) > via f5ad1c910c168d05cb01315773ab0bd094c9372f (commit) > via e3aa1154aab2656c91ce61915f79516d9b563b61 (commit) > via c6cc2115f45ac26ae42442f8796996eb410f4028 (commit) <---- We are > here > via 52dba25661305e3c4a6209d46aea43cd327c960e (commit) > via bfb17d26306592c85cf0c4e909099c621177b062 (commit) > via ba2ea285e0f270a0a885b414cafaace6a89b9a91 (commit) > via ad77345a5d14862f4701e5ad422b03b14934a5b9 (commit) > via bb90b262d6d23f1bca3587a48abc15b951cbbf05 (commit) > via a99fff4e2d4058c57599ba0b968862af82bdad5b (commit) > from a6b5a382dd7ecdd27c5d0ebba688e1db409d18fd (commit) > >
[...] > commit c6cc2115f45ac26ae42442f8796996eb410f4028 > Author: Leo Izen <[email protected]> > AuthorDate: Wed Mar 12 11:27:13 2025 -0400 > Commit: Leo Izen <[email protected]> > CommitDate: Tue Aug 19 11:26:47 2025 -0400 > > avcodec/webp: use new EXIF parse API > > Switch over to the new API to parse EXIF metadata. > > Signed-off-by: Leo Izen <[email protected]> > > diff --git a/libavcodec/webp.c b/libavcodec/webp.c > index 489cf6f016..56c3ec6d28 100644 > --- a/libavcodec/webp.c > +++ b/libavcodec/webp.c > @@ -1456,38 +1456,34 @@ FF_ENABLE_DEPRECATION_WARNINGS > break; > } > case MKTAG('E', 'X', 'I', 'F'): { > - int le, ifd_offset, exif_offset = bytestream2_tell(&gb); > - AVDictionary *exif_metadata = NULL; > - GetByteContext exif_gb; > + AVBufferRef *exif_buf = NULL; > > if (s->has_exif) { > av_log(avctx, AV_LOG_VERBOSE, "Ignoring extra EXIF chunk\n"); > goto exif_end; > } > + > if (!(vp8x_flags & VP8X_FLAG_EXIF_METADATA)) > av_log(avctx, AV_LOG_WARNING, > "EXIF chunk present, but Exif bit not set in the " > "VP8X header\n"); > > - s->has_exif = 1; > - bytestream2_init(&exif_gb, avpkt->data + exif_offset, > - avpkt->size - exif_offset); > - if (ff_tdecode_header(&exif_gb, &le, &ifd_offset) < 0) { > - av_log(avctx, AV_LOG_ERROR, "invalid TIFF header " > - "in Exif data\n"); > + exif_buf = av_buffer_alloc(chunk_size); > + if (!exif_buf) { > + av_log(avctx, AV_LOG_WARNING, "unable to allocate EXIF > buffer\n"); > goto exif_end; > } > + s->has_exif = 1; > + memcpy(exif_buf->data, gb.buffer, chunk_size); > > - bytestream2_seek(&exif_gb, ifd_offset, SEEK_SET); > - if (ff_exif_decode_ifd(avctx, &exif_gb, le, 0, &exif_metadata) < > 0) { > - av_log(avctx, AV_LOG_ERROR, "error decoding Exif data\n"); > - goto exif_end; > + /* if this succeeds then exif_buf is either freed or transferred > to the AVFrame */ > + ret = ff_exif_attach_buffer(avctx, p, exif_buf, > AV_EXIF_TIFF_HEADER); This looks wrong, chunk_size at this point is not the size of the exif data, it was rounded up before "chunk_size += chunk_size & 1;" [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The bravest are surely those who have the clearest vision of what is before them, glory and danger alike, and yet notwithstanding go out to meet it. -- Thucydides
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
