From patchwork Tue Jun 22 10:56:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 28602 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2042:0:0:0:0 with SMTP id z2csp2862789iod; Tue, 22 Jun 2021 03:56:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxHm61oxlkjTCqioNiAPEYnr+qqriegxUGtIXdJSZ7l9gJ0lZyzKNHotozvR3hKaLgGKIUS X-Received: by 2002:a05:6402:1c1a:: with SMTP id ck26mr4053481edb.230.1624359413928; Tue, 22 Jun 2021 03:56:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624359413; cv=none; d=google.com; s=arc-20160816; b=F7ddvj7ocS2UspKEd4Jk1wJFCnbnAdfLdzrHhSMATYNvx0fKrTNzyQqx8vWlaiRLsd 4zWbDmNymvjgdL8AWSjgOvtg0L/jN3Wdu5aFj/8wNTHVLTKeSXrlvcNY8u7W8UzDeiyz jWSNGwSNyie4f6NXGFshP6SfFIqHh5ke9U6xsr2vhPx7MmJqEibMEwzZLjMmUtSz6TFN 5KqRrYcDiPKSpNb5p5cKHYb4QmqudzmvJPun5tYYNDJYC20mWHDXEGaV1MAaYFDdeW9Y 8gbDjya3m3GlrnauBgGpgVmUS+GKs9qVrT+Y/G6q2smGGWmLMhzzP8/GG+sZn9UrMTYN Lj5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to; bh=pJUUqROOcr3SHKCNDHvBhapK7sOcuAgCo+d59O8l1yM=; b=HmnrkGJntvfwLpyNdXLL3OIK4lmo2qmzRGBB3rboFa4XzRVGQeP0lCnUFxxTQl5x1e oWkIEOgPLJ1uQvzxseibWpNgKYpkFbWmYf5X/k8al7OTdYQjXWpo1gxCVh/46EafjAEW 23GId2WK1Qskx5AfUiMamGRNk/pkbmn1XKDE2IKeQkxwUx4Ren2rfbWTBTpYt+ua6R7F ge0W7j46B6JqKcxyuLmgHkV3yUI338eXALCee59L7DK1H3DU/zjfPEYVwna/09aVFWfF 2Gv1I89ArjbSN6nrfoBaJYeyi4s39tO7al9PwnT9L3rFMMI2HyTK6Py29k2d0mJ0/Q0c yqaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=c8YJd6GN; 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 r21si3649870ejo.665.2021.06.22.03.56.53; Tue, 22 Jun 2021 03:56:53 -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=@gmail.com header.s=20161025 header.b=c8YJd6GN; 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 09F39689DC8; Tue, 22 Jun 2021 13:56:50 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5BDF268030F for ; Tue, 22 Jun 2021 13:56:43 +0300 (EEST) Received: by mail-pl1-f169.google.com with SMTP id y21so4384539plb.4 for ; Tue, 22 Jun 2021 03:56:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=97DLFJqbNe2RGJ2hSyKI0LXObMgnX2EfCLxjPQL2fVw=; b=c8YJd6GN9Fqd2Js/tfv+IeyL+Pd2+YVqD5hgiBLM9EBS0UE1ow+rzyyaItBG7X0aLO UnNZDmwRP5xEUrOCYewu8nMbzMwj7EU2V5ru3kUNohmV4KexbQsZZLrrCtE5xJRCNj7B C/FvkzmDulUVQX5KpaRKAqwvbVJeKjWs++5IDi1qnnl27JiWiKpvppd3nUXdTvp9/zrm dXqg9Rcftu4f7eKgwrEBjrLfVacgBXRdG+c5+W7aP12QK/ZDmLBZejBtjuPn1U7TOnpS hZtG6JIkCqtmVqUeuJ9Jyh/vyT1d8zU9fBw9Wc/QRB++W961sXGxeOjHKMcNV3YX932o v+DQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=97DLFJqbNe2RGJ2hSyKI0LXObMgnX2EfCLxjPQL2fVw=; b=tV92DWOtFK87ExU/pv+cn/otb8fxt7mNuvaDEObKv64+FSjJlEUMUfhWi7fcu6V4eg JkC12uVCGZrUs3on74CdZL1vlS+21Xf5U7teqTkGnxxcrD8uccQmGwBa9G1MH2C0Ftop DjGcJn6yD8oddAu7b0qkDslA+RHpQ/z+vBT1HtmCVh9SNko4RAnnjUugzvxbnS6vCNVV Nw0FFJPVzn0ssi0z18Tvk2nR5ErbksXvUwpN4y+uSplLNQbIZmOpHirFEiHjOfkGvi4j lGIuWsx0Ah6Dn3dUdZ7Vih1+WCtOVk6Lb0kZcDmcj8yqwEqvIdCyIxn1y6ILT8lGcVIj 3zhg== X-Gm-Message-State: AOAM531CdRij8PbFJjZj73F8oJ6LF+0WJMKWHYId8X492NeKko4gknD5 kn+Sfx4O77qs/NDr45DaWQ8aYyMN0es= X-Received: by 2002:a17:90a:db8a:: with SMTP id h10mr3479112pjv.50.1624359401396; Tue, 22 Jun 2021 03:56:41 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j4sm17158526pfj.111.2021.06.22.03.56.40 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 22 Jun 2021 03:56:41 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 22 Jun 2021 18:56:11 +0800 Message-Id: <1624359371-19690-1-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1624153359-28171-1-git-send-email-lance.lmwang@gmail.com> References: <1624153359-28171-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v5 1/2] avcodec/libx264: Add support for Sony XAVC Class 300 and 480 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: gQgPzUFyEg7k From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/libx264.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 36fdb56..d0608e7 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -749,6 +749,18 @@ static av_cold int X264_init(AVCodecContext *avctx) av_log(avctx, AV_LOG_ERROR, "x264 too old for AVC Intra, at least version 142 needed\n"); #endif + + if (x4->avcintra_class > 200) { +#if X264_BUILD < 164 + av_log(avctx, AV_LOG_ERROR, + "x264 too old for AVC Intra 300/480, at least version 164 needed\n"); + return AVERROR(EINVAL); +#else + /* AVC-Intra 300/480 only supported by Sony XAVC flavor */ + x4->params.i_avcintra_flavor = X264_AVCINTRA_FLAVOR_SONY; +#endif + } + if (x4->b_bias != INT_MIN) x4->params.i_bframe_bias = x4->b_bias; if (x4->b_pyramid >= 0) @@ -1082,7 +1094,7 @@ static const AVOption options[] = { { "none", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = X264_NAL_HRD_NONE}, INT_MIN, INT_MAX, VE, "nal-hrd" }, { "vbr", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = X264_NAL_HRD_VBR}, INT_MIN, INT_MAX, VE, "nal-hrd" }, { "cbr", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = X264_NAL_HRD_CBR}, INT_MIN, INT_MAX, VE, "nal-hrd" }, - { "avcintra-class","AVC-Intra class 50/100/200", OFFSET(avcintra_class),AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 200 , VE}, + { "avcintra-class","AVC-Intra class 50/100/200/300/480", OFFSET(avcintra_class),AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 480 , VE}, { "me_method", "Set motion estimation method", OFFSET(motion_est), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, X264_ME_TESA, VE, "motion-est"}, { "motion-est", "Set motion estimation method", OFFSET(motion_est), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, X264_ME_TESA, VE, "motion-est"}, { "dia", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = X264_ME_DIA }, INT_MIN, INT_MAX, VE, "motion-est" },