use packet dts as correct media field number and use av_interleave_pkt_per_dts
[ffmpeg.git] / libavformat / framehook.h
1 #ifndef _FRAMEHOOK_H
2 #define _FRAMEHOOK_H
3
4 /*
5  * Prototypes for interface to .so that implement a video processing hook
6  */
7
8 #include "avcodec.h"
9
10 /* Function must be called 'Configure' */
11 typedef int (FrameHookConfigure)(void **ctxp, int argc, char *argv[]);
12 typedef FrameHookConfigure *FrameHookConfigureFn;
13 extern FrameHookConfigure Configure;
14
15 /* Function must be called 'Process' */
16 typedef void (FrameHookProcess)(void *ctx, struct AVPicture *pict, enum PixelFormat pix_fmt, int width, int height, int64_t pts);
17 typedef FrameHookProcess *FrameHookProcessFn;
18 extern FrameHookProcess Process;
19
20 /* Function must be called 'Release' */
21 typedef void (FrameHookRelease)(void *ctx);
22 typedef FrameHookRelease *FrameHookReleaseFn;
23 extern FrameHookRelease Release;
24
25 extern int frame_hook_add(int argc, char *argv[]);
26 extern void frame_hook_process(struct AVPicture *pict, enum PixelFormat pix_fmt, int width, int height);
27 extern void frame_hook_release(void);
28
29 #endif