OSDN Git Service

Change the vhook code to send real timestamps to the filters instead of the
authorBobby Bingham <uhmmmm@gmail.com>
Thu, 29 Mar 2007 05:24:35 +0000 (05:24 +0000)
committerDiego Biurrun <diego@biurrun.de>
Thu, 29 Mar 2007 05:24:35 +0000 (05:24 +0000)
current time of day, which is useless, and which the filters could just as
easily query for themselves.
patch by Bobby Bingham, uhmmmm gmail com

Originally committed as revision 8541 to svn://svn.ffmpeg.org/ffmpeg/trunk

ffmpeg.c
libavformat/framehook.c
libavformat/framehook.h

index 3f12c1f..1a17d4f 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -601,7 +601,8 @@ static void pre_process_video_frame(AVInputStream *ist, AVPicture *picture, void
         picture2 = picture;
     }
 
-    frame_hook_process(picture2, dec->pix_fmt, dec->width, dec->height);
+    frame_hook_process(picture2, dec->pix_fmt, dec->width, dec->height,
+                       1000000 * ist->pts / AV_TIME_BASE);
 
     if (picture != picture2)
         *picture = *picture2;
index 8f5ddd6..8738f80 100644 (file)
@@ -93,11 +93,10 @@ int frame_hook_add(int argc, char *argv[])
 #endif
 }
 
-void frame_hook_process(AVPicture *pict, enum PixelFormat pix_fmt, int width, int height)
+void frame_hook_process(AVPicture *pict, enum PixelFormat pix_fmt, int width, int height, int64_t pts)
 {
     if (first_hook) {
         FrameHookEntry *fhe;
-        int64_t pts = av_gettime();
 
         for (fhe = first_hook; fhe; fhe = fhe->next) {
             fhe->Process(fhe->ctx, pict, pix_fmt, width, height, pts);
index bcaa0c9..06ed4f8 100644 (file)
@@ -46,7 +46,7 @@ typedef FrameHookRelease *FrameHookReleaseFn;
 extern FrameHookRelease Release;
 
 extern int frame_hook_add(int argc, char *argv[]);
-extern void frame_hook_process(struct AVPicture *pict, enum PixelFormat pix_fmt, int width, int height);
+extern void frame_hook_process(struct AVPicture *pict, enum PixelFormat pix_fmt, int width, int height, int64_t pts);
 extern void frame_hook_release(void);
 
 #endif