Blender  V3.3
Classes | Typedefs | Functions
IMB_indexer.h File Reference
#include "IMB_anim.h"
#include <stdio.h>
#include <stdlib.h>

Go to the source code of this file.

Classes

struct  anim_index_entry
 
struct  anim_index
 
struct  anim_index_builder
 

Typedefs

typedef struct anim_index_entry anim_index_entry
 
typedef struct anim_index_builder anim_index_builder
 

Functions

anim_index_builderIMB_index_builder_create (const char *name)
 
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)
 
struct anim_indexIMB_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_pts (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)
 
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_can_scan (struct anim_index *idx, int old_frame_index, int new_frame_index)
 
void IMB_indexer_close (struct anim_index *idx)
 
void IMB_free_indices (struct anim *anim)
 
struct animIMB_anim_open_proxy (struct anim *anim, IMB_Proxy_Size preview_size)
 
struct anim_indexIMB_anim_open_index (struct anim *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)
 

Typedef Documentation

◆ anim_index_builder

◆ anim_index_entry

Function Documentation

◆ IMB_anim_open_index()

struct anim_index* IMB_anim_open_index ( struct anim anim,
IMB_Timecode_Type  tc 
)

◆ IMB_anim_open_proxy()

struct anim* IMB_anim_open_proxy ( struct anim anim,
IMB_Proxy_Size  preview_size 
)

◆ IMB_free_indices()

void IMB_free_indices ( struct anim anim)

◆ 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 95 of file indexer.c.

References anim_index_builder::fp.

Referenced by IMB_index_builder_proc_frame().

◆ IMB_index_builder_create()

anim_index_builder* IMB_index_builder_create ( const char *  name)

◆ IMB_index_builder_finish()

void IMB_index_builder_finish ( anim_index_builder fp,
int  rollback 
)

◆ 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 109 of file indexer.c.

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

◆ IMB_indexer_can_scan()

int IMB_indexer_can_scan ( struct anim_index idx,
int  old_frame_index,
int  new_frame_index 
)

Definition at line 319 of file indexer.c.

References IMB_indexer_get_seek_pos().

◆ IMB_indexer_close()

void IMB_indexer_close ( struct anim_index idx)

Definition at line 328 of file indexer.c.

References anim_index::entries, and MEM_freeN.

Referenced by IMB_free_indices().

◆ IMB_indexer_get_duration()

int IMB_indexer_get_duration ( struct anim_index idx)

Definition at line 311 of file indexer.c.

References anim_index::entries, anim_index_entry::frameno, and anim_index::num_entries.

Referenced by IMB_anim_get_duration().

◆ IMB_indexer_get_frame_index()

int IMB_indexer_get_frame_index ( struct anim_index idx,
int  frameno 
)

◆ IMB_indexer_get_pts()

uint64_t IMB_indexer_get_pts ( struct anim_index idx,
int  frame_index 
)

Definition at line 300 of file indexer.c.

References anim_index::entries, anim_index::num_entries, and anim_index_entry::pts.

◆ IMB_indexer_get_seek_pos()

uint64_t IMB_indexer_get_seek_pos ( struct anim_index idx,
int  frame_index 
)

Definition at line 233 of file indexer.c.

References anim_index::entries, anim_index::num_entries, and anim_index_entry::seek_pos.

Referenced by IMB_indexer_can_scan().

◆ IMB_indexer_get_seek_pos_dts()

uint64_t IMB_indexer_get_seek_pos_dts ( struct anim_index idx,
int  frame_index 
)

◆ IMB_indexer_get_seek_pos_pts()

uint64_t IMB_indexer_get_seek_pos_pts ( struct anim_index idx,
int  frame_index 
)

◆ IMB_indexer_open()

struct anim_index* IMB_indexer_open ( const char *  name)

◆ 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)