frame: implemented set pixel function

Counterpart to Frame::GetPixel()
This commit is contained in:
itsmattkc
2020-06-13 03:00:41 +10:00
parent 209fb536f5
commit 0c9435c94d
4 changed files with 43 additions and 9 deletions
+13
View File
@@ -93,6 +93,19 @@ bool Frame::contains_pixel(int x, int y) const
return (is_allocated() && x >= 0 && x < width() && y >= 0 && y < height());
}
void Frame::set_pixel(int x, int y, const Color &c)
{
if (!contains_pixel(x, y)) {
return;
}
int pixel_index = y * linesize_pixels() + x;
int byte_offset = PixelFormat::GetBufferSize(video_params().format(), pixel_index, 1);
c.toData(data_.data() + byte_offset, video_params().format());
}
const rational &Frame::sample_aspect_ratio() const
{
return sample_aspect_ratio_;