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" }, _______________________________________________ FFmpeg-soc mailing list FFmpeg-soc@mplayerhq.hu https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc