X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fasset.C;h=48dfca3ca66934d7379e30570f3bd115773dbd42;hp=4f911e984d544803057547946beb7b9de4ddd55e;hb=ac8f3979437fb45effb135a1bb6bee871f52d635;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1 diff --git a/cinelerra-5.1/cinelerra/asset.C b/cinelerra-5.1/cinelerra/asset.C index 4f911e98..48dfca3c 100644 --- a/cinelerra-5.1/cinelerra/asset.C +++ b/cinelerra-5.1/cinelerra/asset.C @@ -95,26 +95,12 @@ int Asset::init_values() jpeg_quality = 80; aspect_ratio = -1; - interlace_autofixoption = ILACE_AUTOFIXOPTION_AUTO; interlace_mode = ILACE_MODE_UNDETECTED; - interlace_fixmethod = ILACE_FIXMETHOD_NONE; mp3_bitrate = 224; ampeg_bitrate = 256; ampeg_derivative = 3; - vorbis_vbr = 0; - vorbis_min_bitrate = -1; - vorbis_bitrate = 128000; - vorbis_max_bitrate = -1; - - theora_fix_bitrate = 1; - theora_bitrate = 860000; - theora_quality = 16; - theora_sharpness = 2; - theora_keyframe_frequency = 64; - theora_keyframe_force_frequency = 64; - // mpeg parameters vmpeg_iframe_distance = 45; vmpeg_pframe_distance = 0; @@ -161,6 +147,7 @@ void Asset::reset_video() layers = 0; actual_width = width = 0; actual_height = height = 0; + proxy_scale = 0; // not a proxy video_length = 0; single_frame = 0; vmpeg_cmodel = BC_YUV420P; @@ -210,9 +197,7 @@ void Asset::copy_format(Asset *asset, int do_index) mp3_bitrate = asset->mp3_bitrate; use_header = asset->use_header; aspect_ratio = asset->aspect_ratio; - interlace_autofixoption = asset->interlace_autofixoption; interlace_mode = asset->interlace_mode; - interlace_fixmethod = asset->interlace_fixmethod; video_data = asset->video_data; layers = asset->layers; @@ -222,6 +207,7 @@ void Asset::copy_format(Asset *asset, int do_index) height = asset->height; actual_width = asset->actual_width; actual_height = asset->actual_height; + proxy_scale = asset->proxy_scale; strcpy(vcodec, asset->vcodec); strcpy(acodec, asset->acodec); @@ -241,21 +227,6 @@ void Asset::copy_format(Asset *asset, int do_index) ampeg_bitrate = asset->ampeg_bitrate; ampeg_derivative = asset->ampeg_derivative; - - vorbis_vbr = asset->vorbis_vbr; - vorbis_min_bitrate = asset->vorbis_min_bitrate; - vorbis_bitrate = asset->vorbis_bitrate; - vorbis_max_bitrate = asset->vorbis_max_bitrate; - - - theora_fix_bitrate = asset->theora_fix_bitrate; - theora_bitrate = asset->theora_bitrate; - theora_quality = asset->theora_quality; - theora_sharpness = asset->theora_sharpness; - theora_keyframe_frequency = asset->theora_keyframe_frequency; - theora_keyframe_force_frequency = asset->theora_keyframe_frequency; - - jpeg_quality = asset->jpeg_quality; // mpeg parameters @@ -369,9 +340,7 @@ int Asset::equivalent(Asset &asset, int test_audio, int test_video, EDL *edl) result = (layers == asset.layers && program == asset.program && frame_rate == asset.frame_rate && - asset.interlace_autofixoption == interlace_autofixoption && asset.interlace_mode == interlace_mode && - interlace_fixmethod == asset.interlace_fixmethod && width == asset.width && height == asset.height && !strcmp(vcodec, asset.vcodec) && @@ -512,6 +481,7 @@ int Asset::read_video(FileXML *file) actual_width = file->tag.get_property("ACTUAL_WIDTH", actual_width); height = file->tag.get_property("HEIGHT", height); width = file->tag.get_property("WIDTH", width); + proxy_scale = file->tag.get_property("PROXY_SCALE", 0); layers = file->tag.get_property("LAYERS", layers); program = file->tag.get_property("PROGRAM", program); // This is loaded from the index file after the EDL but this @@ -524,15 +494,9 @@ int Asset::read_video(FileXML *file) 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); - ilacemode_to_xmltext(string, ILACE_MODE_NOTINTERLACED); interlace_mode = ilacemode_from_xmltext(file->tag.get_property("INTERLACE_MODE",string), ILACE_MODE_NOTINTERLACED); - ilacefixmethod_to_xmltext(string, ILACE_FIXMETHOD_NONE); - interlace_fixmethod = ilacefixmethod_from_xmltext(file->tag.get_property("INTERLACE_FIXMETHOD",string), ILACE_FIXMETHOD_NONE); - return 0; } @@ -603,7 +567,8 @@ int Asset::write(FileXML *file, write_audio(file); write_video(file); // index goes after source - if(index_state->index_status == INDEX_READY && include_index) + if( include_index && index_state && + index_state->index_status == INDEX_READY ) write_index(file); file->tag.set_title("/ASSET"); @@ -638,14 +603,7 @@ int Asset::write_audio(FileXML *file) // file->tag.set_property("AMPEG_BITRATE", ampeg_bitrate); // file->tag.set_property("AMPEG_DERIVATIVE", ampeg_derivative); -// -// file->tag.set_property("VORBIS_VBR", vorbis_vbr); -// file->tag.set_property("VORBIS_MIN_BITRATE", vorbis_min_bitrate); -// file->tag.set_property("VORBIS_BITRATE", vorbis_bitrate); -// file->tag.set_property("VORBIS_MAX_BITRATE", vorbis_max_bitrate); -// // file->tag.set_property("MP3_BITRATE", mp3_bitrate); -// @@ -671,6 +629,7 @@ int Asset::write_video(FileXML *file) file->tag.set_property("ACTUAL_WIDTH", actual_width); file->tag.set_property("HEIGHT", height); file->tag.set_property("WIDTH", width); + file->tag.set_property("PROXY_SCALE", proxy_scale); file->tag.set_property("LAYERS", layers); file->tag.set_property("PROGRAM", program); file->tag.set_property("FRAMERATE", frame_rate); @@ -682,14 +641,9 @@ int Asset::write_video(FileXML *file) file->tag.set_property("JPEG_SPHERE", jpeg_sphere); file->tag.set_property("SINGLE_FRAME", single_frame); - file->tag.set_property("INTERLACE_AUTOFIX", interlace_autofixoption); - ilacemode_to_xmltext(string, interlace_mode); file->tag.set_property("INTERLACE_MODE", string); - ilacefixmethod_to_xmltext(string, interlace_fixmethod); - file->tag.set_property("INTERLACE_FIXMETHOD", string); - file->append_tag(); if(video_data) file->tag.set_title("/VIDEO"); @@ -777,6 +731,7 @@ void Asset::load_defaults(BC_Hash *defaults, width = GET_DEFAULT("WIDTH", width); actual_height = GET_DEFAULT("ACTUAL_HEIGHT", actual_height); actual_width = GET_DEFAULT("ACTUAL_WIDTH", actual_width); + proxy_scale = GET_DEFAULT("PROXY_SCALE", proxy_scale); program = GET_DEFAULT("PROGRAM", program); layers = GET_DEFAULT("LAYERS", layers); if(EQUIV(frame_rate, 0)) frame_rate = GET_DEFAULT("FRAMERATE", frame_rate); @@ -787,18 +742,6 @@ void Asset::load_defaults(BC_Hash *defaults, ampeg_bitrate = GET_DEFAULT("AMPEG_BITRATE", ampeg_bitrate); ampeg_derivative = GET_DEFAULT("AMPEG_DERIVATIVE", ampeg_derivative); - vorbis_vbr = GET_DEFAULT("VORBIS_VBR", vorbis_vbr); - vorbis_min_bitrate = GET_DEFAULT("VORBIS_MIN_BITRATE", vorbis_min_bitrate); - vorbis_bitrate = GET_DEFAULT("VORBIS_BITRATE", vorbis_bitrate); - vorbis_max_bitrate = GET_DEFAULT("VORBIS_MAX_BITRATE", vorbis_max_bitrate); - - theora_fix_bitrate = GET_DEFAULT("THEORA_FIX_BITRATE", theora_fix_bitrate); - theora_bitrate = GET_DEFAULT("THEORA_BITRATE", theora_bitrate); - theora_quality = GET_DEFAULT("THEORA_QUALITY", theora_quality); - theora_sharpness = GET_DEFAULT("THEORA_SHARPNESS", theora_sharpness); - theora_keyframe_frequency = GET_DEFAULT("THEORA_KEYFRAME_FREQUENCY", theora_keyframe_frequency); - 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); @@ -812,10 +755,7 @@ void Asset::load_defaults(BC_Hash *defaults, jpeg_quality = GET_DEFAULT("JPEG_QUALITY", jpeg_quality); aspect_ratio = GET_DEFAULT("ASPECT_RATIO", aspect_ratio); - - interlace_autofixoption = ILACE_AUTOFIXOPTION_AUTO; interlace_mode = ILACE_MODE_UNDETECTED; - interlace_fixmethod = ILACE_FIXMETHOD_UPONE; // MPEG format information vmpeg_iframe_distance = GET_DEFAULT("VMPEG_IFRAME_DISTANCE", vmpeg_iframe_distance); @@ -831,14 +771,6 @@ void Asset::load_defaults(BC_Hash *defaults, vmpeg_preset = GET_DEFAULT("VMPEG_PRESET", vmpeg_preset); vmpeg_field_order = GET_DEFAULT("VMPEG_FIELD_ORDER", vmpeg_field_order); - theora_fix_bitrate = GET_DEFAULT("THEORA_FIX_BITRATE", theora_fix_bitrate); - theora_bitrate = GET_DEFAULT("THEORA_BITRATE", theora_bitrate); - theora_quality = GET_DEFAULT("THEORA_QUALITY", theora_quality); - theora_sharpness = GET_DEFAULT("THEORA_SHARPNESS", theora_sharpness); - theora_keyframe_frequency = GET_DEFAULT("THEORA_KEYFRAME_FREQUENCY", theora_keyframe_frequency); - theora_keyframe_force_frequency = GET_DEFAULT("THEORA_FORCE_KEYFRAME_FEQUENCY", theora_keyframe_force_frequency); - - ac3_bitrate = GET_DEFAULT("AC3_BITRATE", ac3_bitrate); png_use_alpha = GET_DEFAULT("PNG_USE_ALPHA", png_use_alpha); @@ -888,11 +820,6 @@ void Asset::save_defaults(BC_Hash *defaults, UPDATE_DEFAULT("AMPEG_BITRATE", ampeg_bitrate); UPDATE_DEFAULT("AMPEG_DERIVATIVE", ampeg_derivative); - UPDATE_DEFAULT("VORBIS_VBR", vorbis_vbr); - UPDATE_DEFAULT("VORBIS_MIN_BITRATE", vorbis_min_bitrate); - UPDATE_DEFAULT("VORBIS_BITRATE", vorbis_bitrate); - 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); @@ -902,15 +829,6 @@ void Asset::save_defaults(BC_Hash *defaults, UPDATE_DEFAULT("FF_VIDEO_BITRATE", ff_video_bitrate); UPDATE_DEFAULT("FF_VIDEO_QUALITY", ff_video_quality); - UPDATE_DEFAULT("THEORA_FIX_BITRATE", theora_fix_bitrate); - UPDATE_DEFAULT("THEORA_BITRATE", theora_bitrate); - UPDATE_DEFAULT("THEORA_QUALITY", theora_quality); - UPDATE_DEFAULT("THEORA_SHARPNESS", theora_sharpness); - UPDATE_DEFAULT("THEORA_KEYFRAME_FREQUENCY", theora_keyframe_frequency); - UPDATE_DEFAULT("THEORA_FORCE_KEYFRAME_FREQUENCY", theora_keyframe_force_frequency); - - - UPDATE_DEFAULT("MP3_BITRATE", mp3_bitrate); UPDATE_DEFAULT("JPEG_QUALITY", jpeg_quality); @@ -972,6 +890,7 @@ void Asset::save_defaults(BC_Hash *defaults, UPDATE_DEFAULT("WIDTH", width); UPDATE_DEFAULT("ACTUAL_HEIGHT", actual_height); UPDATE_DEFAULT("ACTUAL_WIDTH", actual_width); + UPDATE_DEFAULT("PROXY_SCALE", proxy_scale); UPDATE_DEFAULT("PROGRAM", program); UPDATE_DEFAULT("LAYERS", layers); UPDATE_DEFAULT("FRAMERATE", frame_rate); @@ -1012,11 +931,15 @@ int Asset::dump(FILE *fp) 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 %4.4s aspect_ratio %f ilace_mode %s\n", + " height %d vcodec %s aspect_ratio %f ilace_mode %s\n", video_data, layers, program, frame_rate, width, height, vcodec, aspect_ratio,string); + fprintf(fp," actual_width %d actual_height %d proxy_scale %d" + " video_length %jd repeat %d\n", + actual_width, actual_height, proxy_scale, video_length, + single_frame); fprintf(fp," video_length %jd repeat %d\n", video_length, single_frame); - printf(" mov_sphere=%d jpeg_sphere=%d\n", mov_sphere, jpeg_sphere); + fprintf(fp," mov_sphere=%d jpeg_sphere=%d\n", mov_sphere, jpeg_sphere); return 0; }