[FFmpeg-soc] [soc]: r5387 - in libavfilter: checkout.sh diffs/01_ffplay_filters.diff diffs/02_ffmpeg_filters.diff
stefano
subversion at mplayerhq.hu
Wed Sep 16 02:06:34 CEST 2009
Author: stefano
Date: Wed Sep 16 02:06:34 2009
New Revision: 5387
Log:
Update to the official FFmpeg repo r19868.
Modified:
libavfilter/checkout.sh
libavfilter/diffs/01_ffplay_filters.diff
libavfilter/diffs/02_ffmpeg_filters.diff
Modified: libavfilter/checkout.sh
==============================================================================
--- libavfilter/checkout.sh Thu Sep 3 22:09:30 2009 (r5386)
+++ libavfilter/checkout.sh Wed Sep 16 02:06:34 2009 (r5387)
@@ -1,11 +1,11 @@
#! /bin/sh
echo "checking out pristine ffmpeg"
-svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk/ ffmpeg -r19346
+svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk/ ffmpeg -r19868
echo "downloading the corresponding version of swscale"
cd ffmpeg/libswscale
-svn up -r29390
+svn up -r29675
cd ../..
echo "patching ffmpeg"
Modified: libavfilter/diffs/01_ffplay_filters.diff
==============================================================================
--- libavfilter/diffs/01_ffplay_filters.diff Thu Sep 3 22:09:30 2009 (r5386)
+++ libavfilter/diffs/01_ffplay_filters.diff Wed Sep 16 02:06:34 2009 (r5387)
@@ -1,8 +1,8 @@
Index: ffplay.c
===================================================================
---- ffplay.c (revision 19346)
+--- ffplay.c (revision 19868)
+++ ffplay.c (working copy)
-@@ -30,6 +30,12 @@
+@@ -29,6 +29,12 @@
#include "libavcodec/colorspace.h"
#include "libavcodec/opt.h"
@@ -15,7 +15,7 @@ Index: ffplay.c
#include "cmdutils.h"
#include <SDL.h>
-@@ -68,7 +74,9 @@
+@@ -67,7 +73,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;
-@@ -86,7 +94,12 @@
+@@ -85,7 +93,12 @@
double pts; ///<presentation time stamp for this picture
SDL_Overlay *bmp;
int width, height; /* source height & width */
@@ -38,7 +38,7 @@ Index: ffplay.c
} VideoPicture;
typedef struct SubPicture {
-@@ -169,11 +182,17 @@
+@@ -168,11 +181,17 @@
int pictq_size, pictq_rindex, pictq_windex;
SDL_mutex *pictq_mutex;
SDL_cond *pictq_cond;
@@ -56,7 +56,7 @@ Index: ffplay.c
} VideoState;
static void show_help(void);
-@@ -214,6 +233,9 @@
+@@ -213,6 +232,9 @@
static int error_recognition = FF_ER_CAREFUL;
static int error_concealment = 3;
static int decoder_reorder_pts= 0;
@@ -66,7 +66,7 @@ Index: ffplay.c
/* current context */
static int is_full_screen;
-@@ -645,6 +667,13 @@
+@@ -644,6 +666,13 @@
vp = &is->pictq[is->pictq_rindex];
if (vp->bmp) {
@@ -80,7 +80,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);
-@@ -652,9 +681,10 @@
+@@ -651,9 +680,10 @@
aspect_ratio = av_q2d(is->video_st->codec->sample_aspect_ratio);
else
aspect_ratio = 0;
@@ -92,7 +92,7 @@ Index: ffplay.c
/* if an active format is indicated, then it overrides the
mpeg format */
#if 0
-@@ -857,9 +887,15 @@
+@@ -856,9 +886,15 @@
} else if(!is_full_screen && screen_width){
w = screen_width;
h = screen_height;
@@ -108,10 +108,12 @@ Index: ffplay.c
} else {
w = 640;
h = 480;
-@@ -1172,6 +1208,20 @@
+@@ -1171,12 +1207,23 @@
if (vp->bmp)
SDL_FreeYUVOverlay(vp->bmp);
+- vp->bmp = SDL_CreateYUVOverlay(is->video_st->codec->width,
+- is->video_st->codec->height,
+#if CONFIG_AVFILTER
+ if (vp->picref)
+ avfilter_unref_pic(vp->picref);
@@ -126,15 +128,6 @@ Index: ffplay.c
+ vp->pix_fmt = is->video_st->codec->pix_fmt;
+#endif
+
- #if 0
- /* XXX: use generic function */
- /* XXX: disable overlay if no hardware acceleration or if RGB format */
-@@ -1189,12 +1239,9 @@
- break;
- }
- #endif
-- vp->bmp = SDL_CreateYUVOverlay(is->video_st->codec->width,
-- is->video_st->codec->height,
+ vp->bmp = SDL_CreateYUVOverlay(vp->width, vp->height,
SDL_YV12_OVERLAY,
screen);
@@ -143,7 +136,7 @@ Index: ffplay.c
SDL_LockMutex(is->pictq_mutex);
vp->allocated = 1;
-@@ -1210,7 +1257,9 @@
+@@ -1192,7 +1239,9 @@
{
VideoPicture *vp;
int dst_pix_fmt;
@@ -154,7 +147,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 &&
-@@ -1226,8 +1275,13 @@
+@@ -1208,8 +1257,13 @@
/* alloc or resize hardware picture buffer */
if (!vp->bmp ||
@@ -168,7 +161,7 @@ Index: ffplay.c
SDL_Event event;
vp->allocated = 0;
-@@ -1252,6 +1306,11 @@
+@@ -1234,6 +1288,11 @@
/* if the frame is not skipped, then display it */
if (vp->bmp) {
AVPicture pict;
@@ -180,7 +173,7 @@ Index: ffplay.c
/* get a pointer on the bitmap */
SDL_LockYUVOverlay (vp->bmp);
-@@ -1265,18 +1324,30 @@
+@@ -1247,18 +1306,30 @@
pict.linesize[0] = vp->bmp->pitches[0];
pict.linesize[1] = vp->bmp->pitches[2];
pict.linesize[2] = vp->bmp->pitches[1];
@@ -215,7 +208,7 @@ Index: ffplay.c
/* update the bitmap content */
SDL_UnlockYUVOverlay(vp->bmp);
-@@ -1331,54 +1402,269 @@
+@@ -1313,54 +1384,269 @@
return queue_picture(is, src_frame, pts);
}
@@ -516,7 +509,7 @@ Index: ffplay.c
av_free(frame);
return 0;
}
-@@ -2162,6 +2448,12 @@
+@@ -2136,6 +2422,12 @@
/* free all pictures */
for(i=0;i<VIDEO_PICTURE_QUEUE_SIZE; i++) {
vp = &is->pictq[i];
@@ -529,7 +522,7 @@ Index: ffplay.c
if (vp->bmp) {
SDL_FreeYUVOverlay(vp->bmp);
vp->bmp = NULL;
-@@ -2171,8 +2463,10 @@
+@@ -2145,8 +2437,10 @@
SDL_DestroyCond(is->pictq_cond);
SDL_DestroyMutex(is->subpq_mutex);
SDL_DestroyCond(is->subpq_cond);
@@ -540,7 +533,7 @@ Index: ffplay.c
av_free(is);
}
-@@ -2264,6 +2558,9 @@
+@@ -2238,6 +2532,9 @@
av_free(avcodec_opts[i]);
av_free(avformat_opts);
av_free(sws_opts);
@@ -550,7 +543,7 @@ Index: ffplay.c
if (show_status)
printf("\n");
SDL_Quit();
-@@ -2512,6 +2809,9 @@
+@@ -2486,6 +2783,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" },
@@ -560,7 +553,7 @@ Index: ffplay.c
{ "default", OPT_FUNC2 | HAS_ARG | OPT_AUDIO | OPT_VIDEO | OPT_EXPERT, {(void*)opt_default}, "generic catch all option", "" },
{ NULL, },
};
-@@ -2560,7 +2860,9 @@
+@@ -2534,7 +2834,9 @@
avcodec_opts[i]= avcodec_alloc_context2(i);
}
avformat_opts = avformat_alloc_context();
Modified: libavfilter/diffs/02_ffmpeg_filters.diff
==============================================================================
--- libavfilter/diffs/02_ffmpeg_filters.diff Thu Sep 3 22:09:30 2009 (r5386)
+++ libavfilter/diffs/02_ffmpeg_filters.diff Wed Sep 16 02:06:34 2009 (r5387)
@@ -1,6 +1,6 @@
Index: ffmpeg.c
===================================================================
---- ffmpeg.c (revision 19346)
+--- ffmpeg.c (revision 19868)
+++ 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>
-@@ -148,6 +155,10 @@
+@@ -143,6 +150,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;
-@@ -304,6 +315,13 @@
+@@ -299,6 +310,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 {
-@@ -319,6 +337,185 @@
+@@ -314,6 +332,185 @@
static struct termios oldtty;
#endif
@@ -227,7 +227,7 @@ Index: ffmpeg.c
static void term_exit(void)
{
#if HAVE_TERMIOS_H
-@@ -459,6 +656,10 @@
+@@ -454,6 +651,10 @@
av_free(audio_out2);
av_free(samples);
@@ -238,7 +238,7 @@ Index: ffmpeg.c
if (received_sigterm) {
fprintf(stderr,
"Received signal %d: terminating.\n",
-@@ -861,7 +1062,9 @@
+@@ -868,7 +1069,9 @@
int *frame_size)
{
int nb_frames, i, ret;
@@ -248,7 +248,7 @@ Index: ffmpeg.c
AVFrame *final_picture, *formatted_picture, *resampling_dst, *padding_src;
AVFrame picture_crop_temp, picture_pad_temp;
AVCodecContext *enc, *dec;
-@@ -907,6 +1110,9 @@
+@@ -914,6 +1117,9 @@
if (nb_frames <= 0)
return;
@@ -258,7 +258,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");
-@@ -918,6 +1124,7 @@
+@@ -925,6 +1131,7 @@
} else {
formatted_picture = in_picture;
}
@@ -266,7 +266,7 @@ Index: ffmpeg.c
final_picture = formatted_picture;
padding_src = formatted_picture;
-@@ -935,6 +1142,7 @@
+@@ -942,6 +1149,7 @@
}
}
@@ -274,7 +274,7 @@ Index: ffmpeg.c
if (ost->video_resample) {
padding_src = NULL;
final_picture = &ost->pict_tmp;
-@@ -983,6 +1191,7 @@
+@@ -990,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);
}
@@ -282,7 +282,7 @@ Index: ffmpeg.c
if (ost->video_pad) {
av_picture_pad((AVPicture*)final_picture, (AVPicture *)padding_src,
-@@ -1249,6 +1458,10 @@
+@@ -1256,6 +1465,10 @@
static unsigned int samples_size= 0;
AVSubtitle subtitle, *subtitle_to_free;
int got_subtitle;
@@ -293,7 +293,7 @@ Index: ffmpeg.c
AVPacket avpkt;
if(ist->next_pts == AV_NOPTS_VALUE)
-@@ -1369,6 +1582,15 @@
+@@ -1376,6 +1589,15 @@
&buffer_to_free);
}
@@ -309,7 +309,7 @@ Index: ffmpeg.c
// preprocess audio (volume)
if (ist->st->codec->codec_type == CODEC_TYPE_AUDIO) {
if (audio_volume != 256) {
-@@ -1390,10 +1612,18 @@
+@@ -1397,10 +1619,18 @@
if (pts > now)
usleep(pts - now);
}
@@ -329,7 +329,7 @@ Index: ffmpeg.c
for(i=0;i<nb_ostreams;i++) {
int frame_size;
-@@ -1416,6 +1646,9 @@
+@@ -1417,6 +1647,9 @@
do_audio_out(os, ost, ist, data_buf, data_size);
break;
case CODEC_TYPE_VIDEO:
@@ -339,7 +339,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);
-@@ -1481,7 +1714,17 @@
+@@ -1482,7 +1715,17 @@
av_free_packet(&opkt);
}
}
@@ -357,7 +357,7 @@ Index: ffmpeg.c
av_free(buffer_to_free);
/* XXX: allocate the subtitles in the codec ? */
if (subtitle_to_free) {
-@@ -1935,16 +2178,27 @@
+@@ -1936,16 +2179,27 @@
av_exit(1);
}
@@ -385,7 +385,7 @@ Index: ffmpeg.c
break;
case CODEC_TYPE_SUBTITLE:
ost->encoding_needed = 1;
-@@ -2331,6 +2585,12 @@
+@@ -2332,6 +2586,12 @@
avcodec_close(ist->st->codec);
}
}
@@ -398,7 +398,7 @@ Index: ffmpeg.c
/* finished ! */
ret = 0;
-@@ -3908,6 +4168,9 @@
+@@ -3895,6 +4155,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" },
More information about the FFmpeg-soc
mailing list