FFmpeg git repo
Go to file
Jean Delvare f0bcb13aed lavfi/delogo: avoid propagation of rounding errors in chroma planes
When operating on subsampled chroma planes, some rounding is taking
place. The left and top borders are rounded down while the width and
height are rounded up, so all rounding is done outward to guarantee the
logo area is fully covered.

The problem is that the width and height are counted from the
unrounded left and top borders, respectively. So if the left or top
border position has indeed been rounded down, and the width or height
needs no rounding (up), the position of the the right or bottom border
will be effectively rounded down, i.e. inward.

The issue can easily be seen with a yuv240p input and
  -vf delogo=45:45:60:40:show=1 -vframes 1 delogo-bug.png
(or virtually any logo area with odd x and y and even width and
height.) The right and bottom chroma borders (in green) are clearly
off.

In order to fix this, the width and height must be adjusted to include
the bits lost in the rounding of the left and top border positions,
respectively, prior to being themselves rounded up.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 23:10:57 +02:00
compat
doc lavfi: create Libav-API compatibility layer for avfilter_graph_parse() at the next bump 2013-07-03 13:21:42 +02:00
libavcodec Merge commit '22e18ea39e371030cc78973d1b46aae45a7ea215' 2013-07-03 16:36:05 +02:00
libavdevice lavfi: create Libav-API compatibility layer for avfilter_graph_parse() at the next bump 2013-07-03 13:21:42 +02:00
libavfilter lavfi/delogo: avoid propagation of rounding errors in chroma planes 2013-07-03 23:10:57 +02:00
libavformat lavf/movenc: fix writing of some iTunes metadata tag 2013-07-03 17:18:49 +02:00
libavresample
libavutil lavu/opt: show default values 2013-07-03 20:32:30 +00:00
libpostproc
libswresample
libswscale
presets
tests lavfi/delogo: avoid propagation of rounding errors in chroma planes 2013-07-03 23:10:57 +02:00
tools
.gitignore
arch.mak
Changelog
cmdutils_common_opts.h
cmdutils.c
cmdutils.h
common.mak
configure configure: rename have_incompatible_fork_abi -> have_incompatible_libav_abi 2013-07-03 13:16:33 +02:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
ffmpeg_filter.c
ffmpeg_opt.c
ffmpeg.c
ffmpeg.h
ffplay.c lavfi: create Libav-API compatibility layer for avfilter_graph_parse() at the next bump 2013-07-03 13:21:42 +02:00
ffprobe.c
ffserver.c
INSTALL
library.mak
LICENSE
MAINTAINERS MAINTAINERS: add address to contact "AvxSynth Team" 2013-07-03 02:26:13 +02:00
Makefile
README
RELEASE
version.sh

FFmpeg README
-------------

1) Documentation
----------------

* Read the documentation in the doc/ directory in git.
  You can also view it online at http://ffmpeg.org/documentation.html

2) Licensing
------------

* See the LICENSE file.

3) Build and Install
--------------------

* See the INSTALL file.