Blender
V3.3
|
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <time.h>
#include "MEM_guardedalloc.h"
#include "DNA_defaults.h"
#include "DNA_constraint_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_movieclip_types.h"
#include "DNA_node_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_view3d_types.h"
#include "BLI_utildefines.h"
#include "BLI_blenlib.h"
#include "BLI_ghash.h"
#include "BLI_math.h"
#include "BLI_threads.h"
#include "BLT_translation.h"
#include "BKE_anim_data.h"
#include "BKE_bpath.h"
#include "BKE_colortools.h"
#include "BKE_global.h"
#include "BKE_idtype.h"
#include "BKE_image.h"
#include "BKE_lib_id.h"
#include "BKE_lib_query.h"
#include "BKE_main.h"
#include "BKE_movieclip.h"
#include "BKE_node.h"
#include "BKE_node_tree_update.h"
#include "BKE_tracking.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "IMB_moviecache.h"
#include "IMB_openexr.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "GPU_texture.h"
#include "BLO_read_write.h"
Go to the source code of this file.
Classes | |
struct | MovieClipCache |
struct | MovieClipImBufCacheKey |
struct | MovieClipCachePriorityData |
Macros | |
#define | DNA_DEPRECATED_ALLOW |
Typedefs | |
typedef struct MovieClipCache | MovieClipCache |
typedef struct MovieClipImBufCacheKey | MovieClipImBufCacheKey |
typedef struct MovieClipCachePriorityData | MovieClipCachePriorityData |
Variables | |
IDTypeInfo | IDType_ID_MC |
#define DNA_DEPRECATED_ALLOW |
Definition at line 23 of file movieclip.c.
typedef struct MovieClipCache MovieClipCache |
typedef struct MovieClipCachePriorityData MovieClipCachePriorityData |
typedef struct MovieClipImBufCacheKey MovieClipImBufCacheKey |
ImBuf* BKE_movieclip_anim_ibuf_for_frame_no_lock | ( | struct MovieClip * | clip, |
struct MovieClipUser * | user | ||
) |
Read image buffer from the given movie clip without acquiring the LOCK_MOVIECLIP lock. Used by a prefetch job which takes care of creating a local copy of the clip.
Definition at line 1931 of file movieclip.c.
References MovieClip::flag, MovieClipUser::framenr, MCLIP_SRC_MOVIE, movieclip_load_movie_file(), NULL, and MovieClip::source.
Referenced by prefetch_movie_frame().
void BKE_movieclip_build_proxy_frame | ( | struct MovieClip * | clip, |
int | clip_flag, | ||
struct MovieDistortion * | distortion, | ||
int | cfra, | ||
int * | build_sizes, | ||
int | build_count, | ||
bool | undistorted | ||
) |
Definition at line 1823 of file movieclip.c.
References BKE_movieclip_get_ibuf_flag(), MovieClipUser::framenr, get_undistorted_ibuf(), IMB_freeImBuf(), MCLIP_PROXY_RENDER_SIZE_FULL, movieclip_build_proxy_ibuf(), MOVIECLIP_CACHE_SKIP, MovieClipUser::render_flag, and MovieClipUser::render_size.
Referenced by do_movie_proxy().
void BKE_movieclip_build_proxy_frame_for_ibuf | ( | struct MovieClip * | clip, |
struct ImBuf * | ibuf, | ||
struct MovieDistortion * | distortion, | ||
int | cfra, | ||
int * | build_sizes, | ||
int | build_count, | ||
bool | undistorted | ||
) |
Definition at line 1864 of file movieclip.c.
References get_undistorted_ibuf(), IMB_freeImBuf(), and movieclip_build_proxy_ibuf().
Referenced by proxy_task_func().
Definition at line 1655 of file movieclip.c.
References free_buffers().
Referenced by ED_space_clip_set_clip().
Definition at line 1660 of file movieclip.c.
References MovieClip::cache, IMB_moviecache_cleanup(), MovieClipCache::moviecache, moviecache_check_free_proxy(), and NULL.
Referenced by proxy_endjob().
Will try to make image buffer usable when originating from the multi-layer source. Internally finds a first combined pass and uses that as a buffer. Not ideal, but is better than a complete empty buffer.
Definition at line 527 of file movieclip.c.
References BLI_assert, ImBuf::channels, ImBuf::flags, ImBuf::ftype, IB_rectfloat, IMB_exr_close(), IMB_exr_multilayer_convert(), IMB_FTYPE_OPENEXR, ImBuf::mall, NULL, ImBuf::rect_float, and ImBuf::userdata.
Referenced by movieclip_load_sequence_file(), and prefetch_task_func().
Definition at line 2028 of file movieclip.c.
References DEG_debug_print_eval(), depsgraph, MovieClip::id, movieclip_selection_sync(), ID::name, and ID::orig_id.
Referenced by blender::deg::DepsgraphNodeBuilder::build_movieclip().
Definition at line 2017 of file movieclip.c.
References DEG_debug_print_eval(), depsgraph, MovieClip::id, ID_RECALC_SOURCE, movieclip_eval_update_generic(), movieclip_eval_update_reload(), ID::name, and ID::recalc.
Referenced by blender::deg::DepsgraphNodeBuilder::build_movieclip().
Checks if image was already loaded, then returns same image otherwise creates new. does not load ibuf itself pass on optional frame for #name images.
Definition at line 967 of file movieclip.c.
References BKE_main_blendfile_path(), BLI_open(), BLI_path_abs(), BLI_path_basename(), BLI_strncpy(), MovieTracking::camera, detect_clip_source(), file, FILE_MAX, MovieClip::filepath, MovieTrackingCamera::focal, MovieClip::lastsize, movieclip_alloc(), movieclip_calc_length(), movieclip_load_get_size(), MovieCache::name, NULL, O_BINARY, MovieTrackingCamera::sensor_width, str, MovieClip::tracking, and width.
Referenced by BKE_movieclip_file_add_exists_ex(), and seqclipboard_ptr_restore().
Definition at line 1031 of file movieclip.c.
References BKE_movieclip_file_add_exists_ex(), and NULL.
Referenced by open_exec().
MovieClip* BKE_movieclip_file_add_exists_ex | ( | Main * | bmain, |
const char * | filepath, | ||
bool * | r_exists | ||
) |
Definition at line 1003 of file movieclip.c.
References BKE_main_blendfile_path(), BKE_movieclip_file_add(), BLI_path_abs(), BLI_path_cmp, BLI_strncpy(), FILE_MAX, MovieClip::filepath, ListBase::first, MovieClip::id, ID_BLEND_PATH, id_us_plus(), Main::movieclips, ID::next, and str.
Referenced by BKE_movieclip_file_add_exists().
void BKE_movieclip_filename_for_frame | ( | MovieClip * | clip, |
MovieClipUser * | user, | ||
char * | name | ||
) |
Definition at line 1909 of file movieclip.c.
References BLI_path_abs(), BLI_strncpy(), FILE_MAX, MovieClip::filepath, MovieClip::flag, MovieClipUser::framenr, get_proxy_fname(), get_sequence_fname(), MovieClip::id, ID_BLEND_PATH_FROM_GLOBAL, if(), MCLIP_PROXY_RENDER_SIZE_FULL, MCLIP_PROXY_RENDER_UNDISTORT, MCLIP_SRC_SEQUENCE, MCLIP_USE_PROXY, MovieCache::name, MovieClipUser::render_flag, MovieClipUser::render_size, and MovieClip::source.
Referenced by prefetch_read_file_to_memory(), proxy_thread_next_frame(), and uiTemplateMovieclipInformation().
Definition at line 2098 of file movieclip.c.
References BLI_listbase_count(), BLI_pophead(), GPU_texture_free(), MovieClip_Runtime::gputextures, MEM_freeN, NULL, MovieClip::runtime, tex, and TEXTARGET_COUNT.
Referenced by OVERLAY_image_free_movieclips_textures().
Definition at line 1588 of file movieclip.c.
References MovieClip::aspx, MovieClip::aspy, MovieTracking::camera, MovieTrackingCamera::pixel_aspect, and MovieClip::tracking.
Referenced by BKE_mask_coord_from_movieclip(), BKE_mask_coord_to_movieclip(), BKE_mask_point_parent_matrix_get(), and ED_space_clip_get_aspect().
void BKE_movieclip_get_cache_segments | ( | struct MovieClip * | clip, |
struct MovieClipUser * | user, | ||
int * | r_totseg, | ||
int ** | r_points | ||
) |
Get segments of cached frames. useful for debugging cache policies.
Definition at line 1596 of file movieclip.c.
References BLI_thread_lock(), BLI_thread_unlock(), MovieClip::cache, MovieClip::flag, IMB_moviecache_get_cache_segments(), LOCK_MOVIECLIP, MovieClipCache::moviecache, NULL, MovieCache::proxy, MovieClipUser::render_flag, and rendersize_to_proxy().
Referenced by draw_movieclip_cache().
int BKE_movieclip_get_duration | ( | MovieClip * | clip | ) |
Definition at line 1562 of file movieclip.c.
References MovieClip::len, and movieclip_calc_length().
Referenced by clip_set_scene_frames_exec(), prefetch_check_early_out(), SEQ_add_movieclip_strip(), and SEQ_add_reload_new_file().
Definition at line 1571 of file movieclip.c.
References MovieClip::anim, IMB_anim_get_fps(), MCLIP_SRC_MOVIE, movieclip_open_anim_file(), NULL, and MovieClip::source.
Referenced by SEQ_time_sequence_get_fps().
GPUTexture* BKE_movieclip_get_gpu_texture | ( | MovieClip * | clip, |
MovieClipUser * | cuser | ||
) |
Definition at line 2066 of file movieclip.c.
References BKE_movieclip_get_ibuf(), GPU_texture_create_error(), GPU_texture_mipmap_mode(), MovieClip::id, IMB_create_gpu_texture(), IMB_freeImBuf(), movieclip_get_gputexture_ptr(), ID::name, NULL, ImBuf::rect_float, tex, and TEXTARGET_2D.
Referenced by image_camera_background_texture_get().
ImBuf* BKE_movieclip_get_ibuf | ( | MovieClip * | clip, |
MovieClipUser * | user | ||
) |
Definition at line 1329 of file movieclip.c.
References BKE_movieclip_get_ibuf_flag(), and MovieClip::flag.
Referenced by accessor_get_preprocessed_ibuf(), BKE_movieclip_get_gpu_texture(), BKE_movieclip_get_size(), BKE_movieclip_has_frame(), BKE_movieclip_update_scopes(), blender::compositor::KeyingScreenOperation::build_voronoi_triangulation(), blender::compositor::MovieClipNode::convert_to_operations(), blender::compositor::MovieClipBaseOperation::init_execution(), and reference_keyframed_image_buffers().
ImBuf* BKE_movieclip_get_ibuf_flag | ( | MovieClip * | clip, |
MovieClipUser * | user, | ||
int | flag, | ||
int | cache_flag | ||
) |
Definition at line 1334 of file movieclip.c.
References movieclip_get_postprocessed_ibuf().
Referenced by BKE_movieclip_build_proxy_frame(), BKE_movieclip_get_ibuf(), BKE_tracking_refine_marker(), blender::compositor::MovieClipNode::convert_to_operations(), detect_features_exec(), blender::compositor::MovieClipBaseOperation::init_execution(), seq_get_movieclip_ibuf(), tracking_context_get_frame_ibuf(), and uiTemplateMovieclipInformation().
ImBuf* BKE_movieclip_get_postprocessed_ibuf | ( | MovieClip * | clip, |
MovieClipUser * | user, | ||
int | postprocess_flag | ||
) |
Definition at line 1339 of file movieclip.c.
References MovieClip::flag, and movieclip_get_postprocessed_ibuf().
Referenced by BKE_movieclip_get_stable_ibuf(), and ED_space_clip_get_buffer().
void BKE_movieclip_get_size | ( | MovieClip * | clip, |
MovieClipUser * | user, | ||
int * | width, | ||
int * | height | ||
) |
Definition at line 1520 of file movieclip.c.
References BKE_movieclip_get_ibuf(), MovieClipUser::framenr, height, IMB_freeImBuf(), MovieClip::lastframe, MovieClip::lastsize, real_ibuf_size(), width, ImBuf::x, and ImBuf::y.
Referenced by accessor_get_mask_for_track_callback(), autotrack_context_init_clips(), BKE_movieclip_get_size_fl(), BKE_movieclip_update_scopes(), BKE_tracking_refine_marker(), clip_graph_tracking_values_iterate_track_reprojection_error_values(), clip_graph_tracking_values_iterate_track_speed_values(), createTransTrackingCurvesData(), createTransTrackingData(), blender::compositor::PlaneTrackCommon::determine_canvas(), blender::compositor::KeyingScreenOperation::determine_canvas(), blender::compositor::MovieClipBaseOperation::determine_canvas(), do_movie_proxy(), do_sequence_proxy(), draw_tracks_motion_and_error_curves(), ED_clip_point_undistorted_pos(), ED_space_clip_get_aspect_dimension_aware(), ED_space_clip_get_size(), followtrack_evaluate_using_2d_position(), image_camera_background_texture_get(), blender::compositor::MovieDistortionOperation::init_data(), marker_block_handler(), movieclip_load_get_size(), set_center_principal_exec(), solve_camera_freejob(), solve_camera_initjob(), uiTemplateMarker(), and uiTemplateMovieclipInformation().
void BKE_movieclip_get_size_fl | ( | MovieClip * | clip, |
MovieClipUser * | user, | ||
float | size[2] | ||
) |
Definition at line 1553 of file movieclip.c.
References BKE_movieclip_get_size(), float(), height, size(), and width.
Referenced by BKE_mask_coord_from_movieclip(), BKE_mask_coord_to_movieclip(), and BKE_mask_point_parent_matrix_get().
ImBuf* BKE_movieclip_get_stable_ibuf | ( | MovieClip * | clip, |
MovieClipUser * | user, | ||
float | loc[2], | ||
float * | scale, | ||
float * | angle, | ||
int | postprocess_flag | ||
) |
Definition at line 1447 of file movieclip.c.
References angle(), MovieClipCache::angle, BKE_movieclip_get_postprocessed_ibuf(), MovieClip::cache, copy_v2_v2(), MovieTrackingStabilization::flag, MovieClipUser::framenr, get_stable_cached_frame(), IMB_freeImBuf(), MovieClipCache::loc, NULL, put_stabilized_frame_to_cache(), MovieClipCache::scale, MovieTracking::stabilization, MovieClipCache::stabilized, MovieClip::tracking, TRACKING_2D_STABILIZATION, and zero_v2().
Referenced by ED_space_clip_get_stable_buffer(), and seq_get_movieclip_ibuf().
bool BKE_movieclip_has_cached_frame | ( | MovieClip * | clip, |
MovieClipUser * | user | ||
) |
Definition at line 1942 of file movieclip.c.
References BLI_thread_lock(), BLI_thread_unlock(), MovieClip::flag, has_imbuf_cache(), and LOCK_MOVIECLIP.
Referenced by prefetch_find_uncached_frame(), and prefetch_movie_frame().
bool BKE_movieclip_has_frame | ( | MovieClip * | clip, |
MovieClipUser * | user | ||
) |
Definition at line 1508 of file movieclip.c.
References BKE_movieclip_get_ibuf(), and IMB_freeImBuf().
Definition at line 1894 of file movieclip.c.
References MovieClip::flag, and MCLIP_USE_PROXY.
Referenced by seq_render_movieclip_strip().
bool BKE_movieclip_put_frame_if_possible | ( | MovieClip * | clip, |
MovieClipUser * | user, | ||
ImBuf * | ibuf | ||
) |
Definition at line 1953 of file movieclip.c.
References BLI_thread_lock(), BLI_thread_unlock(), MovieClip::flag, LOCK_MOVIECLIP, put_imbuf_cache(), and result.
Referenced by prefetch_movie_frame(), and prefetch_task_func().
Definition at line 1667 of file movieclip.c.
References BKE_ntree_update_tag_id_changed(), detect_clip_source(), free_buffers(), MovieClip::id, MovieClip::lastsize, movieclip_calc_length(), and movieclip_load_get_size().
Referenced by movieclip_eval_update_reload(), and reload_exec().
Definition at line 1904 of file movieclip.c.
References float(), and MovieClip::start_frame.
Referenced by movieclip_load_get_size().
Definition at line 1899 of file movieclip.c.
References float(), and MovieClip::start_frame.
Referenced by BKE_movieclip_update_scopes(), get_stable_cached_frame(), and put_stabilized_frame_to_cache().
void BKE_movieclip_update_scopes | ( | MovieClip * | clip, |
MovieClipUser * | user, | ||
MovieClipScopes * | scopes | ||
) |
Definition at line 1683 of file movieclip.c.
References BKE_movieclip_get_ibuf(), BKE_movieclip_get_size(), BKE_movieclip_remap_scene_to_clip_frame(), BKE_tracking_get_search_imbuf(), BKE_tracking_marker_get(), BKE_tracking_marker_pattern_minmax(), BKE_tracking_track_get_active(), BKE_tracking_undistort_v2(), MovieTracking::camera, MovieTrackingMarker::flag, MovieTrackingTrack::flag, MovieClipScopes::frame_height, MovieClipScopes::frame_width, MovieClipUser::framenr, height, IMB_freeImBuf(), MovieClipScopes::marker, MARKER_DISABLED, MCLIP_PROXY_RENDER_UNDISTORT, NULL, MovieClipScopes::ok, MovieTrackingCamera::pixel_aspect, MovieTrackingMarker::pos, ImBuf::rect, ImBuf::rect_float, MovieClipUser::render_flag, MovieClipScopes::scene_framenr, MovieClipScopes::slide_scale, MovieClipScopes::track, MovieClipScopes::track_disabled, MovieClipScopes::track_locked, TRACK_LOCKED, MovieClipScopes::track_preview, TRACK_PREVIEW_ALPHA, MovieClipScopes::track_search, MovieClip::tracking, MovieClipScopes::undist_marker, MovieClipScopes::use_track_mask, width, ImBuf::x, and ImBuf::y.
Referenced by clip_properties_region_draw().
void BKE_movieclip_user_set_frame | ( | MovieClipUser * | iuser, |
int | framenr | ||
) |
Definition at line 1614 of file movieclip.c.
References MovieClipUser::framenr.
Referenced by accessor_get_mask_for_track_callback(), accessor_get_preprocessed_ibuf(), BKE_mask_point_parent_matrix_get(), blender::compositor::KeyingScreenOperation::build_voronoi_triangulation(), clip_area_sync_frame_from_scene(), clip_refresh(), blender::compositor::PlaneTrackCommon::determine_canvas(), blender::compositor::KeyingScreenOperation::determine_canvas(), ED_clip_update_frame(), image_camera_background_texture_get(), blender::compositor::MovieDistortionOperation::init_data(), blender::compositor::MovieClipBaseOperation::init_execution(), reference_keyframed_image_buffers(), and seq_render_movieclip_strip().
Definition at line 1100 of file movieclip.c.
References MovieClipCache::brown_k, MovieClipCache::brown_p, MovieClip::cache, MovieTracking::camera, camera, MovieClipCache::distortion_model, MovieClipCache::division_k, equals_v2v2(), equals_v3v3(), equals_v4v4(), MovieClipCache::focal_length, MovieClipCache::nuke_k, MovieClipCache::polynomial_k, MovieClipCache::postprocessed, MovieClipCache::principal, and MovieClip::tracking.
Referenced by get_postprocessed_cached_frame().
Definition at line 949 of file movieclip.c.
References BKE_main_blendfile_path(), BLI_path_abs(), BLI_strncpy(), FILE_MAX, MovieClip::filepath, IB_multilayer, IB_rect, IMB_freeImBuf(), IMB_testiffname(), MCLIP_SRC_MOVIE, MCLIP_SRC_SEQUENCE, MovieCache::name, and MovieClip::source.
Referenced by BKE_movieclip_file_add(), and BKE_movieclip_reload().
|
static |
Definition at line 243 of file movieclip.c.
References BLO_read_data_address, BLO_read_list(), BLO_read_pointer_array(), and LISTBASE_FOREACH.
Referenced by movieclip_blend_read_data().
|
static |
Definition at line 228 of file movieclip.c.
References BLO_read_data_address, and reconstruction.
Referenced by movieclip_blend_read_data().
|
static |
Definition at line 234 of file movieclip.c.
References BLO_read_data_address, BLO_read_list(), and LISTBASE_FOREACH.
Referenced by movieclip_blend_read_data().
Definition at line 1621 of file movieclip.c.
References MovieClip::anim, BLI_freelistN(), MovieClip::cache, ListBase::first, GPU_texture_free(), MovieClip_Runtime::gputextures, MovieClipCache::ibuf, IMB_free_anim(), IMB_freeImBuf(), IMB_moviecache_free(), MEM_freeN, MovieClipCache::moviecache, NULL, MovieClipCache::postprocessed, MovieClip::runtime, MovieClipCache::stabilized, tex, and TEXTARGET_COUNT.
Referenced by BKE_movieclip_clear_cache(), BKE_movieclip_reload(), and movie_clip_free_data().
|
static |
Definition at line 809 of file movieclip.c.
References MovieClip::cache, MovieClipImBufCacheKey::framenr, MovieClipUser::framenr, IMB_moviecache_get(), IMB_PROXY_NONE, MovieClipCache::is_still_sequence, MCLIP_USE_PROXY, MovieClipCache::moviecache, NULL, MovieClipImBufCacheKey::proxy, MovieClipImBufCacheKey::render_flag, MovieClipUser::render_flag, rendersize_to_proxy(), and user_frame_to_cache_frame().
Referenced by movieclip_get_postprocessed_ibuf().
|
static |
Definition at line 1140 of file movieclip.c.
References MovieClip::cache, check_undistortion_cache_flags(), MovieClipCache::flag, MovieClipCache::framenr, MovieClipUser::framenr, MovieClipCache::ibuf, IMB_PROXY_NONE, IMB_refImBuf(), MCLIP_USE_PROXY, need_undistortion_postprocess(), NULL, MovieClipCache::postprocessed, MovieClipCache::proxy, MovieCache::proxy, MovieClipCache::render_flag, MovieClipUser::render_flag, rendersize_to_proxy(), and MovieClipCache::undistortion_used.
Referenced by movieclip_get_postprocessed_ibuf().
|
static |
Definition at line 451 of file movieclip.c.
References BKE_main_blendfile_path_from_global(), BLI_path_abs(), BLI_path_frame(), BLI_snprintf(), BLI_split_dirfile(), BLI_strncpy(), MovieClipProxy::dir, FILE_MAX, MovieClip::filepath, MovieClip::flag, MovieClip::frame_offset, MCLIP_USE_PROXY_CUSTOM_DIR, MovieClip::proxy, rendersize_to_number(), size(), and MovieClip::start_frame.
Referenced by BKE_movieclip_filename_for_frame(), movieclip_build_proxy_ibuf(), and movieclip_load_sequence_file().
Definition at line 426 of file movieclip.c.
References BLI_path_abs(), BLI_path_sequence_decode(), BLI_path_sequence_encode(), BLI_strncpy(), FILE_MAX, MovieClip::filepath, MovieClip::frame_offset, MovieClip::id, ID_BLEND_PATH_FROM_GLOBAL, offset, sequence_guess_offset(), and MovieClip::start_frame.
Referenced by BKE_movieclip_filename_for_frame(), movieclip_calc_length(), and movieclip_load_sequence_file().
|
static |
Definition at line 1346 of file movieclip.c.
References MovieClipCache::angle, MovieClipCache::aspect, BKE_movieclip_remap_scene_to_clip_frame(), BKE_tracking_stabilization_data_get(), MovieClip::cache, MovieTracking::camera, equals_v2v2(), MovieClipCache::filter, MovieTrackingStabilization::filter, MovieClip::flag, MovieClipCache::framenr, MovieClipCache::ibuf, IMB_PROXY_NONE, IMB_refImBuf(), MovieClipCache::loc, MCLIP_USE_PROXY, NULL, MovieTrackingCamera::pixel_aspect, MovieClipCache::postprocess_flag, MovieClipCache::proxy, MovieCache::proxy, MovieClipCache::reference_ibuf, MovieClipCache::render_flag, MovieClipUser::render_flag, rendersize_to_proxy(), MovieClipCache::scale, MovieTracking::stabilization, MovieClipCache::stabilized, MovieClip::tracking, ImBuf::x, and ImBuf::y.
Referenced by BKE_movieclip_get_stable_ibuf().
|
static |
Definition at line 417 of file movieclip.c.
References IMB_TC_NONE, MCLIP_USE_PROXY, MovieClip::proxy, and MovieClipProxy::tc.
Referenced by movieclip_load_movie_file().
|
static |
Definition at line 1062 of file movieclip.c.
References BKE_tracking_distortion_exec(), BKE_tracking_undistort_frame(), IMB_scaleImBuf(), MovieClip::tracking, ImBuf::x, and ImBuf::y.
Referenced by BKE_movieclip_build_proxy_frame(), BKE_movieclip_build_proxy_frame_for_ibuf(), and postprocess_frame().
|
static |
Definition at line 836 of file movieclip.c.
References MovieClip::cache, MovieClipImBufCacheKey::framenr, MovieClipUser::framenr, IMB_moviecache_has_frame(), IMB_PROXY_NONE, MCLIP_USE_PROXY, MovieClipCache::moviecache, MovieClipImBufCacheKey::proxy, MovieClipImBufCacheKey::render_flag, MovieClipUser::render_flag, rendersize_to_proxy(), and user_frame_to_cache_frame().
Referenced by BKE_movieclip_has_cached_frame().
|
static |
Definition at line 303 of file movieclip.c.
References BLO_read_id_address, MovieClip::id, ID::lib, and LISTBASE_FOREACH.
Referenced by movieclip_blend_read_lib().
|
static |
Definition at line 296 of file movieclip.c.
References BLO_read_id_address, MovieClip::id, ID::lib, and LISTBASE_FOREACH.
Referenced by movieclip_blend_read_lib().
|
static |
Definition at line 85 of file movieclip.c.
References MovieClip::anim, BKE_color_managed_colorspace_settings_copy(), BKE_tracking_copy(), MovieClip::cache, MovieClip::colorspace_settings, LIB_ID_CREATE_NO_USER_REFCOUNT, NULL, MovieClip::tracking, and MovieClip::tracking_context.
|
static |
Definition at line 134 of file movieclip.c.
References MovieClip::cache, MovieTracking::camera, IDCacheKey::id_session_uuid, MovieTrackingCamera::intrinsics, IDCacheKey::offset_in_ID, MovieClip::tracking, and user_data.
|
static |
Definition at line 113 of file movieclip.c.
References BKE_LIB_FOREACHID_PROCESS_IDSUPER, data, MovieClip::gpd, IDWALK_CB_USER, LISTBASE_FOREACH, MovieTracking::objects, MovieTracking::plane_tracks, MovieClip::tracking, and MovieTracking::tracks.
|
static |
Definition at line 149 of file movieclip.c.
References BKE_bpath_foreach_path_fixed_process(), and MovieClip::filepath.
Definition at line 103 of file movieclip.c.
References BKE_tracking_free(), free_buffers(), and MovieClip::tracking.
Definition at line 74 of file movieclip.c.
References BKE_color_managed_colorspace_settings_init(), BKE_tracking_settings_init(), BLI_assert, MovieClip::colorspace_settings, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, MEMCPY_STRUCT_AFTER, and MovieClip::tracking.
|
static |
Definition at line 913 of file movieclip.c.
References IMB_PROXY_NONE, MovieClipImBufCacheKey::proxy, and MovieClipImBufCacheKey::render_flag.
Referenced by BKE_movieclip_clear_proxy_cache().
Definition at line 794 of file movieclip.c.
References blender::math::abs(), MovieClipImBufCacheKey::framenr, and MovieClipCachePriorityData::framenr.
Referenced by put_imbuf_cache().
Definition at line 783 of file movieclip.c.
References MovieClipImBufCacheKey::framenr, MovieClipCachePriorityData::framenr, and MEM_callocN.
Referenced by put_imbuf_cache().
Definition at line 774 of file movieclip.c.
References Freestyle::a, and usdtokens::b().
Referenced by put_imbuf_cache().
|
static |
Definition at line 766 of file movieclip.c.
References MovieClipImBufCacheKey::framenr.
Referenced by put_imbuf_cache().
|
static |
Definition at line 757 of file movieclip.c.
References MovieClipImBufCacheKey::framenr, MovieClipImBufCacheKey::proxy, and MovieClipImBufCacheKey::render_flag.
Referenced by put_imbuf_cache().
Definition at line 923 of file movieclip.c.
References BKE_id_new(), ID_MC, and MovieCache::name.
Referenced by BKE_movieclip_file_add().
|
static |
Definition at line 257 of file movieclip.c.
References MovieTracking::act_plane_track, MovieTracking::act_track, MovieClip::adt, MovieClip::anim, BKE_animdata_blend_read_data(), BLI_listbase_clear(), BLO_read_data_address, BLO_read_list(), MovieTrackingDopesheet::channels, MovieTrackingDopesheet::coverage_segments, direct_link_moviePlaneTracks(), direct_link_movieReconstruction(), direct_link_movieTracks(), MovieTracking::dopesheet, MovieClip_Runtime::gputextures, LISTBASE_FOREACH, NULL, MovieTracking::objects, MovieTrackingDopesheet::ok, MovieTracking::plane_tracks, MovieTracking::reconstruction, MovieClip::runtime, MovieTracking::stabilization, MovieTracking::stats, MovieClip::tracking, MovieClip::tracking_context, and MovieTracking::tracks.
|
static |
Definition at line 312 of file movieclip.c.
References BLO_read_id_address, MovieClip::gpd, MovieClip::id, ID::lib, lib_link_moviePlaneTracks(), lib_link_movieTracks(), LISTBASE_FOREACH, MovieTracking::objects, MovieTracking::plane_tracks, MovieClip::tracking, and MovieTracking::tracks.
|
static |
Definition at line 193 of file movieclip.c.
References MovieClip::adt, MovieClip::anim, BKE_animdata_blend_write(), BKE_id_blend_write(), BLO_write_id_struct, BLO_write_struct, ListBase::first, MovieClip::id, NULL, MovieTracking::objects, MovieTrackingObject::plane_tracks, MovieTracking::plane_tracks, MovieTrackingObject::reconstruction, MovieTracking::reconstruction, MovieTracking::stats, MovieClip::tracking, MovieClip::tracking_context, MovieTrackingObject::tracks, MovieTracking::tracks, write_moviePlaneTracks(), write_movieReconstruction(), and write_movieTracks().
|
static |
Definition at line 1777 of file movieclip.c.
References BLI_make_existing_file(), BLI_thread_lock(), BLI_thread_unlock(), FILE_MAX, ImBuf::foptions, ImBuf::ftype, get_proxy_fname(), IB_rect, IMB_dupImBuf(), IMB_freeImBuf(), IMB_FTYPE_JPG, IMB_saveiff(), IMB_scaleImBuf(), IMB_scaleImBuf_threaded(), LOCK_MOVIECLIP, MovieCache::name, ImBuf::planes, MovieClip::proxy, ImbFormatOptions::quality, MovieClipProxy::quality, rendersize_to_number(), size(), ImBuf::x, and ImBuf::y.
Referenced by BKE_movieclip_build_proxy_frame(), and BKE_movieclip_build_proxy_frame_for_ibuf().
Definition at line 640 of file movieclip.c.
References MovieClip::anim, BLI_exists(), BLI_path_sequence_decode(), FILE_MAX, MovieClip::filepath, get_sequence_fname(), IMB_anim_get_duration(), MovieClip::len, MCLIP_SRC_MOVIE, MCLIP_SRC_SEQUENCE, movieclip_open_anim_file(), ImBuf::name, MovieClip::proxy, MovieClip::source, MovieClip::start_frame, and MovieClipProxy::tc.
Referenced by BKE_movieclip_file_add(), BKE_movieclip_get_duration(), and BKE_movieclip_reload().
Definition at line 2008 of file movieclip.c.
References BKE_tracking_dopesheet_tag_update(), DEG_get_original_id(), DEG_is_active(), depsgraph, MovieClip::id, and MovieClip::tracking.
Referenced by BKE_movieclip_eval_update().
|
static |
Definition at line 1999 of file movieclip.c.
References BKE_movieclip_reload(), DEG_get_original_id(), DEG_is_active(), depsgraph, and MovieClip::id.
Referenced by BKE_movieclip_eval_update().
|
static |
Definition at line 2038 of file movieclip.c.
References BLI_addtail(), ListBase::first, MovieClip_Runtime::gputextures, MEM_mallocN, NULL, MovieClip::runtime, tex, and TEXTARGET_COUNT.
Referenced by BKE_movieclip_get_gpu_texture().
|
static |
Definition at line 1256 of file movieclip.c.
References BLI_thread_lock(), BLI_thread_unlock(), MovieClipUser::framenr, get_imbuf_cache(), get_postprocessed_cached_frame(), IMB_freeImBuf(), MovieClip::lastframe, MovieClip::lastsize, LOCK_MOVIECLIP, MCLIP_PROXY_RENDER_SIZE_FULL, MCLIP_PROXY_RENDER_UNDISTORT, MCLIP_PROXY_RENDER_USE_FALLBACK_RENDER, MCLIP_SRC_SEQUENCE, MOVIECLIP_CACHE_SKIP, movieclip_load_movie_file(), movieclip_load_sequence_file(), need_postprocessed_frame(), NULL, postprocess_frame(), put_imbuf_cache(), put_postprocessed_frame_to_cache(), real_ibuf_size(), MovieClipUser::render_flag, MovieClipUser::render_size, and MovieClip::source.
Referenced by BKE_movieclip_get_ibuf_flag(), and BKE_movieclip_get_postprocessed_ibuf().
Definition at line 932 of file movieclip.c.
References BKE_movieclip_get_size(), BKE_movieclip_remap_clip_to_scene_frame(), MovieTracking::camera, DNA_struct_default_get, float(), MovieClipUser::framenr, height, IMG_SIZE_FALLBACK, MovieClip::lastsize, MovieTrackingCamera::principal, MovieClip::tracking, and width.
Referenced by BKE_movieclip_file_add(), and BKE_movieclip_reload().
|
static |
Definition at line 620 of file movieclip.c.
References MovieClip::anim, MovieClip::frame_offset, get_timecode(), IMB_anim_absolute(), movieclip_open_anim_file(), NULL, rendersize_to_proxy(), and MovieClip::start_frame.
Referenced by BKE_movieclip_anim_ibuf_for_frame_no_lock(), and movieclip_get_postprocessed_ibuf().
|
static |
Definition at line 556 of file movieclip.c.
References BKE_movieclip_convert_multilayer_ibuf(), MovieClip::colorspace_settings, FILE_MAX, get_proxy_fname(), get_sequence_fname(), IB_alphamode_detect, IB_metadata, IB_multilayer, IB_rect, if(), IMB_loadiffname(), MCLIP_PROXY_RENDER_SIZE_FULL, MCLIP_PROXY_RENDER_UNDISTORT, MCLIP_SRC_MOVIE, MCLIP_USE_PROXY, ColorManagedColorspaceSettings::name, ImBuf::name, NULL, MovieClipUser::render_flag, MovieClipUser::render_size, and MovieClip::source.
Referenced by movieclip_get_postprocessed_ibuf().
Definition at line 598 of file movieclip.c.
References MovieClip::anim, BKE_main_blendfile_path_from_global(), BLI_path_abs(), BLI_strncpy(), MovieClip::colorspace_settings, MovieClipProxy::dir, FILE_MAX, MovieClip::filepath, MovieClip::flag, IB_rect, MovieClip::id, ID_BLEND_PATH_FROM_GLOBAL, IMB_anim_set_index_dir(), MCLIP_USE_PROXY_CUSTOM_DIR, ColorManagedColorspaceSettings::name, openanim(), MovieClip::proxy, and str.
Referenced by BKE_movieclip_get_fps(), movieclip_calc_length(), and movieclip_load_movie_file().
Definition at line 1964 of file movieclip.c.
References MovieTracking::act_plane_track, MovieTracking::act_track, BKE_tracking_object_get_tracks(), BLI_assert, BLI_findindex(), BLI_findlink(), ListBase::first, MovieTrackingTrack::flag, MovieTrackingTrack::next, MovieTrackingObject::next, NULL, MovieTracking::objectnr, MovieTracking::objects, MovieTrackingTrack::pat_flag, MovieTracking::plane_tracks, MovieTrackingTrack::search_flag, MovieClip::tracking, and MovieTracking::tracks.
Referenced by BKE_movieclip_eval_selection_update().
|
static |
Definition at line 1091 of file movieclip.c.
References need_undistortion_postprocess(), and result.
Referenced by movieclip_get_postprocessed_ibuf().
|
static |
Definition at line 1081 of file movieclip.c.
References MCLIP_PROXY_RENDER_SIZE_FULL, MCLIP_PROXY_RENDER_UNDISTORT, MCLIP_USE_PROXY, MovieClipUser::render_flag, MovieClipUser::render_size, and result.
Referenced by get_postprocessed_cached_frame(), need_postprocessed_frame(), postprocess_frame(), and put_postprocessed_frame_to_cache().
|
static |
Definition at line 1188 of file movieclip.c.
References BKE_tracking_disable_channels(), get_undistorted_ibuf(), IMB_dupImBuf(), MOVIECLIP_DISABLE_BLUE, MOVIECLIP_DISABLE_GREEN, MOVIECLIP_DISABLE_RED, MOVIECLIP_PREVIEW_GRAYSCALE, need_undistortion_postprocess(), and NULL.
Referenced by movieclip_get_postprocessed_ibuf().
|
static |
Definition at line 858 of file movieclip.c.
References BLI_path_sequence_decode(), MovieClip::cache, MovieClip::filepath, MovieClipImBufCacheKey::framenr, MovieClipUser::framenr, IMB_moviecache_create(), IMB_moviecache_put(), IMB_moviecache_put_if_possible(), IMB_moviecache_set_getdata_callback(), IMB_moviecache_set_priority_callback(), IMB_PROXY_NONE, MovieClipCache::is_still_sequence, MCLIP_SRC_SEQUENCE, MCLIP_USE_PROXY, MEM_callocN, MovieClipCache::moviecache, moviecache_getitempriority(), moviecache_getprioritydata(), moviecache_hashcmp(), moviecache_hashhash(), moviecache_keydata(), moviecache_prioritydeleter(), NULL, MovieClipImBufCacheKey::proxy, MovieClipImBufCacheKey::render_flag, MovieClipUser::render_flag, rendersize_to_proxy(), MovieClipCache::sequence_offset, MovieClip::source, and user_frame_to_cache_frame().
Referenced by BKE_movieclip_put_frame_if_possible(), and movieclip_get_postprocessed_ibuf().
|
static |
Definition at line 1214 of file movieclip.c.
References MovieClipCache::brown_k, MovieClipCache::brown_p, MovieClip::cache, MovieTracking::camera, camera, copy_v2_v2(), copy_v3_v3(), copy_v4_v4(), MovieClipCache::distortion_model, MovieClipCache::division_k, MovieClipCache::flag, MovieClipCache::focal_length, MovieClipCache::framenr, MovieClipUser::framenr, MovieClipCache::ibuf, IMB_freeImBuf(), IMB_PROXY_NONE, IMB_refImBuf(), MCLIP_USE_PROXY, need_undistortion_postprocess(), MovieClipCache::nuke_k, MovieClipCache::polynomial_k, MovieClipCache::postprocessed, MovieClipCache::principal, MovieClipCache::proxy, MovieClipCache::render_flag, MovieClipUser::render_flag, rendersize_to_proxy(), MovieClip::tracking, and MovieClipCache::undistortion_used.
Referenced by movieclip_get_postprocessed_ibuf().
|
static |
Definition at line 1405 of file movieclip.c.
References MovieClipCache::angle, MovieClipCache::aspect, BKE_movieclip_remap_scene_to_clip_frame(), BKE_tracking_stabilize_frame(), MovieClip::cache, MovieTracking::camera, copy_v2_v2(), MovieClipCache::filter, MovieTrackingStabilization::filter, MovieClip::flag, MovieClipCache::framenr, MovieClipCache::ibuf, IMB_freeImBuf(), IMB_PROXY_NONE, IMB_refImBuf(), MovieClipCache::loc, MCLIP_USE_PROXY, MovieTrackingCamera::pixel_aspect, MovieClipCache::postprocess_flag, MovieClipCache::proxy, MovieClipCache::reference_ibuf, MovieClipCache::render_flag, MovieClipUser::render_flag, rendersize_to_proxy(), MovieClipCache::scale, MovieTracking::stabilization, MovieClipCache::stabilized, and MovieClip::tracking.
Referenced by BKE_movieclip_get_stable_ibuf().
|
static |
Definition at line 1036 of file movieclip.c.
References MovieClip::flag, float(), height, MCLIP_PROXY_RENDER_SIZE_25, MCLIP_PROXY_RENDER_SIZE_50, MCLIP_PROXY_RENDER_SIZE_75, MCLIP_USE_PROXY, MovieClipUser::render_size, width, ImBuf::x, and ImBuf::y.
Referenced by BKE_movieclip_get_size(), and movieclip_get_postprocessed_ibuf().
|
static |
Definition at line 395 of file movieclip.c.
References MCLIP_PROXY_RENDER_SIZE_100, MCLIP_PROXY_RENDER_SIZE_25, MCLIP_PROXY_RENDER_SIZE_50, MCLIP_PROXY_RENDER_SIZE_75, and MCLIP_PROXY_RENDER_SIZE_FULL.
Referenced by get_proxy_fname(), and movieclip_build_proxy_ibuf().
|
static |
Definition at line 369 of file movieclip.c.
References IMB_PROXY_100, IMB_PROXY_25, IMB_PROXY_50, IMB_PROXY_75, IMB_PROXY_NONE, MCLIP_PROXY_RENDER_SIZE_100, MCLIP_PROXY_RENDER_SIZE_25, MCLIP_PROXY_RENDER_SIZE_50, MCLIP_PROXY_RENDER_SIZE_75, MCLIP_PROXY_RENDER_SIZE_FULL, MCLIP_USE_PROXY, and MovieClipUser::render_size.
Referenced by BKE_movieclip_get_cache_segments(), get_imbuf_cache(), get_postprocessed_cached_frame(), get_stable_cached_frame(), has_imbuf_cache(), movieclip_load_movie_file(), put_imbuf_cache(), put_postprocessed_frame_to_cache(), and put_stabilized_frame_to_cache().
|
static |
Definition at line 360 of file movieclip.c.
References BLI_strncpy(), and FILE_MAX.
Referenced by get_sequence_fname(), and user_frame_to_cache_frame().
|
static |
Definition at line 730 of file movieclip.c.
References BLI_path_sequence_decode(), MovieClip::cache, FILE_MAX, MovieClip::filepath, MovieClip::frame_offset, MCLIP_SRC_SEQUENCE, sequence_guess_offset(), MovieClipCache::sequence_offset, MovieClip::source, and MovieClip::start_frame.
Referenced by get_imbuf_cache(), has_imbuf_cache(), and put_imbuf_cache().
|
static |
Definition at line 171 of file movieclip.c.
References BLO_write_pointer_array(), BLO_write_struct, BLO_write_struct_array, ListBase::first, MovieTrackingPlaneTrack::markers, MovieTrackingPlaneTrack::markersnr, MovieTrackingPlaneTrack::next, MovieTrackingPlaneTrack::point_tracks, and MovieTrackingPlaneTrack::point_tracksnr.
Referenced by movieclip_blend_write().
|
static |
Definition at line 184 of file movieclip.c.
References BLO_write_struct_array, and reconstruction.
Referenced by movieclip_blend_write().
|
static |
Definition at line 155 of file movieclip.c.
References BLO_write_struct, BLO_write_struct_array, ListBase::first, MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, MovieTrackingTrack::next, and tracks.
Referenced by movieclip_blend_write().
IDTypeInfo IDType_ID_MC |
Definition at line 328 of file movieclip.c.