171f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin/* 271f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. 371f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin * 471f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin * Use of this source code is governed by a BSD-style license 571f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin * that can be found in the LICENSE file in the root of the source 671f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin * tree. An additional intellectual property rights grant can be found 771f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin * in the file PATENTS. All contributing project authors may 871f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin * be found in the AUTHORS file in the root of the source tree. 971f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin * 1071f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin */ 1171f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin 1271f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin#ifndef WEBRTC_MODULES_VIDEO_CODING_CODECS_H264_INCLUDE_H264_H_ 1371f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin#define WEBRTC_MODULES_VIDEO_CODING_CODECS_H264_INCLUDE_H264_H_ 1471f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin 1571f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin#if defined(WEBRTC_IOS) || defined(WEBRTC_MAC) 1671f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin 1771f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin#include <Availability.h> 1871f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin#if (defined(__IPHONE_8_0) && \ 1971f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0) || \ 2071f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin (defined(__MAC_10_8) && __MAC_OS_X_VERSION_MAX_ALLOWED >= __MAC_10_8) 2171f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin#define WEBRTC_VIDEO_TOOLBOX_SUPPORTED 1 2271f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin#endif 2371f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin 2471f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin#endif // defined(WEBRTC_IOS) || defined(WEBRTC_MAC) 2571f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin 262557b86e7648ffebc5781df9f093ca5a84efc219Henrik Kjellander#include "webrtc/modules/video_coding/include/video_codec_interface.h" 2771f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin 2871f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chinnamespace webrtc { 2971f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin 3071f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chinclass H264Encoder : public VideoEncoder { 3171f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin public: 3271f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin static H264Encoder* Create(); 3371f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin static bool IsSupported(); 3471f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin 3571f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin ~H264Encoder() override {} 3671f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin}; 3771f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin 3871f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chinclass H264Decoder : public VideoDecoder { 3971f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin public: 4071f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin static H264Decoder* Create(); 4171f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin static bool IsSupported(); 4271f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin 4371f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin ~H264Decoder() override {} 4471f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin}; 4571f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin 4671f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin} // namespace webrtc 4771f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin 4871f6f4405c1c5f60097f8d10841378088e78e8b9Zeke Chin#endif // WEBRTC_MODULES_VIDEO_CODING_CODECS_H264_INCLUDE_H264_H_ 49