[FFmpeg-soc] [soc]: r5618 - in libavfilter: checkout.sh diffs/01_ffplay_filters.diff diffs/02_ffmpeg_filters.diff diffs/03_libavfilter_doc.diff
stefano
subversion at mplayerhq.hu
Sat Feb 6 02:55:22 CET 2010
Author: stefano
Date: Sat Feb 6 02:55:22 2010
New Revision: 5618
Log:
Update to FFmpeg r21650 / libswscale r30520.
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 Thu Feb 4 01:55:07 2010 (r5617)
+++ libavfilter/checkout.sh Sat Feb 6 02:55:22 2010 (r5618)
@@ -1,11 +1,11 @@
#! /bin/sh
echo "checking out pristine ffmpeg"
-svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk/ ffmpeg -r21600
+svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk/ ffmpeg -r21650
echo "downloading the corresponding version of swscale"
cd ffmpeg/libswscale
-svn up -r30474
+svn up -r30520
cd ../..
echo "patching ffmpeg"
Modified: libavfilter/diffs/01_ffplay_filters.diff
==============================================================================
--- libavfilter/diffs/01_ffplay_filters.diff Thu Feb 4 01:55:07 2010 (r5617)
+++ libavfilter/diffs/01_ffplay_filters.diff Sat Feb 6 02:55:22 2010 (r5618)
@@ -1,10 +1,10 @@
Index: ffplay.c
===================================================================
---- ffplay.c (revision 21600)
+--- ffplay.c (revision 21650)
+++ ffplay.c (working copy)
-@@ -31,6 +31,12 @@
- #include "libavcodec/colorspace.h"
+@@ -32,6 +32,12 @@
#include "libavcodec/opt.h"
+ #include "libavcodec/dsputil.h"
+#if CONFIG_AVFILTER
+# include "libavfilter/avfilter.h"
@@ -15,7 +15,7 @@ Index: ffplay.c
#include "cmdutils.h"
#include <SDL.h>
-@@ -71,7 +77,9 @@
+@@ -72,7 +78,9 @@
/* NOTE: the size must be big enough to compensate the hardware audio buffersize size */
#define SAMPLE_ARRAY_SIZE (2*65536)
@@ -25,7 +25,7 @@ Index: ffplay.c
typedef struct PacketQueue {
AVPacketList *first_pkt, *last_pkt;
-@@ -91,6 +99,11 @@
+@@ -93,6 +101,11 @@
int width, height; /* source height & width */
int allocated;
SDL_TimerID timer_id;
@@ -37,7 +37,7 @@ Index: ffplay.c
} VideoPicture;
typedef struct SubPicture {
-@@ -174,7 +187,9 @@
+@@ -180,7 +193,9 @@
int pictq_size, pictq_rindex, pictq_windex;
SDL_mutex *pictq_mutex;
SDL_cond *pictq_cond;
@@ -47,7 +47,7 @@ Index: ffplay.c
// QETimer *video_timer;
char filename[1024];
-@@ -185,6 +200,9 @@
+@@ -191,6 +206,9 @@
int64_t last_dts_for_fault_detection;
int64_t last_pts_for_fault_detection;
@@ -57,17 +57,17 @@ Index: ffplay.c
} VideoState;
static void show_help(void);
-@@ -225,6 +243,9 @@
- static int error_recognition = FF_ER_CAREFUL;
+@@ -232,6 +250,9 @@
static int error_concealment = 3;
static int decoder_reorder_pts= -1;
+ static int autoexit;
+#if CONFIG_AVFILTER
+static char *vfilters = NULL;
+#endif
/* current context */
static int is_full_screen;
-@@ -659,6 +680,13 @@
+@@ -666,6 +687,13 @@
vp = &is->pictq[is->pictq_rindex];
if (vp->bmp) {
@@ -81,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);
-@@ -666,9 +694,10 @@
+@@ -673,9 +701,10 @@
aspect_ratio = av_q2d(is->video_st->codec->sample_aspect_ratio);
else
aspect_ratio = 0;
@@ -93,7 +93,7 @@ Index: ffplay.c
/* if an active format is indicated, then it overrides the
mpeg format */
#if 0
-@@ -871,9 +900,15 @@
+@@ -925,9 +954,15 @@
} else if(!is_full_screen && screen_width){
w = screen_width;
h = screen_height;
@@ -109,7 +109,7 @@ Index: ffplay.c
} else {
w = 640;
h = 480;
-@@ -1184,12 +1219,23 @@
+@@ -1239,12 +1274,23 @@
if (vp->bmp)
SDL_FreeYUVOverlay(vp->bmp);
@@ -137,7 +137,7 @@ Index: ffplay.c
SDL_LockMutex(is->pictq_mutex);
vp->allocated = 1;
-@@ -1205,7 +1251,9 @@
+@@ -1260,7 +1306,9 @@
{
VideoPicture *vp;
int dst_pix_fmt;
@@ -148,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 &&
-@@ -1221,8 +1269,13 @@
+@@ -1276,8 +1324,13 @@
/* alloc or resize hardware picture buffer */
if (!vp->bmp ||
@@ -162,7 +162,7 @@ Index: ffplay.c
SDL_Event event;
vp->allocated = 0;
-@@ -1247,6 +1300,11 @@
+@@ -1302,6 +1355,11 @@
/* if the frame is not skipped, then display it */
if (vp->bmp) {
AVPicture pict;
@@ -174,7 +174,7 @@ Index: ffplay.c
/* get a pointer on the bitmap */
SDL_LockYUVOverlay (vp->bmp);
-@@ -1260,18 +1318,30 @@
+@@ -1315,18 +1373,30 @@
pict.linesize[0] = vp->bmp->pitches[0];
pict.linesize[1] = vp->bmp->pitches[2];
pict.linesize[2] = vp->bmp->pitches[1];
@@ -209,8 +209,8 @@ Index: ffplay.c
/* update the bitmap content */
SDL_UnlockYUVOverlay(vp->bmp);
-@@ -1328,87 +1398,303 @@
- return queue_picture(is, src_frame, pts);
+@@ -1384,89 +1454,308 @@
+ return queue_picture(is, src_frame, pts, pos);
}
-static int video_thread(void *arg)
@@ -255,21 +255,25 @@ Index: ffplay.c
- while (is->pictq_size && !is->videoq.abort_request) {
- SDL_CondWait(is->pictq_cond, is->pictq_mutex);
- }
+- is->video_current_pos= -1;
- SDL_UnlockMutex(is->pictq_mutex);
+ }
+ while (is->pictq_size && !is->videoq.abort_request) {
+ SDL_CondWait(is->pictq_cond, is->pictq_mutex);
+ }
++ is->video_current_pos= -1;
+ 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->frame_timer = (double)av_gettime() / 1000000.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;
++ is->frame_timer = (double)av_gettime() / 1000000.0;
- continue;
- }
@@ -336,7 +340,7 @@ Index: ffplay.c
// if (len1 < 0)
// break;
- if (got_picture) {
-- if (output_picture2(is, frame, pts) < 0)
+- if (output_picture2(is, frame, pts, pkt->pos) < 0)
- goto the_end;
- }
- av_free_packet(pkt);
@@ -555,8 +559,11 @@ Index: ffplay.c
+
+ pts = pts_int;
+ pts /= AV_TIME_BASE;
-+ ret = output_picture2(is, frame, pts);
-+#if !CONFIG_AVFILTER
++
++#if CONFIG_AVFILTER
++ ret = output_picture2(is, frame, pts, -1); /* fixme: unknown pos */
++#else
++ ret = output_picture2(is, frame, pts, pkt->pos);
+ av_free_packet(&pkt);
+#endif
+ if (ret < 0)
@@ -574,7 +581,7 @@ Index: ffplay.c
av_free(frame);
return 0;
}
-@@ -2187,6 +2473,12 @@
+@@ -2251,6 +2540,12 @@
/* free all pictures */
for(i=0;i<VIDEO_PICTURE_QUEUE_SIZE; i++) {
vp = &is->pictq[i];
@@ -587,7 +594,7 @@ Index: ffplay.c
if (vp->bmp) {
SDL_FreeYUVOverlay(vp->bmp);
vp->bmp = NULL;
-@@ -2196,8 +2488,10 @@
+@@ -2260,8 +2555,10 @@
SDL_DestroyCond(is->pictq_cond);
SDL_DestroyMutex(is->subpq_mutex);
SDL_DestroyCond(is->subpq_cond);
@@ -598,7 +605,7 @@ Index: ffplay.c
av_free(is);
}
-@@ -2289,6 +2583,9 @@
+@@ -2353,6 +2650,9 @@
av_free(avcodec_opts[i]);
av_free(avformat_opts);
av_free(sws_opts);
@@ -608,17 +615,17 @@ Index: ffplay.c
if (show_status)
printf("\n");
SDL_Quit();
-@@ -2539,6 +2836,9 @@
- { "ec", OPT_INT | HAS_ARG | OPT_EXPERT, {(void*)&error_concealment}, "set error concealment options", "bit_mask" },
+@@ -2623,6 +2923,9 @@
{ "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" },
+ { "autoexit", OPT_BOOL | OPT_EXPERT, {(void*)&autoexit}, "exit at the end", "" },
+#if CONFIG_AVFILTER
+ { "vfilters", OPT_STRING | HAS_ARG, {(void*)&vfilters}, "video filters", "filter list" },
+#endif
{ "default", OPT_FUNC2 | HAS_ARG | OPT_AUDIO | OPT_VIDEO | OPT_EXPERT, {(void*)opt_default}, "generic catch all option", "" },
{ NULL, },
};
-@@ -2586,13 +2886,18 @@
+@@ -2670,13 +2973,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 Thu Feb 4 01:55:07 2010 (r5617)
+++ libavfilter/diffs/02_ffmpeg_filters.diff Sat Feb 6 02:55:22 2010 (r5618)
@@ -1,6 +1,6 @@
Index: ffmpeg.c
===================================================================
---- ffmpeg.c (revision 21600)
+--- ffmpeg.c (revision 21650)
+++ ffmpeg.c (working copy)
@@ -42,6 +42,13 @@
#include "libavutil/avstring.h"
@@ -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);
-@@ -1521,7 +1753,17 @@
+@@ -1524,7 +1756,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) {
-@@ -1975,9 +2217,10 @@
+@@ -1978,9 +2220,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);
-@@ -1985,6 +2228,13 @@
+@@ -1988,6 +2231,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;
-@@ -2375,6 +2625,12 @@
+@@ -2388,6 +2638,12 @@
avcodec_close(ist->st->codec);
}
}
@@ -395,7 +395,7 @@ Index: ffmpeg.c
/* finished ! */
ret = 0;
-@@ -3929,6 +4185,9 @@
+@@ -3942,6 +4198,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", "" },
-@@ -3989,6 +4248,9 @@
+@@ -4002,6 +4261,9 @@
avcodec_register_all();
avdevice_register_all();
Modified: libavfilter/diffs/03_libavfilter_doc.diff
==============================================================================
--- libavfilter/diffs/03_libavfilter_doc.diff Thu Feb 4 01:55:07 2010 (r5617)
+++ libavfilter/diffs/03_libavfilter_doc.diff Sat Feb 6 02:55:22 2010 (r5618)
@@ -1,6 +1,6 @@
Index: doc/libavfilter.texi
===================================================================
---- doc/libavfilter.texi (revision 21600)
+--- doc/libavfilter.texi (revision 21650)
+++ doc/libavfilter.texi (working copy)
@@ -111,6 +111,20 @@
More information about the FFmpeg-soc
mailing list