Add compiler warning flag -Wextra and fix related warnings.

Note: some of these warnings are enabled by a combination of -Wunused
(added earlier) and -Wextra.

Change-Id: I322a1366bd4fd6c0dec9e758c2d5e88e003b1cbf
This commit is contained in:
Urvang Joshi 2016-07-14 12:33:48 -07:00
Родитель 45592a39d3
Коммит 4790a69faa
31 изменённых файлов: 112 добавлений и 126 удалений

Просмотреть файл

@ -65,6 +65,10 @@ void aom_convolve8_avg_horiz_neon(const uint8_t *src, ptrdiff_t src_stride,
assert(x_step_q4 == 16);
(void)x_step_q4;
(void)y_step_q4;
(void)filter_y;
q0s16 = vld1q_s16(filter_x);
src -= 3; // adjust for taps
@ -241,6 +245,10 @@ void aom_convolve8_avg_vert_neon(const uint8_t *src, ptrdiff_t src_stride,
assert(y_step_q4 == 16);
(void)x_step_q4;
(void)y_step_q4;
(void)filter_x;
src -= src_stride * 3;
q0s16 = vld1q_s16(filter_y);
for (; w > 0; w -= 4, src += 4, dst += 4) { // loop_vert_h

Просмотреть файл

@ -65,6 +65,10 @@ void aom_convolve8_horiz_neon(const uint8_t *src, ptrdiff_t src_stride,
assert(x_step_q4 == 16);
(void)x_step_q4;
(void)y_step_q4;
(void)filter_y;
q0s16 = vld1q_s16(filter_x);
src -= 3; // adjust for taps
@ -225,6 +229,10 @@ void aom_convolve8_vert_neon(const uint8_t *src, ptrdiff_t src_stride,
assert(y_step_q4 == 16);
(void)x_step_q4;
(void)y_step_q4;
(void)filter_x;
src -= src_stride * 3;
q0s16 = vld1q_s16(filter_y);
for (; w > 0; w -= 4, src += 4, dst += 4) { // loop_vert_h

Просмотреть файл

@ -49,6 +49,7 @@ void aom_highbd_blend_a64_hmask_c(uint8_t *dst_8, uint32_t dst_stride,
uint16_t *dst = CONVERT_TO_SHORTPTR(dst_8);
const uint16_t *src0 = CONVERT_TO_SHORTPTR(src0_8);
const uint16_t *src1 = CONVERT_TO_SHORTPTR(src1_8);
(void)bd;
assert(IMPLIES(src0 == dst, src0_stride == dst_stride));
assert(IMPLIES(src1 == dst, src1_stride == dst_stride));

Просмотреть файл

@ -89,6 +89,7 @@ void aom_highbd_blend_a64_mask_c(uint8_t *dst_8, uint32_t dst_stride,
uint16_t *dst = CONVERT_TO_SHORTPTR(dst_8);
const uint16_t *src0 = CONVERT_TO_SHORTPTR(src0_8);
const uint16_t *src1 = CONVERT_TO_SHORTPTR(src1_8);
(void)bd;
assert(IMPLIES(src0 == dst, src0_stride == dst_stride));
assert(IMPLIES(src1 == dst, src1_stride == dst_stride));

Просмотреть файл

@ -50,6 +50,7 @@ void aom_highbd_blend_a64_vmask_c(uint8_t *dst_8, uint32_t dst_stride,
uint16_t *dst = CONVERT_TO_SHORTPTR(dst_8);
const uint16_t *src0 = CONVERT_TO_SHORTPTR(src0_8);
const uint16_t *src1 = CONVERT_TO_SHORTPTR(src1_8);
(void)bd;
assert(IMPLIES(src0 == dst, src0_stride == dst_stride));
assert(IMPLIES(src1 == dst, src1_stride == dst_stride));

Просмотреть файл

@ -202,6 +202,7 @@ static void fs_apply_luminance(fs_ctx *_ctx, int _l, int bit_depth) {
if (bit_depth == 12) ssim_c1 = SSIM_C1_12;
#else
assert(bit_depth == 8);
(void)bit_depth;
#endif
w = _ctx->level[_l].w;
h = _ctx->level[_l].h;
@ -326,6 +327,7 @@ static void fs_calc_structure(fs_ctx *_ctx, int _l, int bit_depth) {
if (bit_depth == 12) ssim_c2 = SSIM_C2_12;
#else
assert(bit_depth == 8);
(void)bit_depth;
#endif
w = _ctx->level[_l].w;

Просмотреть файл

@ -302,6 +302,7 @@ void aom_ve_predictor_2x2_c(uint8_t *dst, ptrdiff_t stride,
const int I = above[0];
const int J = above[1];
const int K = above[2];
(void)left;
dst[0] = AVG3(H, I, J);
dst[1] = AVG3(I, J, K);
@ -435,6 +436,7 @@ void aom_ve_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
const int K = above[2];
const int L = above[3];
const int M = above[4];
(void)left;
dst[0] = AVG3(H, I, J);
dst[1] = AVG3(I, J, K);

Просмотреть файл

@ -26,6 +26,10 @@ typedef void filter8_1dfunction(const uint8_t *src_ptr, ptrdiff_t src_pitch,
const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, \
ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, \
const int16_t *filter_y, int y_step_q4, int w, int h) { \
(void) filter_x; \
(void) x_step_q4; \
(void) filter_y; \
(void) y_step_q4; \
assert(filter[3] != 128); \
assert(step_q4 == 16); \
if (filter[0] || filter[1] || filter[2]) { \

Просмотреть файл

@ -1387,10 +1387,11 @@ static void open_output_file(struct stream_state *stream,
#if CONFIG_WEBM_IO
if (stream->config.write_webm) {
stream->ebml.stream = stream->file;
write_webm_file_header(&stream->ebml, cfg, &global->framerate,
stream->config.stereo_fmt, global->codec->fourcc,
pixel_aspect_ratio);
write_webm_file_header(&stream->ebml, cfg, stream->config.stereo_fmt,
global->codec->fourcc, pixel_aspect_ratio);
}
#else
(void)pixel_aspect_ratio;
#endif
if (!stream->config.write_webm) {
@ -1710,8 +1711,7 @@ static float usec_to_fps(uint64_t usec, unsigned int frames) {
}
static void test_decode(struct stream_state *stream,
enum TestDecodeFatality fatal,
const AvxInterface *codec) {
enum TestDecodeFatality fatal) {
aom_image_t enc_img, dec_img;
struct av1_ref_frame ref_enc, ref_dec;
@ -2128,7 +2128,7 @@ int main(int argc, const char **argv_) {
}
if (got_data && global.test_decode != TEST_DECODE_OFF)
FOREACH_STREAM(test_decode(stream, global.test_decode, global.codec));
FOREACH_STREAM(test_decode(stream, global.test_decode));
}
fflush(stdout);

4
configure поставляемый
Просмотреть файл

@ -577,6 +577,10 @@ process_toolchain() {
check_add_cflags -Wuninitialized
check_add_cflags -Wunused
check_add_cflags -Wsign-compare
# Enabling the following warning (in combination with -Wunused above)
# for C++ generates errors in third_party code including googletest and
# libyuv. So enable it only for C code.
check_cflags "-Wextra" && add_cflags_only "-Wextra"
# Enabling the following warning for C++ generates some useless warnings
# about some function parameters shadowing class member function names.
# So, only enable this warning for C code.

Просмотреть файл

@ -191,8 +191,7 @@ static void find_mismatch(const aom_image_t *const img1,
}
static void testing_decode(aom_codec_ctx_t *encoder, aom_codec_ctx_t *decoder,
aom_codec_enc_cfg_t *cfg, unsigned int frame_out,
int *mismatch_seen) {
unsigned int frame_out, int *mismatch_seen) {
aom_image_t enc_img, dec_img;
struct av1_ref_frame ref_enc, ref_dec;
@ -226,11 +225,10 @@ static void testing_decode(aom_codec_ctx_t *encoder, aom_codec_ctx_t *decoder,
aom_img_free(&dec_img);
}
static int encode_frame(aom_codec_ctx_t *ecodec, aom_codec_enc_cfg_t *cfg,
aom_image_t *img, unsigned int frame_in,
AvxVideoWriter *writer, int test_decode,
aom_codec_ctx_t *dcodec, unsigned int *frame_out,
int *mismatch_seen) {
static int encode_frame(aom_codec_ctx_t *ecodec, aom_image_t *img,
unsigned int frame_in, AvxVideoWriter *writer,
int test_decode, aom_codec_ctx_t *dcodec,
unsigned int *frame_out, int *mismatch_seen) {
int got_pkts = 0;
aom_codec_iter_t iter = NULL;
const aom_codec_cx_pkt_t *pkt = NULL;
@ -271,7 +269,7 @@ static int encode_frame(aom_codec_ctx_t *ecodec, aom_codec_enc_cfg_t *cfg,
// Mismatch checking
if (got_data && test_decode) {
testing_decode(ecodec, dcodec, cfg, *frame_out, mismatch_seen);
testing_decode(ecodec, dcodec, *frame_out, mismatch_seen);
}
return got_pkts;
@ -404,7 +402,7 @@ int main(int argc, char **argv) {
}
}
encode_frame(&ecodec, &cfg, &raw, frame_in, writer, test_decode, &dcodec,
encode_frame(&ecodec, &raw, frame_in, writer, test_decode, &dcodec,
&frame_out, &mismatch_seen);
frame_in++;
if (mismatch_seen) break;
@ -412,8 +410,8 @@ int main(int argc, char **argv) {
// Flush encoder.
if (!mismatch_seen)
while (encode_frame(&ecodec, &cfg, NULL, frame_in, writer, test_decode,
&dcodec, &frame_out, &mismatch_seen)) {
while (encode_frame(&ecodec, NULL, frame_in, writer, test_decode, &dcodec,
&frame_out, &mismatch_seen)) {
}
printf("\n");

Просмотреть файл

@ -53,7 +53,6 @@ const size_t maxHeight = 256;
const size_t maxBlockSize = maxWidth * maxHeight;
const int horizOffset = 32;
const int vertiOffset = 32;
const size_t testMaxBlk = 128;
const int stride = 128;
const int x_step_q4 = 16;
@ -89,7 +88,7 @@ class VP10ConvolveOptimzTest : public ::testing::TestWithParam<ConvParams> {
void RunVertFilterBitExactCheck();
private:
void PrepFilterBuffer(int w, int h);
void PrepFilterBuffer();
void DiffFilterBuffer();
conv_filter_t conv_horiz_;
conv_filter_t conv_vert_;
@ -105,7 +104,7 @@ class VP10ConvolveOptimzTest : public ::testing::TestWithParam<ConvParams> {
int avg_;
};
void VP10ConvolveOptimzTest::PrepFilterBuffer(int w, int h) {
void VP10ConvolveOptimzTest::PrepFilterBuffer() {
int r, c;
ACMRandom rnd(ACMRandom::DeterministicSeed());
@ -149,7 +148,7 @@ void VP10ConvolveOptimzTest::DiffFilterBuffer() {
}
void VP10ConvolveOptimzTest::RunHorizFilterBitExactCheck() {
PrepFilterBuffer(testMaxBlk, testMaxBlk);
PrepFilterBuffer();
InterpFilterParams filter_params = get_interp_filter_params(filter_);
@ -166,7 +165,7 @@ void VP10ConvolveOptimzTest::RunHorizFilterBitExactCheck() {
// and test again.
int intermediate_height =
(((height_ - 1) * 16 + subpel_) >> SUBPEL_BITS) + filter_params.taps;
PrepFilterBuffer(testMaxBlk, testMaxBlk);
PrepFilterBuffer();
av1_convolve_horiz_c(src_ref_, stride, dst_ref_, stride, width_,
intermediate_height, filter_params, subpel_, x_step_q4,
@ -179,7 +178,7 @@ void VP10ConvolveOptimzTest::RunHorizFilterBitExactCheck() {
}
void VP10ConvolveOptimzTest::RunVertFilterBitExactCheck() {
PrepFilterBuffer(testMaxBlk, testMaxBlk);
PrepFilterBuffer();
InterpFilterParams filter_params = get_interp_filter_params(filter_);
@ -265,7 +264,7 @@ class VP10HbdConvolveOptimzTest : public TestWithHbdConvParams {
void RunVertFilterBitExactCheck();
private:
void PrepFilterBuffer(int w, int h);
void PrepFilterBuffer();
void DiffFilterBuffer();
hbd_conv_filter_t conv_horiz_;
hbd_conv_filter_t conv_vert_;
@ -282,7 +281,7 @@ class VP10HbdConvolveOptimzTest : public TestWithHbdConvParams {
int bit_depth_;
};
void VP10HbdConvolveOptimzTest::PrepFilterBuffer(int w, int h) {
void VP10HbdConvolveOptimzTest::PrepFilterBuffer() {
int r, c;
ACMRandom rnd(ACMRandom::DeterministicSeed());
@ -325,7 +324,7 @@ void VP10HbdConvolveOptimzTest::DiffFilterBuffer() {
}
void VP10HbdConvolveOptimzTest::RunHorizFilterBitExactCheck() {
PrepFilterBuffer(testMaxBlk, testMaxBlk);
PrepFilterBuffer();
InterpFilterParams filter_params = get_interp_filter_params(filter_);
@ -343,7 +342,7 @@ void VP10HbdConvolveOptimzTest::RunHorizFilterBitExactCheck() {
// and test again.
int intermediate_height =
(((height_ - 1) * 16 + subpel_) >> SUBPEL_BITS) + filter_params.taps;
PrepFilterBuffer(testMaxBlk, testMaxBlk);
PrepFilterBuffer();
av1_highbd_convolve_horiz_c(src_, stride, dst_ref_, stride, width_,
intermediate_height, filter_params, subpel_,
@ -356,7 +355,7 @@ void VP10HbdConvolveOptimzTest::RunHorizFilterBitExactCheck() {
}
void VP10HbdConvolveOptimzTest::RunVertFilterBitExactCheck() {
PrepFilterBuffer(testMaxBlk, testMaxBlk);
PrepFilterBuffer();
InterpFilterParams filter_params = get_interp_filter_params(filter_);

Просмотреть файл

@ -54,17 +54,17 @@ class AverageTestBase : public ::testing::Test {
}
// Sum Pixels
unsigned int ReferenceAverage8x8(const uint8_t *source, int pitch) {
static unsigned int ReferenceAverage8x8(const uint8_t *source, int pitch) {
unsigned int average = 0;
for (int h = 0; h < 8; ++h)
for (int w = 0; w < 8; ++w) average += source[h * source_stride_ + w];
for (int w = 0; w < 8; ++w) average += source[h * pitch + w];
return ((average + 32) >> 6);
}
unsigned int ReferenceAverage4x4(const uint8_t *source, int pitch) {
static unsigned int ReferenceAverage4x4(const uint8_t *source, int pitch) {
unsigned int average = 0;
for (int h = 0; h < 4; ++h)
for (int w = 0; w < 4; ++w) average += source[h * source_stride_ + w];
for (int w = 0; w < 4; ++w) average += source[h * pitch + w];
return ((average + 8) >> 4);
}
@ -97,11 +97,12 @@ class AverageTest : public AverageTestBase,
protected:
void CheckAverages() {
const int block_size = GET_PARAM(3);
unsigned int expected = 0;
if (GET_PARAM(3) == 8) {
if (block_size == 8) {
expected =
ReferenceAverage8x8(source_data_ + GET_PARAM(2), source_stride_);
} else if (GET_PARAM(3) == 4) {
} else if (block_size == 4) {
expected =
ReferenceAverage4x4(source_data_ + GET_PARAM(2), source_stride_);
}

Просмотреть файл

@ -123,6 +123,9 @@ class AV1CodecFactory : public CodecFactory {
#if CONFIG_AV1_DECODER
return new AV1Decoder(cfg, flags, deadline);
#else
(void)cfg;
(void)flags;
(void)deadline;
return NULL;
#endif
}
@ -134,6 +137,10 @@ class AV1CodecFactory : public CodecFactory {
#if CONFIG_AV1_ENCODER
return new AV1Encoder(cfg, deadline, init_flags, stats);
#else
(void)cfg;
(void)deadline;
(void)init_flags;
(void)stats;
return NULL;
#endif
}
@ -143,6 +150,8 @@ class AV1CodecFactory : public CodecFactory {
#if CONFIG_AV1_ENCODER
return aom_codec_enc_config_default(&aom_codec_av1_cx_algo, cfg, usage);
#else
(void)cfg;
(void)usage;
return AOM_CODEC_INCAPABLE;
#endif
}

Просмотреть файл

@ -246,7 +246,7 @@ void highbd_filter_block2d_8_c(const uint16_t *src_ptr,
void highbd_block2d_average_c(uint16_t *src, unsigned int src_stride,
uint16_t *output_ptr, unsigned int output_stride,
unsigned int output_width,
unsigned int output_height, int bd) {
unsigned int output_height) {
unsigned int i, j;
for (i = 0; i < output_height; ++i) {
for (j = 0; j < output_width; ++j) {
@ -268,7 +268,7 @@ void highbd_filter_average_block2d_8_c(
highbd_filter_block2d_8_c(src_ptr, src_stride, HFilter, VFilter, tmp, 64,
output_width, output_height, bd);
highbd_block2d_average_c(tmp, 64, dst_ptr, dst_stride, output_width,
output_height, bd);
output_height);
}
#endif // CONFIG_AOM_HIGHBITDEPTH

Просмотреть файл

@ -287,11 +287,6 @@ class DatarateTestAV1Large
denoiser_offon_period_ = -1;
}
int SetFrameFlags(int frame_num, int num_temp_layers) {
int frame_flags = 0;
return frame_flags;
}
virtual void PreEncodeFrameHook(::libaom_test::VideoSource *video,
::libaom_test::Encoder *encoder) {
if (video->frame() == 0) encoder->Control(AOME_SET_CPUUSED, set_cpu_used_);

Просмотреть файл

@ -272,12 +272,12 @@ void idct16x16_12(const tran_low_t *in, uint8_t *out, int stride) {
}
void idct16x16_10_ref(const tran_low_t *in, uint8_t *out, int stride,
int tx_type) {
int /*tx_type*/) {
idct16x16_10(in, out, stride);
}
void idct16x16_12_ref(const tran_low_t *in, uint8_t *out, int stride,
int tx_type) {
int /*tx_type*/) {
idct16x16_12(in, out, stride);
}
@ -736,7 +736,7 @@ class InvTrans16x16DCT : public Trans16x16TestBase,
virtual void TearDown() { libaom_test::ClearSystemState(); }
protected:
void RunFwdTxfm(int16_t *in, tran_low_t *out, int stride) {}
void RunFwdTxfm(int16_t * /*in*/, tran_low_t * /*out*/, int /*stride*/) {}
void RunInvTxfm(tran_low_t *out, uint8_t *dst, int stride) {
inv_txfm_(out, dst, stride);
}

Просмотреть файл

@ -86,7 +86,7 @@ void DecoderTest::RunLoop(CompressedVideoSource *video,
aom_codec_err_t res_dec =
decoder->DecodeFrame(video->cxdata(), video->frame_size());
if (!HandleDecodeResult(res_dec, *video, decoder)) break;
if (!HandleDecodeResult(res_dec, decoder)) break;
} else {
// Signal end of the file to the decoder.
const aom_codec_err_t res_dec = decoder->DecodeFrame(NULL, 0);

Просмотреть файл

@ -139,7 +139,6 @@ class DecoderTest {
// Hook to be called to handle decode result. Return true to continue.
virtual bool HandleDecodeResult(const aom_codec_err_t res_dec,
const CompressedVideoSource & /*video*/,
Decoder *decoder) {
EXPECT_EQ(AOM_CODEC_OK, res_dec) << decoder->DecodeError();
return AOM_CODEC_OK == res_dec;

Просмотреть файл

@ -202,7 +202,7 @@ void EncoderTest::RunLoop(VideoSource *video) {
aom_codec_err_t res_dec = decoder->DecodeFrame(
(const uint8_t *)pkt->data.frame.buf, pkt->data.frame.sz);
if (!HandleDecodeResult(res_dec, *video, decoder)) break;
if (!HandleDecodeResult(res_dec, decoder)) break;
has_dxdata = true;
}
@ -220,7 +220,7 @@ void EncoderTest::RunLoop(VideoSource *video) {
// Flush the decoder when there are no more fragments.
if ((init_flags_ & AOM_CODEC_USE_OUTPUT_PARTITION) && has_dxdata) {
const aom_codec_err_t res_dec = decoder->DecodeFrame(NULL, 0);
if (!HandleDecodeResult(res_dec, *video, decoder)) break;
if (!HandleDecodeResult(res_dec, decoder)) break;
}
if (has_dxdata && has_cxdata) {

Просмотреть файл

@ -233,7 +233,6 @@ class EncoderTest {
// Hook to be called to handle decode result. Return true to continue.
virtual bool HandleDecodeResult(const aom_codec_err_t res_dec,
const VideoSource & /*video*/,
Decoder *decoder) {
EXPECT_EQ(AOM_CODEC_OK, res_dec) << decoder->DecodeError();
return AOM_CODEC_OK == res_dec;

Просмотреть файл

@ -46,9 +46,9 @@ struct EncodeParameters {
};
const EncodeParameters kAV1EncodeParameterSet[] = {
{ 0, 0, 0, 1, 0, AOM_CR_STUDIO_RANGE, AOM_CS_BT_601 },
{ 0, 0, 0, 0, 0, AOM_CR_FULL_RANGE, AOM_CS_BT_709 },
{ 0, 0, 1, 0, 0, AOM_CR_FULL_RANGE, AOM_CS_BT_2020 },
{ 0, 0, 0, 1, 0, AOM_CR_STUDIO_RANGE, AOM_CS_BT_601, { 0, 0 } },
{ 0, 0, 0, 0, 0, AOM_CR_FULL_RANGE, AOM_CS_BT_709, { 0, 0 } },
{ 0, 0, 1, 0, 0, AOM_CR_FULL_RANGE, AOM_CS_BT_2020, { 0, 0 } },
{ 0, 2, 0, 0, 1, AOM_CR_STUDIO_RANGE, AOM_CS_UNKNOWN, { 640, 480 } },
// TODO(JBB): Test profiles (requires more work).
};
@ -94,7 +94,6 @@ class AvxEncoderParmsGetToDecoder
}
virtual bool HandleDecodeResult(const aom_codec_err_t res_dec,
const libaom_test::VideoSource &video,
libaom_test::Decoder *decoder) {
aom_codec_ctx_t *const av1_decoder = decoder->GetDecoder();
aom_codec_alg_priv_t *const priv =

Просмотреть файл

@ -55,8 +55,7 @@ class ErrorResilienceTestLarge
nframes_++;
}
virtual void PreEncodeFrameHook(libaom_test::VideoSource *video,
::libaom_test::Encoder *encoder) {
virtual void PreEncodeFrameHook(libaom_test::VideoSource *video) {
frame_flags_ &=
~(AOM_EFLAG_NO_UPD_LAST | AOM_EFLAG_NO_UPD_GF | AOM_EFLAG_NO_UPD_ARF);
// For temporal layer case.
@ -255,48 +254,6 @@ class ErrorResilienceTestLargeCodecControls
SetMode(encoding_mode_);
}
//
// Frame flags and layer id for temporal layers.
//
// For two layers, test pattern is:
// 1 3
// 0 2 .....
// For three layers, test pattern is:
// 1 3 5 7
// 2 6
// 0 4 ....
// LAST is always update on base/layer 0, GOLDEN is updated on layer 1,
// and ALTREF is updated on top layer for 3 layer pattern.
int SetFrameFlags(int frame_num, int num_temp_layers) {
int frame_flags = 0;
if (num_temp_layers == 2) {
if (frame_num % 2 == 0) {
// Layer 0: predict from L and ARF, update L.
frame_flags =
AOM_EFLAG_NO_REF_GF | AOM_EFLAG_NO_UPD_GF | AOM_EFLAG_NO_UPD_ARF;
} else {
// Layer 1: predict from L, G and ARF, and update G.
frame_flags = AOM_EFLAG_NO_UPD_ARF | AOM_EFLAG_NO_UPD_LAST |
AOM_EFLAG_NO_UPD_ENTROPY;
}
} else if (num_temp_layers == 3) {
if (frame_num % 4 == 0) {
// Layer 0: predict from L, update L.
frame_flags = AOM_EFLAG_NO_UPD_GF | AOM_EFLAG_NO_UPD_ARF |
AOM_EFLAG_NO_REF_GF | AOM_EFLAG_NO_REF_ARF;
} else if ((frame_num - 2) % 4 == 0) {
// Layer 1: predict from L, G, update G.
frame_flags =
AOM_EFLAG_NO_UPD_ARF | AOM_EFLAG_NO_UPD_LAST | AOM_EFLAG_NO_REF_ARF;
} else if ((frame_num - 1) % 2 == 0) {
// Layer 2: predict from L, G, ARF; update ARG.
frame_flags = AOM_EFLAG_NO_UPD_GF | AOM_EFLAG_NO_UPD_LAST;
}
}
return frame_flags;
}
virtual void FramePktHook(const aom_codec_cx_pkt_t *pkt) {
// Time since last timestamp = duration.
aom_codec_pts_t duration = pkt->data.frame.pts - last_pts_;

Просмотреть файл

@ -54,7 +54,7 @@ class AVxEncoderThreadTest
encoder_initialized_ = false;
}
virtual void PreEncodeFrameHook(::libaom_test::VideoSource *video,
virtual void PreEncodeFrameHook(::libaom_test::VideoSource * /*video*/,
::libaom_test::Encoder *encoder) {
if (!encoder_initialized_) {
// Encode 4 column tiles.
@ -81,7 +81,6 @@ class AVxEncoderThreadTest
}
virtual bool HandleDecodeResult(const aom_codec_err_t res,
const libaom_test::VideoSource & /*video*/,
libaom_test::Decoder * /*decoder*/) {
if (res != AOM_CODEC_OK) {
EXPECT_EQ(AOM_CODEC_OK, res);

Просмотреть файл

@ -40,7 +40,8 @@ typedef void (*IhtFunc)(const tran_low_t *in, uint8_t *out, int stride,
typedef std::tr1::tuple<FdctFunc, IdctFunc, int, aom_bit_depth_t> Dct4x4Param;
typedef std::tr1::tuple<FhtFunc, IhtFunc, int, aom_bit_depth_t> Ht4x4Param;
void fdct4x4_ref(const int16_t *in, tran_low_t *out, int stride, int tx_type) {
void fdct4x4_ref(const int16_t *in, tran_low_t *out, int stride,
int /*tx_type*/) {
aom_fdct4x4_c(in, out, stride);
}
@ -48,7 +49,8 @@ void fht4x4_ref(const int16_t *in, tran_low_t *out, int stride, int tx_type) {
av1_fht4x4_c(in, out, stride, tx_type);
}
void fwht4x4_ref(const int16_t *in, tran_low_t *out, int stride, int tx_type) {
void fwht4x4_ref(const int16_t *in, tran_low_t *out, int stride,
int /*tx_type*/) {
av1_fwht4x4_c(in, out, stride);
}

Просмотреть файл

@ -48,7 +48,7 @@ typedef std::tr1::tuple<FdctFunc, IdctFunc, int, aom_bit_depth_t> Dct8x8Param;
typedef std::tr1::tuple<FhtFunc, IhtFunc, int, aom_bit_depth_t> Ht8x8Param;
typedef std::tr1::tuple<IdctFunc, IdctFunc, int, aom_bit_depth_t> Idct8x8Param;
void reference_8x8_dct_1d(const double in[8], double out[8], int stride) {
void reference_8x8_dct_1d(const double in[8], double out[8]) {
const double kInvSqrt2 = 0.707106781186547524400844362104;
for (int k = 0; k < 8; k++) {
out[k] = 0.0;
@ -64,20 +64,21 @@ void reference_8x8_dct_2d(const int16_t input[kNumCoeffs],
for (int i = 0; i < 8; ++i) {
double temp_in[8], temp_out[8];
for (int j = 0; j < 8; ++j) temp_in[j] = input[j * 8 + i];
reference_8x8_dct_1d(temp_in, temp_out, 1);
reference_8x8_dct_1d(temp_in, temp_out);
for (int j = 0; j < 8; ++j) output[j * 8 + i] = temp_out[j];
}
// Then transform rows
for (int i = 0; i < 8; ++i) {
double temp_in[8], temp_out[8];
for (int j = 0; j < 8; ++j) temp_in[j] = output[j + i * 8];
reference_8x8_dct_1d(temp_in, temp_out, 1);
reference_8x8_dct_1d(temp_in, temp_out);
// Scale by some magic number
for (int j = 0; j < 8; ++j) output[j + i * 8] = temp_out[j] * 2;
}
}
void fdct8x8_ref(const int16_t *in, tran_low_t *out, int stride, int tx_type) {
void fdct8x8_ref(const int16_t *in, tran_low_t *out, int stride,
int /*tx_type*/) {
aom_fdct8x8_c(in, out, stride);
}
@ -608,7 +609,7 @@ class InvTrans8x8DCT : public FwdTrans8x8TestBase,
void RunInvTxfm(tran_low_t *out, uint8_t *dst, int stride) {
inv_txfm_(out, dst, stride);
}
void RunFwdTxfm(int16_t *out, tran_low_t *dst, int stride) {}
void RunFwdTxfm(int16_t * /*out*/, tran_low_t * /*dst*/, int /*stride*/) {}
IdctFunc ref_txfm_;
IdctFunc inv_txfm_;

Просмотреть файл

@ -28,7 +28,6 @@ class AV1FrameSizeTestsLarge : public ::libaom_test::EncoderTest,
}
virtual bool HandleDecodeResult(const aom_codec_err_t res_dec,
const libaom_test::VideoSource & /*video*/,
libaom_test::Decoder *decoder) {
EXPECT_EQ(expected_res_, res_dec) << decoder->DecodeError();
return !::testing::Test::HasFailure();

Просмотреть файл

@ -35,7 +35,7 @@ class AV1IntraPredBase {
virtual ~AV1IntraPredBase() { libaom_test::ClearSystemState(); }
protected:
virtual void Predict(PREDICTION_MODE mode) = 0;
virtual void Predict() = 0;
void CheckPrediction(int test_case_number, int *error_count) const {
// For each pixel ensure that the calculated value is the same as reference.
@ -74,7 +74,7 @@ class AV1IntraPredBase {
left_col_[y] = rnd.Rand16() & mask_;
}
}
Predict(DC_PRED);
Predict();
CheckPrediction(i, &error_count);
}
ASSERT_EQ(0, error_count);
@ -105,7 +105,7 @@ class AV1IntraPredTest : public AV1IntraPredBase,
mask_ = (1 << bit_depth_) - 1;
}
virtual void Predict(PREDICTION_MODE mode) {
virtual void Predict() {
const uint16_t *const_above_row = above_row_;
const uint16_t *const_left_col = left_col_;
ref_fn_(ref_dst_, stride_, const_above_row, const_left_col, bit_depth_);

Просмотреть файл

@ -60,49 +60,49 @@ typedef std::tr1::tuple<dual_loop_op_t, dual_loop_op_t, int> dualloop8_param_t;
#if CONFIG_AOM_HIGHBITDEPTH
void wrapper_vertical_16_sse2(uint16_t *s, int p, const uint8_t *blimit,
const uint8_t *limit, const uint8_t *thresh,
int count, int bd) {
int /*count*/, int bd) {
aom_highbd_lpf_vertical_16_sse2(s, p, blimit, limit, thresh, bd);
}
void wrapper_vertical_16_c(uint16_t *s, int p, const uint8_t *blimit,
const uint8_t *limit, const uint8_t *thresh,
int count, int bd) {
int /*count*/, int bd) {
aom_highbd_lpf_vertical_16_c(s, p, blimit, limit, thresh, bd);
}
void wrapper_vertical_16_dual_sse2(uint16_t *s, int p, const uint8_t *blimit,
const uint8_t *limit, const uint8_t *thresh,
int count, int bd) {
int /*count*/, int bd) {
aom_highbd_lpf_vertical_16_dual_sse2(s, p, blimit, limit, thresh, bd);
}
void wrapper_vertical_16_dual_c(uint16_t *s, int p, const uint8_t *blimit,
const uint8_t *limit, const uint8_t *thresh,
int count, int bd) {
int /*count*/, int bd) {
aom_highbd_lpf_vertical_16_dual_c(s, p, blimit, limit, thresh, bd);
}
#else
void wrapper_vertical_16_sse2(uint8_t *s, int p, const uint8_t *blimit,
const uint8_t *limit, const uint8_t *thresh,
int count) {
int /*count*/) {
aom_lpf_vertical_16_sse2(s, p, blimit, limit, thresh);
}
void wrapper_vertical_16_c(uint8_t *s, int p, const uint8_t *blimit,
const uint8_t *limit, const uint8_t *thresh,
int count) {
int /*count*/) {
aom_lpf_vertical_16_c(s, p, blimit, limit, thresh);
}
void wrapper_vertical_16_dual_sse2(uint8_t *s, int p, const uint8_t *blimit,
const uint8_t *limit, const uint8_t *thresh,
int count) {
int /*count*/) {
aom_lpf_vertical_16_dual_sse2(s, p, blimit, limit, thresh);
}
void wrapper_vertical_16_dual_c(uint8_t *s, int p, const uint8_t *blimit,
const uint8_t *limit, const uint8_t *thresh,
int count) {
int /*count*/) {
aom_lpf_vertical_16_dual_c(s, p, blimit, limit, thresh);
}
#endif // CONFIG_AOM_HIGHBITDEPTH
@ -114,25 +114,25 @@ void wrapper_vertical_16_dual_c(uint8_t *s, int p, const uint8_t *blimit,
#else
void wrapper_vertical_16_neon(uint8_t *s, int p, const uint8_t *blimit,
const uint8_t *limit, const uint8_t *thresh,
int count) {
int /*count*/) {
aom_lpf_vertical_16_neon(s, p, blimit, limit, thresh);
}
void wrapper_vertical_16_c(uint8_t *s, int p, const uint8_t *blimit,
const uint8_t *limit, const uint8_t *thresh,
int count) {
int /*count*/) {
aom_lpf_vertical_16_c(s, p, blimit, limit, thresh);
}
void wrapper_vertical_16_dual_neon(uint8_t *s, int p, const uint8_t *blimit,
const uint8_t *limit, const uint8_t *thresh,
int count) {
int /*count*/) {
aom_lpf_vertical_16_dual_neon(s, p, blimit, limit, thresh);
}
void wrapper_vertical_16_dual_c(uint8_t *s, int p, const uint8_t *blimit,
const uint8_t *limit, const uint8_t *thresh,
int count) {
int /*count*/) {
aom_lpf_vertical_16_dual_c(s, p, blimit, limit, thresh);
}
#endif // CONFIG_AOM_HIGHBITDEPTH
@ -141,13 +141,13 @@ void wrapper_vertical_16_dual_c(uint8_t *s, int p, const uint8_t *blimit,
#if HAVE_MSA && (!CONFIG_AOM_HIGHBITDEPTH)
void wrapper_vertical_16_msa(uint8_t *s, int p, const uint8_t *blimit,
const uint8_t *limit, const uint8_t *thresh,
int count) {
int /*count*/) {
aom_lpf_vertical_16_msa(s, p, blimit, limit, thresh);
}
void wrapper_vertical_16_c(uint8_t *s, int p, const uint8_t *blimit,
const uint8_t *limit, const uint8_t *thresh,
int count) {
int /*count*/) {
aom_lpf_vertical_16_c(s, p, blimit, limit, thresh);
}
#endif // HAVE_MSA && (!CONFIG_AOM_HIGHBITDEPTH)

Просмотреть файл

@ -24,7 +24,6 @@ const int kVideoTrackNumber = 1;
void write_webm_file_header(struct EbmlGlobal *glob,
const aom_codec_enc_cfg_t *cfg,
const struct aom_rational *fps,
stereo_format_t stereo_fmt, unsigned int fourcc,
const struct AvxRational *par) {
mkvmuxer::MkvWriter *const writer = new mkvmuxer::MkvWriter(glob->stream);

Просмотреть файл

@ -41,7 +41,6 @@ typedef enum stereo_format {
void write_webm_file_header(struct EbmlGlobal *glob,
const aom_codec_enc_cfg_t *cfg,
const struct aom_rational *fps,
stereo_format_t stereo_fmt, unsigned int fourcc,
const struct AvxRational *par);