[SCM] libav/experimental: FFplay : Copy all AVFrame fields from the reference picture to the requested buffer.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:10:17 UTC 2013


The following commit has been merged in the experimental branch:
commit cfb7e6e6d5d2ba2c7b4664e77c47fb866b08fa1b
Author: Jai Menon <jmenon86 at gmail.com>
Date:   Sat Jul 3 21:20:32 2010 +0000

    FFplay : Copy all AVFrame fields from the reference picture to the
    requested buffer.
    
    Originally committed as revision 24032 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/ffplay.c b/ffplay.c
index a43dbb1..9d6411d 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -1591,9 +1591,9 @@ static int input_get_buffer(AVCodecContext *codec, AVFrame *pic)
 
     ref->w = codec->width;
     ref->h = codec->height;
-    for(i = 0; i < 3; i ++) {
-        unsigned hshift = i == 0 ? 0 : av_pix_fmt_descriptors[ref->pic->format].log2_chroma_w;
-        unsigned vshift = i == 0 ? 0 : av_pix_fmt_descriptors[ref->pic->format].log2_chroma_h;
+    for(i = 0; i < 4; i ++) {
+        unsigned hshift = (i == 1 || i == 2) ? av_pix_fmt_descriptors[ref->pic->format].log2_chroma_w : 0;
+        unsigned vshift = (i == 1 || i == 2) ? av_pix_fmt_descriptors[ref->pic->format].log2_chroma_h : 0;
 
         if (ref->data[i]) {
             ref->data[i]    += (edge >> hshift) + ((edge * ref->linesize[i]) >> vshift);

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list