Change #262258
| Category | ffmpeg |
| Changed by | marcos ashton <marcosashiglesias@gmail.com> |
| Changed at | Wed 25 Mar 2026 02:19:08 |
| Repository | https://git.ffmpeg.org/ffmpeg.git |
| Project | ffmpeg |
| Branch | master |
| Revision | 9559a6036d8b9e1481c0c8977e5e215ca5c23211 |
Comments
libavfilter/vf_v360: fix operator precedence in stereo loop condition The loop condition in the DEFINE_REMAP macro: stereo < 1 + s->out_stereo > STEREO_2D is parsed by C as: (stereo < (1 + s->out_stereo)) > STEREO_2D Since STEREO_2D is 0 and relational operators return 0 or 1, the outer comparison against 0 is a no-op for STEREO_2D and STEREO_SBS. But for STEREO_TB (value 2) the loop runs 3 iterations instead of 2, producing an out-of-bounds stereo pass. Add parentheses so the comparison is evaluated first: stereo < 1 + (s->out_stereo > STEREO_2D) This gives 1 iteration for 2D and 2 for any stereo format (SBS or TB), matching the actual number of stereo views. Signed-off-by: marcos ashton <marcosashiglesias@gmail.com>
Changed files
- libavfilter/vf_v360.c