aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2014-08-15 20:51:01 +0200
committerDiego Biurrun <diego@biurrun.de>2014-09-01 12:23:58 +0200
commit4600a85eaa6182e5a27464f6b9cae5a9ddbf3098 (patch)
tree682c6ff54f212fd5dcc6629c06102f772f51dc61
parent37c46743ee42df1d6986ba3c996e3af5b95511f7 (diff)
downloadffmpeg-4600a85eaa6182e5a27464f6b9cae5a9ddbf3098.tar.gz
dxva2: Pass variable of correct type to IDirectXVideoDecoder_GetBuffer()
This avoids related incompatible pointer type warnings.
-rw-r--r--libavcodec/dxva2_h264.c7
-rw-r--r--libavcodec/dxva2_mpeg2.c5
-rw-r--r--libavcodec/dxva2_vc1.c4
3 files changed, 12 insertions, 4 deletions
diff --git a/libavcodec/dxva2_h264.c b/libavcodec/dxva2_h264.c
index fa205c42d7..4132cd7ed9 100644
--- a/libavcodec/dxva2_h264.c
+++ b/libavcodec/dxva2_h264.c
@@ -297,6 +297,7 @@ static int commit_bitstream_and_slice_buffer(AVCodecContext *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;
+ void *dxva_data_ptr;
uint8_t *dxva_data, *current, *end;
unsigned dxva_size;
void *slice_data;
@@ -306,9 +307,11 @@ static int commit_bitstream_and_slice_buffer(AVCodecContext *avctx,
/* Create an annex B bitstream buffer with only slice NAL and finalize slice */
if (FAILED(IDirectXVideoDecoder_GetBuffer(ctx->decoder,
- DXVA2_BitStreamDateBufferType,
- &dxva_data, &dxva_size)))
+ DXVA2_BitStreamDateBufferType,
+ &dxva_data_ptr, &dxva_size)))
return -1;
+
+ dxva_data = dxva_data_ptr;
current = dxva_data;
end = dxva_data + dxva_size;
diff --git a/libavcodec/dxva2_mpeg2.c b/libavcodec/dxva2_mpeg2.c
index f6ef5e52ab..65624e3ec6 100644
--- a/libavcodec/dxva2_mpeg2.c
+++ b/libavcodec/dxva2_mpeg2.c
@@ -156,14 +156,17 @@ static int commit_bitstream_and_slice_buffer(AVCodecContext *avctx,
s->current_picture_ptr->hwaccel_picture_private;
const int is_field = s->picture_structure != PICT_FRAME;
const unsigned mb_count = s->mb_width * (s->mb_height >> is_field);
+ void *dxva_data_ptr;
uint8_t *dxva_data, *current, *end;
unsigned dxva_size;
unsigned i;
if (FAILED(IDirectXVideoDecoder_GetBuffer(ctx->decoder,
DXVA2_BitStreamDateBufferType,
- &dxva_data, &dxva_size)))
+ &dxva_data_ptr, &dxva_size)))
return -1;
+
+ dxva_data = dxva_data_ptr;
current = dxva_data;
end = dxva_data + dxva_size;
diff --git a/libavcodec/dxva2_vc1.c b/libavcodec/dxva2_vc1.c
index 4f4dd17812..1524b5112d 100644
--- a/libavcodec/dxva2_vc1.c
+++ b/libavcodec/dxva2_vc1.c
@@ -173,15 +173,17 @@ static int commit_bitstream_and_slice_buffer(AVCodecContext *avctx,
const unsigned padding = 128 - ((start_code_size + slice_size) & 127);
const unsigned data_size = start_code_size + slice_size + padding;
+ void *dxva_data_ptr;
uint8_t *dxva_data;
unsigned dxva_size;
int result;
if (FAILED(IDirectXVideoDecoder_GetBuffer(ctx->decoder,
DXVA2_BitStreamDateBufferType,
- &dxva_data, &dxva_size)))
+ &dxva_data_ptr, &dxva_size)))
return -1;
+ dxva_data = dxva_data_ptr;
result = data_size <= dxva_size ? 0 : -1;
if (!result) {
if (start_code_size > 0)