From patchwork Tue Jun 22 10:12:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 28601 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2042:0:0:0:0 with SMTP id z2csp2832003iod; Tue, 22 Jun 2021 03:12:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxjpsSSuGCmUC6AjTmzY/VPnGyFxecLKYbozes9pYcDPC8SMhhnRUz1GglY2XfgWb7uXtVp X-Received: by 2002:a05:6402:1e8b:: with SMTP id f11mr3886533edf.86.1624356760433; Tue, 22 Jun 2021 03:12:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624356760; cv=none; d=google.com; s=arc-20160816; b=ceuLj4IKF/hXMlSE9xgaSnZ7XcUfC+thh+urjMmp53Xc6X1Qy+liSfuZvhNQImBD39 KjDi4K2XLU5HJY0TnYp25YO92mAYJbaRYn8vYGmrpU6vid+y+eItbpiwzIeMyYFr8Ctc WVGY6L5cgUXmSn/IN8K0TdLrTPtbpCsqIVN1gjmL7jqluCiFY8Itr7rWBaXfmN1jBAg4 +Tq18vnCDdAYTuQVklKGtSFAlJtXNOlFIFY3WRt1bmROASZDxgSh2nd0X5ldW5keLD5V HRhVBz/f0uykw4QN8/Dw38ZbQ63hXtopSNADGe3mkaDMe3H3VDBNpDrBBjoI9IR7jXfy 0OBw== 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=ArmMaOnCJOnsF1VIHkOldY6rp5eHYpvkYt/EtdzoenQ=; b=0/SnQetkwVmge7HB/9sCQALuIpQt1Osz9aMHg9YQBSLUN33w6ajkUiP0S1qFov2j49 dqNyHmj9tbXAumVgzGXoENSkxmlVgWWRt1E5EWhSKoEWKDq24DgD/UkU6lLRuKbSNvre 9+r53dvJdzxY+2WblFjUcoyOcnfHxgkOBFtVmcVr6JYIXREOxpZnWDVItrRA7S1+rPdT kYJmDTPnFV/Kfb0Yju0NkHOmLemurUS9RPHWPLVlq0DzITBIyhoNFNoFgxx+v58YE1/5 r3+H6ghdL+bzQgZN3JfcunkxV1AGjZ/D5KjJj5x4nva4OKla0wxhWGV6j7PesWqT0Abc A3Qg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=pBPjV+ST; 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 y16si19889393edc.189.2021.06.22.03.12.39; Tue, 22 Jun 2021 03:12:40 -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=pBPjV+ST; 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 13601689923; Tue, 22 Jun 2021 13:12:36 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 21D156804D6 for ; Tue, 22 Jun 2021 13:12:29 +0300 (EEST) Received: by mail-pj1-f46.google.com with SMTP id s17-20020a17090a8811b029016e89654f93so1444998pjn.1 for ; Tue, 22 Jun 2021 03:12:29 -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=Sjo5qnt5dcsJX03naW7n6PLtlAwSifMk0Np8ErO5oNM=; b=pBPjV+STeTwNM5JrRnCEp92z5YGqscjFcsrODfU8XDKALTV8pdYMWPu+XbAwrMMwV+ x5ciDRrAHmOXbWP2ShtNx2ERLHlg/q0Y1dchM5Xj6Du+gS525OOKSNt162T4Q/hGOQS8 Cj8UpRmvk5AftpHQOqTRPp207C0q6GOka3Yg51XbtIbSvMoo9MoxRGy1BGhvgw8gBZ+8 RYN/FMGFpXL4Bz1b1UwwzJ8L50WFweP+oFjLgt1N4M4JaW+I3rhbucRTJQBzI4sYaSWs GMiBnBqxy19QWdipIach69ZrUOxxUHF7RLQwmsWW3CuBfSbR2m3XVI6bx/17mxK1Kh4D NSvw== 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=Sjo5qnt5dcsJX03naW7n6PLtlAwSifMk0Np8ErO5oNM=; b=X7oe8rYO+nChz7zFcEzJn5HK2rVMa6129JX/QzCjU+ITdcq8kkRFlFbKMyzCqKMjod jHzGfHHb41fSAx7PA7ju9LKxDHm7ph3Ey0yr7FpNpn1clhHSwVIoABxo+7z/Yz2kF9Bm aBV5o9nFRZVTU1YDiflxeMbm6cTH32IaYTaYDbWJlg3rvMjCpe2AaDqYDvmZqxzdSNol Dbn8455EnTBi/3Ff/P4q4cxLw2zxmsSXBq+QwAHo1Ico/uwSzpvROhye3nC0ZA16qiBd UuNptgfqe2K9grs3lKdbPGdL4kjtMjC+e/6Xga8C90/0iiSzVSWpUyVxxl3NKMiFiwho nQgg== X-Gm-Message-State: AOAM532EZncND3sOuTKcKgL44zXDzCL6AHUTTfzDsc/KgoW5FH34xv/E AQaO8mplB23n8sMhL4gyWSEDzadeqZk= X-Received: by 2002:a17:902:ff0c:b029:11d:3e9e:41ec with SMTP id f12-20020a170902ff0cb029011d3e9e41ecmr22103440plj.1.1624356746639; Tue, 22 Jun 2021 03:12:26 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id c184sm17591066pfa.38.2021.06.22.03.12.25 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 22 Jun 2021 03:12:26 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 22 Jun 2021 18:12:22 +0800 Message-Id: <1624356742-11424-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 v4 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: sVGVExCWFmN8 From: Limin Wang Signed-off-by: Limin Wang --- have tested with x264 version 141, 142, 156, 157, 163, 164. libavcodec/libx264.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 36fdb56..977b78a 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -749,6 +749,19 @@ 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); +#endif +#if X264_BUILD >= 157 + /* 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 +1095,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" },