No description
For certain types of filters where the intermediate sum of coefficients can go above the fixed-point equivalent of 1.0 in the middle of a filter, the sum of a 31-bit calculation can overflow in both directions and can thus not be represented in a 32-bit signed or unsigned integer. To work around this, we subtract 0x40000000 from a signed integer base, so that we're halfway signed/unsigned, which makes it fit even if it overflows. After the filter finishes, we add the scaled bias back after a shift. We use the same trick for 16-bit bpc YUV output routines. Signed-off-by: Mans Rullgard <mans@mansr.com> |
||
|---|---|---|
| doc | ||
| libavcodec | ||
| libavdevice | ||
| libavfilter | ||
| libavformat | ||
| libavutil | ||
| libpostproc | ||
| libswscale | ||
| presets | ||
| tests | ||
| tools | ||
| .gitignore | ||
| avconv.c | ||
| avplay.c | ||
| avprobe.c | ||
| avserver.c | ||
| Changelog | ||
| cmdutils.c | ||
| cmdutils.h | ||
| cmdutils_common_opts.h | ||
| common.mak | ||
| configure | ||
| COPYING.GPLv2 | ||
| COPYING.GPLv3 | ||
| COPYING.LGPLv2.1 | ||
| COPYING.LGPLv3 | ||
| CREDITS | ||
| Doxyfile | ||
| ffmpeg.c | ||
| INSTALL | ||
| library.mak | ||
| LICENSE | ||
| Makefile | ||
| README | ||
| RELEASE | ||
| version.sh | ||
Libav README ------------ 1) Documentation ---------------- * Read the documentation in the doc/ directory. 2) Licensing ------------ * See the LICENSE file.