11 #include "DVDOverlay.h" 16 #include "PlatformDefs.h" 29 if (!src.palette.empty())
32 palette = src.palette;
40 linesize = sub_w * bpp;
45 source_width = src.source_width;
46 source_height = src.source_height;
48 pixels.resize(sub_h * linesize);
50 uint8_t* s = src.data_at(sub_x, sub_y);
51 uint8_t* t = pixels.data();
53 for (
int row = 0; row < sub_h; ++row)
55 memcpy(t, s, linesize);
65 std::shared_ptr<CDVDOverlay>
Clone()
override 67 return std::make_shared<CDVDOverlayImage>(*this);
70 uint8_t* data_at(
int sub_x,
int sub_y)
const 72 const int bpp = palette.empty() ? 4 : 1;
73 return const_cast<uint8_t*
>(pixels.data() + ((sub_y - y) * linesize + (sub_x - x) * bpp));
76 std::vector<uint8_t> pixels;
77 std::vector<uint32_t> palette;
Definition: DVDOverlayImage.h:18
std::shared_ptr< CDVDOverlay > Clone() override
return a copy to VideoPlayerSubtitle in order to have hw resources cleared after rendering ...
Definition: DVDOverlayImage.h:65
Definition: DVDOverlay.h:27