SIMD support for performing fancy upsampling using MIPS DSPr2 instructions

This commit is contained in:
DRC
2013-07-27 21:44:14 +00:00
parent 64da9d6ba8
commit 41e3657631
3 changed files with 272 additions and 0 deletions

View File

@@ -265,12 +265,32 @@ jsimd_h2v1_upsample (j_decompress_ptr cinfo,
GLOBAL(int)
jsimd_can_h2v2_fancy_upsample (void)
{
init_simd();
/* The code is optimised for these values only */
if (BITS_IN_JSAMPLE != 8)
return 0;
if (sizeof(JDIMENSION) != 4)
return 0;
if (simd_support & JSIMD_MIPS_DSPR2)
return 1;
return 0;
}
GLOBAL(int)
jsimd_can_h2v1_fancy_upsample (void)
{
init_simd();
/* The code is optimised for these values only */
if (BITS_IN_JSAMPLE != 8)
return 0;
if (sizeof(JDIMENSION) != 4)
return 0;
if (simd_support & JSIMD_MIPS_DSPR2)
return 1;
return 0;
}
@@ -280,6 +300,9 @@ jsimd_h2v2_fancy_upsample (j_decompress_ptr cinfo,
JSAMPARRAY input_data,
JSAMPARRAY * output_data_ptr)
{
if (simd_support & JSIMD_MIPS_DSPR2)
jsimd_h2v2_fancy_upsample_mips_dspr2(cinfo->max_v_samp_factor,
compptr->downsampled_width, input_data, output_data_ptr);
}
GLOBAL(void)
@@ -288,6 +311,9 @@ jsimd_h2v1_fancy_upsample (j_decompress_ptr cinfo,
JSAMPARRAY input_data,
JSAMPARRAY * output_data_ptr)
{
if (simd_support & JSIMD_MIPS_DSPR2)
jsimd_h2v1_fancy_upsample_mips_dspr2(cinfo->max_v_samp_factor,
compptr->downsampled_width, input_data, output_data_ptr);
}
GLOBAL(int)