@ -53,11 +53,11 @@ public class Av1InverseTransformTests
/// </summary>
private static void AssertDctOperatorParity ( )
{
AssertOperatorParity < Av1Inverse2d Transformer . Dct4Operator > ( 4 ) ;
AssertOperatorParity < Av1Inverse2d Transformer . Dct8Operator > ( 8 ) ;
AssertOperatorParity < Av1Inverse2d Transformer . Dct16Operator > ( 1 6 ) ;
AssertOperatorParity < Av1Inverse2d Transformer . Dct32Operator > ( 3 2 ) ;
AssertOperatorParity < Av1Inverse2d Transformer . Dct64Operator > ( 6 4 ) ;
AssertOperatorParity < Av1InverseTransformer . Dct4Operator > ( 4 ) ;
AssertOperatorParity < Av1InverseTransformer . Dct8Operator > ( 8 ) ;
AssertOperatorParity < Av1InverseTransformer . Dct16Operator > ( 1 6 ) ;
AssertOperatorParity < Av1InverseTransformer . Dct32Operator > ( 3 2 ) ;
AssertOperatorParity < Av1InverseTransformer . Dct64Operator > ( 6 4 ) ;
}
/// <summary>
@ -65,9 +65,9 @@ public class Av1InverseTransformTests
/// </summary>
private static void AssertAdstOperatorParity ( )
{
AssertOperatorParity < Av1Inverse2d Transformer . Adst4Operator > ( 4 ) ;
AssertOperatorParity < Av1Inverse2d Transformer . Adst8Operator > ( 8 ) ;
AssertOperatorParity < Av1Inverse2d Transformer . Adst16Operator > ( 1 6 ) ;
AssertOperatorParity < Av1InverseTransformer . Adst4Operator > ( 4 ) ;
AssertOperatorParity < Av1InverseTransformer . Adst8Operator > ( 8 ) ;
AssertOperatorParity < Av1InverseTransformer . Adst16Operator > ( 1 6 ) ;
}
/// <summary>
@ -75,10 +75,10 @@ public class Av1InverseTransformTests
/// </summary>
private static void AssertIdentityOperatorParity ( )
{
AssertOperatorParity < Av1Inverse2d Transformer . Identity4Operator > ( 4 ) ;
AssertOperatorParity < Av1Inverse2d Transformer . Identity8Operator > ( 8 ) ;
AssertOperatorParity < Av1Inverse2d Transformer . Identity16Operator > ( 1 6 ) ;
AssertOperatorParity < Av1Inverse2d Transformer . Identity32Operator > ( 3 2 ) ;
AssertOperatorParity < Av1InverseTransformer . Identity4Operator > ( 4 ) ;
AssertOperatorParity < Av1InverseTransformer . Identity8Operator > ( 8 ) ;
AssertOperatorParity < Av1InverseTransformer . Identity16Operator > ( 1 6 ) ;
AssertOperatorParity < Av1InverseTransformer . Identity32Operator > ( 3 2 ) ;
}
/// <summary>
@ -108,14 +108,14 @@ public class Av1InverseTransformTests
Av1TransformVector < Vector256 < int > > adstOutput256 = default ;
Av1TransformVector < Vector256 < int > > adstStep256 = default ;
Av1Inverse2d Transformer . Adst4Operator . Transform (
Av1InverseTransformer . Adst4Operator . Transform (
ref adstInput128 ,
ref adstOutput128 ,
ref adstStep128 ,
cosBit ,
stageRange ) ;
Av1Inverse2d Transformer . Adst4Operator . Transform (
Av1InverseTransformer . Adst4Operator . Transform (
ref adstInput256 ,
ref adstOutput256 ,
ref adstStep256 ,
@ -148,7 +148,7 @@ public class Av1InverseTransformTests
2 6 2 _ 1 4 3 ,
- 2 6 2 _ 1 4 4 ) ;
AssertWidenedIdentityOperator < Av1Inverse2d Transformer . Identity4Operator > (
AssertWidenedIdentityOperator < Av1InverseTransformer . Identity4Operator > (
4 ,
identityInput128 ,
Vector128 . Create ( 7 4 1 _ 5 0 3 , - 7 4 1 _ 5 0 4 , 7 4 1 _ 5 0 1 , - 7 4 1 _ 5 0 3 ) ,
@ -156,7 +156,7 @@ public class Av1InverseTransformTests
Vector256 . Create ( 7 4 1 _ 5 0 3 , - 7 4 1 _ 5 0 4 , 7 4 1 _ 5 0 1 , - 7 4 1 _ 5 0 3 , 5 2 4 _ 3 2 2 , - 5 2 4 _ 3 2 3 , 3 7 0 _ 7 5 1 , - 3 7 0 _ 7 5 2 ) ,
stageRange ) ;
AssertWidenedIdentityOperator < Av1Inverse2d Transformer . Identity16Operator > (
AssertWidenedIdentityOperator < Av1InverseTransformer . Identity16Operator > (
1 6 ,
identityInput128 ,
Vector128 . Create ( 1 _ 4 8 3 _ 0 0 5 , - 1 _ 4 8 3 _ 0 0 8 , 1 _ 4 8 3 _ 0 0 2 , - 1 _ 4 8 3 _ 0 0 5 ) ,
@ -182,7 +182,7 @@ public class Av1InverseTransformTests
Vector256 < int > input256 ,
Vector256 < int > expected256 ,
Av1TransformStageRange stageRange )
where TOperator : struct , Av1Inverse2d Transformer . IAv1InverseTransform1dOperator
where TOperator : struct , Av1InverseTransformer . IAv1InverseTransform1dOperator
{
const int cosBit = 1 2 ;
Av1TransformVector < Vector128 < int > > values128 = default ;
@ -268,18 +268,18 @@ public class Av1InverseTransformTests
[Fact]
public void ForwardAndInverseOperatorPairsReconstructTheirInput ( )
{
AssertRoundTrip < Av1ForwardTransformer . Dct4Operator , Av1Inverse2d Transformer . Dct4Operator > ( Av1TransformType . DctDct , Av1TransformSize . Size4x4 , 1 , 1 ) ;
AssertRoundTrip < Av1ForwardTransformer . Dct8Operator , Av1Inverse2d Transformer . Dct8Operator > ( Av1TransformType . DctDct , Av1TransformSize . Size8x8 , 2 , 2 ) ;
AssertRoundTrip < Av1ForwardTransformer . Dct16Operator , Av1Inverse2d Transformer . Dct16Operator > ( Av1TransformType . DctDct , Av1TransformSize . Size16x16 , 3 , 3 ) ;
AssertRoundTrip < Av1ForwardTransformer . Dct32Operator , Av1Inverse2d Transformer . Dct32Operator > ( Av1TransformType . DctDct , Av1TransformSize . Size32x32 , 4 , 4 ) ;
AssertRoundTrip < Av1ForwardTransformer . Dct64Operator , Av1Inverse2d Transformer . Dct64Operator > ( Av1TransformType . DctDct , Av1TransformSize . Size64x64 , 5 , 5 ) ;
AssertRoundTrip < Av1ForwardTransformer . Adst4Operator , Av1Inverse2d Transformer . Adst4Operator > ( Av1TransformType . AdstAdst , Av1TransformSize . Size4x4 , 1 , 1 ) ;
AssertRoundTrip < Av1ForwardTransformer . Adst8Operator , Av1Inverse2d Transformer . Adst8Operator > ( Av1TransformType . AdstAdst , Av1TransformSize . Size8x8 , 2 , 2 ) ;
AssertRoundTrip < Av1ForwardTransformer . Adst16Operator , Av1Inverse2d Transformer . Adst16Operator > ( Av1TransformType . AdstAdst , Av1TransformSize . Size16x16 , 3 , 3 ) ;
AssertRoundTrip < Av1ForwardTransformer . Identity4Operator , Av1Inverse2d Transformer . Identity4Operator > ( Av1TransformType . Identity , Av1TransformSize . Size4x4 , 1 , 1 ) ;
AssertRoundTrip < Av1ForwardTransformer . Identity8Operator , Av1Inverse2d Transformer . Identity8Operator > ( Av1TransformType . Identity , Av1TransformSize . Size8x8 , 2 , 1 ) ;
AssertRoundTrip < Av1ForwardTransformer . Identity16Operator , Av1Inverse2d Transformer . Identity16Operator > ( Av1TransformType . Identity , Av1TransformSize . Size16x16 , 3 , 1 ) ;
AssertRoundTrip < Av1ForwardTransformer . Identity32Operator , Av1Inverse2d Transformer . Identity32Operator > ( Av1TransformType . Identity , Av1TransformSize . Size32x32 , 4 , 1 ) ;
AssertRoundTrip < Av1ForwardTransformer . Dct4Operator , Av1InverseTransformer . Dct4Operator > ( Av1TransformType . DctDct , Av1TransformSize . Size4x4 , 1 , 1 ) ;
AssertRoundTrip < Av1ForwardTransformer . Dct8Operator , Av1InverseTransformer . Dct8Operator > ( Av1TransformType . DctDct , Av1TransformSize . Size8x8 , 2 , 2 ) ;
AssertRoundTrip < Av1ForwardTransformer . Dct16Operator , Av1InverseTransformer . Dct16Operator > ( Av1TransformType . DctDct , Av1TransformSize . Size16x16 , 3 , 3 ) ;
AssertRoundTrip < Av1ForwardTransformer . Dct32Operator , Av1InverseTransformer . Dct32Operator > ( Av1TransformType . DctDct , Av1TransformSize . Size32x32 , 4 , 4 ) ;
AssertRoundTrip < Av1ForwardTransformer . Dct64Operator , Av1InverseTransformer . Dct64Operator > ( Av1TransformType . DctDct , Av1TransformSize . Size64x64 , 5 , 5 ) ;
AssertRoundTrip < Av1ForwardTransformer . Adst4Operator , Av1InverseTransformer . Adst4Operator > ( Av1TransformType . AdstAdst , Av1TransformSize . Size4x4 , 1 , 1 ) ;
AssertRoundTrip < Av1ForwardTransformer . Adst8Operator , Av1InverseTransformer . Adst8Operator > ( Av1TransformType . AdstAdst , Av1TransformSize . Size8x8 , 2 , 2 ) ;
AssertRoundTrip < Av1ForwardTransformer . Adst16Operator , Av1InverseTransformer . Adst16Operator > ( Av1TransformType . AdstAdst , Av1TransformSize . Size16x16 , 3 , 3 ) ;
AssertRoundTrip < Av1ForwardTransformer . Identity4Operator , Av1InverseTransformer . Identity4Operator > ( Av1TransformType . Identity , Av1TransformSize . Size4x4 , 1 , 1 ) ;
AssertRoundTrip < Av1ForwardTransformer . Identity8Operator , Av1InverseTransformer . Identity8Operator > ( Av1TransformType . Identity , Av1TransformSize . Size8x8 , 2 , 1 ) ;
AssertRoundTrip < Av1ForwardTransformer . Identity16Operator , Av1InverseTransformer . Identity16Operator > ( Av1TransformType . Identity , Av1TransformSize . Size16x16 , 3 , 1 ) ;
AssertRoundTrip < Av1ForwardTransformer . Identity32Operator , Av1InverseTransformer . Identity32Operator > ( Av1TransformType . Identity , Av1TransformSize . Size32x32 , 4 , 1 ) ;
}
/// <summary>
@ -596,7 +596,7 @@ public class Av1InverseTransformTests
/// <typeparam name="TOperator">The inverse transform operator.</typeparam>
/// <param name="length">The transform length.</param>
private static void AssertOperatorParity < TOperator > ( int length )
where TOperator : struct , Av1Inverse2d Transformer . IAv1InverseTransform1dOperator
where TOperator : struct , Av1InverseTransformer . IAv1InverseTransform1dOperator
{
const int cosBit = 1 2 ;
Av1TransformStageRange stageRange = default ;
@ -671,7 +671,7 @@ public class Av1InverseTransformTests
/// <param name="allowedError">The maximum permitted reconstruction error.</param>
private static void AssertRoundTrip < TForwardOperator , TInverseOperator > ( Av1TransformType transformType , Av1TransformSize transformSize , int scaleLog2 , int allowedError )
where TForwardOperator : struct , Av1ForwardTransformer . IAv1ForwardTransform1dOperator
where TInverseOperator : struct , Av1Inverse2d Transformer . IAv1InverseTransform1dOperator
where TInverseOperator : struct , Av1InverseTransformer . IAv1InverseTransform1dOperator
{
const int bitDepth = 1 0 ;
const int testBlockCount = 3 0 ;
@ -730,40 +730,40 @@ public class Av1InverseTransformTests
switch ( config . TransformFunctionTypeColumn )
{
case Av1TransformFunctionType . Dct4 :
DispatchRow < Av1Inverse2d Transformer . Dct4Operator > ( transformType , transformSize , bitDepth , ref config ) ;
DispatchRow < Av1InverseTransformer . Dct4Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Dct8 :
DispatchRow < Av1Inverse2d Transformer . Dct8Operator > ( transformType , transformSize , bitDepth , ref config ) ;
DispatchRow < Av1InverseTransformer . Dct8Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Dct16 :
DispatchRow < Av1Inverse2d Transformer . Dct16Operator > ( transformType , transformSize , bitDepth , ref config ) ;
DispatchRow < Av1InverseTransformer . Dct16Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Dct32 :
DispatchRow < Av1Inverse2d Transformer . Dct32Operator > ( transformType , transformSize , bitDepth , ref config ) ;
DispatchRow < Av1InverseTransformer . Dct32Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Dct64 :
DispatchRow < Av1Inverse2d Transformer . Dct64Operator > ( transformType , transformSize , bitDepth , ref config ) ;
DispatchRow < Av1InverseTransformer . Dct64Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Adst4 :
DispatchRow < Av1Inverse2d Transformer . Adst4Operator > ( transformType , transformSize , bitDepth , ref config ) ;
DispatchRow < Av1InverseTransformer . Adst4Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Adst8 :
DispatchRow < Av1Inverse2d Transformer . Adst8Operator > ( transformType , transformSize , bitDepth , ref config ) ;
DispatchRow < Av1InverseTransformer . Adst8Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Adst16 :
DispatchRow < Av1Inverse2d Transformer . Adst16Operator > ( transformType , transformSize , bitDepth , ref config ) ;
DispatchRow < Av1InverseTransformer . Adst16Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Identity4 :
DispatchRow < Av1Inverse2d Transformer . Identity4Operator > ( transformType , transformSize , bitDepth , ref config ) ;
DispatchRow < Av1InverseTransformer . Identity4Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Identity8 :
DispatchRow < Av1Inverse2d Transformer . Identity8Operator > ( transformType , transformSize , bitDepth , ref config ) ;
DispatchRow < Av1InverseTransformer . Identity8Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Identity16 :
DispatchRow < Av1Inverse2d Transformer . Identity16Operator > ( transformType , transformSize , bitDepth , ref config ) ;
DispatchRow < Av1InverseTransformer . Identity16Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Identity32 :
DispatchRow < Av1Inverse2d Transformer . Identity32Operator > ( transformType , transformSize , bitDepth , ref config ) ;
DispatchRow < Av1InverseTransformer . Identity32Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
default :
Assert . Fail ( $"Unexpected column function {config.TransformFunctionTypeColumn} for {transformType} {transformSize}." ) ;
@ -784,45 +784,45 @@ public class Av1InverseTransformTests
Av1TransformSize transformSize ,
int bitDepth ,
ref Av1Transform2dFlipConfiguration config )
where TColumnOperator : struct , Av1Inverse2d Transformer . IAv1InverseTransform1dOperator
where TColumnOperator : struct , Av1InverseTransformer . IAv1InverseTransform1dOperator
{
switch ( config . TransformFunctionTypeRow )
{
case Av1TransformFunctionType . Dct4 :
AssertTransform2dParity < TColumnOperator , Av1Inverse2d Transformer . Dct4Operator > ( transformType , transformSize , bitDepth , ref config ) ;
AssertTransform2dParity < TColumnOperator , Av1InverseTransformer . Dct4Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Dct8 :
AssertTransform2dParity < TColumnOperator , Av1Inverse2d Transformer . Dct8Operator > ( transformType , transformSize , bitDepth , ref config ) ;
AssertTransform2dParity < TColumnOperator , Av1InverseTransformer . Dct8Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Dct16 :
AssertTransform2dParity < TColumnOperator , Av1Inverse2d Transformer . Dct16Operator > ( transformType , transformSize , bitDepth , ref config ) ;
AssertTransform2dParity < TColumnOperator , Av1InverseTransformer . Dct16Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Dct32 :
AssertTransform2dParity < TColumnOperator , Av1Inverse2d Transformer . Dct32Operator > ( transformType , transformSize , bitDepth , ref config ) ;
AssertTransform2dParity < TColumnOperator , Av1InverseTransformer . Dct32Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Dct64 :
AssertTransform2dParity < TColumnOperator , Av1Inverse2d Transformer . Dct64Operator > ( transformType , transformSize , bitDepth , ref config ) ;
AssertTransform2dParity < TColumnOperator , Av1InverseTransformer . Dct64Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Adst4 :
AssertTransform2dParity < TColumnOperator , Av1Inverse2d Transformer . Adst4Operator > ( transformType , transformSize , bitDepth , ref config ) ;
AssertTransform2dParity < TColumnOperator , Av1InverseTransformer . Adst4Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Adst8 :
AssertTransform2dParity < TColumnOperator , Av1Inverse2d Transformer . Adst8Operator > ( transformType , transformSize , bitDepth , ref config ) ;
AssertTransform2dParity < TColumnOperator , Av1InverseTransformer . Adst8Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Adst16 :
AssertTransform2dParity < TColumnOperator , Av1Inverse2d Transformer . Adst16Operator > ( transformType , transformSize , bitDepth , ref config ) ;
AssertTransform2dParity < TColumnOperator , Av1InverseTransformer . Adst16Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Identity4 :
AssertTransform2dParity < TColumnOperator , Av1Inverse2d Transformer . Identity4Operator > ( transformType , transformSize , bitDepth , ref config ) ;
AssertTransform2dParity < TColumnOperator , Av1InverseTransformer . Identity4Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Identity8 :
AssertTransform2dParity < TColumnOperator , Av1Inverse2d Transformer . Identity8Operator > ( transformType , transformSize , bitDepth , ref config ) ;
AssertTransform2dParity < TColumnOperator , Av1InverseTransformer . Identity8Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Identity16 :
AssertTransform2dParity < TColumnOperator , Av1Inverse2d Transformer . Identity16Operator > ( transformType , transformSize , bitDepth , ref config ) ;
AssertTransform2dParity < TColumnOperator , Av1InverseTransformer . Identity16Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
case Av1TransformFunctionType . Identity32 :
AssertTransform2dParity < TColumnOperator , Av1Inverse2d Transformer . Identity32Operator > ( transformType , transformSize , bitDepth , ref config ) ;
AssertTransform2dParity < TColumnOperator , Av1InverseTransformer . Identity32Operator > ( transformType , transformSize , bitDepth , ref config ) ;
break ;
default :
Assert . Fail ( $"Unexpected row function {config.TransformFunctionTypeRow} for {transformType} {transformSize}." ) ;
@ -844,8 +844,8 @@ public class Av1InverseTransformTests
Av1TransformSize transformSize ,
int bitDepth ,
ref Av1Transform2dFlipConfiguration config )
where TColumnOperator : struct , Av1Inverse2d Transformer . IAv1InverseTransform1dOperator
where TRowOperator : struct , Av1Inverse2d Transformer . IAv1InverseTransform1dOperator
where TColumnOperator : struct , Av1InverseTransformer . IAv1InverseTransform1dOperator
where TRowOperator : struct , Av1InverseTransformer . IAv1InverseTransform1dOperator
{
int width = transformSize . GetWidth ( ) ;
int height = transformSize . GetHeight ( ) ;
@ -895,8 +895,8 @@ public class Av1InverseTransformTests
int [ ] coefficients ,
Av1TransformSize transformSize ,
ref Av1Transform2dFlipConfiguration config )
where TColumnOperator : struct , Av1Inverse2d Transformer . IAv1InverseTransform1dOperator
where TRowOperator : struct , Av1Inverse2d Transformer . IAv1InverseTransform1dOperator
where TColumnOperator : struct , Av1InverseTransformer . IAv1InverseTransform1dOperator
where TRowOperator : struct , Av1InverseTransformer . IAv1InverseTransform1dOperator
{
const int bitDepth = 8 ;
int width = transformSize . GetWidth ( ) ;
@ -921,10 +921,10 @@ public class Av1InverseTransformTests
Array . Fill ( scalar , byte . MaxValue ) ;
Array . Fill ( vector128 , byte . MaxValue ) ;
Av1Inverse2d Transformer . Transform2dScalar < byte , Av1Inverse2d Transformer . OutputOperator < byte > , TColumnOperator , TRowOperator > (
Av1InverseTransformer . Transform2dScalar < byte , Av1InverseTransformer . OutputOperator < byte > , TColumnOperator , TRowOperator > (
coefficients , prediction , readStride , scalar , writeStride , ref config , scalarWorkspace , bitDepth ) ;
Av1Inverse2d Transformer . Transform2dVector128 < byte , Av1Inverse2d Transformer . OutputOperator < byte > , TColumnOperator , TRowOperator > (
Av1InverseTransformer . Transform2dVector128 < byte , Av1InverseTransformer . OutputOperator < byte > , TColumnOperator , TRowOperator > (
coefficients , prediction , readStride , vector128 , writeStride , ref config , vector128Workspace , bitDepth ) ;
Assert . Equal ( scalar , vector128 ) ;
@ -935,7 +935,7 @@ public class Av1InverseTransformTests
int [ ] vector256Workspace = new int [ workspaceLength ] ;
Array . Fill ( vector256 , byte . MaxValue ) ;
Av1Inverse2d Transformer . Transform2dVector256 < byte , Av1Inverse2d Transformer . OutputOperator < byte > , TColumnOperator , TRowOperator > (
Av1InverseTransformer . Transform2dVector256 < byte , Av1InverseTransformer . OutputOperator < byte > , TColumnOperator , TRowOperator > (
coefficients , prediction , readStride , vector256 , writeStride , ref config , vector256Workspace , bitDepth ) ;
Assert . Equal ( scalar , vector256 ) ;
@ -956,8 +956,8 @@ public class Av1InverseTransformTests
Av1TransformSize transformSize ,
int bitDepth ,
ref Av1Transform2dFlipConfiguration config )
where TColumnOperator : struct , Av1Inverse2d Transformer . IAv1InverseTransform1dOperator
where TRowOperator : struct , Av1Inverse2d Transformer . IAv1InverseTransform1dOperator
where TColumnOperator : struct , Av1InverseTransformer . IAv1InverseTransform1dOperator
where TRowOperator : struct , Av1InverseTransformer . IAv1InverseTransform1dOperator
{
int width = transformSize . GetWidth ( ) ;
int height = transformSize . GetHeight ( ) ;
@ -982,10 +982,10 @@ public class Av1InverseTransformTests
Array . Fill ( scalar , short . MinValue ) ;
Array . Fill ( vector128 , short . MinValue ) ;
Av1Inverse2d Transformer . Transform2dScalar < short , Av1Inverse2d Transformer . OutputOperator < short > , TColumnOperator , TRowOperator > (
Av1InverseTransformer . Transform2dScalar < short , Av1InverseTransformer . OutputOperator < short > , TColumnOperator , TRowOperator > (
coefficients , prediction , readStride , scalar , writeStride , ref config , scalarWorkspace , bitDepth ) ;
Av1Inverse2d Transformer . Transform2dVector128 < short , Av1Inverse2d Transformer . OutputOperator < short > , TColumnOperator , TRowOperator > (
Av1InverseTransformer . Transform2dVector128 < short , Av1InverseTransformer . OutputOperator < short > , TColumnOperator , TRowOperator > (
coefficients , prediction , readStride , vector128 , writeStride , ref config , vector128Workspace , bitDepth ) ;
Assert . Equal ( scalar , vector128 ) ;
@ -996,7 +996,7 @@ public class Av1InverseTransformTests
int [ ] vector256Workspace = new int [ workspaceLength ] ;
Array . Fill ( vector256 , short . MinValue ) ;
Av1Inverse2d Transformer . Transform2dVector256 < short , Av1Inverse2d Transformer . OutputOperator < short > , TColumnOperator , TRowOperator > (
Av1InverseTransformer . Transform2dVector256 < short , Av1InverseTransformer . OutputOperator < short > , TColumnOperator , TRowOperator > (
coefficients , prediction , readStride , vector256 , writeStride , ref config , vector256Workspace , bitDepth ) ;
Assert . Equal ( scalar , vector256 ) ;