#ifndef COMMON_VIDEO_INTERFACE_I420_VIDEO_FRAME_H
#define COMMON_VIDEO_INTERFACE_I420_VIDEO_FRAME_H
-// I420VideoFrame class
-//
-// Storing and handling of YUV (I420) video frames.
-
-#include <assert.h>
-
-#include "webrtc/common_video/plane.h"
-#include "webrtc/system_wrappers/interface/scoped_refptr.h"
-#include "webrtc/typedefs.h"
-
-/*
- * I420VideoFrame includes support for a reference counted impl.
- */
-
-namespace webrtc {
-
-enum PlaneType {
- kYPlane = 0,
- kUPlane = 1,
- kVPlane = 2,
- kNumOfPlanes = 3
-};
-
-class I420VideoFrame {
- public:
- I420VideoFrame();
- virtual ~I420VideoFrame();
- // Infrastructure for refCount implementation.
- // Implements dummy functions for reference counting so that non reference
- // counted instantiation can be done. These functions should not be called
- // when creating the frame with new I420VideoFrame().
- // Note: do not pass a I420VideoFrame created with new I420VideoFrame() or
- // equivalent to a scoped_refptr or memory leak will occur.
- virtual int32_t AddRef() {assert(false); return -1;}
- virtual int32_t Release() {assert(false); return -1;}
-
- // CreateEmptyFrame: Sets frame dimensions and allocates buffers based
- // on set dimensions - height and plane stride.
- // If required size is bigger than the allocated one, new buffers of adequate
- // size will be allocated.
- // Return value: 0 on success, -1 on error.
- virtual int CreateEmptyFrame(int width, int height,
- int stride_y, int stride_u, int stride_v);
-
- // CreateFrame: Sets the frame's members and buffers. If required size is
- // bigger than allocated one, new buffers of adequate size will be allocated.
- // Return value: 0 on success, -1 on error.
- virtual int CreateFrame(int size_y, const uint8_t* buffer_y,
- int size_u, const uint8_t* buffer_u,
- int size_v, const uint8_t* buffer_v,
- int width, int height,
- int stride_y, int stride_u, int stride_v);
-
- // Copy frame: If required size is bigger than allocated one, new buffers of
- // adequate size will be allocated.
- // Return value: 0 on success, -1 on error.
- virtual int CopyFrame(const I420VideoFrame& videoFrame);
-
- // Make a copy of |this|. The caller owns the returned frame.
- // Return value: a new frame on success, NULL on error.
- virtual I420VideoFrame* CloneFrame() const;
-
- // Swap Frame.
- virtual void SwapFrame(I420VideoFrame* videoFrame);
-
- // Get pointer to buffer per plane.
- virtual uint8_t* buffer(PlaneType type);
- // Overloading with const.
- virtual const uint8_t* buffer(PlaneType type) const;
-
- // Get allocated size per plane.
- virtual int allocated_size(PlaneType type) const;
-
- // Get allocated stride per plane.
- virtual int stride(PlaneType type) const;
-
- // Set frame width.
- virtual int set_width(int width);
-
- // Set frame height.
- virtual int set_height(int height);
-
- // Get frame width.
- virtual int width() const {return width_;}
-
- // Get frame height.
- virtual int height() const {return height_;}
-
- // Set frame timestamp (90kHz).
- virtual void set_timestamp(uint32_t timestamp) {timestamp_ = timestamp;}
-
- // Get frame timestamp (90kHz).
- virtual uint32_t timestamp() const {return timestamp_;}
-
- // Set capture ntp time in miliseconds.
- virtual void set_ntp_time_ms(int64_t ntp_time_ms) {
- ntp_time_ms_ = ntp_time_ms;
- }
-
- // Get capture ntp time in miliseconds.
- virtual int64_t ntp_time_ms() const {return ntp_time_ms_;}
-
- // Set render time in miliseconds.
- virtual void set_render_time_ms(int64_t render_time_ms) {render_time_ms_ =
- render_time_ms;}
-
- // Get render time in miliseconds.
- virtual int64_t render_time_ms() const {return render_time_ms_;}
-
- // Return true if underlying plane buffers are of zero size, false if not.
- virtual bool IsZeroSize() const;
-
- // Reset underlying plane buffers sizes to 0. This function doesn't
- // clear memory.
- virtual void ResetSize();
-
- // Return the handle of the underlying video frame. This is used when the
- // frame is backed by a texture. The object should be destroyed when it is no
- // longer in use, so the underlying resource can be freed.
- virtual void* native_handle() const;
-
- protected:
- // Verifies legality of parameters.
- // Return value: 0 on success, -1 on error.
- virtual int CheckDimensions(int width, int height,
- int stride_y, int stride_u, int stride_v);
-
- private:
- // Get the pointer to a specific plane.
- const Plane* GetPlane(PlaneType type) const;
- // Overloading with non-const.
- Plane* GetPlane(PlaneType type);
-
- Plane y_plane_;
- Plane u_plane_;
- Plane v_plane_;
- int width_;
- int height_;
- uint32_t timestamp_;
- int64_t ntp_time_ms_;
- int64_t render_time_ms_;
-}; // I420VideoFrame
-
-} // namespace webrtc
+// TODO(pbos): Remove this file and include webrtc/video_frame.h instead.
+#include "webrtc/video_frame.h"
#endif // COMMON_VIDEO_INTERFACE_I420_VIDEO_FRAME_H