From patchwork Thu Jul 20 23:07:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thilo Borgmann X-Patchwork-Id: 34965 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:672f:b0:130:ccc6:6c4b with SMTP id q47csp144343pzh; Thu, 20 Jul 2023 16:08:04 -0700 (PDT) X-Google-Smtp-Source: APBJJlHyMrWEyGpUTTg8UiemZN6/oJUEOYVNbLQI7yF63GjggF82gA8WRxrTtLVBB2rlUiaAAjsS X-Received: by 2002:a17:907:7714:b0:99b:5a73:4d04 with SMTP id kw20-20020a170907771400b0099b5a734d04mr152210ejc.71.1689894484191; Thu, 20 Jul 2023 16:08:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689894484; cv=none; d=google.com; s=arc-20160816; b=h270CfRiTPKbKXE4mWSMnFze8jOZSgh1SCwgJd7BvsxEgVQQiiBPJOixGsT11M0yyR ZdxaRizoa4kMF8wKe7OiHtk2XWMFz/F8Q83A2Om8GKZmoMxXQZ/Qa4xccOJyvepcU9uB 2JVKZTFdZXnombfRyVptCmy5Y1uSZCrSQG21VwyGVMat8bPZ3qTTrdUbMgIKXLMjYyJZ mgUVs/M/BxcCvS0hzKHSo2z7D29X5CeP/Zg+kgHwEYbo2/RCwwxm7wqYUl9Bs95ZQZ7B 6p9ztPMCnQn5q9V6ejgyP6rmGDmypxMnuJ9nX/L7DTOOVWEOY2/TiDvdHPNbr6I32iMZ XFqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=hBv/U+1dwLmca9W6Ls8ia5SLRGLXUD0H5zYukJbR+ho=; fh=HD4ndZ9hLL4mcfDFnlTmTEEgN7ZZ8c1Zu9bV17rPaE8=; b=rzFxy/stLSwVUR5s8lOYlzUVw9ah+xs10LZN4ncdKwIlhYhoOK2472nXycaTIaveLM q7pqY3q0EOCDF1c1lQTVKqs9RupkMACRaqUQ6G6DR6Wcz4sV0wViQ20T7GP7iwmBG4If ucPBC2H8LzYynS1my8apinQx0OWrW046QfsO0oGFQrAevGWkJTG282wy28Ktb6OATb2I l6kKP9KWPIUHbXhb77dmBhmuCnueL4+O+aRX+delDyYGPQSTjQyRvpy18/SFkMu8SHwo A5IQk9RU76j4KjCpPEpG/G8wr55+ST2UBImUStRTaQ0UAa+5VA2koQoXp7d62uwCTuFd B8YA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@mail.de header.s=mailde202009 header.b=U3S9wol7; 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; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mail.de Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id p8-20020a1709060dc800b0098d9dfee9c7si1358652eji.493.2023.07.20.16.08.02; Thu, 20 Jul 2023 16:08:04 -0700 (PDT) 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; dkim=neutral (body hash did not verify) header.i=@mail.de header.s=mailde202009 header.b=U3S9wol7; 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; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mail.de Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3BAF068C61B; Fri, 21 Jul 2023 02:08:00 +0300 (EEST) 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 A0F3B68C5DC for ; Fri, 21 Jul 2023 02:07:53 +0300 (EEST) Received: from postfix01.mail.de (postfix01.bt.mail.de [10.0.121.125]) by shout02.mail.de (Postfix) with ESMTP id 4848EA0A68 for ; Fri, 21 Jul 2023 01:07:53 +0200 (CEST) Received: from smtp04.mail.de (smtp04.bt.mail.de [10.0.121.214]) by postfix01.mail.de (Postfix) with ESMTP id 3059080172 for ; Fri, 21 Jul 2023 01:07:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mail.de; s=mailde202009; t=1689894473; bh=3UI/l3Ld98NLt7Hg3ERERpNq5USRAPE7G7n1GSWFcHw=; h=From:To:Subject:Date:Message-Id:From:To:CC:Subject:Reply-To; b=U3S9wol7xGUUvXeQHViPZBMSJE4qpJwUcHnjZzE2TEBPGLG8zgdKSluoS+Y27+yZS 4ou+teW6j7thS83CzXd5TNqYhG/KS6orm6G9Q5kCqJss9t0ZFGqSLGgt7571RsdiMf p63YQSK5Dk6u/9NRghSVG4Xmwa6eIoVlis6PK/nFB3vGGbxQPMtwz/RYdTe2pGTAJk lPgkHYjnf0j6iVfHnh9VdPScW+5IUZ6DJ/EC9634m68k+0NyXoh9u1QJ7eg8ldr/qa c4Bka1LoHA9Jusj9fbQEQgGIXu1WOigq2sNZEDT4SNr/MoAaJ7yhHPRXXLJZBuw3Cg kLQ4EHUtUbo5g== Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by smtp04.mail.de (Postfix) with ESMTPSA id F32A7C003C for ; Fri, 21 Jul 2023 01:07:52 +0200 (CEST) From: Thilo Borgmann To: ffmpeg-devel@ffmpeg.org Date: Fri, 21 Jul 2023 01:07:46 +0200 Message-Id: <20230720230752.68246-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: 1704 X-purgate-ID: 154282::1689894473-DA7FEC09-80A8F744/0/0 Subject: [FFmpeg-devel] [PATCH v3 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: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 2noAZH6YH8m+ All issues of v2 fixed. Makes tsan happy now as well. Patch 5/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 decoding libavformat/webp: add WebP demuxer Thilo Borgmann (4): avcodec/webp: move definitions into header avcodec/webp: remove unused definitions avcodec/webp_parser: parse each frame into one packet avcodec/webp: make init_canvas_frame static Changelog | 2 + doc/demuxers.texi | 28 + libavcodec/codec_desc.c | 3 +- libavcodec/version.h | 2 +- libavcodec/webp.c | 714 +++++++++++++++++-- libavcodec/webp.h | 38 + libavcodec/webp_parser.c | 130 ++-- libavformat/Makefile | 1 + libavformat/allformats.c | 1 + libavformat/version.h | 2 +- libavformat/webpdec.c | 733 ++++++++++++++++++++ tests/ref/fate/exif-image-webp | 12 +- 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, 1563 insertions(+), 115 deletions(-) create mode 100644 libavcodec/webp.h create mode 100644 libavformat/webpdec.c