[FFmpeg-cvslog] ffplay: remove VideoPicture pix_fmt and use frame pixel format instead

Marton Balint git at videolan.org
Sat Jun 2 17:09:18 CEST 2012


ffmpeg | branch: master | Marton Balint <cus at passwd.hu> | Tue May 29 00:20:11 2012 +0200| [f1a75aa033db9e8beceb0b44d797decfc41fd469] | committer: Marton Balint

ffplay: remove VideoPicture pix_fmt and use frame pixel format instead

VideoPicture pixel format is set at allocation time, therefore it is not
reflecting the proper value.

Fixes files with changing pixel format in the avfilter disabled case.

Signed-off-by: Marton Balint <cus at passwd.hu>

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

 ffplay.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/ffplay.c b/ffplay.c
index 2fae0e5..260391f 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -106,7 +106,6 @@ typedef struct VideoPicture {
     AVRational sample_aspect_ratio;
     int allocated;
     int reallocate;
-    enum PixelFormat pix_fmt;
 
 #if CONFIG_AVFILTER
     AVFilterBufferRef *picref;
@@ -1320,7 +1319,6 @@ static void alloc_picture(AllocEventProps *event_props)
 
     vp->width   = frame->width;
     vp->height  = frame->height;
-    vp->pix_fmt = frame->format;
 
     video_open(event_props->is, 0);
 
@@ -1441,12 +1439,12 @@ static int queue_picture(VideoState *is, AVFrame *src_frame, double pts1, int64_
 #if CONFIG_AVFILTER
         // FIXME use direct rendering
         av_picture_copy(&pict, (AVPicture *)src_frame,
-                        vp->pix_fmt, vp->width, vp->height);
+                        src_frame->format, vp->width, vp->height);
         vp->sample_aspect_ratio = vp->picref->video->sample_aspect_ratio;
 #else
         sws_flags = av_get_int(sws_opts, "sws_flags", NULL);
         is->img_convert_ctx = sws_getCachedContext(is->img_convert_ctx,
-            vp->width, vp->height, vp->pix_fmt, vp->width, vp->height,
+            vp->width, vp->height, src_frame->format, vp->width, vp->height,
             PIX_FMT_YUV420P, sws_flags, NULL, NULL, NULL);
         if (is->img_convert_ctx == NULL) {
             fprintf(stderr, "Cannot initialize the conversion context\n");



More information about the ffmpeg-cvslog mailing list