X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fasset.C;h=ec82d0e9e6ead12eb2d7e245f161a5579303b35b;hp=af87bdbb91750ed1f2dd9cac55d714c3ca9a21b1;hb=09ccfde5a1fd65069f69b37490462b7ccf38a336;hpb=95683646dce10ad3f6a8c8c9c9225c69f4841ec5 diff --git a/cinelerra-5.1/cinelerra/asset.C b/cinelerra-5.1/cinelerra/asset.C index af87bdbb..ec82d0e9 100644 --- a/cinelerra-5.1/cinelerra/asset.C +++ b/cinelerra-5.1/cinelerra/asset.C @@ -72,7 +72,6 @@ int Asset::init_values() path[0] = 0; // Has to be unknown for file probing to succeed format = FILE_UNKNOWN; - fformat[0] = 0; bits = 0; byte_order = 0; signed_ = 0; @@ -84,9 +83,13 @@ int Asset::init_values() strcpy(vcodec, ""); strcpy(acodec, ""); + strcpy(fformat,"mp4"); ff_audio_options[0] = 0; - ff_video_options[0] = 0; + ff_sample_format[0] = 0; ff_audio_bitrate = 0; + ff_audio_quality = -1; + ff_video_options[0] = 0; + ff_pixel_format[0] = 0; ff_video_bitrate = 0; ff_video_quality = -1; @@ -96,6 +99,7 @@ int Asset::init_values() interlace_mode = ILACE_MODE_UNDETECTED; interlace_fixmethod = ILACE_FIXMETHOD_NONE; + mp3_bitrate = 224; ampeg_bitrate = 256; ampeg_derivative = 3; @@ -134,6 +138,8 @@ int Asset::init_values() tiff_cmodel = 0; tiff_compression = 0; + mov_sphere = 0; + jpeg_sphere = 0; use_header = 1; id = EDL::next_id(); @@ -220,8 +226,11 @@ void Asset::copy_format(Asset *asset, int do_index) strcpy(acodec, asset->acodec); strcpy(ff_audio_options, asset->ff_audio_options); - strcpy(ff_video_options, asset->ff_video_options); + strcpy(ff_sample_format, asset->ff_sample_format); ff_audio_bitrate = asset->ff_audio_bitrate; + ff_audio_quality = asset->ff_audio_quality; + strcpy(ff_video_options, asset->ff_video_options); + strcpy(ff_pixel_format, asset->ff_pixel_format); ff_video_bitrate = asset->ff_video_bitrate; ff_video_quality = asset->ff_video_quality; @@ -271,6 +280,10 @@ void Asset::copy_format(Asset *asset, int do_index) tiff_cmodel = asset->tiff_cmodel; tiff_compression = asset->tiff_compression; + + + mov_sphere = asset->mov_sphere; + jpeg_sphere = asset->jpeg_sphere; } int64_t Asset::get_index_offset(int channel) @@ -345,8 +358,9 @@ int Asset::equivalent(Asset &asset, int test_audio, int test_video, EDL *edl) !strcmp(acodec, asset.acodec)); if(result && format == FILE_FFMPEG) result = !strcmp(ff_audio_options, asset.ff_audio_options) && - ff_audio_bitrate == asset.ff_audio_bitrate; - + !strcmp(ff_sample_format, asset.ff_sample_format) && + ff_audio_bitrate == asset.ff_audio_bitrate && + ff_audio_quality == asset.ff_audio_quality; } @@ -360,9 +374,12 @@ int Asset::equivalent(Asset &asset, int test_audio, int test_video, EDL *edl) interlace_fixmethod == asset.interlace_fixmethod && width == asset.width && height == asset.height && - !strcmp(vcodec, asset.vcodec)); + !strcmp(vcodec, asset.vcodec) && + mov_sphere == asset.mov_sphere && + jpeg_sphere == asset.jpeg_sphere); if(result && format == FILE_FFMPEG) result = !strcmp(ff_video_options, asset.ff_video_options) && + !strcmp(ff_pixel_format, asset.ff_pixel_format) && ff_video_bitrate == asset.ff_video_bitrate && ff_video_quality == asset.ff_video_quality; } @@ -442,9 +459,7 @@ int Asset::read(FileXML *file, else if(file->tag.title_is("FOLDER")) { - const char *string = file->tag.get_property("NUMBER"); - awindow_folder = string ? atoi(string) : - AWindowGUI::folder_number(file->read_text()); + awindow_folder = file->tag.get_property("NUMBER", AW_MEDIA_FOLDER); } else if(file->tag.title_is("VIDEO")) @@ -506,6 +521,8 @@ int Asset::read_video(FileXML *file) file->tag.get_property("VCODEC", vcodec); video_length = file->tag.get_property("VIDEO_LENGTH", (int64_t)0); + mov_sphere = file->tag.get_property("MOV_SPHERE", 0); + jpeg_sphere = file->tag.get_property("JPEG_SPHERE", 0); single_frame = file->tag.get_property("SINGLE_FRAME", (int64_t)0); interlace_autofixoption = file->tag.get_property("INTERLACE_AUTOFIX",0); @@ -661,6 +678,8 @@ int Asset::write_video(FileXML *file) file->tag.set_property("VCODEC", vcodec); file->tag.set_property("VIDEO_LENGTH", video_length); + file->tag.set_property("MOV_SPHERE", mov_sphere); + file->tag.set_property("JPEG_SPHERE", jpeg_sphere); file->tag.set_property("SINGLE_FRAME", single_frame); file->tag.set_property("INTERLACE_AUTOFIX", interlace_autofixoption); @@ -781,8 +800,11 @@ void Asset::load_defaults(BC_Hash *defaults, theora_keyframe_force_frequency = GET_DEFAULT("THEORA_FORCE_KEYFRAME_FREQUENCY", theora_keyframe_force_frequency); GET_DEFAULT("FF_AUDIO_OPTIONS", ff_audio_options); + GET_DEFAULT("FF_SAMPLE_FORMAT", ff_sample_format); ff_audio_bitrate = GET_DEFAULT("FF_AUDIO_BITRATE", ff_audio_bitrate); + ff_audio_quality = GET_DEFAULT("FF_AUDIO_QUALITY", ff_audio_quality); GET_DEFAULT("FF_VIDEO_OPTIONS", ff_video_options); + GET_DEFAULT("FF_PIXEL_FORMAT", ff_pixel_format); ff_video_bitrate = GET_DEFAULT("FF_VIDEO_BITRATE", ff_video_bitrate); ff_video_quality = GET_DEFAULT("FF_VIDEO_QUALITY", ff_video_quality); @@ -825,6 +847,8 @@ void Asset::load_defaults(BC_Hash *defaults, tiff_cmodel = GET_DEFAULT("TIFF_CMODEL", tiff_cmodel); tiff_compression = GET_DEFAULT("TIFF_COMPRESSION", tiff_compression); + mov_sphere = GET_DEFAULT("MOV_SPHERE", mov_sphere); + jpeg_sphere = GET_DEFAULT("JPEG_SPHERE", jpeg_sphere); boundaries(); } @@ -870,8 +894,11 @@ void Asset::save_defaults(BC_Hash *defaults, UPDATE_DEFAULT("VORBIS_MAX_BITRATE", vorbis_max_bitrate); UPDATE_DEFAULT("FF_AUDIO_OPTIONS", ff_audio_options); + UPDATE_DEFAULT("FF_SAMPLE_FORMAT", ff_sample_format); UPDATE_DEFAULT("FF_AUDIO_BITRATE", ff_audio_bitrate); + UPDATE_DEFAULT("FF_AUDIO_QUALITY", ff_audio_quality); UPDATE_DEFAULT("FF_VIDEO_OPTIONS", ff_video_options); + UPDATE_DEFAULT("FF_PIXEL_FORMAT", ff_pixel_format); UPDATE_DEFAULT("FF_VIDEO_BITRATE", ff_video_bitrate); UPDATE_DEFAULT("FF_VIDEO_QUALITY", ff_video_quality); @@ -912,8 +939,16 @@ void Asset::save_defaults(BC_Hash *defaults, UPDATE_DEFAULT("EXR_COMPRESSION", exr_compression); UPDATE_DEFAULT("TIFF_CMODEL", tiff_cmodel); UPDATE_DEFAULT("TIFF_COMPRESSION", tiff_compression); + + + + UPDATE_DEFAULT("MOV_SPHERE", mov_sphere); + UPDATE_DEFAULT("JPEG_SPHERE", jpeg_sphere); } + + + if(do_bits) { UPDATE_DEFAULT("BITS", bits); @@ -962,8 +997,11 @@ int Asset::dump(FILE *fp) fprintf(fp," format %d\n", format); fprintf(fp," fformat=\"%s\"\n", fformat); fprintf(fp," ff_audio_options=\"%s\"\n", ff_audio_options); + fprintf(fp," ff_sample_format=\"%s\"\n", ff_sample_format); fprintf(fp," ff_audio_bitrate=%d\n", ff_audio_bitrate); + fprintf(fp," ff_audio_quality=%d\n", ff_audio_quality); fprintf(fp," ff_video_options=\"%s\"\n", ff_video_options); + fprintf(fp," ff_pixel_format=\"%s\"\n", ff_pixel_format); 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" @@ -978,6 +1016,7 @@ int Asset::dump(FILE *fp) video_data, layers, program, frame_rate, width, height, vcodec, aspect_ratio,string); fprintf(fp," video_length %jd repeat %d\n", video_length, single_frame); + printf(" mov_sphere=%d jpeg_sphere=%d\n", mov_sphere, jpeg_sphere); return 0; }