1 /* 2 * Copyright (c) 2022, Alliance for Open Media. All rights reserved 3 * 4 * This source code is subject to the terms of the BSD 2 Clause License and 5 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License 6 * was not distributed with this source code in the LICENSE file, you can 7 * obtain it at www.aomedia.org/license/software. If the Alliance for Open 8 * Media Patent License 1.0 was not distributed with this source code in the 9 * PATENTS file, you can obtain it at www.aomedia.org/license/patent. 10 */ 11 12 #ifndef AOM_TEST_MOCK_RATECTRL_QMODE_H_ 13 #define AOM_TEST_MOCK_RATECTRL_QMODE_H_ 14 15 #include "av1/qmode_rc/ratectrl_qmode_interface.h" 16 #include "third_party/googletest/src/googlemock/include/gmock/gmock.h" 17 18 namespace aom { 19 20 class MockRateControlQMode : public AV1RateControlQModeInterface { 21 public: 22 MOCK_METHOD(Status, SetRcParam, (const RateControlParam &rc_param), 23 (override)); 24 MOCK_METHOD(StatusOr<GopStructList>, DetermineGopInfo, 25 (const FirstpassInfo &firstpass_info), (override)); 26 MOCK_METHOD(StatusOr<GopEncodeInfo>, GetGopEncodeInfo, 27 (const GopStruct &gop_struct, const TplGopStats &tpl_gop_stats, 28 const std::vector<LookaheadStats> &lookahead_stats, 29 const RefFrameTable &ref_frame_table_snapshot_init), 30 (override)); 31 MOCK_METHOD(StatusOr<GopEncodeInfo>, GetGopEncodeInfo, 32 (const GopStruct &gop_struct, const TplGopStats &tpl_gop_stats, 33 const std::vector<LookaheadStats> &lookahead_stats, 34 const FirstpassInfo &firstpass_info, 35 const RefFrameTable &ref_frame_table_snapshot_init), 36 (override)); 37 MOCK_METHOD(StatusOr<GopEncodeInfo>, GetTplPassGopEncodeInfo, 38 (const GopStruct &gop_struct), (override)); 39 MOCK_METHOD(StatusOr<GopEncodeInfo>, GetTplPassGopEncodeInfo, 40 (const GopStruct &gop_struct, 41 const FirstpassInfo &firstpass_info), 42 (override)); 43 }; 44 45 } // namespace aom 46 47 #endif // AOM_TEST_MOCK_RATECTRL_QMODE_H_ 48