avfilter/vf_v360: fix several problems with 'perspective' output
The image center wasn't preserved, the output image was mirror reversed, and rotations were made around wrong axes. I did also remove the vector normalization, because it's sure that the vector is already normalized if it's calculated from sin() and cos() terms.
This commit is contained in:
parent
dbf8a1639f
commit
ce8f45aaba
@ -3133,8 +3133,8 @@ static int perspective_to_xyz(const V360Context *s,
|
|||||||
const float cos_theta = cosf(theta);
|
const float cos_theta = cosf(theta);
|
||||||
|
|
||||||
vec[0] = cos_theta * sin_phi;
|
vec[0] = cos_theta * sin_phi;
|
||||||
vec[1] = sin_theta;
|
vec[1] = cos_theta * cos_phi;
|
||||||
vec[2] = cos_theta * cos_phi;
|
vec[2] = sin_theta;
|
||||||
} else {
|
} else {
|
||||||
vec[0] = 0.f;
|
vec[0] = 0.f;
|
||||||
vec[1] = 1.f;
|
vec[1] = 1.f;
|
||||||
@ -3142,7 +3142,6 @@ static int perspective_to_xyz(const V360Context *s,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
normalize_vector(vec);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user