in Transform360/Library/VideoFrameTransform.cpp [109:134]
static void normalize_equirectangular(
float x,
float y,
float *xout,
float *yout) {
if (y >= 1.0f) {
// Example: y = 1.25 ; 2.0 - 1.25 = 0.75.
y = 2.0f - y;
x += 0.5f;
} else if (y < 0.0f) {
y = -y;
x += 0.5f;
}
if (x >= 1.0f) {
int ipart = (int) x;
x -= ipart;
} else if (x < 0.0f) {
// Example: x = -1.25. ipart = 1. x += 2 so x = 0.25.
int ipart = (int) (-x);
x += (ipart + 1);
}
*xout = x;
*yout = y;
}