34         return VA_INVALID_SURFACE;
 
   43     VADecPictureParameterBufferVP9 pic_param;
 
   49     pic_param = (VADecPictureParameterBufferVP9) {
 
   50         .frame_width                      = avctx->
width,
 
   51         .frame_height                     = avctx->
height,
 
   56             .frame_type                   = !
h->h.keyframe,
 
   57             .show_frame                   = !
h->h.invisible,
 
   58             .error_resilient_mode         = 
h->h.errorres,
 
   59             .intra_only                   = 
h->h.intraonly,
 
   60             .allow_high_precision_mv      = 
h->h.keyframe ? 0 : 
h->h.highprecisionmvs,
 
   61             .mcomp_filter_type            = 
h->h.filtermode ^ (
h->h.filtermode <= 1),
 
   62             .frame_parallel_decoding_mode = 
h->h.parallelmode,
 
   63             .reset_frame_context          = 
h->h.resetctx,
 
   64             .refresh_frame_context        = 
h->h.refreshctx,
 
   65             .frame_context_idx            = 
h->h.framectxid,
 
   67             .segmentation_enabled          = 
h->h.segmentation.enabled,
 
   68             .segmentation_temporal_update  = 
h->h.segmentation.temporal,
 
   69             .segmentation_update_map       = 
h->h.segmentation.update_map,
 
   71             .last_ref_frame                = 
h->h.refidx[0],
 
   72             .last_ref_frame_sign_bias      = 
h->h.signbias[0],
 
   73             .golden_ref_frame              = 
h->h.refidx[1],
 
   74             .golden_ref_frame_sign_bias    = 
h->h.signbias[1],
 
   75             .alt_ref_frame                 = 
h->h.refidx[2],
 
   76             .alt_ref_frame_sign_bias       = 
h->h.signbias[2],
 
   77             .lossless_flag                 = 
h->h.lossless,
 
   80         .filter_level                      = 
h->h.filter.level,
 
   81         .sharpness_level                   = 
h->h.filter.sharpness,
 
   82         .log2_tile_rows                    = 
h->h.tiling.log2_tile_rows,
 
   83         .log2_tile_columns                 = 
h->h.tiling.log2_tile_cols,
 
   85         .frame_header_length_in_bytes      = 
h->h.uncompressed_header_size,
 
   86         .first_partition_size              = 
h->h.compressed_header_size,
 
   88         .profile                           = 
h->h.profile,
 
   89         .bit_depth                         = 
h->h.bpp,
 
   92     for (
i = 0; 
i < 7; 
i++)
 
   93         pic_param.mb_segment_tree_probs[
i] = 
h->h.segmentation.prob[
i];
 
   95     if (
h->h.segmentation.temporal) {
 
   96         for (
i = 0; 
i < 3; 
i++)
 
   97             pic_param.segment_pred_probs[
i] = 
h->h.segmentation.pred_prob[
i];
 
   99         memset(pic_param.segment_pred_probs, 255, 
sizeof(pic_param.segment_pred_probs));
 
  102     for (
i = 0; 
i < 8; 
i++) {
 
  103         if (
h->refs[
i].f->buf[0])
 
  106             pic_param.reference_frames[
i] = VA_INVALID_ID;
 
  110                                             VAPictureParameterBufferType,
 
  111                                             &pic_param, 
sizeof(pic_param));
 
  134     VASliceParameterBufferVP9 slice_param;
 
  137     slice_param = (VASliceParameterBufferVP9) {
 
  138         .slice_data_size   = 
size,
 
  139         .slice_data_offset = 0,
 
  140         .slice_data_flag   = VA_SLICE_DATA_FLAG_ALL,
 
  143     for (
i = 0; 
i < 8; 
i++) {
 
  144         slice_param.seg_param[
i] = (VASegmentParameterVP9) {
 
  145             .segment_flags.fields = {
 
  146                 .segment_reference_enabled = 
h->h.segmentation.feat[
i].ref_enabled,
 
  147                 .segment_reference         = 
h->h.segmentation.feat[
i].ref_val,
 
  148                 .segment_reference_skipped = 
h->h.segmentation.feat[
i].skip_enabled,
 
  151             .luma_dc_quant_scale           = 
h->h.segmentation.feat[
i].qmul[0][0],
 
  152             .luma_ac_quant_scale           = 
h->h.segmentation.feat[
i].qmul[0][1],
 
  153             .chroma_dc_quant_scale         = 
h->h.segmentation.feat[
i].qmul[1][0],
 
  154             .chroma_ac_quant_scale         = 
h->h.segmentation.feat[
i].qmul[1][1],
 
  157         memcpy(slice_param.seg_param[
i].filter_level, 
h->h.segmentation.feat[
i].lflvl, 
sizeof(slice_param.seg_param[
i].filter_level));
 
  161                                             &slice_param, 
sizeof(slice_param),