mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 15:17:36 +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>
|
||||
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.");
|
||||
|
||||
|
@ -1790,7 +1790,7 @@ inline DecoderErrorOr<void> Decoder::inverse_asymmetric_discrete_sine_transform(
|
|||
}
|
||||
|
||||
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);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue