X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.0%2Fquicktime%2Fyuv2mov.c;fp=cinelerra-5.0%2Fquicktime%2Fyuv2mov.c;h=0000000000000000000000000000000000000000;hb=f9d0d999e813ae19965e07ae2f7da690b4e6fe45;hp=05b2e2cb1e7b29f746e4c7d11a23bcc576a5855c;hpb=15359610833cd03c44fe47f5d002e643103610ec;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/quicktime/yuv2mov.c b/cinelerra-5.0/quicktime/yuv2mov.c deleted file mode 100644 index 05b2e2cb..00000000 --- a/cinelerra-5.0/quicktime/yuv2mov.c +++ /dev/null @@ -1,112 +0,0 @@ -#include "colormodels.h" -#include "quicktime.h" -#include -#include - - -quicktime_t *file = 0; -//#define COMPRESSOR QUICKTIME_JPEG -#define COMPRESSOR QUICKTIME_MP4V -#define CROP_Y1 142 -#define CROP_Y2 942 -#define INWIDTH 1920 -#define INHEIGHT 1080 -#define FRAMERATE (24000.0 / 1001.0) -#define QUANTIZATION 5 - -void signal_handler(int signum) -{ - printf("Got signal %d\n", signum); - if(file) - { - quicktime_close(file); - } - abort(); -} - - -int main(int argc, char *argv[]) -{ - if(argc < 2) - { - printf("Usage: cat yuvstream | yuv2mov movie.mov\n" - " Create a movie from a yuv 4:2:0 planar stream.\n"); - exit(1); - } - - signal(SIGINT, signal_handler); - - int i; - char filename[1024]; - filename[0] = 0; - for(i = 1; i < argc; i++) - { - if(!filename[0]) - { - strcpy(filename, argv[i]); - } - else - { - printf("Unknown option %s\n", argv[i]); - exit(1); - } - } - - if(!filename[0]) - { - printf("No output filename provided.\n"); - exit(1); - } - - if(!(file = quicktime_open(filename, 0, 1))) - { - printf("Open '%s' failed\n", filename); - exit(1); - } - - quicktime_set_video(file, - 1, - INWIDTH, - CROP_Y2 - CROP_Y1, - FRAMERATE, - COMPRESSOR); - - int value = 0; - value = 20000000; - quicktime_set_parameter(file, "ffmpeg_bitrate", &value); - value = 5000000; - quicktime_set_parameter(file, "ffmpeg_bitrate_tolerance", &value); - value = 0; - quicktime_set_parameter(file, "ffmpeg_interlaced", &value); - value = QUANTIZATION; - quicktime_set_parameter(file, "ffmpeg_quantizer", &value); - value = 45; - quicktime_set_parameter(file, "ffmpeg_gop_size", &value); - value = 0; - quicktime_set_parameter(file, "ffmpeg_fix_bitrate", &value); - - value = 85; - quicktime_set_parameter(file, "jpeg_quality", &value); - - int ysize = INWIDTH * INHEIGHT; - int csize = INWIDTH * INHEIGHT / 4; - unsigned char *buffer = malloc(INWIDTH * INHEIGHT * 3 / 2); - unsigned char *outrows[3]; - int frame = 0; - outrows[0] = buffer + CROP_Y1 * INWIDTH; - outrows[1] = buffer + ysize + CROP_Y1 / 2 * INWIDTH / 2; - outrows[2] = buffer + ysize + csize + CROP_Y1 / 2 * INWIDTH / 2; - - while(!feof(stdin)) - { - fread(buffer, INWIDTH * INHEIGHT * 3 / 2, 1, stdin); - quicktime_set_cmodel(file, BC_YUV420P); - quicktime_encode_video(file, - outrows, - 0); - printf("Wrote frame %d\r", frame++); - fflush(stdout); - } - quicktime_close(file); -} -