⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zumjmux.h

📁 jpeg and mpeg 编解码技术源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/*	Description: Returns a new multiplexed stream handle for the application if 	*/
/*               exists otherwise return error message.                             */
/*																					*/
/*	Parameters: MxHandle* h - pointer to handle which will be set by the SysMux for */
/*							  the application.										*/
/*																					*/
/*	Returned values: MUX_OK, MUX_CANT_ALLOCATE_NEW_HANDLE, MUX_ILLEGAL_PARAMETER	*/
/*																					*/
/************************************************************************************/

ZUMJMUX_API MxMessage MxOpen(MxHandle* h);

/************************************************************************************/
/*																					*/
/*	Function name: MxClose															*/
/*																					*/
/*	Description: Free the received handle.                                          */
/*																					*/
/*	Parameters: MxHandle h - specifies the relevant multiplexing handle.			*/
/*																					*/
/*	Returned values: MUX_OK, MUX_UNDEFINED_HANDLE									*/
/*																					*/
/************************************************************************************/

ZUMJMUX_API MxMessage MxClose(MxHandle h);

/************************************************************************************/
/*																					*/
/*	Function name: MxDefaultParams													*/
/*																					*/
/*	Description: Updating the parameters in MxParams to default values. The default	*/
/*               values comply with VCD constrains.                                 */
/*																					*/
/*	Parameters: 1. OUT MxParams *PMxParams - pointer to a parameters struct, that 	*/
/*                                           is updated by the default values.		*/
/*																					*/
/*	Returned values: MUX_OK, MUX_ILLEGAL_PARAMETER									*/
/*																					*/
/************************************************************************************/

ZUMJMUX_API MxMessage MxDefaultParams(OUT MxParams *PMxParams);

/************************************************************************************/
/*																					*/
/*	Function name: MxSetParams														*/
/*																					*/
/*	Description: Updating the System Mux parameters structure using the PMxParams   */
/*				 structure supplied by the application.								*/
/*																					*/
/*	Parameters: 1. MxHandle h - specifies the relevant multiplexing handle.			*/
/*				2. IN MxParams *PMxParams - pointer to a parameters struct that 	*/
/*										    specify the exact format for the 		*/
/*											multiplexing operation.					*/
/*																					*/
/*	Returned values: MUX_OK, MUX_ILLEGAL_PARAMETER, MUX_FORBIDDEN_CALLS_FLOW,		*/
/*					 MUX_UNDEFINED_HANDLE											*/
/*																					*/
/************************************************************************************/

ZUMJMUX_API MxMessage MxSetParams(MxHandle h, IN MxParams *PMxParams);

/************************************************************************************/
/*																					*/
/*	Function name:	MxStart															*/
/*																					*/
/*	Description:	Starting a new multiplexing process for the given handle. It	*/
/*					reports to the Mux that all parameters are set and the next		*/
/*					expected step is calling  MxAddBufffer service routine. 		*/
/*																					*/
/*	Parameters:	 MxHandle h - specifies the relevant multiplexing handle.			*/
/*																					*/
/*	Returned values: MUX_OK, MUX_FORBIDDEN_CALLS_FLOW, MUX_UNDEFINED_HANDLE,		*/
/*					 MUX_CANNOT_OPEN_FILE											*/
/*																					*/
/************************************************************************************/

ZUMJMUX_API MxMessage MxStart(MxHandle h);

/************************************************************************************/
/*																					*/
/*	Function name: MxAddBuffer														*/
/*																					*/
/*	Description: Add a new buffer to the Mux. Each buffer is either one of the		*/
/*				 following: Audio/Video input buffer, MuxedStream output buffer		*/
/*				 (if it is an output buffers mode).									*/
/*																					*/
/*	Parameters:	1. MxHandle h - specifies the relevant multiplexing handle.         */
/*				2. MxBuffer *Buff - pointer to video data buffer.					*/
/*																					*/
/*	Returned values: MUX_OK, MUX_FORBIDDEN_CALLS_FLOW, MUX_UNDEFINED_HANDLE,		*/
/*					 MUX_MEMORY_ALLOCATION_FAILED, MUX_LACK_OF_VIDEO_BUFFERS,		*/
/*					 MUX_LACK_OF_AUDIO_BUFFERS, MUX_ILLEGAL_ PARAMETER, 			*/
/*					 MUX_FILE_MODE, MUX_AUDIO_ STREAM_IS_ ILLEGAL, MUX_DONE			*/
/*																					*/
/************************************************************************************/

ZUMJMUX_API MxMessage MxAddBuffer(MxHandle h, MxBuffer *PBuff);

/********************************************************************************************/
/*																							*/
/*	Function name: MxVideoVBRMaxBitRate														*/
/*																							*/
/*	Description: This service routine provides a recommendation concerning the Video		*/
/*				 bit-rate, regarding the quality and resolution parameters.               	*/
/*																						    */
/*	Parameters: 1. int quality - an integer in the range from 1 (high quality)				*/
/*								 up to 31 (low quality).									*/
/*              2. MxRes resolution - SIF or QSIF.				                            */
/*																							*/
/*	Returned values: Video bit-rate															*/
/*																							*/
/********************************************************************************************/

ZUMJMUX_API unsigned int MxVideoVBRMaxBitRate(MxResolution resolution, int quality);

/********************************************************************************************/
/*																							*/
/*	Function name: MxVideoCBRRecommendation													*/
/*																							*/
/*	Description: Provides a recommendation for the following mux parameters -               */
/*				 - Mux-rate                                                                 */
/*				 - Video and audio pack-size                                                */
/*				 - Video and audio std-buffer-size                                          */
/*																						    */
/*	Parameters: PMxParams - A parameters structure which was filled by application, and     */
/*                          is ready to be sent to the mux, except for the requested        */
/*                          recommendations.                                                */
/*                          For each one of the recommended fields (Mux-rate, pack-sizes,   */
/*                          std-buffers) which is set to zero - A new value is returned by  */
/*                          MxVideoCBRRecommendation.                                       */
/*                          Each non-zero parameter value is kept as-is.                    */
/*              VideoBitRate - Video bit-rate in units of 400 bit.                          */
/*                             Zero marks no video-stream.                                  */
/*              VideoFrameRate - Number of frames per second. Either 25 or 30.              */
/*              VideoVBVBufferSize - VBV-Buffer-size of video encoder, in units of 16Kb,	*/
/*									 or zero if the current Video bit-rate is VBR.			*/
/*              AudioBitRate - Audio bit-rate in units of 1000 bit                          */
/*                             Zero marks no audio-stream.                                  */
/*                                                                                          */
/*                                                                                          */
/*	Returned values: MUX_OK, MUX_ILLEGAL_PARAMETER													*/
/*																							*/
/********************************************************************************************/

ZUMJMUX_API MxMessage MxVideoCBRRecommendation(IN OUT MxParams *PMxParams, 
						int VideoBitRate,  int VideoFrameRate, int VideoVBVBufferSize, int AudioBitRate);

/************************************************************************************/
/*																					*/
/*	Function name:	MxGetState														*/
/*																					*/	 
/*  Description: Returns the Mux current state in MxState.							*/
/*																					*/
/*  Parameters: 1. MxHandle h - specifies the relevant multiplexing handle. 		*/
/*				2. int *MxState - Holds the Mux state. It is either lack of output  */
/*								  buffers or lack of input buffers.					*/
/*								  Its value is valid only if the function returns	*/
/*								  MUX_OK.											*/
/*																					*/
/*	Returned values: MUX_OK, MUX_UNDEFINED_HANDLE, MUX_ILLEGAL_PARAMETER			*/
/*																					*/
/************************************************************************************/

ZUMJMUX_API MxMessage MxGetState(MxHandle h,int *MxState);

/************************************************************************************/
/*																					*/
/*	Function name:	MxNotificationOfLostAudioFrames									*/
/*																					*/ 
/*	Description:	Notify the MUX that a lost of audio frames had occured.			*/
/*					Specify the exact number of frames which were lost (as a result */
/*					of an overflow).												*/
/*																					*/
/*	Parameters: 1. MxHandle h - specifies the relevant multiplexing handle. 		*/
/*				2. unsigned int	NumOfFrames - specifies the exact number of lost 	*/
/*									  audio frames.									*/
/*																					*/
/*	Returned values: MUX_OK, MUX_UNDEFINED_HANDLE									*/
/*																					*/
/************************************************************************************/

ZUMJMUX_API MxMessage MxNotificationOfLostAudioFrames(MxHandle h, unsigned int NumOfFrames);

#endif //_ZUMJMUX_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -