X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fasset.C;h=6aa73d7bc0941dc5c02a45237fed1c560595ea4d;hb=3b4d085f4235e6313c25871877180a1a989e5b9f;hp=598068eb8e5052714e6f109cd82f6191ed41cdd0;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/asset.C b/cinelerra-5.1/cinelerra/asset.C index 598068eb..6aa73d7b 100644 --- a/cinelerra-5.1/cinelerra/asset.C +++ b/cinelerra-5.1/cinelerra/asset.C @@ -154,6 +154,7 @@ void Asset::reset_video() actual_width = width = 0; actual_height = height = 0; video_length = 0; + single_frame = 0; vmpeg_cmodel = BC_YUV420P; frame_rate = 0; program = -1; @@ -235,7 +236,7 @@ void Asset::copy_format(Asset *asset, int do_index) this->audio_length = asset->audio_length; this->video_length = asset->video_length; - + this->single_frame = asset->single_frame; ampeg_bitrate = asset->ampeg_bitrate; ampeg_derivative = asset->ampeg_derivative; @@ -532,6 +533,7 @@ int Asset::read_video(FileXML *file) file->tag.get_property("VCODEC", vcodec); video_length = file->tag.get_property("VIDEO_LENGTH", (int64_t)0); + single_frame = file->tag.get_property("SINGLE_FRAME", (int64_t)0); interlace_autofixoption = file->tag.get_property("INTERLACE_AUTOFIX",0); @@ -692,6 +694,7 @@ int Asset::write_video(FileXML *file) file->tag.set_property("VCODEC", vcodec); file->tag.set_property("VIDEO_LENGTH", video_length); + file->tag.set_property("SINGLE_FRAME", single_frame); file->tag.set_property("INTERLACE_AUTOFIX", interlace_autofixoption); @@ -799,6 +802,7 @@ void Asset::load_defaults(BC_Hash *defaults, layers = GET_DEFAULT("LAYERS", layers); if(EQUIV(frame_rate, 0)) frame_rate = GET_DEFAULT("FRAMERATE", frame_rate); video_length = GET_DEFAULT("VIDEO_LENGTH", (int64_t)0); + single_frame = GET_DEFAULT("SINGLE_FRAME", (int64_t)0); } ampeg_bitrate = GET_DEFAULT("AMPEG_BITRATE", ampeg_bitrate); @@ -983,6 +987,7 @@ void Asset::save_defaults(BC_Hash *defaults, UPDATE_DEFAULT("LAYERS", layers); UPDATE_DEFAULT("FRAMERATE", frame_rate); UPDATE_DEFAULT("VIDEO_LENGTH", video_length); + UPDATE_DEFAULT("SINGLE_FRAME", single_frame); } @@ -1014,19 +1019,19 @@ int Asset::dump(FILE *fp) fprintf(fp," ff_video_bitrate=%d\n", ff_video_bitrate); fprintf(fp," ff_video_quality=%d\n", ff_video_quality); fprintf(fp," audio_data %d channels %d samplerate %d bits %d" - " byte_order %d signed %d header %d dither %d acodec %c%c%c%c\n", + " byte_order %d signed %d header %d dither %d acodec %4.4s\n", audio_data, channels, sample_rate, bits, byte_order, signed_, - header, dither, acodec[0], acodec[1], acodec[2], acodec[3]); + header, dither, acodec); fprintf(fp," audio_length %jd\n", audio_length); char string[BCTEXTLEN]; ilacemode_to_xmltext(string, interlace_mode); fprintf(fp," video_data %d program %d layers %d framerate %f width %d" - " height %d vcodec %c%c%c%c aspect_ratio %f ilace_mode %s\n", + " height %d vcodec %4.4s aspect_ratio %f ilace_mode %s\n", video_data, layers, program, frame_rate, width, height, - vcodec[0], vcodec[1], vcodec[2], vcodec[3], aspect_ratio,string); - printf(" reel_name %s reel_number %i tcstart %jd tcend %jd tcf %d\n", + vcodec, aspect_ratio,string); + fprintf(fp," reel_name %s reel_number %i tcstart %jd tcend %jd tcf %d\n", reel_name, reel_number, tcstart, tcend, tcformat); - fprintf(fp," video_length %jd \n", video_length); + fprintf(fp," video_length %jd repeat %d\n", video_length, single_frame); return 0;