blob: fc2c1238746b29d7154d7a6f1d2765f65904a292 [file] [log] [blame]
niklase@google.com470e71d2011-07-07 08:21:25 +00001/*
pwestin@webrtc.org4ea57e52012-02-02 12:21:47 +00002 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
niklase@google.com470e71d2011-07-07 08:21:25 +00003 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
pwestin@webrtc.org4ea57e52012-02-02 12:21:47 +00009 *
pwestin@webrtc.org8d89b582012-09-20 20:49:12 +000010 * WEBRTC VP8 wrapper interface
niklase@google.com470e71d2011-07-07 08:21:25 +000011 */
12
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020013#ifndef MODULES_VIDEO_CODING_CODECS_VP8_INCLUDE_VP8_H_
14#define MODULES_VIDEO_CODING_CODECS_VP8_INCLUDE_VP8_H_
niklase@google.com470e71d2011-07-07 08:21:25 +000015
Magnus Jedvert46a27652017-11-13 14:10:02 +010016#include <memory>
17
Elad Alonf2ca8c52019-03-25 13:19:43 +010018#include "api/video_codecs/vp8_frame_buffer_controller.h"
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020019#include "modules/video_coding/include/video_codec_interface.h"
niklase@google.com470e71d2011-07-07 08:21:25 +000020
pwestin@webrtc.org8d89b582012-09-20 20:49:12 +000021namespace webrtc {
stefan@webrtc.orga4a88f92011-12-02 08:34:05 +000022
Erik Språng5fbc0e02018-10-04 17:52:36 +020023class VP8Encoder {
pwestin@webrtc.org4ea57e52012-02-02 12:21:47 +000024 public:
Erik Språng5fbc0e02018-10-04 17:52:36 +020025 static std::unique_ptr<VideoEncoder> Create();
Elad Alonf2ca8c52019-03-25 13:19:43 +010026
27 static std::unique_ptr<VideoEncoder> Create(
28 std::unique_ptr<Vp8FrameBufferControllerFactory>
29 frame_buffer_controller_factory);
pwestin@webrtc.org4ea57e52012-02-02 12:21:47 +000030}; // end of VP8Encoder class
niklase@google.com470e71d2011-07-07 08:21:25 +000031
Erik Språng5fbc0e02018-10-04 17:52:36 +020032class VP8Decoder {
pwestin@webrtc.org4ea57e52012-02-02 12:21:47 +000033 public:
Erik Språng5fbc0e02018-10-04 17:52:36 +020034 static std::unique_ptr<VideoDecoder> Create();
pwestin@webrtc.org4ea57e52012-02-02 12:21:47 +000035}; // end of VP8Decoder class
36} // namespace webrtc
niklase@google.com470e71d2011-07-07 08:21:25 +000037
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020038#endif // MODULES_VIDEO_CODING_CODECS_VP8_INCLUDE_VP8_H_