From patchwork Wed Aug 22 23:44:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 10065 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:12c4:0:0:0:0:0 with SMTP id 65-v6csp1441229jap; Wed, 22 Aug 2018 16:46:35 -0700 (PDT) X-Google-Smtp-Source: AA+uWPzCmRKfx7pbq6jKeB0F1wnGbJnB4yd0NAkms/fWUmv539fU84DXRzVtV4yNAZeRhxekYzsv X-Received: by 2002:adf:c5c5:: with SMTP id v5-v6mr36024114wrg.30.1534981595568; Wed, 22 Aug 2018 16:46:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534981595; cv=none; d=google.com; s=arc-20160816; b=YPbUv4jbxJf5LVXtoaA6Q0WWcO9j9w3rG4SwXeEc4ibKCMfcwYatPihnaYGKQc76yr MrV7PMnH0t+jHyhUihE7ZxnYjnp8iN0EEqQB35Vcv4VJtMQyNoHpRXreJIWZrPh9qKza TpbqEIeZF3YUNVqF3ljDUTliHEgVoVSMERfcOAwKtHP0KOFOyCBM7hVxCN+CFjMFt2dB nEatoSlfleSmwQBV0H0N3Y/xsWSpuN4AveJkYDqUPCWuuOG3eOxN+Tmjy1IN4144qHxH VcmQGkHB4+1b3qo0b5z32JZlHGrbhUmCbey4+nJ7J3tv9MhNnbXBm8ooQWG23aK9FPso 50kg== 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:arc-authentication-results; bh=pxjd6ei0pQoT9bKfzdHrirGdlhkNwq/jAWanbiZ6OwU=; b=kAZOcokvipr7P6DSYxoPGu8bYGhHgliwmJxcPKSnpgUE+ti1omFaHLJWFC7KV0yOXg Yp9i6g/lt6UZ/e4Qz2Anp6k+ZIMjl3dliJ44d5Dg/gOq3hI4bU+Bb2hMX3zxWqnQQ7E9 6X3YrY1UNuphj1ubunHaMKJG/I/obY7b17GFuFFx9jD+Hdh0t4No2+IotmRTyH5gXf/3 TPPrXQEUwWkxEZNHD5g4BkviEAVWuN7ghSBX50+XOwKkwX8xXtYBlmJmsWdfKDJ18D8R HTJc9YQ+KoLdIo1TzuZfVkQrY0WmxRQs1Wl5j0bDdtM4544JtN3dcIC0JgifFSjQetMI lkLQ== 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=1y46Yl2K; 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 b2-v6si2286161wme.49.2018.08.22.16.46.35; Wed, 22 Aug 2018 16:46:35 -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=1y46Yl2K; 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 5A42C689BF8; Thu, 23 Aug 2018 02:45:34 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B1E8A689C39 for ; Thu, 23 Aug 2018 02:45:26 +0300 (EEST) Received: by mail-wr1-f42.google.com with SMTP id n2-v6so2985882wrw.7 for ; Wed, 22 Aug 2018 16:45:28 -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=ECmejrxEaFGfAesSlSDXHC2aWzAZvx+9Q5nd02Gt7oY=; b=1y46Yl2KMyEtOJBzbOSGOaqM4UdaGMIUn1qi4r80PZf8KU8zijkZVw0ZzX97mIltys gtDfGZhjNIlTuC/xBlEGgLASw+YU9w0ckHf2xbcv1mFQrv4p2lJz7KNbuP7g+teWJemo Bsp5xLsDRuWTxsyGBm8X3FtsmE/3NZh+7g+g6BlVxQh1tlm4q//8PcDxYb6RAXZlZC5w mcx1ma8a08ez+wMw2f462kQTT14WA5UK4J7BRmMIUhBr1jozS5VYkdQ8N1+wAb6OM5YF zbDYu36DYlJ+0gFDDu3XokepdOsN51BLVzmDT/+Vf2vUYbiV6HYESyuROWs+L8ype/EW nEEQ== 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=ECmejrxEaFGfAesSlSDXHC2aWzAZvx+9Q5nd02Gt7oY=; b=mUYRBeaNC1BkwkNy7/Rxjys6a5CHJ9B++khjI2+WvEtHf9nzXIhsa6M7qJM8Lddfib dmGpyEea/hci3FeNg3JwIpHaT5bteNdQNVLtp5PAH+YZTAhLStByeZSpi7962T3L/M06 GsknCu1dqc7N7R1yV1f4Y50knSUY3zyDtf/uIna4R785UTZMTBWXsrliReCTVWfr8YzD OPc46I5Bs7L31B4334/ISdICzTmFHSJpOwbTpzHurhsICLO7ctvZY7+nWIpmOu7TZYVY 22JyygmIIk4mOzorY7kkRwF9sbHHylnJEF50uLdfoIjXpIlS+VtUq+PhdXSrVcXDHc6V ab8Q== X-Gm-Message-State: APzg51COocjsE4TmGnNHScOO8/hSijjQGAgK0KJIoiLEoWcow4YIG9K3 B9lxt1RIRbU2bzSJmGH50tfMVM/DA6I= X-Received: by 2002:a5d:494c:: with SMTP id r12-v6mr2375958wrs.244.1534981527331; Wed, 22 Aug 2018 16:45:27 -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 x82-v6sm8184537wmd.11.2018.08.22.16.45.26 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Aug 2018 16:45:26 -0700 (PDT) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Aug 2018 00:44:40 +0100 Message-Id: <20180822234514.10571-8-sw@jkqxz.net> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180822234514.10571-1-sw@jkqxz.net> References: <20180822234514.10571-1-sw@jkqxz.net> Subject: [FFmpeg-devel] [PATCH v3 07/41] vaapi_encode: Remove common priv_data and options fields 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" The codec-specific context now contains both the common context and the codec-specific options directly. --- libavcodec/vaapi_encode.c | 10 ---------- libavcodec/vaapi_encode.h | 11 ----------- libavcodec/vaapi_encode_h264.c | 2 -- libavcodec/vaapi_encode_h265.c | 2 -- libavcodec/vaapi_encode_mjpeg.c | 2 -- libavcodec/vaapi_encode_mpeg2.c | 2 -- libavcodec/vaapi_encode_vp8.c | 2 -- libavcodec/vaapi_encode_vp9.c | 2 -- 8 files changed, 33 deletions(-) diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c index 910fd1b365..cedf3d3549 100644 --- a/libavcodec/vaapi_encode.c +++ b/libavcodec/vaapi_encode.c @@ -1372,17 +1372,9 @@ av_cold int ff_vaapi_encode_init(AVCodecContext *avctx) return AVERROR(EINVAL); } - ctx->codec_options = ctx->codec_options_data; - ctx->va_config = VA_INVALID_ID; ctx->va_context = VA_INVALID_ID; - ctx->priv_data = av_mallocz(ctx->codec->priv_data_size); - if (!ctx->priv_data) { - err = AVERROR(ENOMEM); - goto fail; - } - ctx->input_frames_ref = av_buffer_ref(avctx->hw_frames_ctx); if (!ctx->input_frames_ref) { err = AVERROR(ENOMEM); @@ -1583,7 +1575,5 @@ av_cold int ff_vaapi_encode_close(AVCodecContext *avctx) av_buffer_unref(&ctx->input_frames_ref); av_buffer_unref(&ctx->device_ref); - av_freep(&ctx->priv_data); - return 0; } diff --git a/libavcodec/vaapi_encode.h b/libavcodec/vaapi_encode.h index bcb9d57371..c7370a17e2 100644 --- a/libavcodec/vaapi_encode.h +++ b/libavcodec/vaapi_encode.h @@ -113,9 +113,6 @@ typedef struct VAAPIEncodeContext { // Everything above this point must be set before calling // ff_vaapi_encode_init(). - // Codec-specific state. - void *priv_data; - // Configuration attributes to use when creating va_config. VAConfigAttrib config_attributes[MAX_CONFIG_ATTRIBUTES]; int nb_config_attributes; @@ -205,18 +202,10 @@ typedef struct VAAPIEncodeContext { int gop_counter; int p_counter; int end_of_stream; - - // Codec-local options are allocated to follow this structure in - // memory (in the AVCodec definition, set priv_data_size to - // sizeof(VAAPIEncodeContext) + sizeof(VAAPIEncodeFooOptions)). - void *codec_options; - char codec_options_data[0]; } VAAPIEncodeContext; typedef struct VAAPIEncodeType { - size_t priv_data_size; - // Perform any extra codec-specific configuration after the // codec context is initialised (set up the private data and // add any necessary global parameters). diff --git a/libavcodec/vaapi_encode_h264.c b/libavcodec/vaapi_encode_h264.c index 9be05b20a5..b65c9943e5 100644 --- a/libavcodec/vaapi_encode_h264.c +++ b/libavcodec/vaapi_encode_h264.c @@ -867,8 +867,6 @@ static av_cold int vaapi_encode_h264_configure(AVCodecContext *avctx) } static const VAAPIEncodeType vaapi_encode_type_h264 = { - .priv_data_size = sizeof(VAAPIEncodeH264Context), - .configure = &vaapi_encode_h264_configure, .sequence_params_size = sizeof(VAEncSequenceParameterBufferH264), diff --git a/libavcodec/vaapi_encode_h265.c b/libavcodec/vaapi_encode_h265.c index 757fd74c30..8f191efc4b 100644 --- a/libavcodec/vaapi_encode_h265.c +++ b/libavcodec/vaapi_encode_h265.c @@ -1026,8 +1026,6 @@ static av_cold int vaapi_encode_h265_configure(AVCodecContext *avctx) } static const VAAPIEncodeType vaapi_encode_type_h265 = { - .priv_data_size = sizeof(VAAPIEncodeH265Context), - .configure = &vaapi_encode_h265_configure, .sequence_params_size = sizeof(VAEncSequenceParameterBufferHEVC), diff --git a/libavcodec/vaapi_encode_mjpeg.c b/libavcodec/vaapi_encode_mjpeg.c index 983c77d194..481981a71c 100644 --- a/libavcodec/vaapi_encode_mjpeg.c +++ b/libavcodec/vaapi_encode_mjpeg.c @@ -360,8 +360,6 @@ static av_cold int vaapi_encode_mjpeg_configure(AVCodecContext *avctx) } static const VAAPIEncodeType vaapi_encode_type_mjpeg = { - .priv_data_size = sizeof(VAAPIEncodeMJPEGContext), - .configure = &vaapi_encode_mjpeg_configure, .picture_params_size = sizeof(VAEncPictureParameterBufferJPEG), diff --git a/libavcodec/vaapi_encode_mpeg2.c b/libavcodec/vaapi_encode_mpeg2.c index ae77a9ce76..5577fa9e04 100644 --- a/libavcodec/vaapi_encode_mpeg2.c +++ b/libavcodec/vaapi_encode_mpeg2.c @@ -553,8 +553,6 @@ static av_cold int vaapi_encode_mpeg2_configure(AVCodecContext *avctx) } static const VAAPIEncodeType vaapi_encode_type_mpeg2 = { - .priv_data_size = sizeof(VAAPIEncodeMPEG2Context), - .configure = &vaapi_encode_mpeg2_configure, .sequence_params_size = sizeof(VAEncSequenceParameterBufferMPEG2), diff --git a/libavcodec/vaapi_encode_vp8.c b/libavcodec/vaapi_encode_vp8.c index ab5e0b2dda..6cdd30abda 100644 --- a/libavcodec/vaapi_encode_vp8.c +++ b/libavcodec/vaapi_encode_vp8.c @@ -178,8 +178,6 @@ static av_cold int vaapi_encode_vp8_configure(AVCodecContext *avctx) static const VAAPIEncodeType vaapi_encode_type_vp8 = { .configure = &vaapi_encode_vp8_configure, - .priv_data_size = sizeof(VAAPIEncodeVP8Context), - .sequence_params_size = sizeof(VAEncSequenceParameterBufferVP8), .init_sequence_params = &vaapi_encode_vp8_init_sequence_params, diff --git a/libavcodec/vaapi_encode_vp9.c b/libavcodec/vaapi_encode_vp9.c index 6e62213bc9..bf99597e4c 100644 --- a/libavcodec/vaapi_encode_vp9.c +++ b/libavcodec/vaapi_encode_vp9.c @@ -206,8 +206,6 @@ static av_cold int vaapi_encode_vp9_configure(AVCodecContext *avctx) static const VAAPIEncodeType vaapi_encode_type_vp9 = { .configure = &vaapi_encode_vp9_configure, - .priv_data_size = sizeof(VAAPIEncodeVP9Context), - .sequence_params_size = sizeof(VAEncSequenceParameterBufferVP9), .init_sequence_params = &vaapi_encode_vp9_init_sequence_params,