From patchwork Tue Nov 29 21:36:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 39533 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp841484pzb; Tue, 29 Nov 2022 13:37:36 -0800 (PST) X-Google-Smtp-Source: AA0mqf6KQMYy3vdQ1xMeUsP3PHPYpJQCQnWOmKEUuZuLjzhNmW68UgYQ48hK4cyncgTD/tNYujhi X-Received: by 2002:a17:907:7782:b0:7b6:dd6d:b829 with SMTP id ky2-20020a170907778200b007b6dd6db829mr36909046ejc.602.1669757855868; Tue, 29 Nov 2022 13:37:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669757855; cv=none; d=google.com; s=arc-20160816; b=Gvnk8gWqOyi0k1e8J0qoqbllsOIoQRzd/ZsBhwc/IyIX67c3f73D9EQHLaMujJUMiA /6N2ZMN2dMQQ28vmDS4HximEWVL/8789IYwlqzhoj4s940gTB0GjcOMLSD07riJI/iuu +rPamt1lOL9dwraN8yaXN7djbpT+3V7Sp5Zht9cUpL+vevAsPV8wtqhZDbeW8WHwQhS8 sDi1u9Ey68fcEJiyIKGc5Dq740Lf4jqBArUBJBov2rdtIqxBZHLpaQhgYYGzfHi4JyqC 3IUjUtww8q+zRDlE7QXGO+I6D0VruqZgz6AdrgcH7qsGZFFfrQ5L9ndSqMdNkaS3jfBE 2BHQ== 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=cCTTtwv1wMfuELB8ORixShWBf0TIlGZHmlnKPYT1VqQ=; b=CnNO8KVK3LRkFfAayvKYJNPzw0XwzR/RULhdXlLdH6bnDcMGL4K3MnjshLA1OJFw7z 9OXvQ+hT5oKObAyIRGV8YSpGpu9GcgZk/fxZ3xBZizajFRlmaxdjQmb4ffBp5T+/293P +fATfKhsLsZxoZGqQA7qRqPsMnFi81KR2aMluRpIAzcViTqXnDTVzk3Pmb0IcFBK+A8x ddrgj1S4wW0MrP3dvNgIAmi4JGsCLZSSiH3fpN5hp4jP3av5SeO5tFLvHwHgyK80bA+S dJQQScS42u5tBMBofDbMzjaJMsJ0fzXQszNtseuxUSLaFqpBNxvDUOmIUW3UUv44Xsru eDAg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=Xt0+PYUM; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id q16-20020a056402519000b004697dff9638si15111646edd.87.2022.11.29.13.37.34; Tue, 29 Nov 2022 13:37:35 -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=@gmail.com header.s=20210112 header.b=Xt0+PYUM; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6C23568BA30; Tue, 29 Nov 2022 23:37:31 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi1-f173.google.com (mail-oi1-f173.google.com [209.85.167.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 335A268AFB5 for ; Tue, 29 Nov 2022 23:37:24 +0200 (EET) Received: by mail-oi1-f173.google.com with SMTP id b126so2205580oif.5 for ; Tue, 29 Nov 2022 13:37:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=oWr8WpEafuBRWGzg3NIFOq0uaWShyL2Ao4ply1urimk=; b=Xt0+PYUMv1zNX5O1ApQodQqd+MD5fUi5QBO9JE9kQjsLuoeTZcTTZoJHkmyN13nUl7 SSWBvZ3zNoDfX5k4je2XfMXvcT8UvsUJdwM8CYIKZ8v76A9EtQXd6h4Ob+X4S/oi7JmJ SGuXU3y5pFuH/XJhnQVV60mn1Ur8pjnRlvINx00YWdRE7QcDBvrXqh5ceZm7EDetXmqb uxPQ8+H5kDlQCDrrBOxXWzQ1enGV4G0MagzwZ/OYLZJgfpgw+421Aw+sWy0dCr2T6xTj sMaoqrJJucBOTVCog49l9+ySxoZRhQQZ2H7UI/nLWPTATkxlXA336tnojlBMqhnRvgHa /HLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=oWr8WpEafuBRWGzg3NIFOq0uaWShyL2Ao4ply1urimk=; b=QBYy4OKM5LRaMVx+uovX5kuuQN9BiuGQZ1NzyqVgbrFciu14VRFlQZoZG9UP3EM8qU RpNmMxmIfMa9jF0kIRrA7JHp40PWhbPH3vQshb0aKgMRGAjKlXI8TP+WgaO4m+UryYoA RIPEVvjIjzlO4j4JXebKy+lV807piPq2jauk+GNz/4i/EAEuehgK9KwkCo5hG0H1B539 tp+JcsdY2cDfHj4smfs4brduY03axlJWYGS3338fCQx1TIB/Jd0jq3AAJwXyym2vjkBP /sk2mEwlDx5gDLUT8fru1FBS1SJI5FEt7d/cKKwxK5KWKLnYLCneowtJs0m407ocOE64 n2Gg== X-Gm-Message-State: ANoB5pkyVDU2q08ZFLA7aEj7M/cv1Q70gL2bR4x+pvlltAQbce5xiU0t R86jDipsSVrU2tddtBlT1+UUr7/jITI= X-Received: by 2002:a05:6808:1782:b0:34f:6e46:5b04 with SMTP id bg2-20020a056808178200b0034f6e465b04mr18944669oib.43.1669757842290; Tue, 29 Nov 2022 13:37:22 -0800 (PST) Received: from localhost.localdomain ([181.85.72.69]) by smtp.gmail.com with ESMTPSA id bk13-20020a056830368d00b0066c2e241a4csm6545303otb.20.2022.11.29.13.37.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Nov 2022 13:37:21 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Tue, 29 Nov 2022 18:36:36 -0300 Message-Id: <20221129213636.1504-1-jamrial@gmail.com> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avcodec/libsvtav1: don't force a default value for deprecated options 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: iyEWlP71vrFX Stick to the library's default value instead. Should address AOMediaCodec/SVT-AV1 issue #2011. Signed-off-by: James Almer --- libavcodec/libsvtav1.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c index 7605baddfe..0742c4e94c 100644 --- a/libavcodec/libsvtav1.c +++ b/libavcodec/libsvtav1.c @@ -155,11 +155,16 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param, // Update param from options #if FF_API_SVTAV1_OPTS - param->hierarchical_levels = svt_enc->hierarchical_level; - param->tier = svt_enc->tier; - param->scene_change_detection = svt_enc->scd; - param->tile_columns = svt_enc->tile_columns; - param->tile_rows = svt_enc->tile_rows; + if (svt_enc->hierarchical_level >= 0) + param->hierarchical_levels = svt_enc->hierarchical_level; + if (svt_enc->tier >= 0) + param->tier = svt_enc->tier; + if (svt_enc->scd >= 0) + param->scene_change_detection = svt_enc->scd; + if (svt_enc->tile_columns >= 0) + param->tile_columns = svt_enc->tile_columns; + if (svt_enc->tile_rows >= 0) + param->tile_rows = svt_enc->tile_rows; if (svt_enc->la_depth >= 0) param->look_ahead_distance = svt_enc->la_depth; @@ -572,7 +577,7 @@ static av_cold int eb_enc_close(AVCodecContext *avctx) static const AVOption options[] = { #if FF_API_SVTAV1_OPTS { "hielevel", "Hierarchical prediction levels setting (Deprecated, use svtav1-params)", OFFSET(hierarchical_level), - AV_OPT_TYPE_INT, { .i64 = 4 }, 3, 4, VE | AV_OPT_FLAG_DEPRECATED , "hielevel"}, + AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 4, VE | AV_OPT_FLAG_DEPRECATED , "hielevel"}, { "3level", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 3 }, INT_MIN, INT_MAX, VE, "hielevel" }, { "4level", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 4 }, INT_MIN, INT_MAX, VE, "hielevel" }, @@ -580,7 +585,7 @@ static const AVOption options[] = { AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 120, VE | AV_OPT_FLAG_DEPRECATED }, { "tier", "Set operating point tier (Deprecated, use svtav1-params)", OFFSET(tier), - AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE | AV_OPT_FLAG_DEPRECATED, "tier" }, + AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 1, VE | AV_OPT_FLAG_DEPRECATED, "tier" }, { "main", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, 0, 0, VE, "tier" }, { "high", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, 0, 0, VE, "tier" }, #endif @@ -623,10 +628,10 @@ static const AVOption options[] = { AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 63, VE }, #if FF_API_SVTAV1_OPTS { "sc_detection", "Scene change detection (Deprecated, use svtav1-params)", OFFSET(scd), - AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE | AV_OPT_FLAG_DEPRECATED }, + AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, VE | AV_OPT_FLAG_DEPRECATED }, - { "tile_columns", "Log2 of number of tile columns to use (Deprecated, use svtav1-params)", OFFSET(tile_columns), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 4, VE | AV_OPT_FLAG_DEPRECATED }, - { "tile_rows", "Log2 of number of tile rows to use (Deprecated, use svtav1-params)", OFFSET(tile_rows), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 6, VE | AV_OPT_FLAG_DEPRECATED }, + { "tile_columns", "Log2 of number of tile columns to use (Deprecated, use svtav1-params)", OFFSET(tile_columns), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 4, VE | AV_OPT_FLAG_DEPRECATED }, + { "tile_rows", "Log2 of number of tile rows to use (Deprecated, use svtav1-params)", OFFSET(tile_rows), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 6, VE | AV_OPT_FLAG_DEPRECATED }, #endif { "svtav1-params", "Set the SVT-AV1 configuration using a :-separated list of key=value parameters", OFFSET(svtav1_opts), AV_OPT_TYPE_DICT, { 0 }, 0, 0, VE },