80 buffers->struct_version = VDP_BITSTREAM_BUFFER_VERSION;
81 buffers->bitstream = buf;
82 buffers->bitstream_bytes =
size;
91 VdpReferenceFrameH264 *rf, *rf2;
93 int i, list, pic_frame_idx;
98 rf = &render->
info.
h264.referenceFrames[0];
99 #define H264_RF_COUNT FF_ARRAY_ELEMS(render->info.h264.referenceFrames)
101 for (list = 0; list < 2; ++list) {
105 for (i = 0; i < ls; ++i) {
114 rf2 = &render->
info.
h264.referenceFrames[0];
117 (rf2->surface == render_ref->
surface)
118 && (rf2->is_long_term == pic->
long_ref)
119 && (rf2->frame_idx == pic_frame_idx)
133 rf->surface = render_ref->
surface;
137 rf->field_order_cnt[0] = pic->
field_poc[0];
138 rf->field_order_cnt[1] = pic->
field_poc[1];
139 rf->frame_idx = pic_frame_idx;
146 rf->surface = VDP_INVALID_HANDLE;
147 rf->is_long_term = 0;
148 rf->top_is_reference = 0;
149 rf->bottom_is_reference = 0;
150 rf->field_order_cnt[0] = 0;
151 rf->field_order_cnt[1] = 0;
181 for (i = 0; i < 2; ++i) {
185 render->
info.
h264.field_order_cnt[i] = foc;
199 if (render->
info.
h264.slice_count < 1)
235 int buf_size,
int slice_count)
261 for (i = 0; i < 64; ++i) {
266 render->
info.
mpeg.forward_reference = VDP_INVALID_HANDLE;
267 render->
info.
mpeg.backward_reference = VDP_INVALID_HANDLE;
284 render->
info.
mpeg.slice_count = slice_count;
331 render->
info.
vc1.forward_reference = VDP_INVALID_HANDLE;
332 render->
info.
vc1.backward_reference = VDP_INVALID_HANDLE;
335 render->
info.
vc1.picture_type = 4;
354 render->
info.
vc1.slice_count = 1;
388 for (i = 0; i < 64; ++i) {
392 render->
info.
mpeg4.forward_reference = VDP_INVALID_HANDLE;
393 render->
info.
mpeg4.backward_reference = VDP_INVALID_HANDLE;