📄 fbm_sw.h
字号:
/*
FUNCTION NAME: MV_FBM_disp_expected_picture_at_display_yn
DESCRIPTION:
RETURNS:
CALLING SEQUENCE:
*/
extern int
MV_FBM_freeze_expected_picture_yn(
const FBM_PICTURE *in_picture_ptr,
const MV_FBM_FRAME_STORE in_expected_frame_store,
const MV_PICTURE_CODING_TYPE in_expected_picture_coding_type_1,
const MV_PICTURE_CODING_TYPE in_expected_picture_coding_type_2,
const MV_PICTURE_CODING_TYPE in_expected_picture_coding_type_3,
const BOOLEAN in_next_picture_is_new_frame,
BOOLEAN *ou_expected_picture_at_display_ptr
)
;
/*EMP=======================================================================*/
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_get_free_frame_store
DESCRIPTION:
RETURNS:
CALLING SEQUENCE:
*/
extern int
MV_FBM_get_free_frame_store(
const MV_FBM_FRAME_STORE in_fsA,
const MV_FBM_FRAME_STORE in_fsB,
const MV_FBM_FRAME_STORE in_fsC,
MV_FBM_FRAME_STORE *ou_free_frame_store_ptr
);
/*EMP=======================================================================*/
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_abort_decoding
DESCRIPTION:
RETURNS:
CALLING SEQUENCE:
*/
extern int
MV_FBM_abort_decoding(
BOOLEAN in_switch_to_disp_recov_mode_allowed,
FBM_STATUS *in_fbm_status_ptr
);
/*EMP=======================================================================*/
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_set_user_decoding_ctx
DESCRIPTION:
RETURNS:
CALLING SEQUENCE:
*/
extern int
MV_FBM_set_user_decoding_ctx(
FBM_STATUS *in_fbm_status_ptr
);
/*EMP=======================================================================*/
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_cleanup_and_restart_on_I
DESCRIPTION: Abort decoding, free all the buffers and restart on I picture
RETURNS:
MV_FBM_OK
MV_FBM_NOT_OK
CALLING SEQUENCE:
*/
extern int
MV_FBM_cleanup_and_restart_on_I(
FBM_PARAM *io_fbm_status_ptr
);
/*EMP=======================================================================*/
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_restart_on_I_after_channel_change
DESCRIPTION:
RETURNS:
MV_FBM_OK
MV_FBM_NOT_OK
CALLING SEQUENCE:
*/
extern int
MV_FBM_restart_on_I_after_channel_change(
FBM_PARAM *p
);
/*EMP=======================================================================*/
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_launch_decoding
PACKAGE: FBM driver
LAYER: FBM_2
SCOPE: PACKAGE
DESCRIPTION:
This routine copies the 'next' decoding context into the 'cur' decoding context. Then it launches
the decoding of the picture based on the decoding context information.
next_picture 'info_valid' attribute is then set to false.
*INPUT PARAMETERS:
FBM status structure:
next_picture |
next_past_picture | Decoding context
next_future_picture |
*OUTPUT PARAMETERS:
next_picture.info_valid
cur_picture |
cur_past_picture | Current decoding context
cur_future_picture |
RETURNS:
MV_FBM_OK
CALLING SEQUENCE:
*/
extern int
MV_FBM_launch_decoding(
FBM_STATUS *in_fbm_status_ptr,
FBM_LAUNCH_DECODING_enum in_launch_decoding_mode
);
/*EMP=======================================================================*/
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_play_display_algo
PACKAGE: FBM driver
LAYER: FBM_2
SCOPE: PACKAGE
DESCRIPTION:
*INPUT PARAMETERS:
*OUTPUT PARAMETERS:
RETURNS:
MV_FBM_OK
CALLING SEQUENCE:
*/
extern int
MV_FBM_play_display_algo(
const BOOLEAN in_decoding_launched,
const FBM_PICTURE *in_cur_picture_ptr,
const FBM_PICTURE *in_cur_future_picture_ptr,
const FBM_PICTURE *in_cur_past_picture_ptr,
const FBM_PICTURE *in_cur_displayed_picture_ptr,
FBM_PICTURE *io_next_displayed_picture_ptr,
FBM_PICTURE *io_next_recov_picture_ptr,
BOOLEAN *ou_recov_mode_ptr,
UCHAR *io_field_top_still_to_display_cnt_ptr,
UCHAR *io_field_bot_still_to_display_cnt_ptr,
MV_DEC_STEP_MODE in_step_mode,
const BOOLEAN in_dec_to_disp_N1,
BOOLEAN *io_prepare_2vs_frozen_ptr,
BOOLEAN *io_next_B_picture_frozen_2vs_ptr
);
/*EMP=======================================================================*/
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_freeze_display_algo
PACKAGE: FBM driver
LAYER: FBM_2
SCOPE: PACKAGE
DESCRIPTION:
*INPUT PARAMETERS:
*OUTPUT PARAMETERS:
RETURNS:
MV_FBM_OK
CALLING SEQUENCE:
*/
extern int
MV_FBM_freeze_display_algo(
const FBM_PICTURE *in_cur_displayed_picture_ptr,
FBM_PICTURE *io_next_displayed_picture_for_freeze_ptr
);
/*EMP=======================================================================*/
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_program_display
PACKAGE: FBM driver
LAYER: FBM_2
SCOPE: PACKAGE
DESCRIPTION:
*INPUT PARAMETERS:
next_displayed_picture |
next_recov_picture | Display context
*OUTPUT PARAMETERS:
RETURNS:
MV_FBM_OK
CALLING SEQUENCE:
*/
extern int
MV_FBM_program_display(
FBM_PICTURE *io_displayed_picture_ptr,
const FBM_PICTURE *in_recov_picture_ptr,
const ULONG *in_frame_store_y_odd_add,
const ULONG *in_frame_store_y_even_add,
const ULONG *in_frame_store_c_odd_add,
const ULONG *in_frame_store_c_even_add,
BOOLEAN * ou_field_top_data_deallocated_after_display_ptr,
BOOLEAN * ou_field_bot_data_deallocated_after_display_ptr
);
/*EMP=======================================================================*/
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_test_bench
PACKAGE: FBM driver
layer: FBM_3
DESCRIPTION: This function is used only for the Unix FBM test bench. In this test bench,
writing a command in the (simulated) registers is not enough to trigger some action in the
functional model of the chip. A Unix message should be sent as well. This is the purpose of
this function.
*INPUT PARAMETERS:
Command to be executed by the MV functional model (= message to be sent to it)
FBM_status (for message queue information)
*OUTPUT PARAMETERS:
NONE
RETURNS:
MV_FBM_OK
Print out error message if sending of message not successful
CALLING SEQUENCE:
*/
extern int
MV_FBM_test_bench(
const FBM_STATUS *in_fbm_status_ptr,
const unsigned long in_msg
);
/*EMP=======================================================================*/
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_synchronize
DESCRIPTION: Program the system controller to make it synchronizing on
the next picture
RETURNS:
MV_FBM_OK
CALLING SEQUENCE:
*/
extern int MV_FBM_synchronize (void);
/*EMP=======================================================================*/
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_show_buffer_status
DESCRIPTION: show the content of the status registers used internally by
FBM hardware to manage the buffers
RETURNS:
MV_FBM_OK
CALLING SEQUENCE:
*/
extern int
MV_FBM_show_buffer_status(
void);
/*EMP=======================================================================*/
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_SCV_is_picture_in_sync
DESCRIPTION: Check if current picture is in sync
( synchronization algorithm implemented in software)
CALLING SEQUENCE:
*/
extern void
MV_SCV_is_picture_in_sync(
BOOLEAN *ou_result_ptr
);
/*EMP=======================================================================*/
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_copy_shc_and_phc_in_still_fifo
PACKAGE: MV_FBM
SCOPE: <PACKAGE, COMPONENT, CLUSTER or SYSTEM>
DESCRIPTION:
CALLING SEQUENCE:
*/
extern void /* Returns: <description> */
MV_FBM_copy_shc_and_phc_in_still_fifo(
void
);
/*EMP=======================================================================*/
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_switch_to_still_fifo
PACKAGE: MV_FBM
SCOPE: <PACKAGE, COMPONENT, CLUSTER or SYSTEM>
DESCRIPTION:
CALLING SEQUENCE:
*/
extern void /* Returns: <description> */
MV_FBM_switch_to_still_fifo(
void
);
/*EMP=======================================================================*/
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_decode_pip_on_eopd();
PACKAGE: MV_FBM
SCOPE: <PACKAGE, COMPONENT, CLUSTER or SYSTEM>
DESCRIPTION:
CALLING SEQUENCE:
*/
extern void /* Returns: <description> */
MV_FBM_decode_pip_on_eopd(
FBM_STATUS* in_fbm_status_ptr
);
/*EMP=======================================================================*/
#ifdef SA_PARITY_MISMATCH
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_foresee_parity_mismatch
DESCRIPTION:
RETURNS:
MV_FBM_OK
CALLING SEQUENCE:
*/
int MV_FBM_foresee_parity_mismatch (
FBM_STATUS *io_fbm_status_ptr
);
/*EMP=======================================================================*/
#endif
/*MPF=======================================================================*/
/*
FUNCTION NAME: MV_FBM_switch_to_mpeg_fifo
PACKAGE: MV_FBM
SCOPE: <PACKAGE, COMPONENT, CLUSTER or SYSTEM>
DESCRIPTION:
CALLING SEQUENCE:
*/
extern void /* Returns: <description> */
MV_FBM_switch_to_mpeg_fifo(
void
);
/*EMP=======================================================================*/
/*EEMP======================================================================*/
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -