[vlc-commits] avcodec: fix direct rendering with some codecs

Rafaël Carré git at videolan.org
Sat Dec 10 23:00:07 CET 2011


vlc | branch: master | Rafaël Carré <funman at videolan.org> | Sat Dec 10 16:58:35 2011 -0500| [fcc84608b67f3c3567b96604577bfdcc0de45b53] | committer: Rafaël Carré

avcodec: fix direct rendering with some codecs

Provide edge buffers when CODEC_FLAG_EMU_EDGE is set
Fix ProRes playback with direct rendering

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=fcc84608b67f3c3567b96604577bfdcc0de45b53
---

 modules/codec/avcodec/video.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c
index c26c7a0..4cf2e30 100644
--- a/modules/codec/avcodec/video.c
+++ b/modules/codec/avcodec/video.c
@@ -147,8 +147,9 @@ static inline picture_t *ffmpeg_NewPictBuf( decoder_t *p_dec,
 {
     decoder_sys_t *p_sys = p_dec->p_sys;
 
-    p_dec->fmt_out.video.i_width = p_context->width;
-    p_dec->fmt_out.video.i_height = p_context->height;
+    unsigned edge = p_sys->b_direct_rendering ? avcodec_get_edge_width() : 0;
+    p_dec->fmt_out.video.i_width = p_context->width + edge;
+    p_dec->fmt_out.video.i_height = p_context->height + edge;
 
     if( !p_context->width || !p_context->height )
     {



More information about the vlc-commits mailing list