diff options
author | henry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-06-07 10:04:22 +0000 |
---|---|---|
committer | henry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-06-07 10:04:22 +0000 |
commit | 2a739145e4cfaaf9f095ee821bfce9fc75bc1e47 (patch) | |
tree | b9545a6fbf760512ef071a8d660921987d5ee9fc /libmpcodecs/vd_ffmpeg.c | |
parent | f4f07c6a5289e97736f264340b88fe1bb8da36ab (diff) | |
download | mpv-2a739145e4cfaaf9f095ee821bfce9fc75bc1e47.tar.bz2 mpv-2a739145e4cfaaf9f095ee821bfce9fc75bc1e47.tar.xz |
correcting the previous draw_slice fix
- don't draw slices beyond sh->disp_h
- draw slices sh->disp_w wide to avoid buffer overflow in VO
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15684 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs/vd_ffmpeg.c')
-rw-r--r-- | libmpcodecs/vd_ffmpeg.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c index 3de2173241..b02b849a45 100644 --- a/libmpcodecs/vd_ffmpeg.c +++ b/libmpcodecs/vd_ffmpeg.c @@ -451,11 +451,13 @@ static void draw_slice(struct AVCodecContext *s, } }else #endif + if (y < sh->disp_h) { #if LIBAVCODEC_BUILD >= 4670 - mpcodecs_draw_slice (sh, source, src->linesize, width, (y+16)<=sh->disp_h?height:sh->disp_h-y, 0, y); + mpcodecs_draw_slice (sh, source, src->linesize, sh->disp_w, (y+16)<=sh->disp_h?height:sh->disp_h-y, 0, y); #else - mpcodecs_draw_slice (sh,src, stride, width, (y+16)<=sh->disp_h?height:sh->disp_h-y, 0, y); + mpcodecs_draw_slice (sh,src, stride, sh->disp_w, (y+16)<=sh->disp_h?height:sh->disp_h-y, 0, y); #endif + } } |