From patchwork Mon Jul 20 18:01:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Zern X-Patchwork-Id: 21204 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 3B72B44A7C9 for ; Mon, 20 Jul 2020 21:01:53 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 09F9968BA51; Mon, 20 Jul 2020 21:01:53 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-yb1-f202.google.com (mail-yb1-f202.google.com [209.85.219.202]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1870168B9D9 for ; Mon, 20 Jul 2020 21:01:46 +0300 (EEST) Received: by mail-yb1-f202.google.com with SMTP id x184so22480278ybx.10 for ; Mon, 20 Jul 2020 11:01:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to; bh=leP/lsGCOvpowlN1Mar2v4UHtfyUMxQPeLHLA/h0icc=; b=BtDFogg84zIrfHmorfBdRYXGLlYw62bS4Uxd27UAgW4EZuOV7BwRhHZst9RxfJmvP/ R4asRB+BvYDWFDQpsElpx3MK/gFj8xSpaUSMrShDxpI6n+Mb0BxCQ1OmbwXSggk0ZfeK XOueWrTIOGbCJnc63288Ec2BvV1ANIKIwST31Mo70wKozt5vdBXGiM6qkBmVKDe0M0yb kaif70ICk/YunHxrrryh0xbBzLabiuwDxHKN9LIyuXUT+sGzOzR//0hBM1jCc5WEiYSo OgEL2K4GfeRd6POCrx2U+3OI6hm8WWwdFRxCGlyC4ML0ZchTKPAHXFbgHel73Qi0R2GQ 5xQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to; bh=leP/lsGCOvpowlN1Mar2v4UHtfyUMxQPeLHLA/h0icc=; b=bcPFx0DxDgjkAnDM/qAal240aMCn2Uh0UqpejB4mjyRbM6SjsOmyMXmH55VVOxp/Do WHA5tC35HDFm9E2+sMXsNASxx9JKGJPNkmUaI3tO8+YyhN239+uWPNZZisY3+2f7T8E3 anDOJ3S0DC/WRB2I5SE5dBTcbUYLFkiwHt4K34TwN6ojbAwTo4AUTAaYuNolrwZvTVhT 4CuOK9hCB1a3qAF8ciK2z4hCQ9Hw1WA3fgWwhq9a0dMmRVl0uo1b9892pim1aDWfIeYq GY25nTYbm56DZgSaJ/kd0FXcNlYd6eSF2ny7CQe/82F7Cd+IFzmAu8b+ET/IOlw0pihk hz5w== X-Gm-Message-State: AOAM533uEWHJofjZGeTx3m+RGxQAb3NvEMoxxUUrirOkcijNv9vkAQAt 918G9yUDv9fngnCQzhfwxzuDllsFCf6aQjodTJxCemM5Ce13OTD4oVmgqBDa+5XkYFasSpWtGf5 5k48zUSLo0OUvMdt54agEm8EgcBEm+RHZk/71f/nSj0nRxJuhRKAnoYzX7+9m X-Google-Smtp-Source: ABdhPJw229wkvjIxC/Nk5vIsNxWwwMAHTeeOvpRctYN2G43j8uLpq0PLsM/ucs6AcExUWz/il32TT5ULag== X-Received: by 2002:a25:d1c6:: with SMTP id i189mr36441094ybg.497.1595268104183; Mon, 20 Jul 2020 11:01:44 -0700 (PDT) Date: Mon, 20 Jul 2020 11:01:42 -0700 Message-Id: <20200720180142.1967039-1-jzern@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.28.0.rc0.105.gf9edc3c819-goog From: James Zern To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH] avcodec/libvpxenc: use pix_fmt descriptors where useful 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" similar to: 36e51c190b avcodec/libaomenc: use pix_fmt descriptors where useful Signed-off-by: James Zern --- libavcodec/libvpxenc.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index 8e0ea42375..3d5e6c12e3 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec/libvpxenc.c @@ -41,6 +41,7 @@ #include "libavutil/intreadwrite.h" #include "libavutil/mathematics.h" #include "libavutil/opt.h" +#include "libavutil/pixdesc.h" /** * Portion of struct vpx_codec_cx_pkt from vpx_encoder.h. @@ -546,7 +547,8 @@ static int set_pix_fmt(AVCodecContext *avctx, vpx_codec_caps_t codec_caps, vpx_img_fmt_t *img_fmt) { VPxContext av_unused *ctx = avctx->priv_data; - enccfg->g_bit_depth = enccfg->g_input_bit_depth = 8; + const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt); + enccfg->g_bit_depth = enccfg->g_input_bit_depth = desc->comp[0].depth; switch (avctx->pix_fmt) { case AV_PIX_FMT_YUV420P: case AV_PIX_FMT_YUVA420P: @@ -570,8 +572,6 @@ static int set_pix_fmt(AVCodecContext *avctx, vpx_codec_caps_t codec_caps, case AV_PIX_FMT_YUV420P10: case AV_PIX_FMT_YUV420P12: if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH) { - enccfg->g_bit_depth = enccfg->g_input_bit_depth = - avctx->pix_fmt == AV_PIX_FMT_YUV420P10 ? 10 : 12; enccfg->g_profile = 2; *img_fmt = VPX_IMG_FMT_I42016; *flags |= VPX_CODEC_USE_HIGHBITDEPTH; @@ -581,8 +581,6 @@ static int set_pix_fmt(AVCodecContext *avctx, vpx_codec_caps_t codec_caps, case AV_PIX_FMT_YUV422P10: case AV_PIX_FMT_YUV422P12: if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH) { - enccfg->g_bit_depth = enccfg->g_input_bit_depth = - avctx->pix_fmt == AV_PIX_FMT_YUV422P10 ? 10 : 12; enccfg->g_profile = 3; *img_fmt = VPX_IMG_FMT_I42216; *flags |= VPX_CODEC_USE_HIGHBITDEPTH; @@ -592,8 +590,6 @@ static int set_pix_fmt(AVCodecContext *avctx, vpx_codec_caps_t codec_caps, case AV_PIX_FMT_YUV440P10: case AV_PIX_FMT_YUV440P12: if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH) { - enccfg->g_bit_depth = enccfg->g_input_bit_depth = - avctx->pix_fmt == AV_PIX_FMT_YUV440P10 ? 10 : 12; enccfg->g_profile = 3; *img_fmt = VPX_IMG_FMT_I44016; *flags |= VPX_CODEC_USE_HIGHBITDEPTH; @@ -606,9 +602,6 @@ static int set_pix_fmt(AVCodecContext *avctx, vpx_codec_caps_t codec_caps, case AV_PIX_FMT_YUV444P10: case AV_PIX_FMT_YUV444P12: if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH) { - enccfg->g_bit_depth = enccfg->g_input_bit_depth = - avctx->pix_fmt == AV_PIX_FMT_YUV444P10 || - avctx->pix_fmt == AV_PIX_FMT_GBRP10 ? 10 : 12; enccfg->g_profile = 3; *img_fmt = VPX_IMG_FMT_I44416; *flags |= VPX_CODEC_USE_HIGHBITDEPTH;