Blender V4.3
IMB_indexer.hh File Reference
#include "IMB_anim.hh"
#include <stdio.h>
#include <stdlib.h>

Go to the source code of this file.

Classes

struct  anim_index_entry
 
struct  ImBufAnimIndex
 
struct  anim_index_builder
 

Functions

anim_index_builderIMB_index_builder_create (const char *filepath)
 
void IMB_index_builder_add_entry (anim_index_builder *fp, 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, unsigned char *buffer, int data_size, int frameno, uint64_t seek_pos, uint64_t seek_pos_pts, uint64_t seek_pos_dts, uint64_t pts)
 
void IMB_index_builder_finish (anim_index_builder *fp, int rollback)
 
ImBufAnimIndexIMB_indexer_open (const char *name)
 
uint64_t IMB_indexer_get_seek_pos (ImBufAnimIndex *idx, int frame_index)
 
uint64_t IMB_indexer_get_seek_pos_pts (ImBufAnimIndex *idx, int frame_index)
 
uint64_t IMB_indexer_get_seek_pos_dts (ImBufAnimIndex *idx, int frame_index)
 
int IMB_indexer_get_frame_index (ImBufAnimIndex *idx, int frameno)
 
uint64_t IMB_indexer_get_pts (ImBufAnimIndex *idx, int frame_index)
 
int IMB_indexer_get_duration (ImBufAnimIndex *idx)
 
int IMB_indexer_can_scan (ImBufAnimIndex *idx, int old_frame_index, int new_frame_index)
 
void IMB_indexer_close (ImBufAnimIndex *idx)
 
void IMB_free_indices (ImBufAnim *anim)
 
ImBufAnimIMB_anim_open_proxy (ImBufAnim *anim, IMB_Proxy_Size preview_size)
 
ImBufAnimIndexIMB_anim_open_index (ImBufAnim *anim, IMB_Timecode_Type tc)
 
int IMB_proxy_size_to_array_index (IMB_Proxy_Size pr_size)
 
int IMB_timecode_to_array_index (IMB_Timecode_Type tc)
 

Function Documentation

◆ IMB_anim_open_index()

◆ IMB_anim_open_proxy()

◆ IMB_free_indices()

◆ IMB_index_builder_add_entry()

void IMB_index_builder_add_entry ( anim_index_builder * fp,
int frameno,
uint64_t seek_pos,
uint64_t seek_pos_pts,
uint64_t seek_pos_dts,
uint64_t pts )

Definition at line 91 of file indexer.cc.

References anim_index_builder::fp.

Referenced by IMB_index_builder_proc_frame().

◆ IMB_index_builder_create()

◆ IMB_index_builder_finish()

◆ IMB_index_builder_proc_frame()

void IMB_index_builder_proc_frame ( anim_index_builder * fp,
unsigned char * buffer,
int data_size,
int frameno,
uint64_t seek_pos,
uint64_t seek_pos_pts,
uint64_t seek_pos_dts,
uint64_t pts )

Definition at line 105 of file indexer.cc.

References e, IMB_index_builder_add_entry(), and anim_index_builder::proc_frame.

◆ IMB_indexer_can_scan()

int IMB_indexer_can_scan ( ImBufAnimIndex * idx,
int old_frame_index,
int new_frame_index )

Definition at line 315 of file indexer.cc.

References IMB_indexer_get_seek_pos().

◆ IMB_indexer_close()

void IMB_indexer_close ( ImBufAnimIndex * idx)

Definition at line 324 of file indexer.cc.

References ImBufAnimIndex::entries, and MEM_freeN().

Referenced by IMB_free_indices().

◆ IMB_indexer_get_duration()

int IMB_indexer_get_duration ( ImBufAnimIndex * idx)

◆ IMB_indexer_get_frame_index()

int IMB_indexer_get_frame_index ( ImBufAnimIndex * idx,
int frameno )

◆ IMB_indexer_get_pts()

uint64_t IMB_indexer_get_pts ( ImBufAnimIndex * idx,
int frame_index )

◆ IMB_indexer_get_seek_pos()

uint64_t IMB_indexer_get_seek_pos ( ImBufAnimIndex * idx,
int frame_index )

◆ IMB_indexer_get_seek_pos_dts()

uint64_t IMB_indexer_get_seek_pos_dts ( ImBufAnimIndex * idx,
int frame_index )

◆ IMB_indexer_get_seek_pos_pts()

uint64_t IMB_indexer_get_seek_pos_pts ( ImBufAnimIndex * idx,
int frame_index )

◆ IMB_indexer_open()

◆ IMB_proxy_size_to_array_index()

int IMB_proxy_size_to_array_index ( IMB_Proxy_Size pr_size)

◆ IMB_timecode_to_array_index()

int IMB_timecode_to_array_index ( IMB_Timecode_Type tc)

Definition at line 349 of file indexer.cc.

References BLI_assert_msg, IMB_TC_NONE, IMB_TC_RECORD_RUN, and IMB_TC_RECORD_RUN_NO_GAPS.

Referenced by get_tc_filepath().