📄 mv_dec.h
字号:
/*==========================================================================*/
/* (Copyright (C) 2003 Koninklijke Philips Electronics N.V. */
/* All rights reserved. */
/* This source code and any compilation or derivative thereof is the */
/* proprietary information of Koninklijke Philips Electronics N.V. */
/* and is confidential in nature. */
/* Under no circumstances is this software to be exposed to or placed */
/* under an Open Source License of any type without the expressed */
/* written permission of Koninklijke Philips Electronics N.V. */
/*==========================================================================*/
/*==========================================================================*/
/*
INCLUDE_FILE: MV_DEC.H
PACKAGE: DECODING
COMPONENT: MPEG VIDEO
(C) 1998: Philips Semiconductors
/*==========================================================================*/
/*MPP:::DEC======================================================*/
/* PACKAGE NAME: DEC
SCOPE: PLATEFORM
ORIGINAL AUTHOR: B.LEMESLE
DATA TYPES:
MV_DEC_ERROR
MV_DEC_FS_MEMORY_MAPPING
MV_DEC_TO_DISP
MV_DEC_STANDARD
MV_DEC_PIP_MODE
MV_DEC_PICTURE_CODING_TYPE
MV_DEC_TEMPORAL_REFERENCE
MV_DEC_SYNC_MODE
MV_DEC_DTS
MV_DEC_STC
MV_DEC_STEP_MODE
MV_DEC_SCAN_MODE
MV_DEC_FREEZE_MODE
MV_DEC_DECODING_STATE
MV_DEC_EVENT
MV_DEC_UD_TYPE
MV_DEC_UD_DATA
MV_DEC_UD_SIZE
MV_DEC_WIN_WIDTH
MV_DEC_WIN_HEIGTH
MV_DEC_CTR_OFF_HOR
MV_DEC_CTR_OFF_VER
MV_DEC_ASPECT_RATIO
MV_DEC_FRAME_RATE
MV_DEC_SEQ_INFO
MV_DEC_PICT_INFO
MV_DEC_MEM_SIZE
MV_DEC_BUFFERS
MV_DEC_BUFCFG
FUNCTIONS:
MV_DEC_bufuse
MV_DEC_init
MV_DEC_set_defaults
MV_DEC_term
MV_DEC_set_sync_mode
MV_DEC_freeze
MV_DEC_play
MV_DEC_stop
MV_DEC_scan
MV_DEC_step
MV_DEC_set_dts
MV_DEC_set_stc
MV_DEC_get_stc
MV_DEC_discontinuity
MV_DEC_decode_picture_in_picture
MV_DEC_set_pip_mode
MV_DEC_soft_reset
MV_DEC_abort_decoding_by_user
MV_DEC_get_dec_delay
MV_DEC_enable_user_data
MV_DEC_disable_user_data
MV_DEC_get_user_data
MV_DEC_user_data_process
MV_DEC_install_notify
MV_DEC_enable_notification
MV_DEC_disable_notification
MV_DEC_get_seq_info
MV_DEC_get_picture_info
MV_DEC_get_decoding_state
*/
/*EMP=======================================================================*/
#ifndef _MV_DEC_INCLUDED_
#define _MV_DEC_INCLUDED_
#ifdef __cplusplus
extern "C" {
#endif
/*==========================================================================*/
/* I N C L U D E S */
/*==========================================================================*/
/*==========================================================================*/
/* G L O B A L S Y M B O L D E F I N I T I O N S */
/*==========================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_ERROR
PACKAGE: MV_DEC
DESCRIPTION:
Possible RETURN codes for functions of MV_DEC package.
DEFINITION:
*/
typedef enum
{
MV_DEC_OK = 0, /* successful execution */
MV_DEC_NOT_OK, /* not successful execution */
MV_DEC_FATAL_ERROR /* fatal error at execution */
} MV_DEC_ERROR;
/*EMP=======================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_FS_MEMORY_MAPPING
PACKAGE: MV_DEC
DESCRIPTION:
Define the memory mapping choosen by the application.
- MV_DEC_FS_MAPPING_2_6 : for a "2.6" frame store memory mapping.
B_picture type are stored in a buffer with a size of 0.6 full B_picture
type size. So one field is already displayed thus the other one is still
at decoding.In this case a buffer zone is choosen for storing this B
picture
- MV_DEC_FS_MAPPING_3_0 : for a "3.0" frame store memory mapping.
B_picture type are stored in a buffer with a size of a full B_picture
type size. So the display is one field later than the previous mode
and an additionnal size must be added to the input video fifo.In this
case a buffer zone is choosen for storing this B picture.
- MV_DEC_FS_MAPPING_4_0 : for a "4.0" frame store memory mapping.
B_pictures type are stored in full frame store.
DEFINITION:
*/
typedef enum
{
MV_DEC_FS_MAPPING_2_6 = 0,
MV_DEC_FS_MAPPING_3_0,
MV_DEC_FS_MAPPING_4_0
} MV_DEC_FS_MEMORY_MAPPING;
/*EMP=======================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_TO_DISP
PACKAGE: MV_DEC
DESCRIPTION:
Enum used for setting the decoding to display delay.
DEFINITION:
*/
typedef enum
{
MV_DEC_TO_DISP_N1 = 1,
MV_DEC_TO_DISP_N2 = 2
} MV_DEC_TO_DISP;
/*EMP=======================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_STANDARD
PACKAGE: MV_DEC
DESCRIPTION:
Video standard (50 or 60 Hz) used to configure the video decoder.
DEFINITION:
*/
typedef enum {
MV_DEC_STANDARD_50HZ = 0,
MV_DEC_STANDARD_60HZ
}MV_DEC_STANDARD;
/*EMP=======================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_PIP_MODE
PACKAGE: MV_DEC
DESCRIPTION:
Enum used to enable/disable PIP standard mode via MV_DEC_set_pip_mode()
API.
DEFINITION:
*/
typedef enum
{
MV_DEC_PIP_MODE_DISABLED = 0,
MV_DEC_PIP_MODE_ENABLED
} MV_DEC_PIP_MODE;
/*EMP=======================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_LOW_DELAY_MODE
PACKAGE: MV_DEC
DESCRIPTION:
Enum used to enable/disable low delay mode via MV_DEC_set_low_delay_mode()
API.
DEFINITION:
*/
typedef enum
{
MV_DEC_LOW_DELAY_MODE_DISABLED = 0,
MV_DEC_LOW_DELAY_MODE_ENABLED
} MV_DEC_LOW_DELAY_MODE;
/*EMP=======================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_PICTURE_CODING_TYPE
PACKAGE: DEC
DESCRIPTION:
Picture coding type of the picture under decoding.
DEFINITION:
*/
typedef enum
{
MV_DEC_PICTURE_CODING_TYPE_I = 1,
MV_DEC_PICTURE_CODING_TYPE_P,
MV_DEC_PICTURE_CODING_TYPE_B,
MV_DEC_PICTURE_CODING_TYPE_D
} MV_DEC_PICTURE_CODING_TYPE;
/*EMP=======================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_TOP_FIELD_FIRST_FLAG
PACKAGE: DEC
DESCRIPTION:
top_field_first flag, present in picture coding extension.
DEFINITION:
*/
typedef enum
{
MV_DEC_TOP_FIELD_FIRST_FLAG_OFF = 0,
MV_DEC_TOP_FIELD_FIRST_FLAG_ON
} MV_DEC_TOP_FIELD_FIRST_FLAG;
/*EMP=======================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_TEMPORAL_REFERENCE
PACKAGE: DEC
DESCRIPTION:
Temporal reference of the picture under decoding.
DEFINITION:
*/
typedef unsigned char MV_DEC_TEMPORAL_REFERENCE;
/*EMP=======================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_SYNC_MODE
PACKAGE: MV_DEC
DESCRIPTION:
Synchronisation mode used for communication between system controller and
video decoder core
DEFINITION:
*/
typedef enum MV_DEC_SYNC_MODE_ENUM
{
MV_DEC_SYNC_MODE_DTS_LOCKED = 0,
MV_DEC_SYNC_MODE_DTS_FREE_RUNNING,
MV_DEC_SYNC_MODE_BUF_CONTROLLED,
MV_DEC_SYNC_MODE_SW_CONTROLLED
} MV_DEC_SYNC_MODE;
/*EMP=======================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_DTS
PACKAGE: MV_DEC
DESCRIPTION:
Decoding Time Stamp (Only the least 24 bits are used).
DEFINITION:
*/
typedef unsigned long MV_DEC_DTS;
/*EMP=======================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_STC
PACKAGE: MV_DEC
DESCRIPTION:
System Time Clock of video decoder (Only the least 24 bits are used).
DEFINITION:
*/
typedef unsigned long MV_DEC_STC;
/*EMP=======================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_STEP_MODE
PACKAGE: MV_DEC
DESCRIPTION:
Enum used to define step mode type (I-P-B) used in the
MV_DEC_step() API.
- MV_DEC_STEP_MODE_I : Decode and display the next I picture
from the input stream.
- MV_DEC_STEP_MODE_IP : Decode and display the next I or P
picture from the input stream.
- MV_DEC_STEP_MODE_IPB : Decode and display the next I or P
or B picture from the input stream.
- MV_DEC_STEP_MODE_NONE : Step mode is desactivated
DEFINITION:
*/
typedef enum
{
MV_DEC_STEP_MODE_I = 0,
MV_DEC_STEP_MODE_IP,
MV_DEC_STEP_MODE_IPB,
MV_DEC_STEP_MODE_NONE
}MV_DEC_STEP_MODE;
/*EMP=======================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_SCAN_MODE
PACKAGE: MV_DEC
DESCRIPTION:
Enum used to define scan mode used in the
MV_DEC_scan() API.
DEFINITION:
*/
typedef enum
{
MV_DEC_SCAN_MODE_I_PICTURE = 0,
MV_DEC_SCAN_MODE_IP_PICTURE,
MV_DEC_SCAN_MODE_NONE
}MV_DEC_SCAN_MODE;
/*EMP=======================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_FREEZE_MODE
PACKAGE: MV_DEC
DESCRIPTION:
Enum used to define freeze mode used in the
MV_DEC_freeze() API.
DEFINITION:
*/
typedef enum MV_DEC_FREEZE_MODE_ENUM
{
MV_DEC_FREEZE_MODE_B = 0, /* Freeze on next B picture */
MV_DEC_FREEZE_MODE_IP, /* Freeze on next I or P picture */
MV_DEC_FREEZE_MODE_NONE
} MV_DEC_FREEZE_MODE;
/*EMP=======================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_DECODING_STATE
PACKAGE: MV_DEC
DESCRIPTION:
Enum used to define the state machine of the video decoder.
DEFINITION:
*/
typedef enum MV_DEC_DECODING_STATE_ENUM
{
MV_DEC_DECODING_STATE_IDLE = 0,
MV_DEC_DECODING_STATE_READY,
MV_DEC_DECODING_STATE_STOPPED,
MV_DEC_DECODING_STATE_STARTING,
MV_DEC_DECODING_STATE_STARTED,
MV_DEC_DECODING_STATE_FREEZING,
MV_DEC_DECODING_STATE_SCANNING,
MV_DEC_DECODING_STATE_STEPPING,
MV_DEC_DECODING_STATE_HANGUP
} MV_DEC_DECODING_STATE;
/*EMP=======================================================================*/
/*MDP=======================================================================*/
/*
ITEM NAME: MV_DEC_EVENT
PACKAGE: MV_DEC
DESCRIPTION:
Types for video decoding events which can be notified to application.
DEFINITION:
*/
typedef unsigned long MV_DEC_EVENT;
#define MV_DEC_NO_EVENT 0x00000
#define MV_DEC_STARTED_EVENT 0x00001
#define MV_DEC_EOPD_EVENT 0x00002
#define MV_DEC_STOPPED_EVENT 0x00004
#define MV_DEC_BITSTREAM_ERROR_EVENT 0x00008
#define MV_DEC_UD_AVAILABLE_EVENT 0x00010
#define MV_DEC_RESET_DONE_EVENT 0x00020
#define MV_DEC_UD_PROCESSING_NEEDED_EVENT 0x00040
#define MV_DEC_UD_BUFFER_FULL_EVENT 0x00080
#define MV_DEC_PIP_READY_TO_BE_DISPLAYED_EVENT 0x00100
#define MV_DEC_EOPH_EVENT 0x00200
#define MV_DEC_ABORT_DECODING_EVENT 0x00400
#define MV_DEC_UNRECOVERABLE_ERROR_EVENT 0x00800
#define MV_DEC_ABORT_TIME_OUT_EVENT 0x01000
#define MV_DEC_NEW_SEQ_FOUND_EVENT 0x02000
#define MV_DEC_PTS_DELAY_AVAILABLE_EVENT 0x04000
#define MV_DEC_PIP_EOPH_EVENT 0x08000
/*EMP=======================================================================*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -