mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 14:57:35 +00:00
LibVideo/VP9: Force inlining of inverse_transform_2d()
and the IDCT
Clang was reluctant to inline these for some reason. However, inlining them seems to be quite beneficial, reducing decoding time in an intra- heavy video by about 21% (~12.7s -> ~10.0s).
This commit is contained in:
parent
90c0e1ad8f
commit
d6b867ba89
1 changed files with 2 additions and 2 deletions
|
@ -1399,7 +1399,7 @@ inline DecoderErrorOr<void> Decoder::inverse_discrete_cosine_transform_array_per
|
||||||
}
|
}
|
||||||
|
|
||||||
template<u8 log2_of_block_size>
|
template<u8 log2_of_block_size>
|
||||||
inline DecoderErrorOr<void> Decoder::inverse_discrete_cosine_transform(Span<Intermediate> data)
|
ALWAYS_INLINE DecoderErrorOr<void> Decoder::inverse_discrete_cosine_transform(Span<Intermediate> data)
|
||||||
{
|
{
|
||||||
static_assert(log2_of_block_size >= 2 && log2_of_block_size <= 5, "Block size out of range.");
|
static_assert(log2_of_block_size >= 2 && log2_of_block_size <= 5, "Block size out of range.");
|
||||||
|
|
||||||
|
@ -1790,7 +1790,7 @@ inline DecoderErrorOr<void> Decoder::inverse_asymmetric_discrete_sine_transform(
|
||||||
}
|
}
|
||||||
|
|
||||||
template<u8 log2_of_block_size>
|
template<u8 log2_of_block_size>
|
||||||
DecoderErrorOr<void> Decoder::inverse_transform_2d(BlockContext const& block_context, Span<Intermediate> dequantized, TransformSet transform_set)
|
ALWAYS_INLINE DecoderErrorOr<void> Decoder::inverse_transform_2d(BlockContext const& block_context, Span<Intermediate> dequantized, TransformSet transform_set)
|
||||||
{
|
{
|
||||||
static_assert(log2_of_block_size >= 2 && log2_of_block_size <= 5);
|
static_assert(log2_of_block_size >= 2 && log2_of_block_size <= 5);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue