| /* | |
| * 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 <cstdint> | |
| #include "modules/video_coding/codecs/interface/libvpx_interface.h" | |
| #include "test/gmock.h" | |
| #include "third_party/libvpx/source/libvpx/vpx/vp8cx.h" | |
| #include "third_party/libvpx/source/libvpx/vpx/vpx_codec.h" | |
| #include "third_party/libvpx/source/libvpx/vpx/vpx_encoder.h" | |
| #include "third_party/libvpx/source/libvpx/vpx/vpx_ext_ratectrl.h" | |
| #include "third_party/libvpx/source/libvpx/vpx/vpx_image.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_ |