#include "libavformat/framehook.h"
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <stdarg.h>
#include <string.h>
#include <unistd.h>
#include <sys/time.h>
#include <time.h>
#include <ft2build.h>
#include <FT_FREETYPE_H>
#include <FT_GLYPH_H>
Go to the source code of this file.
Data Structures | |
struct | ContextInfo |
Context info for this vhook - stores the pipe and image buffers. More... | |
Defines | |
#define | MAXSIZE_TEXT 1024 |
#define | SCALEBITS 10 |
#define | ONE_HALF (1 << (SCALEBITS - 1)) |
#define | FIX(x) ((int) ((x) * (1<<SCALEBITS) + 0.5)) |
#define | RGB_TO_YUV(rgb_color, yuv_color) |
#define | COPY_3(dst, src) |
#define | SET_PIXEL(picture, yuv_color, x, y) |
#define | GET_PIXEL(picture, yuv_color, x, y) |
Functions | |
void | Release (void *ctx) |
static int | ParseColor (char *text, unsigned char yuv_color[3]) |
int | Configure (void **ctxp, int argc, char *argv[]) |
static void | draw_glyph (AVPicture *picture, FT_Bitmap *bitmap, unsigned int x, unsigned int y, unsigned int width, unsigned int height, unsigned char yuv_fgcolor[3], unsigned char yuv_bgcolor[3], int outline) |
static void | draw_box (AVPicture *picture, unsigned int x, unsigned int y, unsigned int width, unsigned int height, unsigned char yuv_color[3]) |
void | Process (void *ctx, AVPicture *picture, enum PixelFormat pix_fmt, int width, int height, int64_t pts) |
#define COPY_3 | ( | dst, | |||
src | ) |
#define FIX | ( | x | ) | ((int) ((x) * (1<<SCALEBITS) + 0.5)) |
Definition at line 66 of file drawtext.c.
#define GET_PIXEL | ( | picture, | |||
yuv_color, | |||||
x, | |||||
y | ) |
Value:
{ \ yuv_color[0] = picture->data[0][ (x) + (y)*picture->linesize[0] ]; \ yuv_color[1] = picture->data[1][ (x/2) + (y/2)*picture->linesize[1] ]; \ yuv_color[2] = picture->data[2][ (x/2) + (y/2)*picture->linesize[2] ]; \ }
Definition at line 88 of file drawtext.c.
Referenced by draw_glyph().
#define MAXSIZE_TEXT 1024 |
#define ONE_HALF (1 << (SCALEBITS - 1)) |
Definition at line 65 of file drawtext.c.
#define RGB_TO_YUV | ( | rgb_color, | |||
yuv_color | ) |
Value:
do { \ yuv_color[0] = (FIX(0.29900) * rgb_color[0] + FIX(0.58700) * rgb_color[1] + FIX(0.11400) * rgb_color[2] + ONE_HALF) >> SCALEBITS; \ yuv_color[2] = ((FIX(0.50000) * rgb_color[0] - FIX(0.41869) * rgb_color[1] - FIX(0.08131) * rgb_color[2] + ONE_HALF - 1) >> SCALEBITS) + 128; \ yuv_color[1] = ((- FIX(0.16874) * rgb_color[0] - FIX(0.33126) * rgb_color[1] + FIX(0.50000) * rgb_color[2] + ONE_HALF - 1) >> SCALEBITS) + 128; \ } while (0)
Definition at line 68 of file drawtext.c.
Referenced by ParseColor().
#define SCALEBITS 10 |
Definition at line 64 of file drawtext.c.
#define SET_PIXEL | ( | picture, | |||
yuv_color, | |||||
x, | |||||
y | ) |
Value:
{ \ picture->data[0][ (x) + (y)*picture->linesize[0] ] = yuv_color[0]; \ picture->data[1][ ((x/2) + (y/2)*picture->linesize[1]) ] = yuv_color[1]; \ picture->data[2][ ((x/2) + (y/2)*picture->linesize[2]) ] = yuv_color[2]; \ }
Definition at line 82 of file drawtext.c.
Referenced by draw_box(), and draw_glyph().
int Configure | ( | void ** | ctxp, | |
int | argc, | |||
char * | argv[] | |||
) |
Definition at line 149 of file drawtext.c.
static void draw_box | ( | AVPicture * | picture, | |
unsigned int | x, | |||
unsigned int | y, | |||
unsigned int | width, | |||
unsigned int | height, | |||
unsigned char | yuv_color[3] | |||
) | [inline, static] |
static void draw_glyph | ( | AVPicture * | picture, | |
FT_Bitmap * | bitmap, | |||
unsigned int | x, | |||
unsigned int | y, | |||
unsigned int | width, | |||
unsigned int | height, | |||
unsigned char | yuv_fgcolor[3], | |||
unsigned char | yuv_bgcolor[3], | |||
int | outline | |||
) | [inline, static] |
static int ParseColor | ( | char * | text, | |
unsigned char | yuv_color[3] | |||
) | [static] |
void Process | ( | void * | ctx, | |
AVPicture * | picture, | |||
enum PixelFormat | pix_fmt, | |||
int | width, | |||
int | height, | |||
int64_t | pts | |||
) |
Definition at line 387 of file drawtext.c.
void Release | ( | void * | ctx | ) |
Definition at line 118 of file drawtext.c.