1 /* 2 * video processing hooks 3 * copyright (c) 2000, 2001 Fabrice Bellard 4 * 5 * This file is part of FFmpeg. 6 * 7 * FFmpeg is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2.1 of the License, or (at your option) any later version. 11 * 12 * FFmpeg is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 16 * 17 * You should have received a copy of the GNU Lesser General Public 18 * License along with FFmpeg; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 */ 21 22 #ifndef FFMPEG_FRAMEHOOK_H 23 #define FFMPEG_FRAMEHOOK_H 24 25 #warning VHOOK is deprecated. Please help finishing libavfilter instead of wasting your time writing new filters for this crappy filter system. 26 27 /* 28 * Prototypes for interface to .so that implement a video processing hook 29 */ 30 31 #include "avcodec.h" 32 33 /* Function must be called 'Configure' */ 34 typedef int (FrameHookConfigure)(void **ctxp, int argc, char *argv[]); 35 typedef FrameHookConfigure *FrameHookConfigureFn; 36 extern FrameHookConfigure Configure; 37 38 /* Function must be called 'Process' */ 39 typedef void (FrameHookProcess)(void *ctx, struct AVPicture *pict, enum PixelFormat pix_fmt, int width, int height, int64_t pts); 40 typedef FrameHookProcess *FrameHookProcessFn; 41 extern FrameHookProcess Process; 42 43 /* Function must be called 'Release' */ 44 typedef void (FrameHookRelease)(void *ctx); 45 typedef FrameHookRelease *FrameHookReleaseFn; 46 extern FrameHookRelease Release; 47 48 extern int frame_hook_add(int argc, char *argv[]); 49 extern void frame_hook_process(struct AVPicture *pict, enum PixelFormat pix_fmt, int width, int height, int64_t pts); 50 extern void frame_hook_release(void); 51 52 #endif /* FFMPEG_FRAMEHOOK_H */ 53