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

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

?? mbuffer.h

?? H.264的編碼器
?? 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一区二区三区免费野_久草精品视频
国产喷白浆一区二区三区| 久久色在线视频| 国产一区二区三区蝌蚪| 久久精品一级爱片| 亚洲六月丁香色婷婷综合久久| 无码av中文一区二区三区桃花岛| 久久精品国产亚洲高清剧情介绍| www.激情成人| 综合网在线视频| 亚洲天堂免费在线观看视频| 亚洲一级电影视频| 久久超碰97中文字幕| 成人黄色av网站在线| 欧美美女一区二区在线观看| 久久久精品综合| 午夜亚洲国产au精品一区二区| 国产乱人伦偷精品视频免下载 | 亚洲最大成人网4388xx| 国内精品在线播放| 欧美剧情电影在线观看完整版免费励志电影 | 久久99国产精品麻豆| 国产麻豆成人精品| 亚洲制服丝袜av| 91网站最新网址| 国产精品久久久久久久久久免费看| 亚洲第一福利一区| 在线观看精品一区| 久久老女人爱爱| 免费人成黄页网站在线一区二区| 91日韩在线专区| 亚洲欧洲成人av每日更新| 国产精品伊人色| 久久久久免费观看| 国产一区不卡视频| 久久奇米777| 欧洲另类一二三四区| 亚洲国产成人自拍| 成人一区在线看| 亚洲欧美日韩国产综合在线| 成人激情av网| 成人欧美一区二区三区白人| 成人av电影在线网| 亚洲色图视频网| 欧美色精品在线视频| 视频一区二区欧美| 2023国产精华国产精品| 中文字幕在线一区| 91蜜桃在线观看| 日本系列欧美系列| 久久新电视剧免费观看| 国产在线一区二区综合免费视频| 久久精品日产第一区二区三区高清版 | 日本高清无吗v一区| 视频一区二区中文字幕| 日本一区二区三区四区在线视频| 成人午夜免费视频| 日韩中文字幕亚洲一区二区va在线 | 99精品国产热久久91蜜凸| 一区二区三区.www| 国产欧美日韩视频在线观看| 欧美乱熟臀69xxxxxx| 亚洲大片免费看| 久久午夜老司机| 欧美日高清视频| 色视频欧美一区二区三区| 韩日精品视频一区| 丝袜美腿亚洲一区| 悠悠色在线精品| 欧美一级片免费看| 欧美性生活影院| 91亚洲精华国产精华精华液| 国产精品123| 欧美精品tushy高清| 91免费版在线| 欧美性三三影院| 99精品国产99久久久久久白柏| 国产成人av一区| 国产成人丝袜美腿| 丁香婷婷综合色啪| 99久久久久免费精品国产| 成人av动漫在线| 欧洲在线/亚洲| 7777女厕盗摄久久久| 日韩天堂在线观看| 国产乱码精品1区2区3区| 九色综合国产一区二区三区| 久久99精品久久久久久动态图| 六月丁香婷婷久久| 国产在线麻豆精品观看| 成人爱爱电影网址| 91香蕉视频污在线| 欧美女孩性生活视频| 久久久久97国产精华液好用吗| 国产不卡在线视频| 奇米色一区二区三区四区| 国产一区二区按摩在线观看| 国产激情一区二区三区四区| 国产乱淫av一区二区三区 | 日韩三级视频中文字幕| 国产色产综合产在线视频| 最近日韩中文字幕| 欧美一区二区三区爱爱| 国产校园另类小说区| 一区二区三区在线观看欧美 | 欧美视频在线观看一区| 一片黄亚洲嫩模| 国产成a人无v码亚洲福利| 欧美少妇性性性| 国产精品乱子久久久久| 91精品久久久久久久91蜜桃| 国产精品女人毛片| 美女脱光内衣内裤视频久久影院| 色嗨嗨av一区二区三区| 精品国产免费人成在线观看| 亚洲国产精华液网站w| 日本va欧美va欧美va精品| 91国产福利在线| 久久婷婷一区二区三区| 一二三区精品福利视频| 蜜桃视频第一区免费观看| 欧美日韩在线免费视频| 亚洲女人小视频在线观看| 96av麻豆蜜桃一区二区| 中文天堂在线一区| 国产精品自拍网站| 精品少妇一区二区三区免费观看| 天堂成人免费av电影一区| 欧美色涩在线第一页| 亚洲成人av一区| 日韩成人一级大片| 欧美综合天天夜夜久久| 亚洲午夜久久久久中文字幕久| 国产成人a级片| 一区二区高清在线| 91精品国产综合久久精品app| 亚洲bt欧美bt精品777| 精品1区2区在线观看| 不卡一区二区在线| 日韩制服丝袜av| 久久免费午夜影院| 亚洲欧洲在线观看av| 岛国精品一区二区| 亚洲精品国产一区二区精华液| 91麻豆精品国产| av电影在线不卡| 久久精工是国产品牌吗| 一区二区在线免费观看| 精品国产三级电影在线观看| 亚洲视频一区二区在线| 欧美高清视频一二三区 | 日韩一区二区三区电影在线观看| 国产乱子轮精品视频| 香蕉成人啪国产精品视频综合网| 欧美大尺度电影在线| av不卡免费电影| 国产一区二区三区在线观看免费 | 欧美日韩在线播放三区| 国产精品亚洲а∨天堂免在线| 亚洲美女少妇撒尿| 国产欧美精品一区二区色综合朱莉| 99久久婷婷国产综合精品 | 日韩一区二区三区四区五区六区| 91亚洲精品久久久蜜桃网站| 岛国一区二区在线观看| 精品一区二区三区在线播放| 中文字幕亚洲区| 国产色综合一区| 91精品国产色综合久久久蜜香臀| 色综合久久天天| eeuss鲁片一区二区三区在线看| av午夜一区麻豆| 香蕉加勒比综合久久| 亚洲欧美日韩在线不卡| 国产日产欧美一区| 欧美一区二区在线免费播放| 欧美日韩中文字幕一区二区| 国产很黄免费观看久久| 国产成人av网站| 青娱乐精品视频在线| 免费视频一区二区| 免费在线观看一区二区三区| 国产精品一区二区在线观看网站| 亚洲国产中文字幕在线视频综合 | 久久久久久久久久久电影| 欧美日韩一区二区欧美激情| 国产精品一线二线三线精华| 成年人网站91| 一本到一区二区三区| 青娱乐精品在线视频| 国产精品一区二区三区乱码| 国产成人免费视频一区| 欧美丝袜自拍制服另类| 久久日一线二线三线suv| 国产精品久久久久久亚洲毛片| 国产精品色呦呦| 日韩在线a电影| 99re这里只有精品视频首页| 欧美大度的电影原声| 亚洲韩国精品一区| eeuss国产一区二区三区|