Merge branch 'vaapi-ext' into staging-work
authorXiang, Haihao <haihao.xiang@intel.com>
Fri, 16 Mar 2012 05:28:01 +0000 (13:28 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Fri, 16 Mar 2012 05:28:01 +0000 (13:28 +0800)
Conflicts:
src/gen6_mfc.c

1  2 
src/gen6_mfc.c

diff --cc src/gen6_mfc.c
@@@ -1136,11 -1141,14 +1138,14 @@@ gen6_mfc_avc_pipeline_slice_programing(
      if (is_intra) {
          dri_bo_map(vme_context->vme_output.bo , 1);
          msg = (unsigned int *)vme_context->vme_output.bo->virtual;
+         msg += pSliceParameter->starting_macroblock_address * 4;
+     } else {
+         offset = pSliceParameter->starting_macroblock_address * 64;
      }
     
 -    for (i = pSliceParameter->starting_macroblock_address; 
 -         i < pSliceParameter->starting_macroblock_address + pSliceParameter->number_of_mbs; i++) {
 -        int last_mb = (i == (pSliceParameter->starting_macroblock_address + pSliceParameter->number_of_mbs - 1) );
 +    for (i = pSliceParameter->macroblock_address; 
 +         i < pSliceParameter->macroblock_address + pSliceParameter->num_macroblocks; i++) {
 +        int last_mb = (i == (pSliceParameter->macroblock_address + pSliceParameter->num_macroblocks - 1) );
          x = i % width_in_mbs;
          y = i / width_in_mbs;
  
@@@ -1370,8 -1377,8 +1374,8 @@@ gen6_mfc_avc_batchbuffer_slice_command(
      struct intel_batchbuffer *batch = encoder_context->base.batch;
      struct gen6_mfc_context *mfc_context = encoder_context->mfc_context;
      int width_in_mbs = (mfc_context->surface_state.width + 15) / 16;
 -    int total_mbs = slice_param->number_of_mbs;
 +    int total_mbs = slice_param->num_macroblocks;
-     int number_mb_cmds = 512;
+     int number_mb_cmds = 128;
      int starting_mb = 0;
      int last_object = 0;
      int first_object = 1;
@@@ -1546,7 -1557,7 +1550,7 @@@ gen6_mfc_avc_batchbuffer_slice(VADriver
                                             qp,
                                             last_slice);
  
-     return head_size + tail_size + pSliceParameter->num_macroblocks * 3;
 -    return head_size + tail_size + pSliceParameter->number_of_mbs * CMD_LEN_IN_OWORD;
++    return head_size + tail_size + pSliceParameter->num_macroblocks * CMD_LEN_IN_OWORD;
  }
  
  static void