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

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

?? mbuffer.h

?? H.264 codec source code
?? 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

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

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

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

  short ****  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

  int         chroma_format_idc;
  int         frame_mbs_only_flag;
  int         frame_cropping_flag;
  int         frame_cropping_rect_left_offset;
  int         frame_cropping_rect_right_offset;
  int         frame_cropping_rect_top_offset;
  int         frame_cropping_rect_bottom_offset;
} StorablePicture;


//! definition a picture (field or frame)
typedef struct colocated_params
{
  int         mb_adaptive_frame_field_flag;
  int         size_x, size_y;

  int64       ref_pic_num[6][MAX_LIST_SIZE];  

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

  // Top field params
  int64       top_ref_pic_num[6][MAX_LIST_SIZE];  
  char  ***   top_ref_idx;       //!< reference picture   [list][subblock_y][subblock_x]
  int64 ***   top_ref_pic_id;    //!< reference picture identifier [list][subblock_y][subblock_x]
  short ****  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];  
  char  ***   bottom_ref_idx;       //!< reference picture   [list][subblock_y][subblock_x]
  int64 ***   bottom_ref_pic_id;    //!< reference picture identifier [list][subblock_y][subblock_x]
  short ****  bottom_mv;            //!< motion vector       [list][subblock_x][subblock_y][component] 
  byte **     bottom_moving_block;
  
  byte        is_long_term;
  byte **     field_frame;         //!< indicates if co_located is field or 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);
void             free_dpb(void);
FrameStore*      alloc_frame_store(void);
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);

void             dpb_split_field(FrameStore *fs);
void             dpb_combine_field(FrameStore *fs);
void             dpb_combine_field_yuv(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 *reordering_of_pic_nums_idc, 
                                      int *abs_diff_pic_num_minus1, int *long_term_pic_idx);

void             init_mbaff_lists(void);
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_colocated(ColocatedParams* p);
void compute_colocated(ColocatedParams* p, StorablePicture **listX[6]);

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕在线不卡视频| 69堂亚洲精品首页| 丁香婷婷综合五月| 91福利小视频| 久久一区二区视频| 免费成人在线观看视频| 狠狠狠色丁香婷婷综合久久五月| 日韩一区二区三区免费观看| 国产不卡视频一区二区三区| 综合网在线视频| jiyouzz国产精品久久| 亚洲成人午夜影院| 国产午夜亚洲精品不卡 | 亚洲第一主播视频| 99精品黄色片免费大全| 亚洲成人av一区二区三区| 精品久久久久一区| 色婷婷亚洲婷婷| 日本欧美一区二区| 中文字幕在线不卡一区二区三区| 91精品欧美福利在线观看| 国产精品性做久久久久久| 亚洲欧美日韩电影| 欧美成人精品高清在线播放| 色菇凉天天综合网| 日韩精品一级中文字幕精品视频免费观看| 欧美videos大乳护士334| 97se狠狠狠综合亚洲狠狠| 麻豆精品一区二区三区| 亚洲精品日韩综合观看成人91| 欧美精品一区二| 555夜色666亚洲国产免| 99精品黄色片免费大全| 国产精品996| 久久er精品视频| 亚洲国产日韩在线一区模特| 中文字幕一区日韩精品欧美| 国产亚洲精品福利| 欧美刺激脚交jootjob| 日本韩国一区二区三区视频| 成人国产精品免费| 国产在线精品免费| 毛片不卡一区二区| 午夜精品久久久久久久久久久| 亚洲人吸女人奶水| 中文字幕永久在线不卡| 国产日韩精品久久久| 日韩欧美国产综合| 91成人在线免费观看| 日本丰满少妇一区二区三区| 成人av中文字幕| 岛国一区二区在线观看| 国产伦精品一区二区三区免费 | 欧美性猛片aaaaaaa做受| 国产毛片精品视频| 久久精品久久久精品美女| 日日噜噜夜夜狠狠视频欧美人| 亚洲午夜一区二区| 中文字幕中文在线不卡住| 欧美哺乳videos| 欧美va亚洲va国产综合| 亚洲精品一区二区三区影院| 精品久久久久久久久久久久久久久久久 | 麻豆国产欧美日韩综合精品二区| 亚洲成av人片一区二区梦乃| 国产无一区二区| 2020国产精品| 91精品国产欧美一区二区18| 91.xcao| 欧美精品99久久久**| 成人激情小说网站| 日韩高清一级片| 国产一区二区女| 国产在线视频不卡二| 麻豆免费看一区二区三区| 狠狠狠色丁香婷婷综合久久五月| 另类人妖一区二区av| 亚洲欧洲精品天堂一级| 欧美激情一区在线观看| 2024国产精品| 18欧美亚洲精品| 五月天网站亚洲| 色婷婷久久久久swag精品| 92精品国产成人观看免费 | 亚洲免费av网站| 国产欧美视频一区二区| 欧美经典一区二区| 一区二区在线观看不卡| 亚洲444eee在线观看| 亚洲成在人线在线播放| 亚洲色图视频免费播放| 久久精品这里都是精品| 欧美一二三区精品| 久久中文字幕电影| 欧美乱妇15p| 欧美一区二区三区免费大片| 国产亚洲一区字幕| 一二三区精品视频| 国产精品一区二区黑丝| 欧美亚洲国产怡红院影院| 久久久综合网站| 国产一区二区三区高清播放| 国产91精品露脸国语对白| 中文在线一区二区| 精品制服美女久久| 国产精品99精品久久免费| 色就色 综合激情| 国产欧美日韩中文久久| 日韩在线一区二区三区| 91黄色激情网站| 欧美国产一区二区| 九色综合狠狠综合久久| 欧美色老头old∨ideo| 国产精品理论片在线观看| 极品少妇xxxx精品少妇| 欧美日产在线观看| 一区二区久久久久久| 成人爱爱电影网址| 久久久另类综合| 久久国产成人午夜av影院| 欧美日韩和欧美的一区二区| 亚洲欧美日韩在线| 丁香婷婷深情五月亚洲| 国产亚洲综合色| 国产在线精品一区在线观看麻豆| 日韩一级在线观看| 日韩精品欧美精品| 91精品久久久久久蜜臀| 日韩精品一级中文字幕精品视频免费观看| 欧日韩精品视频| 亚洲一区在线播放| 欧美主播一区二区三区美女| 亚洲精品乱码久久久久久久久| www.av精品| 亚洲男同1069视频| 91网站最新网址| 亚洲欧美一区二区不卡| 91在线视频官网| 亚洲欧美一区二区三区国产精品| 一本色道综合亚洲| 亚洲精品高清视频在线观看| 色婷婷综合中文久久一本| 一区二区欧美国产| 欧美日韩一区不卡| 蜜芽一区二区三区| 欧美日韩大陆在线| 蜜桃av噜噜一区二区三区小说| 日韩三级免费观看| 精品一区二区影视| 国产视频一区在线播放| 成人av影视在线观看| 中文字幕一区二区在线播放| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲免费成人av| 91精品国产综合久久精品麻豆| 六月丁香婷婷久久| 国产日韩精品一区二区三区| 97国产一区二区| 天堂久久久久va久久久久| 成人永久免费视频| 日本福利一区二区| 国产一区二区三区免费播放| 久久精品亚洲精品国产欧美kt∨ | 555www色欧美视频| 免费人成黄页网站在线一区二区| 精品国产a毛片| 99国产精品99久久久久久| 亚洲动漫第一页| 久久久国产一区二区三区四区小说| 不卡一卡二卡三乱码免费网站| 一区二区三区在线不卡| 欧美一卡二卡在线观看| 成人免费毛片a| 亚洲国产wwwccc36天堂| 26uuu国产在线精品一区二区| aa级大片欧美| 视频一区二区中文字幕| 亚洲精品在线免费播放| 91浏览器打开| 久久国产精品99久久久久久老狼| 国产精品久久久久永久免费观看| 欧美三级日韩在线| 国产精品影视天天线| 一区二区三区四区在线播放| 精品久久免费看| 在线观看亚洲a| 国产乱码精品1区2区3区| 夜夜揉揉日日人人青青一国产精品| 欧美本精品男人aⅴ天堂| 97久久精品人人爽人人爽蜜臀| 麻豆免费精品视频| 一片黄亚洲嫩模| 国产日韩欧美精品一区| 5858s免费视频成人| 99久久99久久免费精品蜜臀| 久久99久久99小草精品免视看| 亚洲激情六月丁香| 国产欧美一区二区三区在线老狼| 欧美美女喷水视频| 色综合久久88色综合天天免费|