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

📄 adi_itu656.h

📁 ADSP 地层驱动
💻 H
字号:
/*****************************************************************************

Copyright (c) 2005 Analog Devices.  All Rights Reserved.

This software is proprietary and confidential.  By using this software you agree
to the terms of the associated Analog Devices License Agreement.  
******************************************************************************

$File: video.h $
$Revision: 1.3 $
$Date: 2006/05/23 19:58:25 $

Description:
            Header file for ITU-656 utilities

References:
******************************************************************************/


#ifndef ADI_ITU656_H     // define adi_itu656.h
#define ADI_ITU656_H

/***************************************************************************** 

Common definitions

*****************************************************************************/

#define ADI_ITU656_EAV_SIZE            4                       // EAV size (bytes)
#define ADI_ITU656_SAV_SIZE            4                       // SAV size (bytes)

/***************************************************************************** 

NTSC definitions

Resoultion - 720x480, 525/60 video system

*****************************************************************************/

#define ADI_ITU656_NTSC_WIDTH           (720)                               // NTSC resolution
#define ADI_ITU656_NTSC_HEIGHT          (525)                               // Including active & blank lines
#define ADI_ITU656_NTSC_ACTIVE_FLINES   (240)                               // Active Field lines
#define ADI_ITU656_NTSC_ACTIVE_LINES    (ADI_ITU656_NTSC_ACTIVE_FLINES * 2) // Active lines in a frame
#define ADI_ITU656_NTSC_BLANKING        (268)                               // Blanking size for NTSC
                                                                            // Total line width     
#define ADI_ITU656_NTSC_LINE_WIDTH      ((ADI_ITU656_NTSC_WIDTH * 2)    +   \
                                        ADI_ITU656_NTSC_BLANKING        +   \
                                        ADI_ITU656_EAV_SIZE             +   \
                                        ADI_ITU656_SAV_SIZE)
                                        

// Interlaced NTSC definitions
#define ADI_ITU656_NTSC_ILF1_START      (23)        // NTSC Interlaced active frame field1 (odd) start line
#define ADI_ITU656_NTSC_ILF1_END        (262)       // NTSC Interlaced active frame field1 (odd) finish line
#define ADI_ITU656_NTSC_ILF2_START      (286)       // NTSC Interlaced active frame field2 (even) start line
#define ADI_ITU656_NTSC_ILF2_END        (525)       // NTSC Interlaced active frame field2 (even) start line

// Progressive NTSC definitions
#define ADI_ITU656_NTSC_PRF_START       (46)        // NTSC Progressive active frame start line
#define ADI_ITU656_NTSC_PRF_END         (525)       // NTSC Progressive active frame finish line

/***************************************************************************** 

PAL definitions

Resoultion - 720x576, 625/50 video system

*****************************************************************************/

#define ADI_ITU656_PAL_WIDTH            (720)                               // PAL resolution
#define ADI_ITU656_PAL_HEIGHT           (625)                               // Including active & blank lines
#define ADI_ITU656_PAL_ACTIVE_FLINES    (288)                               // Active Field lines
#define ADI_ITU656_PAL_ACTIVE_LINES     (ADI_ITU656_PAL_ACTIVE_FLINES * 2)  // Active lines in a frame
#define ADI_ITU656_PAL_BLANKING         (280)                               // Blanking size for PAL (Bytes)
                                                                            // Total line width     
#define ADI_ITU656_PAL_LINE_WIDTH       ((ADI_ITU656_PAL_WIDTH * 2)    +   \
                                        ADI_ITU656_PAL_BLANKING        +   \
                                        ADI_ITU656_EAV_SIZE            +   \
                                        ADI_ITU656_SAV_SIZE)

// Interlaced PAL definitions
#define ADI_ITU656_PAL_ILF1_START       (23)        // PAL Interlaced active frame field1 (odd) start line
#define ADI_ITU656_PAL_ILF1_END         (310)       // PAL Interlaced active frame field1 (odd) finish line
#define ADI_ITU656_PAL_ILF2_START       (336)       // PAL Interlaced active frame field2 (even) start line
#define ADI_ITU656_PAL_ILF2_END         (623)       // PAL Interlaced active frame field2 (even) start line

// Progressive PAL definitions
#define ADI_ITU656_PAL_PRF_START        (45)        // PAL Progressive active frame start line
#define ADI_ITU656_PAL_PRF_END          (620)       // PAL Progressive active frame finish line

/***************************************************************************** 

Enumerations for video formats

*****************************************************************************/

typedef enum    {           // Video formats
    ADI_ITU656_NTSC_IL,                // NTSC Interlaced frame
    ADI_ITU656_PAL_IL,                 // PAL Interlaced frame
    ADI_ITU656_NTSC_PR,                // NTSC progressive frame
    ADI_ITU656_PAL_PR                  // PAL progressice frame
}ADI_ITU656_FRAME_TYPE;

/***************************************************************************** 

API Function Declerations

*****************************************************************************/

void adi_itu656_FrameFormat (    // Formats an area in memory into a video frame
    u8                      *frame_ptr,   // Pointer to an area of memory used for frame
    ADI_ITU656_FRAME_TYPE   frametype     // Memory will be formated for this Frame type 
);

void adi_itu656_FrameFill (      // Fills active video portions of formated frame to specified color
    u8                      *frame_ptr,   // Pointer to a formated video frame in memory
    ADI_ITU656_FRAME_TYPE   frametype,    // Formated memory Frame type
    u8                      *ycbcr_data   // 4 byte array of 32 bit color value of YCbCr data
); 

void adi_itu656_RowFill (        // Fills a row of pixels in active video portion of formated frame with specified color
    u8                      *frame_ptr,    // Pointer to a formated video frame in memory
    ADI_ITU656_FRAME_TYPE   frametype,     // Formated memory Frame type
    u32                     row_value,     // 32 bit value corresponding to row number of active field
    u8                      *ycbcr_data    // 4 byte array of 32 bit color value of YCbCr data
); 

void adi_itu656_ColumnFill (     // Fills a column of pixels in active video portion of formated frame with specified color
    u8                      *frame_ptr,    // Pointer to a formated video frame in memory
    ADI_ITU656_FRAME_TYPE   frametype,     // Formated memory Frame type
    u32                     column_value,  // 32 bit value corresponding to column number of active field
    u8                      *ycbcr_data    // 4 byte array of 32 bit color value of YCbCr data
); 


#endif                          // end itu656.h definition

⌨️ 快捷键说明

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