mozilla / aom

Alliance for Open Media Video Codec reference implementation (Mozilla branch)
http://aomedia.org/
BSD 2-Clause "Simplified" License
144 stars 28 forks source link

Motion vector test blocks Decode only build #15

Closed fyuhkust closed 2 months ago

fyuhkust commented 2 months ago

I was trying to build a decode only aom by setting -DCONFIG_AV1_ENCODER=0

However, I always got the following error, which indicates that undeclared identifier from encode reference in test_aom_common. Since I disabled encoder, there should not be a test in common folder that require encoder reference. Please move it to test_aom_encoder.dir or somewhere else.

[ 93%] Building CXX object CMakeFiles/test_aom_common.dir/test/motion_vector_test.cc.o /home/ubuntu/ffmpeg.js/build/aom/test/motion_vector_test.cc:63:24: error: use of undeclared identifier 'AOME_SET_CPUUSED' 63 | encoder->Control(AOME_SET_CPUUSED, cpuused); | ^ /home/ubuntu/ffmpeg.js/build/aom/test/motion_vector_test.cc:64:24: error: use of undeclared identifier 'AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST' 64 | encoder->Control(AV1E_ENABLE_MOTION_VECTOR_UNIT_TEST, mv_testmode); | ^ /home/ubuntu/ffmpeg.js/build/aom/test/motion_vector_test.cc:66:26: error: use of undeclared identifier 'AOME_SET_ENABLEAUTOALTREF' 66 | encoder->Control(AOME_SET_ENABLEAUTOALTREF, 1); | ^ /home/ubuntu/ffmpeg.js/build/aom/test/motion_vector_test.cc:67:26: error: use of undeclared identifier 'AOME_SET_ARNR_MAXFRAMES' 67 | encoder->Control(AOME_SET_ARNR_MAXFRAMES, 7); | ^ /home/ubuntu/ffmpeg.js/build/aom/test/motion_vector_test.cc:68:26: error: use of undeclared identifier 'AOME_SET_ARNR_STRENGTH' 68 | encoder->Control(AOME_SET_ARNR_STRENGTH, 5); | ^ In file included from /home/ubuntu/ffmpeg.js/build/aom/test/motion_vector_test.cc:12: In file included from /home/ubuntu/ffmpeg.js/build/aom/third_party/googletest/src/googletest/include/gtest/gtest.h:62: In file included from /home/ubuntu/ffmpeg.js/build/aom/third_party/googletest/src/googletest/include/gtest/gtest-param-test.h:193: /home/ubuntu/ffmpeg.js/build/aom/third_party/googletest/src/googletest/include/gtest/internal/gtest-param-util-generated.h:89:8: warning: definition of implicit copy constructor for 'ValueArray1<const libaom_test::CodecFactory >' is deprecated because it has a user-provided copy assignment operator [-Wdeprecated-copy-with-user-provided-copy] 89 | void operator=(const ValueArray1& other); | ^ /home/ubuntu/ffmpeg.js/build/aom/third_party/googletest/src/googletest/include/gtest/internal/gtest-param-util-generated.h:4889:9: note: in implicit copy constructor for 'testing::internal::ValueArray1<const libaom_test::CodecFactory >' first required here 4889 | : g1(g1), g2(g2), g3(g3), g4(g4) {} | ^ /home/ubuntu/ffmpeg.js/build/aom/third_party/googletest/src/googletest/include/gtest/gtest-param-test.h:1293:10: note: in instantiation of member function 'testing::internal::CartesianProductHolder4<testing::internal::ValueArray1<const libaom_test::CodecFactory >, testing::internal::ParamGenerator, testing::internal::ParamGenerator, testing::internal::ParamGenerator>::CartesianProductHolder4' requested here 1293 | return internal::CartesianProductHolder4<Generator1, Generator2, Generator3, | ^ /home/ubuntu/ffmpeg.js/build/aom/test/motion_vector_test.cc:100:1: note: in instantiation of function template specialization 'testing::Combine<testing::internal::ValueArray1<const libaom_test::CodecFactory >, testing::internal::ParamGenerator, testing::internal::ParamGenerator, testing::internal::ParamGenerator>' requested here 100 | AV1_INSTANTIATE_TEST_CASE(MotionVectorTestLarge, | ^ /home/ubuntu/ffmpeg.js/build/aom/test/codec_factory.h:157:18: note: expanded from macro 'AV1_INSTANTIATE_TEST_CASE' 157 | ::testing::Combine( \ | ^ 1 warning and 5 errors generated.

fyuhkust commented 2 months ago

Oh, I found that this repo is no longer maintained and it is not compatible with the latest ffmpeg interface. It is quite misleading!

Please go to https://aomedia.googlesource.com/aom/+/refs/heads/main to get the correct libaom.