From patchwork Sun Dec 31 12:30:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thilo Borgmann X-Patchwork-Id: 35036 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6623:b0:194:e134:edd4 with SMTP id n35csp5731425pzh; Sun, 31 Dec 2023 04:30:30 -0800 (PST) X-Google-Smtp-Source: AGHT+IEpOXzDkPo2vsx0wyI8zi8SYf+/QRQL4Y5IxUX0RsZnOhpLrln2kOBjEYf/7eWID2qqIBes X-Received: by 2002:a05:600c:8518:b0:40d:6217:c99d with SMTP id gw24-20020a05600c851800b0040d6217c99dmr1596683wmb.48.1704025830235; Sun, 31 Dec 2023 04:30:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1704025830; cv=none; d=google.com; s=arc-20160816; b=OT/tbavMnVXTt1Cfb8FJ3kcuNmnngRhEHwrb0WHDhyZeQxgxt6x6YogQ7UtLF7ItFW 4GnKKeyI02d+3SNeYZRCpEyzmutQ2vTxudS3TAuF0T0kdBz66nSKJq1nCn0Wo1fJyeEc tGk6d3TDCt3Wn7CtU+OPcMDm2JfK364a7f8fxDxw0engrW7RlcmDWrxobk+44/+8wsaL UfX/H1VeA5L1+RG5e5Whtf3jBMSwp89GNAclHNmWYsva06aX5F3z7dVyPY9iJ+2YNX/F gf2F1h/BGrzciqDLjmeRh1/wPZtbXyHLb3ZZePFu5CbXlYim2cmoLcmqIuTfQmZh18LB PNAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to:from :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to :delivered-to; bh=KYk6C0kE+0YMqI2gS4HRq4+AUqjYcKTWn5/Mop1Yc78=; fh=uZWItAgYCSLFS5Zum7Ip+PilGyWYOeCwun+We0BTHAs=; b=W/2+wCU6/+uRhDxxrIKd9qGijPOF3zst1KANqS86J4C43nFEXs2gyyix5vcvDhwOvi tBns5AhIRJOMjmF/r4bTmbajIOF1I0JEcD+6+vaD99wrtj6azB6bEYQzABl+khQNd+jL EP3vHYk7wZjCmWjPtD+NZFMAv4DFg4hLlV6dNzWcE8nO4EZvrv/2fFUxRHds0xmIwDdd 0b+cJhHAt1VnJUBnYALKdrk9ja99mThOOnlggWeSoyaDqFmfo9vFy7ZOqlPmgN0gsrsk zzhlhzvo0ZutulbsWx/3JIPQI+STqnCHUWgEDzKFT4X8sRcgupapWWKf843djiUXKsow XX9Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id gu15-20020a170906f28f00b00a26c77963a1si7920986ejb.571.2023.12.31.04.30.29; Sun, 31 Dec 2023 04:30:30 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0899F68CCB5; Sun, 31 Dec 2023 14:30:27 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from shout02.mail.de (shout02.mail.de [62.201.172.25]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ED04D68AA3C for ; Sun, 31 Dec 2023 14:30:19 +0200 (EET) Received: from postfix03.mail.de (postfix03.bt.mail.de [10.0.121.127]) by shout02.mail.de (Postfix) with ESMTP id 88813240B85 for ; Sun, 31 Dec 2023 13:30:19 +0100 (CET) Received: from smtp01.mail.de (smtp02.bt.mail.de [10.0.121.212]) by postfix03.mail.de (Postfix) with ESMTP id 6FCBB8014B for ; Sun, 31 Dec 2023 13:30:19 +0100 (CET) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp01.mail.de (Postfix) with ESMTPSA id 273AC240ACC for ; Sun, 31 Dec 2023 13:30:19 +0100 (CET) To: ffmpeg-devel@ffmpeg.org Date: Sun, 31 Dec 2023 13:30:12 +0100 Message-Id: <20231231123018.59035-1-thilo.borgmann@mail.de> MIME-Version: 1.0 X-purgate: clean X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate-type: clean X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate: clean X-purgate-size: 1835 X-purgate-ID: 154282::1704025819-B252C878-5EF37962/0/0 Subject: [FFmpeg-devel] [PATCH v9 0/6] webp: add support for animated WebP decoding X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Thilo Borgmann via ffmpeg-devel From: Thilo Borgmann Reply-To: FFmpeg development discussions and patches Cc: Thilo Borgmann Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: rNajT7AiDKth Still images fixed, includes FATE tests, VP8 decoder decoupled so there are no more data races, fixed more asserts, fixed ffprobe regression, removed unnecessary parser changes, put the whole animated sequence into one packet. Patch 4/6 is still there for making changes in lavc/webp reviewable but shall be stashed when pushing. -Thilo Josef Zlomek (2): libavcodec/webp: add support for animated WebP libavformat/webp: add WebP demuxer Thilo Borgmann (4): avcodec/webp: remove unused definitions avcodec/webp: separate VP8 decoding avcodec/webp: make init_canvas_frame static fate: add test for animated WebP Changelog | 2 + doc/demuxers.texi | 28 + libavcodec/codec_desc.c | 3 +- libavcodec/version.h | 2 +- libavcodec/webp.c | 748 ++++++++++++++++++-- libavformat/Makefile | 1 + libavformat/allformats.c | 1 + libavformat/version.h | 2 +- libavformat/webpdec.c | 383 ++++++++++ tests/fate/image.mak | 3 + tests/ref/fate/exif-image-webp | 8 +- tests/ref/fate/webp-anim | 22 + tests/ref/fate/webp-rgb-lena-lossless | 2 +- tests/ref/fate/webp-rgb-lena-lossless-rgb24 | 2 +- tests/ref/fate/webp-rgb-lossless | 2 +- tests/ref/fate/webp-rgb-lossy-q80 | 2 +- tests/ref/fate/webp-rgba-lossless | 2 +- tests/ref/fate/webp-rgba-lossy-q80 | 2 +- 18 files changed, 1141 insertions(+), 74 deletions(-) create mode 100644 libavformat/webpdec.c create mode 100644 tests/ref/fate/webp-anim