// A for-testing native buffer that is scalable and mappable. The contents of // the buffer is black and the pixels are created upon mapping. Mapped buffers // are stored inside MappableNativeBuffer, allowing tests to verify which // resolutions were mapped, e.g. when passing them in to an encoder or other // modules. class MappableNativeBuffer : public VideoFrameBuffer { public: // If `allow_i420_conversion` is false, calling ToI420() on a non-I420 buffer // will DCHECK-crash. Used to ensure zero-copy in tests.
MappableNativeBuffer(VideoFrameBuffer::Type mappable_type, int width, int height);
~MappableNativeBuffer() override;
scoped_refptr<VideoFrameBuffer> CropAndScale(int offset_x, int offset_y, int crop_width, int crop_height, int scaled_width, int scaled_height) override;
// Gets all the buffers that have been mapped so far, including mappings of // cropped and scaled buffers.
std::vector<scoped_refptr<VideoFrameBuffer>> GetMappedFramedBuffers() const; bool DidConvertToI420() const;
class ScaledBuffer : public VideoFrameBuffer { public:
ScaledBuffer(scoped_refptr<MappableNativeBuffer> parent, int width, int height);
~ScaledBuffer() override;
scoped_refptr<VideoFrameBuffer> CropAndScale(int offset_x, int offset_y, int crop_width, int crop_height, int scaled_width, int scaled_height) override;
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.