From patchwork Tue Jun 22 01:27:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 28595 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2042:0:0:0:0 with SMTP id z2csp2500460iod; Mon, 21 Jun 2021 18:28:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxfz4hVteqBjjkHXD01okm7DIoGCVkA3dxWibi+7X41OM90ZlpJjEOezuBuKK0G9YhlWeP5 X-Received: by 2002:a17:906:53d3:: with SMTP id p19mr1025157ejo.313.1624325287648; Mon, 21 Jun 2021 18:28:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624325287; cv=none; d=google.com; s=arc-20160816; b=lGU8ZWl5cFYQwyv8V8a4pti+qinkYsQIhhDfUuM+ncY0e04PcJ4Ul9VuPb6QAoNyFz isfV18ay0E/w+Uln1lMsBpqqgkXfUSK7KX0JdcX2Fu7p/xfDd3jMhn+emWEd82b/BUs7 0Te8MB1dL9ql/WweLiauLB/0MIiYRU1Y4LsflI0SgL158G4k7+sjwhoxkiFVoz8y+U7T +XM7OHq53WU+25nHzmBWbfzf+xzeLVtQN+62g2suNOIbL0nOsNNC+58n3Xt4saRdiuno 9Tvuhk5Ue1eX+iRORMOgz4b1kJFn4o+atHUNaVPmQjPdKOoJMk3+mCZkK8O6TrPI5o8w GGBg== 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=mfdUL2pb5gPOHIAmAZLqXn7eO42CabxF2Fpy0ySEgZs=; b=X7IkxTK6zob8d+tRRdiFutCnR0naCJ5eaNUAzIPh6jn7k6kuuJvLe7Kv7VNgU2KTJ9 34dZtMt6bsWzBDuErypFmHYXbp19ztqSSrIxQxFOCcJZrdMMV5B7ne8yljxN/quJt6yB tRcKz2g3kVTf82QaBAWeKsS+BJh7NTNg38p9CCsMiflfvls0k256Z1z08tzF8qM5+2W6 kp3Yctgv9gWB88i3lkf9MdcVVBLKmTgxXkpK7iajq5MwzBiTguF394GvEkt7PKuvW6rF 498CjwAgtNUr74zXOdKMgrp4Ukq1gid1iGuoPXTaKKtd3yak/yxjdbRjDoq0X3ewJE5a NnaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=i7w4DhZC; 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 f7si12541135edd.231.2021.06.21.18.28.04; Mon, 21 Jun 2021 18:28:07 -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=i7w4DhZC; 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 C784C688335; Tue, 22 Jun 2021 04:28:00 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 72EFD688335 for ; Tue, 22 Jun 2021 04:27:53 +0300 (EEST) Received: by mail-pj1-f45.google.com with SMTP id b5-20020a17090a9905b029016fc06f6c5bso806193pjp.5 for ; Mon, 21 Jun 2021 18:27:53 -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=AxI8KarSUDFYtRllkMfNCakFOrUMARntOwCs5swKqw0=; b=i7w4DhZCJu+VkougFMqNks9gOy+lk6xzUK66hHpBZJQnWXulOi4+vQHmNEPQpYV/v0 vI0VYQb6ullovLJtyJEsvfw6pTzJtlpo3iAYZl1Ex0xey2aVRqe/Byt/jgFi/bVNnjvr 582o0imZh6cJ50Yi5SNHPZeccdGZErY55if5EzgFCw6FhEz5288Q206TZGGfdATYB7o9 UdUBYdUIPXjBXI9dwoBUZQkGlmZTKjGxtq5mrvtN8HVeDs+/Zb9BWVc37/3ndwFItZky ZpF5SvzJhGbnyjH0OrvJjo8WVuNaZDtrZEIllosipZXFXQ/aAh96OP8nLSILZe3QxBAr NsKw== 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=AxI8KarSUDFYtRllkMfNCakFOrUMARntOwCs5swKqw0=; b=iZWekhRZJk4Cr5jJMNQCxRP+ZEQ8ZUNUzY5NCA2txpQivA1NDtXhnTGJrkJ1pcp8qX jR51UI3Vcz013xHbLM7QNl7LLxgbCI3ikHFGZBwZUZQZOWDXRxe1a+hB7p3sLXF/kens 6k5cTPVrRM1MCqfnnMMhm7dc69mDZQj3IvjcMffpCcyK1YZH5jS+2nzsJbc8FdVPxdYT gq+9Fzxc90lkJO9XKn9heHnxpXLuf0ggGVdC69+zcKXu7x7yitL+e12HFxUSzWhLHcBX ARAeGvQguskti3flji3KWqnEvNwnEfsc4dzwsyN0wUu7tX1d3BsrFzOnmSuEzm/HXKyZ m9Mw== X-Gm-Message-State: AOAM530A+WATE1xpqJC9cKtTMmtjcy2kz0Duft2eptsXEmJh12GA/haV 6kmxoZxN/Crwono7YbA9RVKQWdxVWMs= X-Received: by 2002:a17:902:9f93:b029:104:9bae:f56a with SMTP id g19-20020a1709029f93b02901049baef56amr20440688plq.75.1624325271040; Mon, 21 Jun 2021 18:27:51 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j10sm381630pjb.36.2021.06.21.18.27.49 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 21 Jun 2021 18:27:50 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 22 Jun 2021 09:27:45 +0800 Message-Id: <1624325266-24265-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 v2 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: JIXilq4zVEYv From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/libx264.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 36fdb56..3caefee 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 >= 142 + /* 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" },