Changeset View
Changeset View
Standalone View
Standalone View
source/blender/imbuf/intern/IMB_indexer.h
| Show First 20 Lines • Show All 43 Lines • ▼ Show 20 Lines | |||||
| * | * | ||||
| * This index has to be only built once for a file and is written into | * This index has to be only built once for a file and is written into | ||||
| * the BL_proxy directory structure for later reuse in different blender files. | * the BL_proxy directory structure for later reuse in different blender files. | ||||
| */ | */ | ||||
| typedef struct anim_index_entry { | typedef struct anim_index_entry { | ||||
| int frameno; | int frameno; | ||||
| uint64_t seek_pos; | uint64_t seek_pos; | ||||
| uint64_t seek_pos_pts; | |||||
| uint64_t seek_pos_dts; | uint64_t seek_pos_dts; | ||||
| uint64_t pts; | uint64_t pts; | ||||
| } anim_index_entry; | } anim_index_entry; | ||||
| struct anim_index { | struct anim_index { | ||||
| char name[1024]; | char name[1024]; | ||||
| int num_entries; | int num_entries; | ||||
| Show All 12 Lines | typedef struct anim_index_builder { | ||||
| void (*delete_priv_data)(struct anim_index_builder *idx); | void (*delete_priv_data)(struct anim_index_builder *idx); | ||||
| void (*proc_frame)(struct anim_index_builder *idx, | void (*proc_frame)(struct anim_index_builder *idx, | ||||
| unsigned char *buffer, | unsigned char *buffer, | ||||
| int data_size, | int data_size, | ||||
| struct anim_index_entry *entry); | struct anim_index_entry *entry); | ||||
| } anim_index_builder; | } anim_index_builder; | ||||
| anim_index_builder *IMB_index_builder_create(const char *name); | anim_index_builder *IMB_index_builder_create(const char *name); | ||||
| void IMB_index_builder_add_entry( | void IMB_index_builder_add_entry(anim_index_builder *fp, | ||||
| anim_index_builder *fp, int frameno, uint64_t seek_pos, uint64_t seek_pos_dts, uint64_t pts); | int frameno, | ||||
| uint64_t seek_pos, | |||||
| uint64_t seek_pos_pts, | |||||
| uint64_t seek_pos_dts, | |||||
| uint64_t pts); | |||||
| void IMB_index_builder_proc_frame(anim_index_builder *fp, | void IMB_index_builder_proc_frame(anim_index_builder *fp, | ||||
| unsigned char *buffer, | unsigned char *buffer, | ||||
| int data_size, | int data_size, | ||||
| int frameno, | int frameno, | ||||
| uint64_t seek_pos, | uint64_t seek_pos, | ||||
| uint64_t seek_pos_pts, | |||||
| uint64_t seek_pos_dts, | uint64_t seek_pos_dts, | ||||
| uint64_t pts); | uint64_t pts); | ||||
| void IMB_index_builder_finish(anim_index_builder *fp, int rollback); | void IMB_index_builder_finish(anim_index_builder *fp, int rollback); | ||||
| struct anim_index *IMB_indexer_open(const char *name); | struct anim_index *IMB_indexer_open(const char *name); | ||||
| uint64_t IMB_indexer_get_seek_pos(struct anim_index *idx, int frame_index); | uint64_t IMB_indexer_get_seek_pos(struct anim_index *idx, int frame_index); | ||||
| uint64_t IMB_indexer_get_seek_pos_pts(struct anim_index *idx, int frame_index); | |||||
| uint64_t IMB_indexer_get_seek_pos_dts(struct anim_index *idx, int frame_index); | uint64_t IMB_indexer_get_seek_pos_dts(struct anim_index *idx, int frame_index); | ||||
| int IMB_indexer_get_frame_index(struct anim_index *idx, int frameno); | int IMB_indexer_get_frame_index(struct anim_index *idx, int frameno); | ||||
| uint64_t IMB_indexer_get_pts(struct anim_index *idx, int frame_index); | uint64_t IMB_indexer_get_pts(struct anim_index *idx, int frame_index); | ||||
| int IMB_indexer_get_duration(struct anim_index *idx); | int IMB_indexer_get_duration(struct anim_index *idx); | ||||
| int IMB_indexer_can_scan(struct anim_index *idx, int old_frame_index, int new_frame_index); | int IMB_indexer_can_scan(struct anim_index *idx, int old_frame_index, int new_frame_index); | ||||
| Show All 9 Lines | |||||