// Plain I010 buffer in standard memory. class I010Buffer : public I010BufferInterface { public: // Create a new buffer. static scoped_refptr<I010Buffer> Create(int width, int height);
// Create a new buffer and copy the pixel data. static scoped_refptr<I010Buffer> Copy(const I010BufferInterface& buffer);
// Convert and put I420 buffer into a new buffer. static scoped_refptr<I010Buffer> Copy(const I420BufferInterface& buffer);
// Return a rotated copy of `src`. static scoped_refptr<I010Buffer> Rotate(const I010BufferInterface& src,
VideoRotation rotation);
// Scale the cropped area of `src` to the size of `this` buffer, and // write the result into `this`. void CropAndScaleFrom(const I010BufferInterface& src,
int offset_x,
int offset_y,
int crop_width,
int crop_height);
// Scale all of `src` to the size of `this` buffer, with no cropping. void ScaleFrom(const I010BufferInterface& src);
protected:
I010Buffer(int width, int height, int stride_y, int stride_u, int stride_v);
~I010Buffer() override;
private: const int width_; const int height_; const int stride_y_; const int stride_u_; const int stride_v_; const std::unique_ptr<uint16_t, AlignedFreeDeleter> data_;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.