Fujitsu DTV/STB solution driver (FAPex driver) Documentation [V01L00R00]


fapex/abst_libvidec.h File Reference

abstraction library header file (Video Decoder driver) More...

Data Structures

struct  FAPEX_VIDEC_OpenParamStrT
 open parameters for the VIDEC driver More...
struct  FAPEX_VIDEC_StartParamStrT
 start parameter for the VIDEC driver More...
struct  FAPEX_VIDEC_StatusStrT
 status parameters for the VIDEC driver More...
struct  FAPEX_VIDEC_VESParamStrT
 Video ES parameters for the VIDEC driver. More...
struct  FAPEX_VIDEC_DecFrameInfoStrT
 Video changed decoded frame information. More...
struct  FAPEX_VIDEC_ESdataParamStrT
 Video Elementary Stream data parameter for the VIDEC driver. More...

Defines

#define FAPEX_SYNC_UNKNOWN_BASE   -1
 SYNC base is unknown.
#define FAPEX_SYNC_AUDIO_PTS_BASED   0
 SYNC is Audio PTS based environment.
#define FAPEX_SYNC_VIDEO_PTS_BASED   1
 SYNC is Video PTS based environment.
#define FAPEX_SYNC_PCR_BASED   2
 SYNC PCR based environment.
#define FAPEX_SYNC_STREAMING_PCR_BASED   3
 streaming PCRs or external PCRs shall be synchronized to STC.
#define FAPEX_VIDEC_ERR_BASE   (FAPEX_VIDEC_MODULE_BASE + FAPEX_RET_ERR_BASE)
#define FAPEX_VIDEC_ERR_BAD_PARAMETER   (FAPEX_VIDEC_ERR_BASE + FAPEX_ERR_BAD_PARAMETER)
#define FAPEX_VIDEC_ERR_OUT_OF_MEMORY   (FAPEX_VIDEC_ERR_BASE + FAPEX_ERR_OUT_OF_MEMORY)
#define FAPEX_VIDEC_ERR_TIMEOUT   (FAPEX_VIDEC_ERR_BASE + FAPEX_ERR_TIMEOUT)
#define FAPEX_VIDEC_ERR_INVALID_STATUS   (FAPEX_VIDEC_ERR_BASE + FAPEX_ERR_INVALID_HANDLE)
#define FAPEX_VIDEC_SOFT_RESET   0
 Parameter for defining the reset type of the video decoder.
#define FAPEX_VIDEC_HARD_RESET   1
#define FAPEX_VIDEC_CODEC_TYPE_UNKNOWN   0
 Unknown type decoder.
#define FAPEX_VIDEC_CODEC_TYPE_MPEG2   1
 MPEG2.
#define FAPEX_VIDEC_CODEC_TYPE_H264   2
 H.264.
#define FAPEX_VIDEC_CODEC_TYPE_AVS   3
 AVS.
#define FAPEX_VIDEC_CODEC_TYPE_VC1   4
 VC1.
#define FAPEX_VIDEC_FRAME_BANK_SIZE_UNKNOWN   (-1)
 Unknown Frame bank Size.
#define FAPEX_VIDEC_FRAME_BANK_SIZE_1920HD   0
 1920 pixels per one decoded picture line
#define FAPEX_VIDEC_FRAME_BANK_SIZE_1440HD   1
 1440 pixels per one decoded picture line
#define FAPEX_VIDEC_FRAME_BANK_SIZE_1280HD   2
 1280 pixels per one decoded picture line
#define FAPEX_VIDEC_FRAME_BANK_SIZE_SD   3
 720 pixels per one decoded picture line
#define FAPEX_VIDEC_PLAYBACK_ENVIRONMENT_LIVE   0
 Live broadcast environment.
#define FAPEX_VIDEC_PLAYBACK_ENVIRONMENT_PVR   1
 recorded live PVR environment.
#define FAPEX_VIDEC_PLAYBACK_ENVIRONMENT_VOD   2
 recorded live VOD environment.
#define FAPEX_VIDEC_PALYBACK_ENVIRONMENT_STREAMING   3
 playback from a file or ethernet.
#define FAPEX_VIDEC_AFD_UNKNOWN   (-1)
#define FAPEX_VIDEC_AFD_ENABLE_2   2
#define FAPEX_VIDEC_AFD_ENABLE_3   3
#define FAPEX_VIDEC_AFD_ENABLE_4   4
#define FAPEX_VIDEC_AFD_ENABLE_8   8
#define FAPEX_VIDEC_AFD_ENABLE_9   9
#define FAPEX_VIDEC_AFD_ENABLE_10   10
#define FAPEX_VIDEC_AFD_ENABLE_11   11
#define FAPEX_VIDEC_AFD_ENABLE_13   13
#define FAPEX_VIDEC_AFD_ENABLE_14   14
#define FAPEX_VIDEC_AFD_ENABLE_15   15
#define FAPEX_VIDEC_AFD_ENABLE_AUTO   16
#define FAPEX_VIDEC_AFD_DISABLE   17
#define FAPEX_VIDEC_DELIMITER_UNKNOWN   (-1)
 Unknown delimiter.
#define FAPEX_VIDEC_DELIMITER_AUD_HEADER   0
 Delimiter is an AUD.
#define FAPEX_VIDEC_DELIMITER_PES_HEADER   1
 Delimiter is a PES Header.
#define FAPEX_VIDEC_ENABLE_FORCE_OFF   (-1)
#define FAPEX_VIDEC_ENABLE_FORCE_ON_IMMEDIATE   0
#define FAPEX_VIDEC_ENABLE_FORCE_ON   1
#define FAPEX_VIDEC_ENABLE_SYNCHRONOUSLY_SUSPEND   2
#define FAPEX_VIDEC_ENABLE_SYNCHRONOUSLY_NO_SUSPEND   3
#define FAPEX_VIDEC_ENABLE_SYNCHRONOUSLY_ON_SYNC_SUSPEND   4
#define FAPEX_VIDEC_ENABLE_SYNCHRONOUSLY_ON_SYNC_NO_SUSPEND   5
#define FAPEX_VIDEC_PLAYBACK_MODE_UNKNOWN   (-1)
#define FAPEX_VIDEC_PLAYBACK_MODE_PAUSE   0
#define FAPEX_VIDEC_PLAYBACK_MODE_NORMAL   1
#define FAPEX_VIDEC_PLAYBACK_MODE_FIRST_I_ONLY   2
#define FAPEX_VIDEC_PLAYBACK_MODE_I_ONLY   3
#define FAPEX_VIDEC_PLAYBACK_MODE_I_AND_P_ONLY   4
#define FAPEX_VIDEC_PLAYBACK_MODE_SLOW_FORWARD_2X   5
#define FAPEX_VIDEC_PLAYBACK_MODE_SLOW_FORWARD_4X   6
#define FAPEX_VIDEC_PLAYBACK_MODE_SLOW_FORWARD_8X   7
#define FAPEX_VIDEC_NOTIFY_FLAGS_NONE   (0x0000)
 none event
#define FAPEX_VIDEC_NOTIFY_FLAGS_DEC_AVAILABLE   (0x0001)
 frame decoding avilable notification
#define FAPEX_VIDEC_NOTIFY_FLAGS_DISP_AVAILABLE   (0x0002)
 frame display avilable notification
#define FAPEX_VIDEC_NOTIFY_FLAGS_FRAME_INFO   (0x0004)
 frame information enable notification
#define FAPEX_VIDEC_NOTIFY_FLAGS_PARAM_CHANGE   (0x0010)
 display parameter change notification
#define FAPEX_VIDEC_PROFILE_UNKNOWN   (-1)
 Unknown profile.
#define FAPEX_VIDEC_PROFILE_RESERVED   0
 reserved profile
#define FAPEX_VIDEC_PROFILE_SIMPLE   1
 Simple profile.
#define FAPEX_VIDEC_PROFILE_BASELINE   2
 Baseline profile.
#define FAPEX_VIDEC_PROFILE_MAIN   3
 Main profile.
#define FAPEX_VIDEC_PROFILE_SNR_SCALABLE   4
 SNR scaleable profile as indicated by MPEG standard.
#define FAPEX_VIDEC_PROFILE_SPATIALLY_SCALABLE   5
 Spatially scaleable profile as indicated by MPEG standard.
#define FAPEX_VIDEC_PROFILE_EXTENDED   6
 Extended profile.
#define FAPEX_VIDEC_PROFILE_HIGH   7
 High profile.
#define FAPEX_VIDEC_PROFILE_HIGH_10   8
 High 10 profile.
#define FAPEX_VIDEC_PROFILE_HIGH_422   9
 High 4:2:2 profile.
#define FAPEX_VIDEC_PROFILE_HIGH_444   10
 High 4:4:4 profile.
#define FAPEX_VIDEC_LEVEL_UNKNOWN   (-1)
 Specifies an unknown Level.
#define FAPEX_VIDEC_LEVEL_RESERVED   0
 Specifies a reserved Level.
#define FAPEX_VIDEC_LEVEL_LOW   1
 Low Level.
#define FAPEX_VIDEC_LEVEL_MAIN   2
 Main Level.
#define FAPEX_VIDEC_LEVEL_HIGH_1440   3
 High 1440 Level.
#define FAPEX_VIDEC_LEVEL_HIGH   4
 High Level.
#define FAPEX_VIDEC_LEVEL_1_0   5
 Level 1.0.
#define FAPEX_VIDEC_LEVEL_1_0_B   6
 Level 1.0 b.
#define FAPEX_VIDEC_LEVEL_1_1   7
 Level 1.1.
#define FAPEX_VIDEC_LEVEL_1_2   8
 Level 1.2.
#define FAPEX_VIDEC_LEVEL_2_0   9
 Level 2.0.
#define FAPEX_VIDEC_LEVEL_2_1   10
 Level 2.1.
#define FAPEX_VIDEC_LEVEL_2_2   11
 Level 2.2.
#define FAPEX_VIDEC_LEVEL_3_0   12
 Level 3.0.
#define FAPEX_VIDEC_LEVEL_3_1   13
 Level 3.1.
#define FAPEX_VIDEC_LEVEL_3_2   14
 Level 3.2.
#define FAPEX_VIDEC_LEVEL_4_0   15
 Level 4.0.
#define FAPEX_VIDEC_LEVEL_4_1   16
 Level 4.1.
#define FAPEX_VIDEC_LEVEL_4_2   17
 Level 4.2.
#define FAPEX_VIDEC_LEVEL_5_0   18
 Level 5.0.
#define FAPEX_VIDEC_LEVEL_5_1   19
 Level 5.1.
#define FAPEX_VIDEC_AR_UNKNOWN   0
 Unknown aspect ratio.
#define FAPEX_VIDEC_AR_4_3   1
 Aspect ratio is 4:3.
#define FAPEX_VIDEC_AR_14_9   2
 Aspect ratio is 14:9.
#define FAPEX_VIDEC_AR_16_9   3
 Aspect ratio is 16:9.
#define FAPEX_VIDEC_AR_221_100   4
 Aspect ratio is 221:100.
#define FAPEX_VIDEC_AR_235_100   5
 Aspect ratio is 235:100.
#define FAPEX_VIDEC_BOOT_STATE_NON   (-1)
 Not booted state.
#define FAPEX_VIDEC_BOOT_STATE_REQUEST   0
 Request to bootState the video core.
#define FAPEX_VIDEC_BOOT_STATE_DONE   1
 Video core is in the booted state.
#define FAPEX_VIDEC_RESET_STATE_UNKNOWN   (-1)
#define FAPEX_VIDEC_RESET_STATE_NON   0
#define FAPEX_VIDEC_RESET_STATE_REQUEST   1
#define FAPEX_VIDEC_RESET_STATE_DONE   2
#define FAPEX_VIDEC_ENABLE_DISABLE_STATE_UNKNOWN   (-1)
 Unknown enable/disable state.
#define FAPEX_VIDEC_REQUEST_TO_SYNCHRONIZE_ENABLE_ON_VIDEO_FRAME   0
 Request to synchronize enable with first decoded frame.
#define FAPEX_VIDEC_REQUEST_TO_SYNCHRONIZE_ENABLE_ON_VIDEO_SYNC   1
 Request to synchronize enable with first decoded frame after Video synchronization to STC.
#define FAPEX_VIDEC_SYNCHRONIZE_ENABLING   2
 Request to synchronize enable with first decoded frame is pending.
#define FAPEX_VIDEC_SYNCHRONIZE_ENABLED_ON_VIDEO_FRAME   3
 Request to synchronize enable with first decoded frame is served.
#define FAPEX_VIDEC_SYNCHRONIZE_ENABLED_ON_VIDEO_SYNC   4
 Request to synchronize enable with first decoded frame synchronized to STC.
#define FAPEX_VIDEC_FORCE_ENABLED   5
 Request to forcefully enable on the next occuring Frame sync is done.
#define FAPEX_VIDEC_REQUEST_TO_FORCE_DISABLE   6
 Request to forcefully disable on the next occuring Frame sync.
#define FAPEX_VIDEC_FORCE_DISABLED   7
 Request to forcefully disable on the next occuring Frame sync is done.
#define FAPEX_VIDEC_START_STOP_STATE_UNKNOWN   (-1)
 Unknown start stop state.
#define FAPEX_VIDEC_PREPARE_TO_STOP   0
 Prepare to stop.
#define FAPEX_VIDEC_REQUEST_TO_STOP   1
 Request to stop.
#define FAPEX_VIDEC_STOPPED   2
 Request to stop is served.
#define FAPEX_VIDEC_STOPPED_AFTER_FIRST_IFRAME   3
 Software Stop only. Video decoding stops after first I Frame decode.
#define FAPEX_VIDEC_PREPARE_TO_START   4
 Prepare to start video decoder.
#define FAPEX_VIDEC_REQUEST_TO_START   5
 Request to start video decoding as well.
#define FAPEX_VIDEC_STARTED   6
 Request to start is served.
#define FAPEX_VIDEC_FREEZE_OFF   0
 Continues the video to the VO block.
#define FAPEX_VIDEC_FREEZE_ON   1
 Freezes the video to the VO block.
#define FAPEX_VIDEC_HEALTH_UNKNOWN   (-1)
#define FAPEX_VIDEC_HEALTH_GOOD   0
#define FAPEX_VIDEC_HEALTH_BAD_L0   1
#define FAPEX_VIDEC_HEALTH_BAD_L1   2
#define FAPEX_VIDEC_HEALTH_BAD_L2   3
#define FAPEX_VIDEC_HEALTH_DEAD   4
#define FAPEX_VIDEC_INFO_NONE   (0x0000)
 no decoded frame information
#define FAPEX_VIDEC_INFO_DEC_AVAILABLE   (0x0001)
 available flag for first video decode frame
#define FAPEX_VIDEC_INFO_DISP_AVAILABLE   (0x0002)
 available flag for first video display frame
#define FAPEX_VIDEC_INFO_DISP_ENABLE   (0x0004)
 enable flag for video frame information
#define FAPEX_VIDEC_INFO_DISP_CHANGED_AR   (0x0010)
 aspect ratio changed
#define FAPEX_VIDEC_INFO_DISP_CHANGED_FRM_FLD   (0x0020)
 frame/field type changed
#define FAPEX_VIDEC_INFO_DISP_CHANGED_FLD_INV   (0x0040)
 field inversion changed
#define FAPEX_VIDEC_INFO_DISP_CHANGED_DEC_SIZE   (0x0080)
 decoded frame size changed
#define FAPEX_VIDEC_INFO_STOPPED   (0x8000)
 stopped video frame decoding
#define FAPEX_VIDEC_INFO_DISP_CHANGED
#define FAPEX_VIDEC_UNKNOWN_STREAM_SEGMENT_MODE   -1
#define FAPEX_VIDEC_STREAM_SEGMENT_MODE_FULL   0
 stream segment is normal.
#define FAPEX_VIDEC_STREAM_SEGMENT_MODE_1   1
 stream segment is of 1seg type as in ISDB-T
#define FAPEX_IOCCOM_VIDEC_OPEN   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 0, FAPEX_VIDEC_OpenParamStrT)
 ioctl specific command for the VIDEC driver
#define FAPEX_IOCCOM_VIDEC_START   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 1, FAPEX_VIDEC_StartParamStrT)
#define FAPEX_IOCCOM_VIDEC_GET_STATUS   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 2, FAPEX_VIDEC_StatusStrT)
#define FAPEX_IOCCOM_VIDEC_SET_OUTPUT   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 3, int32_t)
#define FAPEX_IOCCOM_VIDEC_SET_DISPON   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 4, int32_t)
#define FAPEX_IOCCOM_VIDEC_SET_DISPOFF   _IO (FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 5)
#define FAPEX_IOCCOM_VIDEC_GET_VES_PARAMS   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 6, FAPEX_VIDEC_VESParamStrT)
#define FAPEX_IOCCOM_VIDEC_GET_FRAME_BANK_SIZE   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 7, FAPEX_VIDEC_DecFrameInfoStrT)
#define FAPEX_IOCCOM_VIDEC_GET_DEC_FRAME_INFO   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 8, FAPEX_VIDEC_DecFrameInfoStrT)
#define FAPEX_IOCCOM_VIDEC_SET_PLAYBACK_ENV   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 9, int32_t)
#define FAPEX_IOCCOM_VIDEC_SET_PLAYBACK_MODE   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 10, int32_t)
#define FAPEX_IOCCOM_VIDEC_SET_FREEZE_MODE   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 11, int32_t)
#define FAPEX_IOCCOM_VIDEC_RECOVER   _IO (FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 12)
#define FAPEX_IOCCOM_VIDEC_DEC_SINGLE_I_FRAME   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 13, FAPEX_VIDEC_ESdataParamStrT)
#define FAPEX_IOCCOM_VIDEC_DISP_SINGLE_I_FRAME   _IO (FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 14)
#define FAPEX_IOCCOM_VIDEC_DEC_SEQUENCE_I_FRAME   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 15, FAPEX_VIDEC_ESdataParamStrT)
#define FAPEX_IOCCOM_VIDEC_DISP_SEQUENCE_I_FRAME   _IO (FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 16)
#define FAPEX_IOCCOM_VIDEC_SET_OUTPUT_DELAY   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 17, int32_t)
#define FAPEX_IOCCOM_VIDEC_SET_SYNC   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 18, uint32_t)
#define FAPEX_IOCCOM_SYNC_SETSTCREGULATION   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 19, uint32_t)
#define FAPEX_IOCCOM_SYNC_SETENVIRONMENT   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 20, uint32_t)
#define FAPEX_IOCCOM_VIDEC_SET_STREAMSEGMENTMODE   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 21, uint32_t)

Functions

FAPEXOPENRET_T FAPEX_VIDEC_Open (FAPEXOPENARG1_T id, FAPEXOPENARG2_T flags, FAPEXOPENARG3_T argptr)
 open method. This function is called with the systemcall "open".
FAPEXRELRET_T FAPEX_VIDEC_Close (FAPEXRELARG1_T id)
 release method. This function is called with the systemcall "close".
FAPEXIOCRET_T FAPEX_VIDEC_Ioctl (FAPEXIOCARG1_T id, FAPEXIOCARG2_T cmd, FAPEXIOCARG3_T pArg)
 ioctl method. This function is called with the systemcall "ioctl".
FAPEXMMPRET_T FAPEX_VIDEC_Mmap (FAPEXMMPARG1_T start, FAPEXMMPARG2_T length, FAPEXMMPARG3_T prot, FAPEXMMPARG4_T flags, FAPEXMMPARG5_T id, FAPEXMMPARG6_T offset)
 mmap method. This function is called with the systemcall "mmap".
FAPEXMUNMPRET_T FAPEX_VIDEC_Munmap (FAPEXMMPARG1_T start, FAPEXMMPARG2_T length)
 munmap method. This function is called with the systemcall "munmap".

Detailed Description

abstraction library header file (Video Decoder driver)

Attention:
This program is provided as is. You can redistribute it and/or modify it. Fujitsu Semiconductor Limited accepts no responsibility or liability for any errors or omissions.

Copyright (C) 2008-2010 Fujitsu Semiconductor Limited, All Rights Reserved.


Define Documentation

#define FAPEX_SYNC_UNKNOWN_BASE   -1

SYNC base is unknown.

#define FAPEX_SYNC_AUDIO_PTS_BASED   0

SYNC is Audio PTS based environment.

#define FAPEX_SYNC_VIDEO_PTS_BASED   1

SYNC is Video PTS based environment.

#define FAPEX_SYNC_PCR_BASED   2

SYNC PCR based environment.

#define FAPEX_SYNC_STREAMING_PCR_BASED   3

streaming PCRs or external PCRs shall be synchronized to STC.

#define FAPEX_VIDEC_ERR_BASE   (FAPEX_VIDEC_MODULE_BASE + FAPEX_RET_ERR_BASE)

FAPex VIDEC error code base value

#define FAPEX_VIDEC_ERR_BAD_PARAMETER   (FAPEX_VIDEC_ERR_BASE + FAPEX_ERR_BAD_PARAMETER)

Bad parameter passed.

#define FAPEX_VIDEC_ERR_OUT_OF_MEMORY   (FAPEX_VIDEC_ERR_BASE + FAPEX_ERR_OUT_OF_MEMORY)

Memory allocation failed.

#define FAPEX_VIDEC_ERR_TIMEOUT   (FAPEX_VIDEC_ERR_BASE + FAPEX_ERR_TIMEOUT)

Timeout occured.

#define FAPEX_VIDEC_ERR_INVALID_STATUS   (FAPEX_VIDEC_ERR_BASE + FAPEX_ERR_INVALID_HANDLE)

Invalid status.

#define FAPEX_VIDEC_SOFT_RESET   0

Parameter for defining the reset type of the video decoder.

Software reset of VD.

#define FAPEX_VIDEC_HARD_RESET   1

Hard reset of VD, It also causes internal rebooting.

#define FAPEX_VIDEC_CODEC_TYPE_UNKNOWN   0

Unknown type decoder.

#define FAPEX_VIDEC_CODEC_TYPE_MPEG2   1

MPEG2.

#define FAPEX_VIDEC_CODEC_TYPE_H264   2

H.264.

#define FAPEX_VIDEC_CODEC_TYPE_AVS   3

AVS.

#define FAPEX_VIDEC_CODEC_TYPE_VC1   4

VC1.

#define FAPEX_VIDEC_FRAME_BANK_SIZE_UNKNOWN   (-1)

Unknown Frame bank Size.

#define FAPEX_VIDEC_FRAME_BANK_SIZE_1920HD   0

1920 pixels per one decoded picture line

#define FAPEX_VIDEC_FRAME_BANK_SIZE_1440HD   1

1440 pixels per one decoded picture line

#define FAPEX_VIDEC_FRAME_BANK_SIZE_1280HD   2

1280 pixels per one decoded picture line

#define FAPEX_VIDEC_FRAME_BANK_SIZE_SD   3

720 pixels per one decoded picture line

#define FAPEX_VIDEC_PLAYBACK_ENVIRONMENT_LIVE   0

Live broadcast environment.

#define FAPEX_VIDEC_PLAYBACK_ENVIRONMENT_PVR   1

recorded live PVR environment.

#define FAPEX_VIDEC_PLAYBACK_ENVIRONMENT_VOD   2

recorded live VOD environment.

#define FAPEX_VIDEC_PALYBACK_ENVIRONMENT_STREAMING   3

playback from a file or ethernet.

#define FAPEX_VIDEC_AFD_UNKNOWN   (-1)

Unknown user request on how to handle AFD data if present. if the state is unknown then video decoder shall fail to open.

#define FAPEX_VIDEC_AFD_ENABLE_2   2

User defined Afd is 2

#define FAPEX_VIDEC_AFD_ENABLE_3   3

User defined Afd is 3

#define FAPEX_VIDEC_AFD_ENABLE_4   4

User defined Afd is 4

#define FAPEX_VIDEC_AFD_ENABLE_8   8

User defined Afd is 8

#define FAPEX_VIDEC_AFD_ENABLE_9   9

User defined Afd is 9

#define FAPEX_VIDEC_AFD_ENABLE_10   10

User defined Afd is 10

#define FAPEX_VIDEC_AFD_ENABLE_11   11

User defined Afd is 11

#define FAPEX_VIDEC_AFD_ENABLE_13   13

User defined Afd is 13

#define FAPEX_VIDEC_AFD_ENABLE_14   14

User defined Afd is 14

#define FAPEX_VIDEC_AFD_ENABLE_15   15

User defined Afd is 15

#define FAPEX_VIDEC_AFD_ENABLE_AUTO   16

Afd process is executed as defined in the stream.

#define FAPEX_VIDEC_AFD_DISABLE   17

The AFD data application to the decoded picture shall be discarded in case the AFD data is present.

#define FAPEX_VIDEC_DELIMITER_UNKNOWN   (-1)

Unknown delimiter.

#define FAPEX_VIDEC_DELIMITER_AUD_HEADER   0

Delimiter is an AUD.

#define FAPEX_VIDEC_DELIMITER_PES_HEADER   1

Delimiter is a PES Header.

#define FAPEX_VIDEC_ENABLE_FORCE_OFF   (-1)

Disables the video to the VO block on the subsequent VBI.

#define FAPEX_VIDEC_ENABLE_FORCE_ON_IMMEDIATE   0

Enables the video to the VO block on the subsequent VBI without defering it for predefined number of frames.

#define FAPEX_VIDEC_ENABLE_FORCE_ON   1

Enables the video to the VO block on the VBI that occurs after a predefined number of frames.

#define FAPEX_VIDEC_ENABLE_SYNCHRONOUSLY_SUSPEND   2

Enables the video to the VO block in sync with the first decoded frame while waiting for the first frame to be decoded. Enables the video to the VO block on the VBI that occurs after a predefined number of frames. This parameter causes a timed blocking action.

#define FAPEX_VIDEC_ENABLE_SYNCHRONOUSLY_NO_SUSPEND   3

Enables the video to the VO block in sync with the first decoded frame. This causes a non-blocking call Enables the video to the VO block on the VBI that occurs after a predefined number of frames.

#define FAPEX_VIDEC_ENABLE_SYNCHRONOUSLY_ON_SYNC_SUSPEND   4

Enables the video to the VO block when the decoded frame is and is in sync to system time clock. This type of enable is permitted only under normal playback mode This causes a blocking call. Enables the video to the VO block on the VBI that occurs after a predefined number of frames.

#define FAPEX_VIDEC_ENABLE_SYNCHRONOUSLY_ON_SYNC_NO_SUSPEND   5

Enables the video to the VO block when the decoded frame is and is in sync to system time clock. This type of enable is permitted only under normal playback mode Enables the video to the VO block on the VBI that occurs after a predefined number of frames.

#define FAPEX_VIDEC_PLAYBACK_MODE_UNKNOWN   (-1)

Unknown playback mode.

#define FAPEX_VIDEC_PLAYBACK_MODE_PAUSE   0

Pauses the playback in PVR environment otherwise the request is rejected.

#define FAPEX_VIDEC_PLAYBACK_MODE_NORMAL   1

Continues to play the video normally.

#define FAPEX_VIDEC_PLAYBACK_MODE_FIRST_I_ONLY   2

Displays only the first occuring I Frame.

#define FAPEX_VIDEC_PLAYBACK_MODE_I_ONLY   3

Continues to play the video in the trick mode I_ONLY.

#define FAPEX_VIDEC_PLAYBACK_MODE_I_AND_P_ONLY   4

Continues to play the video in the trick mode skipping B frames. This mode is available for MPEG streams only.

#define FAPEX_VIDEC_PLAYBACK_MODE_SLOW_FORWARD_2X   5

Continues to play the video in the trick mode slow forward 2 times.

#define FAPEX_VIDEC_PLAYBACK_MODE_SLOW_FORWARD_4X   6

Continues to play the video in the trick mode slow forward 4 times.

#define FAPEX_VIDEC_PLAYBACK_MODE_SLOW_FORWARD_8X   7

Continues to play the video in the trick mode slow forward 8 times.

#define FAPEX_VIDEC_NOTIFY_FLAGS_NONE   (0x0000)

none event

#define FAPEX_VIDEC_NOTIFY_FLAGS_DEC_AVAILABLE   (0x0001)

frame decoding avilable notification

#define FAPEX_VIDEC_NOTIFY_FLAGS_DISP_AVAILABLE   (0x0002)

frame display avilable notification

#define FAPEX_VIDEC_NOTIFY_FLAGS_FRAME_INFO   (0x0004)

frame information enable notification

#define FAPEX_VIDEC_NOTIFY_FLAGS_PARAM_CHANGE   (0x0010)

display parameter change notification

#define FAPEX_VIDEC_PROFILE_UNKNOWN   (-1)

Unknown profile.

#define FAPEX_VIDEC_PROFILE_RESERVED   0

reserved profile

#define FAPEX_VIDEC_PROFILE_SIMPLE   1

Simple profile.

#define FAPEX_VIDEC_PROFILE_BASELINE   2

Baseline profile.

#define FAPEX_VIDEC_PROFILE_MAIN   3

Main profile.

#define FAPEX_VIDEC_PROFILE_SNR_SCALABLE   4

SNR scaleable profile as indicated by MPEG standard.

#define FAPEX_VIDEC_PROFILE_SPATIALLY_SCALABLE   5

Spatially scaleable profile as indicated by MPEG standard.

#define FAPEX_VIDEC_PROFILE_EXTENDED   6

Extended profile.

#define FAPEX_VIDEC_PROFILE_HIGH   7

High profile.

#define FAPEX_VIDEC_PROFILE_HIGH_10   8

High 10 profile.

#define FAPEX_VIDEC_PROFILE_HIGH_422   9

High 4:2:2 profile.

#define FAPEX_VIDEC_PROFILE_HIGH_444   10

High 4:4:4 profile.

#define FAPEX_VIDEC_LEVEL_UNKNOWN   (-1)

Specifies an unknown Level.

#define FAPEX_VIDEC_LEVEL_RESERVED   0

Specifies a reserved Level.

#define FAPEX_VIDEC_LEVEL_LOW   1

Low Level.

#define FAPEX_VIDEC_LEVEL_MAIN   2

Main Level.

#define FAPEX_VIDEC_LEVEL_HIGH_1440   3

High 1440 Level.

#define FAPEX_VIDEC_LEVEL_HIGH   4

High Level.

#define FAPEX_VIDEC_LEVEL_1_0   5

Level 1.0.

#define FAPEX_VIDEC_LEVEL_1_0_B   6

Level 1.0 b.

#define FAPEX_VIDEC_LEVEL_1_1   7

Level 1.1.

#define FAPEX_VIDEC_LEVEL_1_2   8

Level 1.2.

#define FAPEX_VIDEC_LEVEL_2_0   9

Level 2.0.

#define FAPEX_VIDEC_LEVEL_2_1   10

Level 2.1.

#define FAPEX_VIDEC_LEVEL_2_2   11

Level 2.2.

#define FAPEX_VIDEC_LEVEL_3_0   12

Level 3.0.

#define FAPEX_VIDEC_LEVEL_3_1   13

Level 3.1.

#define FAPEX_VIDEC_LEVEL_3_2   14

Level 3.2.

#define FAPEX_VIDEC_LEVEL_4_0   15

Level 4.0.

#define FAPEX_VIDEC_LEVEL_4_1   16

Level 4.1.

#define FAPEX_VIDEC_LEVEL_4_2   17

Level 4.2.

#define FAPEX_VIDEC_LEVEL_5_0   18

Level 5.0.

#define FAPEX_VIDEC_LEVEL_5_1   19

Level 5.1.

#define FAPEX_VIDEC_AR_UNKNOWN   0

Unknown aspect ratio.

#define FAPEX_VIDEC_AR_4_3   1

Aspect ratio is 4:3.

#define FAPEX_VIDEC_AR_14_9   2

Aspect ratio is 14:9.

#define FAPEX_VIDEC_AR_16_9   3

Aspect ratio is 16:9.

#define FAPEX_VIDEC_AR_221_100   4

Aspect ratio is 221:100.

#define FAPEX_VIDEC_AR_235_100   5

Aspect ratio is 235:100.

#define FAPEX_VIDEC_BOOT_STATE_NON   (-1)

Not booted state.

#define FAPEX_VIDEC_BOOT_STATE_REQUEST   0

Request to bootState the video core.

#define FAPEX_VIDEC_BOOT_STATE_DONE   1

Video core is in the booted state.

#define FAPEX_VIDEC_RESET_STATE_UNKNOWN   (-1)

Unknown reset state before booting.

#define FAPEX_VIDEC_RESET_STATE_NON   0

Non reset state, after reset is completed this state is the final state.

#define FAPEX_VIDEC_RESET_STATE_REQUEST   1

Request to reset the video core and the driver as well.

#define FAPEX_VIDEC_RESET_STATE_DONE   2

Request to reset the video core and the driver as well is served and now will return to FAPEX_VIDEC_RESET_STATE_NON state.

#define FAPEX_VIDEC_ENABLE_DISABLE_STATE_UNKNOWN   (-1)

Unknown enable/disable state.

#define FAPEX_VIDEC_REQUEST_TO_SYNCHRONIZE_ENABLE_ON_VIDEO_FRAME   0

Request to synchronize enable with first decoded frame.

#define FAPEX_VIDEC_REQUEST_TO_SYNCHRONIZE_ENABLE_ON_VIDEO_SYNC   1

Request to synchronize enable with first decoded frame after Video synchronization to STC.

#define FAPEX_VIDEC_SYNCHRONIZE_ENABLING   2

Request to synchronize enable with first decoded frame is pending.

#define FAPEX_VIDEC_SYNCHRONIZE_ENABLED_ON_VIDEO_FRAME   3

Request to synchronize enable with first decoded frame is served.

#define FAPEX_VIDEC_SYNCHRONIZE_ENABLED_ON_VIDEO_SYNC   4

Request to synchronize enable with first decoded frame synchronized to STC.

#define FAPEX_VIDEC_FORCE_ENABLED   5

Request to forcefully enable on the next occuring Frame sync is done.

#define FAPEX_VIDEC_REQUEST_TO_FORCE_DISABLE   6

Request to forcefully disable on the next occuring Frame sync.

#define FAPEX_VIDEC_FORCE_DISABLED   7

Request to forcefully disable on the next occuring Frame sync is done.

#define FAPEX_VIDEC_START_STOP_STATE_UNKNOWN   (-1)

Unknown start stop state.

#define FAPEX_VIDEC_PREPARE_TO_STOP   0

Prepare to stop.

#define FAPEX_VIDEC_REQUEST_TO_STOP   1

Request to stop.

#define FAPEX_VIDEC_STOPPED   2

Request to stop is served.

#define FAPEX_VIDEC_STOPPED_AFTER_FIRST_IFRAME   3

Software Stop only. Video decoding stops after first I Frame decode.

#define FAPEX_VIDEC_PREPARE_TO_START   4

Prepare to start video decoder.

#define FAPEX_VIDEC_REQUEST_TO_START   5

Request to start video decoding as well.

#define FAPEX_VIDEC_STARTED   6

Request to start is served.

#define FAPEX_VIDEC_FREEZE_OFF   0

Continues the video to the VO block.

#define FAPEX_VIDEC_FREEZE_ON   1

Freezes the video to the VO block.

#define FAPEX_VIDEC_HEALTH_UNKNOWN   (-1)

Specifies an unknown health of the Video decoder

#define FAPEX_VIDEC_HEALTH_GOOD   0

Specifies good health as everything is running normally.

#define FAPEX_VIDEC_HEALTH_BAD_L0   1

Specifies bad health of level 0, a reset is not required. Still VD is in recoverable state.

#define FAPEX_VIDEC_HEALTH_BAD_L1   2

Specifies bad health of level 1, a reset is not required. Still VD is in recoverable state.

#define FAPEX_VIDEC_HEALTH_BAD_L2   3

Specifies bad health of level 2, a reset is not required. Still VD is in recoverable state.

#define FAPEX_VIDEC_HEALTH_DEAD   4

Specifies dead state, a complete reboot is required. VD is non-recoverable state.

#define FAPEX_VIDEC_INFO_NONE   (0x0000)

no decoded frame information

#define FAPEX_VIDEC_INFO_DEC_AVAILABLE   (0x0001)

available flag for first video decode frame

#define FAPEX_VIDEC_INFO_DISP_AVAILABLE   (0x0002)

available flag for first video display frame

#define FAPEX_VIDEC_INFO_DISP_ENABLE   (0x0004)

enable flag for video frame information

#define FAPEX_VIDEC_INFO_DISP_CHANGED_AR   (0x0010)

aspect ratio changed

#define FAPEX_VIDEC_INFO_DISP_CHANGED_FRM_FLD   (0x0020)

frame/field type changed

#define FAPEX_VIDEC_INFO_DISP_CHANGED_FLD_INV   (0x0040)

field inversion changed

#define FAPEX_VIDEC_INFO_DISP_CHANGED_DEC_SIZE   (0x0080)

decoded frame size changed

#define FAPEX_VIDEC_INFO_STOPPED   (0x8000)

stopped video frame decoding

#define FAPEX_VIDEC_UNKNOWN_STREAM_SEGMENT_MODE   -1

select the Stream segment mode

#define FAPEX_VIDEC_STREAM_SEGMENT_MODE_FULL   0

stream segment is normal.

#define FAPEX_VIDEC_STREAM_SEGMENT_MODE_1   1

stream segment is of 1seg type as in ISDB-T

#define FAPEX_IOCCOM_VIDEC_OPEN   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 0, FAPEX_VIDEC_OpenParamStrT)

ioctl specific command for the VIDEC driver

#define FAPEX_IOCCOM_VIDEC_START   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 1, FAPEX_VIDEC_StartParamStrT)
#define FAPEX_IOCCOM_VIDEC_GET_STATUS   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 2, FAPEX_VIDEC_StatusStrT)
#define FAPEX_IOCCOM_VIDEC_SET_OUTPUT   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 3, int32_t)
#define FAPEX_IOCCOM_VIDEC_SET_DISPON   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 4, int32_t)
#define FAPEX_IOCCOM_VIDEC_SET_DISPOFF   _IO (FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 5)
#define FAPEX_IOCCOM_VIDEC_GET_VES_PARAMS   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 6, FAPEX_VIDEC_VESParamStrT)
#define FAPEX_IOCCOM_VIDEC_GET_FRAME_BANK_SIZE   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 7, FAPEX_VIDEC_DecFrameInfoStrT)
#define FAPEX_IOCCOM_VIDEC_GET_DEC_FRAME_INFO   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 8, FAPEX_VIDEC_DecFrameInfoStrT)
#define FAPEX_IOCCOM_VIDEC_SET_PLAYBACK_ENV   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 9, int32_t)
#define FAPEX_IOCCOM_VIDEC_SET_PLAYBACK_MODE   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 10, int32_t)
#define FAPEX_IOCCOM_VIDEC_SET_FREEZE_MODE   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 11, int32_t)
#define FAPEX_IOCCOM_VIDEC_RECOVER   _IO (FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 12)
#define FAPEX_IOCCOM_VIDEC_DEC_SINGLE_I_FRAME   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 13, FAPEX_VIDEC_ESdataParamStrT)
#define FAPEX_IOCCOM_VIDEC_DISP_SINGLE_I_FRAME   _IO (FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 14)
#define FAPEX_IOCCOM_VIDEC_DEC_SEQUENCE_I_FRAME   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 15, FAPEX_VIDEC_ESdataParamStrT)
#define FAPEX_IOCCOM_VIDEC_DISP_SEQUENCE_I_FRAME   _IO (FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 16)
#define FAPEX_IOCCOM_VIDEC_SET_OUTPUT_DELAY   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 17, int32_t)
#define FAPEX_IOCCOM_VIDEC_SET_SYNC   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 18, uint32_t)
#define FAPEX_IOCCOM_SYNC_SETSTCREGULATION   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 19, uint32_t)
#define FAPEX_IOCCOM_SYNC_SETENVIRONMENT   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 20, uint32_t)
#define FAPEX_IOCCOM_VIDEC_SET_STREAMSEGMENTMODE   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_VIDEC + 21, uint32_t)

Function Documentation

FAPEXOPENRET_T FAPEX_VIDEC_Open ( FAPEXOPENARG1_T  id,
FAPEXOPENARG2_T  flags,
FAPEXOPENARG3_T  argptr 
)

open method. This function is called with the systemcall "open".

Parameters:
idThe device identifier.
flagsThis parameter indicate a open mode (read only/write only/read-write).
This implementation supports only read-write mode.
argptrargument pointer (FAPEX_VIDEC_OpenParamStrT)
If descriptor for this 'id' has already been opened, this 'argptr' will be invalid.
Return values:
>=0process OK, new file descriptor is returned.
<0process fails, its value is set to errno.
FAPEXRELRET_T FAPEX_VIDEC_Close ( FAPEXRELARG1_T  id )

release method. This function is called with the systemcall "close".

Parameters:
idThe identifier for this descriptor.
Return values:
0process OK
<0process fails, its value is set to errno.
FAPEXIOCRET_T FAPEX_VIDEC_Ioctl ( FAPEXIOCARG1_T  id,
FAPEXIOCARG2_T  cmd,
FAPEXIOCARG3_T  pArg 
)

ioctl method. This function is called with the systemcall "ioctl".

Parameters:
idThe identifier for this descriptor.
cmdThe ioctl command.
pArgThe pointer to the argument of the ioctl command.
Return values:
0process OK
<0process fails, its value is set to errno.

ioctl command(cmd) type:

  • FAPEX_IOCCOM_VIDEC_SET_OUTPUT_DELAY
    set the delay for video display.
    Set value of delay in milliseconds to pArg.
    For Live stream the output delay can be set dynamically. For PVR playback the output delay should be set before starting the video and only positive delay is allowed under PVR environment. The delay is not applicable in the trick modes.

  • FAPEX_IOCCOM_VIDEC_SET_STREAMSEGMENTMODE
    set the video stream segment mode.
    Set video stream segment mode from pArg.
    FAPEX_VIDEC_STREAM_SEGMENT_MODE_FULL specifies the stream segment is normal. FAPEX_VIDEC_STREAM_SEGMENT_MODE_1 specifies the stream segment is of 1seg type as in ISDB-T in japan and Brazil.
FAPEXMMPRET_T FAPEX_VIDEC_Mmap ( FAPEXMMPARG1_T  start,
FAPEXMMPARG2_T  length,
FAPEXMMPARG3_T  prot,
FAPEXMMPARG4_T  flags,
FAPEXMMPARG5_T  id,
FAPEXMMPARG6_T  offset 
)

mmap method. This function is called with the systemcall "mmap".

This function supports accessing of the mapped area for decoded frame buffer.
The 'length' should be value returned by FAPEX_IOCCOM_VIDEC_GET_FRAME_BANK_SIZE command with FAPEX_VIDEC_Ioctl().
For accessing to frame buffer, you should use decodedWidth, decodedHeight, offset_y and offset_c of FAPEX_VIDEC_DecFrameInfoStrT.
This information of FAPEX_VIDEC_DecFrameInfoStrT is got by using FAPEX_IOCCOM_VIDEC_GET_DEC_FRAME_INFO command with FAPEX_VIDEC_Ioctl().

videc_DecFrameInfoStrT.png
Parameters:
startThe memory mapping start pointer.
lengthThe memory mapping size.
protThe desired memory protection.
flagsThe mapping option.
idThe identifier for this descriptor.
offsetThe memory mapping offset value.
Return values:
>0process OK, its value is the mapping address.
<0process fails, its value is set to errno.
FAPEXMUNMPRET_T FAPEX_VIDEC_Munmap ( FAPEXMMPARG1_T  start,
FAPEXMMPARG2_T  length 
)

munmap method. This function is called with the systemcall "munmap".

Parameters:
startThe memory mapping start pointer.
lengthThe memory mapping size.
Return values:
0process OK
<0process fails, its value is set to errno.


Copyright © 2006-2010 by Fujitsu Semiconductor Europe GmbH
Copyright © 2008-2010 by Fujitsu Semiconductor Limited

Disclaimer:
Please note that the use of this has been based on the terms and conditions of "DK Consent Letter (For Linux)" agreement between you and Fujitsu Semiconductor Limited.
The contents of this document may be revised without prior notice. Contact our sales department for confirmation. The information in this document are presented as is, no license is granted by implication or otherwise.
More...

FUJITSU sales representatives