From patchwork Sun Jun 20 01:42:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 28585 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2042:0:0:0:0 with SMTP id z2csp708171iod; Sat, 19 Jun 2021 18:42:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzHuZX2y04T0tiMpp0nys/tce1kUK16U8nuOSJXxdcjunu3R8WoiL8DUqygfucLc7hT9r0k X-Received: by 2002:a05:6402:2688:: with SMTP id w8mr13587698edd.353.1624153378133; Sat, 19 Jun 2021 18:42:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624153378; cv=none; d=google.com; s=arc-20160816; b=dhgkXeW7n6ND6ghaHOexzjX5qe/ktaWpFWWo6oYVGVh+x/0e+a88pvOhZf3GFgVP2s USNMxVHtCp2qcUKzKf4jcm0R7NHHcRLf7flhMPkmp7pDtLZoLzYCfkOk3bi0DfNFgIip xSprxoCfMMX0nAV04H6kMPuyi+vUf7DvBnv9eSRZ2YweYUPk/abPBN7W8A/F/D6s4E+7 cqx6+DFgpPUFL/wvh3cb0xK/aynmz4VwK8WOQgDXzw4TSZLSdOKXEsoT+eLeOIBSvYPF cW+eY9FC+xuNW4H7KUFj6y7aWJlGTYMv2OiSdefr+82KNVHG8B8gNsOMH6e+UngPJHQ3 oNBg== 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:message-id:date:to:from:dkim-signature :delivered-to; bh=1Lg38MnQCjCNXe2afadLNdI9XHCi23GVfKrxXVPTHpw=; b=L0Ojq8EnluvicPXB4CxkxA3oD778xThrxFzd0TTJe/T/79GarmMHDt/YAesXxjQvZj 9QOJmSN80jVxWKJ38wkf5F/k+nCujS0Kwt7kpYjEYWTPLsIKk4GbOzZ2RsVTG0Bcbayz yjR3TpSRWe6QqqNFDGuLXYStVOB43+kqr+e1UEGmQAHV1sMNUFDwjFv+PQ5DYzE9aQB3 b2Pqq2Z9T5uBaGSUvo8ZeQ6wGKKd4laEuZ0GYhYcoHz5v9vMHr0GY4dhfJxH3y/6GEsw Hv8eUa+3QHsUSlfv72WdTR/OW6O4NS89+jvhUm5iIBeYUm32pbsGlFjXX5d1GuGduRd6 fiKg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Cg0VJswQ; 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 x13si4468806edd.596.2021.06.19.18.42.57; Sat, 19 Jun 2021 18:42:58 -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=Cg0VJswQ; 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 29D5468994D; Sun, 20 Jun 2021 04:42:53 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 794E3680511 for ; Sun, 20 Jun 2021 04:42:46 +0300 (EEST) Received: by mail-pj1-f47.google.com with SMTP id h16so7862572pjv.2 for ; Sat, 19 Jun 2021 18:42:46 -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; bh=M+Y3Ke7RPBB+2qMgdNzaOgzujqU9GLogPFCrdCyM3lk=; b=Cg0VJswQ0EbTwHzw/Vo93qOA9hfStV9A8t7+50hujGfgZfAXjwpQqLSp0O4zCFmsL4 oQU0YIb3wsRP3MbEbQHfQjfKUSHwvRAn3pCTt4TyFXa+ha1LwMjbAxfvO8nKMLOc006Z +5171OreIGfYveZ+Yl4pMUQUwNYRSNDGe27MQbl2ttwEYi7qfy08W+V5/SERkIFlY+oQ aADQAxC69yZswYnHH3jhh3HjG626FmcduPUX+KLWQT2GgEB1SUy3rspKjflltSxqSO7I nGV5IKBBmVpMhVfpLEmmV8hnAtvYKkyS5YSpMw6y5seotWUMVnuV8Ad786y4BFb7dyf3 B/BQ== 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; bh=M+Y3Ke7RPBB+2qMgdNzaOgzujqU9GLogPFCrdCyM3lk=; b=tF83126EgLCYbQGFfbO20UJAmIgHRFA6C61JpVWaFplXK6EBiyx1/0tFi0ro6RMTuu ZWw7tDYfMw3RlxiJnnQ61WS1ghXHwBn1OWAw+UBq2QCuqbwi5RvqNa3evIQ80SqfiLZG l2Dlqi8+YAM1MQrAWEg2Nh54MnWzsIvb5k2gdqybUhPDerypxIK4FOJp35dbMKHLRPqN aXussQOCFL7lUE4+oMBL3xJw+yBxl4WETR8gC4y/wsqnhkvYQd8ymuSlmRYNb7QzbYay ncMrWrpWvm1RfL35rmv5hJJpu/99c3Wo29EFWtxj39WIlcJBuhiwkAC+qVUzNwVzp37m tqrA== X-Gm-Message-State: AOAM532epgo/KmEkT2Hr/SjOsYhouFH1c89Z0wtFxqkKPIoso1Px6+aI D0aySTq+awZu5kpM9WjVeEWyPAGYA+0= X-Received: by 2002:a17:90b:1d01:: with SMTP id on1mr1076764pjb.165.1624153364512; Sat, 19 Jun 2021 18:42:44 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id gi20sm5225070pjb.20.2021.06.19.18.42.43 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 19 Jun 2021 18:42:44 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Sun, 20 Jun 2021 09:42:38 +0800 Message-Id: <1624153359-28171-1-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 Subject: [FFmpeg-devel] [PATCH 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: 2QixhMHTInxp From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/libx264.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 36fdb56..89f5c7b 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -749,6 +749,17 @@ 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 + /* AVC-Intra 300/480 only supported by Sony XAVC flavor */ + x4->params.i_avcintra_flavor = X264_AVCINTRA_FLAVOR_SONY; + } + if (x4->b_bias != INT_MIN) x4->params.i_bframe_bias = x4->b_bias; if (x4->b_pyramid >= 0) @@ -1082,7 +1093,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" },