encdev.h

来自「AMLOGIC DPF source code」· C头文件 代码 · 共 127 行

H
127
字号
/*******************************************************************
 * 
 *  Copyright C 2005 by Amlogic, Inc. All Rights Reserved.
 *
 *  Description: 
 *
 *  Author: Amlogic Software
 *  Created: 7/7/2006 12:53PM
 *
 *******************************************************************/

#ifndef ENCDEV_H
#define ENCDEV_H

#define ENC_ERR_NONE                0
#define ENC_ERR_ENCODER_FW          -1
#define ENC_ERR_UNCONFIGGED         -2
#define ENC_ERR_TVDECODER_TALK      -3
#define ENC_ERR_ENCODER_START       -4
#define ENC_ERR_NO_INPUT            -5
#define ENC_ERR_ENCODER_STOPPED     -6
#define ENC_ERR_UNSUPPORTED         -7

typedef enum {
    ENC_VIDEO_MODE_D1 = 0,
    ENC_VIDEO_MODE_2_3D1
} enc_video_resolution_t;

typedef enum {
    ENC_VBR_8M = 0,
    ENC_VBR_6M,
    ENC_VBR_4_5M,
    ENC_VBR_3M,
    ENC_VBR_1_5M,
    ENC_CBR_8M,
    ENC_CBR_6M,
    ENC_CBR_4_5M,
    ENC_CBR_3M,
    ENC_CBR_1_5M
} enc_bit_rate_t;

typedef void (*encoder_reset_func_t)(void);

typedef enum{
    TV_DECODER_SAA7113,
    TV_DECODER_TVP5147
} tv_decoder_type_t;

typedef void (*tv_decoder_reset_func_t)(void) ;

typedef struct {
    unsigned char   brightness;
    unsigned char   contrast;
    unsigned char   chroma_satuation;
    unsigned char   chroma_hue;
} tv_decoder_settings_t;

typedef int  (*tv_decoder_int_gpio_func_t)(void) ;

#define TVDEC_SIGNAL_LOST       0x01
#define TVDEC_STANDARD_CHANGED  0x02
typedef unsigned tv_decoder_monitor_type_t;

typedef struct {
    tv_decoder_int_gpio_func_t      gpio_func;
    tv_decoder_monitor_type_t       monitor_type;
} tv_decoder_monitor_t;

typedef enum {
    ENC_ADC_RIGHT_JUSTIFIED = 0,
    ENC_ADC_LEFT_JUSTIFIED,
    ENC_ADC_I2S
} encoder_adc_type_t;

typedef struct {
    I2C_Talk_t             *tv_decoder_i2c_talk;
    unsigned                tv_decoder_svideo_input;
    tv_decoder_type_t       tv_decoder_type;
    tv_decoder_reset_func_t tv_decoder_reset_func;
    tv_decoder_settings_t   tv_decoder_settings;
    tv_decoder_monitor_t    tv_decoder_monitor;

    encoder_adc_type_t      adc_type;

    encoder_reset_func_t    hw_reset;

    enc_video_resolution_t  resolution;
    enc_bit_rate_t          bitrate;

} enc_config_t;

typedef struct {
    unsigned        buffer_addr;                /* circular buffer start address */
    unsigned        buffer_blk_number;          /* buffer size in 128 bytes unit */

    unsigned        data_checking_blk_number;   /* everytime when we have this number -- */
    AVSysEvent_t    data_event;                 /* this event will be post */
} enc_startcmd_t;

typedef enum {
    ENC_STOP = 0,
    ENC_RUNNING
} enc_stat_t;

typedef enum {
    ENC_INPUT_NTSC = 0,
    ENC_INPUT_PAL,
    ENC_INPUT_NA
} enc_videoin_t;

typedef struct {
    enc_stat_t      stat;
    unsigned        blk_level;
    unsigned        read_pointer;
    unsigned        monitor_triggered;
} enc_status_t;

#define ENCODERIO_CONFIG        _IO('R',1)
#define ENCODERIO_CHK_INPUT     _IO('R',2)
#define ENCODERIO_START         _IO('R',3)
#define ENCODERIO_STOP          _IO('R',4)
#define ENCODERIO_GETSTAT       _IO('R',5)
#define ENCODERIO_CONSUME_DATA  _IO('R',6)
#define ENCODERIO_GET_MONITOR_TRIGGER_REASON    _IO('R',7)

#endif /* ENCDEV_H */

⌨️ 快捷键说明

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