[FFmpeg-soc] [soc]: r5427 - in libavfilter: checkout.sh diffs/01_ffplay_filters.diff diffs/02_ffmpeg_filters.diff diffs/03_libavfilter_doc.diff vf_drawbox.c vf_fifo.c vf_fps.c vf_scale.c vf_setpts.c vf_slicify....

stefano subversion at mplayerhq.hu
Tue Nov 3 23:36:31 CET 2009


Author: stefano
Date: Tue Nov  3 23:36:31 2009
New Revision: 5427

Log:
Update to FFmpeg r20444.

In particular explicitely define the get_video_buffer() callbacks in
the filters, when necessary.

Modified:
   libavfilter/checkout.sh
   libavfilter/diffs/01_ffplay_filters.diff
   libavfilter/diffs/02_ffmpeg_filters.diff
   libavfilter/diffs/03_libavfilter_doc.diff
   libavfilter/vf_drawbox.c
   libavfilter/vf_fifo.c
   libavfilter/vf_fps.c
   libavfilter/vf_scale.c
   libavfilter/vf_setpts.c
   libavfilter/vf_slicify.c
   libavfilter/vf_split.c

Modified: libavfilter/checkout.sh
==============================================================================
--- libavfilter/checkout.sh	Tue Nov  3 22:37:22 2009	(r5426)
+++ libavfilter/checkout.sh	Tue Nov  3 23:36:31 2009	(r5427)
@@ -1,11 +1,11 @@
 #! /bin/sh
 
 echo "checking out pristine ffmpeg"
-svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk/ ffmpeg -r20390
+svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk/ ffmpeg -r20444
 
 echo "downloading the corresponding version of swscale"
 cd ffmpeg/libswscale
-svn up -r29701
+svn up -r29818
 cd ../..
 
 echo "patching ffmpeg"

Modified: libavfilter/diffs/01_ffplay_filters.diff
==============================================================================
--- libavfilter/diffs/01_ffplay_filters.diff	Tue Nov  3 22:37:22 2009	(r5426)
+++ libavfilter/diffs/01_ffplay_filters.diff	Tue Nov  3 23:36:31 2009	(r5427)
@@ -1,6 +1,6 @@
 Index: ffplay.c
 ===================================================================
---- ffplay.c	(revision 20390)
+--- ffplay.c	(revision 20444)
 +++ ffplay.c	(working copy)
 @@ -29,6 +29,12 @@
  #include "libavcodec/colorspace.h"

Modified: libavfilter/diffs/02_ffmpeg_filters.diff
==============================================================================
--- libavfilter/diffs/02_ffmpeg_filters.diff	Tue Nov  3 22:37:22 2009	(r5426)
+++ libavfilter/diffs/02_ffmpeg_filters.diff	Tue Nov  3 23:36:31 2009	(r5427)
@@ -1,6 +1,6 @@
 Index: ffmpeg.c
 ===================================================================
---- ffmpeg.c	(revision 20390)
+--- ffmpeg.c	(revision 20444)
 +++ ffmpeg.c	(working copy)
 @@ -41,6 +41,13 @@
  #include "libavutil/avstring.h"
@@ -16,7 +16,7 @@ Index: ffmpeg.c
  #if HAVE_SYS_RESOURCE_H
  #include <sys/types.h>
  #include <sys/resource.h>
-@@ -143,6 +150,10 @@
+@@ -142,6 +149,10 @@
  static int loop_input = 0;
  static int loop_output = AVFMT_NOOUTPUTLOOP;
  static int qp_hist = 0;
@@ -27,7 +27,7 @@ Index: ffmpeg.c
  
  static int intra_only = 0;
  static int audio_sample_rate = 44100;
-@@ -299,6 +310,13 @@
+@@ -298,6 +309,13 @@
                                  is not defined */
      int64_t       pts;       /* current pts */
      int is_start;            /* is 1 at the start and after a discontinuity */
@@ -41,7 +41,7 @@ Index: ffmpeg.c
  } AVInputStream;
  
  typedef struct AVInputFile {
-@@ -314,6 +332,186 @@
+@@ -313,6 +331,186 @@
  static struct termios oldtty;
  #endif
  
@@ -228,7 +228,7 @@ Index: ffmpeg.c
  static void term_exit(void)
  {
  #if HAVE_TERMIOS_H
-@@ -454,6 +652,10 @@
+@@ -453,6 +651,10 @@
      av_free(audio_out2);
      av_free(samples);
  
@@ -239,7 +239,7 @@ Index: ffmpeg.c
      if (received_sigterm) {
          fprintf(stderr,
              "Received signal %d: terminating.\n",
-@@ -868,7 +1070,9 @@
+@@ -867,7 +1069,9 @@
                           int *frame_size)
  {
      int nb_frames, i, ret;
@@ -249,7 +249,7 @@ Index: ffmpeg.c
      AVFrame *final_picture, *formatted_picture, *resampling_dst, *padding_src;
      AVFrame picture_crop_temp, picture_pad_temp;
      AVCodecContext *enc, *dec;
-@@ -914,6 +1118,9 @@
+@@ -913,6 +1117,9 @@
      if (nb_frames <= 0)
          return;
  
@@ -259,7 +259,7 @@ Index: ffmpeg.c
      if (ost->video_crop) {
          if (av_picture_crop((AVPicture *)&picture_crop_temp, (AVPicture *)in_picture, dec->pix_fmt, ost->topBand, ost->leftBand) < 0) {
              fprintf(stderr, "error cropping picture\n");
-@@ -925,6 +1132,7 @@
+@@ -924,6 +1131,7 @@
      } else {
          formatted_picture = in_picture;
      }
@@ -267,7 +267,7 @@ Index: ffmpeg.c
  
      final_picture = formatted_picture;
      padding_src = formatted_picture;
-@@ -942,6 +1150,7 @@
+@@ -941,6 +1149,7 @@
          }
      }
  
@@ -275,7 +275,7 @@ Index: ffmpeg.c
      if (ost->video_resample) {
          padding_src = NULL;
          final_picture = &ost->pict_tmp;
-@@ -990,6 +1199,7 @@
+@@ -989,6 +1198,7 @@
          sws_scale(ost->img_resample_ctx, formatted_picture->data, formatted_picture->linesize,
                0, ost->resample_height, resampling_dst->data, resampling_dst->linesize);
      }
@@ -283,7 +283,7 @@ Index: ffmpeg.c
  
      if (ost->video_pad) {
          av_picture_pad((AVPicture*)final_picture, (AVPicture *)padding_src,
-@@ -1256,6 +1466,10 @@
+@@ -1255,6 +1465,10 @@
      static unsigned int samples_size= 0;
      AVSubtitle subtitle, *subtitle_to_free;
      int got_subtitle;
@@ -294,7 +294,7 @@ Index: ffmpeg.c
      AVPacket avpkt;
      int bps = av_get_bits_per_sample_format(ist->st->codec->sample_fmt)>>3;
  
-@@ -1378,6 +1592,15 @@
+@@ -1377,6 +1591,15 @@
                                      &buffer_to_free);
          }
  
@@ -310,7 +310,7 @@ Index: ffmpeg.c
          // preprocess audio (volume)
          if (ist->st->codec->codec_type == CODEC_TYPE_AUDIO) {
              if (audio_volume != 256) {
-@@ -1399,10 +1622,18 @@
+@@ -1398,10 +1621,18 @@
              if (pts > now)
                  usleep(pts - now);
          }
@@ -330,7 +330,7 @@ Index: ffmpeg.c
              for(i=0;i<nb_ostreams;i++) {
                  int frame_size;
  
-@@ -1419,6 +1650,9 @@
+@@ -1418,6 +1649,9 @@
                              do_audio_out(os, ost, ist, data_buf, data_size);
                              break;
                          case CODEC_TYPE_VIDEO:
@@ -340,7 +340,7 @@ Index: ffmpeg.c
                              do_video_out(os, ost, ist, &picture, &frame_size);
                              if (vstats_filename && frame_size)
                                  do_video_stats(os, ost, frame_size);
-@@ -1484,7 +1718,17 @@
+@@ -1483,7 +1717,17 @@
                          av_free_packet(&opkt);
                      }
                  }
@@ -358,7 +358,7 @@ Index: ffmpeg.c
          av_free(buffer_to_free);
          /* XXX: allocate the subtitles in the codec ? */
          if (subtitle_to_free) {
-@@ -1938,16 +2182,27 @@
+@@ -1937,16 +2181,27 @@
                          av_exit(1);
                      }
  
@@ -386,7 +386,7 @@ Index: ffmpeg.c
                  break;
              case CODEC_TYPE_SUBTITLE:
                  ost->encoding_needed = 1;
-@@ -2334,6 +2589,12 @@
+@@ -2333,6 +2588,12 @@
              avcodec_close(ist->st->codec);
          }
      }
@@ -399,7 +399,7 @@ Index: ffmpeg.c
  
      /* finished ! */
      ret = 0;
-@@ -3897,6 +4158,9 @@
+@@ -3899,6 +4160,9 @@
      { "psnr", OPT_BOOL | OPT_EXPERT | OPT_VIDEO, {(void*)&do_psnr}, "calculate PSNR of compressed frames" },
      { "vstats", OPT_EXPERT | OPT_VIDEO, {(void*)&opt_vstats}, "dump video coding statistics to file" },
      { "vstats_file", HAS_ARG | OPT_EXPERT | OPT_VIDEO, {(void*)opt_vstats_file}, "dump video coding statistics to file", "file" },

Modified: libavfilter/diffs/03_libavfilter_doc.diff
==============================================================================
--- libavfilter/diffs/03_libavfilter_doc.diff	Tue Nov  3 22:37:22 2009	(r5426)
+++ libavfilter/diffs/03_libavfilter_doc.diff	Tue Nov  3 23:36:31 2009	(r5427)
@@ -1,6 +1,6 @@
 Index: doc/libavfilter.texi
 ===================================================================
---- doc/libavfilter.texi	(revision 20390)
+--- doc/libavfilter.texi	(revision 20444)
 +++ doc/libavfilter.texi	(working copy)
 @@ -111,6 +111,20 @@
  
@@ -53,7 +53,7 @@ Index: doc/libavfilter.texi
 +  
  @section noformat
  
- Force libavfilter not to use any of the specified pixel formats as the
+ Force libavfilter not to use any of the specified pixel formats for the
 @@ -149,6 +187,89 @@
  
  Pass the source unchanged to the output.

Modified: libavfilter/vf_drawbox.c
==============================================================================
--- libavfilter/vf_drawbox.c	Tue Nov  3 22:37:22 2009	(r5426)
+++ libavfilter/vf_drawbox.c	Tue Nov  3 23:36:31 2009	(r5427)
@@ -92,6 +92,12 @@ static int config_input(AVFilterLink *li
     return 0;
 }
 
+static AVFilterPicRef *get_video_buffer(AVFilterLink *link, int perms,
+                                        int w, int h)
+{
+    return avfilter_get_video_buffer(link->dst->outputs[0], perms, w, h);
+}
+
 static void start_frame(AVFilterLink *link, AVFilterPicRef *picref)
 {
     avfilter_start_frame(link->dst->outputs[0], picref);
@@ -144,6 +150,7 @@ AVFilter avfilter_vf_drawbox=
     .query_formats   = query_formats,
     .inputs    = (AVFilterPad[]) {{ .name            = "default",
                                     .type            = CODEC_TYPE_VIDEO,
+                                    .get_video_buffer= get_video_buffer,
                                     .start_frame     = start_frame,
                                     .end_frame       = end_frame,
                                     .config_props    = config_input,

Modified: libavfilter/vf_fifo.c
==============================================================================
--- libavfilter/vf_fifo.c	Tue Nov  3 22:37:22 2009	(r5426)
+++ libavfilter/vf_fifo.c	Tue Nov  3 23:36:31 2009	(r5427)
@@ -53,6 +53,12 @@ static av_cold void uninit(AVFilterConte
     }
 }
 
+static AVFilterPicRef *get_video_buffer(AVFilterLink *link, int perms,
+                                        int w, int h)
+{
+    return avfilter_get_video_buffer(link->dst->outputs[0], perms, w, h);
+}
+
 static void start_frame(AVFilterLink *link, AVFilterPicRef *picref)
 {
     BufferContext *buf = link->dst->priv;
@@ -107,6 +113,7 @@ AVFilter avfilter_vf_fifo =
 
     .inputs    = (AVFilterPad[]) {{ .name            = "default",
                                     .type            = CODEC_TYPE_VIDEO,
+                                    .get_video_buffer= get_video_buffer,
                                     .start_frame     = start_frame,
                                     .draw_slice      = draw_slice,
                                     .end_frame       = end_frame,

Modified: libavfilter/vf_fps.c
==============================================================================
--- libavfilter/vf_fps.c	Tue Nov  3 22:37:22 2009	(r5426)
+++ libavfilter/vf_fps.c	Tue Nov  3 23:36:31 2009	(r5427)
@@ -54,6 +54,12 @@ static av_cold void uninit(AVFilterConte
     if(fps->pic) avfilter_unref_pic(fps->pic);
 }
 
+static AVFilterPicRef *get_video_buffer(AVFilterLink *link, int perms,
+                                        int w, int h)
+{
+    return avfilter_get_video_buffer(link->dst->outputs[0], perms, w, h);
+}
+
 static void start_frame(AVFilterLink *link, AVFilterPicRef *picref)
 {
     FPSContext *fps = link->dst->priv;
@@ -118,6 +124,7 @@ AVFilter avfilter_vf_fps =
 
     .inputs    = (AVFilterPad[]) {{ .name            = "default",
                                     .type            = CODEC_TYPE_VIDEO,
+                                    .get_video_buffer= get_video_buffer,
                                     .start_frame     = start_frame,
                                     .end_frame       = end_frame, },
                                   { .name = NULL}},

Modified: libavfilter/vf_scale.c
==============================================================================
--- libavfilter/vf_scale.c	Tue Nov  3 22:37:22 2009	(r5426)
+++ libavfilter/vf_scale.c	Tue Nov  3 23:36:31 2009	(r5427)
@@ -99,11 +99,6 @@ static int query_formats(AVFilterContext
     return 0;
 }
 
-static AVFilterPicRef *get_video_buffer(AVFilterLink *link, int perms, int w, int h)
-{
-    return avfilter_default_get_video_buffer(link, perms, w, h);
-}
-
 static int config_props(AVFilterLink *link)
 {
     ScaleContext *scale = link->src->priv;
@@ -193,7 +188,6 @@ AVFilter avfilter_vf_scale =
 
     .inputs    = (AVFilterPad[]) {{ .name            = "default",
                                     .type            = CODEC_TYPE_VIDEO,
-                                    .get_video_buffer= get_video_buffer,
                                     .start_frame     = start_frame,
                                     .draw_slice      = draw_slice,
                                     .min_perms       = AV_PERM_READ, },

Modified: libavfilter/vf_setpts.c
==============================================================================
--- libavfilter/vf_setpts.c	Tue Nov  3 22:37:22 2009	(r5426)
+++ libavfilter/vf_setpts.c	Tue Nov  3 23:36:31 2009	(r5427)
@@ -88,6 +88,12 @@ static av_cold int init(AVFilterContext 
     return !setpts->expr;
 }
 
+static AVFilterPicRef *get_video_buffer(AVFilterLink *link, int perms,
+                                        int w, int h)
+{
+    return avfilter_get_video_buffer(link->dst->outputs[0], perms, w, h);
+}
+
 static void start_frame(AVFilterLink *link, AVFilterPicRef *picref)
 {
     SetPTSContext *setpts = link->dst->priv;
@@ -126,6 +132,7 @@ AVFilter avfilter_vf_setpts =
 
     .inputs    = (AVFilterPad[]) {{ .name            = "default",
                                     .type            = CODEC_TYPE_VIDEO,
+                                    .get_video_buffer= get_video_buffer,
                                     .start_frame     = start_frame,},
                                   { .name = NULL}},
     .outputs   = (AVFilterPad[]) {{ .name            = "default",

Modified: libavfilter/vf_slicify.c
==============================================================================
--- libavfilter/vf_slicify.c	Tue Nov  3 22:37:22 2009	(r5426)
+++ libavfilter/vf_slicify.c	Tue Nov  3 23:36:31 2009	(r5427)
@@ -54,6 +54,12 @@ static int config_props(AVFilterLink *li
     return 0;
 }
 
+static AVFilterPicRef *get_video_buffer(AVFilterLink *link, int perms,
+                                        int w, int h)
+{
+    return avfilter_get_video_buffer(link->dst->outputs[0], perms, w, h);
+}
+
 static void start_frame(AVFilterLink *link, AVFilterPicRef *picref)
 {
     avfilter_start_frame(link->dst->outputs[0], picref);
@@ -87,6 +93,7 @@ AVFilter avfilter_vf_slicify =
 
     .inputs    = (AVFilterPad[]) {{ .name            = "default",
                                     .type            = CODEC_TYPE_VIDEO,
+                                    .get_video_buffer= get_video_buffer,
                                     .start_frame     = start_frame,
                                     .draw_slice      = draw_slice,
                                     .config_props    = config_props,

Modified: libavfilter/vf_split.c
==============================================================================
--- libavfilter/vf_split.c	Tue Nov  3 22:37:22 2009	(r5426)
+++ libavfilter/vf_split.c	Tue Nov  3 23:36:31 2009	(r5427)
@@ -21,6 +21,12 @@
 
 #include "avfilter.h"
 
+static AVFilterPicRef *get_video_buffer(AVFilterLink *link, int perms,
+                                        int w, int h)
+{
+    return avfilter_get_video_buffer(link->dst->outputs[0], perms, w, h);
+}
+
 static void start_frame(AVFilterLink *link, AVFilterPicRef *picref)
 {
     avfilter_start_frame(link->dst->outputs[0],
@@ -49,6 +55,7 @@ AVFilter avfilter_vf_split =
 
     .inputs    = (AVFilterPad[]) {{ .name            = "default",
                                     .type            = CODEC_TYPE_VIDEO,
+                                    .get_video_buffer= get_video_buffer,
                                     .start_frame     = start_frame,
                                     .draw_slice      = draw_slice,
                                     .end_frame       = end_frame, },


More information about the FFmpeg-soc mailing list