diff options
Diffstat (limited to 'src/creator.h')
-rw-r--r-- | src/creator.h | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/creator.h b/src/creator.h index bcff35d..99735c5 100644 --- a/src/creator.h +++ b/src/creator.h @@ -9,14 +9,18 @@ #ifndef CREATOR_H_ #define CREATOR_H_ -#define COORDS(x, y, width) ((y)*(width)+(x)) - -#include <stdio.h> -#include <stdlib.h> #include <string.h> #include <libavcodec/avcodec.h> #include <libavutil/frame.h> #include <libavutil/imgutils.h> +#include "defs.h" + +#define CLIP(X) ( (X) > 255 ? 255 : (X) < 0 ? 0 : X) + +// RGB -> YUV +#define RGB2Y(R, G, B) CLIP(( ( 66 * (R) + 129 * (G) + 25 * (B) + 128) >> 8) + 16) +#define RGB2U(R, G, B) CLIP(( ( -38 * (R) - 74 * (G) + 112 * (B) + 128) >> 8) + 128) +#define RGB2V(R, G, B) CLIP(( ( 112 * (R) - 94 * (G) - 18 * (B) + 128) >> 8) + 128) AVFrame *picture; @@ -24,15 +28,19 @@ AVPacket *pkt; FILE *f; +u64 pts_old; + const AVCodec *codec; -AVCodecContext *c= NULL; -int i, ret, x, y; +AVCodecContext *avc; +int creator_i, creator_ret, creator_x, creator_y; static void encode(AVCodecContext *enc_ctx, AVFrame *frame, AVPacket *pkt, FILE *outfile); -int generateVideo(char *filename, int width, int height, int fps, int bitRate); +int generateVideo(const char *filename, int width, int height, int fps, int bitRate); void addFrame(int *frame); -#endif /* RENDER_H_ */ +void endFile(void); + +#endif |