mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-22 23:28:16 +00:00
fieldanalysis: prefix orc functions
This commit is contained in:
parent
c31950d3e8
commit
f4220d35a5
4 changed files with 57 additions and 50 deletions
|
@ -846,8 +846,8 @@ same_parity_sad (GstFieldAnalysis * filter, FieldAnalysisFields * fields)
|
|||
sum = 0.0f;
|
||||
for (j = 0; j < (filter->height >> 1); j++) {
|
||||
guint32 tempsum = 0;
|
||||
orc_same_parity_sad_planar_yuv (&tempsum, f1j, f2j, noise_floor,
|
||||
filter->width);
|
||||
fieldanalysis_orc_same_parity_sad_planar_yuv (&tempsum, f1j, f2j,
|
||||
noise_floor, filter->width);
|
||||
sum += tempsum;
|
||||
f1j += stridex2;
|
||||
f2j += stridex2;
|
||||
|
@ -875,8 +875,8 @@ same_parity_ssd (GstFieldAnalysis * filter, FieldAnalysisFields * fields)
|
|||
sum = 0.0f;
|
||||
for (j = 0; j < (filter->height >> 1); j++) {
|
||||
guint32 tempsum = 0;
|
||||
orc_same_parity_ssd_planar_yuv (&tempsum, f1j, f2j, noise_floor,
|
||||
filter->width);
|
||||
fieldanalysis_orc_same_parity_ssd_planar_yuv (&tempsum, f1j, f2j,
|
||||
noise_floor, filter->width);
|
||||
sum += tempsum;
|
||||
f1j += stridex2;
|
||||
f2j += stridex2;
|
||||
|
@ -915,7 +915,7 @@ same_parity_3_tap (GstFieldAnalysis * filter, FieldAnalysisFields * fields)
|
|||
if (diff > noise_floor)
|
||||
sum += diff;
|
||||
|
||||
orc_same_parity_3_tap_planar_yuv (&tempsum, f1j, &f1j[incr],
|
||||
fieldanalysis_orc_same_parity_3_tap_planar_yuv (&tempsum, f1j, &f1j[incr],
|
||||
&f1j[incr << 1], f2j, &f2j[incr], &f2j[incr << 1], noise_floor,
|
||||
filter->width - 1);
|
||||
sum += tempsum;
|
||||
|
@ -972,8 +972,8 @@ opposite_parity_5_tap (GstFieldAnalysis * filter, FieldAnalysisFields * fields)
|
|||
fjp2 = fj + stridex2;
|
||||
|
||||
tempsum = 0;
|
||||
orc_opposite_parity_5_tap_planar_yuv (&tempsum, fjp2, fjp1, fj, fjp1, fjp2,
|
||||
noise_floor, filter->width);
|
||||
fieldanalysis_orc_opposite_parity_5_tap_planar_yuv (&tempsum, fjp2, fjp1, fj,
|
||||
fjp1, fjp2, noise_floor, filter->width);
|
||||
sum += tempsum;
|
||||
|
||||
for (j = 1; j < (filter->height >> 1) - 1; j++) {
|
||||
|
@ -985,8 +985,8 @@ opposite_parity_5_tap (GstFieldAnalysis * filter, FieldAnalysisFields * fields)
|
|||
fjp2 += stridex2;
|
||||
|
||||
tempsum = 0;
|
||||
orc_opposite_parity_5_tap_planar_yuv (&tempsum, fjm2, fjm1, fj, fjp1, fjp2,
|
||||
noise_floor, filter->width);
|
||||
fieldanalysis_orc_opposite_parity_5_tap_planar_yuv (&tempsum, fjm2, fjm1,
|
||||
fj, fjp1, fjp2, noise_floor, filter->width);
|
||||
sum += tempsum;
|
||||
}
|
||||
|
||||
|
@ -997,8 +997,8 @@ opposite_parity_5_tap (GstFieldAnalysis * filter, FieldAnalysisFields * fields)
|
|||
fj = fjp2;
|
||||
|
||||
tempsum = 0;
|
||||
orc_opposite_parity_5_tap_planar_yuv (&tempsum, fjm2, fjm1, fj, fjm1, fjm2,
|
||||
noise_floor, filter->width);
|
||||
fieldanalysis_orc_opposite_parity_5_tap_planar_yuv (&tempsum, fjm2, fjm1, fj,
|
||||
fjm1, fjm2, noise_floor, filter->width);
|
||||
sum += tempsum;
|
||||
|
||||
return sum / ((6.0f / 2.0f) * filter->width * filter->height); /* 1 + 4 + 1 == 3 + 3 == 6; field is half height */
|
||||
|
|
|
@ -82,21 +82,22 @@ typedef union
|
|||
#ifndef DISABLE_ORC
|
||||
#include <orc/orc.h>
|
||||
#endif
|
||||
void orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
void fieldanalysis_orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
|
||||
int p2, int n);
|
||||
void orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
void fieldanalysis_orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
|
||||
int p2, int n);
|
||||
void orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
void fieldanalysis_orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
|
||||
const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
|
||||
const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6,
|
||||
int p2, int n);
|
||||
void orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
|
||||
const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
|
||||
const orc_uint8 * ORC_RESTRICT s5, int p2, int n);
|
||||
void fieldanalysis_orc_opposite_parity_5_tap_planar_yuv (guint32 *
|
||||
ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1,
|
||||
const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3,
|
||||
const orc_uint8 * ORC_RESTRICT s4, const orc_uint8 * ORC_RESTRICT s5,
|
||||
int p2, int n);
|
||||
|
||||
|
||||
/* begin Orc C target preamble */
|
||||
|
@ -143,10 +144,10 @@ void orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
|||
|
||||
|
||||
|
||||
/* orc_same_parity_sad_planar_yuv */
|
||||
/* fieldanalysis_orc_same_parity_sad_planar_yuv */
|
||||
#ifdef DISABLE_ORC
|
||||
void
|
||||
orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
fieldanalysis_orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
|
||||
int p2, int n)
|
||||
{
|
||||
|
@ -199,7 +200,8 @@ orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
|
|||
|
||||
#else
|
||||
static void
|
||||
_backup_orc_same_parity_sad_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
|
||||
_backup_fieldanalysis_orc_same_parity_sad_planar_yuv (OrcExecutor *
|
||||
ORC_RESTRICT ex)
|
||||
{
|
||||
int i;
|
||||
int n = ex->n;
|
||||
|
@ -250,7 +252,7 @@ _backup_orc_same_parity_sad_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
|
|||
}
|
||||
|
||||
void
|
||||
orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
fieldanalysis_orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
|
||||
int p2, int n)
|
||||
{
|
||||
|
@ -265,9 +267,9 @@ orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
|
|||
OrcProgram *p;
|
||||
|
||||
p = orc_program_new ();
|
||||
orc_program_set_name (p, "orc_same_parity_sad_planar_yuv");
|
||||
orc_program_set_name (p, "fieldanalysis_orc_same_parity_sad_planar_yuv");
|
||||
orc_program_set_backup_function (p,
|
||||
_backup_orc_same_parity_sad_planar_yuv);
|
||||
_backup_fieldanalysis_orc_same_parity_sad_planar_yuv);
|
||||
orc_program_add_source (p, 1, "s1");
|
||||
orc_program_add_source (p, 1, "s2");
|
||||
orc_program_add_accumulator (p, 4, "a1");
|
||||
|
@ -316,10 +318,10 @@ orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
|
|||
#endif
|
||||
|
||||
|
||||
/* orc_same_parity_ssd_planar_yuv */
|
||||
/* fieldanalysis_orc_same_parity_ssd_planar_yuv */
|
||||
#ifdef DISABLE_ORC
|
||||
void
|
||||
orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
fieldanalysis_orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
|
||||
int p2, int n)
|
||||
{
|
||||
|
@ -369,7 +371,8 @@ orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
|
|||
|
||||
#else
|
||||
static void
|
||||
_backup_orc_same_parity_ssd_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
|
||||
_backup_fieldanalysis_orc_same_parity_ssd_planar_yuv (OrcExecutor *
|
||||
ORC_RESTRICT ex)
|
||||
{
|
||||
int i;
|
||||
int n = ex->n;
|
||||
|
@ -417,7 +420,7 @@ _backup_orc_same_parity_ssd_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
|
|||
}
|
||||
|
||||
void
|
||||
orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
fieldanalysis_orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
|
||||
int p2, int n)
|
||||
{
|
||||
|
@ -432,9 +435,9 @@ orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
|
|||
OrcProgram *p;
|
||||
|
||||
p = orc_program_new ();
|
||||
orc_program_set_name (p, "orc_same_parity_ssd_planar_yuv");
|
||||
orc_program_set_name (p, "fieldanalysis_orc_same_parity_ssd_planar_yuv");
|
||||
orc_program_set_backup_function (p,
|
||||
_backup_orc_same_parity_ssd_planar_yuv);
|
||||
_backup_fieldanalysis_orc_same_parity_ssd_planar_yuv);
|
||||
orc_program_add_source (p, 1, "s1");
|
||||
orc_program_add_source (p, 1, "s2");
|
||||
orc_program_add_accumulator (p, 4, "a1");
|
||||
|
@ -481,10 +484,10 @@ orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
|
|||
#endif
|
||||
|
||||
|
||||
/* orc_same_parity_3_tap_planar_yuv */
|
||||
/* fieldanalysis_orc_same_parity_3_tap_planar_yuv */
|
||||
#ifdef DISABLE_ORC
|
||||
void
|
||||
orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
fieldanalysis_orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
|
||||
const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
|
||||
const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6,
|
||||
|
@ -589,7 +592,8 @@ orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
|||
|
||||
#else
|
||||
static void
|
||||
_backup_orc_same_parity_3_tap_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
|
||||
_backup_fieldanalysis_orc_same_parity_3_tap_planar_yuv (OrcExecutor *
|
||||
ORC_RESTRICT ex)
|
||||
{
|
||||
int i;
|
||||
int n = ex->n;
|
||||
|
@ -690,7 +694,7 @@ _backup_orc_same_parity_3_tap_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
|
|||
}
|
||||
|
||||
void
|
||||
orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
fieldanalysis_orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
|
||||
const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
|
||||
const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6,
|
||||
|
@ -707,9 +711,10 @@ orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
|||
OrcProgram *p;
|
||||
|
||||
p = orc_program_new ();
|
||||
orc_program_set_name (p, "orc_same_parity_3_tap_planar_yuv");
|
||||
orc_program_set_name (p,
|
||||
"fieldanalysis_orc_same_parity_3_tap_planar_yuv");
|
||||
orc_program_set_backup_function (p,
|
||||
_backup_orc_same_parity_3_tap_planar_yuv);
|
||||
_backup_fieldanalysis_orc_same_parity_3_tap_planar_yuv);
|
||||
orc_program_add_source (p, 1, "s1");
|
||||
orc_program_add_source (p, 1, "s2");
|
||||
orc_program_add_source (p, 1, "s3");
|
||||
|
@ -791,10 +796,10 @@ orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
|||
#endif
|
||||
|
||||
|
||||
/* orc_opposite_parity_5_tap_planar_yuv */
|
||||
/* fieldanalysis_orc_opposite_parity_5_tap_planar_yuv */
|
||||
#ifdef DISABLE_ORC
|
||||
void
|
||||
orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
fieldanalysis_orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
|
||||
const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
|
||||
const orc_uint8 * ORC_RESTRICT s5, int p2, int n)
|
||||
|
@ -896,7 +901,8 @@ orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
|||
|
||||
#else
|
||||
static void
|
||||
_backup_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
|
||||
_backup_fieldanalysis_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor *
|
||||
ORC_RESTRICT ex)
|
||||
{
|
||||
int i;
|
||||
int n = ex->n;
|
||||
|
@ -995,7 +1001,7 @@ _backup_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
|
|||
}
|
||||
|
||||
void
|
||||
orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
fieldanalysis_orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
||||
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
|
||||
const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
|
||||
const orc_uint8 * ORC_RESTRICT s5, int p2, int n)
|
||||
|
@ -1011,9 +1017,10 @@ orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
|
|||
OrcProgram *p;
|
||||
|
||||
p = orc_program_new ();
|
||||
orc_program_set_name (p, "orc_opposite_parity_5_tap_planar_yuv");
|
||||
orc_program_set_name (p,
|
||||
"fieldanalysis_orc_opposite_parity_5_tap_planar_yuv");
|
||||
orc_program_set_backup_function (p,
|
||||
_backup_orc_opposite_parity_5_tap_planar_yuv);
|
||||
_backup_fieldanalysis_orc_opposite_parity_5_tap_planar_yuv);
|
||||
orc_program_add_source (p, 1, "s1");
|
||||
orc_program_add_source (p, 1, "s2");
|
||||
orc_program_add_source (p, 1, "s3");
|
||||
|
|
|
@ -67,10 +67,10 @@ typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16
|
|||
#define ORC_RESTRICT
|
||||
#endif
|
||||
#endif
|
||||
void orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int p2, int n);
|
||||
void orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int p2, int n);
|
||||
void orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6, int p2, int n);
|
||||
void orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, const orc_uint8 * ORC_RESTRICT s5, int p2, int n);
|
||||
void fieldanalysis_orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int p2, int n);
|
||||
void fieldanalysis_orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int p2, int n);
|
||||
void fieldanalysis_orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6, int p2, int n);
|
||||
void fieldanalysis_orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, const orc_uint8 * ORC_RESTRICT s5, int p2, int n);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
.function orc_same_parity_sad_planar_yuv
|
||||
.function fieldanalysis_orc_same_parity_sad_planar_yuv
|
||||
.accumulator 4 a1 guint32
|
||||
.source 1 s1
|
||||
.source 1 s2
|
||||
|
@ -20,7 +20,7 @@ andl t3, t3, t4
|
|||
accl a1, t3
|
||||
|
||||
|
||||
.function orc_same_parity_ssd_planar_yuv
|
||||
.function fieldanalysis_orc_same_parity_ssd_planar_yuv
|
||||
.accumulator 4 a1 guint32
|
||||
.source 1 s1
|
||||
.source 1 s2
|
||||
|
@ -40,7 +40,7 @@ andl t3, t3, t4
|
|||
accl a1, t3
|
||||
|
||||
|
||||
.function orc_same_parity_3_tap_planar_yuv
|
||||
.function fieldanalysis_orc_same_parity_3_tap_planar_yuv
|
||||
.accumulator 4 a1 guint32
|
||||
.source 1 s1
|
||||
.source 1 s2
|
||||
|
@ -79,7 +79,7 @@ andl t7, t7, t8
|
|||
accl a1, t7
|
||||
|
||||
|
||||
.function orc_opposite_parity_5_tap_planar_yuv
|
||||
.function fieldanalysis_orc_opposite_parity_5_tap_planar_yuv
|
||||
.accumulator 4 a1 guint32
|
||||
.source 1 s1
|
||||
.source 1 s2
|
||||
|
|
Loading…
Reference in a new issue