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

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

?? errorconcealment.c

?? 一個簡單的視頻會議VC++MFC工程文件
?? C
字號:

/*!
 ***********************************************************************
 * \file errorconcealment.c
 *
 * \brief
 *    Implements error concealment scheme for H.264 decoder
 *
 * \date
 *    6.10.2000
 *
 * \version
 *    1.0
 *
 * \note
 *    This simple error concealment implemented in this decoder uses
 *    the existing dependencies of syntax elements.
 *    In case that an element is detected as false this elements and all
 *    dependend elements are marked as elements to conceal in the ec_flag[]
 *    array. If the decoder requests a new element by the function
 *    readSyntaxElement_xxxx() this array is checked first if an error concealment has
 *    to be applied on this element.
 *    In case that an error occured a concealed element is given to the
 *    decoding function in macroblock().
 *
 * \author
 *    Main contributors (see contributors.h for copyright, address and affiliation details)
 *    - Sebastian Purreiter   <sebastian.purreiter@mch.siemens.de>
 ***********************************************************************
 */

#include "contributors.h"
#include "global.h"
#include "elements.h"

static int ec_flag[SE_MAX_ELEMENTS];        //!< array to set errorconcealment
/*
static char SEtypes[][25] =
{
    "SE_HEADER",
    "SE_PTYPE",
    "SE_MBTYPE",
    "SE_REFFRAME",
    "SE_INTRAPREDMODE",
    "SE_MVD",
    "SE_CBP_INTRA",
    "SE_LUM_DC_INTRA",
    "SE_CHR_DC_INTRA",
    "SE_LUM_AC_INTRA",
    "SE_CHR_AC_INTRA",
    "SE_CBP_INTER",
    "SE_LUM_DC_INTER",
    "SE_CHR_DC_INTER",
    "SE_LUM_AC_INTER",
    "SE_CHR_AC_INTER",
    "SE_DELTA_QUANT_INTER",
    "SE_DELTA_QUANT_INTRA",
    "SE_BFRAME",
    "SE_EOS"
};
*/

/*!
 ***********************************************************************
 * \brief
 *    set concealment for all elements in same partition
 *    and dependend syntax elements
 * \return
 *    EC_REQ, elements of same type or depending type need error concealment. \n
 *    EX_SYNC   sync on next header
 ***********************************************************************
 */
int set_ec_flag(
  int se)   //!< type of syntax element to conceal
{

  /*
  if (ec_flag[se] == NO_EC)
    printf("Error concealment on element %s\n",SEtypes[se]);
  */
  switch (se)
  {
  case SE_HEADER :
    ec_flag[SE_HEADER] = EC_REQ;
  case SE_PTYPE :
    ec_flag[SE_PTYPE] = EC_REQ;
  case SE_MBTYPE :
    ec_flag[SE_MBTYPE] = EC_REQ;

  case SE_REFFRAME :
    ec_flag[SE_REFFRAME] = EC_REQ;
    ec_flag[SE_MVD] = EC_REQ; // set all motion vectors to zero length
    se = SE_CBP_INTER;      // conceal also Inter texture elements
    break;

  case SE_INTRAPREDMODE :
    ec_flag[SE_INTRAPREDMODE] = EC_REQ;
    se = SE_CBP_INTRA;      // conceal also Intra texture elements
    break;
  case SE_MVD :
    ec_flag[SE_MVD] = EC_REQ;
    se = SE_CBP_INTER;      // conceal also Inter texture elements
    break;

  default:
    break;
  }

  switch (se)
  {
  case SE_CBP_INTRA :
    ec_flag[SE_CBP_INTRA] = EC_REQ;
  case SE_LUM_DC_INTRA :
    ec_flag[SE_LUM_DC_INTRA] = EC_REQ;
  case SE_CHR_DC_INTRA :
    ec_flag[SE_CHR_DC_INTRA] = EC_REQ;
  case SE_LUM_AC_INTRA :
    ec_flag[SE_LUM_AC_INTRA] = EC_REQ;
  case SE_CHR_AC_INTRA :
    ec_flag[SE_CHR_AC_INTRA] = EC_REQ;
    break;

  case SE_CBP_INTER :
    ec_flag[SE_CBP_INTER] = EC_REQ;
  case SE_LUM_DC_INTER :
    ec_flag[SE_LUM_DC_INTER] = EC_REQ;
  case SE_CHR_DC_INTER :
    ec_flag[SE_CHR_DC_INTER] = EC_REQ;
  case SE_LUM_AC_INTER :
    ec_flag[SE_LUM_AC_INTER] = EC_REQ;
  case SE_CHR_AC_INTER :
    ec_flag[SE_CHR_AC_INTER] = EC_REQ;
    break;
  case SE_DELTA_QUANT_INTER :
    ec_flag[SE_DELTA_QUANT_INTER] = EC_REQ;
    break;
  case SE_DELTA_QUANT_INTRA :
    ec_flag[SE_DELTA_QUANT_INTRA] = EC_REQ;
    break;
  default:
    break;

  }
  return EC_REQ;
}

/*!
 ***********************************************************************
 * \brief
 *    resets EC_Flags called at the start of each slice
 *
 ***********************************************************************
 */
void reset_ec_flags()
{
  int i;
  for (i=0; i<SE_MAX_ELEMENTS; i++)
    ec_flag[i] = NO_EC;
}


/*!
 ***********************************************************************
 * \brief
 *    get error concealed element in dependence of syntax
 *    element se.                                                          \n
 *    This function implements the error concealment.
 * \return
 *    NO_EC if no error concealment required                               \n
 *    EC_REQ if element requires error concealment
 ***********************************************************************
 */
int get_concealed_element(SyntaxElement *sym)
{
  if (ec_flag[sym->type] == NO_EC)
    return NO_EC;
/*
#if TRACE
  printf("TRACE: get concealed element for %s!!!\n", SEtypes[sym->type]);
#endif
*/
  switch (sym->type)
  {
  case SE_HEADER :
    sym->len = 31;
    sym->inf = 0; // Picture Header
    break;

  case SE_PTYPE : // inter_img_1
  case SE_MBTYPE : // set COPY_MB
  case SE_REFFRAME :
    sym->len = 1;
    sym->inf = 0;
    break;

  case SE_INTRAPREDMODE :
  case SE_MVD :
    sym->len = 1;
    sym->inf = 0;  // set vector to zero length
    break;

  case SE_CBP_INTRA :
    sym->len = 5;
    sym->inf = 0; // codenumber 3 <=> no CBP information for INTRA images
    break;

  case SE_LUM_DC_INTRA :
  case SE_CHR_DC_INTRA :
  case SE_LUM_AC_INTRA :
  case SE_CHR_AC_INTRA :
    sym->len = 1;
    sym->inf = 0;  // return EOB
    break;

  case SE_CBP_INTER :
    sym->len = 1;
    sym->inf = 0; // codenumber 1 <=> no CBP information for INTER images
    break;

  case SE_LUM_DC_INTER :
  case SE_CHR_DC_INTER :
  case SE_LUM_AC_INTER :
  case SE_CHR_AC_INTER :
    sym->len = 1;
    sym->inf = 0;  // return EOB
    break;

  case SE_DELTA_QUANT_INTER:
    sym->len = 1;
    sym->inf = 0;
    break;
  case SE_DELTA_QUANT_INTRA:
    sym->len = 1;
    sym->inf = 0;
    break;
  default:
    break;
  }

  return EC_REQ;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩在线不卡| aaa亚洲精品| 久久久一区二区三区| 国产成人av一区二区三区在线| 91精品国产综合久久久久| 五月天网站亚洲| 欧美刺激午夜性久久久久久久 | 欧美一卡二卡三卡| 男男视频亚洲欧美| 久久久久国产成人精品亚洲午夜| 国产99精品在线观看| 亚洲三级免费电影| 欧美色涩在线第一页| 偷偷要91色婷婷| 中文字幕乱码日本亚洲一区二区| 色婷婷国产精品| 亚洲主播在线播放| 久久这里只有精品6| 91丨porny丨蝌蚪视频| 免费高清在线一区| 久久久久久夜精品精品免费| 色菇凉天天综合网| 国产乱淫av一区二区三区| 亚洲黄色在线视频| 国产女人aaa级久久久级| 欧美人xxxx| 91美女片黄在线观看91美女| 美女尤物国产一区| 亚洲五月六月丁香激情| 中文字幕 久热精品 视频在线| 欧美日韩成人综合天天影院 | 精品少妇一区二区三区免费观看 | 91国偷自产一区二区开放时间| 精品一区二区三区久久| 亚洲国产成人91porn| 最新国产成人在线观看| 2021国产精品久久精品| 欧美一区二区三区小说| 色欧美乱欧美15图片| 成人小视频在线观看| 日本三级亚洲精品| 美女视频免费一区| 亚洲成a人v欧美综合天堂下载| 亚洲乱码日产精品bd| 亚洲免费观看在线观看| 成人免费一区二区三区视频| 久久久久88色偷偷免费| 欧美高清一级片在线观看| 国产欧美日韩在线视频| 精品久久一区二区三区| 久久久久久久久久电影| wwwwww.欧美系列| 欧美国产国产综合| 国产精品国产三级国产| 亚洲欧美一区二区不卡| 一区二区成人在线视频| 天堂蜜桃91精品| 乱一区二区av| 丁香婷婷综合五月| 91久久精品网| 日韩毛片一二三区| 日韩精品乱码免费| 国产99精品在线观看| 欧美性xxxxxxxx| 日韩视频免费观看高清完整版 | 欧美成人r级一区二区三区| 国产亚洲欧美色| 一区二区三区精密机械公司| 美女爽到高潮91| 日本精品裸体写真集在线观看 | 久草这里只有精品视频| 99国产精品视频免费观看| 欧美日韩你懂的| 欧美国产乱子伦| 日本成人在线视频网站| 97精品电影院| 久久亚洲精品小早川怜子| 亚洲国产一区二区在线播放| 国产91对白在线观看九色| 欧美色网一区二区| 国产精品成人免费| 国产精品一二三区| 日韩精品一区二区三区三区免费| 亚洲精品免费一二三区| 国产精品亚洲成人| 日韩免费看的电影| 婷婷国产v国产偷v亚洲高清| av成人老司机| 亚洲三级小视频| 99久久精品国产观看| 中文成人av在线| 懂色中文一区二区在线播放| 久久影院视频免费| 国产综合一区二区| 国产精品久久久久久户外露出 | 亚洲最色的网站| 欧美性做爰猛烈叫床潮| 亚洲一区在线视频| 欧美欧美午夜aⅴ在线观看| 亚洲午夜视频在线观看| 欧美性感一类影片在线播放| 亚洲九九爱视频| 欧美日韩国产一级| 老司机精品视频一区二区三区| ww亚洲ww在线观看国产| 成人综合在线视频| 亚洲精品国产一区二区精华液| 色视频成人在线观看免| 午夜激情一区二区| 久久久久一区二区三区四区| av一区二区三区| 日韩经典中文字幕一区| 国产日韩综合av| 欧美无砖专区一中文字| 狠狠色丁香九九婷婷综合五月| 欧美国产成人在线| 欧美另类一区二区三区| 国产精品一区二区不卡| 五月天一区二区三区| 欧美经典一区二区| 欧美一区二区三区公司| 不卡免费追剧大全电视剧网站| 天天色综合天天| 亚洲另类在线视频| 国产人伦精品一区二区| 欧美午夜不卡在线观看免费| 成+人+亚洲+综合天堂| 免费观看30秒视频久久| 亚洲午夜免费电影| 亚洲国产精品高清| 精品久久久久一区二区国产| 欧美精品自拍偷拍| 91国产精品成人| 99久久er热在这里只有精品15 | 樱桃视频在线观看一区| 国产精品成人免费在线| 国产视频亚洲色图| 日韩欧美高清一区| 日韩欧美你懂的| 日韩欧美精品在线视频| 日韩女优av电影在线观看| 欧美一区二区三区播放老司机| 欧美日韩专区在线| 在线免费观看不卡av| 在线一区二区视频| 欧美在线观看一区二区| 精品视频1区2区3区| 7777精品伊人久久久大香线蕉最新版 | 亚洲高清免费视频| 亚洲成人精品影院| 蜜桃视频一区二区三区在线观看| 蜜桃精品在线观看| 国产91精品精华液一区二区三区| 国产酒店精品激情| 成人av网站大全| 国产一区二区导航在线播放| 免费看日韩a级影片| 极品少妇xxxx偷拍精品少妇| 国内不卡的二区三区中文字幕| 久久丁香综合五月国产三级网站| 蜜桃久久精品一区二区| 韩国理伦片一区二区三区在线播放| 国内精品视频一区二区三区八戒| 国产91精品一区二区麻豆亚洲| 成人av网站在线观看| 国产精品亚洲人在线观看| 成人午夜短视频| av电影一区二区| 91精品国产综合久久久蜜臀图片 | av在线一区二区三区| 色婷婷亚洲综合| 欧美成人综合网站| 中文字幕一区日韩精品欧美| 首页亚洲欧美制服丝腿| 玖玖九九国产精品| 91理论电影在线观看| 3d成人动漫网站| 久久亚洲精华国产精华液 | 国产a久久麻豆| 欧美性xxxxxx少妇| 久久久精品综合| 丝袜美腿亚洲一区| 日本国产一区二区| 久久久99免费| 奇米一区二区三区| 欧洲一区在线电影| 国产日本欧洲亚洲| 激情欧美一区二区| 欧美亚洲国产一区二区三区 | 国产成人综合在线观看| 欧美日韩国产欧美日美国产精品| 国产精品久久国产精麻豆99网站| 石原莉奈一区二区三区在线观看| 不卡的看片网站| 久久久91精品国产一区二区精品| 石原莉奈在线亚洲二区| 在线观看91av| 午夜电影网亚洲视频| 欧美三级电影在线观看| 亚洲精品五月天|