45 VdpReferenceFrameH264 *rf, *rf2;
47 int i, list, pic_frame_idx;
52 rf = &render->
info.
h264.referenceFrames[0];
53 #define H264_RF_COUNT FF_ARRAY_ELEMS(render->info.h264.referenceFrames)
55 for (list = 0; list < 2; ++list) {
59 for (i = 0; i < ls; ++i) {
68 rf2 = &render->
info.
h264.referenceFrames[0];
71 (rf2->surface == render_ref->
surface)
72 && (rf2->is_long_term == pic->
long_ref)
73 && (rf2->frame_idx == pic_frame_idx)
87 rf->surface = render_ref->
surface;
91 rf->field_order_cnt[0] = pic->
field_poc[0];
92 rf->field_order_cnt[1] = pic->
field_poc[1];
93 rf->frame_idx = pic_frame_idx;
100 rf->surface = VDP_INVALID_HANDLE;
101 rf->is_long_term = 0;
102 rf->top_is_reference = 0;
103 rf->bottom_is_reference = 0;
104 rf->field_order_cnt[0] = 0;
105 rf->field_order_cnt[1] = 0;
111 const uint8_t *buf,
int buf_size)
139 for (i = 0; i < 2; ++i) {
143 render->
info.
h264.field_order_cnt[i] = foc;
158 if (render->
info.
h264.slice_count < 1)
194 int buf_size,
int slice_count)
220 for (i = 0; i < 64; ++i) {
225 render->
info.
mpeg.forward_reference = VDP_INVALID_HANDLE;
226 render->
info.
mpeg.backward_reference = VDP_INVALID_HANDLE;
243 render->
info.
mpeg.slice_count = slice_count;
290 render->
info.
vc1.forward_reference = VDP_INVALID_HANDLE;
291 render->
info.
vc1.backward_reference = VDP_INVALID_HANDLE;
294 render->
info.
vc1.picture_type = 4;
313 render->
info.
vc1.slice_count = 1;
347 for (i = 0; i < 64; ++i) {
351 render->
info.
mpeg4.forward_reference = VDP_INVALID_HANDLE;
352 render->
info.
mpeg4.backward_reference = VDP_INVALID_HANDLE;
390 .
name =
"mpeg1_vdpau",
400 .
name =
"mpeg2_vdpau",