示例#1
0
jsimd_ycc_rgb_convert (j_decompress_ptr cinfo,
                       JSAMPIMAGE input_buf, JDIMENSION input_row,
                       JSAMPARRAY output_buf, int num_rows)
{
  void (*mipsdspr2fct)(JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY, int);

  switch(cinfo->out_color_space)
  {
    case JCS_EXT_RGB:
      mipsdspr2fct=jsimd_ycc_extrgb_convert_mips_dspr2;
      break;
    case JCS_EXT_RGBX:
    case JCS_EXT_RGBA:
      mipsdspr2fct=jsimd_ycc_extrgbx_convert_mips_dspr2;
      break;
    case JCS_EXT_BGR:
      mipsdspr2fct=jsimd_ycc_extbgr_convert_mips_dspr2;
      break;
    case JCS_EXT_BGRX:
    case JCS_EXT_BGRA:
      mipsdspr2fct=jsimd_ycc_extbgrx_convert_mips_dspr2;
      break;
    case JCS_EXT_XBGR:
    case JCS_EXT_ABGR:
      mipsdspr2fct=jsimd_ycc_extxbgr_convert_mips_dspr2;
      break;
    case JCS_EXT_XRGB:
    case JCS_EXT_ARGB:
      mipsdspr2fct=jsimd_ycc_extxrgb_convert_mips_dspr2;
      break;
  default:
      mipsdspr2fct=jsimd_ycc_extrgb_convert_mips_dspr2;
      break;
  }

  if (simd_support & JSIMD_MIPS_DSPR2)
    mipsdspr2fct(cinfo->output_width, input_buf,
        input_row, output_buf, num_rows);
}
示例#2
0
jsimd_h2v1_merged_upsample (j_decompress_ptr cinfo,
                            JSAMPIMAGE input_buf,
                            JDIMENSION in_row_group_ctr,
                            JSAMPARRAY output_buf)
{
  void (*mipsdspr2fct)(JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY,
                       JSAMPLE *);

  switch(cinfo->out_color_space) {
    case JCS_EXT_RGB:
      mipsdspr2fct=jsimd_h2v1_extrgb_merged_upsample_mips_dspr2;
      break;
    case JCS_EXT_RGBX:
    case JCS_EXT_RGBA:
      mipsdspr2fct=jsimd_h2v1_extrgbx_merged_upsample_mips_dspr2;
      break;
    case JCS_EXT_BGR:
      mipsdspr2fct=jsimd_h2v1_extbgr_merged_upsample_mips_dspr2;
      break;
    case JCS_EXT_BGRX:
    case JCS_EXT_BGRA:
      mipsdspr2fct=jsimd_h2v1_extbgrx_merged_upsample_mips_dspr2;
      break;
    case JCS_EXT_XBGR:
    case JCS_EXT_ABGR:
      mipsdspr2fct=jsimd_h2v1_extxbgr_merged_upsample_mips_dspr2;
      break;
    case JCS_EXT_XRGB:
    case JCS_EXT_ARGB:
      mipsdspr2fct=jsimd_h2v1_extxrgb_merged_upsample_mips_dspr2;
      break;
    default:
      mipsdspr2fct=jsimd_h2v1_extrgb_merged_upsample_mips_dspr2;
      break;
  }

  mipsdspr2fct(cinfo->output_width, input_buf, in_row_group_ctr, output_buf,
               cinfo->sample_range_limit);
}