From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 79DC3408E2 for ; Thu, 3 Mar 2022 15:36:14 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1149368AEAD; Thu, 3 Mar 2022 17:36:12 +0200 (EET) Received: from mail-ot1-f49.google.com (mail-ot1-f49.google.com [209.85.210.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C119168980E for ; Thu, 3 Mar 2022 17:36:05 +0200 (EET) Received: by mail-ot1-f49.google.com with SMTP id k9-20020a056830242900b005ad25f8ebfdso4901229ots.7 for ; Thu, 03 Mar 2022 07:36:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:content-language:to :references:from:subject:in-reply-to:content-transfer-encoding; bh=KqquZ25tib4d1aiANcNb9t9GB36XrLqah+o9s0wY9YI=; b=IQDgc5KBCZVTLt4hVGTfWBkH8tMscFQYsVvQbChzaFDFp+jPk7QyH4uLKMDAWru+0E v1ZnIUvPbA/GGfpSAao+ECBths2cgAwzRPhquPriPOHK0nAuaSte2iiyM7Cg7DiW0Sjw 4QLw+pMkASdAhqSkiBZbDV6/igVRISPBn13f6Qe8Elo4430kls23xFgBUxP8ttHzGjin djXkqqp5t0Xfc88tagFuD4Le2k8Vco6QXNhV//7AEjboJjGnW0JWBM3dgMqyrk9pbj4n hHswIYl6SryfjsYWGaoCsBC5J1IMfNm9l5DbZQ5Dh8KthmrC7FoWFcvxX4EgRZ1B00xe rmpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent :content-language:to:references:from:subject:in-reply-to :content-transfer-encoding; bh=KqquZ25tib4d1aiANcNb9t9GB36XrLqah+o9s0wY9YI=; b=RSd+dFd47FlZ1AvzvHyfE3f5UJw0UDv5VWc15ZxPQZI1uAidcV31Vg2OwrBoDr9XGL La8cPwpBZ5o0j2uE3+l1Q231/FFLsWtYH0/Fcvq2RhNL1517sGHk7ldcq+UodWRI+QCF /KNhpiVdmMZRrUUoMt+RQKZy+vhIuVcBP94dihROGycCwWOrT4Bp/RAuhWw45apiJLb4 CxCSzN7c1RFnPTcHxhiROQZnEvWvMfJtkjIG4ToPLHS2UdsaRJWXsI3gAKc2vFid0ZZB smUzTsahPgKMtVwIo9mSLctoNTiEW9jMBVigVLfzydQ+9c4dFdLMNWNZZcxkWet3pStu tHcA== X-Gm-Message-State: AOAM533i0ifbN5/crDdpU1cNEo1nlor86/0F/cEg6TxuyAygrYUX4tt8 /VsUFa5xLaHut9joBKmHGBbNGlrtDiQ= X-Google-Smtp-Source: ABdhPJw1EPdvwt5ZCQp9XAmXKFMFfQLVgqhIfDPO7j56IPkWbXJ4u6GGGF+E1CaFME8XrGKIORaPtw== X-Received: by 2002:a9d:7f91:0:b0:5af:d53a:fdb3 with SMTP id t17-20020a9d7f91000000b005afd53afdb3mr16880938otp.274.1646321763425; Thu, 03 Mar 2022 07:36:03 -0800 (PST) Received: from [192.168.0.10] ([186.136.131.95]) by smtp.gmail.com with ESMTPSA id w5-20020a4a5d05000000b0031c67a9b54bsm1090944ooa.45.2022.03.03.07.36.02 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 03 Mar 2022 07:36:02 -0800 (PST) Message-ID: <53482b5b-9293-65c5-a9e7-88f28d30353d@gmail.com> Date: Thu, 3 Mar 2022 12:36:01 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.6.1 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220222214318.3053157-1-vigneshv@google.com> From: James Almer In-Reply-To: <20220222214318.3053157-1-vigneshv@google.com> Subject: Re: [FFmpeg-devel] [PATCH 3/3] avformat/movenc: Add support for AVIF muxing 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 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 2/22/2022 6:43 PM, Vignesh Venkatasubramanian wrote: > Add an AVIF muxer by re-using the existing the mov/mp4 muxer. > > AVIF Specifiation: https://aomediacodec.github.io/av1-avif > > Sample usage for still image: > ffmpeg -i image.png -c:v libaom-av1 -avif-image 1 image.avif > > Sample usage for animated AVIF image: > ffmpeg -i video.mp4 animated.avif > > We can re-use any of the AV1 encoding options that will make > sense for image encoding (like bitrate, tiles, encoding speed, > etc). > > The files generated by this muxer has been verified to be valid > AVIF files by the following: > 1) Displays on Chrome (both still and animated images). > 2) Displays on Firefox (only still images, firefox does not support > animated AVIF yet). > 3) Verfied to be valid by Compliance Warden: > https://github.com/gpac/ComplianceWarden > > Fixes the encoder/muxer part of Trac Ticket #7621 > > Signed-off-by: Vignesh Venkatasubramanian > --- > configure | 1 + > libavformat/allformats.c | 1 + > libavformat/movenc.c | 300 +++++++++++++++++++++++++++++++++++---- > libavformat/movenc.h | 5 + > 4 files changed, 282 insertions(+), 25 deletions(-) With a single frame i get no errors in that compliance tool, but when i encode an animated AVIF i get the following: [heif][Rule #12] Error: CodingConstraintsBox ('ccst') shall be present once [heif][Rule #28] Error: Wrong arity for boxes { ccst } in parents { avc1 avc2 avc3 avc4 hev1 hev2 hvc1 hvc2 av01 }: expected in range [1-1], found 0 [heif][Rule #31] Error: 'msf1' brand: this file shall conform to HEIF (section 7.2) [heif][Rule #31] Error: 'msf1' brand: 'iso8' shall be present among the compatible brands array [heif][Rule #32] Error: 'mif1' brand: this file shall conform to HEIF section 6, check the other errors for details [heif][Rule #33] Error: 'msf1' brand: this file shall conform to HEIF section 7, check the other errors for details All but one of these should be solved by writing a ccst box after the av1C box in the sample entry. The missing one should be solved by writing the iso8 compatible brand. The ccst box looks like it would need some bitstream information, so either you parse the packets to get it, or just hardcode sane defaults, considering it's used as a hint and it's not required for demuxing. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".