/* * 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_INTERFACE_MOCK_LIBVPX_INTERFACE_H_ #define MODULES_VIDEO_CODING_CODECS_INTERFACE_MOCK_LIBVPX_INTERFACE_H_ #include "modules/video_coding/codecs/interface/libvpx_interface.h" #include "test/gmock.h" #include "test/gtest.h" namespace webrtc { class MockLibvpxInterface : public LibvpxInterface { public: MOCK_METHOD( vpx_image_t*, img_alloc, (vpx_image_t*, vpx_img_fmt_t, unsigned int, unsigned int, unsigned int), (const, override)); MOCK_METHOD(vpx_image_t*, img_wrap, (vpx_image_t*, vpx_img_fmt_t, unsigned int, unsigned int, unsigned int, unsigned char*), (const, override)); MOCK_METHOD(void, img_free, (vpx_image_t * img), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_enc_config_set, (vpx_codec_ctx_t*, const vpx_codec_enc_cfg_t*), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_enc_config_default, (vpx_codec_iface_t*, vpx_codec_enc_cfg_t*, unsigned int), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_enc_init, (vpx_codec_ctx_t*, vpx_codec_iface_t*, const vpx_codec_enc_cfg_t*, vpx_codec_flags_t), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_enc_init_multi, (vpx_codec_ctx_t*, vpx_codec_iface_t*, vpx_codec_enc_cfg_t*, int, vpx_codec_flags_t, vpx_rational_t*), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_destroy, (vpx_codec_ctx_t*), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_control, (vpx_codec_ctx_t*, vp8e_enc_control_id, uint32_t), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_control, (vpx_codec_ctx_t*, vp8e_enc_control_id, int), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_control, (vpx_codec_ctx_t*, vp8e_enc_control_id, int*), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_control, (vpx_codec_ctx_t*, vp8e_enc_control_id, vpx_roi_map*), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_control, (vpx_codec_ctx_t*, vp8e_enc_control_id, vpx_active_map*), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_control, (vpx_codec_ctx_t*, vp8e_enc_control_id, vpx_scaling_mode*), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_control, (vpx_codec_ctx_t*, vp8e_enc_control_id, vpx_svc_extra_cfg_t*), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_control, (vpx_codec_ctx_t*, vp8e_enc_control_id, vpx_svc_frame_drop_t*), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_control, (vpx_codec_ctx_t*, vp8e_enc_control_id, void*), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_control, (vpx_codec_ctx_t*, vp8e_enc_control_id, vpx_svc_layer_id_t*), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_control, (vpx_codec_ctx_t*, vp8e_enc_control_id, vpx_svc_ref_frame_config_t*), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_control, (vpx_codec_ctx_t*, vp8e_enc_control_id, vpx_svc_spatial_layer_sync_t*), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_control, (vpx_codec_ctx_t*, vp8e_enc_control_id, vpx_rc_funcs_t*), (const, override)); MOCK_METHOD(vpx_codec_err_t, codec_encode, (vpx_codec_ctx_t*, const vpx_image_t*, vpx_codec_pts_t, uint64_t, vpx_enc_frame_flags_t, uint64_t), (const, override)); MOCK_METHOD(const vpx_codec_cx_pkt_t*, codec_get_cx_data, (vpx_codec_ctx_t*, vpx_codec_iter_t*), (const, override)); MOCK_METHOD(const char*, codec_error_detail, (vpx_codec_ctx_t*), (const, override)); MOCK_METHOD(const char*, codec_error, (vpx_codec_ctx_t*), (const, override)); MOCK_METHOD(const char*, codec_err_to_string, (vpx_codec_err_t), (const, override)); }; } // namespace webrtc #endif // MODULES_VIDEO_CODING_CODECS_INTERFACE_MOCK_LIBVPX_INTERFACE_H_