MainPage Classes Files SearchClassList ClassMembers
ClassListHerearetheclasses,structs,unionsandinterfaceswithbriefdescriptions:audio_info_tcodec_para_tdec_sysinfo_t
GeneratedonFriFeb2515:30:322011forAmcodecby 1.6.1
MainPage Classes Files SearchClassList ClassMembers
audio_info_tStructReferenceListofallmembers.
PublicAttributes
int valid audioextradatavalid(1)orinvalid(0),setbydspint sample_rate
audiostreamsamplerateint channels
audiostreamchannelsint bitrate
audiostreambitrateint codec_id
codecformatidint block_align
audioblockalignfromffmpegint extradata_size
extradatasizechar extradata[2048]
DetailedDescription
Definitionatline42offilecodec_type.h.
Thedocumentationforthisstructwasgeneratedfromthefollowingfile:
include/codec_type.h
GeneratedonFriFeb2515:30:322011forAmcodecby 1.6.1
MainPage Classes Files SearchClassList ClassMembers
codec_para_tStructReferenceCollaborationdiagramforcodec_para_t:
[legend]
Listofallmembers.
PublicAttributes
CODEC_HANDLE handle codecdevicehandlerCODEC_HANDLE cntl_handle videocontroldevicehandlerCODEC_HANDLE sub_handle subtiledevicehandler
stream_type_t stream_type streamtype(es,ps,rm,ts)
unsignedint has_video:1 streamhasvideo(1)ornot(0)
unsignedint has_audio:1 streamhasaudio(1)ornot(0)
unsignedint has_sub:1 streamhassubtitle(1)ornot(0)
unsignedint noblock:1 codecdeviceisNONBLOCK(1)ornot(0)
int video_type streamvideotype(H264,VC1...)
int audio_type streamaudiotype(PCM,WMA...)
int sub_type streamsubtitletype(TXT,SSA...)
int video_pid streamvideopid
int audio_pid streamaudiopid
int sub_pid streamsubtitlepid
int audio_channels
streamaudiochannelnumberint audio_samplerate
steramaudiosamplerateint vbuf_size
videobuffersizeofcodecdeviceint abuf_size
audiobuffersizeofcodecdevicedec_sysinfo_t am_sysinfo
systeminformationforvideoaudio_info_t audio_info
audioinformationpasstoaudiodspint packet_size
datasizeperpacket
DetailedDescription
Definitionatline53offilecodec_type.h.
Thedocumentationforthisstructwasgeneratedfromthefollowingfile:
include/codec_type.h
GeneratedonFriFeb2515:30:322011forAmcodecby 1.6.1
MainPage Classes Files SearchClassList ClassMembers
dec_sysinfo_tStructReferenceListofallmembers.
PublicAttributes
unsignedint format videoformat,suchasH264,MPEG2...unsignedint width videosourcewidthunsignedint height videosourceheightunsignedint rate videosourceframedurationunsignedint extra extradatainformationofvideostreamunsignedint status statusofvideostreamunsignedint ratio aspectratioofvideosource
void* param otherparametersforvideodecoder
DetailedDescription
Definitionatline31offilecodec_type.h.
Thedocumentationforthisstructwasgeneratedfromthefollowingfile:
include/codec_type.h
GeneratedonFriFeb2515:30:322011forAmcodecby 1.6.1
MainPage Classes Files SearchClassList ClassMembers
All Variables
a b c e f h n p r s v w
Hereisalistofalldocumentedclassmemberswithlinkstotheclassdocumentationforeachmember:
-a-
abuf_size:codec_para_tam_sysinfo:codec_para_taudio_channels:codec_para_taudio_info:codec_para_taudio_pid:codec_para_taudio_samplerate:codec_para_taudio_type:codec_para_t
-b-
bitrate:audio_info_tblock_align:audio_info_t
-c-
channels:audio_info_tcntl_handle:codec_para_tcodec_id:audio_info_t
-e-
extra:dec_sysinfo_textradata_size:audio_info_t
-f-
format:dec_sysinfo_t
-h-
handle:codec_para_thas_audio:codec_para_thas_sub:codec_para_thas_video:codec_para_theight:dec_sysinfo_t
-n-
noblock:codec_para_t
-p-
packet_size:codec_para_tparam:dec_sysinfo_t
-r-
rate:dec_sysinfo_tratio:dec_sysinfo_t
-s-
sample_rate:audio_info_tstatus:dec_sysinfo_tstream_type:codec_para_tsub_handle:codec_para_tsub_pid:codec_para_tsub_type:codec_para_t
-v-
valid:audio_info_tvbuf_size:codec_para_tvideo_pid:codec_para_tvideo_type:codec_para_t
-w-
width:dec_sysinfo_t
MainPage Classes Files SearchFileList FileMembers
FileListHereisalistofalldocumentedfileswithbriefdescriptions:audio_ctl/audio_ctrl.c[code] Codeccontrollibfunctionsforaudio
audio_ctl/audio_ctrl.h[code] Functionprototypesofaudiocontrollib
codec/codec_ctrl.c[code] Codeccontrollibfunctions
codec/codec_h_ctrl.c[code]
Functionsofcodecdevicehandleroperation
codec/codec_h_ctrl.h[code]
Definitionofcodecdevicesandfunctionprototypes
codec/codec_msg.c[code] Codecmessagecovertionfunctions
include/audio_priv.h[code] Funtionprototypesofaudiolib
include/codec.h[code] Functionprototypesofcodeclibinclude/codec_error.h[code] Codecerrortypedefinitions
include/codec_msg.h[code] Functionprototypeofcodecerror
include/codec_type.h[code] Definitionsofcodectypeandstructures
GeneratedonFriFeb2515:30:322011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
audio_ctl/audio_ctrl.cFileReferencecodeccontrollibfunctionsforaudioMore...
#include<stdio.h>#include<sys/types.h>#include<sys/stat.h>
#include<errno.h>
#include<sys/ioctl.h>
#include<fcntl.h>
#include<codec_error.h>
#include<codec.h>
#include"adecproc.h"
Includedependencygraphforaudio_ctrl.c:
Gotothesourcecodeofthisfile.
Functions
void audio_start(void) audio_startStartaudiodecodervoid audio_stop(void) audio_stopStopaudiodecodervoid audio_pause(void) audio_pausePauseaudiodecodervoid audio_resume(void) audio_resumeResumeaudiodecoderint codec_get_mutesta(codec_para_t*p)
codec_get_mutestaGetcodecmutestatusint codec_set_mute(codec_para_t*p,intmute)
codec_set_muteSetaudiomuteint codec_get_volume_range(codec_para_t*p,int*min,int*max)
codec_get_volume_rangeGetaudiovolumerangeint codec_set_volume(codec_para_t*p,intval)
codec_set_volumeSetaudiovolumeint codec_get_volume(codec_para_t*p)
codec_get_volumeGetaudiovolumeint codec_set_volume_balance(codec_para_t*p,intbalance)
codec_set_volume_balanceSetvolumebalanceint codec_swap_left_right(codec_para_t*p)
codec_swap_left_rightSwapaudioleftandrightchannelint codec_left_mono(codec_para_t*p)
codec_left_monoSetmonowithleftchannelint codec_right_mono(codec_para_t*p)
codec_right_monoSetmonowithrightchannelint codec_stereo(codec_para_t*p)
codec_stereoSetstereoint codec_audio_automute(intauto_mute)
codec_audio_automuteSetdecodertoautomutemode
int codec_audio_spectrum_switch(codec_para_t*p,intisStart,intinterval)
codec_audio_spectrum_switchSwitchaudiospectrum
DetailedDescription
codeccontrollibfunctionsforaudio
Author:ZhouZhi<[email protected]>
Version:1.0.0
Date:2011-02-24
Definitioninfileaudio_ctrl.c.
FunctionDocumentation
intcodec_audio_automute ( int auto_mute )
codec_audio_automuteSetdecodertoautomutemode
Parameters:[in] auto_mute automutemode
Returns:Commandresult
Definitionatline238offileaudio_ctrl.c.
intcodec_audio_spectrum_switch ( codec_para_t* p,int isStart,int interval )
codec_audio_spectrum_switchSwitchaudiospectrum
Parameters:[in] p Pointerofcodecparameterstructure[in] isStart Start(1)orstop(0)spectrum[in] interval Spectruminterval
Returns:Commandresult
Definitionatline259offileaudio_ctrl.c.
intcodec_get_mutesta ( codec_para_t* p )
codec_get_mutestaGetcodecmutestatus
Parameters:
[in] p Pointerofcodecparameterstructure
Returns:audiocommandresult
Definitionatline72offileaudio_ctrl.c.
intcodec_get_volume ( codec_para_t* p )
codec_get_volumeGetaudiovolume
Parameters:[in] p Pointerofcodecparameterstructure
Returns:commandresult
Definitionatline143offileaudio_ctrl.c.
intcodec_get_volume_range ( codec_para_t* p,int* min,int* max )
codec_get_volume_rangeGetaudiovolumerange
Parameters:[in] p Pointerofcodecparameterstructure[out]min Datatosavetheminvolume[out]max Datatosavethemaxvolume
Returns:notused,readfailed
Definitionatline110offileaudio_ctrl.c.
intcodec_left_mono ( codec_para_t* p )
codec_left_monoSetmonowithleftchannel
Parameters:[in] p Pointerofcodecparameterstructure
Returns:Commandresult
Definitionatline190offileaudio_ctrl.c.
intcodec_right_mono ( codec_para_t* p )
codec_right_monoSetmonowithrightchannel
Parameters:[in] p Pointerofcodecparameterstructure
Returns:Commandresult
Definitionatline206offileaudio_ctrl.c.
intcodec_set_mute ( codec_para_t* p,int mute )
codec_set_muteSetaudiomute
Parameters:[in] p Pointerofcodecparameterstructure[in]mute mutecommand,1formute,0forunmute
Returns:audiocommandresult
Definitionatline89offileaudio_ctrl.c.
intcodec_set_volume ( codec_para_t* p,int val )
codec_set_volumeSetaudiovolume
Parameters:[in] p Pointerofcodecparameterstructure[in] val Volumetobeset
Returns:commandresult
Definitionatline125offileaudio_ctrl.c.
intcodec_set_volume_balance ( codec_para_t* p,int balance )
codec_set_volume_balanceSetvolumebalance
Parameters:[in] p Pointerofcodecparameterstructure[in] balance Balancetobeset
Returns:notused,returnfailed
Definitionatline160offileaudio_ctrl.c.
intcodec_stereo ( codec_para_t* p )
codec_stereoSetstereo
Parameters:[in] p Pointerofcodecparameterstructure
Returns:Commandresult
Definitionatline222offileaudio_ctrl.c.
intcodec_swap_left_right ( codec_para_t* p )
codec_swap_left_rightSwapaudioleftandrightchannel
Parameters:[in] p Pointerofcodecparameterstructure
Returns:Commandresult
Definitionatline174offileaudio_ctrl.c.
GeneratedonFriFeb2515:30:292011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
audio_ctl/audio_ctrl.hFileReferenceFunctionprototypesofaudiocontrollib.More...
Gotothesourcecodeofthisfile.
Functions
void audio_start(void) audio_startStartaudiodecodervoid audio_stop(void) audio_stopStopaudiodecodervoid audio_pause(void) audio_pausePauseaudiodecodervoid audio_resume(void) audio_resumeResumeaudiodecoder
DetailedDescription
Functionprototypesofaudiocontrollib.
Author:ZhangChen<[email protected]>
Version:1.0.0
Date:2011-02-24
Definitioninfileaudio_ctrl.h.
GeneratedonFriFeb2515:30:292011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
codec/codec_ctrl.cFileReferenceCodeccontrollibfunctions.More...
#include<stdio.h>#include<string.h>#include<sys/types.h>
#include<sys/stat.h>
#include<sys/poll.h>
#include<errno.h>
#include<sys/ioctl.h>
#include<fcntl.h>
#include<codec_error.h>
#include<codec_type.h>
#include<codec.h>
#include<audio_priv.h>
#include"codec_h_ctrl.h"
Includedependencygraphforcodec_ctrl.c:
Gotothesourcecodeofthisfile.
Defines
#define SUBTITLE_EVENT#define TS_PACKET_SIZE188
Functions
int codec_init(codec_para_t*pcodec) codec_initInitializethecodecdevicebasedonstreamtypeint codec_write(codec_para_t*pcodec,void*buffer,intlen)
codec_writeWritedatatocodecdeviceint codec_read(codec_para_t*pcodec,void*buffer,intlen)
codec_readReaddatafromcodecdeviceint codec_close(codec_para_t*pcodec)
codec_closeClosecodecdevicevoid codec_close_audio(codec_para_t*pcodec) codec_close_audioCloseaudiodecoder
void codec_resume_audio(codec_para_t*pcodec,unsignedintorig)
codec_resume_audioResumeaudiodecodertowork(etc,afterpause)
int codec_checkin_pts(codec_para_t*pcodec,unsignedlongpts) codec_checkin_ptsCheckinptstocodecdeviceint codec_get_vbuf_state(codec_para_t*p,structbuf_status*buf)
codec_get_vbuf_stateGetthestateofvideobufferbycodecdevice
int codec_get_abuf_state(codec_para_t*p,structbuf_status*buf)
codec_get_abuf_stateGetthestateofaudiobufferbycodecdevice
int codec_get_vdec_state(codec_para_t*p,structvdec_status*vdec)
codec_get_vdec_stateGetthestateofvideodecoderbycodecdevice
int codec_get_adec_state(codec_para_t*p,structadec_status*adec)
codec_get_adec_stateGetthestateofaudiodecoderbycodecdevice
int codec_pause(codec_para_t*p) codec_pausePauseallplaying(A/V)bycodecdeviceint codec_resume(codec_para_t*p)
codec_resumeResumeplaying(A/V)bycodecdeviceint codec_reset(codec_para_t*p)
codec_resetResetcodecdeviceint codec_init_sub(codec_para_t*pcodec)
codec_init_subInitializesubtilecodecdeviceint codec_open_sub_read(void)
codec_open_sub_readOpenread_subtitledevicewhichisspecialforreadsubtiledata
int codec_close_sub(codec_para_t*pcodec) codec_close_subClosesubtiledeviceint codec_close_sub_fd(CODEC_HANDLEsub_fd)
codec_close_sub_fdClosesubtiledevicebyfdint codec_poll_sub(codec_para_t*pcodec)
codec_poll_subPollingsubtiledeviceifsubtitledataisreadyint codec_poll_sub_fd(CODEC_HANDLEsub_fd,inttimeout)
codec_poll_sub_fdPollingsubtiledeviceifsubtitledataisreadybyfd
int codec_get_sub_size(codec_para_t*pcodec) codec_get_sub_sizeGetthesizeofsubtitledatawhichisreadyint codec_get_sub_size_fd(CODEC_HANDLEsub_fd)
codec_get_sub_size_fdGetthesizeofsubtitledatawhichisreadybyfd
int codec_read_sub_data(codec_para_t*pcodec,char*buf,unsignedintlength) codec_read_sub_dataReadsubtitledatafromcodecdevice
int codec_read_sub_data_fd(CODEC_HANDLEsub_fd,char*buf,unsignedintlength)
codec_read_sub_data_fdReadsubtitledatafromcodecdevicebyfd
int codec_write_sub_data(codec_para_t*pcodec,char*buf,
unsignedintlength) codec_write_sub_dataWritesubtiledatatosubtitledeviceint codec_init_cntl(codec_para_t*pcodec)
codec_init_cntlInitializethevideocontroldeviceint codec_close_cntl(codec_para_t*pcodec)
codec_close_cntlClosevideocontroldeviceint codec_poll_cntl(codec_para_t*pcodec)
codec_poll_cntlPollingvideocontroldeviceint codec_get_cntl_state(codec_para_t*pcodec)
codec_get_cntl_stateGetthestatusofvideocontroldevice,especiallyfortrickmode
int codec_set_cntl_mode(codec_para_t*pcodec,unsignedintmode)
codec_set_cntl_modeSetthemodetovideocontroldevice,especiallyfortrickmode
int codec_set_cntl_avthresh(codec_para_t*pcodec,unsignedintavthresh)
codec_set_cntl_avthreshSettheAVsyncthresholdwhichdefinesthemaxtimedifferencebetweenA/V
int codec_set_cntl_syncthresh(codec_para_t*pcodec,unsignedintsyncthresh)
codec_set_cntl_syncthreshSetsyncthresholdcontrolwhichdefinesthestartingsystemtime(holdvideoornot)whenplaying
int codec_reset_audio(codec_para_t*pcodec)
codec_reset_audioResetaudiodecoder,especiallyforaudioswitch
int codec_reset_subtile(codec_para_t*pcodec)
codec_reset_subtileResetsubtitledevice,especiallyforsubtitleswith
int codec_set_audio_pid(codec_para_t*pcodec) codec_set_audio_idSetaudiopidbycodecdeviceint codec_set_sub_id(codec_para_t*pcodec)
codec_set_sub_idSetsubtitlepidbycodecdevice
int codec_audio_reinit(codec_para_t*pcodec) codec_audio_reinitRe-initializeaudiocodecint codec_set_dec_reset(codec_para_t*pcodec)
codec_set_dec_resetSetdecoderresetflagwhenreset
DetailedDescription
Codeccontrollibfunctions.
Author:ZhouZhi<[email protected]>
Version:1.0.0
Date:2011-02-24
Definitioninfilecodec_ctrl.c.
FunctionDocumentation
intcodec_audio_reinit ( codec_para_t* pcodec )
codec_audio_reinitRe-initializeaudiocodec
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:0forsuccess,orfailtypeif<0
Definitionatline1395offilecodec_ctrl.c.
intcodec_checkin_pts ( codec_para_t* pcodec,unsignedlong pts )
codec_checkin_ptsCheckinptstocodecdevice
Parameters:[in] pcodec Pointerofcodecparameterstructure[in] pts Ptstobecheckedin
Returns:0forsuccess,orfailtype
Definitionatline750offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_close ( codec_para_t* pcodec )
codec_closeClosecodecdevice
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:0forsuccess,orfailtypeif<0
Definitionatline694offilecodec_ctrl.c.
Referencedbycodec_reset().
Hereisthecallgraphforthisfunction:
voidcodec_close_audio ( codec_para_t* pcodec )
codec_close_audioCloseaudiodecoder
Parameters:[in] pcodec Pointerofcodecparameterstructure
Definitionatline714offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_close_cntl ( codec_para_t* pcodec )
codec_close_cntlClosevideocontroldevice
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:
Successorfailerrortype
Definitionatline1227offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_close_sub ( codec_para_t* pcodec )
codec_close_subClosesubtiledevice
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Successorfailerrortype
Definitionatline987offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_close_sub_fd ( CODEC_HANDLE sub_fd )
codec_close_sub_fdClosesubtiledevicebyfd
Parameters:[in] sub_fd subtiledevicefd
Returns:0forsuccess,orfailtypeif<0
Definitionatline1004offilecodec_ctrl.c.
Referencedbycodec_close().
Hereisthecallgraphforthisfunction:
intcodec_get_abuf_state ( codec_para_t* p,structbuf_status* buf )
codec_get_abuf_stateGetthestateofaudiobufferbycodecdevice
Parameters:[in] p Pointerofcodecparameterstructure
[out] buf Pointerofbufferstatusstructuretogetaudiobufferstate
Returns:Successorfailtype
Definitionatline784offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_get_adec_state ( codec_para_t* p,structadec_status* adec )
codec_get_adec_stateGetthestateofaudiodecoderbycodecdevice
Parameters:[in] p Pointerofcodecparameterstructure[out] adec Pointerofaudiodecoderstatusstructure
Returns:Successorfailtype
Definitionatline825offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_get_cntl_state ( codec_para_t* pcodec )
codec_get_cntl_stateGetthestatusofvideocontroldevice,especiallyfortrickmode
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Videocontroldevicestatusorfailerrortype
Definitionatline1267offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_get_sub_size ( codec_para_t* pcodec )
codec_get_sub_sizeGetthesizeofsubtitledatawhichisready
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Subtilereadydatasize,orfailerrortypeif<0
Definitionatline1065offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_get_sub_size_fd ( CODEC_HANDLE sub_fd )
codec_get_sub_size_fdGetthesizeofsubtitledatawhichisreadybyfd
Parameters:[in] sub_fd Subtitledevicefd
Returns:Subtilereadydatasize,orfailerrortypeif<0
Definitionatline1091offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_get_vbuf_state ( codec_para_t* p,structbuf_status* buf )
codec_get_vbuf_stateGetthestateofvideobufferbycodecdevice
Parameters:[in] p Pointerofcodecparameterstructure
[out] buf Pointerofbufferstatusstructuretogetvideobufferstate
Returns:
Successorfailtype
Definitionatline766offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_get_vdec_state ( codec_para_t* p,structvdec_status* vdec )
codec_get_vdec_stateGetthestateofvideodecoderbycodecdevice
Parameters:[in] p Pointerofcodecparameterstructure[out] vdec Pointerofvideodecoderstatusstructure
Returns:Successorfailtype
Definitionatline803offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_init ( codec_para_t* pcodec )
codec_initInitializethecodecdevicebasedonstreamtype
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Successorfailerrortype
Definitionatline607offilecodec_ctrl.c.
Referencedbycodec_reset().
Hereisthecallgraphforthisfunction:
intcodec_init_cntl ( codec_para_t* pcodec )
codec_init_cntlInitializethevideocontroldevice
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Successorfailerrortype
Definitionatline1204offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_init_sub ( codec_para_t* pcodec )
codec_init_subInitializesubtilecodecdevice
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Successorfailerrortype
Definitionatline943offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_open_sub_read ( void )
codec_open_sub_readOpenread_subtitledevicewhichisspecialforreadsubtiledata
Returns:Devicehandler,orerrortypeif<0
Definitionatline965offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_pause ( codec_para_t* p )
codec_pausePauseallplaying(A/V)bycodecdevice
Parameters:[in] p Pointerofcodecparameterstructure
Returns:
Successorfailerrortype
Definitionatline873offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_poll_cntl ( codec_para_t* pcodec )
codec_poll_cntlPollingvideocontroldevice
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Pollingresults
Definitionatline1244offilecodec_ctrl.c.
intcodec_poll_sub ( codec_para_t* pcodec )
codec_poll_subPollingsubtiledeviceifsubtitledataisready
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Pollingresult
Definitionatline1018offilecodec_ctrl.c.
intcodec_poll_sub_fd ( CODEC_HANDLE sub_fd,int timeout )
codec_poll_sub_fdPollingsubtiledeviceifsubtitledataisreadybyfd
Parameters:[in] sub_fd Subtitledevicefd[in] timeout Timeoutforpolling
Returns:Pollingresult
Definitionatline1042offilecodec_ctrl.c.
intcodec_read ( codec_para_t* pcodec,void* buffer,int len )
codec_readReaddatafromcodecdevice
Parameters:[in] pcodec Pointerofcodecparameterstructure[out] buffer Bufferfordatareadfromcodecdevice[in] len Lengthofthedatatoberead
Returns:Lengthofthereaddata,orfailif<0
Definitionatline680offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_read_sub_data ( codec_para_t* pcodec,char* buf,unsignedint length )
codec_read_sub_dataReadsubtitledatafromcodecdevice
Parameters:[in] pcodec Pointerofcodecparameterstructure[out] buf Bufferfordatareadfromsubtitlecodecdevice[in] length Datalengthtobereadfromsubtitlecodecdevice
Returns:0forsuccess,orfailtypeif<0
Definitionatline1119offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_read_sub_data_fd ( CODEC_HANDLE sub_fd,char* buf,unsignedint length )
codec_read_sub_data_fdReadsubtitledatafromcodecdevicebyfd
Parameters:[in] sub_fd Subtitledevicefd[out] buf Bufferfordatareadfromsubtitlecodecdevice[in] length Datalengthtobereadfromsubtilecodecdevice
Returns:0forsuccess,orfailtypeif<0
Definitionatline1152offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_reset ( codec_para_t* p )
codec_resetResetcodecdevice
Parameters:[in] p Pointerofcodecparameterstructure
Returns:Successorfailerrortype
Definitionatline922offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_reset_audio ( codec_para_t* pcodec )
codec_reset_audioResetaudiodecoder,especiallyforaudioswitch
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:
0forsuccess,orfailtypeif<0
Definitionatline1339offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_reset_subtile ( codec_para_t* pcodec )
codec_reset_subtileResetsubtitledevice,especiallyforsubtitleswith
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:0forsuccess,orfailtypeif<0
Definitionatline1353offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_resume ( codec_para_t* p )
codec_resumeResumeplaying(A/V)bycodecdevice
Parameters:[in] p Pointerofcodecparameterstructure
Returns:Successorfailerrortype
Definitionatline897offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
voidcodec_resume_audio ( codec_para_t* pcodec,unsignedint orig )
codec_resume_audioResumeaudiodecodertowork(etc,afterpause)
Parameters:[in] pcodec Pointerofcodecparameterstructure[in] orig Originalaudiostatus(hasaudioornot)
Definitionatline731offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_set_audio_pid ( codec_para_t* pcodec )
codec_set_audio_idSetaudiopidbycodecdevice
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:0forsuccess,orfailtypeif<0
Definitionatline1367offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_set_cntl_avthresh ( codec_para_t* pcodec,unsignedint avthresh )
codec_set_cntl_avthreshSettheAVsyncthresholdwhichdefinesthemaxtimedifferencebetweenA/V
Parameters:[in] pcodec Pointerofcodecparameterstructure[in] avthresh Thresholdtobeset
Returns:0forsuccess,orfailtypeif<0
Definitionatline1309offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_set_cntl_mode ( codec_para_t* pcodec,unsignedint mode )
codec_set_cntl_modeSetthemodetovideocontroldevice,especiallyfortrickmode
Parameters:[in] pcodec Pointerofcodecparameterstructure[in]mode Trickmodetobeset
Returns:0forsuccess,orfailtypeif<0
Definitionatline1294offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_set_cntl_syncthresh ( codec_para_t* pcodec,
unsignedint syncthresh )
codec_set_cntl_syncthreshSetsyncthresholdcontrolwhichdefinesthestartingsystemtime(holdvideoornot)whenplaying
Parameters:[in] pcodec Pointerofcodecparameterstructure[in] syncthresh Syncthresholdcontrol
Returns:0forsuccess,orfailtypeif<0
Definitionatline1325offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_set_dec_reset ( codec_para_t* pcodec )
codec_set_dec_resetSetdecoderresetflagwhenreset
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:0forsuccess,orfailtypeif<0
Definitionatline1409offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_set_sub_id ( codec_para_t* pcodec )
codec_set_sub_idSetsubtitlepidbycodecdevice
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:0forsuccess,orfailtypeif<0
Definitionatline1381offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_write ( codec_para_t* pcodec,void* buffer,int len )
codec_writeWritedatatocodecdevice
Parameters:[in] pcodec Pointerofcodecparameterstructure[in] buffer Bufferfordatatobewritten[in] len Lengthofthedatatobewritten
Returns:Lengthofthewrittendata,orfailif<0
Definitionatline664offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_write_sub_data ( codec_para_t* pcodec,char* buf,
unsignedint length
)
codec_write_sub_dataWritesubtiledatatosubtitledevice
Parameters:[in] pcodec Pointerofcodecparameterstructure[in] buf Bufferfordatatobewritten[in] length Lengthofthedattobewritten
Returns:Writelength,orfailtypeif<0
Definitionatline1185offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
GeneratedonFriFeb2515:30:302011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
codec/codec_h_ctrl.cFileReferencefunctionsofcodecdevicehandleroperationMore...
#include<stdio.h>#include<sys/types.h>#include<sys/stat.h>
#include<errno.h>
#include<sys/ioctl.h>
#include<fcntl.h>
#include<sys/mman.h>
#include<codec_error.h>
#include<codec.h>
#include"codec_h_ctrl.h"
Includedependencygraphforcodec_h_ctrl.c:
Gotothesourcecodeofthisfile.
Functions
CODEC_HANDLE codec_h_open(constchar*port_addr,intflags) codec_h_openOpencodecdevicesbyfilenameCODEC_HANDLE codec_h_open_rd(constchar*port_addr)
codec_h_open_rdOpencodecdevicesbyfilenameinread_onlymode
int codec_h_close(CODEC_HANDLEh) codec_h_closeClosecodecdevices
int codec_h_control(CODEC_HANDLEh,intcmd,unsignedlongparamter)
codec_h_controlIOCTLcommandsforcodecdevices
int codec_h_read(CODEC_HANDLEhandle,void*buffer,intsize) codec_h_readReaddatafromcodecdevices
int codec_h_write(CODEC_HANDLEhandle,void*buffer,intsize) codec_h_writeWritedatatocodecdevices
DetailedDescription
functionsofcodecdevicehandleroperation
Author:ZhouZhi<[email protected]>
Version:2.0.0
Date:2011-02-24
Definitioninfilecodec_h_ctrl.c.
FunctionDocumentation
intcodec_h_close ( CODEC_HANDLE h )
codec_h_closeClosecodecdevices
Parameters:[in] h Handlerofcodecdevice
Returns:0forsuccess
Definitionatline74offilecodec_h_ctrl.c.
Referencedbycodec_close(),codec_close_cntl(),codec_close_sub(),andcodec_close_sub_fd().
intcodec_h_control ( CODEC_HANDLE h,int cmd,unsignedlong paramter )
codec_h_controlIOCTLcommandsforcodecdevices
Parameters:[in] h Codecdevicehandler[in] cmd IOCTLcommands[in] paramter IOCTLcommandsparameter
Returns:0forsuccess,non-0forfail
Definitionatline93offilecodec_h_ctrl.c.
Referencedbycodec_checkin_pts(),codec_get_abuf_state(),codec_get_adec_state(),codec_get_cntl_state(),
codec_get_sub_size(),codec_get_sub_size_fd(),codec_get_vbuf_state(),codec_get_vdec_state(),codec_init(),codec_reset_audio(),codec_reset_subtile(),codec_set_audio_pid(),codec_set_cntl_avthresh(),codec_set_cntl_mode(),codec_set_cntl_syncthresh(),codec_set_dec_reset(),andcodec_set_sub_id().
CODEC_HANDLEcodec_h_open ( constchar* port_addr,int flags )
codec_h_openOpencodecdevicesbyfilename
Parameters:[in] port_addr Filenameofcodecdevice[in] flags Openflags
Returns:Thehandlerofcodecdevice
Definitionatline34offilecodec_h_ctrl.c.
Referencedbycodec_init_cntl(),andcodec_init_sub().
CODEC_HANDLEcodec_h_open_rd ( constchar* port_addr )
codec_h_open_rdOpencodecdevicesbyfilenameinread_onlymode
Parameters:[in] port_addr Filenameofcodecdevice
Returns:THehandlerofcodecdevice
Definitionatline54offilecodec_h_ctrl.c.
Referencedbycodec_open_sub_read().
intcodec_h_read ( CODEC_HANDLE handle,void* buffer,int size )
codec_h_readReaddatafromcodecdevices
Parameters:[in] handle Codecdevicehandler[out] buffer Bufferforthedatareadfromcodecdevice[in] size Sizeofthedatatoberead
Returns:readlengthorfailif<0
Definitionatline119offilecodec_h_ctrl.c.
Referencedbycodec_read(),codec_read_sub_data(),andcodec_read_sub_data_fd().
intcodec_h_write ( CODEC_HANDLE handle,void* buffer,int size )
codec_h_writeWritedatatocodecdevices
Parameters:[in] handle Codecdevicehandler[out] buffer Bufferforthedatatobewrittentocodecdevice[in] size Sizeofthedatatobewritten
Returns:writelengthorfailif<0
Definitionatline137offilecodec_h_ctrl.c.
Referencedbycodec_write(),andcodec_write_sub_data().
GeneratedonFriFeb2515:30:302011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
codec/codec_h_ctrl.hFileReferenceDefinitionofcodecdevicesandfunctionprototypes.More...
#include<codec_type.h>#include<codec_error.h>Includedependencygraphforcodec_h_ctrl.h:
Thisgraphshowswhichfilesdirectlyorindirectlyincludethisfile:
Gotothesourcecodeofthisfile.
Defines
#define CODEC_DEBUG#define CODEC_PRINT(f,s...)fprintf(stderr,f,##s)#define CODEC_VIDEO_ES_DEVICE"/dev/amstream_vbuf"#define CODEC_AUDIO_ES_DEVICE"/dev/amstream_abuf"#define CODEC_TS_DEVICE"/dev/amstream_mpts"#define CODEC_PS_DEVICE"/dev/amstream_mpps"#define CODEC_RM_DEVICE"/dev/amstream_rm"#define CODEC_CNTL_DEVICE"/dev/amvideo"#define CODEC_SUB_DEVICE"/dev/amstream_sub"#define CODEC_SUB_READ_DEVICE"/dev/amstream_sub_read"
Functions
CODEC_HANDLE codec_h_open(constchar*port_addr,intflags) codec_h_openOpencodecdevicesbyfilename
int codec_h_close(CODEC_HANDLEh) codec_h_closeClosecodecdevices
int codec_h_write(CODEC_HANDLE,void*,int) codec_h_writeWritedatatocodecdevices
int codec_h_read(CODEC_HANDLE,void*,int) codec_h_readReaddatafromcodecdevices
int codec_h_control(CODEC_HANDLEh,intcmd,unsignedlongparamter)
codec_h_controlIOCTLcommandsforcodecdevices
DetailedDescription
Definitionofcodecdevicesandfunctionprototypes.
Author:ZhangChen<[email protected]>
Version:1.0.0
Date:2011-02-24
Definitioninfilecodec_h_ctrl.h.
FunctionDocumentation
intcodec_h_close ( CODEC_HANDLE h )
codec_h_closeClosecodecdevices
Parameters:[in] h Handlerofcodecdevice
Returns:0forsuccess
Definitionatline74offilecodec_h_ctrl.c.
Referencedbycodec_close(),codec_close_cntl(),codec_close_sub(),andcodec_close_sub_fd().
intcodec_h_control ( CODEC_HANDLE h,int cmd,unsignedlong paramter )
codec_h_controlIOCTLcommandsforcodecdevices
Parameters:[in] h Codecdevicehandler[in] cmd IOCTLcommands[in] paramter IOCTLcommandsparameter
Returns:0forsuccess,non-0forfail
Definitionatline93offilecodec_h_ctrl.c.
Referencedbycodec_checkin_pts(),codec_get_abuf_state(),codec_get_adec_state(),codec_get_cntl_state(),
codec_get_sub_size(),codec_get_sub_size_fd(),codec_get_vbuf_state(),codec_get_vdec_state(),codec_init(),codec_reset_audio(),codec_reset_subtile(),codec_set_audio_pid(),codec_set_cntl_avthresh(),codec_set_cntl_mode(),codec_set_cntl_syncthresh(),codec_set_dec_reset(),andcodec_set_sub_id().
CODEC_HANDLEcodec_h_open ( constchar* port_addr,int flags )
codec_h_openOpencodecdevicesbyfilename
Parameters:[in] port_addr Filenameofcodecdevice[in] flags Openflags
Returns:Thehandlerofcodecdevice
Definitionatline34offilecodec_h_ctrl.c.
Referencedbycodec_init_cntl(),andcodec_init_sub().
intcodec_h_read ( CODEC_HANDLE handle,void* buffer,int size )
codec_h_readReaddatafromcodecdevices
Parameters:[in] handle Codecdevicehandler[out] buffer Bufferforthedatareadfromcodecdevice[in] size Sizeofthedatatoberead
Returns:readlengthorfailif<0
Definitionatline119offilecodec_h_ctrl.c.
Referencedbycodec_read(),codec_read_sub_data(),andcodec_read_sub_data_fd().
intcodec_h_write ( CODEC_HANDLE handle,void* buffer,int size )
codec_h_writeWritedatatocodecdevices
Parameters:[in] handle Codecdevicehandler[out] buffer Bufferforthedatatobewrittentocodecdevice[in] size Sizeofthedatatobewritten
Returns:writelengthorfailif<0
Definitionatline137offilecodec_h_ctrl.c.
Referencedbycodec_write(),andcodec_write_sub_data().
GeneratedonFriFeb2515:30:312011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
codec/codec_msg.cFileReferenceCodecmessagecovertionfunctions.More...
#include<stdio.h>#include<sys/types.h>#include<sys/stat.h>
#include<errno.h>
#include<sys/ioctl.h>
#include<fcntl.h>
#include<codec_error.h>
#include<codec.h>
#include"codec_h_ctrl.h"
Includedependencygraphforcodec_msg.c:
Gotothesourcecodeofthisfile.
Functions
int system_error_to_codec_error(interror)
system_error_to_codec_errorConvertsystemerrortocodecerrortypes
constchar* codec_error_msg(interror) codec_error_msgConvertcodectypetoerrormessage
void print_error_msg(interror,char*func,intline) print_error_msgPrinterrormessageinuniformformat
DetailedDescription
Codecmessagecovertionfunctions.
Author:ZhangChen<[email protected]>
Version:1.0.0
Date:2011-02-24
Definitioninfilecodec_msg.c.
FunctionDocumentation
constchar*codec_error_msg ( int error )
codec_error_msgConvertcodectypetoerrormessage
Parameters:[in] error Codecerrortype
Returns:Errormessagestring
Definitionatline59offilecodec_msg.c.
Referencedbycodec_get_vdec_state(),andprint_error_msg().
voidprint_error_msg ( int error,char* func,int line )
print_error_msgPrinterrormessageinuniformformat
Parameters:[in] error Codecerrortype[in] func Functionwhereerrorhappens[in] line Linewhereerrorhappens
Definitionatline98offilecodec_msg.c.
Hereisthecallgraphforthisfunction:
intsystem_error_to_codec_error ( int error )
system_error_to_codec_errorConvertsystemerrortocodecerrortypes
Parameters:[in] error Systemerrortobeconverted
Returns:Codecerrortype
Definitionatline34offilecodec_msg.c.
Referencedbycodec_get_abuf_state(),codec_get_adec_state(),codec_get_cntl_state(),codec_get_sub_size(),codec_get_sub_size_fd(),codec_get_vbuf_state(),codec_get_vdec_state(),codec_init_cntl(),codec_init_sub(),codec_open_sub_read(),codec_read_sub_data(),codec_read_sub_data_fd(),andcodec_reset().
GeneratedonFriFeb2515:30:312011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
include/audio_priv.hFileReferenceFuntionprototypesofaudiolib.More...
Thisgraphshowswhichfilesdirectlyorindirectlyincludethisfile:
Gotothesourcecodeofthisfile.
Functions
void audio_start(void) audio_startStartaudiodecodervoid audio_stop(void) audio_stopStopaudiodecodervoid audio_pause(void) audio_pausePauseaudiodecodervoid audio_resume(void) audio_resumeResumeaudiodecoder
DetailedDescription
Funtionprototypesofaudiolib.
Author:ZhangChen<[email protected]>
Version:1.0.0
Date:2011-02-24
Definitioninfileaudio_priv.h.
GeneratedonFriFeb2515:30:312011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
include/codec.hFileReferenceFunctionprototypesofcodeclib.More...
#include<codec_type.h>#include<codec_error.h>Includedependencygraphforcodec.h:
Thisgraphshowswhichfilesdirectlyorindirectlyincludethisfile:
Gotothesourcecodeofthisfile.
Functions
int codec_init(codec_para_t*) codec_initInitializethecodecdevicebasedonstreamtypeint codec_close(codec_para_t*)
codec_closeClosecodecdevicevoid codec_close_audio(codec_para_t*) codec_close_audioCloseaudiodecodervoid codec_resume_audio(codec_para_t*,unsignedint)
codec_resume_audioResumeaudiodecodertowork(etc,afterpause)
int codec_reset(codec_para_t*) codec_resetResetcodecdeviceint codec_init_sub(codec_para_t*)
codec_init_subInitializesubtilecodecdeviceint codec_open_sub_read(void)
codec_open_sub_readOpenread_subtitledevicewhichisspecialforreadsubtiledata
int codec_close_sub(codec_para_t*) codec_close_subClosesubtiledeviceint codec_close_sub_fd(CODEC_HANDLE)
codec_close_sub_fdClosesubtiledevicebyfdint codec_reset_subtile(codec_para_t*pcodec)
codec_reset_subtileResetsubtitledevice,especiallyforsubtitleswith
int codec_poll_sub(codec_para_t*) codec_poll_subPollingsubtiledeviceifsubtitledataisreadyint codec_poll_sub_fd(CODEC_HANDLE,int)
codec_poll_sub_fdPollingsubtiledeviceifsubtitledataisreadybyfd
int codec_get_sub_size(codec_para_t*) codec_get_sub_sizeGetthesizeofsubtitledatawhichisready
int codec_get_sub_size_fd(CODEC_HANDLE)
codec_get_sub_size_fdGetthesizeofsubtitledatawhichisreadybyfd
int codec_read_sub_data(codec_para_t*,char*,unsignedint) codec_read_sub_dataReadsubtitledatafromcodecdevice
int codec_read_sub_data_fd(CODEC_HANDLE,char*,unsignedint)
codec_read_sub_data_fdReadsubtitledatafromcodecdevicebyfd
int codec_write_sub_data(codec_para_t*,char*,unsignedint) codec_write_sub_dataWritesubtiledatatosubtitledeviceint codec_init_cntl(codec_para_t*)
codec_init_cntlInitializethevideocontroldeviceint codec_close_cntl(codec_para_t*)
codec_close_cntlClosevideocontroldeviceint codec_poll_cntl(codec_para_t*)
codec_poll_cntlPollingvideocontroldeviceint codec_get_cntl_state(codec_para_t*)
codec_get_cntl_stateGetthestatusofvideocontroldevice,especiallyfortrickmode
int codec_set_cntl_mode(codec_para_t*,unsignedint)
codec_set_cntl_modeSetthemodetovideocontroldevice,especiallyfortrickmode
int codec_set_cntl_avthresh(codec_para_t*,unsignedint)
codec_set_cntl_avthreshSettheAVsyncthresholdwhichdefinesthemaxtimedifferencebetweenA/V
int codec_set_cntl_syncthresh(codec_para_t*pcodec,unsignedintsyncthresh)
codec_set_cntl_syncthreshSetsyncthresholdcontrolwhichdefinesthestartingsystemtime(holdvideoornot)whenplaying
int codec_reset_audio(codec_para_t*pcodec)
codec_reset_audioResetaudiodecoder,especiallyforaudioswitch
int codec_set_audio_pid(codec_para_t*pcodec) codec_set_audio_idSetaudiopidbycodecdeviceint codec_set_sub_id(codec_para_t*pcodec)
codec_set_sub_idSetsubtitlepidbycodecdeviceint codec_audio_reinit(codec_para_t*pcodec)
codec_audio_reinitRe-initializeaudiocodecint codec_set_dec_reset(codec_para_t*pcodec)
codec_set_dec_resetSetdecoderresetflagwhenresetint codec_write(codec_para_t*pcodec,void*buffer,intlen)
codec_writeWritedatatocodecdeviceint codec_checkin_pts(codec_para_t*pcodec,unsignedlongpts)
codec_checkin_ptsCheckinptstocodecdeviceint codec_get_vbuf_state(codec_para_t*,structbuf_status*)
codec_get_vbuf_stateGetthestateofvideobufferbycodecdevice
int codec_get_abuf_state(codec_para_t*,structbuf_status*)
codec_get_abuf_stateGetthestateofaudiobufferbycodecdevice
int codec_get_vdec_state(codec_para_t*,structvdec_status*)
codec_get_vdec_stateGetthestateofvideodecoderbycodecdevice
int codec_get_adec_state(codec_para_t*,structadec_status*)
codec_get_adec_stateGetthestateofaudiodecoderbycodecdevice
int codec_pause(codec_para_t*) codec_pausePauseallplaying(A/V)bycodecdeviceint codec_resume(codec_para_t*)
codec_resumeResumeplaying(A/V)bycodecdeviceint codec_audio_search(codec_para_t*p)int codec_set_mute(codec_para_t*p,intmute)
codec_set_muteSetaudiomuteint codec_get_volume_range(codec_para_t*,int*min,int*max)
codec_get_volume_rangeGetaudiovolumerange
int codec_set_volume(codec_para_t*,intval) codec_set_volumeSetaudiovolumeint codec_get_volume(codec_para_t*)
codec_get_volumeGetaudiovolumeint codec_get_mutesta(codec_para_t*)
codec_get_mutestaGetcodecmutestatusint codec_set_volume_balance(codec_para_t*,int)
codec_set_volume_balanceSetvolumebalanceint codec_swap_left_right(codec_para_t*)
codec_swap_left_rightSwapaudioleftandrightchannelint codec_left_mono(codec_para_t*p)
codec_left_monoSetmonowithleftchannelint codec_right_mono(codec_para_t*p)
codec_right_monoSetmonowithrightchannelint codec_stereo(codec_para_t*p)
codec_stereoSetstereoint codec_audio_automute(intauto_mute)
codec_audio_automuteSetdecodertoautomutemode
int codec_audio_spectrum_switch(codec_para_t*p,intisStart,intinterval)
codec_audio_spectrum_switchSwitchaudiospectrum
DetailedDescription
Functionprototypesofcodeclib.
Author:ZhangChen<[email protected]>
Version:1.0.0
Date:2011-02-24
Definitioninfilecodec.h.
FunctionDocumentation
intcodec_audio_automute ( int auto_mute )
codec_audio_automuteSetdecodertoautomutemode
Parameters:[in] auto_mute automutemode
Returns:Commandresult
Definitionatline238offileaudio_ctrl.c.
intcodec_audio_reinit ( codec_para_t* pcodec )
codec_audio_reinitRe-initializeaudiocodec
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:0forsuccess,orfailtypeif<0
Definitionatline1395offilecodec_ctrl.c.
intcodec_audio_spectrum_switch ( codec_para_t* p,int isStart,int interval )
codec_audio_spectrum_switchSwitchaudiospectrum
Parameters:[in] p Pointerofcodecparameterstructure[in] isStart Start(1)orstop(0)spectrum
[in] interval Spectruminterval
Returns:Commandresult
Definitionatline259offileaudio_ctrl.c.
intcodec_checkin_pts ( codec_para_t* pcodec,unsignedlong pts )
codec_checkin_ptsCheckinptstocodecdevice
Parameters:[in] pcodec Pointerofcodecparameterstructure[in] pts Ptstobecheckedin
Returns:0forsuccess,orfailtype
Definitionatline750offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_close ( codec_para_t* pcodec )
codec_closeClosecodecdevice
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:0forsuccess,orfailtypeif<0
Definitionatline694offilecodec_ctrl.c.
Referencedbycodec_reset().
Hereisthecallgraphforthisfunction:
voidcodec_close_audio ( codec_para_t* pcodec )
codec_close_audioCloseaudiodecoder
Parameters:[in] pcodec Pointerofcodecparameterstructure
Definitionatline714offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_close_cntl ( codec_para_t* pcodec )
codec_close_cntlClosevideocontroldevice
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Successorfailerrortype
Definitionatline1227offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_close_sub ( codec_para_t* pcodec )
codec_close_subClosesubtiledevice
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Successorfailerrortype
Definitionatline987offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_close_sub_fd ( CODEC_HANDLE sub_fd )
codec_close_sub_fdClosesubtiledevicebyfd
Parameters:[in] sub_fd subtiledevicefd
Returns:0forsuccess,orfailtypeif<0
Definitionatline1004offilecodec_ctrl.c.
Referencedbycodec_close().
Hereisthecallgraphforthisfunction:
intcodec_get_abuf_state ( codec_para_t* p,structbuf_status* buf )
codec_get_abuf_stateGetthestateofaudiobufferbycodecdevice
Parameters:[in] p Pointerofcodecparameterstructure
[out] buf Pointerofbufferstatusstructuretogetaudiobufferstate
Returns:Successorfailtype
Definitionatline784offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_get_adec_state ( codec_para_t* p,structadec_status* adec )
codec_get_adec_stateGetthestateofaudiodecoderbycodecdevice
Parameters:[in] p Pointerofcodecparameterstructure[out] adec Pointerofaudiodecoderstatusstructure
Returns:Successorfailtype
Definitionatline825offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_get_cntl_state ( codec_para_t* pcodec )
codec_get_cntl_stateGetthestatusofvideocontroldevice,especiallyfortrickmode
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Videocontroldevicestatusorfailerrortype
Definitionatline1267offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_get_mutesta ( codec_para_t* p )
codec_get_mutestaGetcodecmutestatus
Parameters:[in] p Pointerofcodecparameterstructure
Returns:audiocommandresult
Definitionatline72offileaudio_ctrl.c.
intcodec_get_sub_size ( codec_para_t* pcodec )
codec_get_sub_sizeGetthesizeofsubtitledatawhichisready
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Subtilereadydatasize,orfailerrortypeif<0
Definitionatline1065offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_get_sub_size_fd ( CODEC_HANDLE sub_fd )
codec_get_sub_size_fdGetthesizeofsubtitledatawhichisreadybyfd
Parameters:[in] sub_fd Subtitledevicefd
Returns:Subtilereadydatasize,orfailerrortypeif<0
Definitionatline1091offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_get_vbuf_state ( codec_para_t* p,structbuf_status* buf
)
codec_get_vbuf_stateGetthestateofvideobufferbycodecdevice
Parameters:[in] p Pointerofcodecparameterstructure
[out] buf Pointerofbufferstatusstructuretogetvideobufferstate
Returns:Successorfailtype
Definitionatline766offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_get_vdec_state ( codec_para_t* p,structvdec_status* vdec )
codec_get_vdec_stateGetthestateofvideodecoderbycodecdevice
Parameters:[in] p Pointerofcodecparameterstructure[out] vdec Pointerofvideodecoderstatusstructure
Returns:Successorfailtype
Definitionatline803offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_get_volume ( codec_para_t* p )
codec_get_volumeGetaudiovolume
Parameters:[in] p Pointerofcodecparameterstructure
Returns:commandresult
Definitionatline143offileaudio_ctrl.c.
intcodec_get_volume_range ( codec_para_t* p,int* min,int* max )
codec_get_volume_rangeGetaudiovolumerange
Parameters:[in] p Pointerofcodecparameterstructure[out]min Datatosavetheminvolume[out]max Datatosavethemaxvolume
Returns:notused,readfailed
Definitionatline110offileaudio_ctrl.c.
intcodec_init ( codec_para_t* pcodec )
codec_initInitializethecodecdevicebasedonstreamtype
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Successorfailerrortype
Definitionatline607offilecodec_ctrl.c.
Referencedbycodec_reset().
Hereisthecallgraphforthisfunction:
intcodec_init_cntl ( codec_para_t* pcodec )
codec_init_cntlInitializethevideocontroldevice
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Successorfailerrortype
Definitionatline1204offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_init_sub ( codec_para_t* pcodec )
codec_init_subInitializesubtilecodecdevice
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Successorfailerrortype
Definitionatline943offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_left_mono ( codec_para_t* p )
codec_left_monoSetmonowithleftchannel
Parameters:[in] p Pointerofcodecparameterstructure
Returns:Commandresult
Definitionatline190offileaudio_ctrl.c.
intcodec_open_sub_read ( void )
codec_open_sub_readOpenread_subtitledevicewhichisspecialforreadsubtiledata
Returns:Devicehandler,orerrortypeif<0
Definitionatline965offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_pause ( codec_para_t* p )
codec_pausePauseallplaying(A/V)bycodecdevice
Parameters:[in] p Pointerofcodecparameterstructure
Returns:Successorfailerrortype
Definitionatline873offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_poll_cntl ( codec_para_t* pcodec )
codec_poll_cntlPollingvideocontroldevice
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Pollingresults
Definitionatline1244offilecodec_ctrl.c.
intcodec_poll_sub ( codec_para_t* pcodec )
codec_poll_subPollingsubtiledeviceifsubtitledataisready
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:Pollingresult
Definitionatline1018offilecodec_ctrl.c.
intcodec_poll_sub_fd ( CODEC_HANDLE sub_fd,int timeout )
codec_poll_sub_fdPollingsubtiledeviceifsubtitledataisreadybyfd
Parameters:[in] sub_fd Subtitledevicefd[in] timeout Timeoutforpolling
Returns:Pollingresult
Definitionatline1042offilecodec_ctrl.c.
intcodec_read_sub_data ( codec_para_t* pcodec,char* buf,unsignedint length )
codec_read_sub_dataReadsubtitledatafromcodecdevice
Parameters:[in] pcodec Pointerofcodecparameterstructure[out] buf Bufferfordatareadfromsubtitlecodecdevice[in] length Datalengthtobereadfromsubtitlecodecdevice
Returns:0forsuccess,orfailtypeif<0
Definitionatline1119offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_read_sub_data_fd ( CODEC_HANDLE sub_fd,char* buf,unsignedint length )
codec_read_sub_data_fdReadsubtitledatafromcodecdevicebyfd
Parameters:[in] sub_fd Subtitledevicefd[out] buf Bufferfordatareadfromsubtitlecodecdevice[in] length Datalengthtobereadfromsubtilecodecdevice
Returns:0forsuccess,orfailtypeif<0
Definitionatline1152offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_reset ( codec_para_t* p )
codec_resetResetcodecdevice
Parameters:[in] p Pointerofcodecparameterstructure
Returns:Successorfailerrortype
Definitionatline922offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_reset_audio ( codec_para_t* pcodec )
codec_reset_audioResetaudiodecoder,especiallyforaudioswitch
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:0forsuccess,orfailtypeif<0
Definitionatline1339offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_reset_subtile ( codec_para_t* pcodec )
codec_reset_subtileResetsubtitledevice,especiallyforsubtitleswith
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:0forsuccess,orfailtypeif<0
Definitionatline1353offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_resume ( codec_para_t* p )
codec_resumeResumeplaying(A/V)bycodecdevice
Parameters:[in] p Pointerofcodecparameterstructure
Returns:Successorfailerrortype
Definitionatline897offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
voidcodec_resume_audio ( codec_para_t* pcodec,unsignedint orig )
codec_resume_audioResumeaudiodecodertowork(etc,afterpause)
Parameters:
[in] pcodec Pointerofcodecparameterstructure[in] orig Originalaudiostatus(hasaudioornot)
Definitionatline731offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_right_mono ( codec_para_t* p )
codec_right_monoSetmonowithrightchannel
Parameters:[in] p Pointerofcodecparameterstructure
Returns:Commandresult
Definitionatline206offileaudio_ctrl.c.
intcodec_set_audio_pid ( codec_para_t* pcodec )
codec_set_audio_idSetaudiopidbycodecdevice
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:0forsuccess,orfailtypeif<0
Definitionatline1367offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_set_cntl_avthresh ( codec_para_t* pcodec,unsignedint avthresh
)
codec_set_cntl_avthreshSettheAVsyncthresholdwhichdefinesthemaxtimedifferencebetweenA/V
Parameters:[in] pcodec Pointerofcodecparameterstructure[in] avthresh Thresholdtobeset
Returns:0forsuccess,orfailtypeif<0
Definitionatline1309offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_set_cntl_mode ( codec_para_t* pcodec,unsignedint mode )
codec_set_cntl_modeSetthemodetovideocontroldevice,especiallyfortrickmode
Parameters:[in] pcodec Pointerofcodecparameterstructure[in]mode Trickmodetobeset
Returns:0forsuccess,orfailtypeif<0
Definitionatline1294offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_set_cntl_syncthresh ( codec_para_t* pcodec,unsignedint syncthresh )
codec_set_cntl_syncthreshSetsyncthresholdcontrolwhichdefinesthestartingsystemtime(holdvideoornot)whenplaying
Parameters:[in] pcodec Pointerofcodecparameterstructure[in] syncthresh Syncthresholdcontrol
Returns:0forsuccess,orfailtypeif<0
Definitionatline1325offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_set_dec_reset ( codec_para_t* pcodec )
codec_set_dec_resetSetdecoderresetflagwhenreset
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:0forsuccess,orfailtypeif<0
Definitionatline1409offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_set_mute ( codec_para_t* p,int mute )
codec_set_muteSetaudiomute
Parameters:[in] p Pointerofcodecparameterstructure[in]mute mutecommand,1formute,0forunmute
Returns:audiocommandresult
Definitionatline89offileaudio_ctrl.c.
intcodec_set_sub_id ( codec_para_t* pcodec )
codec_set_sub_idSetsubtitlepidbycodecdevice
Parameters:[in] pcodec Pointerofcodecparameterstructure
Returns:0forsuccess,orfailtypeif<0
Definitionatline1381offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_set_volume ( codec_para_t* p,int val )
codec_set_volumeSetaudiovolume
Parameters:[in] p Pointerofcodecparameterstructure
[in] val Volumetobeset
Returns:commandresult
Definitionatline125offileaudio_ctrl.c.
intcodec_set_volume_balance ( codec_para_t* p,int balance )
codec_set_volume_balanceSetvolumebalance
Parameters:[in] p Pointerofcodecparameterstructure[in] balance Balancetobeset
Returns:notused,returnfailed
Definitionatline160offileaudio_ctrl.c.
intcodec_stereo ( codec_para_t* p )
codec_stereoSetstereo
Parameters:[in] p Pointerofcodecparameterstructure
Returns:Commandresult
Definitionatline222offileaudio_ctrl.c.
intcodec_swap_left_right ( codec_para_t* p )
codec_swap_left_rightSwapaudioleftandrightchannel
Parameters:[in] p Pointerofcodecparameterstructure
Returns:Commandresult
Definitionatline174offileaudio_ctrl.c.
intcodec_write ( codec_para_t* pcodec,void* buffer,int len )
codec_writeWritedatatocodecdevice
Parameters:[in] pcodec Pointerofcodecparameterstructure[in] buffer Bufferfordatatobewritten[in] len Lengthofthedatatobewritten
Returns:Lengthofthewrittendata,orfailif<0
Definitionatline664offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
intcodec_write_sub_data ( codec_para_t* pcodec,char* buf,unsignedint length
)
codec_write_sub_dataWritesubtiledatatosubtitledevice
Parameters:[in] pcodec Pointerofcodecparameterstructure[in] buf Bufferfordatatobewritten[in] length Lengthofthedattobewritten
Returns:Writelength,orfailtypeif<0
Definitionatline1185offilecodec_ctrl.c.
Hereisthecallgraphforthisfunction:
GeneratedonFriFeb2515:30:322011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
include/codec_error.hFileReferenceCodecerrortypedefinitions.More...
Thisgraphshowswhichfilesdirectlyorindirectlyincludethisfile:
Gotothesourcecodeofthisfile.
Defines
#define C_PAE(0x01000000)#define CODEC_ERROR_NONE(0)#define CODEC_ERROR_INVAL(C_PAE|1)#define CODEC_ERROR_NOMEM(C_PAE|2)#define CODEC_ERROR_BUSY(C_PAE|3)#define CODEC_ERROR_IO(C_PAE|4)#define CODEC_ERROR_PARAMETER(C_PAE|5)#define CODEC_ERROR_AUDIO_TYPE_UNKNOW(C_PAE|6)#define CODEC_ERROR_VIDEO_TYPE_UNKNOW(C_PAE|7)#define CODEC_ERROR_STREAM_TYPE_UNKNOW(C_PAE|8)#define CODEC_ERROR_VDEC_TYPE_UNKNOW(C_PAE|9)#define CODEC_ERROR_INIT_FAILED(C_PAE|10)#define CODEC_ERROR_SET_BUFSIZE_FAILED(C_PAE|11)#define CODEC_OPEN_HANDLE_FAILED(C_PAE|12)
DetailedDescription
Codecerrortypedefinitions.
Author:ZhangChen<[email protected]>
Version:1.0.0
Date:2011-02-24
Definitioninfilecodec_error.h.
GeneratedonFriFeb2515:30:322011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
include/codec_msg.hFileReferenceFunctionprototypeofcodecerror.More...
Gotothesourcecodeofthisfile.
Functions
constchar* codec_error_msg(interror) codec_error_msgConvertcodectypetoerrormessage
DetailedDescription
Functionprototypeofcodecerror.
Author:ZhangChen<[email protected]>
Version:1.0.0
Date:2011-02-24
Definitioninfilecodec_msg.h.
FunctionDocumentation
constchar*codec_error_msg ( int error )
codec_error_msgConvertcodectypetoerrormessage
Parameters:[in] error Codecerrortype
Returns:Errormessagestring
Definitionatline59offilecodec_msg.c.
Referencedbycodec_get_vdec_state(),andprint_error_msg().
GeneratedonFriFeb2515:30:322011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
include/codec_type.hFileReferenceDefinitionsofcodectypeandstructures.More...
#include"amports/amstream.h"#include"amports/vformat.h"#include"amports/aformat.h"
Includedependencygraphforcodec_type.h:
Thisgraphshowswhichfilesdirectlyorindirectlyincludethisfile:
Gotothesourcecodeofthisfile.
Classes
struct dec_sysinfo_tstruct audio_info_tstruct codec_para_t
Defines
#define IS_VALID_PID(t)(t>=0&&t<=0x1fff)#define IS_VALID_STREAM(t)(t>0&&t<=0x1fff)#define IS_VALID_ATYPE(t)(t>=0&&t<AFORMAT_MAX)#define IS_VALID_VTYPE(t)(t>=0&&t<VFORMAT_MAX)
Typedefs
typedefint CODEC_HANDLE
Enumerations
enum
stream_type_t{STREAM_TYPE_UNKNOW,STREAM_TYPE_ES_VIDEO,STREAM_TYPE_ES_AUDIO,STREAM_TYPE_ES_SUB,STREAM_TYPE_PS,STREAM_TYPE_TS,STREAM_TYPE_RM}
DetailedDescription
Definitionsofcodectypeandstructures.
Author:ZhangChen<[email protected]>
Version:1.0.0
Date:2011-02-24
Definitioninfilecodec_type.h.
GeneratedonFriFeb2515:30:322011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
All Functions
a c p s
Hereisalistofalldocumentedfilememberswithlinkstothedocumentation:
-a-
audio_pause():audio_ctrl.c,audio_ctrl.h,audio_priv.haudio_resume():audio_ctrl.c,audio_ctrl.h,audio_priv.haudio_start():audio_priv.h,audio_ctrl.h,audio_ctrl.caudio_stop():audio_priv.h,audio_ctrl.c,audio_ctrl.h
-c-
codec_audio_automute():audio_ctrl.c,codec.hcodec_audio_reinit():codec.h,codec_ctrl.ccodec_audio_spectrum_switch():audio_ctrl.c,codec.hcodec_checkin_pts():codec.h,codec_ctrl.ccodec_close():codec_ctrl.c,codec.hcodec_close_audio():codec_ctrl.c,codec.hcodec_close_cntl():codec_ctrl.c,codec.hcodec_close_sub():codec.h,codec_ctrl.ccodec_close_sub_fd():codec_ctrl.c,codec.hcodec_error_msg():codec_msg.c,codec_msg.hcodec_get_abuf_state():codec_ctrl.c,codec.hcodec_get_adec_state():codec_ctrl.c,codec.hcodec_get_cntl_state():codec_ctrl.c,codec.hcodec_get_mutesta():audio_ctrl.c,codec.hcodec_get_sub_size():codec_ctrl.c,codec.hcodec_get_sub_size_fd():codec.h,codec_ctrl.ccodec_get_vbuf_state():codec_ctrl.c,codec.hcodec_get_vdec_state():codec_ctrl.c,codec.hcodec_get_volume():audio_ctrl.c,codec.hcodec_get_volume_range():audio_ctrl.c,codec.hcodec_h_close():codec_h_ctrl.c,codec_h_ctrl.hcodec_h_control():codec_h_ctrl.c,codec_h_ctrl.h
codec_h_open():codec_h_ctrl.c,codec_h_ctrl.hcodec_h_open_rd():codec_h_ctrl.ccodec_h_read():codec_h_ctrl.c,codec_h_ctrl.hcodec_h_write():codec_h_ctrl.c,codec_h_ctrl.hcodec_init():codec_ctrl.c,codec.hcodec_init_cntl():codec_ctrl.c,codec.hcodec_init_sub():codec_ctrl.c,codec.hcodec_left_mono():codec.h,audio_ctrl.ccodec_open_sub_read():codec_ctrl.c,codec.hcodec_pause():codec.h,codec_ctrl.ccodec_poll_cntl():codec_ctrl.c,codec.hcodec_poll_sub():codec_ctrl.c,codec.hcodec_poll_sub_fd():codec_ctrl.c,codec.hcodec_read():codec_ctrl.ccodec_read_sub_data():codec.h,codec_ctrl.ccodec_read_sub_data_fd():codec_ctrl.c,codec.hcodec_reset():codec.h,codec_ctrl.ccodec_reset_audio():codec_ctrl.c,codec.hcodec_reset_subtile():codec_ctrl.c,codec.hcodec_resume():codec.h,codec_ctrl.ccodec_resume_audio():codec.h,codec_ctrl.ccodec_right_mono():audio_ctrl.c,codec.hcodec_set_audio_pid():codec.h,codec_ctrl.ccodec_set_cntl_avthresh():codec.h,codec_ctrl.ccodec_set_cntl_mode():codec_ctrl.c,codec.hcodec_set_cntl_syncthresh():codec.h,codec_ctrl.ccodec_set_dec_reset():codec.h,codec_ctrl.ccodec_set_mute():audio_ctrl.c,codec.hcodec_set_sub_id():codec_ctrl.c,codec.hcodec_set_volume():audio_ctrl.c,codec.hcodec_set_volume_balance():audio_ctrl.c,codec.hcodec_stereo():audio_ctrl.c,codec.hcodec_swap_left_right():codec.h,audio_ctrl.ccodec_write():codec.h,codec_ctrl.ccodec_write_sub_data():codec_ctrl.c,codec.h
-p-
print_error_msg():codec_msg.c
-s-
system_error_to_codec_error():codec_msg.c
GeneratedonFriFeb2515:30:322011forAmcodecby 1.6.1
MainPage Classes Files SearchClassList ClassMembers
audio_info_tMemberListThisisthecompletelistofmembersforaudio_info_t,includingallinheritedmembers.bitrate audio_info_tblock_align audio_info_tchannels audio_info_tcodec_id audio_info_textradata(definedinaudio_info_t) audio_info_textradata_size audio_info_tsample_rate audio_info_tvalid audio_info_t
GeneratedonFriFeb2515:30:322011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
include/codec_type.hGotothedocumentationofthisfile.
00001
00008/*Copyright(C)2007-2011,AmlogicInc.
00009*Allrightreserved
00010*
00011*/
00012#ifndefCODEC_TYPE_H_
00013#defineCODEC_TYPE_H_
00014
00015#include"amports/amstream.h"
00016#include"amports/vformat.h"
00017#include"amports/aformat.h"
00018
00019typedefintCODEC_HANDLE;
00020
00021typedefenum{
00022STREAM_TYPE_UNKNOW,
00023STREAM_TYPE_ES_VIDEO,
00024STREAM_TYPE_ES_AUDIO,
00025STREAM_TYPE_ES_SUB,
00026STREAM_TYPE_PS,
00027STREAM_TYPE_TS,
00028STREAM_TYPE_RM,
00029}stream_type_t;
00030
00031typedefstruct{
00032unsignedintformat;
00033unsignedintwidth;
00034unsignedintheight;
00035unsignedintrate;
00036unsignedintextra;
00037unsignedintstatus;
00038unsignedintratio;
00039void*param;
00040}dec_sysinfo_t;
00041
00042typedefstruct{
00043intvalid;
00044intsample_rate;
00045intchannels;
00046intbitrate;
00047intcodec_id;
00048intblock_align;
00049intextradata_size;
00050charextradata[2048];;
00051}audio_info_t;
00052
00053typedefstruct{
00054CODEC_HANDLEhandle;
00055CODEC_HANDLEcntl_handle;
00056CODEC_HANDLEsub_handle;
00057stream_type_tstream_type;
00058unsignedinthas_video:
000591;
00060unsignedinthas_audio:
000611;
00062unsignedinthas_sub:
000631;
00064unsignedintnoblock:
000651;
00066intvideo_type;
00067intaudio_type;
00068intsub_type;
00069intvideo_pid;
00070intaudio_pid;
00071intsub_pid;
00072intaudio_channels;
00073intaudio_samplerate;
00074intvbuf_size;
00075intabuf_size;
00076dec_sysinfo_tam_sysinfo;
00077audio_info_taudio_info;
00078intpacket_size;
00079}codec_para_t;
00080
00081
00082#defineIS_VALID_PID(t)(t>=0&&t<=0x1fff)
00083#defineIS_VALID_STREAM(t)(t>0&&t<=0x1fff)
00084#defineIS_VALID_ATYPE(t)(t>=0&&t<AFORMAT_MAX)
00085#defineIS_VALID_VTYPE(t)(t>=0&&t<VFORMAT_MAX)
00086
00087#endif
GeneratedonFriFeb2515:30:292011forAmcodecby 1.6.1
MainPage Classes Files Search
GraphLegendThispageexplainshowtointerpretthegraphsthataregeneratedbydoxygen.
Considerthefollowingexample:
/*!Invisibleclassbecauseoftruncation*/
classInvisible{};
/*!Truncatedclass,inheritancerelationishidden*/
classTruncated:publicInvisible{};
/*Classnotdocumentedwithdoxygencomments*/
classUndocumented{};
/*!Classthatisinheritedusingpublicinheritance*/
classPublicBase:publicTruncated{};
/*!Atemplateclass*/
template<classT>classTempl{};
/*!Classthatisinheritedusingprotectedinheritance*/
classProtectedBase{};
/*!Classthatisinheritedusingprivateinheritance*/
classPrivateBase{};
/*!ClassthatisusedbytheInheritedclass*/
classUsed{};
/*!Superclassthatinheritsanumberofotherclasses*/
classInherited:publicPublicBase,
protectedProtectedBase,
privatePrivateBase,
publicUndocumented,
publicTempl<int>
{
private:
Used*m_usedClass;
};
Thiswillresultinthefollowinggraph:
Theboxesintheabovegraphhavethefollowingmeaning:
Afilledgrayboxrepresentsthestructorclassforwhichthegraphisgenerated.Aboxwithablackborderdenotesadocumentedstructorclass.Aboxwithagreyborderdenotesanundocumentedstructorclass.Aboxwitharedborderdenotesadocumentedstructorclassforwhichnotallinheritance/containmentrelationsareshown.Agraphistruncatedifitdoesnotfitwithinthespecifiedboundaries.
Thearrowshavethefollowingmeaning:
Adarkbluearrowisusedtovisualizeapublicinheritancerelationbetweentwoclasses.Adarkgreenarrowisusedforprotectedinheritance.Adarkredarrowisusedforprivateinheritance.
Apurpledashedarrowisusedifaclassiscontainedorusedbyanotherclass.Thearrowislabeledwiththevariable(s)throughwhichthepointedclassorstructisaccessible.Ayellowdashedarrowdenotesarelationbetweenatemplateinstanceandthetemplateclassitwasinstantiatedfrom.Thearrowislabeledwiththetemplateparametersoftheinstance.
GeneratedonFriFeb2515:30:322011forAmcodecby 1.6.1
MainPage Classes Files SearchClassList ClassMembers
codec_para_tMemberListThisisthecompletelistofmembersforcodec_para_t,includingallinheritedmembers.abuf_size codec_para_tam_sysinfo codec_para_taudio_channels codec_para_taudio_info codec_para_taudio_pid codec_para_taudio_samplerate codec_para_taudio_type codec_para_tcntl_handle codec_para_thandle codec_para_thas_audio codec_para_thas_sub codec_para_thas_video codec_para_tnoblock codec_para_tpacket_size codec_para_tstream_type codec_para_tsub_handle codec_para_tsub_pid codec_para_tsub_type codec_para_tvbuf_size codec_para_tvideo_pid codec_para_tvideo_type codec_para_t
GeneratedonFriFeb2515:30:322011forAmcodecby 1.6.1
MainPage Classes Files SearchClassList ClassMembers
dec_sysinfo_tMemberListThisisthecompletelistofmembersfordec_sysinfo_t,includingallinheritedmembers.extra dec_sysinfo_tformat dec_sysinfo_theight dec_sysinfo_tparam dec_sysinfo_trate dec_sysinfo_tratio dec_sysinfo_tstatus dec_sysinfo_twidth dec_sysinfo_t
GeneratedonFriFeb2515:30:322011forAmcodecby 1.6.1
MainPage Classes Files SearchClassList ClassMembers
All Variables
a b c e f h n p r s v w
-a-
abuf_size:codec_para_tam_sysinfo:codec_para_taudio_channels:codec_para_taudio_info:codec_para_taudio_pid:codec_para_taudio_samplerate:codec_para_taudio_type:codec_para_t
-b-
bitrate:audio_info_tblock_align:audio_info_t
-c-
channels:audio_info_tcntl_handle:codec_para_tcodec_id:audio_info_t
-e-
extra:dec_sysinfo_textradata_size:audio_info_t
-f-
format:dec_sysinfo_t
-h-
handle:codec_para_t
has_audio:codec_para_thas_sub:codec_para_thas_video:codec_para_theight:dec_sysinfo_t
-n-
noblock:codec_para_t
-p-
packet_size:codec_para_tparam:dec_sysinfo_t
-r-
rate:dec_sysinfo_tratio:dec_sysinfo_t
-s-
sample_rate:audio_info_tstatus:dec_sysinfo_tstream_type:codec_para_tsub_handle:codec_para_tsub_pid:codec_para_tsub_type:codec_para_t
-v-
valid:audio_info_tvbuf_size:codec_para_tvideo_pid:codec_para_tvideo_type:codec_para_t
-w-
width:dec_sysinfo_t
MainPage Classes Files SearchFileList FileMembers
audio_ctl/audio_ctrl.cGotothedocumentationofthisfile.
00001
00008/*Copyright(C)2007-2011,AmlogicInc.
00009*Allrightreserved
00010*
00011*/
00012
00013#include<stdio.h>
00014#include<sys/types.h>
00015#include<sys/stat.h>
00016#include<errno.h>
00017#include<sys/ioctl.h>
00018#include<fcntl.h>
00019#include<codec_error.h>
00020#include<codec.h>
00021#include"adecproc.h"
00022
00023/*--------------------------------------------------------------------------*/
00027/*--------------------------------------------------------------------------*/
00028voidaudio_start(void)
00029{
00030audio_decode_start();
00031}
00032
00033/*--------------------------------------------------------------------------*/
00037/*--------------------------------------------------------------------------*/
00038voidaudio_stop(void)
00039{
00040audio_decode_stop();
00041}
00042
00043/*--------------------------------------------------------------------------*/
00047/*--------------------------------------------------------------------------*/
00048voidaudio_pause(void)
00049{
00050audio_decode_pause();
00051}
00052
00053/*--------------------------------------------------------------------------*/
00057/*--------------------------------------------------------------------------*/
00058voidaudio_resume(void)
00059{
00060audio_decode_resume();
00061}
00062
00063/*--------------------------------------------------------------------------*/
00071/*--------------------------------------------------------------------------*/
00072intcodec_get_mutesta(codec_para_t*p)
00073{
00074intret;
00075//ret=amadec_cmd("getmute");
00076returnret;
00077}
00078
00079/*--------------------------------------------------------------------------*/
00088/*--------------------------------------------------------------------------*/
00089intcodec_set_mute(codec_para_t*p,intmute)
00090{
00091intret;
00092//if(mute)
00093//ret=amadec_cmd("mute");
00094//else
00095//ret=amadec_cmd("unmute");
00096returnret;
00097}
00098
00099/*--------------------------------------------------------------------------*/
00109/*--------------------------------------------------------------------------*/
00110intcodec_get_volume_range(codec_para_t*p,
00111{
00112return-CODEC_ERROR_IO;
00113}
00114
00115/*--------------------------------------------------------------------------*/
00124/*--------------------------------------------------------------------------*/
00125intcodec_set_volume(codec_para_t*p,int
00126{
00127intret;
00128charbuf[16];
00129sprintf(buf,"volset:%d",val);
00130//ret=amadec_cmd(buf);
00131returnret;
00132}
00133
00134/*--------------------------------------------------------------------------*/
00142/*--------------------------------------------------------------------------*/
00143intcodec_get_volume(codec_para_t*p)
00144{
00145intret;
00146//ret=amadec_cmd("volget");
00147returnret;
00148}
00149
00150/*--------------------------------------------------------------------------*/
00159/*--------------------------------------------------------------------------*/
00160intcodec_set_volume_balance(codec_para_t
00161{
00162return-CODEC_ERROR_IO;
00163}
00164
00165/*--------------------------------------------------------------------------*/
00173/*--------------------------------------------------------------------------*/
00174intcodec_swap_left_right(codec_para_t*p)
00175{
00176intret;
00177ret=audio_channels_swap();
00178returnret;
00179}
00180
00181/*--------------------------------------------------------------------------*/
00189/*--------------------------------------------------------------------------*/
00190intcodec_left_mono(codec_para_t*p)
00191{
00192intret;
00193ret=audio_channel_left_mono();
00194returnret;
00195}
00196
00197/*--------------------------------------------------------------------------*/
00205/*--------------------------------------------------------------------------*/
00206intcodec_right_mono(codec_para_t*p)
00207{
00208intret;
00209ret=audio_channel_right_mono();
00210returnret;
00211}
00212
00213/*--------------------------------------------------------------------------*/
00221/*--------------------------------------------------------------------------*/
00222intcodec_stereo(codec_para_t*p)
00223{
00224intret;
00225ret=audio_channel_stereo();
00226returnret;
00227}
00228
00229/*--------------------------------------------------------------------------*/
00237/*--------------------------------------------------------------------------*/
00238intcodec_audio_automute(intauto_mute)
00239{
00240intret;
00241//charbuf[16];
00242//sprintf(buf,"automute:%d",auto_mute);
00243//ret=amadec_cmd(buf);
00244ret=audio_decode_automute(auto_mute);
00245returnret;
00246}
00247
00248/*--------------------------------------------------------------------------*/
00258/*--------------------------------------------------------------------------*/
00259intcodec_audio_spectrum_switch(codec_para_t
00260{
00261intret;
00262charcmd[32];
00263
00264if(isStart==1){
00265snprintf(cmd,32,"spectrumon:%d"
00266//ret=amadec_cmd(cmd);
00267}elseif(isStart==0){
00268//ret=amadec_cmd("spectrumoff");
00269}
00270
00271returnret;
00272}
00273
00274
GeneratedonFriFeb2515:30:292011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
audio_ctl/audio_ctrl.hGotothedocumentationofthisfile.
00001
00008/*Copyright(C)2007-2011,AmlogicInc.
00009*Allrightreserved
00010*
00011*/
00012
00013#ifndefAUDIO_CTRL_H
00014#defineAUDIO_CTRL_H
00015voidaudio_start(void);
00016voidaudio_stop(void);
00017voidaudio_pause(void);
00018voidaudio_resume(void);
00019#endif
00020
GeneratedonFriFeb2515:30:292011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
codec/codec_ctrl.cGotothedocumentationofthisfile.
00001
00008/*Copyright(C)2007-2011,AmlogicInc.
00009*Allrightreserved
00010*
00011*/
00012#include<stdio.h>
00013#include<stdio.h>
00014#include<string.h>
00015#include<sys/types.h>
00016#include<sys/stat.h>
00017#include<sys/poll.h>
00018#include<errno.h>
00019#include<sys/ioctl.h>
00020#include<fcntl.h>
00021#include<codec_error.h>
00022#include<codec_type.h>
00023#include<codec.h>
00024#include<audio_priv.h>
00025#include"codec_h_ctrl.h"
00026
00027#defineSUBTITLE_EVENT
00028#defineTS_PACKET_SIZE188
00029
00030/*--------------------------------------------------------------------------*/
00038/*--------------------------------------------------------------------------*/
00039staticintcodec_change_buf_size(codec_para_t
00040{
00041intr;
00042if(pcodec->abuf_size>0){
00043r=codec_h_control(pcodec->handle
00044if(r<0){
00045returnsystem_error_to_codec_error
00046}
00047}
00048if(pcodec->vbuf_size>0){
00049r=codec_h_control(pcodec->handle
00050if(r<0){
00051returnsystem_error_to_codec_error
00052}
00053}
00054returnCODEC_ERROR_NONE;
00055}
00056/*--------------------------------------------------------------------------*/
00064/*--------------------------------------------------------------------------*/
00065staticintset_video_format(codec_para_t
00066{
00067intformat=pcodec->video_type;
00068intr;
00069
00070if(format<0||format>VFORMAT_MAX){
00071return-CODEC_ERROR_VIDEO_TYPE_UNKNOW;
00072}
00073
00074r=codec_h_control(pcodec->handle,AMSTREAM_IOC_VFORMAT,format);
00075if(pcodec->video_pid>=0){
00076r=codec_h_control(pcodec->handle
00077if(r<0){
00078returnsystem_error_to_codec_error
00079}
00080}
00081if(r<0){
00082returnsystem_error_to_codec_error
00083}
00084return0;
00085}
00086
00087/*--------------------------------------------------------------------------*/
00095/*--------------------------------------------------------------------------*/
00096staticintset_video_codec_info(codec_para_t
00097{
00098dec_sysinfo_tam_sysinfo=pcodec->am_sysinfo
00099intr;
00100
00101r=codec_h_control(pcodec->handle,AMSTREAM_IOC_SYSINFO,(
00102if(r<0){
00103returnsystem_error_to_codec_error
00104}
00105return0;
00106}
00107/*--------------------------------------------------------------------------*/
00115/*--------------------------------------------------------------------------*/
00116staticintset_audio_format(codec_para_t
00117{
00118intformat=pcodec->audio_type;
00119intr;
00120intcodec_r;
00121
00122if(format<0||format>AFORMAT_MAX){
00123return-CODEC_ERROR_AUDIO_TYPE_UNKNOW;
00124}
00125
00126r=codec_h_control(pcodec->handle,AMSTREAM_IOC_AFORMAT,format);
00127if(r<0){
00128codec_r=system_error_to_codec_error
00129print_error_msg(codec_r,__FUNCTION__,__LINE__);
00130returncodec_r;
00131}
00132if(pcodec->audio_pid>=0){
00133r=codec_h_control(pcodec->handle
00134if(r<0){
00135codec_r=system_error_to_codec_error
00136print_error_msg(codec_r,__FUNCTION__,__LINE__);
00137returncodec_r;
00138}
00139}
00140if(pcodec->audio_samplerate>0){
00141r=codec_h_control(pcodec->handle
00142if(r<0){
00143codec_r=system_error_to_codec_error
00144print_error_msg(codec_r,__FUNCTION__,__LINE__);
00145returncodec_r;
00146}
00147}
00148if(pcodec->audio_channels>0){
00149r=codec_h_control(pcodec->handle
00150if(r<0){
00151codec_r=system_error_to_codec_error
00152print_error_msg(codec_r,__FUNCTION__,__LINE__);
00153returncodec_r;
00154}
00155}
00156return0;
00157}
00158
00159/*--------------------------------------------------------------------------*/
00167/*--------------------------------------------------------------------------*/
00168staticintset_audio_info(codec_para_t*pcodec)
00169{
00170intr;
00171intcodec_r;
00172audio_info_t*audio_info=&pcodec->audio_info
00173CODEC_PRINT("set_audio_info\n");
00174r=codec_h_control(pcodec->handle,AMSTREAM_IOC_AUDIO_INFO,audio_info);
00175if(r<0){
00176codec_r=system_error_to_codec_error
00177print_error_msg(codec_r,__FUNCTION__,__LINE__);
00178returncodec_r;
00179}
00180return0;
00181}
00182
00183/*--------------------------------------------------------------------------*/
00191/*--------------------------------------------------------------------------*/
00192staticintset_sub_format(codec_para_t*pcodec)
00193{
00194intr;
00195
00196if(pcodec->sub_pid>=0){
00197r=codec_h_control(pcodec->handle
00198if(r<0){
00199returnsystem_error_to_codec_error
00200}
00201
00202r=codec_h_control(pcodec->handle
00203if(r<0){
00204returnsystem_error_to_codec_error
00205}
00206}
00207
00208return0;
00209}
00210
00211/*--------------------------------------------------------------------------*/
00219/*--------------------------------------------------------------------------*/
00220staticintset_ts_skip_byte(codec_para_t*pcodec)
00221{
00222intr,skip_byte;
00223
00224skip_byte=pcodec->packet_size-TS_PACKET_SIZE;
00225
00226if(skip_byte<0){
00227skip_byte=0;
00228}
00229
00230r=codec_h_control(pcodec->handle,AMSTREAM_IOC_TS_SKIPBYTE,skip_byte);
00231if(r<0){
00232returnsystem_error_to_codec_error
00233}
00234
00235return0;
00236}
00237
00238/*--------------------------------------------------------------------------*/
00246/*--------------------------------------------------------------------------*/
00247staticinlineintcodec_video_es_init(codec_para_t
00248{
00249CODEC_HANDLEhandle;
00250intr;
00251intcodec_r;
00252intflags=O_WRONLY;
00253if(!pcodec->has_video){
00254returnCODEC_ERROR_NONE;
00255}
00256
00257flags|=pcodec->noblock?O_NONBLOCK:0;
00258handle=codec_h_open(CODEC_VIDEO_ES_DEVICE,flags);
00259if(handle<0){
00260codec_r=system_error_to_codec_error
00261print_error_msg(codec_r,__FUNCTION__,__LINE__);
00262returnCODEC_OPEN_HANDLE_FAILED;
00263}
00264pcodec->handle=handle;
00265r=set_video_format(pcodec);
00266if(r<0){
00267codec_h_close(handle);
00268codec_r=system_error_to_codec_error
00269print_error_msg(codec_r,__FUNCTION__,__LINE__);
00270returncodec_r;
00271}
00272r=set_video_codec_info(pcodec);
00273if(r<0){
00274codec_h_close(handle);
00275codec_r=system_error_to_codec_error
00276print_error_msg(codec_r,__FUNCTION__,__LINE__);
00277returncodec_r;
00278}
00279returnCODEC_ERROR_NONE;
00280}
00281
00282
00283/*--------------------------------------------------------------------------*/
00291/*--------------------------------------------------------------------------*/
00292staticinlineintcodec_audio_es_init(codec_para_t
00293{
00294CODEC_HANDLEhandle;
00295intr;
00296intflags=O_WRONLY;
00297intcodec_r;
00298if(!pcodec->has_audio){
00299returnCODEC_ERROR_NONE;
00300}
00301
00302flags|=pcodec->noblock?O_NONBLOCK:0;
00303handle=codec_h_open(CODEC_AUDIO_ES_DEVICE,flags);
00304if(handle<0){
00305codec_r=system_error_to_codec_error
00306print_error_msg(codec_r,__FUNCTION__,__LINE__);
00307returnCODEC_OPEN_HANDLE_FAILED;
00308}
00309pcodec->handle=handle;
00310r=set_audio_format(pcodec);
00311if(r<0){
00312codec_h_close(handle);
00313codec_r=system_error_to_codec_error
00314print_error_msg(codec_r,__FUNCTION__,__LINE__);
00315returncodec_r;
00316}
00317
00318if((pcodec->audio_type==AFORMAT_ADPCM)||(pcodec->
00319||(pcodec->audio_type==AFORMAT_PCM_S16LE)||(pcodec->
00320r=set_audio_info(pcodec);
00321if(r<0){
00322codec_h_close(handle);
00323codec_r=system_error_to_codec_error
00324print_error_msg(codec_r,__FUNCTION__,__LINE__);
00325returncodec_r;
00326}
00327}
00328
00329returnCODEC_ERROR_NONE;
00330}
00331
00332/*--------------------------------------------------------------------------*/
00340/*--------------------------------------------------------------------------*/
00341staticinlineintcodec_sub_es_init(codec_para_t
00342{
00343#ifdefSUBTITLE_EVENT
00344intr,codec_r;
00345
00346if(pcodec->has_sub){
00347r=codec_init_sub(pcodec);
00348if(r<0){
00349codec_r=system_error_to_codec_error
00350print_error_msg(codec_r,__FUNCTION__,__LINE__);
00351returnCODEC_OPEN_HANDLE_FAILED;
00352}
00353pcodec->handle=pcodec->sub_handle
00354
00355pcodec->sub_pid=0xffff;//fores,subidisidentifiedforesparser
00356r=set_sub_format(pcodec);
00357if(r<0){
00358codec_r=system_error_to_codec_error
00359print_error_msg(codec_r,__FUNCTION__,__LINE__);
00360returncodec_r;
00361}
00362
00363}
00364
00365#endif
00366
00367returnCODEC_ERROR_NONE;
00368}
00369
00370/*--------------------------------------------------------------------------*/
00378/*--------------------------------------------------------------------------*/
00379staticinlineintcodec_ps_init(codec_para_t
00380{
00381CODEC_HANDLEhandle;
00382intr;
00383intflags=O_WRONLY;
00384intcodec_r;
00385if(!((pcodec->has_video&&IS_VALID_PID(pcodec->
00386(pcodec->has_audio&&IS_VALID_PID(pcodec->
00387return-CODEC_ERROR_PARAMETER;
00388}
00389
00390flags|=pcodec->noblock?O_NONBLOCK:0;
00391handle=codec_h_open(CODEC_PS_DEVICE,flags);
00392if(handle<0){
00393codec_r=system_error_to_codec_error
00394print_error_msg(codec_r,__FUNCTION__,__LINE__);
00395returnCODEC_OPEN_HANDLE_FAILED;
00396}
00397pcodec->handle=handle;
00398if(pcodec->has_video){
00399r=set_video_format(pcodec);
00400if(r<0){
00401gotoerror1;
00402}
00403if(pcodec->video_type==VFORMAT_H264){
00404r=set_video_codec_info(pcodec);
00405if(r<0){
00406/*codec_h_close(handle);
00407codec_r=system_error_to_codec_error(r);
00408print_error_msg(codec_r,__FUNCTION__,__LINE__);
00409returncodec_r;*/
00410gotoerror1;
00411}
00412}
00413}
00414if(pcodec->has_audio){
00415r=set_audio_format(pcodec);
00416if(r<0){
00417gotoerror1;
00418}
00419
00420if((pcodec->audio_type==AFORMAT_ADPCM)||(pcodec->
00421||(pcodec->audio_type==AFORMAT_PCM_S16LE)||(pcodec->
00422||(pcodec->audio_type==AFORMAT_PCM_BLURAY)){
00423r=set_audio_info(pcodec);
00424if(r<0){
00425gotoerror1;
00426}
00427}
00428}
00429#ifdefSUBTITLE_EVENT
00430if(pcodec->has_sub){
00431r=set_sub_format(pcodec);
00432if(r<0){
00433gotoerror1;
00434}
00435
00436r=codec_init_sub(pcodec);
00437if(r<0){
00438gotoerror1;
00439}
00440}
00441#endif
00442
00443returnCODEC_ERROR_NONE;
00444error1:
00445codec_h_close(handle);
00446codec_r=system_error_to_codec_error
00447print_error_msg(codec_r,__FUNCTION__,__LINE__);
00448returncodec_r;
00449
00450}
00451
00452
00453/*--------------------------------------------------------------------------*/
00461/*--------------------------------------------------------------------------*/
00462staticinlineintcodec_ts_init(codec_para_t
00463{
00464CODEC_HANDLEhandle;
00465intr;
00466intflags=O_WRONLY;
00467intcodec_r;
00468if(!((pcodec->has_video&&IS_VALID_PID(pcodec->
00469(pcodec->has_audio&&IS_VALID_PID(pcodec->
00470return-CODEC_ERROR_PARAMETER;
00471}
00472
00473flags|=pcodec->noblock?O_NONBLOCK:0;
00474handle=codec_h_open(CODEC_TS_DEVICE,flags);
00475if(handle<0){
00476codec_r=system_error_to_codec_error
00477print_error_msg(codec_r,__FUNCTION__,__LINE__);
00478returnCODEC_OPEN_HANDLE_FAILED;
00479}
00480pcodec->handle=handle;
00481if(pcodec->has_video){
00482r=set_video_format(pcodec);
00483if(r<0){
00484gotoerror1;
00485}
00486if((pcodec->video_type==VFORMAT_H264)||(pcodec->
00487r=set_video_codec_info(pcodec);
00488if(r<0){
00489codec_h_close(handle);
00490codec_r=system_error_to_codec_error
00491print_error_msg(codec_r,__FUNCTION__,__LINE__);
00492returncodec_r;
00493}
00494}
00495}
00496if(pcodec->has_audio){
00497r=set_audio_format(pcodec);
00498if(r<0){
00499gotoerror1;
00500}
00501
00502if((pcodec->audio_type==AFORMAT_ADPCM)||(pcodec->
00503||(pcodec->audio_type==AFORMAT_PCM_S16LE)||(pcodec->
00504||(pcodec->audio_type==AFORMAT_PCM_BLURAY)){
00505r=set_audio_info(pcodec);
00506if(r<0){
00507gotoerror1;
00508}
00509}
00510}
00511
00512r=set_ts_skip_byte(pcodec);
00513if(r<0){
00514gotoerror1;
00515}
00516
00517#ifdefSUBTITLE_EVENT
00518if(pcodec->has_sub){
00519r=set_sub_format(pcodec);
00520if(r<0){
00521gotoerror1;
00522}
00523
00524r=codec_init_sub(pcodec);
00525if(r<0){
00526gotoerror1;
00527}
00528}
00529#endif
00530returnCODEC_ERROR_NONE;
00531error1:
00532codec_h_close(handle);
00533codec_r=system_error_to_codec_error
00534print_error_msg(codec_r,__FUNCTION__,__LINE__);
00535returncodec_r;
00536
00537}
00538
00539/*--------------------------------------------------------------------------*/
00547/*--------------------------------------------------------------------------*/
00548staticinlineintcodec_rm_init(codec_para_t
00549{
00550CODEC_HANDLEhandle;
00551intr;
00552intflags=O_WRONLY;
00553intcodec_r;
00554if(!((pcodec->has_video&&IS_VALID_PID(pcodec->
00555(pcodec->has_audio&&IS_VALID_PID(pcodec->
00556CODEC_PRINT("codec_rm_initfailed!video=%dvpid=%daudio=%dapid=%d\n"
00557return-CODEC_ERROR_PARAMETER;
00558}
00559flags|=pcodec->noblock?O_NONBLOCK:0;
00560handle=codec_h_open(CODEC_RM_DEVICE,flags);
00561if(handle<0){
00562codec_r=system_error_to_codec_error
00563print_error_msg(codec_r,__FUNCTION__,__LINE__);
00564returnCODEC_OPEN_HANDLE_FAILED;
00565}
00566
00567pcodec->handle=handle;
00568if(pcodec->has_video){
00569r=set_video_format(pcodec);
00570if(r<0){
00571gotoerror1;
00572}
00573
00574r=set_video_codec_info(pcodec);
00575if(r<0){
00576gotoerror1;
00577}
00578}
00579if(pcodec->has_audio){
00580r=set_audio_format(pcodec);
00581if(r<0){
00582gotoerror1;
00583}
00584r=set_audio_info(pcodec);
00585if(r<0){
00586gotoerror1;
00587}
00588}
00589returnCODEC_ERROR_NONE;
00590
00591error1:
00592codec_h_close(handle);
00593codec_r=system_error_to_codec_error
00594print_error_msg(codec_r,__FUNCTION__,__LINE__);
00595returncodec_r;
00596}
00597
00598/*--------------------------------------------------------------------------*/
00606/*--------------------------------------------------------------------------*/
00607intcodec_init(codec_para_t*pcodec)
00608{
00609intret;
00610//if(pcodec->has_audio)
00611//audio_stop();
00612switch(pcodec->stream_type){
00613caseSTREAM_TYPE_ES_VIDEO:
00614ret=codec_video_es_init(pcodec);
00615break;
00616caseSTREAM_TYPE_ES_AUDIO:
00617ret=codec_audio_es_init(pcodec);
00618break;
00619caseSTREAM_TYPE_ES_SUB:
00620ret=codec_sub_es_init(pcodec);
00621break;
00622caseSTREAM_TYPE_PS:
00623ret=codec_ps_init(pcodec);
00624break;
00625caseSTREAM_TYPE_TS:
00626ret=codec_ts_init(pcodec);
00627break;
00628caseSTREAM_TYPE_RM:
00629ret=codec_rm_init(pcodec);
00630break;
00631caseSTREAM_TYPE_UNKNOW:
00632default:
00633return-CODEC_ERROR_STREAM_TYPE_UNKNOW;
00634}
00635if(ret!=0){
00636returnret;
00637}
00638ret=codec_change_buf_size(pcodec);
00639if(ret!=0){
00640return-CODEC_ERROR_SET_BUFSIZE_FAILED;
00641}
00642ret=codec_h_control(pcodec->handle,AMSTREAM_IOC_PORT_INIT,0);
00643if(ret!=0){
00644
00645return-CODEC_ERROR_INIT_FAILED;
00646}
00647if(pcodec->has_audio){
00648audio_start();
00649}
00650returnret;
00651}
00652
00653/*--------------------------------------------------------------------------*/
00663/*--------------------------------------------------------------------------*/
00664intcodec_write(codec_para_t*pcodec,void
00665{
00666returncodec_h_write(pcodec->handle,buffer,len);
00667}
00668
00669/*--------------------------------------------------------------------------*/
00679/*--------------------------------------------------------------------------*/
00680intcodec_read(codec_para_t*pcodec,void
00681{
00682returncodec_h_read(pcodec->handle,buffer,len);
00683}
00684
00685/*--------------------------------------------------------------------------*/
00693/*--------------------------------------------------------------------------*/
00694intcodec_close(codec_para_t*pcodec)
00695{
00696if(pcodec->has_audio){
00697audio_stop();
00698}
00699#ifdefSUBTITLE_EVENT
00700if(pcodec->has_sub&&pcodec->sub_handle
00701codec_close_sub_fd(pcodec->sub_handle
00702}
00703#endif
00704returncodec_h_close(pcodec->handle);
00705}
00706
00707/*--------------------------------------------------------------------------*/
00713/*--------------------------------------------------------------------------*/
00714voidcodec_close_audio(codec_para_t*pcodec)
00715{
00716if(pcodec){
00717pcodec->has_audio=0;
00718}
00719audio_stop();
00720return;
00721}
00722
00723/*--------------------------------------------------------------------------*/
00730/*--------------------------------------------------------------------------*/
00731voidcodec_resume_audio(codec_para_t*pcodec,
00732{
00733pcodec->has_audio=orig;
00734if(pcodec->has_audio){
00735audio_start();
00736}
00737return;
00738}
00739
00740/*--------------------------------------------------------------------------*/
00749/*--------------------------------------------------------------------------*/
00750intcodec_checkin_pts(codec_para_t*pcodec,
00751{
00752//CODEC_PRINT("[%s:%d]pts=%x(%d)\n",__FUNCTION__,__LINE__,pts,pts/90000);
00753returncodec_h_control(pcodec->handle
00754}
00755
00756/*--------------------------------------------------------------------------*/
00765/*--------------------------------------------------------------------------*/
00766intcodec_get_vbuf_state(codec_para_t*p,
00767{
00768intr;
00769structam_io_paramam_io;
00770r=codec_h_control(p->handle,AMSTREAM_IOC_VB_STATUS,(
00771memcpy(buf,&am_io.status,sizeof(*buf));
00772returnsystem_error_to_codec_error(r);
00773}
00774/*--------------------------------------------------------------------------*/
00783/*--------------------------------------------------------------------------*/
00784intcodec_get_abuf_state(codec_para_t*p,
00785{
00786intr;
00787structam_io_paramam_io;
00788r=codec_h_control(p->handle,AMSTREAM_IOC_AB_STATUS,(
00789memcpy(buf,&am_io.status,sizeof(*buf));
00790returnsystem_error_to_codec_error(r);
00791}
00792
00793/*--------------------------------------------------------------------------*/
00802/*--------------------------------------------------------------------------*/
00803intcodec_get_vdec_state(codec_para_t*p,
00804{
00805intr;
00806structam_io_paramam_io;
00807r=codec_h_control(p->handle,AMSTREAM_IOC_VDECSTAT,(
00808if(r<0){
00809CODEC_PRINT("[codec_get_vdec_state]error[%d]:%s\n"
00810}
00811memcpy(vdec,&am_io.vstatus,sizeof(*vdec));
00812returnsystem_error_to_codec_error(r);
00813}
00814
00815/*--------------------------------------------------------------------------*/
00824/*--------------------------------------------------------------------------*/
00825intcodec_get_adec_state(codec_para_t*p,
00826{
00827intr;
00828structam_io_paramam_io;
00829r=codec_h_control(p->handle,AMSTREAM_IOC_ADECSTAT,(
00830memcpy(adec,&am_io.astatus,sizeof(*adec));
00831returnsystem_error_to_codec_error(r);
00832}
00833
00834/*--------------------------------------------------------------------------*/
00842/*--------------------------------------------------------------------------*/
00843staticintvideo_pause(codec_para_t*p)
00844{
00845CODEC_PRINT("video_pause!\n");
00846returncodec_h_control(p->cntl_handle
00847}
00848
00849/*--------------------------------------------------------------------------*/
00857/*--------------------------------------------------------------------------*/
00858staticintvideo_resume(codec_para_t*p)
00859{
00860CODEC_PRINT("video_resume!\n");
00861returncodec_h_control(p->cntl_handle
00862}
00863
00864/*--------------------------------------------------------------------------*/
00872/*--------------------------------------------------------------------------*/
00873intcodec_pause(codec_para_t*p)
00874{
00875intret=CODEC_ERROR_NONE;
00876if(p){
00877CODEC_PRINT("[codec_pause]p->has_audio=%d\n"
00878if(p->has_audio){
00879audio_pause();
00880}else{
00881ret=video_pause(p);
00882}
00883}else{
00884ret=CODEC_ERROR_PARAMETER;
00885}
00886returnret;
00887}
00888/*--------------------------------------------------------------------------*/
00896/*--------------------------------------------------------------------------*/
00897intcodec_resume(codec_para_t*p)
00898{
00899intret=CODEC_ERROR_NONE;
00900if(p){
00901CODEC_PRINT("[codec_resume]p->has_audio=%d\n"
00902if(p->has_audio){
00903audio_resume();
00904}else{
00905ret=video_resume(p);
00906}
00907}else{
00908ret=CODEC_ERROR_PARAMETER;
00909}
00910returnret;
00911}
00912
00913/*--------------------------------------------------------------------------*/
00921/*--------------------------------------------------------------------------*/
00922intcodec_reset(codec_para_t*p)
00923{
00924intret;
00925ret=codec_close(p);
00926if(ret!=0){
00927returnret;
00928}
00929ret=codec_init(p);
00930CODEC_PRINT("[%s:%d]ret=%x\n",__FUNCTION__,__LINE__,ret);
00931returnsystem_error_to_codec_error(ret);
00932}
00933
00934/*--------------------------------------------------------------------------*/
00942/*--------------------------------------------------------------------------*/
00943intcodec_init_sub(codec_para_t*pcodec)
00944{
00945CODEC_HANDLEsub_handle;
00946intflags=O_WRONLY;
00947flags|=pcodec->noblock?O_NONBLOCK:0;
00948sub_handle=codec_h_open(CODEC_SUB_DEVICE,flags);
00949if(sub_handle<0){
00950CODEC_PRINT("get%sfailed\n",CODEC_SUB_DEVICE);
00951returnsystem_error_to_codec_error
00952}
00953
00954pcodec->sub_handle=sub_handle;
00955returnCODEC_ERROR_NONE;
00956}
00957
00958/*--------------------------------------------------------------------------*/
00964/*--------------------------------------------------------------------------*/
00965intcodec_open_sub_read(void)
00966{
00967CODEC_HANDLEsub_handle;
00968
00969sub_handle=codec_h_open_rd(CODEC_SUB_READ_DEVICE);
00970if(sub_handle<0){
00971CODEC_PRINT("get%sfailed\n",CODEC_SUB_READ_DEVICE);
00972returnsystem_error_to_codec_error
00973}
00974
00975returnsub_handle;
00976}
00977
00978/*--------------------------------------------------------------------------*/
00986/*--------------------------------------------------------------------------*/
00987intcodec_close_sub(codec_para_t*pcodec)
00988{
00989if(pcodec){
00990returncodec_h_close(pcodec->sub_handle
00991}
00992returnCODEC_ERROR_NONE;
00993}
00994
00995/*--------------------------------------------------------------------------*/
01003/*--------------------------------------------------------------------------*/
01004intcodec_close_sub_fd(CODEC_HANDLEsub_fd)
01005{
01006returncodec_h_close(sub_fd);
01007}
01008
01009/*--------------------------------------------------------------------------*/
01017/*--------------------------------------------------------------------------*/
01018intcodec_poll_sub(codec_para_t*pcodec)
01019{
01020structpollfdsub_poll_fd[1];
01021
01022if(pcodec->sub_handle==0){
01023return0;
01024}
01025
01026sub_poll_fd[0].fd=pcodec->sub_handle
01027sub_poll_fd[0].events=POLLOUT;
01028
01029returnpoll(sub_poll_fd,1,10);
01030}
01031
01032/*--------------------------------------------------------------------------*/
01041/*--------------------------------------------------------------------------*/
01042intcodec_poll_sub_fd(CODEC_HANDLEsub_fd,
01043{
01044structpollfdsub_poll_fd[1];
01045
01046if(sub_fd<=0){
01047return0;
01048}
01049
01050sub_poll_fd[0].fd=sub_fd;
01051sub_poll_fd[0].events=POLLOUT;
01052
01053returnpoll(sub_poll_fd,1,timeout);
01054}
01055
01056/*--------------------------------------------------------------------------*/
01064/*--------------------------------------------------------------------------*/
01065intcodec_get_sub_size(codec_para_t*pcodec)
01066{
01067intsub_size,r;
01068
01069if(pcodec->sub_handle==0){
01070CODEC_PRINT("nocontrolhandler\n"
01071return0;
01072}
01073
01074r=codec_h_control(pcodec->sub_handle
01075if(r<0){
01076returnsystem_error_to_codec_error
01077}else{
01078returnsub_size;
01079}
01080}
01081
01082/*--------------------------------------------------------------------------*/
01090/*--------------------------------------------------------------------------*/
01091intcodec_get_sub_size_fd(CODEC_HANDLEsub_fd)
01092{
01093intsub_size,r;
01094
01095if(sub_fd<=0){
01096CODEC_PRINT("nosubhandler\n");
01097return0;
01098}
01099
01100r=codec_h_control(sub_fd,AMSTREAM_IOC_SUB_LENGTH,(
01101if(r<0){
01102returnsystem_error_to_codec_error
01103}else{
01104returnsub_size;
01105}
01106}
01107
01108/*--------------------------------------------------------------------------*/
01118/*--------------------------------------------------------------------------*/
01119intcodec_read_sub_data(codec_para_t*pcodec,
01120{
01121intdata_size=length,r,read_done=0;
01122
01123if(pcodec->sub_handle==0){
01124CODEC_PRINT("nocontrolhandler\n"
01125return0;
01126}
01127
01128while(data_size){
01129r=codec_h_read(pcodec->sub_handle
01130if(r<0){
01131returnsystem_error_to_codec_error
01132}else{
01133data_size-=r;
01134read_done+=r;
01135}
01136}
01137
01138return0;
01139}
01140
01141/*--------------------------------------------------------------------------*/
01151/*--------------------------------------------------------------------------*/
01152intcodec_read_sub_data_fd(CODEC_HANDLEsub_fd,
01153{
01154intdata_size=length,r,read_done=0;
01155
01156if(sub_fd<=0){
01157CODEC_PRINT("nosubhandler\n");
01158return0;
01159}
01160
01161while(data_size){
01162r=codec_h_read(sub_fd,buf+read_done,data_size);
01163if(r<0){
01164returnsystem_error_to_codec_error
01165}else{
01166data_size-=r;
01167read_done+=r;
01168}
01169}
01170
01171return0;
01172}
01173
01174/*--------------------------------------------------------------------------*/
01184/*--------------------------------------------------------------------------*/
01185intcodec_write_sub_data(codec_para_t*pcodec,
01186{
01187if(pcodec->sub_handle==0){
01188CODEC_PRINT("nocontrolhandler\n"
01189return0;
01190}
01191
01192returncodec_h_write(pcodec->sub_handle
01193}
01194
01195/*--------------------------------------------------------------------------*/
01203/*--------------------------------------------------------------------------*/
01204intcodec_init_cntl(codec_para_t*pcodec)
01205{
01206CODEC_HANDLEcntl;
01207
01208cntl=codec_h_open(CODEC_CNTL_DEVICE,O_WRONLY);
01209if(cntl<0){
01210CODEC_PRINT("get%sfailed\n",CODEC_CNTL_DEVICE);
01211returnsystem_error_to_codec_error
01212}
01213
01214pcodec->cntl_handle=cntl;
01215returnCODEC_ERROR_NONE;
01216}
01217
01218/*--------------------------------------------------------------------------*/
01226/*--------------------------------------------------------------------------*/
01227intcodec_close_cntl(codec_para_t*pcodec)
01228{
01229if(pcodec){
01230returncodec_h_close(pcodec->cntl_handle
01231}
01232returnCODEC_ERROR_NONE;
01233}
01234
01235/*--------------------------------------------------------------------------*/
01243/*--------------------------------------------------------------------------*/
01244intcodec_poll_cntl(codec_para_t*pcodec)
01245{
01246structpollfdcodec_poll_fd[1];
01247
01248if(pcodec->cntl_handle==0){
01249return0;
01250}
01251
01252codec_poll_fd[0].fd=pcodec->cntl_handle
01253codec_poll_fd[0].events=POLLOUT;
01254
01255returnpoll(codec_poll_fd,1,10);
01256}
01257
01258/*--------------------------------------------------------------------------*/
01266/*--------------------------------------------------------------------------*/
01267intcodec_get_cntl_state(codec_para_t*pcodec)
01268{
01269intcntl_state,r;
01270
01271if(pcodec->cntl_handle==0){
01272CODEC_PRINT("nocontrolhandler\n"
01273return0;
01274}
01275
01276r=codec_h_control(pcodec->cntl_handle
01277if(r<0){
01278returnsystem_error_to_codec_error
01279}else{
01280returncntl_state;
01281}
01282}
01283
01284/*--------------------------------------------------------------------------*/
01293/*--------------------------------------------------------------------------*/
01294intcodec_set_cntl_mode(codec_para_t*pcodec,
01295{
01296returncodec_h_control(pcodec->cntl_handle
01297}
01298
01299/*--------------------------------------------------------------------------*/
01308/*--------------------------------------------------------------------------*/
01309intcodec_set_cntl_avthresh(codec_para_t*pcodec,
01310{
01311returncodec_h_control(pcodec->cntl_handle
01312}
01313
01314/*--------------------------------------------------------------------------*/
01324/*--------------------------------------------------------------------------*/
01325intcodec_set_cntl_syncthresh(codec_para_t
01326{
01327returncodec_h_control(pcodec->cntl_handle
01328}
01329
01330/*--------------------------------------------------------------------------*/
01338/*--------------------------------------------------------------------------*/
01339intcodec_reset_audio(codec_para_t*pcodec)
01340{
01341returncodec_h_control(pcodec->handle
01342}
01343
01344/*--------------------------------------------------------------------------*/
01352/*--------------------------------------------------------------------------*/
01353intcodec_reset_subtile(codec_para_t*pcodec)
01354{
01355returncodec_h_control(pcodec->handle
01356}
01357
01358/*--------------------------------------------------------------------------*/
01366/*--------------------------------------------------------------------------*/
01367intcodec_set_audio_pid(codec_para_t*pcodec)
01368{
01369returncodec_h_control(pcodec->handle
01370}
01371
01372/*--------------------------------------------------------------------------*/
01380/*--------------------------------------------------------------------------*/
01381intcodec_set_sub_id(codec_para_t*pcodec)
01382{
01383returncodec_h_control(pcodec->handle
01384}
01385
01386/*--------------------------------------------------------------------------*/
01394/*--------------------------------------------------------------------------*/
01395intcodec_audio_reinit(codec_para_t*pcodec)
01396{
01397returnset_audio_format(pcodec);
01398}
01399
01400/*--------------------------------------------------------------------------*/
01408/*--------------------------------------------------------------------------*/
01409intcodec_set_dec_reset(codec_para_t*pcodec)
01410{
01411returncodec_h_control(pcodec->handle
MainPage Classes Files SearchFileList FileMembers
codec/codec_h_ctrl.cGotothedocumentationofthisfile.
00001
00008/*Copyright(C)2007-2011,AmlogicInc.
00009*Allrightreserved
00010*
00011*/
00012#include<stdio.h>
00013
00014#include<sys/types.h>
00015#include<sys/stat.h>
00016#include<errno.h>
00017#include<sys/ioctl.h>
00018#include<fcntl.h>
00019#include<sys/mman.h>
00020#include<codec_error.h>
00021#include<codec.h>
00022#include"codec_h_ctrl.h"
00023
00024/*--------------------------------------------------------------------------*/
00033/*--------------------------------------------------------------------------*/
00034CODEC_HANDLEcodec_h_open(constchar*port_addr,
00035{
00036intr;
00037r=open(port_addr,flags);
00038if(r<0){
00039CODEC_PRINT("Init[%s]failed,ret=%d\n"
00040returnr;
00041}
00042return(CODEC_HANDLE)r;
00043}
00044
00045/*--------------------------------------------------------------------------*/
00053/*--------------------------------------------------------------------------*/
00054CODEC_HANDLEcodec_h_open_rd(constchar*port_addr)
00055{
00056intr;
00057r=open(port_addr,O_RDONLY);
00058if(r<0){
00059CODEC_PRINT("Init[%s]failed,ret=%d\n"
00060returnr;
00061}
00062return(CODEC_HANDLE)r;
00063}
00064
00065/*--------------------------------------------------------------------------*/
00073/*--------------------------------------------------------------------------*/
00074intcodec_h_close(CODEC_HANDLEh)
00075{
00076if(h>=0){
00077close(h);
00078}
00079return0;
00080}
00081
00082/*--------------------------------------------------------------------------*/
00092/*--------------------------------------------------------------------------*/
00093intcodec_h_control(CODEC_HANDLEh,intcmd,
00094{
00095intr;
00096
00097if(h<0){
00098return-1;
00099}
00100r=ioctl(h,cmd,paramter);
00101if(r<0){
00102CODEC_PRINT("sendcontrolfailed,handle=%d,cmd=%x,paramter=%x,t=%x\n"
00103returnr;
00104}
00105return0;
00106}
00107
00108/*--------------------------------------------------------------------------*/
00118/*--------------------------------------------------------------------------*/
00119intcodec_h_read(CODEC_HANDLEhandle,void
00120{
00121intr;
00122r=read(handle,buffer,size);
00123returnr;
00124}
00125
00126/*--------------------------------------------------------------------------*/
00136/*--------------------------------------------------------------------------*/
00137intcodec_h_write(CODEC_HANDLEhandle,void
00138{
00139intr;
00140r=write(handle,buffer,size);
00141returnr;
00142}
00143
00144
00145
GeneratedonFriFeb2515:30:292011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
codec/codec_h_ctrl.hGotothedocumentationofthisfile.
00001
00008/*Copyright(C)2007-2011,AmlogicInc.
00009*Allrightreserved
00010*
00011*/
00012
00013#ifndefCODEC_HEADER_H_H
00014#defineCODEC_HEADER_H_H
00015#include<codec_type.h>
00016#include<codec_error.h>
00017
00018#defineCODEC_DEBUG
00019
00020#ifdefCODEC_DEBUG
00021#ifdefANDROID
00022#include<android/log.h>
00023#include<stdio.h>
00024#include<stdarg.h>
00025#include<string.h>
00026#defineLOG_TAG"amcodec"
00027#defineCODEC_PRINT(...)__android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
00028#else
00029#defineCODEC_PRINT(f,s...)fprintf(stderr,f,##s)
00030#endif
00031#else
00032#defineCODEC_PRINT(f,s...)
00033#endif
00034
00035#defineCODEC_VIDEO_ES_DEVICE"/dev/amstream_vbuf"
00036#defineCODEC_AUDIO_ES_DEVICE"/dev/amstream_abuf"
00037#defineCODEC_TS_DEVICE"/dev/amstream_mpts"
00038#defineCODEC_PS_DEVICE"/dev/amstream_mpps"
00039#defineCODEC_RM_DEVICE"/dev/amstream_rm"
00040#defineCODEC_CNTL_DEVICE"/dev/amvideo"
00041#defineCODEC_SUB_DEVICE"/dev/amstream_sub"
00042#defineCODEC_SUB_READ_DEVICE"/dev/amstream_sub_read"
00043
00044CODEC_HANDLEcodec_h_open(constchar*port_addr,
00045intcodec_h_close(CODEC_HANDLEh);
00046intcodec_h_write(CODEC_HANDLE,void*,
00047intcodec_h_read(CODEC_HANDLE,void*,int
00048intcodec_h_control(CODEC_HANDLEh,intcmd,
00049
00050
00051
00052#endif
GeneratedonFriFeb2515:30:292011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
codec/codec_msg.cGotothedocumentationofthisfile.
00001
00008/*Copyright(C)2007-2011,AmlogicInc.
00009*Allrightreserved
00010*
00011*/
00012#include<stdio.h>
00013#include<stdio.h>
00014
00015#include<sys/types.h>
00016#include<sys/stat.h>
00017#include<errno.h>
00018#include<sys/ioctl.h>
00019#include<fcntl.h>
00020#include<codec_error.h>
00021#include<codec.h>
00022#include"codec_h_ctrl.h"
00023
00024
00025/*--------------------------------------------------------------------------*/
00033/*--------------------------------------------------------------------------*/
00034intsystem_error_to_codec_error(interror)
00035{
00036switch(error){
00037case0:
00038returnCODEC_ERROR_NONE;
00039caseEBUSY:
00040return-CODEC_ERROR_BUSY;
00041caseENOMEM:
00042return-CODEC_ERROR_NOMEM;
00043caseENODEV:
00044return-CODEC_ERROR_IO;
00045default:
00046return-CODEC_ERROR_INVAL;
00047}
00048}
00049
00050/*--------------------------------------------------------------------------*/
00058/*--------------------------------------------------------------------------*/
00059constchar*codec_error_msg(interror)
00060{
00061switch(error){
00062caseCODEC_ERROR_NONE:
00063return"codecnoerrors";
00064case-CODEC_ERROR_INVAL:
00065return"invalidhandleorparameter"
00066case-CODEC_ERROR_BUSY:
00067return"codecisbusy";
00068case-CODEC_ERROR_NOMEM:
00069return"noenoughmemoryforcodec"
00070case-CODEC_ERROR_IO:
00071return"codecioerror";
00072case-CODEC_ERROR_PARAMETER:
00073return"Parameterserror";
00074case-CODEC_ERROR_AUDIO_TYPE_UNKNOW:
00075return"AudioTypeerror";
00076case-CODEC_ERROR_VIDEO_TYPE_UNKNOW:
00077return"VideoTypeerror";
00078case-CODEC_ERROR_STREAM_TYPE_UNKNOW:
00079return"StreamTypeerror";
00080case-CODEC_ERROR_INIT_FAILED:
00081return"Codecinitfailed";
00082case-CODEC_ERROR_SET_BUFSIZE_FAILED:
00083return"Codecchangebuffersizefailed"
00084default:
00085return"invalidoperate";
00086}
00087}
00088
00089/*--------------------------------------------------------------------------*/
00097/*--------------------------------------------------------------------------*/
00098voidprint_error_msg(interror,char*func,
00099{
00100CODEC_PRINT("Error=%x,%s,func=%s,line=%d\n"
00101}
00102
00103
GeneratedonFriFeb2515:30:292011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
include/audio_priv.hGotothedocumentationofthisfile.
00001
00008/*Copyright(C)2007-2011,AmlogicInc.
00009*Allrightreserved
00010*
00011*/
00012#ifndefCODEC_PRIV_H_
00013#defineCODEC_PRIV_H_
00014voidaudio_start(void);
00015voidaudio_stop(void);
00016voidaudio_pause(void);
00017voidaudio_resume(void);
00018#endif
GeneratedonFriFeb2515:30:292011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
include/codec.hGotothedocumentationofthisfile.
00001
00008/*Copyright(C)2007-2011,AmlogicInc.
00009*Allrightreserved
00010*
00011*/
00012#ifndefCODEC_CTRL_H_
00013#defineCODEC_CTRL_H_
00014
00015#include<codec_type.h>
00016#include<codec_error.h>
00017
00018
00019intcodec_init(codec_para_t*);
00020intcodec_close(codec_para_t*);
00021voidcodec_close_audio(codec_para_t*);
00022voidcodec_resume_audio(codec_para_t*,unsigned
00023intcodec_reset(codec_para_t*);
00024intcodec_init_sub(codec_para_t*);
00025intcodec_open_sub_read(void);
00026intcodec_close_sub(codec_para_t*);
00027intcodec_close_sub_fd(CODEC_HANDLE);
00028intcodec_reset_subtile(codec_para_t*pcodec);
00029intcodec_poll_sub(codec_para_t*);
00030intcodec_poll_sub_fd(CODEC_HANDLE,int);
00031intcodec_get_sub_size(codec_para_t*);
00032intcodec_get_sub_size_fd(CODEC_HANDLE);
00033intcodec_read_sub_data(codec_para_t*,char
00034intcodec_read_sub_data_fd(CODEC_HANDLE,
00035intcodec_write_sub_data(codec_para_t*,
00036intcodec_init_cntl(codec_para_t*);
00037intcodec_close_cntl(codec_para_t*);
00038intcodec_poll_cntl(codec_para_t*);
00039intcodec_get_cntl_state(codec_para_t*);
00040intcodec_set_cntl_mode(codec_para_t*,unsigned
00041intcodec_set_cntl_avthresh(codec_para_t*,
00042intcodec_set_cntl_syncthresh(codec_para_t
00043intcodec_reset_audio(codec_para_t*pcodec);
00044intcodec_set_audio_pid(codec_para_t*pcodec);
00045intcodec_set_sub_id(codec_para_t*pcodec);
00046intcodec_audio_reinit(codec_para_t*pcodec);
00047intcodec_set_dec_reset(codec_para_t*pcodec);
00048
00049intcodec_write(codec_para_t*pcodec,void
00050intcodec_checkin_pts(codec_para_t*pcodec,
00051intcodec_get_vbuf_state(codec_para_t*,
00052intcodec_get_abuf_state(codec_para_t*,
00053intcodec_get_vdec_state(codec_para_t*,
00054intcodec_get_adec_state(codec_para_t*,
00055
00056intcodec_pause(codec_para_t*);
00057intcodec_resume(codec_para_t*);
00058intcodec_audio_search(codec_para_t*p);
00059intcodec_set_mute(codec_para_t*p,intmute);
00060intcodec_get_volume_range(codec_para_t*,
00061intcodec_set_volume(codec_para_t*,intval);
00062intcodec_get_volume(codec_para_t*);
00063intcodec_get_mutesta(codec_para_t*);
00064intcodec_set_volume_balance(codec_para_t
00065intcodec_swap_left_right(codec_para_t*);
00066intcodec_left_mono(codec_para_t*p);
00067intcodec_right_mono(codec_para_t*p);
00068intcodec_stereo(codec_para_t*p);
00069intcodec_audio_automute(intauto_mute);
00070intcodec_audio_spectrum_switch(codec_para_t
00071#endif
GeneratedonFriFeb2515:30:292011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
include/codec_error.hGotothedocumentationofthisfile.
00001
00008/*Copyright(C)2007-2011,AmlogicInc.
00009*Allrightreserved
00010*
00011*/
00012
00013#ifndefCODEC_ERROR_H_
00014#defineCODEC_ERROR_H_
00015
00016#defineC_PAE(0x01000000)
00017
00018#defineCODEC_ERROR_NONE(0)
00019#defineCODEC_ERROR_INVAL(C_PAE|1)
00020#defineCODEC_ERROR_NOMEM(C_PAE|2)
00021#defineCODEC_ERROR_BUSY(C_PAE|3)
00022#defineCODEC_ERROR_IO(C_PAE|4)
00023#defineCODEC_ERROR_PARAMETER(C_PAE|5)
00024#defineCODEC_ERROR_AUDIO_TYPE_UNKNOW(C_PAE|6)
00025#defineCODEC_ERROR_VIDEO_TYPE_UNKNOW(C_PAE|7)
00026#defineCODEC_ERROR_STREAM_TYPE_UNKNOW(C_PAE|8)
00027#defineCODEC_ERROR_VDEC_TYPE_UNKNOW(C_PAE|9)
00028
00029#defineCODEC_ERROR_INIT_FAILED(C_PAE|10)
00030#defineCODEC_ERROR_SET_BUFSIZE_FAILED(C_PAE|11)
00031#defineCODEC_OPEN_HANDLE_FAILED(C_PAE|12)
00032
00033
00034
00035
00036#endif
00037
GeneratedonFriFeb2515:30:292011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
include/codec_msg.hGotothedocumentationofthisfile.
00001
00008/*Copyright(C)2007-2011,AmlogicInc.
00009*Allrightreserved
00010*
00011*/
00012#ifndefCODEC_MSG_H
00013#defineCODEC_MSG_H
00014
00015
00016constchar*codec_error_msg(interror);
00017
00018#endif
GeneratedonFriFeb2515:30:292011forAmcodecby 1.6.1
MainPage Classes Files SearchFileList FileMembers
All Functions
a c p s
-a-
audio_pause():audio_ctrl.c,audio_ctrl.h,audio_priv.haudio_resume():audio_ctrl.c,audio_ctrl.h,audio_priv.haudio_start():audio_priv.h,audio_ctrl.h,audio_ctrl.caudio_stop():audio_priv.h,audio_ctrl.c,audio_ctrl.h
-c-
codec_audio_automute():audio_ctrl.c,codec.hcodec_audio_reinit():codec.h,codec_ctrl.ccodec_audio_spectrum_switch():audio_ctrl.c,codec.hcodec_checkin_pts():codec.h,codec_ctrl.ccodec_close():codec_ctrl.c,codec.hcodec_close_audio():codec_ctrl.c,codec.hcodec_close_cntl():codec_ctrl.c,codec.hcodec_close_sub():codec.h,codec_ctrl.ccodec_close_sub_fd():codec_ctrl.c,codec.hcodec_error_msg():codec_msg.c,codec_msg.hcodec_get_abuf_state():codec_ctrl.c,codec.hcodec_get_adec_state():codec_ctrl.c,codec.hcodec_get_cntl_state():codec_ctrl.c,codec.hcodec_get_mutesta():audio_ctrl.c,codec.hcodec_get_sub_size():codec_ctrl.c,codec.hcodec_get_sub_size_fd():codec.h,codec_ctrl.ccodec_get_vbuf_state():codec_ctrl.c,codec.hcodec_get_vdec_state():codec_ctrl.c,codec.hcodec_get_volume():audio_ctrl.c,codec.hcodec_get_volume_range():audio_ctrl.c,codec.hcodec_h_close():codec_h_ctrl.c,codec_h_ctrl.hcodec_h_control():codec_h_ctrl.c,codec_h_ctrl.hcodec_h_open():codec_h_ctrl.c,codec_h_ctrl.h
codec_h_open_rd():codec_h_ctrl.ccodec_h_read():codec_h_ctrl.c,codec_h_ctrl.hcodec_h_write():codec_h_ctrl.c,codec_h_ctrl.hcodec_init():codec_ctrl.c,codec.hcodec_init_cntl():codec_ctrl.c,codec.hcodec_init_sub():codec_ctrl.c,codec.hcodec_left_mono():codec.h,audio_ctrl.ccodec_open_sub_read():codec_ctrl.c,codec.hcodec_pause():codec.h,codec_ctrl.ccodec_poll_cntl():codec_ctrl.c,codec.hcodec_poll_sub():codec_ctrl.c,codec.hcodec_poll_sub_fd():codec_ctrl.c,codec.hcodec_read():codec_ctrl.ccodec_read_sub_data():codec.h,codec_ctrl.ccodec_read_sub_data_fd():codec_ctrl.c,codec.hcodec_reset():codec.h,codec_ctrl.ccodec_reset_audio():codec_ctrl.c,codec.hcodec_reset_subtile():codec_ctrl.c,codec.hcodec_resume():codec.h,codec_ctrl.ccodec_resume_audio():codec.h,codec_ctrl.ccodec_right_mono():audio_ctrl.c,codec.hcodec_set_audio_pid():codec.h,codec_ctrl.ccodec_set_cntl_avthresh():codec.h,codec_ctrl.ccodec_set_cntl_mode():codec_ctrl.c,codec.hcodec_set_cntl_syncthresh():codec.h,codec_ctrl.ccodec_set_dec_reset():codec.h,codec_ctrl.ccodec_set_mute():audio_ctrl.c,codec.hcodec_set_sub_id():codec_ctrl.c,codec.hcodec_set_volume():audio_ctrl.c,codec.hcodec_set_volume_balance():audio_ctrl.c,codec.hcodec_stereo():audio_ctrl.c,codec.hcodec_swap_left_right():codec.h,audio_ctrl.ccodec_write():codec.h,codec_ctrl.ccodec_write_sub_data():codec_ctrl.c,codec.h
-p-
print_error_msg():codec_msg.c
-s-
system_error_to_codec_error():codec_msg.c
GeneratedonFriFeb2515:30:322011forAmcodecby 1.6.1