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

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

?? mbuffer.h

?? h264標準的VC實現
?? H
字號:

/*!
 ***********************************************************************
 *  \file
 *      mbuffer.h
 *
 *  \brief
 *      Frame buffer functions
 *
 *  \author
 *      Main contributors (see contributors.h for copyright, address and affiliation details)
 *      - Karsten S黨ring          <suehring@hhi.de>
 ***********************************************************************
 */
#ifndef _MBUFFER_H_
#define _MBUFFER_H_

#define MAX_LIST_SIZE 33

//! definition a picture (field or frame)
typedef struct storable_picture
{
  PictureStructure structure;

  int         poc;
  int         top_poc;
  int         bottom_poc;
  int         frame_poc;
  int         order_num;
  int64       ref_pic_num[6][MAX_LIST_SIZE];
  int64       frm_ref_pic_num[6][MAX_LIST_SIZE];
  int64       top_ref_pic_num[6][MAX_LIST_SIZE];
  int64       bottom_ref_pic_num[6][MAX_LIST_SIZE];
  unsigned    frame_num;
  int         pic_num;
  int         long_term_pic_num;
  int         long_term_frame_idx;

  int         is_long_term;
  int         used_for_reference;
  int         is_output;
  int         non_existing;

  int         size_x, size_y, size_x_cr, size_y_cr;
  int         chroma_vector_adjustment;
  int         coded_frame;
  int         MbaffFrameFlag;

  imgpel **     imgY;          //!< Y picture component
  imgpel *      imgY_11;       //!< Y picture component with padded borders
  imgpel *      imgY_11_w;     //!< Y picture component with padded borders for weighted prediction
  imgpel **     imgY_ups;      //!< Y picture component upsampled (Quarter pel)
  imgpel **     imgY_ups_w;    //!< Y picture component upsampled (Quarter pel) for weighted prediction
  imgpel ***    imgUV;         //!< U and V picture components

  byte *      mb_field;      //!< field macroblock indicator

  int  ***    ref_idx;       //!< reference picture   [list][subblock_x][subblock_y]

  int64 ***    ref_pic_id;    //!< reference picture identifier [list][subblock_x][subblock_y]
                             //   (not  simply index) 

  int64 ***    ref_id;    //!< reference picture identifier [list][subblock_x][subblock_y]
                             //   (not  simply index) 

  int  ****   mv;            //!< motion vector       [list][subblock_x][subblock_y][component]
  
  byte **     moving_block;
  byte **     field_frame;         //!< indicates if co_located is field or frame.
  
  struct storable_picture *top_field;     // for mb aff, if frame for referencing the top field
  struct storable_picture *bottom_field;  // for mb aff, if frame for referencing the bottom field
  struct storable_picture *frame;         // for mb aff, if field for referencing the combined frame

} StorablePicture;


//! definition a picture (field or frame)
typedef struct colocated_params
{
//  byte *      mb_field;      //!< field macroblock indicator
  int         mb_adaptive_frame_field_flag;
  int         size_x, size_y;

  int64       ref_pic_num[6][MAX_LIST_SIZE];  

  int  ***    ref_idx;       //!< reference picture   [list][subblock_x][subblock_y]
  int64 ***    ref_pic_id;    //!< reference picture identifier [list][subblock_x][subblock_y]
  int  ****   mv;            //!< motion vector       [list][subblock_x][subblock_y][component]  
  byte **     moving_block;

  // Top field params
  int64       top_ref_pic_num[6][MAX_LIST_SIZE];  
  int  ***    top_ref_idx;       //!< reference picture   [list][subblock_x][subblock_y]
  int64 ***    top_ref_pic_id;    //!< reference picture identifier [list][subblock_x][subblock_y]
  int  ****   top_mv;            //!< motion vector       [list][subblock_x][subblock_y][component]  
  byte **     top_moving_block;

  // Bottom field params
  int64       bottom_ref_pic_num[6][MAX_LIST_SIZE];  
  int  ***    bottom_ref_idx;       //!< reference picture   [list][subblock_x][subblock_y]
  int64 ***    bottom_ref_pic_id;    //!< reference picture identifier [list][subblock_x][subblock_y]
  int  ****   bottom_mv;            //!< motion vector       [list][subblock_x][subblock_y][component] 
  byte **     bottom_moving_block;
  
  int         is_long_term;
  byte **     field_frame;         //!< indicates if co_located is field or frame.
  //struct colocated_params *top_field;     // for mb aff, if frame for referencing the top field
  //struct colocated_params *bottom_field;  // for mb aff, if frame for referencing the bottom field
  //struct colocated_params *frame;         // for mb aff, if field for referencing the combined frame

} ColocatedParams;

//! Frame Stores for Decoded Picture Buffer
typedef struct frame_store
{
  int       is_used;                //!< 0=empty; 1=top; 2=bottom; 3=both fields (or frame)
  int       is_reference;           //!< 0=not used for ref; 1=top used; 2=bottom used; 3=both fields (or frame) used
  int       is_long_term;           //!< 0=not used for ref; 1=top used; 2=bottom used; 3=both fields (or frame) used
  int       is_orig_reference;      //!< original marking by nal_ref_idc: 0=not used for ref; 1=top used; 2=bottom used; 3=both fields (or frame) used

  int       is_non_existent;

  unsigned  frame_num;
  int       frame_num_wrap;
  int       long_term_frame_idx;
  int       is_output;
  int       poc;

  StorablePicture *frame;
  StorablePicture *top_field;
  StorablePicture *bottom_field;

} FrameStore;


//! Decoded Picture Buffer
typedef struct decoded_picture_buffer
{
  FrameStore  **fs;
  FrameStore  **fs_ref;
  FrameStore  **fs_ltref;
  unsigned      size;
  unsigned      used_size;
  unsigned      ref_frames_in_buffer;
  unsigned      ltref_frames_in_buffer;
  int           last_output_poc;
  int           max_long_term_pic_idx;

  int           init_done;

  FrameStore   *last_picture;
} DecodedPictureBuffer;


extern DecodedPictureBuffer dpb;
extern StorablePicture **listX[6];
extern int listXsize[6];

void             init_dpb();
void             free_dpb();
FrameStore*      alloc_frame_store();
void             free_frame_store(FrameStore* f);
StorablePicture* alloc_storable_picture(PictureStructure type, int size_x, int size_y, int size_x_cr, int size_y_cr);
void             free_storable_picture(StorablePicture* p);
void             store_picture_in_dpb(StorablePicture* p);
void             replace_top_pic_with_frame(StorablePicture* p);
void             flush_dpb();

void             dpb_split_field(FrameStore *fs);
void             dpb_combine_field(FrameStore *fs);

void             init_lists(int currSliceType, PictureStructure currPicStructure);
void             reorder_ref_pic_list(StorablePicture **list, int *list_size, 
                                      int num_ref_idx_lX_active_minus1, int *remapping_of_pic_nums_idc, 
                                      int *abs_diff_pic_num_minus1, int *long_term_pic_idx);

void             init_mbaff_lists();
void             alloc_ref_pic_list_reordering_buffer(Slice *currSlice);
void             free_ref_pic_list_reordering_buffer(Slice *currSlice);

void             fill_frame_num_gap(ImageParameters *img);

ColocatedParams* alloc_colocated(int size_x, int size_y,int mb_adaptive_frame_field_flag);
void free_collocated(ColocatedParams* p);
void compute_collocated(ColocatedParams* p, StorablePicture **listX[6]);

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人综合婷婷国产精品久久蜜臀| 中文字幕一区二区三区不卡| 天天影视涩香欲综合网| 欧美狂野另类xxxxoooo| 日韩在线播放一区二区| 欧美成人aa大片| 国产高清成人在线| 亚洲欧洲精品一区二区精品久久久| 成人av网站在线| 亚洲在线视频免费观看| 欧美二区三区91| 国产精品一区二区三区网站| 中文字幕日韩欧美一区二区三区| 91成人免费电影| 免费在线看一区| 国产色产综合色产在线视频 | 久久欧美一区二区| 成人午夜视频在线观看| 中文字幕五月欧美| 欧美日韩成人在线一区| 国产高清在线精品| 亚洲一区在线视频| 久久久久国产精品麻豆 | 91丝袜美女网| 午夜影院在线观看欧美| 久久精品水蜜桃av综合天堂| 91久久精品日日躁夜夜躁欧美| 蜜桃在线一区二区三区| 欧美激情在线一区二区三区| 91久久人澡人人添人人爽欧美| 免费人成精品欧美精品| 国产精品久久久久久一区二区三区 | 国产午夜一区二区三区| 日本道精品一区二区三区| 久久99久久99小草精品免视看| 国产精品免费免费| 91精品黄色片免费大全| 福利91精品一区二区三区| 五月天一区二区| 日本一区二区久久| 日韩一区二区三区电影在线观看 | 国产精品女主播av| 欧美一区二区视频在线观看| www.欧美亚洲| 精久久久久久久久久久| 亚洲成人精品在线观看| 国产精品欧美一区二区三区| 日韩美一区二区三区| 91精品91久久久中77777| 国产精品88888| 免费精品视频在线| 亚洲一二三区在线观看| 国产精品久久一级| 久久久午夜精品| 91精品国产欧美一区二区成人| 色婷婷av久久久久久久| 成人a级免费电影| 国产成人免费在线| 麻豆国产精品一区二区三区| 亚洲午夜精品一区二区三区他趣| 国产精品传媒在线| 欧美高清在线视频| 久久久久综合网| 精品日韩一区二区| 日韩一级二级三级| 91麻豆精品国产91久久久 | 欧美日韩一级二级三级| 91国产精品成人| 91网上在线视频| 97久久精品人人澡人人爽| 岛国一区二区在线观看| 国产精品一区不卡| 国产一区二区0| 国产一区二区三区电影在线观看| 九九热在线视频观看这里只有精品| 午夜视黄欧洲亚洲| 视频一区中文字幕国产| 婷婷激情综合网| 日韩二区三区在线观看| 日韩成人伦理电影在线观看| 午夜精品在线视频一区| 视频在线观看91| 蜜臀a∨国产成人精品| 青青草国产精品亚洲专区无| 久久精品99国产精品日本| 免费成人小视频| 国产在线麻豆精品观看| 国产麻豆视频精品| www.视频一区| 欧亚洲嫩模精品一区三区| 欧美日韩一区二区三区高清| 欧美老年两性高潮| 欧美电影免费观看高清完整版在线观看 | 国产精品麻豆欧美日韩ww| 中文欧美字幕免费| 亚洲欧美中日韩| 亚洲午夜电影网| 免费看欧美女人艹b| 国产一区二区三区四区五区美女 | 日韩成人免费电影| 国产在线观看一区二区| www.亚洲在线| 欧美日韩国产欧美日美国产精品| 精品美女在线观看| 亚洲啪啪综合av一区二区三区| 亚洲一区二区欧美激情| 久久精品国产亚洲高清剧情介绍| 黄色资源网久久资源365| 高清久久久久久| 欧美日韩国产小视频在线观看| 日韩午夜在线观看| 国产精品高清亚洲| 日日噜噜夜夜狠狠视频欧美人| 国产呦精品一区二区三区网站| 99国产精品久| 日韩欧美一区二区视频| 奇米精品一区二区三区四区| 蜜桃免费网站一区二区三区| 国产麻豆午夜三级精品| 欧美综合色免费| 国产婷婷精品av在线| 亚洲成人免费在线| 国产精品18久久久久久vr| 日本高清不卡aⅴ免费网站| 日韩免费性生活视频播放| 亚洲婷婷综合色高清在线| 青青草91视频| 在线精品国精品国产尤物884a| 日韩精品一区二| 亚洲午夜一二三区视频| 成人一区二区视频| 欧美一级免费大片| 夜夜嗨av一区二区三区网页| 国产精品18久久久久久久久久久久 | 久久免费午夜影院| 午夜视频在线观看一区二区 | 韩国成人在线视频| 欧美在线观看一区二区| 久久久亚洲午夜电影| 日韩高清欧美激情| 欧美三电影在线| 国产精品美日韩| 国产一区二区不卡老阿姨| 91精品国产麻豆国产自产在线 | 91福利社在线观看| 国产精品视频第一区| 麻豆极品一区二区三区| 欧美日韩国产高清一区二区三区| 国产精品久久精品日日| 国产精品白丝jk黑袜喷水| 日韩午夜av一区| 亚洲国产一区在线观看| 91在线观看视频| 中文字幕亚洲在| 成人99免费视频| 久久久91精品国产一区二区精品 | 日韩在线a电影| 欧美日韩一区精品| 亚洲一区二区四区蜜桃| 日本丶国产丶欧美色综合| 日韩一区日韩二区| 91视频在线观看| 国产精品久久久久久久第一福利| 国产一区二区三区在线观看免费 | 欧美伦理电影网| 亚洲一级二级在线| 欧美色综合影院| 亚洲va欧美va人人爽| 欧美视频一区在线| 亚洲国产乱码最新视频| 欧美在线视频你懂得| 亚洲成在线观看| 欧美肥大bbwbbw高潮| 免费不卡在线视频| 日韩欧美中文字幕制服| 精品夜夜嗨av一区二区三区| 欧美草草影院在线视频| 狠狠色丁香婷婷综合| 精品久久人人做人人爰| 激情综合色综合久久| 久久精品视频在线免费观看| 国产成人在线影院| 亚洲欧美一区二区在线观看| 色综合久久久久网| 亚洲成人激情av| 日韩一区二区在线看| 国产精品18久久久久| 亚洲日本一区二区| 欧美三日本三级三级在线播放| 免费精品99久久国产综合精品| 精品免费视频一区二区| 国产高清久久久久| 亚洲精品美国一| 4438x亚洲最大成人网| 精彩视频一区二区三区| 国产精品久久久久久久久久免费看| 色综合久久综合网97色综合| 午夜激情一区二区| 国产香蕉久久精品综合网| 在线看日本不卡|