LINUX.ORG.RU

История изменений

Исправление CyberK, (текущая версия) :

There are several problems with this code

1. File: https://github.com/HPW-dev/SEZEII/blob/master/src/plugins/stars/stars.cpp

#include "../../image/image.hpp"

you do know about abi compatibility issues. This is why you even use export c from your plugin. but into the plugin you pass c++ class. It might cause problems if the plugin is compiled with different compiler than your main app. Not that it good or bad. Just be aware of it.

2. I recommend you learn a bit of SIMD instructions and check if it can benefit your code in places like

void blend(seze::RGB24& dst, CN(seze::RGB24) src, float alpha) {
  dst.R = dst.R + (src.R - dst.R) * alpha;
  dst.G = dst.G + (src.G - dst.G) * alpha;
  dst.B = dst.B + (src.B - dst.B) * alpha;
}

Good luck

Исходная версия CyberK, :

There are several problems with this code

1. File: https://github.com/HPW-dev/SEZEII/blob/master/src/plugins/stars/stars.cpp

#include "../../image/image.hpp"

you do know about abi compatibility issues. This is why you even use export c from your plugin. but into the plugin you pass c++ class. It might cause problems if the plugin is compiled with different compiler than your main app. Not that it good or bad. Just be aware of it.

2. I recommend you to learn a bit of SIMD instructions and check if it can benefit your code in places like

void blend(seze::RGB24& dst, CN(seze::RGB24) src, float alpha) {
  dst.R = dst.R + (src.R - dst.R) * alpha;
  dst.G = dst.G + (src.G - dst.G) * alpha;
  dst.B = dst.B + (src.B - dst.B) * alpha;
}

Good luck