Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
François Cartegnie
dav1d
Commits
77c52be0
Commit
77c52be0
authored
Oct 20, 2018
by
Henrik Gramner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Reorder the dav1d_filter_intra_taps array
Ordering the elements this way is more SIMD-friendly.
parent
93c4bea2
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
49 additions
and
50 deletions
+49
-50
src/ipred.c
src/ipred.c
+7
-8
src/tables.c
src/tables.c
+41
-41
src/tables.h
src/tables.h
+1
-1
No files found.
src/ipred.c
View file @
77c52be0
...
...
@@ -553,7 +553,7 @@ static void ipred_filter_c(pixel *dst, const ptrdiff_t stride,
filt_idx
&=
511
;
assert
(
filt_idx
<
5
);
const
int8_t
(
*
const
filter
)[
8
]
=
dav1d_filter_intra_taps
[
filt_idx
];
const
int8_t
*
const
filter
=
dav1d_filter_intra_taps
[
filt_idx
];
int
x
,
y
;
ptrdiff_t
left_stride
;
const
pixel
*
left
,
*
topleft
,
*
top
;
...
...
@@ -568,19 +568,18 @@ static void ipred_filter_c(pixel *dst, const ptrdiff_t stride,
const
int
p1
=
top
[
0
],
p2
=
top
[
1
],
p3
=
top
[
2
],
p4
=
top
[
3
];
const
int
p5
=
left
[
0
*
left_stride
],
p6
=
left
[
1
*
left_stride
];
pixel
*
ptr
=
&
dst
[
x
];
const
int8_t
(
*
flt_ptr
)[
8
]
=
filter
;
const
int8_t
*
flt_ptr
=
filter
;
for
(
int
yy
=
0
;
yy
<
2
;
yy
++
)
{
for
(
int
xx
=
0
;
xx
<
4
;
xx
++
,
flt_ptr
++
)
{
int
acc
=
flt_ptr
[
0
][
0
]
*
p0
+
flt_ptr
[
0
][
1
]
*
p1
+
flt_ptr
[
0
][
2
]
*
p2
+
flt_ptr
[
0
][
3
]
*
p3
+
flt_ptr
[
0
][
4
]
*
p4
+
flt_ptr
[
0
][
5
]
*
p5
+
flt_ptr
[
0
][
6
]
*
p6
;
for
(
int
xx
=
0
;
xx
<
4
;
xx
++
,
flt_ptr
+=
2
)
{
int
acc
=
flt_ptr
[
0
]
*
p0
+
flt_ptr
[
1
]
*
p1
+
flt_ptr
[
16
]
*
p2
+
flt_ptr
[
17
]
*
p3
+
flt_ptr
[
32
]
*
p4
+
flt_ptr
[
33
]
*
p5
+
flt_ptr
[
48
]
*
p6
;
ptr
[
xx
]
=
iclip_pixel
((
acc
+
8
)
>>
4
);
}
ptr
+=
PXSTRIDE
(
stride
);
}
left
=
&
dst
[
x
+
4
-
1
];
left_stride
=
PXSTRIDE
(
stride
);
top
+=
4
;
...
...
src/tables.c
View file @
77c52be0
...
...
@@ -781,51 +781,51 @@ const int16_t dav1d_dr_intra_derivative[90] = {
3
,
0
,
0
,
// 87, ...
};
const
int8_t
dav1d_filter_intra_taps
[
5
][
8
][
8
]
=
{
const
int8_t
ALIGN
(
dav1d_filter_intra_taps
[
5
][
64
],
16
)
=
{
{
{
-
6
,
10
,
0
,
0
,
0
,
1
2
,
0
,
0
}
,
{
-
5
,
2
,
10
,
0
,
0
,
9
,
0
,
0
}
,
{
-
3
,
1
,
1
,
1
0
,
0
,
7
,
0
,
0
}
,
{
-
3
,
1
,
1
,
2
,
10
,
5
,
0
,
0
}
,
{
-
4
,
6
,
0
,
0
,
0
,
2
,
1
2
,
0
}
,
{
-
3
,
2
,
6
,
0
,
0
,
2
,
9
,
0
}
,
{
-
3
,
2
,
2
,
6
,
0
,
2
,
7
,
0
}
,
{
-
3
,
1
,
2
,
2
,
6
,
3
,
5
,
0
},
-
6
,
10
,
-
5
,
2
,
-
3
,
1
,
-
3
,
1
,
-
4
,
6
,
-
3
,
2
,
-
3
,
2
,
-
3
,
1
,
0
,
0
,
1
0
,
0
,
1
,
10
,
1
,
2
,
0
,
0
,
6
,
0
,
2
,
6
,
2
,
2
,
0
,
12
,
0
,
9
,
0
,
7
,
1
0
,
5
,
0
,
2
,
0
,
2
,
0
,
2
,
6
,
3
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
12
,
0
,
9
,
0
,
7
,
0
,
5
,
0
},
{
{
-
10
,
16
,
0
,
0
,
0
,
1
0
,
0
,
0
}
,
{
-
6
,
0
,
1
6
,
0
,
0
,
6
,
0
,
0
}
,
{
-
4
,
0
,
0
,
16
,
0
,
4
,
0
,
0
}
,
{
-
2
,
0
,
0
,
0
,
16
,
2
,
0
,
0
}
,
{
-
1
0
,
1
6
,
0
,
0
,
0
,
0
,
1
0
,
0
}
,
{
-
6
,
0
,
16
,
0
,
0
,
0
,
6
,
0
}
,
{
-
4
,
0
,
0
,
16
,
0
,
0
,
4
,
0
}
,
{
-
2
,
0
,
0
,
0
,
16
,
0
,
2
,
0
},
-
10
,
16
,
-
6
,
0
,
-
4
,
0
,
-
2
,
0
,
-
10
,
1
6
,
-
6
,
0
,
-
4
,
0
,
-
2
,
0
,
0
,
0
,
16
,
0
,
0
,
16
,
0
,
0
,
0
,
0
,
16
,
0
,
0
,
16
,
0
,
0
,
0
,
1
0
,
0
,
6
,
0
,
4
,
1
6
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
1
6
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
10
,
0
,
6
,
0
,
4
,
0
,
2
,
0
},
{
{
-
8
,
8
,
0
,
0
,
0
,
16
,
0
,
0
}
,
{
-
8
,
0
,
8
,
0
,
0
,
16
,
0
,
0
}
,
{
-
8
,
0
,
0
,
8
,
0
,
16
,
0
,
0
}
,
{
-
8
,
0
,
0
,
0
,
8
,
16
,
0
,
0
}
,
{
-
4
,
4
,
0
,
0
,
0
,
0
,
16
,
0
}
,
{
-
4
,
0
,
4
,
0
,
0
,
0
,
16
,
0
}
,
{
-
4
,
0
,
0
,
4
,
0
,
0
,
16
,
0
}
,
{
-
4
,
0
,
0
,
0
,
4
,
0
,
16
,
0
},
-
8
,
8
,
-
8
,
0
,
-
8
,
0
,
-
8
,
0
,
-
4
,
4
,
-
4
,
0
,
-
4
,
0
,
-
4
,
0
,
0
,
0
,
8
,
0
,
0
,
8
,
0
,
0
,
0
,
0
,
4
,
0
,
0
,
4
,
0
,
0
,
0
,
16
,
0
,
16
,
0
,
16
,
8
,
16
,
0
,
0
,
0
,
0
,
0
,
0
,
4
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
16
,
0
,
16
,
0
,
16
,
0
,
16
,
0
},
{
{
-
2
,
8
,
0
,
0
,
0
,
10
,
0
,
0
}
,
{
-
1
,
3
,
8
,
0
,
0
,
6
,
0
,
0
}
,
{
-
1
,
2
,
3
,
8
,
0
,
4
,
0
,
0
}
,
{
0
,
1
,
2
,
3
,
8
,
2
,
0
,
0
}
,
{
-
1
,
4
,
0
,
0
,
0
,
3
,
10
,
0
}
,
{
-
1
,
3
,
4
,
0
,
0
,
4
,
6
,
0
}
,
{
-
1
,
2
,
3
,
4
,
0
,
4
,
4
,
0
}
,
{
-
1
,
2
,
2
,
3
,
4
,
3
,
3
,
0
},
-
2
,
8
,
-
1
,
3
,
-
1
,
2
,
0
,
1
,
-
1
,
4
,
-
1
,
3
,
-
1
,
2
,
-
1
,
2
,
0
,
0
,
8
,
0
,
3
,
8
,
2
,
3
,
0
,
0
,
4
,
0
,
3
,
4
,
2
,
3
,
0
,
10
,
0
,
6
,
0
,
4
,
8
,
2
,
0
,
3
,
0
,
4
,
0
,
4
,
4
,
3
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
10
,
0
,
6
,
0
,
4
,
0
,
3
,
0
},
{
{
-
12
,
14
,
0
,
0
,
0
,
14
,
0
,
0
}
,
{
-
10
,
0
,
14
,
0
,
0
,
12
,
0
,
0
}
,
{
-
9
,
0
,
0
,
14
,
0
,
11
,
0
,
0
}
,
{
-
8
,
0
,
0
,
0
,
14
,
10
,
0
,
0
}
,
{
-
1
0
,
1
2
,
0
,
0
,
0
,
0
,
14
,
0
}
,
{
-
9
,
1
,
12
,
0
,
0
,
0
,
12
,
0
}
,
{
-
8
,
0
,
0
,
12
,
0
,
1
,
11
,
0
}
,
{
-
7
,
0
,
0
,
1
,
1
2
,
1
,
9
,
0
},
-
12
,
14
,
-
1
0
,
0
,
-
9
,
0
,
-
8
,
0
,
-
10
,
12
,
-
9
,
1
,
-
8
,
0
,
-
7
,
0
,
0
,
0
,
14
,
0
,
0
,
14
,
0
,
0
,
0
,
0
,
12
,
0
,
0
,
12
,
0
,
1
,
0
,
1
4
,
0
,
12
,
0
,
11
,
14
,
1
0
,
0
,
0
,
0
,
0
,
0
,
1
,
12
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
14
,
0
,
12
,
0
,
1
1
,
0
,
9
,
0
}
};
src/tables.h
View file @
77c52be0
...
...
@@ -115,6 +115,6 @@ extern const int8_t dav1d_mc_warp_filter[][8];
extern
const
uint8_t
dav1d_sm_weights
[
128
];
extern
const
int16_t
dav1d_dr_intra_derivative
[
90
];
extern
const
int8_t
dav1d_filter_intra_taps
[
5
][
8
][
8
];
extern
const
int8_t
dav1d_filter_intra_taps
[
5
][
64
];
#endif
/* __DAV1D_SRC_TABLES_H__ */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment