43 VAPictureParameterBufferMPEG2 *pic_param;
44 VAIQMatrixBufferMPEG2 *iq_matrix;
47 av_dlog(avctx,
"vaapi_mpeg2_start_frame()\n");
55 pic_param->horizontal_size = s->
width;
56 pic_param->vertical_size = s->
height;
57 pic_param->forward_reference_picture = VA_INVALID_ID;
58 pic_param->backward_reference_picture = VA_INVALID_ID;
59 pic_param->picture_coding_type = s->
pict_type;
61 pic_param->picture_coding_extension.value = 0;
63 pic_param->picture_coding_extension.bits.picture_structure = s->
picture_structure;
64 pic_param->picture_coding_extension.bits.top_field_first = s->
top_field_first;
67 pic_param->picture_coding_extension.bits.q_scale_type = s->
q_scale_type;
68 pic_param->picture_coding_extension.bits.intra_vlc_format = s->
intra_vlc_format;
69 pic_param->picture_coding_extension.bits.alternate_scan = s->
alternate_scan;
71 pic_param->picture_coding_extension.bits.progressive_frame = s->
progressive_frame;
87 iq_matrix->load_intra_quantiser_matrix = 1;
88 iq_matrix->load_non_intra_quantiser_matrix = 1;
89 iq_matrix->load_chroma_intra_quantiser_matrix = 1;
90 iq_matrix->load_chroma_non_intra_quantiser_matrix = 1;
92 for (i = 0; i < 64; i++) {
94 iq_matrix->intra_quantiser_matrix[i] = s->
intra_matrix[n];
95 iq_matrix->non_intra_quantiser_matrix[i] = s->
inter_matrix[n];
110 VASliceParameterBufferMPEG2 *slice_param;
112 uint32_t quantiser_scale_code, intra_slice_flag, macroblock_offset;
114 av_dlog(avctx,
"vaapi_mpeg2_decode_slice(): buffer %p, size %d\n", buffer, size);
120 quantiser_scale_code =
get_bits(&gb, 5);
122 if (intra_slice_flag) {
133 slice_param->macroblock_offset = macroblock_offset;
134 slice_param->slice_horizontal_position = s->
mb_x;
136 slice_param->quantiser_scale_code = quantiser_scale_code;
137 slice_param->intra_slice_flag = intra_slice_flag;
142 .
name =
"mpeg2_vaapi",