#define OUTPUT_W 1920 #define OUTPUT_H 1080 #define OUTPUT_FPS 25 int main() { int ret = 0; bool bUseHW = false; bool bNv = false; Encoder* pEnc = new Encoder(bUseHW, bNv, OUTPUT_W, OUTPUT_H, OUTPUT_FPS); format = AV_PIX_FMT_YUV420P; size = avpicture_get_size(format, OUTPUT_W, OUTPUT_H); picture = av_frame_alloc(); picture_buffer = (uint8_t*)(av_malloc(size)); ret = avpicture_fill((AVPicture *)picture, picture_buffer, format, OUTPUT_W, OUTPUT_H); picture = av_frame_alloc(); if (!picture) { fprintf(stderr, "Could not allocate video frame\n"); exit(1); } picture->format = format; picture->width = OUTPUT_W; picture->height = OUTPUT_H; ret = av_frame_get_buffer(picture, 0); if (ret < 0) { fprintf(stderr, "Could not allocate the video frame data\n"); exit(1); } for (int i = 0; i < 600; i++) { prepare_dummy_420P(OUTPUT_W, OUTPUT_H, i, picture); pEnc->addFrame(picture); } pEnc->flush(); return ret; }