From patchwork Sun Sep 23 21:52:57 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 10462 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:1286:0:0:0:0:0 with SMTP id 6-v6csp1850948jap; Sun, 23 Sep 2018 14:53:24 -0700 (PDT) X-Google-Smtp-Source: ACcGV61jGeuyMSZsz8+//qqq+Np1/54/sGbC3jqcKFeR+shbVIw+ETmjQ22BEbel1fx/nJv54Rw6 X-Received: by 2002:a1c:eb03:: with SMTP id j3-v6mr4908799wmh.150.1537739604189; Sun, 23 Sep 2018 14:53:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537739604; cv=none; d=google.com; s=arc-20160816; b=jdHyye6vO+pyTuuK0acPzNn6Ecsw44TFztT9D/k4S6HyAX6yKXwdysKwF1qRK1tZAX b/EETXVTKCLA4QtLwdwrpMgS2VW3aS4DT75hICeF0gPQBBbtnAUHjcfWAeJfi7T81/B9 G0moDP4CPmnBTjhnE/xQbnq4OVzcm3CqsOSybjNEkYoopdTkpJRQwrC957lItPWKrhqm gzUhhCeyS6iU3gznt+zKzXM2zhVXtCIp0BWHaASlbCPw4zfLQKGpuKcPDSFUQhSySI6m mIqrO0QmL6GQMcTZQ86rQeYlm/SQp5BdaSzF7wAlnj6g4KS5qgsjMW7N7x8lhRdO9Vhv jWbg== 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: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=2yrZjL/ugVZI36pkxFtM3r/e0/CdTHdA1Z4V1pD8K/k=; b=g6wBeDDCru+k8Fxojs5IegVVz10bOFJmt+uABkROFYzYXFDTa59bcjPsQpW0uXN2A7 8QTbVWkhv4P3STiLyqQhjMU6tidHPOvNzh6osbbMjUkT4QDGDuij4MaYXynskSMl+lAI SbttUJobkfWm/8rPpMgCVlxstGej4vcfn6ee1jqDi2QGLAjF7kJBJaWh/d2YnWQYWSug x2F2SBQqp+OAlVgF2EmqiOmqbX1AVX3PRUBGQKJ24LCKtvgwHC2MZSA9AYrIw7ob/LZZ uzGFwj+SRFybWeeAmcxalkw5OqfwW87ZkyChP8yzpv8lp9O/xcQveOUimrF62SeZcsCg oaMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20150623.gappssmtp.com header.s=20150623 header.b=k6VLOnja; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id y128-v6si12174910wmb.116.2018.09.23.14.53.23; Sun, 23 Sep 2018 14:53:24 -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=@jkqxz-net.20150623.gappssmtp.com header.s=20150623 header.b=k6VLOnja; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3E27F68A661; Mon, 24 Sep 2018 00:52:58 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DB76D68A635 for ; Mon, 24 Sep 2018 00:52:51 +0300 (EEST) Received: by mail-wr1-f43.google.com with SMTP id b11-v6so1565551wru.9 for ; Sun, 23 Sep 2018 14:53:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references; bh=C6Yd6Lkiq7oSTQpV4Gzav/GXCyBsFF4Pe8Wg5LLPwhQ=; b=k6VLOnjavZ1//MqiB+Nojjv/sKAm93iw64Bg40I5i0Z39WqD61H4rghPlaVoPDyc9U Y3CluiGQ2POGtd3IiW1khTafLnhJqx0yL0iwONX41G/JEgHA2AJrjSnC7L1vUFDvHLeL Mf/iDtwellLufQzVuqpTSuc+tZ9ciH1pAsKVJIxuQeGhT4XClMu5wb9jDffnY2kdVdFx c7/TLCLGsyqnjhR4Q6ffiKFgxE/Ze6JnP07MlHD1VEYdhj1jzMNOlxM2FwCz9EknHdRx mwUsoNhelHE7kES9ADhWdRL+niKYLQI48h6zREFIx0DTwSTQ/+IuhJ5fac5e5t57Jx2a G/ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=C6Yd6Lkiq7oSTQpV4Gzav/GXCyBsFF4Pe8Wg5LLPwhQ=; b=pBpE2JHszUuCsdqx4OgqAcq4Huor+hdCrd1nGZ1dnjE1kwFuDZV5ApCDpumX6QL137 sabMC1ML0ZqWD3cEsFHXYzPWJpwqxIWhIGbeba58vrigJ7PWMG6PP+9v5Atxk/KsGnZf oJQDMJ8cemxbsecFN7L4ebCuvWgkazCG5fMXvBusm20sb6PGMiwHc3acw7vxJn4H9Kt2 mQJwDPpLsfmwGGbkfPJRmmiqz4ILUX1GBFdqKBxT93ziTC0FnAWOkDpt4jE4tX0XUt9t ETfirAkETD9sGcM5pnYbkjt6xQjV020lEsKQfTpRvnz1ggLaIkZgGRZ7WqVFW23rLZiR j4UA== X-Gm-Message-State: ABuFfoikCwJUqajpLT5vdq4ypB/34vcH63WlfjlRFVDgcxQI2I55kQ/s 83KQD5ZYF8V6iVtUSgcgZeTnXCqKHwA= X-Received: by 2002:adf:ecc4:: with SMTP id s4-v6mr2212844wro.142.1537739586568; Sun, 23 Sep 2018 14:53:06 -0700 (PDT) Received: from rywe.jkqxz.net (cpc91242-cmbg18-2-0-cust650.5-4.cable.virginm.net. [82.8.130.139]) by smtp.gmail.com with ESMTPSA id 124-v6sm14960730wmk.20.2018.09.23.14.53.05 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 23 Sep 2018 14:53:06 -0700 (PDT) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Sun, 23 Sep 2018 22:52:57 +0100 Message-Id: <20180923215300.2077-2-sw@jkqxz.net> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180923215300.2077-1-sw@jkqxz.net> References: <20180923215300.2077-1-sw@jkqxz.net> Subject: [FFmpeg-devel] [PATCH v2 2/5] vaapi_encode_mpeg2: Use common slice sizing code 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" --- libavcodec/vaapi_encode_mpeg2.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/libavcodec/vaapi_encode_mpeg2.c b/libavcodec/vaapi_encode_mpeg2.c index 1377eeb9bb..99a8b43237 100644 --- a/libavcodec/vaapi_encode_mpeg2.c +++ b/libavcodec/vaapi_encode_mpeg2.c @@ -35,9 +35,6 @@ typedef struct VAAPIEncodeMPEG2Context { int level; // Derived settings. - int mb_width; - int mb_height; - int quant_i; int quant_p; int quant_b; @@ -477,8 +474,6 @@ static int vaapi_encode_mpeg2_init_picture_params(AVCodecContext *avctx, vpic->f_code[1][0] = pce->f_code[1][0]; vpic->f_code[1][1] = pce->f_code[1][1]; - pic->nb_slices = priv->mb_height; - return 0; } @@ -490,8 +485,8 @@ static int vaapi_encode_mpeg2_init_slice_params(AVCodecContext *avctx, VAEncSliceParameterBufferMPEG2 *vslice = slice->codec_slice_params; int qp; - vslice->macroblock_address = priv->mb_width * slice->index; - vslice->num_macroblocks = priv->mb_width; + vslice->macroblock_address = slice->block_start; + vslice->num_macroblocks = slice->block_size; switch (pic->type) { case PICTURE_TYPE_IDR: @@ -525,9 +520,6 @@ static av_cold int vaapi_encode_mpeg2_configure(AVCodecContext *avctx) if (err < 0) return err; - priv->mb_width = FFALIGN(avctx->width, 16) / 16; - priv->mb_height = FFALIGN(avctx->height, 16) / 16; - if (ctx->va_rc_mode == VA_RC_CQP) { priv->quant_p = av_clip(avctx->global_quality, 1, 31); if (avctx->i_quant_factor > 0.0) @@ -553,6 +545,12 @@ static av_cold int vaapi_encode_mpeg2_configure(AVCodecContext *avctx) av_assert0(0 && "Invalid RC mode."); } + ctx->slice_block_rows = FFALIGN(avctx->width, 16) / 16; + ctx->slice_block_cols = FFALIGN(avctx->height, 16) / 16; + + ctx->nb_slices = ctx->slice_block_rows; + ctx->slice_size = 1; + return 0; }