ffmpeg.c:1254: error: Null Dereference
  pointer `vstats_file` last assigned on line 1244 could be null and is dereferenced by call to `fprintf()` at line 1254, column 9.

ffmpeg.c:1235:1: start of procedure do_video_stats()
1233. }
1234. 
1235. static void do_video_stats(AVFormatContext *os, AVOutputStream *ost,
      ^
1236.                            int frame_size)
1237. {

ffmpeg.c:1243:10: Taking true branch
1241. 
1242.     /* this is executed just the first time do_video_stats is called */
1243.     if (!vstats_file) {
               ^
1244.         vstats_file = fopen(vstats_filename, "w");
1245.         if (!vstats_file) {

ffmpeg.c:1244:9: 
1242.     /* this is executed just the first time do_video_stats is called */
1243.     if (!vstats_file) {
1244.         vstats_file = fopen(vstats_filename, "w");
              ^
1245.         if (!vstats_file) {
1246.             perror("fopen");

ffmpeg.c:1245:14: Taking true branch
1243.     if (!vstats_file) {
1244.         vstats_file = fopen(vstats_filename, "w");
1245.         if (!vstats_file) {
                   ^
1246.             perror("fopen");
1247.             ffmpeg_exit(1);

ffmpeg.c:1246:13: 
1244.         vstats_file = fopen(vstats_filename, "w");
1245.         if (!vstats_file) {
1246.             perror("fopen");
                  ^
1247.             ffmpeg_exit(1);
1248.         }

ffmpeg.c:1247:13: Skipping ffmpeg_exit(): empty list of specs
1245.         if (!vstats_file) {
1246.             perror("fopen");
1247.             ffmpeg_exit(1);
                  ^
1248.         }
1249.     }

ffmpeg.c:1251:5: 
1249.     }
1250. 
1251.     enc = ost->st->codec;
          ^
1252.     if (enc->codec_type == AVMEDIA_TYPE_VIDEO) {
1253.         frame_number = ost->frame_number;

ffmpeg.c:1252:9: Taking true branch
1250. 
1251.     enc = ost->st->codec;
1252.     if (enc->codec_type == AVMEDIA_TYPE_VIDEO) {
              ^
1253.         frame_number = ost->frame_number;
1254.         fprintf(vstats_file, "frame= %5d q= %2.1f ", frame_number, enc->coded_frame->quality/(float)FF_QP2LAMBDA);

ffmpeg.c:1253:9: 
1251.     enc = ost->st->codec;
1252.     if (enc->codec_type == AVMEDIA_TYPE_VIDEO) {
1253.         frame_number = ost->frame_number;
              ^
1254.         fprintf(vstats_file, "frame= %5d q= %2.1f ", frame_number, enc->coded_frame->quality/(float)FF_QP2LAMBDA);
1255.         if (enc->flags&CODEC_FLAG_PSNR)

ffmpeg.c:1254:9: 
1252.     if (enc->codec_type == AVMEDIA_TYPE_VIDEO) {
1253.         frame_number = ost->frame_number;
1254.         fprintf(vstats_file, "frame= %5d q= %2.1f ", frame_number, enc->coded_frame->quality/(float)FF_QP2LAMBDA);
              ^
1255.         if (enc->flags&CODEC_FLAG_PSNR)
1256.             fprintf(vstats_file, "PSNR= %6.2f ", psnr(enc->coded_frame->error[0]/(enc->width*enc->height*255.0*255.0)));

static void do_video_stats(AVFormatContext *os, AVOutputStream *ost,
                           int frame_size)
{
    AVCodecContext *enc;
    int frame_number;
    double ti1, bitrate, avg_bitrate;
    if (!vstats_file) {
        vstats_file = fopen(vstats_filename, "w");
        if (!vstats_file) {
            perror("fopen");
            ffmpeg_exit(1);
        }
    }
    enc = ost->st->codec;
    if (enc->codec_type == AVMEDIA_TYPE_VIDEO) {
        frame_number = ost->frame_number;
        fprintf(vstats_file, "frame= %5d q= %2.1f ", frame_number, enc->coded_frame->quality/(float)FF_QP2LAMBDA);
        if (enc->flags&CODEC_FLAG_PSNR)
            fprintf(vstats_file, "PSNR= %6.2f ", psnr(enc->coded_frame->error[0]/(enc->width*enc->height*255.0*255.0)));
        fprintf(vstats_file,"f_size= %6d ", frame_size);
        ti1 = ost->sync_opts * av_q2d(enc->time_base);
        if (ti1 < 0.01)
            ti1 = 0.01;
        bitrate = (frame_size * 8) / av_q2d(enc->time_base) / 1000.0;
        avg_bitrate = (double)(video_size * 8) / ti1 / 1000.0;
        fprintf(vstats_file, "s_size= %8.0fkB time= %0.3f br= %7.1fkbits/s avg_br= %7.1fkbits/s ",
            (double)video_size / 1024, ti1, bitrate, avg_bitrate);
        fprintf(vstats_file,"type= %c\n", av_get_pict_type_char(enc->coded_frame->pict_type));
    }
}
['static void do_video_stats(AVFormatContext *os, AVOutputStream *ost,\n                           int frame_size)\n{\n    AVCodecContext *enc;\n    int frame_number;\n    double ti1, bitrate, avg_bitrate;\n    if (!vstats_file) {\n        vstats_file = fopen(vstats_filename, "w");\n        if (!vstats_file) {\n            perror("fopen");\n            ffmpeg_exit(1);\n        }\n    }\n    enc = ost->st->codec;\n    if (enc->codec_type == AVMEDIA_TYPE_VIDEO) {\n        frame_number = ost->frame_number;\n        fprintf(vstats_file, "frame= %5d q= %2.1f ", frame_number, enc->coded_frame->quality/(float)FF_QP2LAMBDA);\n        if (enc->flags&CODEC_FLAG_PSNR)\n            fprintf(vstats_file, "PSNR= %6.2f ", psnr(enc->coded_frame->error[0]/(enc->width*enc->height*255.0*255.0)));\n        fprintf(vstats_file,"f_size= %6d ", frame_size);\n        ti1 = ost->sync_opts * av_q2d(enc->time_base);\n        if (ti1 < 0.01)\n            ti1 = 0.01;\n        bitrate = (frame_size * 8) / av_q2d(enc->time_base) / 1000.0;\n        avg_bitrate = (double)(video_size * 8) / ti1 / 1000.0;\n        fprintf(vstats_file, "s_size= %8.0fkB time= %0.3f br= %7.1fkbits/s avg_br= %7.1fkbits/s ",\n            (double)video_size / 1024, ti1, bitrate, avg_bitrate);\n        fprintf(vstats_file,"type= %c\\n", av_get_pict_type_char(enc->coded_frame->pict_type));\n    }\n}']