diff options
author | cxp2249 <moritz.pirk@tuhh.de> | 2018-01-29 23:25:03 +0100 |
---|---|---|
committer | cxp2249 <moritz.pirk@tuhh.de> | 2018-01-29 23:25:03 +0100 |
commit | a1dbc15816a1d816e54f029907c8f52d5ce763bb (patch) | |
tree | 782b4e6523792c83612e4898b7b304b59ce21b22 | |
parent | 6cd17cf5f1c009e1eb2b1e1c14678e8be68bdd3c (diff) |
another try
-rw-r--r-- | src/creator.c | 29 | ||||
-rw-r--r-- | src/render.c | 2 |
2 files changed, 9 insertions, 22 deletions
diff --git a/src/creator.c b/src/creator.c index 9990972..5e8ca08 100644 --- a/src/creator.c +++ b/src/creator.c @@ -19,14 +19,13 @@ static void encode(AVCodecContext *enc_ctx, AVFrame *frame, AVPacket *pkt, fprintf(stderr, "error during encoding\n"); exit(1); } - printf("encoded frame %3"PRId64" (size=%5d)\n", pkt->pts, pkt->size); + //printf("encoded frame %3"PRId64" (size=%5d)\n", pkt->pts, pkt->size); fwrite(pkt->data, 1, pkt->size, outfile); av_packet_unref(pkt); } } int generateVideo(filename, int length, int width, int height, int fps, int bitRate, Config *config, u32 (*sfunc) (long double, long double, u32)) { - const char *filename; const AVCodec *codec; AVCodecContext *c= NULL; int i, ret, x, y; @@ -90,29 +89,15 @@ int generateVideo(filename, int length, int width, int height, int fps, int bitR } - /* encode 1 second of video */ - x_min_s = -2.0; - x_max_s = 1.0; - y_min_s= -1.0; - y_max_s = 1.0; - x_min = x_min_s; - x_max = x_max_s; - y_min = y_min_s; - y_max = y_max_s; - _config = config; - _sfunc = sfunc; - - for(i=0;i<length*fps;i++) { +void addFrame(int *frame) +{ fflush(stdout); /* make sure the frame data is writable */ ret = av_frame_make_writable(picture); if (ret < 0) exit(1); - - s_arr = (u32 *) malloc((_config->width) * (_config->height) * sizeof(u32)); - calculate(x_min, y_min, x_max, y_max, _sfunc, s_arr); - picture->data[0] = s_arr; + picture->data[0] = frame; /* prepare a dummy image */ /* Y */ @@ -128,10 +113,13 @@ int generateVideo(filename, int length, int width, int height, int fps, int bitR picture->data[2][y * picture->linesize[2] + x] = 64 + x + i * 5; } } */ + picture->pts = i; /* encode the image */ encode(c, picture, pkt, f); - } +} + +void endFile(void){ /* flush the encoder */ encode(c, NULL, pkt, f); /* add sequence end code to have a real MPEG file */ @@ -140,5 +128,4 @@ int generateVideo(filename, int length, int width, int height, int fps, int bitR avcodec_free_context(&c); av_frame_free(&picture); av_packet_free(&pkt); - return 0; } diff --git a/src/render.c b/src/render.c index 191dcd9..2ebb7c3 100644 --- a/src/render.c +++ b/src/render.c @@ -6,7 +6,7 @@ */ #include "render.h" -#define HAVE_STRUCT_TIMESPEC +//#define HAVE_STRUCT_TIMESPEC #include <pthread.h> void init_render(Config *config) |