Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
Commits
94d07b31
Commit
94d07b31
authored
May 25, 2015
by
Michael Niedermayer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avcodec/dxva2: Fix build without D3D11
Signed-off-by:
Michael Niedermayer
<
michaelni@gmx.at
>
parent
947b74ee
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
1 deletion
+21
-1
dxva2.c
libavcodec/dxva2.c
+2
-0
dxva2_internal.h
libavcodec/dxva2_internal.h
+19
-1
No files found.
libavcodec/dxva2.c
View file @
94d07b31
...
@@ -132,7 +132,9 @@ int ff_dxva2_common_end_frame(AVCodecContext *avctx, AVFrame *frame,
...
@@ -132,7 +132,9 @@ int ff_dxva2_common_end_frame(AVCodecContext *avctx, AVFrame *frame,
{
{
AVDXVAContext
*
ctx
=
avctx
->
hwaccel_context
;
AVDXVAContext
*
ctx
=
avctx
->
hwaccel_context
;
unsigned
buffer_count
=
0
;
unsigned
buffer_count
=
0
;
#if CONFIG_D3D11VA
D3D11_VIDEO_DECODER_BUFFER_DESC
buffer11
[
4
];
D3D11_VIDEO_DECODER_BUFFER_DESC
buffer11
[
4
];
#endif
DXVA2_DecodeBufferDesc
buffer2
[
4
];
DXVA2_DecodeBufferDesc
buffer2
[
4
];
DECODER_BUFFER_DESC
*
buffer
,
*
buffer_slice
;
DECODER_BUFFER_DESC
*
buffer
,
*
buffer_slice
;
int
result
,
runs
=
0
;
int
result
,
runs
=
0
;
...
...
libavcodec/dxva2_internal.h
View file @
94d07b31
...
@@ -28,7 +28,11 @@
...
@@ -28,7 +28,11 @@
#include "config.h"
#include "config.h"
#include "dxva2.h"
#include "dxva2.h"
#if CONFIG_D3D11VA
#include "d3d11va.h"
#include "d3d11va.h"
#endif
#if HAVE_DXVA_H
#if HAVE_DXVA_H
#include <dxva.h>
#include <dxva.h>
#endif
#endif
...
@@ -39,13 +43,16 @@
...
@@ -39,13 +43,16 @@
typedef
void
DECODER_BUFFER_DESC
;
typedef
void
DECODER_BUFFER_DESC
;
typedef
union
{
typedef
union
{
#if CONFIG_D3D11VA
struct
AVD3D11VAContext
d3d11va
;
struct
AVD3D11VAContext
d3d11va
;
#endif
struct
dxva_context
dxva2
;
struct
dxva_context
dxva2
;
}
AVDXVAContext
;
}
AVDXVAContext
;
#define D3D11VA_CONTEXT(ctx) (&ctx->d3d11va)
#define DXVA2_CONTEXT(ctx) (&ctx->dxva2)
#define DXVA2_CONTEXT(ctx) (&ctx->dxva2)
#if CONFIG_D3D11VA
#define D3D11VA_CONTEXT(ctx) (&ctx->d3d11va)
#define DXVA_CONTEXT_WORKAROUND(avctx, ctx) (avctx->pix_fmt == AV_PIX_FMT_D3D11VA_VLD ? ctx->d3d11va.workaround : ctx->dxva2.workaround)
#define DXVA_CONTEXT_WORKAROUND(avctx, ctx) (avctx->pix_fmt == AV_PIX_FMT_D3D11VA_VLD ? ctx->d3d11va.workaround : ctx->dxva2.workaround)
#define DXVA_CONTEXT_COUNT(avctx, ctx) (avctx->pix_fmt == AV_PIX_FMT_D3D11VA_VLD ? ctx->d3d11va.surface_count : ctx->dxva2.surface_count)
#define DXVA_CONTEXT_COUNT(avctx, ctx) (avctx->pix_fmt == AV_PIX_FMT_D3D11VA_VLD ? ctx->d3d11va.surface_count : ctx->dxva2.surface_count)
#define DXVA_CONTEXT_SURFACE(avctx, ctx, i) (avctx->pix_fmt == AV_PIX_FMT_D3D11VA_VLD ? ctx->d3d11va.surface[i] : ctx->dxva2.surface[i])
#define DXVA_CONTEXT_SURFACE(avctx, ctx, i) (avctx->pix_fmt == AV_PIX_FMT_D3D11VA_VLD ? ctx->d3d11va.surface[i] : ctx->dxva2.surface[i])
...
@@ -55,6 +62,17 @@ typedef union {
...
@@ -55,6 +62,17 @@ typedef union {
#define DXVA_CONTEXT_CFG_BITSTREAM(avctx, ctx) (avctx->pix_fmt == AV_PIX_FMT_D3D11VA_VLD ? ctx->d3d11va.cfg->ConfigBitstreamRaw : ctx->dxva2.cfg->ConfigBitstreamRaw)
#define DXVA_CONTEXT_CFG_BITSTREAM(avctx, ctx) (avctx->pix_fmt == AV_PIX_FMT_D3D11VA_VLD ? ctx->d3d11va.cfg->ConfigBitstreamRaw : ctx->dxva2.cfg->ConfigBitstreamRaw)
#define DXVA_CONTEXT_CFG_INTRARESID(avctx, ctx) (avctx->pix_fmt == AV_PIX_FMT_D3D11VA_VLD ? ctx->d3d11va.cfg->ConfigIntraResidUnsigned : ctx->dxva2.cfg->ConfigIntraResidUnsigned)
#define DXVA_CONTEXT_CFG_INTRARESID(avctx, ctx) (avctx->pix_fmt == AV_PIX_FMT_D3D11VA_VLD ? ctx->d3d11va.cfg->ConfigIntraResidUnsigned : ctx->dxva2.cfg->ConfigIntraResidUnsigned)
#define DXVA_CONTEXT_CFG_RESIDACCEL(avctx, ctx) (avctx->pix_fmt == AV_PIX_FMT_D3D11VA_VLD ? ctx->d3d11va.cfg->ConfigResidDiffAccelerator : ctx->dxva2.cfg->ConfigResidDiffAccelerator)
#define DXVA_CONTEXT_CFG_RESIDACCEL(avctx, ctx) (avctx->pix_fmt == AV_PIX_FMT_D3D11VA_VLD ? ctx->d3d11va.cfg->ConfigResidDiffAccelerator : ctx->dxva2.cfg->ConfigResidDiffAccelerator)
#else
#define DXVA_CONTEXT_WORKAROUND(avctx, ctx) (ctx->dxva2.workaround)
#define DXVA_CONTEXT_COUNT(avctx, ctx) (ctx->dxva2.surface_count)
#define DXVA_CONTEXT_SURFACE(avctx, ctx, i) (ctx->dxva2.surface[i])
#define DXVA_CONTEXT_DECODER(avctx, ctx) (ctx->dxva2.decoder)
#define DXVA_CONTEXT_REPORT_ID(avctx, ctx) (*(&ctx->dxva2.report_id))
#define DXVA_CONTEXT_CFG(avctx, ctx) (ctx->dxva2.cfg)
#define DXVA_CONTEXT_CFG_BITSTREAM(avctx, ctx) (ctx->dxva2.cfg->ConfigBitstreamRaw)
#define DXVA_CONTEXT_CFG_INTRARESID(avctx, ctx) (ctx->dxva2.cfg->ConfigIntraResidUnsigned)
#define DXVA_CONTEXT_CFG_RESIDACCEL(avctx, ctx) (ctx->dxva2.cfg->ConfigResidDiffAccelerator)
#endif
void
*
ff_dxva2_get_surface
(
const
AVFrame
*
frame
);
void
*
ff_dxva2_get_surface
(
const
AVFrame
*
frame
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment