亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? samph263.h

?? 基于intel ipp的h263_decoder
?? H
字號:
/********************************************************************************
//               INTEL CORPORATION PROPRIETARY INFORMATION
//  This software is supplied under the terms of a license agreement or
//  nondisclosure agreement with Intel Corporation and may not be copied
//  or disclosed except in accordance with the terms of that agreement.
//        Copyright (c) 2003 Intel Corporation. All Rights Reserved.
//
//  Description:
//    Intel(R) Integrated Performance Primitives Sample Code 
//    H263 Decoder Definitions
//
********************************************************************************/

#ifndef _SAMPH263_H_
#define _SAMPH263_H_

#include "sampvc.h"
#include <stdio.h>

/****************************************
/ Consts
****************************************/
/* File Name Max Length */
#define MAX_FILENAME_LEN                255

/* Stream Syntax */
#define H263_STREAM_PSC                 0x000020
#define H263_STREAM_EOS                 0x00003f
#define H263_STREAM_PTYPE               0x0

#define H263_STREAM_GBSC                0x00001


#define H263_STREAM_PSC_LEN             22
#define H263_STREAM_EOS_LEN             22
#define H263_STREAM_TR_LEN              8
#define H263_STREAM_PTYPE_LEN           13
#define H263_STREAM_PQUANT_LEN          5
#define H263_STREAM_CPM_LEN             1
#define H263_STREAM_PEI_LEN             1
#define H263_STREAM_PSUPP_LEN           8

#define H263_STREAM_GBSC_LEN            17
#define H263_STREAM_GN_LEN              5
#define H263_STREAM_GFID_LEN            2
#define H263_STREAM_GQUANT_LEN          5

#define H263_STREAM_COD_LEN             1

#define H263_STREAM_DQUANT_LEN          2

#define H263_STREAM_INTRADC_LEN         8

/*************************************
/ Structure for H263 Decoder 
*************************************/
/* Coding Type */
typedef enum _h263_picture_coding_type {
    H263_I_PICTURE              = 0,
    H263_P_PICTURE              = 1,
    H263_PB_FRAME               = 2
} h263_picture_coding_type;

/* Macro Block Type */
typedef enum _h263_macroblock_type {
    H263_INTER                  = 0,    /* P picture */
    H263_INTER_Q                = 1,    /* P picture with DQUANT */
    H263_INTER4V                = 2,    /* P picture with 4MV */
    H263_INTRA                  = 3,    /* I picture */
    H263_INTRA_Q                = 4,    /* I picture with DQUANT */
    H263_INTER4V_Q              = 5,    /* P picture with DQUANT and 4MV */
    H263_STUFFING               = 6     /* Stuffing MB */
} h263_macroblock_type;

/* Source Coding Format */
typedef enum _h263_source_format {
    H263_SOURCE_FORBIDDEN       = 0,    /* forbidden */
    H263_SOURCE_SUBQCIF         = 1,    /* sub-QCIF */
    H263_SOURCE_QCIF            = 2,    /* QCIF */
    H263_SOURCE_CIF             = 3,    /* CIF */
    H263_SOURCE_4CIF            = 4,    /* 4CIF */
    H263_SOURCE_16CIF           = 5,    /* 16CIF */
    H263_SOURCE_EXT_PTYPE       = 7     /* extended PTYPE */
} h263_source_format;

/* User Access Parameters */
typedef struct _h263_dec_param {
    char    in_file_name[MAX_FILENAME_LEN];
    char    out_file_name[MAX_FILENAME_LEN];
} h263_dec_param;

/* Decoder state */
typedef struct _h263_dec_state {
    sample_picture *cur_picture;    /* Current picture */
    sample_picture *ref_picture;    /* Reference picture */

    /* general info */
    int     picture_index;          /* count of decoded picture by decoder */
    int     mb_per_row;             /* count of MB per row */
    int     gob_per_picture;        /* count of GOB per picture */
    int     gob_has_header;         /* Indicator if current GOB has header */

    /* picture header info */
    int     tr;                     /* temporal reference */
    int     is_last_picture;        /* Indicator if is last output picture */
    int     coding_type;            /* picture type (I/P/PB) */
    int     source_format;          /* format: CIF/QCIF/sub-QCIF */
    int     rounding_type;          /* RCONTROL: Rounding On/Off */
    int     pquant;                 /* quantization parameter */

    /* Motion vector buffer */
    IppMotionVector  *mv_buffer;    /* MV buffer for one GOB */
    IppMotionVector  mvd;           /* Difference of MV */

    /* Work buffer */
    unsigned char*   work_buf;

    /* Current Infomation */
    sample_spacial_ptrset cur_gob;  /* Current GOB */
    sample_spacial_ptrset ref_gob;  /* Reference GOB */
    sample_spacial_ptrset cur_mb;   /* Current macroblock */
    sample_spacial_ptrset ref_mb;   /* Reference macroblock */
    sample_spacial_ptrset cur_block;/* Current block */
    sample_spacial_ptrset ref_block;/* Reference block */
    IppMotionVector       *cur_mv;  /* Current mv buffer */

    /* Current MB head info */
    int mb_type;                    /* Macroblock type */
    int mb_index;                   /* Index of current macroblock */
    int quant;                      /* Quantization */
    int dquant;                     /* Difference of quant */
    int cod;                        /* flag of coded/not-coded */
    int cbpc;                       /* Coded block pattern for chrominance */
    int cbpy;                       /* Coded block pattern for luminance */

} h263_dec_state;

/****************************************
/ Tables
****************************************/
extern const unsigned short mcbpc_tbl_ipic_h263[];
extern const unsigned short mcbpc_tbl1_ppic_h263[];
extern const unsigned short mcbpc_tbl2_ppic_h263[];
extern const unsigned short cbpy_tbl_h263[];
extern const int            dquant_mb_h263[4];
extern const char           mv_quarter_round_h263[4]; 


/****************************************
/ Macros
****************************************/
/* Create MCBPC Table Entry */
#define MCBPC_ENTRY(mbtype, cbpc, num_bits) \
    ((mbtype)<<10 | (cbpc)<<8 | (num_bits))

/* Get each element from one MCBPC table entry */
#define MCBPC_MBTYPE(mcbpc)     (((mcbpc)>>10) & 0x7)
#define MCBPC_CBPC(mcbpc)       (((mcbpc)>>8)  & 0x3)
#define MCBPC_NUMBITS(mcbpc)    ((mcbpc)&0xff)

/* Create CBPY Table Entry */
#define CBPY_ENTRY(cbpy_intra, cbpy_inter, num_bits) \
    ((cbpy_intra)<<12 | (cbpy_inter)<<8 | (num_bits))

/* Get each element from one CBPY table entry */
#define CBPY_INTRA(cbpy)        ((cbpy)>>12&0xf)
#define CBPY_INTER(cbpy)        ((cbpy)>>8 & 0xf)
#define CBPY_NUMBITS(cbpy)      ((cbpy)&0xff)

/* Get element from one MVD table entry */
#define MVD_NUMBITS(mvd)        ((mvd)&0xff)

/* Clip quant to [1, 31] */
#define QUANT_CLIP(quant)  (((quant)<1)?1:((quant)>31?31:(quant)))

/* Stream utilites */
/* Align stream pointer to next byte */
#define STREAM_BYTE_ALIGN(stream)   \
{                                   \
    (stream)->bs_cur_bitoffset = 0; \
    (stream)->bs_cur_byte ++;       \
}

/* Check if current stream position is byte aligned */
#define STREAM_CHECK_BYTE_ALIGN(stream) ((stream)->bs_cur_bitoffset==0)

/* Buffer size */
/* Buffer size for motion vectors in one GOB */
#define MV_BUFSIZE(mbnum)             (((mbnum) + 2) * sizeof(IppMotionVector))

/* Y Plane size */
#define YPLANE_BUFSIZE(pic)  \
    ((pic)->pic_plane_step[0]*(pic)->pic_height)

/* Cb Plane size */
#define CBPLANE_BUFSIZE(pic) \
    (((pic)->pic_plane_step[0]*(pic)->pic_height)/4)

/* Cr Plane size */
#define CRPLANE_BUFSIZE(pic) \
    (((pic)->pic_plane_step[0]*(pic)->pic_height)/4)



/****************************************
/ Function Declarations
****************************************/

/*********** Codec Level Function *********************/
extern sample_status decoder_init_alloc_h263(sample_bitstream  *stream,  
                                             h263_dec_state    *state);

extern sample_status decode_h263(sample_bitstream   *stream,   
                                 h263_dec_state     *state,
                                 sample_picture     **out_picture);

extern sample_status decoder_free_h263(h263_dec_state *state);

/*********** Other subroutines ***********************/
/* GOB Level Decoding */
extern sample_status decode_gob_ipic_h263(sample_bitstream  *stream, 
                                          h263_dec_state    *state);

extern sample_status decode_gob_ppic_h263(sample_bitstream  *stream, 
                                          h263_dec_state    *state);

/* MB Level Decoding */
extern sample_status decode_mb_ipic_h263(sample_bitstream   *stream, 
                                         h263_dec_state     *state);

extern sample_status decode_mb_ppic_h263(sample_bitstream   *stream, 
                                         h263_dec_state     *state);

/* Header Parsing & Start Code Searching Functions */
extern sample_status parse_picture_header_h263(sample_bitstream  *stream, 
                                               h263_dec_state    *state);

extern sample_status parse_gob_header_h263(sample_bitstream  *stream, 
                                           h263_dec_state    *state);

extern sample_status parse_mb_header_h263(sample_bitstream  *stream, 
                                          h263_dec_state    *state);


/* Auxiliary Stream Subroutines */
extern SAMPLE_BOOL read_stream_bits(sample_bitstream *stream,
                                    int              bits_len, 
                                    unsigned int     *data);

extern SAMPLE_BOOL preview_stream_bits(sample_bitstream *stream,
                                       int              bits_len, 
                                       unsigned int     *data);

extern SAMPLE_BOOL skip_stream_bits(sample_bitstream *stream,
                                    int              bits_len);

extern SAMPLE_BOOL seek_next_sync_code_h263(sample_bitstream  *stream, 
                                            unsigned int      sync_code, 
                                            int               sync_code_len,
                                            int               is_byte_aligned,
                                            int               seek_byte_offset,
                                            int               seek_byte_len);

extern SAMPLE_BOOL insert_stream_bits_bytealign(sample_bitstream *stream, 
                                                int              bits_len,
                                                unsigned int     data);


#endif  //_SAMPH263_H_
/* EOF */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日产精品一区| 久久不见久久见免费视频1| 日韩欧美在线影院| 欧美在线观看18| 欧美日韩中文字幕精品| 色噜噜狠狠成人中文综合| av一区二区三区黑人| 成人动漫中文字幕| 91免费在线视频观看| 国产精品99久久久久久似苏梦涵 | 国产 欧美在线| 成人一区二区三区中文字幕| 成人综合婷婷国产精品久久蜜臀| 99精品视频一区| 欧美视频完全免费看| 日韩午夜激情视频| 在线免费不卡电影| 欧美久久久久久久久久| 欧美日韩1234| 777久久久精品| 久久久久久久综合| 亚洲色图清纯唯美| 亚洲成人免费av| 老汉av免费一区二区三区 | 色噜噜狠狠色综合中国| 在线精品视频一区二区| 日韩片之四级片| 欧美国产欧美综合| 亚洲va欧美va人人爽午夜| 久久精品国产在热久久| 国产福利一区二区三区视频在线| 不卡一区二区三区四区| 欧美日韩精品欧美日韩精品| 久久久精品天堂| 一区二区三区免费| 经典三级视频一区| 日本韩国精品在线| 精品捆绑美女sm三区| 最新欧美精品一区二区三区| 丝袜美腿亚洲色图| 99久久国产免费看| 精品久久一区二区三区| 亚洲一区二区三区四区的 | 久久久久亚洲蜜桃| 亚洲精品免费播放| 日韩视频在线观看一区二区| 在线免费一区三区| 国产美女主播视频一区| 99re成人精品视频| 欧美一区二区三区在线视频| 国产亚洲综合在线| 午夜精品久久久久久久蜜桃app| 国产剧情av麻豆香蕉精品| 欧洲另类一二三四区| 国产区在线观看成人精品| 婷婷成人综合网| 色悠悠久久综合| 国产喷白浆一区二区三区| 日韩不卡手机在线v区| 91在线国内视频| 亚洲国产精品av| 国内精品视频一区二区三区八戒 | 综合欧美亚洲日本| 国产精品一区不卡| 精品国产在天天线2019| 午夜久久久久久久久久一区二区| 在线观看亚洲一区| 国产精品女同一区二区三区| 国产一区二区三区在线观看精品 | 性做久久久久久| 一本久久综合亚洲鲁鲁五月天| 日本一区二区三区四区在线视频| 久久国产精品露脸对白| 欧美一区二区视频观看视频| 婷婷一区二区三区| 欧美日韩成人一区| 日韩电影在线免费| 91精品国产麻豆| 理论电影国产精品| 欧美成人r级一区二区三区| 免费观看在线色综合| 91精品国产综合久久国产大片| 亚洲高清视频的网址| 欧美老年两性高潮| 毛片基地黄久久久久久天堂| 日韩精品最新网址| 国产伦精品一区二区三区免费迷 | 日韩视频一区二区在线观看| 偷拍与自拍一区| 欧美日韩二区三区| 国产白丝精品91爽爽久久| 精品少妇一区二区三区日产乱码 | 国产亚洲综合av| 国产999精品久久久久久绿帽| 欧美国产激情二区三区| 99久久精品免费精品国产| 亚洲精品国产成人久久av盗摄| 欧美性色aⅴ视频一区日韩精品| 亚洲成人精品影院| 久久五月婷婷丁香社区| 成人动漫一区二区三区| 一区二区三区四区五区视频在线观看| 欧美色区777第一页| 麻豆国产精品视频| 成人免费在线视频| 欧美肥妇free| 成人免费看片app下载| 夜夜夜精品看看| 精品福利在线导航| 91啦中文在线观看| 久久99精品国产| 亚洲欧美视频一区| 欧美变态tickling挠脚心| 99精品黄色片免费大全| 亚洲成人免费影院| 亚洲国产精品二十页| 欧美精品一卡两卡| 成人精品gif动图一区| 日本vs亚洲vs韩国一区三区| 中文字幕精品一区二区三区精品| 欧美丝袜第三区| 成人在线视频首页| 免费看欧美美女黄的网站| 亚洲天堂中文字幕| 国产亚洲精品超碰| 欧美一区二区不卡视频| 色综合网站在线| 国产成人av电影在线| 青青草国产精品亚洲专区无| 亚洲另类色综合网站| 久久久99精品久久| 久久精品人人做人人综合| 欧美一区二区三区免费大片| 色吧成人激情小说| 成人不卡免费av| 国产一区免费电影| 久久超碰97人人做人人爱| 亚洲一区二区三区四区在线免费观看 | 不卡一区二区三区四区| 极品少妇xxxx精品少妇偷拍 | 欧美男生操女生| 色综合久久综合网97色综合 | 亚洲欧洲制服丝袜| 久久久亚洲午夜电影| 日韩情涩欧美日韩视频| 欧美日韩国产欧美日美国产精品| 97久久人人超碰| 波多野结衣一区二区三区| 国产美女精品一区二区三区| 久久精品国产99国产| 美女精品自拍一二三四| 天天av天天翘天天综合网| 香蕉av福利精品导航| 午夜视黄欧洲亚洲| 三级欧美韩日大片在线看| 日韩专区在线视频| 日本午夜精品一区二区三区电影| 亚洲一区二区三区四区的| 亚洲二区在线观看| 五月婷婷综合网| 美女网站一区二区| 久久国产精品无码网站| 国内精品不卡在线| 国产成人在线视频免费播放| 国产成人一区二区精品非洲| 国产91在线观看丝袜| 99视频精品免费视频| 成人激情视频网站| 欧美日本韩国一区二区三区视频| 欧美美女一区二区在线观看| 欧美精品乱码久久久久久| 国产日产欧美一区二区视频| 国产性色一区二区| 91精品国产色综合久久不卡电影 | 欧美色男人天堂| 欧美日韩视频一区二区| 欧美一级高清片在线观看| 精品国产一区二区在线观看| 久久久久免费观看| 亚洲色图都市小说| 午夜影院久久久| 国产麻豆精品theporn| 日本精品一级二级| 欧美一级免费大片| 国产精品伦一区二区三级视频| 亚洲激情自拍偷拍| 韩国欧美国产1区| 91一区二区三区在线观看| 在线不卡中文字幕播放| 久久久精品黄色| 一区二区理论电影在线观看| 精久久久久久久久久久| 色综合久久久久久久久久久| 日韩午夜在线观看视频| 国产精品激情偷乱一区二区∴| 日韩精品乱码免费| 国产精品2024| 在线观看视频欧美| 911精品国产一区二区在线| 亚洲精品videosex极品|