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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mbuffer.h

?? JM 11.0 KTA 2.1 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>
 *      - Jill Boyce               <jill.boyce@thomson.net>
 *      - Saurav K Bandyopadhyay   <saurav@ieee.org>
 *      - Zhenyu Wu                <Zhenyu.Wu@thomson.net
 *      - Purvin Pandit            <Purvin.Pandit@thomson.net>
 *
 ***********************************************************************
 */
#ifndef _MBUFFER_H_
#define _MBUFFER_H_

#include "global.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;
  int64       ref_pic_num        [MAX_NUM_SLICES][6][MAX_LIST_SIZE];
  int64       frm_ref_pic_num    [MAX_NUM_SLICES][6][MAX_LIST_SIZE];
  int64       top_ref_pic_num    [MAX_NUM_SLICES][6][MAX_LIST_SIZE];
  int64       bottom_ref_pic_num [MAX_NUM_SLICES][6][MAX_LIST_SIZE];
  unsigned    frame_num;
  unsigned    recovery_frame;

  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;

  short       max_slice_id;

  int         size_x, size_y, size_x_cr, size_y_cr;
  int         chroma_vector_adjustment;
  int         coded_frame;
  int         MbaffFrameFlag;
  unsigned    PicWidthInMbs;
  unsigned    PicSizeInMbs;

  imgpel **     imgY;         //!< Y picture component
  imgpel ***    imgUV;        //!< U and V picture components
#ifdef USE_POST_FILTER
  imgpel **     imgY_post;
#endif  
  byte  *      mb_field;      //!< field macroblock indicator

  short **     slice_id;      //!< reference picture   [mb_x][mb_y]

  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_y][subblock_x][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         slice_type;
  int         idr_flag;
  int         no_output_of_prior_pics_flag;
  int         long_term_reference_flag;
  int         adaptive_ref_pic_buffering_flag;

  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;
  int         qp;
  int         chroma_qp_offset[2];
  int         slice_qp_delta;
  DecRefPicMarking_t *dec_ref_pic_marking_buffer;                    //!< stores the memory management control operations

  // picture error concealment
  int concealed_pic; //indicates if this is a concealed picutre
#ifdef ADAPTIVE_FILTER
  double FilterCoefficients[15][36];
#endif
} 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_y][subblock_x][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_y][subblock_x][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_y][subblock_x][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;
  unsigned  recovery_frame;

  int       frame_num_wrap;
  int       long_term_frame_idx;
  int       is_output;
  int       poc;

  // picture error concealment
  int concealment_reference;

  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;
  int           num_ref_frames;

  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             flush_dpb();

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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国成人精品a∨在线观看| 色综合天天综合给合国产| 韩国理伦片一区二区三区在线播放 | 99久久综合色| 2022国产精品视频| 极品少妇一区二区三区精品视频| 欧美日韩国产影片| 中文字幕亚洲一区二区va在线| 国产一区激情在线| www国产成人| 国产不卡视频一区| 国产精品美女久久久久高潮| 波多野结衣中文字幕一区二区三区 | 色综合天天性综合| 亚洲色图另类专区| 91麻豆精品国产91久久久使用方法 | 亚洲精品免费在线播放| 色一区在线观看| 亚洲一区二区三区四区在线| 99麻豆久久久国产精品免费| 亚洲欧美电影院| 欧美男人的天堂一二区| 国产精品一区一区| 1024成人网| 3d成人动漫网站| www.欧美日韩| 麻豆国产91在线播放| 中文字幕在线一区| 91精品国产综合久久精品麻豆| 日本视频一区二区三区| 亚洲欧洲一区二区在线播放| 欧美三级视频在线| 国产一区二区主播在线| 欧美激情在线免费观看| 在线欧美小视频| 韩国中文字幕2020精品| 夜色激情一区二区| 国产亚洲精品精华液| 欧美图区在线视频| 国产成人精品综合在线观看| 一区二区高清视频在线观看| 国产精品第13页| 欧美精品乱码久久久久久按摩| 粉嫩蜜臀av国产精品网站| 丝袜国产日韩另类美女| 国产精品视频线看| 3d动漫精品啪啪一区二区竹菊| 欧洲av一区二区嗯嗯嗯啊| 久久精品久久99精品久久| 中文字幕国产精品一区二区| 日韩精品专区在线影院观看| 欧美三级电影一区| 欧日韩精品视频| 色婷婷av一区二区三区之一色屋| 国产99精品国产| 成人美女视频在线观看18| 国产成人亚洲综合a∨婷婷图片| 久久精品国产99| 精品亚洲免费视频| 精品亚洲国产成人av制服丝袜| 麻豆freexxxx性91精品| 蜜桃传媒麻豆第一区在线观看| 日本不卡的三区四区五区| 久久99国产精品免费| 黄色小说综合网站| 成人精品一区二区三区四区 | 亚洲一卡二卡三卡四卡五卡| 亚洲风情在线资源站| 午夜精品免费在线| 久久国产精品露脸对白| 国产精品 欧美精品| 欧美亚州韩日在线看免费版国语版| 色婷婷综合久久久久中文一区二区| 972aa.com艺术欧美| 欧美午夜片在线观看| 制服丝袜亚洲网站| 久久综合一区二区| 一区二区欧美国产| 成人免费看视频| 欧美日韩在线播放三区四区| 久久先锋资源网| 国产精品第四页| 久热成人在线视频| 91国偷自产一区二区使用方法| 精品精品欲导航| 中文久久乱码一区二区| 亚洲国产精品一区二区www在线| 麻豆精品视频在线观看视频| 欧美色老头old∨ideo| 国产拍欧美日韩视频二区| 午夜av电影一区| 91福利小视频| 亚洲三级在线观看| 丰满岳乱妇一区二区三区| 欧美一区二区在线视频| 亚洲国产精品久久不卡毛片| 色婷婷亚洲综合| 亚洲免费在线观看视频| 国产69精品久久久久毛片| 日韩免费观看高清完整版| 亚洲综合在线视频| 欧美亚一区二区| 亚州成人在线电影| 欧美精品三级在线观看| 亚洲成人av资源| 欧美日韩一本到| 亚洲欧美国产77777| 色综合久久久久久久久| 国产精品国产三级国产a| 不卡视频免费播放| 亚洲免费观看高清完整版在线 | 国产精品亚洲成人| 欧美激情一二三区| 日本道精品一区二区三区| 一区二区久久久| 精品日韩成人av| 丁香桃色午夜亚洲一区二区三区| 中文一区二区在线观看| 日本韩国欧美一区| 九色|91porny| 一区二区三区在线视频观看58| 91精品国产乱码| 国产精品亚洲а∨天堂免在线| 51精品国自产在线| 丰满少妇久久久久久久| 亚洲一卡二卡三卡四卡无卡久久 | 国产精品天美传媒沈樵| 91久久精品一区二区二区| 久久精品国产在热久久| 中日韩av电影| 91精品国产色综合久久不卡电影| 精品一区二区综合| 亚洲天堂福利av| 日韩精品一区二区三区在线 | 久久婷婷国产综合精品青草| 不卡视频在线看| 国产一区欧美日韩| 亚洲一区欧美一区| 久久亚洲综合av| 欧美电影一区二区三区| 色久优优欧美色久优优| 成人精品视频网站| 国产一区二区美女| 久久精品国产在热久久| 麻豆专区一区二区三区四区五区| 亚洲精品亚洲人成人网| 亚洲欧美日韩一区| 亚洲日本一区二区三区| 欧美国产亚洲另类动漫| 久久综合久久综合久久| 精品99一区二区| 久久久久成人黄色影片| 欧美xingq一区二区| 亚洲精品一区在线观看| 久久精品男人的天堂| 久久久高清一区二区三区| 欧美电影免费观看高清完整版| 欧美日韩高清一区二区不卡| 欧美久久高跟鞋激| 日韩视频免费观看高清在线视频| 欧美精品xxxxbbbb| 日韩免费在线观看| 欧美经典一区二区三区| 亚洲欧洲日韩av| 一区二区三区国产精华| 久久精品人人做人人爽人人| 日韩一区二区免费电影| 久久精品欧美一区二区三区麻豆| 国产精品理伦片| 亚洲小说欧美激情另类| 蜜臀91精品一区二区三区| 国产成a人亚洲精| 欧美中文字幕亚洲一区二区va在线| 欧美日韩一区中文字幕| 精品99999| 亚洲精品亚洲人成人网在线播放| 日本在线不卡一区| 成人动漫一区二区三区| 欧美一区二区三区色| 中文字幕乱码一区二区免费| 亚洲高清在线视频| 国产成人在线免费观看| 日韩一区二区三区视频在线| 中文字幕一区在线观看| 美女高潮久久久| 欧美视频第二页| 亚洲男人天堂一区| 国产激情一区二区三区| 欧美精品乱人伦久久久久久| 欧美国产精品一区| 视频一区视频二区中文| 91视视频在线观看入口直接观看www | 亚洲精品伦理在线| 国产精品一区2区| 精品福利av导航| 久久成人久久鬼色| 日韩欧美一卡二卡| 午夜精品福利一区二区蜜股av| 91视频精品在这里| 亚洲精品一二三区|