mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-08 13:22:53 +02:00
avcodec/vaapi: Remove old and deprecated VAAPI context and header
Deprecated in 851960f6f8
.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
337f777f37
commit
e3d993fab0
@ -19,7 +19,6 @@ HEADERS = ac3_parser.h \
|
||||
mediacodec.h \
|
||||
packet.h \
|
||||
qsv.h \
|
||||
vaapi.h \
|
||||
vdpau.h \
|
||||
version.h \
|
||||
videotoolbox.h \
|
||||
|
@ -1522,8 +1522,7 @@ typedef struct AVCodecContext {
|
||||
* For some hardware accelerators, a global context needs to be
|
||||
* provided by the user. In that case, this holds display-dependent
|
||||
* data FFmpeg cannot instantiate itself. Please refer to the
|
||||
* FFmpeg HW accelerator documentation to know how to fill this
|
||||
* is. e.g. for VA API, this is a struct vaapi_context.
|
||||
* FFmpeg HW accelerator documentation to know how to fill this.
|
||||
* - encoding: unused
|
||||
* - decoding: Set by user
|
||||
*/
|
||||
|
@ -1,86 +0,0 @@
|
||||
/*
|
||||
* Video Acceleration API (shared data between FFmpeg and the video player)
|
||||
* HW decode acceleration for MPEG-2, MPEG-4, H.264 and VC-1
|
||||
*
|
||||
* Copyright (C) 2008-2009 Splitted-Desktop Systems
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
* FFmpeg is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* FFmpeg is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with FFmpeg; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef AVCODEC_VAAPI_H
|
||||
#define AVCODEC_VAAPI_H
|
||||
|
||||
/**
|
||||
* @file
|
||||
* @ingroup lavc_codec_hwaccel_vaapi
|
||||
* Public libavcodec VA API header.
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#include "libavutil/attributes.h"
|
||||
#include "version.h"
|
||||
|
||||
#if FF_API_STRUCT_VAAPI_CONTEXT
|
||||
|
||||
/**
|
||||
* @defgroup lavc_codec_hwaccel_vaapi VA API Decoding
|
||||
* @ingroup lavc_codec_hwaccel
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* This structure is used to share data between the FFmpeg library and
|
||||
* the client video application.
|
||||
* This shall be zero-allocated and available as
|
||||
* AVCodecContext.hwaccel_context. All user members can be set once
|
||||
* during initialization or through each AVCodecContext.get_buffer()
|
||||
* function call. In any case, they must be valid prior to calling
|
||||
* decoding functions.
|
||||
*
|
||||
* Deprecated: use AVCodecContext.hw_frames_ctx instead.
|
||||
*/
|
||||
struct attribute_deprecated vaapi_context {
|
||||
/**
|
||||
* Window system dependent data
|
||||
*
|
||||
* - encoding: unused
|
||||
* - decoding: Set by user
|
||||
*/
|
||||
void *display;
|
||||
|
||||
/**
|
||||
* Configuration ID
|
||||
*
|
||||
* - encoding: unused
|
||||
* - decoding: Set by user
|
||||
*/
|
||||
uint32_t config_id;
|
||||
|
||||
/**
|
||||
* Context ID (video decode pipeline)
|
||||
*
|
||||
* - encoding: unused
|
||||
* - decoding: Set by user
|
||||
*/
|
||||
uint32_t context_id;
|
||||
};
|
||||
|
||||
/* @} */
|
||||
|
||||
#endif /* FF_API_STRUCT_VAAPI_CONTEXT */
|
||||
|
||||
#endif /* AVCODEC_VAAPI_H */
|
@ -640,46 +640,6 @@ int ff_vaapi_decode_init(AVCodecContext *avctx)
|
||||
ctx->va_config = VA_INVALID_ID;
|
||||
ctx->va_context = VA_INVALID_ID;
|
||||
|
||||
#if FF_API_STRUCT_VAAPI_CONTEXT
|
||||
if (avctx->hwaccel_context) {
|
||||
av_log(avctx, AV_LOG_WARNING, "Using deprecated struct "
|
||||
"vaapi_context in decode.\n");
|
||||
|
||||
ctx->have_old_context = 1;
|
||||
ctx->old_context = avctx->hwaccel_context;
|
||||
|
||||
// Really we only want the VAAPI device context, but this
|
||||
// allocates a whole generic device context because we don't
|
||||
// have any other way to determine how big it should be.
|
||||
ctx->device_ref =
|
||||
av_hwdevice_ctx_alloc(AV_HWDEVICE_TYPE_VAAPI);
|
||||
if (!ctx->device_ref) {
|
||||
err = AVERROR(ENOMEM);
|
||||
goto fail;
|
||||
}
|
||||
ctx->device = (AVHWDeviceContext*)ctx->device_ref->data;
|
||||
ctx->hwctx = ctx->device->hwctx;
|
||||
|
||||
ctx->hwctx->display = ctx->old_context->display;
|
||||
|
||||
// The old VAAPI decode setup assumed this quirk was always
|
||||
// present, so set it here to avoid the behaviour changing.
|
||||
ctx->hwctx->driver_quirks =
|
||||
AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS;
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
#if FF_API_STRUCT_VAAPI_CONTEXT
|
||||
if (ctx->have_old_context) {
|
||||
ctx->va_config = ctx->old_context->config_id;
|
||||
ctx->va_context = ctx->old_context->context_id;
|
||||
|
||||
av_log(avctx, AV_LOG_DEBUG, "Using user-supplied decoder "
|
||||
"context: %#x/%#x.\n", ctx->va_config, ctx->va_context);
|
||||
} else {
|
||||
#endif
|
||||
|
||||
err = ff_decode_get_hw_frames_ctx(avctx, AV_HWDEVICE_TYPE_VAAPI);
|
||||
if (err < 0)
|
||||
goto fail;
|
||||
@ -709,9 +669,6 @@ int ff_vaapi_decode_init(AVCodecContext *avctx)
|
||||
|
||||
av_log(avctx, AV_LOG_DEBUG, "Decode context initialised: "
|
||||
"%#x/%#x.\n", ctx->va_config, ctx->va_context);
|
||||
#if FF_API_STRUCT_VAAPI_CONTEXT
|
||||
}
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
||||
@ -725,12 +682,6 @@ int ff_vaapi_decode_uninit(AVCodecContext *avctx)
|
||||
VAAPIDecodeContext *ctx = avctx->internal->hwaccel_priv_data;
|
||||
VAStatus vas;
|
||||
|
||||
#if FF_API_STRUCT_VAAPI_CONTEXT
|
||||
if (ctx->have_old_context) {
|
||||
av_buffer_unref(&ctx->device_ref);
|
||||
} else {
|
||||
#endif
|
||||
|
||||
if (ctx->va_context != VA_INVALID_ID) {
|
||||
vas = vaDestroyContext(ctx->hwctx->display, ctx->va_context);
|
||||
if (vas != VA_STATUS_SUCCESS) {
|
||||
@ -748,9 +699,5 @@ int ff_vaapi_decode_uninit(AVCodecContext *avctx)
|
||||
}
|
||||
}
|
||||
|
||||
#if FF_API_STRUCT_VAAPI_CONTEXT
|
||||
}
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -27,11 +27,6 @@
|
||||
|
||||
#include "avcodec.h"
|
||||
|
||||
#include "version.h"
|
||||
#if FF_API_STRUCT_VAAPI_CONTEXT
|
||||
#include "vaapi.h"
|
||||
#endif
|
||||
|
||||
static inline VASurfaceID ff_vaapi_get_surface_id(AVFrame *pic)
|
||||
{
|
||||
return (uintptr_t)pic->data[3];
|
||||
@ -56,14 +51,6 @@ typedef struct VAAPIDecodeContext {
|
||||
VAConfigID va_config;
|
||||
VAContextID va_context;
|
||||
|
||||
#if FF_API_STRUCT_VAAPI_CONTEXT
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
int have_old_context;
|
||||
struct vaapi_context *old_context;
|
||||
AVBufferRef *device_ref;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
AVHWDeviceContext *device;
|
||||
AVVAAPIDeviceContext *hwctx;
|
||||
|
||||
|
@ -54,9 +54,6 @@
|
||||
#ifndef FF_API_CODED_FRAME
|
||||
#define FF_API_CODED_FRAME (LIBAVCODEC_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
#ifndef FF_API_STRUCT_VAAPI_CONTEXT
|
||||
#define FF_API_STRUCT_VAAPI_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
#ifndef FF_API_UNSANITIZED_BITRATES
|
||||
#define FF_API_UNSANITIZED_BITRATES (LIBAVCODEC_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user