diff options
Diffstat (limited to 'encoder/ih264e.h')
-rw-r--r-- | encoder/ih264e.h | 113 |
1 files changed, 40 insertions, 73 deletions
diff --git a/encoder/ih264e.h b/encoder/ih264e.h index bf874eb..65f23b0 100644 --- a/encoder/ih264e.h +++ b/encoder/ih264e.h @@ -17,25 +17,23 @@ ***************************************************************************** * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore */ -/*****************************************************************************/ -/* */ -/* File Name : ih264e.h */ -/* */ -/* Description : This file contains all the necessary structure and */ -/* enumeration definitions needed for the Application */ -/* Program Interface(API) of the Ittiam MPEG4 */ -/* Encoder on Cortex A8 - Neon platform */ -/* */ -/* List of Functions : ih264e_api_function */ -/* */ -/* Issues / Problems : None */ -/* */ -/* Revision History : */ -/* */ -/* DD MM YYYY Author(s) Changes (Describe the changes made) */ -/* 26 08 2010 100239(RCY) Draft */ -/* */ -/*****************************************************************************/ + +/** +****************************************************************************** +* @file +* ih264e.h +* +* @brief +* This file contains all the necessary structure and enumeration definitions +* needed for the Application Program Interface(API) of the Ittiam H264 Encoder +* +* @author +* ittiam +* +* @remarks +* none +****************************************************************************** +*/ #ifndef _IH264E_H_ #define _IH264E_H_ @@ -46,10 +44,17 @@ extern "C" { #include "iv2.h" #include "ive2.h" + +/*****************************************************************************/ +/* Constant Macros */ +/*****************************************************************************/ + + /*****************************************************************************/ -/* API Function Prototype */ +/* Function Declarations */ /*****************************************************************************/ -IV_STATUS_T ih264e_api_function(iv_obj_t *ps_handle, void *pv_api_ip,void *pv_api_op); +IV_STATUS_T ih264e_api_function(iv_obj_t *ps_handle, void *pv_api_ip, + void *pv_api_op); /*****************************************************************************/ /* Enums */ @@ -59,6 +64,14 @@ typedef enum IH264E_CMD_CTL_SET_ME_INFO_ENABLE, }IH264E_CMD_CTL_SUB_CMDS; +/* NOTE: Ensure this enum values are not greater than 8 bits as this is being + * assigned to WORD8 */ +typedef enum +{ + INTRA16x16 = 0, + INTRA4x4, + INTER16x16, +}IV_MB_TYPE_T; /*****************************************************************************/ /* Extended Structures */ @@ -67,31 +80,24 @@ typedef enum /*****************************************************************************/ /* Get Number of Memory Records */ /*****************************************************************************/ - - typedef struct { iv_num_mem_rec_ip_t s_ive_ip; }ih264e_num_mem_rec_ip_t; - typedef struct { iv_num_mem_rec_op_t s_ive_op; }ih264e_num_mem_rec_op_t; - /*****************************************************************************/ /* Fill Memory Records */ /*****************************************************************************/ - - typedef struct { iv_fill_mem_rec_ip_t s_ive_ip; }ih264e_fill_mem_rec_ip_t; - typedef struct { iv_fill_mem_rec_op_t s_ive_op; @@ -100,36 +106,29 @@ typedef struct /*****************************************************************************/ /* Retrieve Memory Records */ /*****************************************************************************/ - - typedef struct { iv_retrieve_mem_rec_ip_t s_ive_ip; }ih264e_retrieve_mem_rec_ip_t; - typedef struct { iv_retrieve_mem_rec_op_t s_ive_op; }ih264e_retrieve_mem_rec_op_t; - /*****************************************************************************/ /* Initialize encoder */ /*****************************************************************************/ - typedef struct { ive_init_ip_t s_ive_ip; }ih264e_init_ip_t; - typedef struct { ive_init_op_t s_ive_op; }ih264e_init_op_t; - /*****************************************************************************/ /* Queue Input raw buffer - Send the YUV buffer to be encoded */ /*****************************************************************************/ @@ -156,7 +155,6 @@ typedef struct ive_dequeue_inp_op_t s_ive_op; }ih264e_dequeue_inp_op_t; - /*****************************************************************************/ /* Queue Output bitstream buffer - Send the bistream buffer to be filled */ /*****************************************************************************/ @@ -183,7 +181,6 @@ typedef struct ive_dequeue_out_op_t s_ive_op; }ih264e_dequeue_out_op_t; - /*****************************************************************************/ /* Get Recon data - Get the reconstructed data from encoder */ /*****************************************************************************/ @@ -196,17 +193,15 @@ typedef struct { ive_get_recon_op_t s_ive_op; }ih264e_get_recon_op_t; + /*****************************************************************************/ /* Video control Flush */ /*****************************************************************************/ - - typedef struct { ive_ctl_flush_ip_t s_ive_ip; }ih264e_ctl_flush_ip_t; - typedef struct { ive_ctl_flush_op_t s_ive_op; @@ -215,68 +210,50 @@ typedef struct /*****************************************************************************/ /* Video control reset */ /*****************************************************************************/ - - typedef struct { ive_ctl_reset_ip_t s_ive_ip; }ih264e_ctl_reset_ip_t; - typedef struct { ive_ctl_reset_op_t s_ive_op; }ih264e_ctl_reset_op_t; - /*****************************************************************************/ /* Video control:Get Buf Info */ /*****************************************************************************/ - - typedef struct { ive_ctl_getbufinfo_ip_t s_ive_ip; }ih264e_ctl_getbufinfo_ip_t; - - typedef struct { ive_ctl_getbufinfo_op_t s_ive_op; }ih264e_ctl_getbufinfo_op_t; - - /*****************************************************************************/ /* Video control:Get Version Info */ /*****************************************************************************/ - - typedef struct { ive_ctl_getversioninfo_ip_t s_ive_ip; }ih264e_ctl_getversioninfo_ip_t; - - typedef struct { ive_ctl_getversioninfo_op_t s_ive_op; }ih264e_ctl_getversioninfo_op_t; /*****************************************************************************/ -/* Video control:Set default params */ +/* Video control:Set default params */ /*****************************************************************************/ - - typedef struct { ive_ctl_setdefault_ip_t s_ive_ip; }ih264e_ctl_setdefault_ip_t; - - typedef struct { ive_ctl_setdefault_op_t s_ive_op; @@ -315,12 +292,12 @@ typedef struct { ive_ctl_set_frame_rate_ip_t s_ive_ip; }ih264e_ctl_set_frame_rate_ip_t; + typedef struct { ive_ctl_set_frame_rate_op_t s_ive_op; }ih264e_ctl_set_frame_rate_op_t; - /*****************************************************************************/ /* Video control Set Bitrate */ /*****************************************************************************/ @@ -334,7 +311,6 @@ typedef struct ive_ctl_set_bitrate_op_t s_ive_op; }ih264e_ctl_set_bitrate_op_t; - /*****************************************************************************/ /* Video control Set Frame type */ /*****************************************************************************/ @@ -478,7 +454,6 @@ typedef struct ive_video_encode_op_t s_ive_op; }ih264e_video_encode_op_t; - /*****************************************************************************/ /* Video usability information */ /*****************************************************************************/ @@ -910,14 +885,6 @@ typedef struct } ih264e_ctl_set_sei_sii_params_op_t; -/* The enum values should not have greater than 8 bits as this is assigned to WORD8 */ -typedef enum -{ - INTRA16x16 = 0, - INTRA4x4, - INTER16x16 -}IV_MB_TYPE_T; - /*****************************************************************************/ /* Pic info structures */ /*****************************************************************************/ @@ -1024,11 +991,10 @@ typedef struct WORD8 ai1_intra_mode[16]; }; - - }ih264e_mb_info4_t; -/* Add any new structures to the following union. It is used to calculate the max size needed for allocation of memory */ +/* Add any new structures to the following union. It is used to calculate the + * max size needed for allocation of memory */ typedef struct { union @@ -1042,5 +1008,6 @@ typedef struct #ifdef __cplusplus } /* closing brace for extern "C" */ + #endif #endif /* _IH264E_H_ */ |