[FFmpeg-soc] [soc]: r5616 - in libavfilter: checkout.sh diffs/01_ffplay_filters.diff diffs/02_ffmpeg_filters.diff diffs/03_libavfilter_doc.diff

stefano subversion at mplayerhq.hu
Mon Feb 1 23:45:01 CET 2010


Author: stefano
Date: Mon Feb  1 23:45:01 2010
New Revision: 5616

Log:
Update to FFmpeg r21600 / libswscale r30474.

Modified:
   libavfilter/checkout.sh
   libavfilter/diffs/01_ffplay_filters.diff
   libavfilter/diffs/02_ffmpeg_filters.diff
   libavfilter/diffs/03_libavfilter_doc.diff

Modified: libavfilter/checkout.sh
==============================================================================
--- libavfilter/checkout.sh	Mon Feb  1 20:58:04 2010	(r5615)
+++ libavfilter/checkout.sh	Mon Feb  1 23:45:01 2010	(r5616)
@@ -1,11 +1,11 @@
 #! /bin/sh
 
 echo "checking out pristine ffmpeg"
-svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk/ ffmpeg -r21414
+svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk/ ffmpeg -r21600
 
 echo "downloading the corresponding version of swscale"
 cd ffmpeg/libswscale
-svn up -r30419
+svn up -r30474
 cd ../..
 
 echo "patching ffmpeg"

Modified: libavfilter/diffs/01_ffplay_filters.diff
==============================================================================
--- libavfilter/diffs/01_ffplay_filters.diff	Mon Feb  1 20:58:04 2010	(r5615)
+++ libavfilter/diffs/01_ffplay_filters.diff	Mon Feb  1 23:45:01 2010	(r5616)
@@ -1,8 +1,8 @@
 Index: ffplay.c
 ===================================================================
---- ffplay.c	(revision 21414)
+--- ffplay.c	(revision 21600)
 +++ ffplay.c	(working copy)
-@@ -30,6 +30,12 @@
+@@ -31,6 +31,12 @@
  #include "libavcodec/colorspace.h"
  #include "libavcodec/opt.h"
  
@@ -15,7 +15,7 @@ Index: ffplay.c
  #include "cmdutils.h"
  
  #include <SDL.h>
-@@ -70,7 +76,9 @@
+@@ -71,7 +77,9 @@
  /* NOTE: the size must be big enough to compensate the hardware audio buffersize size */
  #define SAMPLE_ARRAY_SIZE (2*65536)
  
@@ -25,12 +25,11 @@ Index: ffplay.c
  
  typedef struct PacketQueue {
      AVPacketList *first_pkt, *last_pkt;
-@@ -88,7 +96,12 @@
-     double pts;                                  ///<presentation time stamp for this picture
-     SDL_Overlay *bmp;
+@@ -91,6 +99,11 @@
      int width, height; /* source height & width */
-+    enum PixelFormat pix_fmt;
      int allocated;
+     SDL_TimerID timer_id;
++    enum PixelFormat pix_fmt;
 +
 +#if CONFIG_AVFILTER
 +    AVFilterPicRef *picref;
@@ -38,7 +37,7 @@ Index: ffplay.c
  } VideoPicture;
  
  typedef struct SubPicture {
-@@ -171,11 +184,17 @@
+@@ -174,7 +187,9 @@
      int pictq_size, pictq_rindex, pictq_windex;
      SDL_mutex *pictq_mutex;
      SDL_cond *pictq_cond;
@@ -48,25 +47,27 @@ Index: ffplay.c
  
      //    QETimer *video_timer;
      char filename[1024];
-     int width, height, xleft, ytop;
-+
+@@ -185,6 +200,9 @@
+     int64_t last_dts_for_fault_detection;
+     int64_t last_pts_for_fault_detection;
+ 
 +#if CONFIG_AVFILTER
 +    AVFilterContext *out_video_filter;          ///<the last filter in the video chain
 +#endif
  } VideoState;
  
  static void show_help(void);
-@@ -216,6 +235,9 @@
+@@ -225,6 +243,9 @@
  static int error_recognition = FF_ER_CAREFUL;
  static int error_concealment = 3;
- static int decoder_reorder_pts= 0;
+ static int decoder_reorder_pts= -1;
 +#if CONFIG_AVFILTER
 +static char *vfilters = NULL;
 +#endif
  
  /* current context */
  static int is_full_screen;
-@@ -647,6 +669,13 @@
+@@ -659,6 +680,13 @@
  
      vp = &is->pictq[is->pictq_rindex];
      if (vp->bmp) {
@@ -80,7 +81,7 @@ Index: ffplay.c
          /* XXX: use variable in the frame */
          if (is->video_st->sample_aspect_ratio.num)
              aspect_ratio = av_q2d(is->video_st->sample_aspect_ratio);
-@@ -654,9 +683,10 @@
+@@ -666,9 +694,10 @@
              aspect_ratio = av_q2d(is->video_st->codec->sample_aspect_ratio);
          else
              aspect_ratio = 0;
@@ -92,7 +93,7 @@ Index: ffplay.c
          /* if an active format is indicated, then it overrides the
             mpeg format */
  #if 0
-@@ -859,9 +889,15 @@
+@@ -871,9 +900,15 @@
      } else if(!is_full_screen && screen_width){
          w = screen_width;
          h = screen_height;
@@ -108,7 +109,7 @@ Index: ffplay.c
      } else {
          w = 640;
          h = 480;
-@@ -1174,12 +1210,23 @@
+@@ -1184,12 +1219,23 @@
      if (vp->bmp)
          SDL_FreeYUVOverlay(vp->bmp);
  
@@ -136,7 +137,7 @@ Index: ffplay.c
  
      SDL_LockMutex(is->pictq_mutex);
      vp->allocated = 1;
-@@ -1195,7 +1242,9 @@
+@@ -1205,7 +1251,9 @@
  {
      VideoPicture *vp;
      int dst_pix_fmt;
@@ -147,7 +148,7 @@ Index: ffplay.c
      /* wait until we have space to put a new picture */
      SDL_LockMutex(is->pictq_mutex);
      while (is->pictq_size >= VIDEO_PICTURE_QUEUE_SIZE &&
-@@ -1211,8 +1260,13 @@
+@@ -1221,8 +1269,13 @@
  
      /* alloc or resize hardware picture buffer */
      if (!vp->bmp ||
@@ -161,7 +162,7 @@ Index: ffplay.c
          SDL_Event event;
  
          vp->allocated = 0;
-@@ -1237,6 +1291,11 @@
+@@ -1247,6 +1300,11 @@
      /* if the frame is not skipped, then display it */
      if (vp->bmp) {
          AVPicture pict;
@@ -173,7 +174,7 @@ Index: ffplay.c
  
          /* get a pointer on the bitmap */
          SDL_LockYUVOverlay (vp->bmp);
-@@ -1250,18 +1309,30 @@
+@@ -1260,18 +1318,30 @@
          pict.linesize[0] = vp->bmp->pitches[0];
          pict.linesize[1] = vp->bmp->pitches[2];
          pict.linesize[2] = vp->bmp->pitches[1];
@@ -208,44 +209,138 @@ Index: ffplay.c
          /* update the bitmap content */
          SDL_UnlockYUVOverlay(vp->bmp);
  
-@@ -1316,54 +1387,271 @@
+@@ -1328,87 +1398,303 @@
      return queue_picture(is, src_frame, pts);
  }
  
+-static int video_thread(void *arg)
 +static int get_video_frame(VideoState *is, AVFrame *frame, uint64_t *pts, AVPacket *pkt)
-+{
-+    int len1, got_picture;
-+
+ {
+-    VideoState *is = arg;
+-    AVPacket pkt1, *pkt = &pkt1;
+     int len1, got_picture, i;
+-    AVFrame *frame= avcodec_alloc_frame();
+-    double pts;
+ 
+-    for(;;) {
+-        while (is->paused && !is->videoq.abort_request) {
+-            SDL_Delay(10);
+-        }
+-        if (packet_queue_get(&is->videoq, pkt, 1) < 0)
+-            break;
 +    if (packet_queue_get(&is->videoq, pkt, 1) < 0)
 +        return -1;
-+
+ 
+-        if(pkt->data == flush_pkt.data){
+-            avcodec_flush_buffers(is->video_st->codec);
 +    if(pkt->data == flush_pkt.data){
 +        avcodec_flush_buffers(is->video_st->codec);
+ 
+-            SDL_LockMutex(is->pictq_mutex);
+-            //Make sure there are no long delay timers (ideally we should just flush the que but thats harder)
+-            for(i=0; i<VIDEO_PICTURE_QUEUE_SIZE; i++){
+-                if(is->pictq[i].timer_id){
+-                    SDL_RemoveTimer(is->pictq[i].timer_id);
+-                    is->pictq[i].timer_id=0;
+-                    schedule_refresh(is, 1);
+-                }
++        SDL_LockMutex(is->pictq_mutex);
++        //Make sure there are no long delay timers (ideally we should just flush the que but thats harder)
++        for(i=0; i<VIDEO_PICTURE_QUEUE_SIZE; i++){
++            if(is->pictq[i].timer_id){
++                SDL_RemoveTimer(is->pictq[i].timer_id);
++                is->pictq[i].timer_id=0;
++                schedule_refresh(is, 1);
+             }
+-            while (is->pictq_size && !is->videoq.abort_request) {
+-                SDL_CondWait(is->pictq_cond, is->pictq_mutex);
+-            }
+-            SDL_UnlockMutex(is->pictq_mutex);
++        }
++        while (is->pictq_size && !is->videoq.abort_request) {
++            SDL_CondWait(is->pictq_cond, is->pictq_mutex);
++        }
++        SDL_UnlockMutex(is->pictq_mutex);
+ 
+-            is->last_dts_for_fault_detection=
+-            is->last_pts_for_fault_detection= INT64_MIN;
+-            is->frame_last_pts= AV_NOPTS_VALUE;
+-            is->frame_last_delay = 0;
++        is->last_dts_for_fault_detection=
++        is->last_pts_for_fault_detection= INT64_MIN;
++        is->frame_last_pts= AV_NOPTS_VALUE;
++        is->frame_last_delay = 0;
+ 
+-            continue;
+-        }
 +        return 0;
 +    }
-+
+ 
+-        /* NOTE: ipts is the PTS of the _first_ picture beginning in
+-           this packet, if any */
+-        is->video_st->codec->reordered_opaque= pkt->pts;
+-        len1 = avcodec_decode_video2(is->video_st->codec,
+-                                    frame, &got_picture,
+-                                    pkt);
 +    /* NOTE: ipts is the PTS of the _first_ picture beginning in
 +       this packet, if any */
 +    is->video_st->codec->reordered_opaque= pkt->pts;
 +    len1 = avcodec_decode_video2(is->video_st->codec,
 +                                 frame, &got_picture,
 +                                 pkt);
-+
-+    if(   (decoder_reorder_pts || pkt->dts == AV_NOPTS_VALUE)
+ 
+-        if (got_picture) {
+-            if(pkt->dts != AV_NOPTS_VALUE){
+-                is->faulty_dts += pkt->dts <= is->last_dts_for_fault_detection;
+-                is->last_dts_for_fault_detection= pkt->dts;
+-            }
+-            if(frame->reordered_opaque != AV_NOPTS_VALUE){
+-                is->faulty_pts += frame->reordered_opaque <= is->last_pts_for_fault_detection;
+-                is->last_pts_for_fault_detection= frame->reordered_opaque;
+-            }
++    if (got_picture) {
++        if(pkt->dts != AV_NOPTS_VALUE){
++            is->faulty_dts += pkt->dts <= is->last_dts_for_fault_detection;
++            is->last_dts_for_fault_detection= pkt->dts;
+         }
++        if(frame->reordered_opaque != AV_NOPTS_VALUE){
++            is->faulty_pts += frame->reordered_opaque <= is->last_pts_for_fault_detection;
++            is->last_pts_for_fault_detection= frame->reordered_opaque;
++        }
++    }
+ 
+-        if(   (   decoder_reorder_pts==1
+-               || (decoder_reorder_pts && is->faulty_pts<is->faulty_dts)
+-               || pkt->dts == AV_NOPTS_VALUE)
+-           && frame->reordered_opaque != AV_NOPTS_VALUE)
+-            pts= frame->reordered_opaque;
+-        else if(pkt->dts != AV_NOPTS_VALUE)
+-            pts= pkt->dts;
+-        else
+-            pts= 0;
+-        pts *= av_q2d(is->video_st->time_base);
++    if(   (      decoder_reorder_pts==1
++              || (decoder_reorder_pts && is->faulty_pts<is->faulty_dts)
++              || pkt->dts == AV_NOPTS_VALUE)
 +          && frame->reordered_opaque != AV_NOPTS_VALUE)
 +        *pts= frame->reordered_opaque;
 +    else if(pkt->dts != AV_NOPTS_VALUE)
 +        *pts= pkt->dts;
 +    else
 +        *pts= 0;
-+
-+//            if (len1 < 0)
-+//                break;
-+        /* put pts into units of 1/AV_TIME_BASE */
+ 
++    /* put pts into units of 1/AV_TIME_BASE */
 +    *pts = AV_TIME_BASE * (*pts) * is->video_st->time_base.num /
 +        is->video_st->time_base.den;
 +
-+    if(got_picture)
+ //            if (len1 < 0)
+ //                break;
+-        if (got_picture) {
+-            if (output_picture2(is, frame, pts) < 0)
+-                goto the_end;
+-        }
+-        av_free_packet(pkt);
++    if (got_picture)
 +        return 1;
 +    return 0;
 +}
@@ -391,16 +486,13 @@ Index: ffplay.c
 +};
 +#endif  /* CONFIG_AVFILTER */
 +
- static int video_thread(void *arg)
- {
-     VideoState *is = arg;
--    AVPacket pkt1, *pkt = &pkt1;
--    int len1, got_picture;
-     AVFrame *frame= avcodec_alloc_frame();
++static int video_thread(void *arg)
++{
++    VideoState *is = arg;
++    AVFrame *frame= avcodec_alloc_frame();
 +    uint64_t pts_int;
-     double pts;
++    double pts;
 +    int ret;
- 
 +
 +#if CONFIG_AVFILTER
 +    AVFilterContext *filt_src = NULL, *filt_out = NULL;
@@ -444,36 +536,23 @@ Index: ffplay.c
 +    is->out_video_filter = filt_out;
 +#endif
 +
-     for(;;) {
--        while (is->paused && !is->videoq.abort_request) {
++    for(;;) {
 +#if !CONFIG_AVFILTER
 +        AVPacket pkt;
 +#endif
 +        while (is->paused && !is->videoq.abort_request)
-             SDL_Delay(10);
--        }
--        if (packet_queue_get(&is->videoq, pkt, 1) < 0)
--            break;
++            SDL_Delay(10);
 +#if CONFIG_AVFILTER
 +        ret = get_filtered_video_frame(filt_out, frame, &pts_int);
 +#else
 +        ret = get_video_frame(is, frame, &pts_int, &pkt);
 +#endif
- 
--        if(pkt->data == flush_pkt.data){
--            avcodec_flush_buffers(is->video_st->codec);
++
 +        if (ret < 0) goto the_end;
 +
 +        if (!ret)
-             continue;
--        }
- 
--        /* NOTE: ipts is the PTS of the _first_ picture beginning in
--           this packet, if any */
--        is->video_st->codec->reordered_opaque= pkt->pts;
--        len1 = avcodec_decode_video2(is->video_st->codec,
--                                    frame, &got_picture,
--                                    pkt);
++            continue;
++
 +        pts  = pts_int;
 +        pts /= AV_TIME_BASE;
 +        ret = output_picture2(is, frame, pts);
@@ -482,23 +561,7 @@ Index: ffplay.c
 +#endif
 +        if (ret < 0)
 +            goto the_end;
- 
--        if(   (decoder_reorder_pts || pkt->dts == AV_NOPTS_VALUE)
--           && frame->reordered_opaque != AV_NOPTS_VALUE)
--            pts= frame->reordered_opaque;
--        else if(pkt->dts != AV_NOPTS_VALUE)
--            pts= pkt->dts;
--        else
--            pts= 0;
--        pts *= av_q2d(is->video_st->time_base);
--
--//            if (len1 < 0)
--//                break;
--        if (got_picture) {
--            if (output_picture2(is, frame, pts) < 0)
--                goto the_end;
--        }
--        av_free_packet(pkt);
++
          if (step)
              if (cur_stream)
                  stream_pause(cur_stream);
@@ -511,7 +574,7 @@ Index: ffplay.c
      av_free(frame);
      return 0;
  }
-@@ -2137,6 +2425,12 @@
+@@ -2187,6 +2473,12 @@
      /* free all pictures */
      for(i=0;i<VIDEO_PICTURE_QUEUE_SIZE; i++) {
          vp = &is->pictq[i];
@@ -524,7 +587,7 @@ Index: ffplay.c
          if (vp->bmp) {
              SDL_FreeYUVOverlay(vp->bmp);
              vp->bmp = NULL;
-@@ -2146,8 +2440,10 @@
+@@ -2196,8 +2488,10 @@
      SDL_DestroyCond(is->pictq_cond);
      SDL_DestroyMutex(is->subpq_mutex);
      SDL_DestroyCond(is->subpq_cond);
@@ -535,7 +598,7 @@ Index: ffplay.c
      av_free(is);
  }
  
-@@ -2239,6 +2535,9 @@
+@@ -2289,6 +2583,9 @@
          av_free(avcodec_opts[i]);
      av_free(avformat_opts);
      av_free(sws_opts);
@@ -545,7 +608,7 @@ Index: ffplay.c
      if (show_status)
          printf("\n");
      SDL_Quit();
-@@ -2484,6 +2783,9 @@
+@@ -2539,6 +2836,9 @@
      { "ec", OPT_INT | HAS_ARG | OPT_EXPERT, {(void*)&error_concealment}, "set error concealment options",  "bit_mask" },
      { "sync", HAS_ARG | OPT_FUNC2 | OPT_EXPERT, {(void*)opt_sync}, "set audio-video sync. type (type=audio/video/ext)", "type" },
      { "threads", HAS_ARG | OPT_FUNC2 | OPT_EXPERT, {(void*)opt_thread_count}, "thread count", "count" },
@@ -555,7 +618,7 @@ Index: ffplay.c
      { "default", OPT_FUNC2 | HAS_ARG | OPT_AUDIO | OPT_VIDEO | OPT_EXPERT, {(void*)opt_default}, "generic catch all option", "" },
      { NULL, },
  };
-@@ -2531,13 +2833,18 @@
+@@ -2586,13 +2886,18 @@
      /* register all codecs, demux and protocols */
      avcodec_register_all();
      avdevice_register_all();

Modified: libavfilter/diffs/02_ffmpeg_filters.diff
==============================================================================
--- libavfilter/diffs/02_ffmpeg_filters.diff	Mon Feb  1 20:58:04 2010	(r5615)
+++ libavfilter/diffs/02_ffmpeg_filters.diff	Mon Feb  1 23:45:01 2010	(r5616)
@@ -1,8 +1,8 @@
 Index: ffmpeg.c
 ===================================================================
---- ffmpeg.c	(revision 21414)
+--- ffmpeg.c	(revision 21600)
 +++ ffmpeg.c	(working copy)
-@@ -41,6 +41,13 @@
+@@ -42,6 +42,13 @@
  #include "libavutil/avstring.h"
  #include "libavformat/os_support.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 @@
+@@ -144,6 +151,10 @@
  static int loop_input = 0;
  static int loop_output = AVFMT_NOOUTPUTLOOP;
  static int qp_hist = 0;
@@ -27,10 +27,10 @@ Index: ffmpeg.c
  
  static int intra_only = 0;
  static int audio_sample_rate = 44100;
-@@ -299,6 +310,13 @@
-                                 is not defined */
+@@ -301,6 +312,13 @@
      int64_t       pts;       /* current pts */
      int is_start;            /* is 1 at the start and after a discontinuity */
+     int showed_multi_packet_warning;
 +#if CONFIG_AVFILTER
 +    AVFilterContext *out_video_filter;
 +    AVFilterContext *input_video_filter;
@@ -41,7 +41,7 @@ Index: ffmpeg.c
  } AVInputStream;
  
  typedef struct AVInputFile {
-@@ -314,6 +332,184 @@
+@@ -316,6 +334,184 @@
  static struct termios oldtty;
  #endif
  
@@ -226,7 +226,7 @@ Index: ffmpeg.c
  static void term_exit(void)
  {
  #if HAVE_TERMIOS_H
-@@ -458,6 +654,10 @@
+@@ -460,6 +656,10 @@
      allocated_audio_buf_size= allocated_audio_out_size= 0;
      av_free(samples);
  
@@ -237,7 +237,7 @@ Index: ffmpeg.c
      if (received_sigterm) {
          fprintf(stderr,
              "Received signal %d: terminating.\n",
-@@ -890,7 +1090,9 @@
+@@ -892,7 +1092,9 @@
                           int *frame_size)
  {
      int nb_frames, i, ret;
@@ -247,7 +247,7 @@ Index: ffmpeg.c
      AVFrame *final_picture, *formatted_picture, *resampling_dst, *padding_src;
      AVFrame picture_crop_temp, picture_pad_temp;
      AVCodecContext *enc, *dec;
-@@ -936,6 +1138,9 @@
+@@ -938,6 +1140,9 @@
      if (nb_frames <= 0)
          return;
  
@@ -257,7 +257,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");
-@@ -947,6 +1152,7 @@
+@@ -949,6 +1154,7 @@
      } else {
          formatted_picture = in_picture;
      }
@@ -265,7 +265,7 @@ Index: ffmpeg.c
  
      final_picture = formatted_picture;
      padding_src = formatted_picture;
-@@ -973,6 +1179,7 @@
+@@ -975,6 +1181,7 @@
              av_exit(1);
      }
  
@@ -273,7 +273,7 @@ Index: ffmpeg.c
      if (ost->video_resample) {
          padding_src = NULL;
          final_picture = &ost->pict_tmp;
-@@ -1020,6 +1227,7 @@
+@@ -1022,6 +1229,7 @@
          sws_scale(ost->img_resample_ctx, formatted_picture->data, formatted_picture->linesize,
                0, ost->resample_height, resampling_dst->data, resampling_dst->linesize);
      }
@@ -281,7 +281,7 @@ Index: ffmpeg.c
  
      if (ost->video_pad) {
          av_picture_pad((AVPicture*)final_picture, (AVPicture *)padding_src,
-@@ -1285,6 +1493,10 @@
+@@ -1287,6 +1495,10 @@
      static unsigned int samples_size= 0;
      AVSubtitle subtitle, *subtitle_to_free;
      int got_subtitle;
@@ -292,7 +292,7 @@ Index: ffmpeg.c
      AVPacket avpkt;
      int bps = av_get_bits_per_sample_format(ist->st->codec->sample_fmt)>>3;
  
-@@ -1410,6 +1622,15 @@
+@@ -1414,6 +1626,15 @@
                                      &buffer_to_free);
          }
  
@@ -308,7 +308,7 @@ Index: ffmpeg.c
          // preprocess audio (volume)
          if (ist->st->codec->codec_type == CODEC_TYPE_AUDIO) {
              if (audio_volume != 256) {
-@@ -1431,10 +1652,18 @@
+@@ -1435,10 +1656,18 @@
              if (pts > now)
                  usleep(pts - now);
          }
@@ -328,7 +328,7 @@ Index: ffmpeg.c
              for(i=0;i<nb_ostreams;i++) {
                  int frame_size;
  
-@@ -1452,6 +1681,9 @@
+@@ -1456,6 +1685,9 @@
                              do_audio_out(os, ost, ist, decoded_data_buf, decoded_data_size);
                              break;
                          case CODEC_TYPE_VIDEO:
@@ -338,7 +338,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);
-@@ -1517,7 +1749,17 @@
+@@ -1521,7 +1753,17 @@
                          av_free_packet(&opkt);
                      }
                  }
@@ -356,7 +356,7 @@ Index: ffmpeg.c
          av_free(buffer_to_free);
          /* XXX: allocate the subtitles in the codec ? */
          if (subtitle_to_free) {
-@@ -1971,9 +2213,10 @@
+@@ -1975,9 +2217,10 @@
                          av_exit(1);
                      }
  
@@ -368,7 +368,7 @@ Index: ffmpeg.c
                      codec->bits_per_raw_sample= 0;
                  }
                  ost->resample_height = icodec->height - (frame_topBand  + frame_bottomBand);
-@@ -1981,6 +2224,13 @@
+@@ -1985,6 +2228,13 @@
                  ost->resample_pix_fmt= icodec->pix_fmt;
                  ost->encoding_needed = 1;
                  ist->decoding_needed = 1;
@@ -382,7 +382,7 @@ Index: ffmpeg.c
                  break;
              case CODEC_TYPE_SUBTITLE:
                  ost->encoding_needed = 1;
-@@ -2367,6 +2617,12 @@
+@@ -2375,6 +2625,12 @@
              avcodec_close(ist->st->codec);
          }
      }
@@ -395,7 +395,7 @@ Index: ffmpeg.c
  
      /* finished ! */
      ret = 0;
-@@ -3922,6 +4178,9 @@
+@@ -3929,6 +4185,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" },
@@ -405,7 +405,7 @@ Index: ffmpeg.c
      { "intra_matrix", HAS_ARG | OPT_EXPERT | OPT_VIDEO, {(void*)opt_intra_matrix}, "specify intra matrix coeffs", "matrix" },
      { "inter_matrix", HAS_ARG | OPT_EXPERT | OPT_VIDEO, {(void*)opt_inter_matrix}, "specify inter matrix coeffs", "matrix" },
      { "top", HAS_ARG | OPT_EXPERT | OPT_VIDEO, {(void*)opt_top_field_first}, "top=1/bottom=0/auto=-1 field first", "" },
-@@ -3982,6 +4241,9 @@
+@@ -3989,6 +4248,9 @@
  
      avcodec_register_all();
      avdevice_register_all();

Modified: libavfilter/diffs/03_libavfilter_doc.diff
==============================================================================
--- libavfilter/diffs/03_libavfilter_doc.diff	Mon Feb  1 20:58:04 2010	(r5615)
+++ libavfilter/diffs/03_libavfilter_doc.diff	Mon Feb  1 23:45:01 2010	(r5616)
@@ -1,6 +1,6 @@
 Index: doc/libavfilter.texi
 ===================================================================
---- doc/libavfilter.texi	(revision 21414)
+--- doc/libavfilter.texi	(revision 21600)
 +++ doc/libavfilter.texi	(working copy)
 @@ -111,6 +111,20 @@
  


More information about the FFmpeg-soc mailing list