#include <stdint.h>
#include <vector>
#include "gtest/gtest.h"
#include "av1/encoder/block.h"
#include "av1/encoder/encodemb.h"
#include "av1/common/scan.h"
namespace {
void ToScanOrder(TX_SIZE tx_size, TX_TYPE tx_type, tran_low_t *qcoeff_lexico,
tran_low_t *qcoeff_scan) { … }
void ToLexicoOrder(TX_SIZE tx_size, TX_TYPE tx_type, tran_low_t *qcoeff_scan,
tran_low_t *qcoeff_lexico) { … }
void Dropout(TX_SIZE tx_size, TX_TYPE tx_type, int dropout_num_before,
int dropout_num_after, tran_low_t *qcoeff_scan) { … }
void ExpectArrayEq(tran_low_t *actual, std::vector<tran_low_t> expected) { … }
static constexpr TX_TYPE kTxType = …;
TEST(DropoutTest, KeepsLargeCoeffs) { … }
TEST(DropoutTest, RemovesSmallIsolatedCoeffs) { … }
TEST(DropoutTest, KeepsSmallCoeffsAmongLargeOnes) { … }
TEST(DropoutTest, KeepsSmallCoeffsCloseToStartOrEnd) { … }
TEST(DropoutTest, RemovesSmallClusterOfCoeffs) { … }
TEST(DropoutTest, KeepsLargeClusterOfCoeffs) { … }
TEST(DropoutTest, NumBeforeLargerThanNumAfter) { … }
TEST(DropoutTest, ComplexTest) { … }
}