From patchwork Sun Aug 2 13:07:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 21454 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id C154E44BA5B for ; Sun, 2 Aug 2020 16:07:17 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9533868B7FD; Sun, 2 Aug 2020 16:07:17 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A6E0368B7EA for ; Sun, 2 Aug 2020 16:07:11 +0300 (EEST) Received: by mail-pj1-f42.google.com with SMTP id kr4so7622057pjb.2 for ; Sun, 02 Aug 2020 06:07:11 -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=nELK8DlQCXgfs9oX2HLYtY//p0tyvEK1HKStLU4MHMs=; b=OSTLtUK/HizVJubHjO9q8RncHeDY4VyQuNCL9JvmWZ1liGhmaCJmLJ5wL9/mY1UxG0 KSNTyGk/+7vv/2PGkPEicyRFWYBH/ceYAfHCdgp799MnjopxtvuXXz9kUiwI7jUdGyZv aY2Uwl0VIuvy5GURYaT1lHucIFv0G7mClCOPaL6K9JeTztJRMz2SdE1q/VI7tvB/Ujt9 Khp3BYl81ipQ0Q9a4b6WePJRrqbYTz60ew/XH0rvu6d+ogwUE59+b9wnv4K3diE9ly5/ E/1lfP0Se0ZD3dh6QRtcuLYGvYNfaSXgiorZJp4v1VmT2GK+voAvLtM7U7qSlCNVM9Mh ub3w== 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=nELK8DlQCXgfs9oX2HLYtY//p0tyvEK1HKStLU4MHMs=; b=J/HAcpj8AAr/Q20B3ymf6Vrn704sfEGlIwLmUuWGirRTRtq0oQvxiXslsVxhLQuYIY y8Aw9d6Bclnyr1Snw4I86/jQdUHTvc/DlMtQoMmYf8G3TbEDzT+zn721pJpYcZWkWTGR zhGL+912/ucylnXNHqJURci9pOFmk0Kke4f/EMJ3uQ9U+7R/ViFHJSn8ISpv6s71IlY/ rmj0o6HgZ3D4bLGmA19xSuAPdA4EcFerbMeWyZau+UQsYeY5JzwgPS2TG6heOuf01P/f ahDt0gIVkZIR1F2AZobPLm4uEHvhp7TVhz7Uu0ll2qVKH7IwmQe06JgTzP8WibD15+m5 vYKw== X-Gm-Message-State: AOAM530sBonfCjtolym9jyHpgwgb5pIjKRtkAfN0oFzmXv7P0+eqDtci C5TovPybZp3e+zi7dD3yc32nbRqQ X-Google-Smtp-Source: ABdhPJxYwydVMtuVSNFT8AY8tOI/kLnrylmRCncxNssXIGaCMEIZfH62L1M8B9nasAuL3herB/NavQ== X-Received: by 2002:a17:90a:2110:: with SMTP id a16mr12766691pje.104.1596373629465; Sun, 02 Aug 2020 06:07:09 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id m19sm9926588pjv.34.2020.08.02.06.07.08 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 02 Aug 2020 06:07:08 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Sun, 2 Aug 2020 21:07:04 +0800 Message-Id: <1596373624-28433-1-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 Subject: [FFmpeg-devel] [PATCH] avcodec/mpeg12enc: support mpeg2 encoder const level X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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" From: Limin Wang Signed-off-by: Limin Wang --- doc/encoders.texi | 10 ++++++++++ libavcodec/mpeg12enc.c | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/doc/encoders.texi b/doc/encoders.texi index de0472e..13aa5de 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -2902,6 +2902,16 @@ SNR Scalable @item simple @end table +@item level +Select the mpeg2 level to encode: + +@table @samp +@item high +@item high1440 +@item main +@item low +@end table + @item seq_disp_ext @var{integer} Specifies if the encoder should write a sequence_display_extension to the output. diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index 9fbbcef..f246427 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -1167,6 +1167,12 @@ static const AVOption mpeg2_options[] = { { "secam", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = VIDEO_FORMAT_SECAM }, 0, 0, VE, "video_format" }, { "mac", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = VIDEO_FORMAT_MAC }, 0, 0, VE, "video_format" }, { "unspecified", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = VIDEO_FORMAT_UNSPECIFIED}, 0, 0, VE, "video_format" }, +#define LEVEL(name, value) name, NULL, 0, AV_OPT_TYPE_CONST, { .i64 = value }, 0, 0, VE, "avctx.level" + { LEVEL("high", 4) }, + { LEVEL("high1440", 6) }, + { LEVEL("main", 8) }, + { LEVEL("low", 10) }, +#undef LEVEL FF_MPV_COMMON_OPTS FF_MPEG2_PROFILE_OPTS { NULL },