/* * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #ifndef MODULES_VIDEO_CODING_CODECS_VP8_TEST_MOCK_LIBVPX_INTERFACE_H_ #define MODULES_VIDEO_CODING_CODECS_VP8_TEST_MOCK_LIBVPX_INTERFACE_H_ #include "modules/video_coding/codecs/vp8/libvpx_interface.h" #include "test/gmock.h" #include "test/gtest.h" namespace webrtc { class MockLibvpxVp8Interface : public LibvpxInterface { public: MOCK_CONST_METHOD5(img_alloc, vpx_image_t*(vpx_image_t*, vpx_img_fmt_t, unsigned int, unsigned int, unsigned int)); MOCK_CONST_METHOD6(img_wrap, vpx_image_t*(vpx_image_t*, vpx_img_fmt_t, unsigned int, unsigned int, unsigned int, unsigned char*)); MOCK_CONST_METHOD1(img_free, void(vpx_image_t* img)); MOCK_CONST_METHOD2(codec_enc_config_set, vpx_codec_err_t(vpx_codec_ctx_t*, const vpx_codec_enc_cfg_t*)); MOCK_CONST_METHOD3(codec_enc_config_default, vpx_codec_err_t(vpx_codec_iface_t*, vpx_codec_enc_cfg_t*, unsigned int)); MOCK_CONST_METHOD4(codec_enc_init, vpx_codec_err_t(vpx_codec_ctx_t*, vpx_codec_iface_t*, const vpx_codec_enc_cfg_t*, vpx_codec_flags_t)); MOCK_CONST_METHOD6(codec_enc_init_multi, vpx_codec_err_t(vpx_codec_ctx_t*, vpx_codec_iface_t*, vpx_codec_enc_cfg_t*, int, vpx_codec_flags_t, vpx_rational_t*)); MOCK_CONST_METHOD1(codec_destroy, vpx_codec_err_t(vpx_codec_ctx_t*)); MOCK_CONST_METHOD3(codec_control, vpx_codec_err_t(vpx_codec_ctx_t*, vp8e_enc_control_id, uint32_t)); MOCK_CONST_METHOD3(codec_control, vpx_codec_err_t(vpx_codec_ctx_t*, vp8e_enc_control_id, int)); MOCK_CONST_METHOD3(codec_control, vpx_codec_err_t(vpx_codec_ctx_t*, vp8e_enc_control_id, int*)); MOCK_CONST_METHOD3(codec_control, vpx_codec_err_t(vpx_codec_ctx_t*, vp8e_enc_control_id, vpx_roi_map*)); MOCK_CONST_METHOD3(codec_control, vpx_codec_err_t(vpx_codec_ctx_t*, vp8e_enc_control_id, vpx_active_map*)); MOCK_CONST_METHOD3(codec_control, vpx_codec_err_t(vpx_codec_ctx_t*, vp8e_enc_control_id, vpx_scaling_mode*)); MOCK_CONST_METHOD6(codec_encode, vpx_codec_err_t(vpx_codec_ctx_t*, const vpx_image_t*, vpx_codec_pts_t, uint64_t, vpx_enc_frame_flags_t, uint64_t)); MOCK_CONST_METHOD2(codec_get_cx_data, const vpx_codec_cx_pkt_t*(vpx_codec_ctx_t*, vpx_codec_iter_t*)); }; } // namespace webrtc #endif // MODULES_VIDEO_CODING_CODECS_VP8_TEST_MOCK_LIBVPX_INTERFACE_H_