mpv/libmpcodecs
wm4 827faa3843 vf_expand: always clear the added borders
Using the "expand" filter makes the image area larger by adding
borders to the video frame. These borders are supposed to be always
black. The filter relied on the borders in its output buffer staying
black without redrawing them for each frame. However, when using
direct rendering, a video filter inserted after vf_expand can draw
into these borders, for example the "unsharp" and "ass" filters. These
changes incorrectly stayed visible in the the following video frames.

Fix this by always clearing the borders in vf_expand. In some cases,
this might be more work than necessary, but vf_expand has no way of
detecting whether a subsequent filter draws into the borders or not,
and this avoids fragile assumptions about the existing contents of the
output buffer(s).

This also deals with frame size changes when config() is called again.
Before this commit, remains of the old video were visible if the new
video frame size was smaller than before.

Since we now always clear the borders, there's no more need for the
complicated code that cleared only the regions that were covered by the
OSD. Delete that.
2011-12-19 21:56:00 +02:00
..
native Remove MEncoder 2010-11-02 04:16:55 +02:00
ad.c configure, build: remove --disable-libav support 2011-12-11 07:48:26 +02:00
ad.h cosmetics: vf.[ch]: reformat 2011-11-14 20:24:36 +02:00
ad_acm.c cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr) 2010-11-02 04:16:46 +02:00
ad_alaw.c
ad_dk3adpcm.c Use AV_RL* macros instead of typecasts where appropriate 2010-11-02 04:14:43 +02:00
ad_dmo.c options: move audio_output_channels, audio_output_format to struct 2010-11-02 04:18:07 +02:00
ad_dshow.c
ad_dvdpcm.c
ad_faad.c libfaad2:/ Remove forked internal libfaad2 copy 2011-01-31 16:00:58 +02:00
ad_ffmpeg.c ad_ffmpeg: avoid avcodec_close() if avcodec_open() failed 2011-12-06 19:54:03 +02:00
ad_hwac3.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
ad_hwmpa.c
ad_imaadpcm.c Use AV_RL* macros instead of typecasts where appropriate 2010-11-02 04:14:43 +02:00
ad_internal.h options: move audio_output_channels, audio_output_format to struct 2010-11-02 04:18:07 +02:00
ad_liba52.c ad_liba52: Fix -ac a52 with tags other than 0x2000 or dnet 2011-04-13 03:15:05 +03:00
ad_libdca.c ad_libdca: fix assert failure on -channels >6 2010-11-02 04:18:07 +02:00
ad_libdv.c
ad_libmad.c
ad_libvorbis.c
ad_mpc.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
ad_mpg123.c ad_mpeg123: Enable robust resync 2010-11-02 04:14:44 +02:00
ad_msadpcm.c
ad_pcm.c audio: disallow partial samples, fix ad_pcm to comply 2011-05-07 22:17:51 +03:00
ad_qtaudio.c ad_qtaudio: don't run win32 loader code when it's not used 2011-05-02 00:36:20 +03:00
ad_realaud.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
ad_sample.c
ad_speex.c ad_speex: support decoding stream without header packet 2011-05-02 00:36:21 +03:00
ad_twin.c
cmmx.h
dec_audio.c audio/video: delete buggy "dynamic plugin" code 2011-10-20 02:16:35 +03:00
dec_audio.h audio: move ready-for-ao data buffer from decoder to AO 2011-07-02 09:22:32 +03:00
dec_teletext.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
dec_teletext.h
dec_video.c core, vo: modify OSD redraw architecture, support EOSD 2011-12-06 05:03:39 +02:00
dec_video.h core, vo: modify OSD redraw architecture, support EOSD 2011-12-06 05:03:39 +02:00
img_format.c vo_gl: don't accept 9/10-bit formats as input 2011-06-29 10:49:41 +03:00
img_format.h img_format.h, vo_gl: fix IMGFMT_IS_YUVP16() definition 2011-07-14 01:19:07 +03:00
mp_image.c video: use talloc for mp_image, abort if out of memory 2011-11-25 23:56:28 +02:00
mp_image.h
mpc_info.h cosmetics: vf.[ch]: reformat 2011-11-14 20:24:36 +02:00
pullup.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
pullup.h vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vd.c configure, build: remove --disable-libav support 2011-12-11 07:48:26 +02:00
vd.h commands, vd_ffmpeg: fix switch_ratio slave command 2011-11-14 20:24:39 +02:00
vd_dmo.c
vd_dshow.c
vd_ffmpeg.c commands, vd_ffmpeg: fix switch_ratio slave command 2011-11-14 20:24:39 +02:00
vd_hmblck.c
vd_ijpg.c
vd_internal.h
vd_libdv.c
vd_libdv.h
vd_lzo.c cosmetics: Remove vim/emacs coding style hints from sources 2010-11-02 04:16:48 +02:00
vd_mpegpes.c
vd_mpng.c vd_mpng: libpng API update, use color type getter 2011-02-15 19:14:34 +02:00
vd_mtga.c Use AV_RL* macros instead of typecasts where appropriate 2010-11-02 04:14:43 +02:00
vd_null.c
vd_qtvideo.c vd_qtvideo: Do not dump image description by default 2010-12-16 04:57:18 +02:00
vd_raw.c
vd_realvid.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
vd_sgi.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
vd_theora.c Merge svn changes up to r31256 2010-05-30 16:39:41 +03:00
vd_vfw.c
vd_vfwex.c
vd_xanim.c cleanup: fix mp_dbg() format string warnings 2011-07-01 03:37:34 +03:00
vd_xvid4.c cleanup: remove more warnings 2011-05-02 00:46:48 +03:00
vf.c configure, build: remove --disable-libav support 2011-12-11 07:48:26 +02:00
vf.h core, vo: modify OSD redraw architecture, support EOSD 2011-12-06 05:03:39 +02:00
vf_1bpp.c
vf_2xsai.c
vf_ass.c core, vo: modify OSD redraw architecture, support EOSD 2011-12-06 05:03:39 +02:00
vf_blackframe.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_bmovl.c cleanup: remove more warnings 2011-05-02 00:46:48 +03:00
vf_boxblur.c
vf_crop.c
vf_cropdetect.c
vf_decimate.c
vf_delogo.c vf_delogo: allow to change the rectangle based on the time 2011-07-06 07:13:08 +03:00
vf_denoise3d.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_detc.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_dint.c vf_dint, vf_divtc: fix code assuming "char" is signed 2011-07-06 09:15:57 +03:00
vf_divtc.c vf_dint, vf_divtc: fix code assuming "char" is signed 2011-07-06 09:15:57 +03:00
vf_down3dright.c
vf_dsize.c vf_dsize, vf_scale: fix behavior on multiple config() calls 2011-12-19 02:02:32 +02:00
vf_dvbscale.c
vf_eq.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_eq2.c
vf_expand.c vf_expand: always clear the added borders 2011-12-19 21:56:00 +02:00
vf_field.c
vf_fil.c
vf_filmdint.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
vf_fixpts.c vf_fixpts: Mark vf_info_t declaration const 2010-11-02 04:16:45 +02:00
vf_flip.c
vf_format.c Merge svn changes up to r31332 2010-06-05 23:37:42 +03:00
vf_framestep.c cleanup: remove unused MEncoder-related code 2011-01-25 02:29:31 +02:00
vf_fspp.c cleanup: do libav* initialization on startup 2011-07-18 00:57:05 +03:00
vf_geq.c Update libav API uses 2011-04-20 04:36:05 +03:00
vf_gradfun.c
vf_halfpack.c
vf_harddup.c
vf_hqdn3d.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_hue.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_il.c
vf_ilpack.c vf_ilpack: fix incompatible function types 2011-07-06 09:24:31 +03:00
vf_ivtc.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_kerndeint.c
vf_lavc.c cleanup: do libav* initialization on startup 2011-07-18 00:57:05 +03:00
vf_lavcdeint.c cleanup: do libav* initialization on startup 2011-07-18 00:57:05 +03:00
vf_mcdeint.c cleanup: do libav* initialization on startup 2011-07-18 00:57:05 +03:00
vf_mirror.c
vf_noformat.c Merge svn changes up to r31332 2010-06-05 23:37:42 +03:00
vf_noise.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_ow.c
vf_palette.c Merge svn changes up to r31303 2010-06-02 19:12:01 +03:00
vf_perspective.c libmpcodecs/vf_*.c: Replace memalign() by av_malloc() 2011-02-15 19:12:50 +02:00
vf_phase.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_pp.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
vf_pp7.c cleanup: avoid various GCC warnings 2011-04-20 04:22:53 +03:00
vf_pullup.c vf_pullup, vf_yadif: pts handling fixes 2011-06-24 22:31:44 +03:00
vf_qp.c vf_qp: enable compilation depending on libavutil eval API 2011-07-18 00:57:05 +03:00
vf_rectangle.c
vf_remove_logo.c
vf_rgbtest.c
vf_rotate.c
vf_sab.c vo_gl: don't accept 9/10-bit formats as input 2011-06-29 10:49:41 +03:00
vf_scale.c vf_dsize, vf_scale: fix behavior on multiple config() calls 2011-12-19 02:02:32 +02:00
vf_scale.h video, options: implement better YUV->RGB conversion control 2011-10-16 21:11:11 +03:00
vf_screenshot.c core: add infrastructure to get screenshots from VOs 2011-11-25 23:56:28 +02:00
vf_smartblur.c vo_gl: don't accept 9/10-bit formats as input 2011-06-29 10:49:41 +03:00
vf_softpulldown.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_softskip.c
vf_spp.c cleanup: do libav* initialization on startup 2011-07-18 00:57:05 +03:00
vf_stereo3d.c vf_stereo3d: Add support for converting to interleaved 3D 2011-07-06 13:01:07 +03:00
vf_swapuv.c
vf_telecine.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_test.c
vf_tfields.c cleanup: remove more warnings 2011-05-02 00:46:48 +03:00
vf_tile.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_tinterlace.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_unsharp.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_uspp.c cleanup: do libav* initialization on startup 2011-07-18 00:57:05 +03:00
vf_vo.c vo: reset EOSD change detection when VO is re-configured 2011-12-12 21:39:20 +02:00
vf_yadif.c configure: Remove checks for default inline asm features 2011-06-28 19:04:22 +03:00
vf_yuvcsp.c
vf_yvu9.c
vfcap.h core, vo: modify OSD redraw architecture, support EOSD 2011-12-06 05:03:39 +02:00
vqf.h