Merge commit '4600a85eaa6182e5a27464f6b9cae5a9ddbf3098'
* commit '4600a85eaa6182e5a27464f6b9cae5a9ddbf3098': dxva2: Pass variable of correct type to IDirectXVideoDecoder_GetBuffer() Conflicts: libavcodec/dxva2_h264.c libavcodec/dxva2_mpeg2.c libavcodec/dxva2_vc1.c See: 64c53fa16aeca9cadd48ccf607803d6e4d26cc4d Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
052cd1ce72
@ -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,
|
||||
(void **)&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;
|
||||
|
||||
|
@ -155,14 +155,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,
|
||||
(void **)&dxva_data, &dxva_size)))
|
||||
&dxva_data_ptr, &dxva_size)))
|
||||
return -1;
|
||||
|
||||
dxva_data = dxva_data_ptr;
|
||||
current = dxva_data;
|
||||
end = dxva_data + dxva_size;
|
||||
|
||||
|
@ -192,15 +192,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,
|
||||
(void **)&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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user