#include "VideoFrame.h" VideoFrame::VideoFrame() { mYuv420Buffer = nullptr; } VideoFrame::~VideoFrame() { if (mYuv420Buffer != nullptr) { free(mYuv420Buffer); mYuv420Buffer = nullptr; } } void VideoFrame::initBuffer(const int &width, const int &height) { if (mYuv420Buffer != nullptr) { free(mYuv420Buffer); mYuv420Buffer = nullptr; } mWidth = width; mHegiht = height; mYuv420Buffer = (uint8_t*)malloc(width * height * 3 / 2); } void VideoFrame::setYUVbuf(const uint8_t *buf) { int Ysize = mWidth * mHegiht; memcpy(mYuv420Buffer, buf, Ysize * 3 / 2); } void VideoFrame::setYbuf(const uint8_t *buf) { int Ysize = mWidth * mHegiht; memcpy(mYuv420Buffer, buf, Ysize); } void VideoFrame::setUbuf(const uint8_t *buf) { int Ysize = mWidth * mHegiht; memcpy(mYuv420Buffer + Ysize, buf, Ysize / 4); } void VideoFrame::setVbuf(const uint8_t *buf) { int Ysize = mWidth * mHegiht; memcpy(mYuv420Buffer + Ysize + Ysize / 4, buf, Ysize / 4); }