[FFmpeg-soc] [soc]: r5804 - libavfilter/vsrc_movie.c

bcoudurier subversion at mplayerhq.hu
Wed May 19 05:15:27 CEST 2010


Author: bcoudurier
Date: Wed May 19 05:15:27 2010
New Revision: 5804

Log:
actually copy the picture in vsrc movie, it cannot be taken from decode_video like this

Modified:
   libavfilter/vsrc_movie.c

Modified: libavfilter/vsrc_movie.c
==============================================================================
--- libavfilter/vsrc_movie.c	Mon May 17 01:30:24 2010	(r5803)
+++ libavfilter/vsrc_movie.c	Wed May 19 05:15:27 2010	(r5804)
@@ -189,10 +189,8 @@ static int movie_get_frame(AVFilterLink 
 
             // Did we get a video frame?
             if(frame_finished) {
-                memcpy(mv->pic->data,     mv->frame->data,
-                       sizeof(mv->frame->data));
-                memcpy(mv->pic->linesize, mv->frame->linesize,
-                       sizeof(mv->frame->linesize));
+                av_picture_copy((AVPicture *)&mv->pic->data, (AVPicture *)mv->frame,
+                                mv->pic->pic->format, link->w, link->h);
 
                 // Advance in the time line
                 mv->pic->pts = av_rescale_q(packet.pts,
@@ -229,7 +227,7 @@ static int request_frame(AVFilterLink *l
     if (mv->is_done)
         return AVERROR_EOF;
 
-    out = avfilter_ref_pic(mv->pic, ~AV_PERM_WRITE);
+    out = avfilter_ref_pic(mv->pic, ~0);
     out->pixel_aspect = mv->codec_ctx->sample_aspect_ratio;
 
     avfilter_start_frame(link, out);


More information about the FFmpeg-soc mailing list