mbuffer.c File Reference

Frame buffer functions. More...

#include <limits.h>
#include "global.h"
#include "mbuffer.h"
#include "memalloc.h"
#include "output.h"
#include "image.h"
#include "header.h"
#include "erc_api.h"

Include dependency graph for mbuffer.c:

Go to the source code of this file.

Defines

#define MAX_LIST_SIZE   33

Functions

static void insert_picture_in_dpb (FrameStore *fs, StorablePicture *p)
static void output_one_frame_from_dpb (void)
static int is_used_for_reference (FrameStore *fs)
static void get_smallest_poc (int *poc, int *pos)
static int remove_unused_frame_from_dpb (void)
static int is_short_term_reference (FrameStore *fs)
static int is_long_term_reference (FrameStore *fs)
void gen_field_ref_ids (StorablePicture *p)
void dump_dpb (void)
int getDpbSize (void)
void check_num_ref (void)
void init_dpb (void)
void free_dpb (void)
FrameStore * alloc_frame_store (void)
void alloc_pic_motion (PicMotionParams *motion, int size_y, int size_x)
StorablePicture * alloc_storable_picture (PictureStructure structure, int size_x, int size_y, int size_x_cr, int size_y_cr)
void free_frame_store (FrameStore *f)
void free_pic_motion (PicMotionParams *motion)
void free_storable_picture (StorablePicture *p)
static void unmark_for_reference (FrameStore *fs)
static void unmark_for_long_term_reference (FrameStore *fs)
static int compare_pic_by_pic_num_desc (const void *arg1, const void *arg2)
static int compare_pic_by_lt_pic_num_asc (const void *arg1, const void *arg2)
static int compare_fs_by_frame_num_desc (const void *arg1, const void *arg2)
static int compare_fs_by_lt_pic_idx_asc (const void *arg1, const void *arg2)
static int compare_pic_by_poc_asc (const void *arg1, const void *arg2)
static int compare_pic_by_poc_desc (const void *arg1, const void *arg2)
static int compare_fs_by_poc_asc (const void *arg1, const void *arg2)
static int compare_fs_by_poc_desc (const void *arg1, const void *arg2)
int is_short_ref (StorablePicture *s)
int is_long_ref (StorablePicture *s)
static void gen_pic_list_from_frame_list (PictureStructure currStrcture, FrameStore **fs_list, int list_idx, StorablePicture **list, int *list_size, int long_term)
void init_lists (int currSliceType, PictureStructure currPicStructure)
void init_mbaff_lists (void)
static StorablePicture * get_short_term_pic (int picNum)
static StorablePicture * get_long_term_pic (int LongtermPicNum)
static void reorder_short_term (StorablePicture **RefPicListX, int num_ref_idx_lX_active_minus1, int picNumLX, int *refIdxLX)
static void reorder_long_term (StorablePicture **RefPicListX, int num_ref_idx_lX_active_minus1, int LongTermPicNum, int *refIdxLX)
void reorder_ref_pic_list (StorablePicture **list, int *list_size, int num_ref_idx_lX_active_minus1, int *reordering_of_pic_nums_idc, int *abs_diff_pic_num_minus1, int *long_term_pic_idx)
void update_ref_list (void)
void update_ltref_list (void)
static void idr_memory_management (StorablePicture *p)
static void sliding_window_memory_management (StorablePicture *p)
static int get_pic_num_x (StorablePicture *p, int difference_of_pic_nums_minus1)
static void mm_unmark_short_term_for_reference (StorablePicture *p, int difference_of_pic_nums_minus1)
static void mm_unmark_long_term_for_reference (StorablePicture *p, int long_term_pic_num)
static void unmark_long_term_frame_for_reference_by_frame_idx (int long_term_frame_idx)
static void unmark_long_term_field_for_reference_by_frame_idx (PictureStructure structure, int long_term_frame_idx, int mark_current, unsigned curr_frame_num, int curr_pic_num)
static void mark_pic_long_term (StorablePicture *p, int long_term_frame_idx, int picNumX)
static void mm_assign_long_term_frame_idx (StorablePicture *p, int difference_of_pic_nums_minus1, int long_term_frame_idx)
void mm_update_max_long_term_frame_idx (int max_long_term_frame_idx_plus1)
static void mm_unmark_all_long_term_for_reference (void)
static void mm_unmark_all_short_term_for_reference (void)
static void mm_mark_current_picture_long_term (StorablePicture *p, int long_term_frame_idx)
static void adaptive_memory_management (StorablePicture *p)
void store_picture_in_dpb (StorablePicture *p)
static void remove_frame_from_dpb (int pos)
void flush_dpb (void)
void dpb_split_field (FrameStore *fs)
void dpb_combine_field_yuv (FrameStore *fs)
void dpb_combine_field (FrameStore *fs)
void alloc_ref_pic_list_reordering_buffer (Slice *currSlice)
void free_ref_pic_list_reordering_buffer (Slice *currSlice)
void fill_frame_num_gap (ImageParameters *img)
void alloc_motion_params (MotionParams *ftype, int size_y, int size_x)
ColocatedParams * alloc_colocated (int size_x, int size_y, int mb_adaptive_frame_field_flag)
void free_colocated (ColocatedParams *p)
void compute_colocated (ColocatedParams *p, StorablePicture **listX[6])
void compute_colocated_JV (ColocatedParams *p, StorablePicture **listX[6])
void copy_storable_param_JV (PicMotionParams *JVplane, PicMotionParams *motion)

Variables

DecodedPictureBuffer dpb
StorablePicture ** listX [6]
StorablePicture * no_reference_picture
ColocatedParams * Co_located = NULL
ColocatedParams * Co_located_JV [MAX_PLANE] = { NULL, NULL, NULL }
StorablePicture * dec_picture
int listXsize [6]


Detailed Description

Frame buffer functions.

mbuffer.c

Author:
Main contributors (see contributors.h for copyright, address and affiliation details)

Definition in file mbuffer.c.


Function Documentation

static void adaptive_memory_management ( StorablePicture *  p  )  [static]

ColocatedParams* alloc_colocated ( int  size_x,
int  size_y,
int  mb_adaptive_frame_field_flag 
)

Allocate co-located memory.

Parameters:
size_x horizontal luma size
size_y vertical luma size
mb_adaptive_frame_field_flag flag that indicates macroblock adaptive frame/field coding
Returns:
the allocated StorablePicture structure

Definition at line 3405 of file mbuffer.c.

References alloc_motion_params(), colocated_params::bottom, colocated_params::frame, colocated_params::mb_adaptive_frame_field_flag, no_mem_exit(), colocated_params::size_x, colocated_params::size_y, and colocated_params::top.

Here is the call graph for this function:

FrameStore* alloc_frame_store ( void   ) 

Allocate memory for decoded picture buffer frame stores an initialize with sane values.

Returns:
the allocated FrameStore structure

Definition at line 343 of file mbuffer.c.

References frame_store::bottom_field, frame_store::frame, frame_store::is_long_term, frame_store::is_orig_reference, frame_store::is_output, frame_store::is_reference, frame_store::is_used, no_mem_exit(), and frame_store::top_field.

Referenced by idr_memory_management(), init_dpb(), and init_out_buffer().

Here is the call graph for this function:

void alloc_motion_params ( MotionParams *  ftype,
int  size_y,
int  size_x 
)

Allocate motion parameter memory for colocated structure.

Definition at line 3381 of file mbuffer.c.

References get_mem2D(), get_mem3D(), get_mem3Dint64(), get_mem4Dshort(), motion_params::moving_block, motion_params::mv, motion_params::ref_idx, and motion_params::ref_pic_id.

Referenced by alloc_colocated().

Here is the call graph for this function:

void alloc_ref_pic_list_reordering_buffer ( Slice *  currSlice  ) 

Allocate memory for buffering of reference picture reordering commands.

Definition at line 3249 of file mbuffer.c.

References Slice::abs_diff_pic_num_minus1_l0, Slice::abs_diff_pic_num_minus1_l1, img, Slice::long_term_pic_idx_l0, Slice::long_term_pic_idx_l1, no_mem_exit(), Slice::reordering_of_pic_nums_idc_l0, and Slice::reordering_of_pic_nums_idc_l1.

Referenced by ref_pic_list_reordering().

Here is the call graph for this function:

StorablePicture* alloc_storable_picture ( PictureStructure  structure,
int  size_x,
int  size_y,
int  size_x_cr,
int  size_y_cr 
)

Allocate memory for a stored picture.

Parameters:
structure picture structure
size_x horizontal luma size
size_y vertical luma size
size_x_cr horizontal chroma size
size_y_cr vertical chroma size
Returns:
the allocated StorablePicture structure

Definition at line 408 of file mbuffer.c.

References storable_picture::bottom_field, storable_picture::bottom_poc, storable_picture::coded_frame, storable_picture::dec_ref_pic_marking_buffer, storable_picture::frame, storable_picture::frame_num, get_mem2Dpel(), get_mem2Dshort(), get_mem3Dpel(), img, storable_picture::imgUV, storable_picture::imgY, storable_picture::is_long_term, storable_picture::is_output, storable_picture::JVmotion, storable_picture::long_term_frame_idx, storable_picture::long_term_pic_num, storable_picture::max_slice_id, storable_picture::MbaffFrameFlag, storable_picture::motion, no_mem_exit(), storable_picture::non_existing, storable_picture::pic_num, storable_picture::PicSizeInMbs, storable_picture::poc, storable_picture::seiHasTone_mapping, storable_picture::size_x, storable_picture::size_x_cr, storable_picture::size_x_cr_m1, storable_picture::size_x_m1, storable_picture::size_y, storable_picture::size_y_cr, storable_picture::size_y_cr_m1, storable_picture::size_y_m1, storable_picture::slice_id, storable_picture::structure, storable_picture::top_field, storable_picture::top_poc, storable_picture::used_for_reference, and YUV400.

Referenced by conceal_lost_frames(), conceal_non_ref_pics(), dpb_combine_field_yuv(), dpb_split_field(), fill_frame_num_gap(), init_dpb(), init_picture(), write_lost_ref_after_idr(), and write_unpaired_field().

Here is the call graph for this function:

void check_num_ref ( void   ) 

Check then number of frames marked "used for reference" and break if maximum is exceeded.

Definition at line 197 of file mbuffer.c.

References error(), decoded_picture_buffer::ltref_frames_in_buffer, decoded_picture_buffer::num_ref_frames, and decoded_picture_buffer::ref_frames_in_buffer.

Referenced by adaptive_memory_management(), and store_picture_in_dpb().

Here is the call graph for this function:

static int compare_fs_by_frame_num_desc ( const void *  arg1,
const void *  arg2 
) [static]

compares two frame stores by pic_num for qsort in descending order

Definition at line 741 of file mbuffer.c.

Referenced by init_lists().

static int compare_fs_by_lt_pic_idx_asc ( const void *  arg1,
const void *  arg2 
) [static]

compares two frame stores by lt_pic_num for qsort in descending order

Definition at line 759 of file mbuffer.c.

Referenced by init_lists().

static int compare_fs_by_poc_asc ( const void *  arg1,
const void *  arg2 
) [static]

compares two frame stores by poc for qsort in ascending order

Definition at line 814 of file mbuffer.c.

Referenced by init_lists().

static int compare_fs_by_poc_desc ( const void *  arg1,
const void *  arg2 
) [static]

compares two frame stores by poc for qsort in descending order

Definition at line 833 of file mbuffer.c.

Referenced by init_lists().

static int compare_pic_by_lt_pic_num_asc ( const void *  arg1,
const void *  arg2 
) [static]

compares two stored pictures by picture number for qsort in descending order

Definition at line 724 of file mbuffer.c.

static int compare_pic_by_pic_num_desc ( const void *  arg1,
const void *  arg2 
) [static]

compares two stored pictures by picture number for qsort in descending order

Definition at line 707 of file mbuffer.c.

static int compare_pic_by_poc_asc ( const void *  arg1,
const void *  arg2 
) [static]

compares two stored pictures by poc for qsort in ascending order

Definition at line 777 of file mbuffer.c.

static int compare_pic_by_poc_desc ( const void *  arg1,
const void *  arg2 
) [static]

compares two stored pictures by poc for qsort in descending order

Definition at line 796 of file mbuffer.c.

void compute_colocated ( ColocatedParams *  p,
StorablePicture **  listX[6] 
)

void compute_colocated_JV ( ColocatedParams *  p,
StorablePicture **  listX[6] 
)

Compute co-located motion info for 4:4:4 Independent mode.

Assign frame buffers for field MBs Check whether we should use top or bottom field mvs. Depending on the assigned poc values.

Generate field MVs from Frame MVs

Do nothing if macroblock as field coded in MB-AFF

Use inference flag to remap mvs/references Frame with field co-located

Use inference flag to remap mvs/references

Definition at line 3923 of file mbuffer.c.

References colocated_params::bottom, storable_picture::bottom_field, storable_picture::bottom_poc, storable_picture::coded_frame, pic_motion_params::field_frame, colocated_params::frame, img, storable_picture::is_long_term, colocated_params::is_long_term, storable_picture::JVmotion, storable_picture::motion, motion_params::moving_block, pic_motion_params::mv, motion_params::mv, storable_picture::poc, pic_motion_params::ref_id, pic_motion_params::ref_idx, motion_params::ref_idx, motion_params::ref_pic_id, storable_picture::size_x, storable_picture::size_y, storable_picture::structure, colocated_params::top, storable_picture::top_field, and storable_picture::top_poc.

Referenced by decode_one_slice().

void dpb_combine_field ( FrameStore *  fs  ) 

Generate a frame from top and bottom fields.

Use inference flag to remap mvs/references

Generate Frame parameters from field information.

association with id already known for fields.

need to make association with frames

need to make association with frames

Definition at line 3174 of file mbuffer.c.

References frame_store::bottom_field, dpb_combine_field_yuv(), pic_motion_params::field_frame, frame_store::frame, storable_picture::frm_ref_pic_num, storable_picture::max_slice_id, storable_picture::motion, pic_motion_params::mv, pic_motion_params::ref_id, pic_motion_params::ref_idx, storable_picture::ref_pic_num, storable_picture::size_x, storable_picture::size_y, storable_picture::slice_id, and frame_store::top_field.

Referenced by insert_picture_in_dpb().

Here is the call graph for this function:

void dpb_combine_field_yuv ( FrameStore *  fs  ) 

void dpb_split_field ( FrameStore *  fs  ) 

void dump_dpb ( void   ) 

void fill_frame_num_gap ( ImageParameters *  img  ) 

void flush_dpb ( void   ) 

All stored picture are output. Should be called to empty the buffer.

Definition at line 2814 of file mbuffer.c.

References conceal_non_ref_pics(), decoded_picture_buffer::fs, img, decoded_picture_buffer::last_output_poc, output_one_frame_from_dpb(), remove_unused_frame_from_dpb(), unmark_for_reference(), and decoded_picture_buffer::used_size.

Referenced by adaptive_memory_management(), conceal_lost_frames(), error(), idr_memory_management(), and main().

Here is the call graph for this function:

void free_colocated ( ColocatedParams *  p  ) 

void free_dpb ( void   ) 

void free_frame_store ( FrameStore *  f  ) 

Free frame store memory.

Parameters:
f FrameStore to be freed

Definition at line 490 of file mbuffer.c.

References frame_store::bottom_field, frame_store::frame, free_storable_picture(), and frame_store::top_field.

Referenced by free_dpb(), idr_memory_management(), and uninit_out_buffer().

Here is the call graph for this function:

void free_ref_pic_list_reordering_buffer ( Slice *  currSlice  ) 

void free_storable_picture ( StorablePicture *  p  ) 

void gen_field_ref_ids ( StorablePicture *  p  ) 

Generate Frame parameters from field information.

association with id already known for fields.

Definition at line 2843 of file mbuffer.c.

References pic_motion_params::field_frame, storable_picture::motion, pic_motion_params::ref_id, pic_motion_params::ref_idx, storable_picture::ref_pic_num, storable_picture::size_x, storable_picture::size_y, and storable_picture::slice_id.

Referenced by insert_picture_in_dpb().

static void gen_pic_list_from_frame_list ( PictureStructure  currStrcture,
FrameStore **  fs_list,
int  list_idx,
StorablePicture **  list,
int *  list_size,
int  long_term 
) [static]

Generates a alternating field list from a given FrameStore list.

Definition at line 877 of file mbuffer.c.

References frame_store::bottom_field, is_long_ref(), is_short_ref(), and frame_store::top_field.

Referenced by init_lists().

Here is the call graph for this function:

static StorablePicture* get_long_term_pic ( int  LongtermPicNum  )  [static]

static int get_pic_num_x ( StorablePicture *  p,
int  difference_of_pic_nums_minus1 
) [static]

Calculate picNumX.

Definition at line 1703 of file mbuffer.c.

References storable_picture::frame_num, and storable_picture::structure.

Referenced by mm_assign_long_term_frame_idx(), and mm_unmark_short_term_for_reference().

static StorablePicture* get_short_term_pic ( int  picNum  )  [static]

static void get_smallest_poc ( int *  poc,
int *  pos 
) [static]

find smallest POC in the DPB.

Definition at line 2709 of file mbuffer.c.

References error(), decoded_picture_buffer::fs, frame_store::is_output, frame_store::poc, and decoded_picture_buffer::used_size.

Referenced by output_one_frame_from_dpb(), and store_picture_in_dpb().

Here is the call graph for this function:

int getDpbSize ( void   ) 

Returns the size of the dpb depending on level and picture size.

Definition at line 110 of file mbuffer.c.

References error().

Referenced by init_dpb().

Here is the call graph for this function:

static void idr_memory_management ( StorablePicture *  p  )  [static]

void init_dpb ( void   ) 

void init_lists ( int  currSliceType,
PictureStructure  currPicStructure 
)

void init_mbaff_lists ( void   ) 

Initialize listX[2..5] from lists 0 and 1 listX[2]: list0 for current_field==top listX[3]: list1 for current_field==top listX[4]: list0 for current_field==bottom listX[5]: list1 for current_field==bottom.

Definition at line 1333 of file mbuffer.c.

References storable_picture::bottom_field, and storable_picture::top_field.

Referenced by read_new_slice().

static void insert_picture_in_dpb ( FrameStore *  fs,
StorablePicture *  p 
) [static]

int is_long_ref ( StorablePicture *  s  ) 

returns true, if picture is long term reference picture

Definition at line 864 of file mbuffer.c.

References storable_picture::is_long_term, and storable_picture::used_for_reference.

Referenced by gen_pic_list_from_frame_list().

static int is_long_term_reference ( FrameStore *  fs  )  [static]

Check if one of the frames/fields in frame store is used for short-term reference.

Definition at line 2615 of file mbuffer.c.

References frame_store::bottom_field, frame_store::frame, storable_picture::is_long_term, frame_store::is_used, frame_store::top_field, and storable_picture::used_for_reference.

Referenced by update_ltref_list().

int is_short_ref ( StorablePicture *  s  ) 

returns true, if picture is short term reference picture

Definition at line 851 of file mbuffer.c.

References storable_picture::is_long_term, and storable_picture::used_for_reference.

Referenced by gen_pic_list_from_frame_list().

static int is_short_term_reference ( FrameStore *  fs  )  [static]

Check if one of the frames/fields in frame store is used for short-term reference.

Definition at line 2573 of file mbuffer.c.

References frame_store::bottom_field, frame_store::frame, storable_picture::is_long_term, frame_store::is_used, frame_store::top_field, and storable_picture::used_for_reference.

Referenced by update_ref_list().

static int is_used_for_reference ( FrameStore *  fs  )  [static]

static void mark_pic_long_term ( StorablePicture *  p,
int  long_term_frame_idx,
int  picNumX 
) [static]

static void mm_assign_long_term_frame_idx ( StorablePicture *  p,
int  difference_of_pic_nums_minus1,
int  long_term_frame_idx 
) [static]

static void mm_mark_current_picture_long_term ( StorablePicture *  p,
int  long_term_frame_idx 
) [static]

static void mm_unmark_all_long_term_for_reference ( void   )  [static]

Mark all long term reference pictures unused for reference.

Definition at line 2135 of file mbuffer.c.

References mm_update_max_long_term_frame_idx().

Referenced by adaptive_memory_management().

Here is the call graph for this function:

static void mm_unmark_all_short_term_for_reference ( void   )  [static]

Mark all short term reference pictures unused for reference.

Definition at line 2146 of file mbuffer.c.

References decoded_picture_buffer::fs_ref, decoded_picture_buffer::ref_frames_in_buffer, unmark_for_reference(), and update_ref_list().

Referenced by adaptive_memory_management().

Here is the call graph for this function:

static void mm_unmark_long_term_for_reference ( StorablePicture *  p,
int  long_term_pic_num 
) [static]

static void mm_unmark_short_term_for_reference ( StorablePicture *  p,
int  difference_of_pic_nums_minus1 
) [static]

void mm_update_max_long_term_frame_idx ( int  max_long_term_frame_idx_plus1  ) 

static void output_one_frame_from_dpb ( void   )  [static]

static void remove_frame_from_dpb ( int  pos  )  [static]

static int remove_unused_frame_from_dpb ( void   )  [static]

Remove a picture from DPB which is no longer needed.

Definition at line 2736 of file mbuffer.c.

References decoded_picture_buffer::fs, frame_store::is_output, is_used_for_reference(), remove_frame_from_dpb(), and decoded_picture_buffer::used_size.

Referenced by flush_dpb(), and store_picture_in_dpb().

Here is the call graph for this function:

static void reorder_long_term ( StorablePicture **  RefPicListX,
int  num_ref_idx_lX_active_minus1,
int  LongTermPicNum,
int *  refIdxLX 
) [static]

Reordering process for short-term reference pictures.

Definition at line 1468 of file mbuffer.c.

References get_long_term_pic().

Referenced by reorder_ref_pic_list().

Here is the call graph for this function:

void reorder_ref_pic_list ( StorablePicture **  list,
int *  list_size,
int  num_ref_idx_lX_active_minus1,
int *  reordering_of_pic_nums_idc,
int *  abs_diff_pic_num_minus1,
int *  long_term_pic_idx 
)

Reordering process for reference picture lists.

Definition at line 1497 of file mbuffer.c.

References error(), img, reorder_long_term(), and reorder_short_term().

Here is the call graph for this function:

static void reorder_short_term ( StorablePicture **  RefPicListX,
int  num_ref_idx_lX_active_minus1,
int  picNumLX,
int *  refIdxLX 
) [static]

Reordering process for short-term reference pictures.

Definition at line 1438 of file mbuffer.c.

References get_short_term_pic().

Referenced by reorder_ref_pic_list().

Here is the call graph for this function:

static void sliding_window_memory_management ( StorablePicture *  p  )  [static]

void store_picture_in_dpb ( StorablePicture *  p  ) 

static void unmark_for_long_term_reference ( FrameStore *  fs  )  [static]

static void unmark_for_reference ( FrameStore *  fs  )  [static]

static void unmark_long_term_field_for_reference_by_frame_idx ( PictureStructure  structure,
int  long_term_frame_idx,
int  mark_current,
unsigned  curr_frame_num,
int  curr_pic_num 
) [static]

Mark a long-term reference field unused for reference only if it's not the complementary field of the picture indicated by picNumX.

Definition at line 1859 of file mbuffer.c.

References frame_store::frame_num, decoded_picture_buffer::fs_ltref, img, frame_store::is_long_term, decoded_picture_buffer::last_picture, frame_store::long_term_frame_idx, decoded_picture_buffer::ltref_frames_in_buffer, and unmark_for_long_term_reference().

Referenced by mm_assign_long_term_frame_idx(), and mm_mark_current_picture_long_term().

Here is the call graph for this function:

static void unmark_long_term_frame_for_reference_by_frame_idx ( int  long_term_frame_idx  )  [static]

Mark a long-term reference frame or complementary field pair unused for referemce.

Definition at line 1842 of file mbuffer.c.

References decoded_picture_buffer::fs_ltref, frame_store::long_term_frame_idx, decoded_picture_buffer::ltref_frames_in_buffer, and unmark_for_long_term_reference().

Referenced by mm_assign_long_term_frame_idx(), and mm_mark_current_picture_long_term().

Here is the call graph for this function:

void update_ltref_list ( void   ) 

Update the list of frame stores that contain long-term reference frames/fields.

Definition at line 1594 of file mbuffer.c.

References decoded_picture_buffer::fs, decoded_picture_buffer::fs_ltref, is_long_term_reference(), decoded_picture_buffer::ltref_frames_in_buffer, decoded_picture_buffer::size, and decoded_picture_buffer::used_size.

Referenced by adaptive_memory_management(), idr_memory_management(), and store_picture_in_dpb().

Here is the call graph for this function:

void update_ref_list ( void   ) 


Variable Documentation

ColocatedParams* Co_located_JV[MAX_PLANE] = { NULL, NULL, NULL }

Co_located to be used during 4:4:4 independent mode decoding.

Definition at line 50 of file mbuffer.c.

dummy storable picture for recovery point

Definition at line 47 of file mbuffer.c.


Documentation generated with DoxyGen