\r
auto source = item.buffers.at(0)->data();\r
\r
+ // TODO: Blend using divide and conquer instead of accumulation.\r
+ // TODO: Add support for fill translations.\r
+ // TODO: Add support for mask translations.\r
+ // TODO: Add support for opacity.\r
+ // TODO: Add support for mix transition.\r
+ // TODO: Add support for push transition.\r
+ // TODO: Add support for wipe transition.\r
+ // TODO: Add support for slide transition.\r
tbb::parallel_for(start, height, step, [&](int y)\r
{\r
cpu::blend(dest + y*width*4, source + y*width*4, width*4);\r
\r
void convert(std::vector<item>& items, int width, int height)\r
{\r
+ // TODO: Don't convert buffers multiple times just because they are in different items due to e.g. interlacing.\r
tbb::parallel_for_each(items.begin(), items.end(), [&](item& item)\r
{\r
if(item.pix_desc.format == core::pixel_format::bgra && \r