From: Steve Lhomme <[email protected]>
---
avconv_d3d11va.c | 24 +++++++++++++-----------
avconv_dxva2.c | 22 +++++++++++-----------
2 files changed, 24 insertions(+), 22 deletions(-)
diff --git a/avconv_d3d11va.c b/avconv_d3d11va.c
index 4799017..ca7f2e8 100644
--- a/avconv_d3d11va.c
+++ b/avconv_d3d11va.c
@@ -59,16 +59,18 @@ typedef ID3D11VideoDevice *DXVA_DECODER_SERVICE;
static int d3d11va_get_decoder_configuration(AVCodecContext *s,
const D3D11_VIDEO_DECODER_DESC
*desc,
- D3D11_VIDEO_DECODER_CONFIG
*config)
+ DXVA_DECODER_CONFIG *config)
{
InputStream *ist = s->opaque;
int loglevel = (ist->hwaccel_id == HWACCEL_AUTO) ? AV_LOG_VERBOSE :
AV_LOG_ERROR;
- D3D11VAContext *ctx = ist->hwaccel_ctx;
+ DXVA_CONTEXT *ctx;
unsigned cfg_count = 0;
- D3D11_VIDEO_DECODER_CONFIG *cfg_list = NULL;
+ DXVA_DECODER_CONFIG *cfg_list = NULL;
HRESULT hr;
int i, ret;
- AVHWDeviceContext *device_ctx =
(AVHWDeviceContext*)ctx->hw_device_ctx->data;
+
+ ctx = ist->hwaccel_ctx;
+ AVHWDeviceContext *device_ctx =
(AVHWDeviceContext*)ctx->hw_device_ctx->data;
AVD3D11VADeviceContext *device_hwctx = device_ctx->hwctx;
hr =
ID3D11VideoDevice_GetVideoDecoderConfigCount(device_hwctx->video_device, desc,
&cfg_count);
@@ -77,7 +79,7 @@ static int d3d11va_get_decoder_configuration(AVCodecContext
*s,
return AVERROR(EINVAL);
}
- cfg_list = av_malloc(cfg_count * sizeof(D3D11_VIDEO_DECODER_CONFIG));
+ cfg_list = av_malloc(cfg_count * sizeof(DXVA_DECODER_CONFIG));
if (cfg_list == NULL)
return AVERROR(ENOMEM);
for (i = 0; i < cfg_count; i++) {
@@ -94,7 +96,7 @@ static int d3d11va_get_decoder_configuration(AVCodecContext
*s,
return ret;
}
-static int d3d11va_validate_output(ID3D11VideoDevice *service, GUID guid,
DXGI_FORMAT surface_format)
+static int d3d11va_validate_output(DXVA_DECODER_SERVICE service, GUID guid,
DXVA_SURFACE_FORMAT surface_format)
{
HRESULT hr;
BOOL is_supported = FALSE;
@@ -106,15 +108,15 @@ static int d3d11va_create_decoder(AVCodecContext *s)
{
InputStream *ist = s->opaque;
int loglevel = (ist->hwaccel_id == HWACCEL_AUTO) ? AV_LOG_VERBOSE :
AV_LOG_ERROR;
- D3D11VAContext *ctx = ist->hwaccel_ctx;
- AVD3D11VAContext *dxva_ctx = s->hwaccel_context;
+ DXVA_CONTEXT *ctx = ist->hwaccel_ctx;
+ DXVA_AV_CONTEXT *dxva_ctx = s->hwaccel_context;
GUID *guid_list;
unsigned guid_count, i;
GUID device_guid;
- const DXGI_FORMAT surface_format = s->sw_pix_fmt == AV_PIX_FMT_YUV420P10 ?
- DXGI_FORMAT_P010 : DXGI_FORMAT_NV12;
+ const DXVA_SURFACE_FORMAT surface_format = s->sw_pix_fmt ==
AV_PIX_FMT_YUV420P10 ?
+ DXGI_FORMAT_P010 :
DXGI_FORMAT_NV12;
D3D11_VIDEO_DECODER_DESC desc = { 0 };
- D3D11_VIDEO_DECODER_CONFIG config;
+ DXVA_DECODER_CONFIG config;
HRESULT hr;
int ret;
diff --git a/avconv_dxva2.c b/avconv_dxva2.c
index 027285a..71d589d 100644
--- a/avconv_dxva2.c
+++ b/avconv_dxva2.c
@@ -68,7 +68,7 @@ DEFINE_GUID(IID_IDirectXVideoDecoderService,
0xfc51a551,0xd5e7,0x11d9,0xaf,0x55,
static void dxva2_uninit(AVCodecContext *s)
{
InputStream *ist = s->opaque;
- DXVA2Context *ctx = ist->hwaccel_ctx;
+ DXVA_CONTEXT *ctx = ist->hwaccel_ctx;
if (ctx->decoder_service)
IDirectXVideoDecoderService_Release(ctx->decoder_service);
@@ -80,7 +80,7 @@ static int dxva2_alloc(AVCodecContext *s)
{
InputStream *ist = s->opaque;
int loglevel = (ist->hwaccel_id == HWACCEL_AUTO) ? AV_LOG_VERBOSE :
AV_LOG_ERROR;
- DXVA2Context *ctx;
+ DXVA_CONTEXT *ctx;
HANDLE device_handle;
HRESULT hr;
@@ -119,13 +119,13 @@ fail:
static int dxva2_get_decoder_configuration(AVCodecContext *s, const GUID
*device_guid,
const DXVA2_VideoDesc *desc,
- DXVA2_ConfigPictureDecode *config)
+ DXVA_DECODER_CONFIG *config)
{
InputStream *ist = s->opaque;
int loglevel = (ist->hwaccel_id == HWACCEL_AUTO) ? AV_LOG_VERBOSE :
AV_LOG_ERROR;
- DXVA2Context *ctx = ist->hwaccel_ctx;
+ DXVA_CONTEXT *ctx = ist->hwaccel_ctx;
unsigned cfg_count;
- DXVA2_ConfigPictureDecode *cfg_list;
+ DXVA_DECODER_CONFIG *cfg_list;
HRESULT hr;
int ret;
@@ -140,7 +140,7 @@ static int dxva2_get_decoder_configuration(AVCodecContext
*s, const GUID *device
return ret;
}
-static int dxva2_validate_output(IDirectXVideoDecoderService *decoder_service,
GUID guid, D3DFORMAT surface_format)
+static int dxva2_validate_output(DXVA_DECODER_SERVICE decoder_service, GUID
guid, DXVA_SURFACE_FORMAT surface_format)
{
HRESULT hr;
int ret = 0;
@@ -164,15 +164,15 @@ static int dxva2_create_decoder(AVCodecContext *s)
{
InputStream *ist = s->opaque;
int loglevel = (ist->hwaccel_id == HWACCEL_AUTO) ? AV_LOG_VERBOSE :
AV_LOG_ERROR;
- DXVA2Context *ctx = ist->hwaccel_ctx;
- struct dxva_context *dxva_ctx = s->hwaccel_context;
+ DXVA_CONTEXT *ctx = ist->hwaccel_ctx;
+ DXVA_AV_CONTEXT *dxva_ctx = s->hwaccel_context;
GUID *guid_list;
unsigned guid_count;
GUID device_guid;
- const D3DFORMAT surface_format = s->sw_pix_fmt == AV_PIX_FMT_YUV420P10 ?
- MKTAG('P', '0', '1', '0') : MKTAG('N',
'V', '1', '2');
+ const DXVA_SURFACE_FORMAT surface_format = s->sw_pix_fmt ==
AV_PIX_FMT_YUV420P10 ?
+ MKTAG('P', '0', '1', '0') :
MKTAG('N', 'V', '1', '2');
DXVA2_VideoDesc desc = { 0 };
- DXVA2_ConfigPictureDecode config;
+ DXVA_DECODER_CONFIG config;
HRESULT hr;
int ret;
--
2.10.2
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel