From cbac1496b1c8023a7fdede63e9556f2de82bbafe Mon Sep 17 00:00:00 2001 From: cxp2249 Date: Sat, 27 Jan 2018 02:30:12 +0100 Subject: added creator.h and creator.c - video capabilities are implemented but not tested by now - mandelbrot zoom has to be implemented from current render.c just a single picture is used by now - libav libraries are required --- src/creator.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/creator.h (limited to 'src/creator.h') diff --git a/src/creator.h b/src/creator.h new file mode 100644 index 0000000..7606d4e --- /dev/null +++ b/src/creator.h @@ -0,0 +1,53 @@ +/* + * render.h + * + * Created on: 26.01.2018 + * Author: rigtopa + * + */ + +#ifndef CREATOR_H_ +#define CREATOR_H_ + +#define COORDS(x, y, width) ((y)*(width)+(x)) + +#include +#include +#include +#include +#include +#include + +typedef struct config { + u32 iterations; + u8 threads; + u32 colorFrom; + u32 colorTo; + long double to_x; + long double to_y; + long double speed; + u8 video; + u8 filetype; + u16 width; + u16 height; + u8 renderFPS; + u8 videoFPS; + u32 bitrate; + const char *path; + // TODO: key mapping als option in die struct +} Config; + +Config *_config; +u32 (*_sfunc) (long double, long double, u32); +u32 *s_arr; +long double x_min, x_max, y_min, y_max; +long double x_min_s, x_max_s, y_min_s, y_max_s; +int delta; +long double dt, ft; + +static void encode(AVCodecContext *enc_ctx, AVFrame *frame, AVPacket *pkt, FILE *outfile); + +int generateVideo(filename, int width, int height, int fps, int bitRate, Config *config, u32 (*sfunc) (long double, long double, u32)); + + +#endif /* RENDER_H_ */ -- cgit v1.2.1