From patchwork Wed Jan 4 22:16:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vignesh Venkat X-Patchwork-Id: 39874 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bc95:b0:ad:ade2:bfd2 with SMTP id fx21csp9124719pzb; Wed, 4 Jan 2023 14:17:03 -0800 (PST) X-Google-Smtp-Source: AMrXdXvLVPaSzUgsMjQJ6qyRLbElutW0uoF/0QrijxcXSEtTP63W8dgcET0Wd1M1TJCj+zOVQ0Fy X-Received: by 2002:aa7:c911:0:b0:48d:4504:32ed with SMTP id b17-20020aa7c911000000b0048d450432edmr12001911edt.37.1672870623186; Wed, 04 Jan 2023 14:17:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672870623; cv=none; d=google.com; s=arc-20160816; b=axo31jRtwd4CuMVdM2fY1gUDc4wrZzBWMPh2318DTaSVxb2CO+o8LPVcHK5C59NkV9 ouA9Uwfqvkl3ItVqkmA3y2UsvdtTazgEfXDpf30wYPxBsY24ekf/HrMJADOvYBprpxXQ orRghx8wYuuYkASIdcnAhs7MHa/MSBF2VECeyJT20NLRYQAK1jFccisGztnNtcXMucsz X3PMaq9ERsyO+SanEgITOMA2qRlbm0iCnDpxg/cvRsSXqXx4r+FIqoqQ8RF5d5+v4mT9 PXnj8Q5Aq0UnIiA4rpuBwdETJsx9DI4xjJS3Vc6wPUfme341Hqa+7UYP8Zf5b8UJcuqw q5BQ== 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 :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:to:from:message-id:mime-version:date :dkim-signature:delivered-to; bh=NcNgPfNvw3G8BSyd1jCk4L2WEBUoeJ6wxVlUhl/F9G8=; b=lpE37QhQW4pzzjOYa3lITVuxWKX+IpvOxTR4rICXaqLqbC4VOUqxtqTS5VCvBMe5yj Nk/IKl76d5hJfz7c3hz/RnbpMssbxZRZUoqgEQ09wG/oM5uXn0ZYTRqkKsOs7DEFyLkv J/r9jjlGLR0u4dzMVoV6kTQ4bRMlWPjF5YqysB+xVLlKUOmujZMgS9UWHGPQrkbaYgvK OzeI5ZdQzGy2kuat+o9LsHCqa0DrHmYy41IgF0bYMTZShfGBnYLoQcBlpL6Ff5Dm4Sq/ ZVN5zlh+Ui2qDNDSJ2uyb9+rHUFCH31Hh6LwL8WNT7Z3t1sapCVjAWHDXqPp5dYypgjC gcoQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@google.com header.s=20210112 header.b=HDe0sWPW; 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 z11-20020a05640235cb00b0046bccab3947si32776014edc.469.2023.01.04.14.16.41; Wed, 04 Jan 2023 14:17:03 -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; dkim=neutral (body hash did not verify) header.i=@google.com header.s=20210112 header.b=HDe0sWPW; 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 4242E68B3A2; Thu, 5 Jan 2023 00:16:37 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-yw1-f201.google.com (mail-yw1-f201.google.com [209.85.128.201]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9E9C168BBB4 for ; Thu, 5 Jan 2023 00:16:30 +0200 (EET) Received: by mail-yw1-f201.google.com with SMTP id 00721157ae682-4ad7a1bd6f4so72787077b3.21 for ; Wed, 04 Jan 2023 14:16:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=FBkBEFUBNARDRxMCVlFgdC88Nvn3/9kbSZ5Cr+RshJg=; b=HDe0sWPWkC1/xi8QptAdfjDYF3EZ2H7aZo7nCn8+OFLKHSF0W7QJxlM3Nrt105Edwd Qc+bXg6STpW8TbuXjO3Cux+YmjAz5q+w4pJ6hrza0QMmYx3nzDceg3RhMzCWkeQN7cg4 jZdki7NPb2wiZLtKSVEfPV5aWD4rRap35PC6URnF9tyYV3/KIggJa//eCbcICeYVw06X +V4HbrkZ9n3FG2AviKjPCwQteeCsQVE27/PW1+736C4GQNWn/bRuoy3bXI2mGaesd7/M ftYhDo/Yle/mkrBJUmF1N29UJgjjTkJ1OaKIny+BBghyMHu/MpTMdjHa/I+sYWGd7zS8 Vm5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=FBkBEFUBNARDRxMCVlFgdC88Nvn3/9kbSZ5Cr+RshJg=; b=E+g06CdCW4oKrNdS+B3Tmld4PrvhCDaYACQRgXF5UrehkMeDvfrz1Tg+s4cfOd3Gbj fkVcCUBhppYeFKzOhuAkuupf7nWi+9bdlFy/wXqFMqb52JXyaC7NtEpZ3hvTgytCTUXb ctrxpM+0FzQMXoMSB+yN32vYmFgpsFNpFkD43KkOehxFOjDzuRnpBRhyyWL5Omwzkg/q F74CJDOddf5Drgq9ij4W1MS5pOCKzWOGdJzsJrBHO6CFK20RLe2y8weEHQBOxclyi6lY yLYjW+1xTYTy4wJsQO5WJZWvkb0EvL+k6Oz+O4SBxen0U2kPeXoBtywIRBWyCK0RPh/B 8jUw== X-Gm-Message-State: AFqh2kokPzrV/fVVDzQpkqARiRtahzVxJIEw7R+q7Gim9TI1IG952B4L Hw1WDNFCUQfvLB20Kq926dz0CyefeJzRVroS88gdEFJnEkGWux57U9dbw78d0iqMIYWhWJ4Wffk VPKDYLgG6nHWSk4otKk20iG4sYk4HM0OCO2O8uxlJPQ/qWXo4B57ODk0g43dhrfNRLydT X-Received: from vigneshv3.mtv.corp.google.com ([2620:0:1000:2511:9d8e:5d6:981:d60b]) (user=vigneshv job=sendgmr) by 2002:a25:cc7:0:b0:6e0:c7d3:f026 with SMTP id 190-20020a250cc7000000b006e0c7d3f026mr5433026ybm.275.1672870588812; Wed, 04 Jan 2023 14:16:28 -0800 (PST) Date: Wed, 4 Jan 2023 14:16:18 -0800 Mime-Version: 1.0 X-Mailer: git-send-email 2.39.0.314.g84b9a713c41-goog Message-ID: <20230104221619.919110-1-vigneshv@google.com> From: Vignesh Venkatasubramanian To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 1/2] avformat/movenc: Add movie_timescale option to AVIF 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 Cc: Vignesh Venkatasubramanian Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Kvo/weSrRFcb Allow specifying the movie_timescale options to AVIF ouptut. This also makes sure that when movie_timescale is not specified, the default value of 1000 is used instead of 0. Animated AVIF files which don't specify the movie_timescale will have the correct duration written in the track and movie headers after this change (instead of writing 0). Signed-off-by: Vignesh Venkatasubramanian --- libavformat/movenc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 7d49892283..36c76f7f60 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -7758,6 +7758,11 @@ static const AVCodecTag codec_f4v_tags[] = { }; #if CONFIG_AVIF_MUXER + +static const AVOption avif_options[] = { + { "movie_timescale", "set movie timescale", offsetof(MOVMuxContext, movie_timescale), AV_OPT_TYPE_INT, {.i64 = MOV_TIMESCALE}, 1, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM}, + { NULL }, +}; static const AVCodecTag codec_avif_tags[] = { { AV_CODEC_ID_AV1, MKTAG('a','v','0','1') }, { AV_CODEC_ID_NONE, 0 }, @@ -7767,6 +7772,7 @@ static const AVCodecTag *const codec_avif_tags_list[] = { codec_avif_tags, NULL static const AVClass mov_avif_muxer_class = { .class_name = "avif muxer", .item_name = av_default_item_name, + .option = avif_options, .version = LIBAVUTIL_VERSION_INT, }; #endif