61 const int start_frame,
85 if (load_data->
name[0] !=
'\0') {
112 const char *role_colorspace_byte;
115 if (
STREQ(strip_colorspace, role_colorspace_byte)) {
118 const char *default_view_transform =
256 for (
int i = 0; i < load_data->
image.
len; i++) {
276 #ifdef WITH_AUDASPACE
286 const int frame_offset = av_stream_offset *
FPS;
337 seq_add_sound_av_sync(bmain,
scene, seq, load_data);
375 char path[
sizeof(load_data->
path)];
379 char colorspace[64] =
"\0";
380 bool is_multiview_loaded =
false;
389 const char *ext =
NULL;
394 if (prefix[0] !=
'\0') {
395 for (i = 0; i < totfiles; i++) {
406 is_multiview_loaded =
true;
410 if (is_multiview_loaded ==
false) {
419 float video_fps = 0.0f;
422 if (anim_arr[0] !=
NULL) {
428 video_fps = fps_denom / fps_num;
451 for (i = 0; i < totfiles; i++) {
455 sanim->
anim = anim_arr[i];
462 if (anim_arr[0] !=
NULL) {
509 int prev_startdisp = 0, prev_enddisp = 0;
544 bool is_multiview_loaded =
false;
555 const char *ext =
NULL;
561 if (prefix[0] !=
'\0') {
562 for (i = 0; i < totfiles; i++) {
579 is_multiview_loaded =
true;
583 if (is_multiview_loaded ==
false) {
599 if ((!sanim) || (!sanim->
anim)) {
640 #ifdef WITH_AUDASPACE
680 bool *r_was_reloaded,
681 bool *r_can_produce_frames)
684 !
"This function is only implemented for movie strips.");
686 bool must_reload =
false;
708 *r_was_reloaded =
false;
709 *r_can_produce_frames =
true;
714 *r_was_reloaded =
true;
718 *r_can_produce_frames =
false;
726 *r_can_produce_frames =
false;
732 *r_can_produce_frames =
true;
typedef float(TangentPoint)[2]
struct anim * openanim(const char *name, int flags, int streamindex, char colorspace[IMA_MAX_SPACE])
void BKE_id_free(struct Main *bmain, void *idv)
void id_us_ensure_real(struct ID *id)
const char * BKE_main_blendfile_path(const struct Main *bmain) ATTR_NONNULL()
const char * BKE_main_blendfile_path_from_global(void)
int BKE_mask_get_duration(struct Mask *mask)
int BKE_movieclip_get_duration(struct MovieClip *clip)
void BKE_scene_multiview_view_prefix_get(struct Scene *scene, const char *name, char *r_prefix, const char **r_ext)
float BKE_sound_get_length(struct Main *bmain, struct bSound *sound)
struct bSound * BKE_sound_new_file(struct Main *main, const char *filepath)
bool BKE_sound_info_get(struct Main *main, struct bSound *sound, SoundInfo *sound_info)
bool BKE_sound_stream_info_get(struct Main *main, const char *filepath, int stream, SoundStreamInfo *sound_info)
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
#define LISTBASE_FOREACH(type, var, list)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_split_dirfile(const char *string, char *dir, char *file, size_t dirlen, size_t filelen)
bool BLI_path_abs(char *path, const char *basepath) ATTR_NONNULL()
void BLI_join_dirfile(char *__restrict dst, size_t maxlen, const char *__restrict dir, const char *__restrict file) ATTR_NONNULL()
#define STRNCPY(dst, src)
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
typedef double(DMatrix)[4][4]
@ SEQ_USE_EFFECT_DEFAULT_FADE
struct StripElem StripElem
@ COLOR_ROLE_DEFAULT_BYTE
const char * IMB_colormanagement_role_colorspace_name_get(int role)
struct ColorManagedDisplay * IMB_colormanagement_display_get_named(const char *name)
const char * IMB_colormanagement_display_get_default_view_transform_name(struct ColorManagedDisplay *display)
bool IMB_anim_get_fps(struct anim *anim, short *frs_sec, float *frs_sec_base, bool no_av_base)
int IMB_anim_get_image_height(struct anim *anim)
struct ImBuf * IMB_loadiffname(const char *filepath, int flags, char colorspace[IM_MAX_SPACE])
double IMD_anim_get_offset(struct anim *anim)
int IMB_anim_get_image_width(struct anim *anim)
bool IMB_anim_can_produce_frames(const struct anim *anim)
int IMB_anim_get_duration(struct anim *anim, IMB_Timecode_Type tc)
Contains defines and structs used throughout the imbuf module.
Read Guarded memory(de)allocation.
@ SEQ_LOAD_SET_VIEW_TRANSFORM
@ SEQ_LOAD_MOVIE_SYNC_FPS
struct SeqEffectHandle SEQ_effect_handle_get(Sequence *seq)
int SEQ_effect_get_num_inputs(int seq_type)
void IMB_freeImBuf(ImBuf *UNUSED(ibuf))
ccl_gpu_kernel_postfix ccl_global float int int int int sh
void(* MEM_freeN)(void *vmemh)
size_t(* MEM_allocN_len)(const void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
void *(* MEM_mallocN)(size_t len, const char *str)
ccl_device_inline float3 ceil(const float3 &a)
int seq_num_files(Scene *scene, char views_format, const bool is_multiview)
void seq_anim_add_suffix(Scene *scene, struct anim *anim, const int view_id)
void seq_multiview_name(Scene *scene, const int view_id, const char *prefix, const char *ext, char *r_path, size_t r_size)
void free_proxy_seq(Sequence *seq)
StripElem * SEQ_render_give_stripelem(const Scene *scene, Sequence *seq, int timeline_frame)
Sequence * seq_sequence_lookup_meta_by_seq(const Scene *scene, const Sequence *key)
void SEQ_sequence_lookup_tag(const Scene *scene, eSequenceLookupTag tag)
Sequence * SEQ_sequence_alloc(ListBase *lb, int timeline_frame, int machine, int type)
Sequence * SEQ_add_meta_strip(Scene *scene, ListBase *seqbase, SeqLoadData *load_data)
void SEQ_add_image_load_file(Scene *scene, Sequence *seq, size_t strip_frame, char *filename)
Sequence * SEQ_add_movie_strip(Main *bmain, Scene *scene, ListBase *seqbase, SeqLoadData *load_data)
Sequence * SEQ_add_sound_strip(Main *UNUSED(bmain), Scene *UNUSED(scene), ListBase *UNUSED(seqbase), SeqLoadData *UNUSED(load_data))
Sequence * SEQ_add_mask_strip(Scene *scene, ListBase *seqbase, struct SeqLoadData *load_data)
void SEQ_add_movie_reload_if_needed(struct Main *bmain, struct Scene *scene, struct Sequence *seq, bool *r_was_reloaded, bool *r_can_produce_frames)
Sequence * SEQ_add_image_strip(Main *bmain, Scene *scene, ListBase *seqbase, SeqLoadData *load_data)
Sequence * SEQ_add_effect_strip(Scene *scene, ListBase *seqbase, struct SeqLoadData *load_data)
static void seq_add_set_name(Scene *scene, Sequence *seq, SeqLoadData *load_data)
Sequence * SEQ_add_movieclip_strip(Scene *scene, ListBase *seqbase, struct SeqLoadData *load_data)
void SEQ_add_reload_new_file(Main *bmain, Scene *scene, Sequence *seq, const bool lock_range)
void SEQ_add_image_set_directory(Sequence *seq, char *path)
void SEQ_add_image_init_alpha_mode(Sequence *seq)
static void seq_add_set_view_transform(Scene *scene, Sequence *seq, SeqLoadData *load_data)
Sequence * SEQ_add_scene_strip(Scene *scene, ListBase *seqbase, struct SeqLoadData *load_data)
void SEQ_add_load_data_init(SeqLoadData *load_data, const char *name, const char *path, const int start_frame, const int channel)
static void seq_add_generic_update(Scene *scene, Sequence *seq)
void SEQ_edit_sequence_name_set(Scene *scene, Sequence *seq, const char *new_name)
void SEQ_relations_invalidate_cache_raw(Scene *scene, Sequence *seq)
void SEQ_relations_sequence_free_anim(Sequence *seq)
void SEQ_relations_invalidate_cache_composite(Scene *scene, Sequence *seq)
void SEQ_time_right_handle_frame_set(const Scene *scene, Sequence *seq, int val)
void SEQ_time_update_meta_strip_range(const Scene *scene, Sequence *seq_meta)
int SEQ_time_left_handle_frame_get(const Scene *UNUSED(scene), const Sequence *seq)
void SEQ_time_left_handle_frame_set(const Scene *scene, Sequence *seq, int val)
void seq_time_effect_range_set(const Scene *scene, Sequence *seq)
float SEQ_time_start_frame_get(const Sequence *seq)
int SEQ_time_right_handle_frame_get(const Scene *scene, const Sequence *seq)
ColorManagedViewSettings view_settings
ColorManagedDisplaySettings display_settings
eSeqImageFitMethod fit_method
bool adjust_playback_rate
struct Stereo3dFormat * stereo3d_format
struct SeqLoadData::@1176 effect
struct SeqLoadData::@1175 image
double r_video_stream_start
float media_playback_rate
struct Stereo3dFormat * stereo3d_format
struct SoundInfo::@63 specs
ColorManagedColorspaceSettings colorspace_settings
const char * SEQ_sequence_give_name(Sequence *seq)
void SEQ_set_scale_to_fit(const Sequence *seq, const int image_width, const int image_height, const int preview_width, const int preview_height, const eSeqImageFitMethod fit_method)
void SEQ_sequence_base_unique_name_recursive(struct Scene *scene, ListBase *seqbasep, Sequence *seq)