[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