From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 389D3423C4 for ; Mon, 17 Jan 2022 10:36:26 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 59C1C68AF9C; Mon, 17 Jan 2022 12:36:24 +0200 (EET) Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DFEFF68AE74 for ; Mon, 17 Jan 2022 12:36:17 +0200 (EET) Received: by mail-lf1-f43.google.com with SMTP id o12so39158026lfu.12 for ; Mon, 17 Jan 2022 02:36:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:reply-to:from:date:message-id :subject:to; bh=Cju6hSq2wDGjxzMtWH70JvDFAGsUYX7+luksWgqqUFM=; b=e/p7y7FrfdIb3uPBzls0Fa7r83fhJcY4NmMbfvFlDo9HdPwPkGTvc322c+hpGJlcOD zOHjbE7FgQH2Yqr3s9s9psRJXzMkdDnVJvOrP/jrsfmit/dxVAM4C1ehsoLIA6pUu4Ri f0lrxZQsXyXbNOVFoxMn8fHY/mtxcYc4jVDAzKy4H3CMblYi45LEGCDAvSsZlTdCU1oi 6KX2SLzdHE9b5zXySgsxZ3O42rT4c/1A9D06WiU9o8C+3qBGt7FiJdeT/ulSMyVOFFBm kKqsea7F5hj5IcLIVQCNCBLHWBsge8ueJmIq+sMnbnV0YDbKMaXZ8hW79YBoUosOQfWC xhCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to; bh=Cju6hSq2wDGjxzMtWH70JvDFAGsUYX7+luksWgqqUFM=; b=tHX4S7gr+Ci9rJnn9GNzANwrrJQCdxVBsDs+BjNXwTS2nka/o5FLlvf1f+rIF/uGBJ FgHV3hLbaAnMHmXbyDTCwUDfM/54DxdgYimuy9WPbzOwaVtCs+XJzKF4Dr4GdbCSYkWj ZpHlSHvsb7rEyDBxlqw+POcmfiT0Ekoaz0vCv1fdZxfIYF7R42BU6zZUovhUReLzL/vi kEXJjryFEte7kKYS7sZlBmGkcG/ilyr4CPA/aGB9gUZx3l3ujceVzfvbvo2OjPJrCWpq +YWS0wYbaQHzNn4cRvQhrYpcRO7xGgTnKQhAI2GPeWiot3DAgFT1inhgWw2RwM+soxgT EsVw== X-Gm-Message-State: AOAM53338r69EY9GxBXHG4yinEC1ddjd2Mz2DLVyumgfnvzbns54rzpY r5N7Y+iu2MOblXqEkOQDkFH7tUQpdcGPjU+FDxaaLK4IN4jcMA== X-Google-Smtp-Source: ABdhPJxEbyy2vdj/ZmJrFPc7dBzehOR8SPwpzca2M7YFzJco7QT8IbA0vJuq2fv/vZzMTr9bMIJuBR/iovequo3lZls= X-Received: by 2002:a2e:b7d5:: with SMTP id p21mr12784411ljo.248.1642415776668; Mon, 17 Jan 2022 02:36:16 -0800 (PST) MIME-Version: 1.0 References: <20220113054525.14057-1-haihao.xiang@intel.com> <2de74c97e30007697825af8d68df3fdf5270350c.camel@intel.com> In-Reply-To: <2de74c97e30007697825af8d68df3fdf5270350c.camel@intel.com> From: "mypopy@gmail.com" Date: Mon, 17 Jan 2022 18:36:05 +0800 Message-ID: To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH v2] lavc/qsvenc: add tile encoding support for VP9 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On Mon, Jan 17, 2022 at 4:30 PM Xiang, Haihao wrote: > > On Thu, 2022-01-13 at 13:45 +0800, Haihao Xiang wrote: > > Add -tile_rows and -tile_cols options to specify the number of tile > > rows and columns > > > > Signed-off-by: Haihao Xiang > > --- > > v2: add option descriptions in the doc > > > > doc/encoders.texi | 6 ++++++ > > libavcodec/qsvenc.c | 4 ++++ > > libavcodec/qsvenc.h | 1 + > > libavcodec/qsvenc_vp9.c | 10 ++++++++++ > > 4 files changed, 21 insertions(+) > > > > diff --git a/doc/encoders.texi b/doc/encoders.texi > > index 7cc8be1209..a4176089d5 100644 > > --- a/doc/encoders.texi > > +++ b/doc/encoders.texi > > @@ -3457,6 +3457,12 @@ These options are used by vp9_qsv > > @item profile2 > > @item profile3 > > @end table > > + > > +@item @var{tile_cols} > > +Number of columns for tiled encoding (requires libmfx >= 1.29). > > + > > +@item @var{tile_rows} > > +Number of rows for tiled encoding (requires libmfx >= 1.29). > > @end table > > > > @section snow > > diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c > > index 4e7a15f060..4cbc9ff4dc 100644 > > --- a/libavcodec/qsvenc.c > > +++ b/libavcodec/qsvenc.c > > @@ -939,6 +939,10 @@ static int init_video_param(AVCodecContext *avctx, > > QSVEncContext *q) > > q->extvp9param.Header.BufferId = MFX_EXTBUFF_VP9_PARAM; > > q->extvp9param.Header.BufferSz = sizeof(q->extvp9param); > > q->extvp9param.WriteIVFHeaders = MFX_CODINGOPTION_OFF; > > +#if QSV_HAVE_EXT_VP9_TILES > > + q->extvp9param.NumTileColumns = q->tile_cols; > > + q->extvp9param.NumTileRows = q->tile_rows; > > +#endif > > q->extparam_internal[q->nb_extparam_internal++] = (mfxExtBuffer *)&q- > > >extvp9param; > > } > > #endif > > diff --git a/libavcodec/qsvenc.h b/libavcodec/qsvenc.h > > index 31516b8e55..00ee52a5d1 100644 > > --- a/libavcodec/qsvenc.h > > +++ b/libavcodec/qsvenc.h > > @@ -41,6 +41,7 @@ > > > > #define QSV_HAVE_EXT_HEVC_TILES QSV_VERSION_ATLEAST(1, 13) > > #define QSV_HAVE_EXT_VP9_PARAM QSV_VERSION_ATLEAST(1, 26) > > +#define QSV_HAVE_EXT_VP9_TILES QSV_VERSION_ATLEAST(1, 29) > > > > #define QSV_HAVE_TRELLIS QSV_VERSION_ATLEAST(1, 8) > > #define QSV_HAVE_MAX_SLICE_SIZE QSV_VERSION_ATLEAST(1, 9) > > diff --git a/libavcodec/qsvenc_vp9.c b/libavcodec/qsvenc_vp9.c > > index 9329990d11..1168ddda0e 100644 > > --- a/libavcodec/qsvenc_vp9.c > > +++ b/libavcodec/qsvenc_vp9.c > > @@ -73,6 +73,16 @@ static const AVOption options[] = { > > { "profile2", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > > MFX_PROFILE_VP9_2 }, INT_MIN, INT_MAX, VE, "profile" }, > > { "profile3", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > > MFX_PROFILE_VP9_3 }, INT_MIN, INT_MAX, VE, "profile" }, > > > > +#if QSV_HAVE_EXT_VP9_TILES > > + /* The minimum tile width in luma pixels is 256, set maximum tile_cols to > > 32 for 8K video */ > > + { "tile_cols", "Number of columns for tiled > > encoding", OFFSET(qsv.tile_cols), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 32, > > VE }, > > + /* Set maximum tile_rows to 4 per VP9 spec */ > > + { "tile_rows", "Number of rows for tiled > > encoding", OFFSET(qsv.tile_rows), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 4, > > VE }, > > +#else > > + { "tile_cols", "(not > > supported)", OFFSET(qsv.tile_cols), AV_OPT_TYPE_INT, > > { .i64 = 0 }, 0, 0, VE }, > > + { "tile_rows", "(not > > supported)", OFFSET(qsv.tile_rows), AV_OPT_TYPE_INT, > > { .i64 = 0 }, 0, 0, VE }, > > +#endif > > + perfer one option like "-tile rows x cols" than two options like "-tile_rows row -tile_cols col" > > { NULL }, > > }; > > > > Will apply, > > -Haihao > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".