From patchwork Thu Feb 17 09:13:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 34352 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6838:d078:0:0:0:0 with SMTP id x24csp458874nkx; Thu, 17 Feb 2022 01:13:37 -0800 (PST) X-Google-Smtp-Source: ABdhPJwckavgHg0PWkzihX0lnwKryup/zokKYJqlpunTRP/tpHreaI0xgZBF/jHLcsCsjpI2YKg8 X-Received: by 2002:a05:6402:d0d:b0:410:8411:216 with SMTP id eb13-20020a0564020d0d00b0041084110216mr1576970edb.316.1645089216825; Thu, 17 Feb 2022 01:13:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645089216; cv=none; d=google.com; s=arc-20160816; b=CTE2Yr9vlss1bZo2Bg1gHbfaZunjuXxsfcYYT9NOpc1VypaHYY0HgzHtYQTGsCbkRC ty2l1EFu8/zHyWcTLYYh9ZCKugX7Cv/IM/186U8auw/J+dskh2Tu7hvTyl1cVNv8H9BR i0+sxZtH0oAeX7DhNzcw5swHLoyyvIGjlbiZTCy8CX9omFba5dN3hmejdq1AqOLppKje MkW41h++DhPBRsmN/H5/dtHmezKL+N8vmxK5/NIUcH0ofg5+GTX665HVdm5t8SlImhjy PX/pB5HvkV2aTVZvIYZ18wAFHa/K6CYEBskIbYuOT6vRWJZw7/FCc1bfwt4JbHRyI2RY gJ2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :delivered-to; bh=0fOiwui9W+VUwRSAF0dwvKE23TCfHRnzLN1rqjI7F5U=; b=z9x+AARCKYYhHxgIHRdHblhfNq/jADhy3OOBQ3XdJCxXYOtb3DOBd0tvqioCXHas64 6uQZgy2n0+L2J9iHNo+Nj99udii525l/42o99KolPkqEog9dDvk/fBXcOQRQ1UVKJNbx K6u+82H24iw4nm8gfVcyR+63GWX2k+pRGZvEIkpvv82IdYDM/ZvEQDD9rgwJ1e6c8aNk /f03l+RjcvBtp3sOoE3FAAIembJSt8Espu7cRnUbNs1lEwc6Ca7OMU/ILPqSRvr3MVb+ qCk7puwFSAwY6HmE03BVKiGpwtBR6ccaTzdNKzNxyQTKR8Cad02JAiQEOGjZNleoXa+d uR/g== ARC-Authentication-Results: i=1; mx.google.com; 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 dr8si1869378ejc.823.2022.02.17.01.13.35; Thu, 17 Feb 2022 01:13:36 -0800 (PST) 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; 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 9814C68AF73; Thu, 17 Feb 2022 11:13:30 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ADDEE68B07E for ; Thu, 17 Feb 2022 11:13:23 +0200 (EET) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id 25781240179 for ; Thu, 17 Feb 2022 10:13:23 +0100 (CET) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id OHPVgINyUw8E for ; Thu, 17 Feb 2022 10:13:21 +0100 (CET) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id 793B8240175 for ; Thu, 17 Feb 2022 10:13:21 +0100 (CET) Received: by libav.khirnov.net (Postfix, from userid 1000) id 944393A0354; Thu, 17 Feb 2022 10:13:17 +0100 (CET) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Thu, 17 Feb 2022 10:13:14 +0100 Message-Id: <20220217091315.21092-1-anton@khirnov.net> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] lavc/dxva2: rename drop AV prefix from AVDXVAContext 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: M55HS9PRDMKo It is not public. --- libavcodec/dxva2.c | 10 +++++----- libavcodec/dxva2_av1.c | 6 +++--- libavcodec/dxva2_h264.c | 14 +++++++------- libavcodec/dxva2_hevc.c | 8 ++++---- libavcodec/dxva2_internal.h | 10 +++++----- libavcodec/dxva2_mpeg2.c | 8 ++++---- libavcodec/dxva2_vc1.c | 6 +++--- libavcodec/dxva2_vp9.c | 6 +++--- 8 files changed, 34 insertions(+), 34 deletions(-) diff --git a/libavcodec/dxva2.c b/libavcodec/dxva2.c index 568d686f39..c31a71ba3b 100644 --- a/libavcodec/dxva2.c +++ b/libavcodec/dxva2.c @@ -562,7 +562,7 @@ static void ff_dxva2_lock(AVCodecContext *avctx) #if CONFIG_D3D11VA if (ff_dxva2_is_d3d11(avctx)) { FFDXVASharedContext *sctx = DXVA_SHARED_CONTEXT(avctx); - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); if (D3D11VA_CONTEXT(ctx)->context_mutex != INVALID_HANDLE_VALUE) WaitForSingleObjectEx(D3D11VA_CONTEXT(ctx)->context_mutex, INFINITE, FALSE); if (sctx->device_ctx) { @@ -578,7 +578,7 @@ static void ff_dxva2_unlock(AVCodecContext *avctx) #if CONFIG_D3D11VA if (ff_dxva2_is_d3d11(avctx)) { FFDXVASharedContext *sctx = DXVA_SHARED_CONTEXT(avctx); - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); if (D3D11VA_CONTEXT(ctx)->context_mutex != INVALID_HANDLE_VALUE) ReleaseMutex(D3D11VA_CONTEXT(ctx)->context_mutex); if (sctx->device_ctx) { @@ -768,7 +768,7 @@ static void *get_surface(const AVCodecContext *avctx, const AVFrame *frame) } unsigned ff_dxva2_get_surface_index(const AVCodecContext *avctx, - const AVDXVAContext *ctx, + const DXVAContext *ctx, const AVFrame *frame) { void *surface = get_surface(avctx, frame); @@ -795,7 +795,7 @@ unsigned ff_dxva2_get_surface_index(const AVCodecContext *avctx, } int ff_dxva2_commit_buffer(AVCodecContext *avctx, - AVDXVAContext *ctx, + DXVAContext *ctx, DECODER_BUFFER_DESC *dsc, unsigned type, const void *data, unsigned size, unsigned mb_count) @@ -890,7 +890,7 @@ int ff_dxva2_common_end_frame(AVCodecContext *avctx, AVFrame *frame, DECODER_BUFFER_DESC *bs, DECODER_BUFFER_DESC *slice)) { - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); unsigned buffer_count = 0; #if CONFIG_D3D11VA D3D11_VIDEO_DECODER_BUFFER_DESC buffer11[4]; diff --git a/libavcodec/dxva2_av1.c b/libavcodec/dxva2_av1.c index 7b4483f855..66a4594550 100644 --- a/libavcodec/dxva2_av1.c +++ b/libavcodec/dxva2_av1.c @@ -53,7 +53,7 @@ static int get_bit_depth_from_seq(const AV1RawSequenceHeader *seq) return 8; } -static int fill_picture_parameters(const AVCodecContext *avctx, AVDXVAContext *ctx, const AV1DecContext *h, +static int fill_picture_parameters(const AVCodecContext *avctx, DXVAContext *ctx, const AV1DecContext *h, DXVA_PicParams_AV1 *pp) { int i,j, uses_lr; @@ -270,7 +270,7 @@ static int dxva2_av1_start_frame(AVCodecContext *avctx, av_unused uint32_t size) { const AV1DecContext *h = avctx->priv_data; - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); struct av1_dxva2_picture_context *ctx_pic = h->cur_frame.hwaccel_picture_private; if (!DXVA_CONTEXT_VALID(avctx, ctx)) @@ -346,7 +346,7 @@ static int commit_bitstream_and_slice_buffer(AVCodecContext *avctx, DECODER_BUFFER_DESC *sc) { const AV1DecContext *h = avctx->priv_data; - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); struct av1_dxva2_picture_context *ctx_pic = h->cur_frame.hwaccel_picture_private; void *dxva_data_ptr; uint8_t *dxva_data; diff --git a/libavcodec/dxva2_h264.c b/libavcodec/dxva2_h264.c index 5b23b28f12..489b9bb0f5 100644 --- a/libavcodec/dxva2_h264.c +++ b/libavcodec/dxva2_h264.c @@ -45,7 +45,7 @@ static void fill_picture_entry(DXVA_PicEntry_H264 *pic, pic->bPicEntry = index | (flag << 7); } -static void fill_picture_parameters(const AVCodecContext *avctx, AVDXVAContext *ctx, const H264Context *h, +static void fill_picture_parameters(const AVCodecContext *avctx, DXVAContext *ctx, const H264Context *h, DXVA_PicParams_H264 *pp) { const H264Picture *current_picture = h->cur_pic_ptr; @@ -161,7 +161,7 @@ static void fill_picture_parameters(const AVCodecContext *avctx, AVDXVAContext * //pp->SliceGroupMap[810]; /* XXX not implemented by FFmpeg */ } -static void fill_scaling_lists(const AVCodecContext *avctx, AVDXVAContext *ctx, const H264Context *h, DXVA_Qmatrix_H264 *qm) +static void fill_scaling_lists(const AVCodecContext *avctx, DXVAContext *ctx, const H264Context *h, DXVA_Qmatrix_H264 *qm) { const PPS *pps = h->ps.pps; unsigned i, j; @@ -187,7 +187,7 @@ static void fill_scaling_lists(const AVCodecContext *avctx, AVDXVAContext *ctx, } } -static int is_slice_short(const AVCodecContext *avctx, AVDXVAContext *ctx) +static int is_slice_short(const AVCodecContext *avctx, DXVAContext *ctx) { assert(DXVA_CONTEXT_CFG_BITSTREAM(avctx, ctx) == 1 || DXVA_CONTEXT_CFG_BITSTREAM(avctx, ctx) == 2); @@ -218,7 +218,7 @@ static void fill_slice_long(AVCodecContext *avctx, DXVA_Slice_H264_Long *slice, { const H264Context *h = avctx->priv_data; H264SliceContext *sl = &h->slice_ctx[0]; - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); unsigned list; memset(slice, 0, sizeof(*slice)); @@ -300,7 +300,7 @@ static int commit_bitstream_and_slice_buffer(AVCodecContext *avctx, { const H264Context *h = avctx->priv_data; const unsigned mb_count = h->mb_width * h->mb_height; - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); const H264Picture *current_picture = h->cur_pic_ptr; struct dxva2_picture_context *ctx_pic = current_picture->hwaccel_picture_private; DXVA_Slice_H264_Short *slice = NULL; @@ -443,7 +443,7 @@ static int dxva2_h264_start_frame(AVCodecContext *avctx, av_unused uint32_t size) { const H264Context *h = avctx->priv_data; - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); struct dxva2_picture_context *ctx_pic = h->cur_pic_ptr->hwaccel_picture_private; if (!DXVA_CONTEXT_VALID(avctx, ctx)) @@ -468,7 +468,7 @@ static int dxva2_h264_decode_slice(AVCodecContext *avctx, { const H264Context *h = avctx->priv_data; const H264SliceContext *sl = &h->slice_ctx[0]; - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); const H264Picture *current_picture = h->cur_pic_ptr; struct dxva2_picture_context *ctx_pic = current_picture->hwaccel_picture_private; unsigned position; diff --git a/libavcodec/dxva2_hevc.c b/libavcodec/dxva2_hevc.c index dbb701fb1c..ba8bbd28c7 100644 --- a/libavcodec/dxva2_hevc.c +++ b/libavcodec/dxva2_hevc.c @@ -54,7 +54,7 @@ static int get_refpic_index(const DXVA_PicParams_HEVC *pp, int surface_index) return 0xff; } -static void fill_picture_parameters(const AVCodecContext *avctx, AVDXVAContext *ctx, const HEVCContext *h, +static void fill_picture_parameters(const AVCodecContext *avctx, DXVAContext *ctx, const HEVCContext *h, DXVA_PicParams_HEVC *pp) { const HEVCFrame *current_picture = h->ref; @@ -197,7 +197,7 @@ static void fill_picture_parameters(const AVCodecContext *avctx, AVDXVAContext * pp->StatusReportFeedbackNumber = 1 + DXVA_CONTEXT_REPORT_ID(avctx, ctx)++; } -static void fill_scaling_lists(AVDXVAContext *ctx, const HEVCContext *h, DXVA_Qmatrix_HEVC *qm) +static void fill_scaling_lists(DXVAContext *ctx, const HEVCContext *h, DXVA_Qmatrix_HEVC *qm) { unsigned i, j, pos; const ScalingList *sl = h->ps.pps->scaling_list_data_present_flag ? @@ -239,7 +239,7 @@ static int commit_bitstream_and_slice_buffer(AVCodecContext *avctx, DECODER_BUFFER_DESC *sc) { const HEVCContext *h = avctx->priv_data; - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); const HEVCFrame *current_picture = h->ref; struct hevc_dxva2_picture_context *ctx_pic = current_picture->hwaccel_picture_private; DXVA_Slice_HEVC_Short *slice = NULL; @@ -358,7 +358,7 @@ static int dxva2_hevc_start_frame(AVCodecContext *avctx, av_unused uint32_t size) { const HEVCContext *h = avctx->priv_data; - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); struct hevc_dxva2_picture_context *ctx_pic = h->ref->hwaccel_picture_private; if (!DXVA_CONTEXT_VALID(avctx, ctx)) diff --git a/libavcodec/dxva2_internal.h b/libavcodec/dxva2_internal.h index b822af59cd..d14b696a3b 100644 --- a/libavcodec/dxva2_internal.h +++ b/libavcodec/dxva2_internal.h @@ -62,7 +62,7 @@ typedef union { #if CONFIG_DXVA2 struct dxva_context dxva2; #endif -} AVDXVAContext; +} DXVAContext; typedef struct FFDXVASharedContext { AVBufferRef *decoder_ref; @@ -91,12 +91,12 @@ typedef struct FFDXVASharedContext { // Legacy (but used by code outside of setup) // In generic mode, DXVA_CONTEXT() will return a pointer to this. - AVDXVAContext ctx; + DXVAContext ctx; } FFDXVASharedContext; #define DXVA_SHARED_CONTEXT(avctx) ((FFDXVASharedContext *)((avctx)->internal->hwaccel_priv_data)) -#define DXVA_CONTEXT(avctx) (AVDXVAContext *)((avctx)->hwaccel_context ? (avctx)->hwaccel_context : (&(DXVA_SHARED_CONTEXT(avctx)->ctx))) +#define DXVA_CONTEXT(avctx) (DXVAContext *)((avctx)->hwaccel_context ? (avctx)->hwaccel_context : (&(DXVA_SHARED_CONTEXT(avctx)->ctx))) #define D3D11VA_CONTEXT(ctx) (&ctx->d3d11va) #define DXVA2_CONTEXT(ctx) (&ctx->dxva2) @@ -136,10 +136,10 @@ typedef struct FFDXVASharedContext { #endif unsigned ff_dxva2_get_surface_index(const AVCodecContext *avctx, - const AVDXVAContext *, + const DXVAContext *, const AVFrame *frame); -int ff_dxva2_commit_buffer(AVCodecContext *, AVDXVAContext *, +int ff_dxva2_commit_buffer(AVCodecContext *, DXVAContext *, DECODER_BUFFER_DESC *, unsigned type, const void *data, unsigned size, unsigned mb_count); diff --git a/libavcodec/dxva2_mpeg2.c b/libavcodec/dxva2_mpeg2.c index 136f5f9e06..d2935b3620 100644 --- a/libavcodec/dxva2_mpeg2.c +++ b/libavcodec/dxva2_mpeg2.c @@ -38,7 +38,7 @@ struct dxva2_picture_context { }; static void fill_picture_parameters(AVCodecContext *avctx, - AVDXVAContext *ctx, + DXVAContext *ctx, const struct MpegEncContext *s, DXVA_PictureParameters *pp) { @@ -104,7 +104,7 @@ static void fill_picture_parameters(AVCodecContext *avctx, } static void fill_quantization_matrices(AVCodecContext *avctx, - AVDXVAContext *ctx, + DXVAContext *ctx, const struct MpegEncContext *s, DXVA_QmatrixData *qm) { @@ -152,7 +152,7 @@ static int commit_bitstream_and_slice_buffer(AVCodecContext *avctx, DECODER_BUFFER_DESC *sc) { const struct MpegEncContext *s = avctx->priv_data; - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); struct dxva2_picture_context *ctx_pic = s->current_picture_ptr->hwaccel_picture_private; const int is_field = s->picture_structure != PICT_FRAME; @@ -255,7 +255,7 @@ static int dxva2_mpeg2_start_frame(AVCodecContext *avctx, av_unused uint32_t size) { const struct MpegEncContext *s = avctx->priv_data; - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); struct dxva2_picture_context *ctx_pic = s->current_picture_ptr->hwaccel_picture_private; diff --git a/libavcodec/dxva2_vc1.c b/libavcodec/dxva2_vc1.c index 5fd6957d0c..5be6272855 100644 --- a/libavcodec/dxva2_vc1.c +++ b/libavcodec/dxva2_vc1.c @@ -38,7 +38,7 @@ struct dxva2_picture_context { }; static void fill_picture_parameters(AVCodecContext *avctx, - AVDXVAContext *ctx, const VC1Context *v, + DXVAContext *ctx, const VC1Context *v, DXVA_PictureParameters *pp) { const MpegEncContext *s = &v->s; @@ -185,7 +185,7 @@ static int commit_bitstream_and_slice_buffer(AVCodecContext *avctx, DECODER_BUFFER_DESC *sc) { const VC1Context *v = avctx->priv_data; - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); const MpegEncContext *s = &v->s; struct dxva2_picture_context *ctx_pic = s->current_picture_ptr->hwaccel_picture_private; @@ -312,7 +312,7 @@ static int dxva2_vc1_start_frame(AVCodecContext *avctx, av_unused uint32_t size) { const VC1Context *v = avctx->priv_data; - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); struct dxva2_picture_context *ctx_pic = v->s.current_picture_ptr->hwaccel_picture_private; if (!DXVA_CONTEXT_VALID(avctx, ctx)) diff --git a/libavcodec/dxva2_vp9.c b/libavcodec/dxva2_vp9.c index eaeab3af7a..f7762b9e06 100644 --- a/libavcodec/dxva2_vp9.c +++ b/libavcodec/dxva2_vp9.c @@ -40,7 +40,7 @@ static void fill_picture_entry(DXVA_PicEntry_VPx *pic, pic->bPicEntry = index | (flag << 7); } -static int fill_picture_parameters(const AVCodecContext *avctx, AVDXVAContext *ctx, const VP9SharedContext *h, +static int fill_picture_parameters(const AVCodecContext *avctx, DXVAContext *ctx, const VP9SharedContext *h, DXVA_PicParams_VP9 *pp) { int i; @@ -166,7 +166,7 @@ static int commit_bitstream_and_slice_buffer(AVCodecContext *avctx, DECODER_BUFFER_DESC *sc) { const VP9SharedContext *h = avctx->priv_data; - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); struct vp9_dxva2_picture_context *ctx_pic = h->frames[CUR_FRAME].hwaccel_picture_private; void *dxva_data_ptr; uint8_t *dxva_data; @@ -254,7 +254,7 @@ static int dxva2_vp9_start_frame(AVCodecContext *avctx, av_unused uint32_t size) { const VP9SharedContext *h = avctx->priv_data; - AVDXVAContext *ctx = DXVA_CONTEXT(avctx); + DXVAContext *ctx = DXVA_CONTEXT(avctx); struct vp9_dxva2_picture_context *ctx_pic = h->frames[CUR_FRAME].hwaccel_picture_private; if (!DXVA_CONTEXT_VALID(avctx, ctx)) From patchwork Thu Feb 17 09:13:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 34353 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6838:d078:0:0:0:0 with SMTP id x24csp459100nkx; Thu, 17 Feb 2022 01:13:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJxZsHPeUKVs5JdO+i6RuKo2dEh2q6Lli9Yu7L75dBiqo0Q2XA4Z0lIOipzGO6voXJQa5k9g X-Received: by 2002:a17:906:6b01:b0:6cf:624c:d98d with SMTP id q1-20020a1709066b0100b006cf624cd98dmr1532554ejr.673.1645089237416; Thu, 17 Feb 2022 01:13:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645089237; cv=none; d=google.com; s=arc-20160816; b=RyFQmMFcpqgz0yfAXzPv7k2nPOcnLrZ7CaesKxLlQQhAJxBoydYKXKKtZ8fFKjaEaN RKy2vwv2fNKgt+jXpuWsFDweMFkrVj6MApK+YoMyevV4034K9QBxxIE693t0imq1HTNv 73UcmARnDmJHMjn4VJ+R0PFWxLuEGoSQKr/QtUcTI8VnAQuVfmPiXCnk9UhK2VHAA6/R HNmlGcCu0j4eYt6Lc4RPKHTaHKS50pNSbtyg3p0Oq2fZZ5h2+NrXIzqtLkEDds1DY8T7 DsNFldVezKLRwWyoc0/JxAAinhYREQjzZZpP6j7/U0ea1Gs5tdCFtfzHIXDYVW5hivD6 yYYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:delivered-to; bh=9hk97bVPtQh0cQf81UgueNKVopj8i9m0FqLeCKxA+W0=; b=kwo2ae/lOL0e1L/9x0l3yhq54ytZk4xzxp4WBLZzB1Q0vZUFozJ43JI50pVjzQw9yt UhwU/Aj4eMPQuAnBM56OSiCS+gd0vT8P8Z3iTZfaD0X2hf8vZMKvrBst2qF/00l7yF4x CUON1QFxnGDnFdTO2HRrNwYt/ZY8V1rQfTBn7AQV4kufmS/yahIlSlfZ9iRqLFfjj00j HrpgNmcRn3XlqitdsvxV3+g5zfFcL4f9OH/AfIPjwt0zt9mbplFDilI03EHYgXNVrV79 MNeGrKre+d90Nb7+CENctTHdX0TZfMEoZ3rGX9quag9WonGUJcIjZY6+h2RxljAHyVlB cKlQ== ARC-Authentication-Results: i=1; mx.google.com; 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 w19si3692453edc.225.2022.02.17.01.13.52; Thu, 17 Feb 2022 01:13:57 -0800 (PST) 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; 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 C24D768B0F9; Thu, 17 Feb 2022 11:13:31 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AB69F68AF73 for ; Thu, 17 Feb 2022 11:13:23 +0200 (EET) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id 1049124017C for ; Thu, 17 Feb 2022 10:13:23 +0100 (CET) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id Y1QzNRaguCGk for ; Thu, 17 Feb 2022 10:13:21 +0100 (CET) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id 849EE240179 for ; Thu, 17 Feb 2022 10:13:21 +0100 (CET) Received: by libav.khirnov.net (Postfix, from userid 1000) id 95DFF3A0189; Thu, 17 Feb 2022 10:13:17 +0100 (CET) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Thu, 17 Feb 2022 10:13:15 +0100 Message-Id: <20220217091315.21092-2-anton@khirnov.net> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220217091315.21092-1-anton@khirnov.net> References: <20220217091315.21092-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] lavc/dxva: properly namespace public symbols 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: DKov8C9OwYhq --- doc/APIchanges | 6 ++++++ libavcodec/dxva2.c | 4 ++-- libavcodec/dxva2.h | 18 ++++++++++++++---- libavcodec/dxva2_h264.c | 8 ++++---- libavcodec/dxva2_internal.h | 4 ++-- libavcodec/version.h | 3 ++- 6 files changed, 30 insertions(+), 13 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index ea402f6118..3447872752 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -14,6 +14,12 @@ libavutil: 2021-04-27 API changes, most recent first: +2022-02-xx - xxxxxxxxxx - lavc 59.22.100 - dxva2.h + Rename struct dxva_context to (typedeffed) AVDXVA2DecodeContext. + Rename FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG and FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO + to AV_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG and AV_DXVA2_WORKAROUND_INTEL_CLEARVIDEO, + respectively. The previous names are now deprecated. + 2022-02-07 - xxxxxxxxxx - lavu 57.21.100 - fifo.h Deprecate AVFifoBuffer and the API around it, namely av_fifo_alloc(), av_fifo_alloc_array(), av_fifo_free(), av_fifo_freep(), av_fifo_reset(), diff --git a/libavcodec/dxva2.c b/libavcodec/dxva2.c index c31a71ba3b..ab6995940b 100644 --- a/libavcodec/dxva2.c +++ b/libavcodec/dxva2.c @@ -299,7 +299,7 @@ static int dxva_get_decoder_guid(AVCodecContext *avctx, void *service, void *sur } if (IsEqualGUID(decoder_guid, &ff_DXVADDI_Intel_ModeH264_E)) - sctx->workaround |= FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO; + sctx->workaround |= AV_DXVA2_WORKAROUND_INTEL_CLEARVIDEO; return 0; } @@ -704,7 +704,7 @@ int ff_dxva2_decode_init(AVCodecContext *avctx) #if CONFIG_DXVA2 if (sctx->pix_fmt == AV_PIX_FMT_DXVA2_VLD) { AVDXVA2FramesContext *frames_hwctx = frames_ctx->hwctx; - struct dxva_context *dxva_ctx = &sctx->ctx.dxva2; + AVDXVA2DecodeContext *dxva_ctx = &sctx->ctx.dxva2; ff_dxva2_lock(avctx); ret = dxva2_create_decoder(avctx); diff --git a/libavcodec/dxva2.h b/libavcodec/dxva2.h index 22c93992f2..7892da693c 100644 --- a/libavcodec/dxva2.h +++ b/libavcodec/dxva2.h @@ -45,8 +45,13 @@ * @{ */ -#define FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG 1 ///< Work around for DXVA2 and old UVD/UVD+ ATI video cards -#define FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO 2 ///< Work around for DXVA2 and old Intel GPUs with ClearVideo interface +#define AV_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG 1 ///< Work around for DXVA2 and old UVD/UVD+ ATI video cards +#define AV_DXVA2_WORKAROUND_INTEL_CLEARVIDEO 2 ///< Work around for DXVA2 and old Intel GPUs with ClearVideo interface + +#if FF_API_DXVA_NAMING +#define FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG AV_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG +#define FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO AV_DXVA2_WORKAROUND_INTEL_CLEARVIDEO +#endif /** * This structure is used to provides the necessary configurations and data @@ -54,7 +59,12 @@ * * The application must make it available as AVCodecContext.hwaccel_context. */ -struct dxva_context { +typedef struct +#if FF_API_DXVA_NAMING +dxva_context +#else +AVDXVA2DecodeContext +{ /** * DXVA2 decoder object */ @@ -84,7 +94,7 @@ struct dxva_context { * Private to the FFmpeg AVHWAccel implementation */ unsigned report_id; -}; +} AVDXVA2DecodeContext; /** * @} diff --git a/libavcodec/dxva2_h264.c b/libavcodec/dxva2_h264.c index 489b9bb0f5..f4d6098e0e 100644 --- a/libavcodec/dxva2_h264.c +++ b/libavcodec/dxva2_h264.c @@ -119,9 +119,9 @@ static void fill_picture_parameters(const AVCodecContext *avctx, DXVAContext *ct pp->bit_depth_luma_minus8 = sps->bit_depth_luma - 8; pp->bit_depth_chroma_minus8 = sps->bit_depth_chroma - 8; - if (DXVA_CONTEXT_WORKAROUND(avctx, ctx) & FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG) + if (DXVA_CONTEXT_WORKAROUND(avctx, ctx) & AV_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG) pp->Reserved16Bits = 0; - else if (DXVA_CONTEXT_WORKAROUND(avctx, ctx) & FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO) + else if (DXVA_CONTEXT_WORKAROUND(avctx, ctx) & AV_DXVA2_WORKAROUND_INTEL_CLEARVIDEO) pp->Reserved16Bits = 0x34c; else pp->Reserved16Bits = 3; /* FIXME is there a way to detect the right mode ? */ @@ -166,7 +166,7 @@ static void fill_scaling_lists(const AVCodecContext *avctx, DXVAContext *ctx, co const PPS *pps = h->ps.pps; unsigned i, j; memset(qm, 0, sizeof(*qm)); - if (DXVA_CONTEXT_WORKAROUND(avctx, ctx) & FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG) { + if (DXVA_CONTEXT_WORKAROUND(avctx, ctx) & AV_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG) { for (i = 0; i < 6; i++) for (j = 0; j < 16; j++) qm->bScalingLists4x4[i][j] = pps->scaling_matrix4[i][j]; @@ -249,7 +249,7 @@ static void fill_slice_long(AVCodecContext *avctx, DXVA_Slice_H264_Long *slice, const H264Picture *r = sl->ref_list[list][i].parent; unsigned plane; unsigned index; - if (DXVA_CONTEXT_WORKAROUND(avctx, ctx) & FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO) + if (DXVA_CONTEXT_WORKAROUND(avctx, ctx) & AV_DXVA2_WORKAROUND_INTEL_CLEARVIDEO) index = ff_dxva2_get_surface_index(avctx, ctx, r->f); else index = get_refpic_index(pp, ff_dxva2_get_surface_index(avctx, ctx, r->f)); diff --git a/libavcodec/dxva2_internal.h b/libavcodec/dxva2_internal.h index d14b696a3b..987d89a2cf 100644 --- a/libavcodec/dxva2_internal.h +++ b/libavcodec/dxva2_internal.h @@ -60,14 +60,14 @@ typedef union { struct AVD3D11VAContext d3d11va; #endif #if CONFIG_DXVA2 - struct dxva_context dxva2; + AVDXVA2DecodeContext dxva2; #endif } DXVAContext; typedef struct FFDXVASharedContext { AVBufferRef *decoder_ref; - // FF_DXVA2_WORKAROUND_* flags + // AV_DXVA2_WORKAROUND_* flags uint64_t workaround; // E.g. AV_PIX_FMT_D3D11 (same as AVCodecContext.pix_fmt, except during init) diff --git a/libavcodec/version.h b/libavcodec/version.h index d900503954..2da6b21497 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -28,7 +28,7 @@ #include "libavutil/version.h" #define LIBAVCODEC_VERSION_MAJOR 59 -#define LIBAVCODEC_VERSION_MINOR 21 +#define LIBAVCODEC_VERSION_MINOR 22 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ @@ -65,5 +65,6 @@ #define FF_API_SUB_TEXT_FORMAT (LIBAVCODEC_VERSION_MAJOR < 60) #define FF_API_MJPEG_PRED (LIBAVCODEC_VERSION_MAJOR < 60) #define FF_API_IDCT_NONE (LIBAVCODEC_VERSION_MAJOR < 60) +#define FF_API_DXVA_NAMING (LIBAVCODEC_VERSION_MAJOR < 60) #endif /* AVCODEC_VERSION_H */