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

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

?? errorconcealment.c

?? 移植的ARM9
?? 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;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美吻胸吃奶大尺度电影| 国产精品乱人伦一区二区| 日本一区二区三区四区| 亚洲va韩国va欧美va精品 | 午夜成人免费视频| 国产乱人伦偷精品视频免下载| 在线精品视频免费观看| 国产精品美女视频| 国内精品国产成人| 欧美巨大另类极品videosbest| 中文字幕亚洲成人| 国产综合色在线| 日韩一区二区三区免费看| 一区二区三区在线免费播放 | 91美女片黄在线观看| 精品伦理精品一区| 日日欢夜夜爽一区| 在线观看视频一区二区欧美日韩| 亚洲欧洲国产日本综合| 国产成人av影院| 欧美精品一区二区在线播放| 日韩在线a电影| 欧美喷潮久久久xxxxx| 亚洲男女一区二区三区| av成人免费在线观看| 国产精品毛片久久久久久| 处破女av一区二区| 亚洲国产精品99久久久久久久久| 国内精品在线播放| 久久久www成人免费毛片麻豆 | 亚洲成人综合在线| 欧美色老头old∨ideo| 亚洲人成在线观看一区二区| 色综合久久久网| 一区二区三区四区不卡在线| 色综合天天天天做夜夜夜夜做| 亚洲欧美激情小说另类| 日本韩国欧美三级| 亚洲第一福利一区| 欧美一区二区性放荡片| 激情久久五月天| 国产片一区二区三区| 成人av在线一区二区三区| 亚洲欧洲精品天堂一级| 欧美午夜宅男影院| 男人的天堂久久精品| 日韩一区和二区| 国产成人精品1024| 亚洲精品国产精品乱码不99| 欧美日韩日本视频| 久久99精品久久只有精品| 久久综合九色综合久久久精品综合| 国产福利一区二区三区视频在线| 国产精品久久777777| 欧美四级电影网| 国产一二精品视频| 亚洲视频在线观看一区| 欧美日韩国产综合一区二区三区| 日韩电影免费在线看| 久久精品日韩一区二区三区| aaa亚洲精品| 日韩精品久久久久久| 国产欧美一区在线| 欧美亚洲日本一区| 国产麻豆成人传媒免费观看| 亚洲日本中文字幕区| 日韩午夜精品电影| 97久久超碰国产精品电影| 日本网站在线观看一区二区三区| 中文字幕电影一区| 3751色影院一区二区三区| 成人一区二区三区中文字幕| 亚洲国产日韩综合久久精品| 国产女人水真多18毛片18精品视频| 在线观看一区二区精品视频| 韩日欧美一区二区三区| 亚洲一线二线三线视频| 国产午夜精品在线观看| 欧美日韩国产色站一区二区三区| 国产福利一区二区| 蜜臀av性久久久久av蜜臀妖精| 国产精品麻豆网站| 日韩欧美一区二区在线视频| 色综合久久久网| 国产成人福利片| 极品尤物av久久免费看| 污片在线观看一区二区| 中文字幕亚洲精品在线观看| 久久亚洲精品国产精品紫薇| 欧美日韩精品福利| 色先锋久久av资源部| 国产91丝袜在线播放0| 精品一二三四区| 日韩国产欧美一区二区三区| 亚洲精品视频在线看| 久久精品视频在线看| 日韩你懂的电影在线观看| 欧美日韩国产一区| 色综合天天综合色综合av| 国产91在线|亚洲| 国产成人综合在线| 国产又黄又大久久| 久久se精品一区二区| 日韩激情视频在线观看| 天天操天天色综合| 亚洲一区在线免费观看| 亚洲欧美经典视频| 亚洲伊人色欲综合网| 亚洲国产精品一区二区尤物区| 亚洲精品你懂的| 亚洲精品v日韩精品| 亚洲精品国产a| 亚洲一二三区视频在线观看| 亚洲精品高清视频在线观看| 一区二区三区在线影院| 亚洲精品成人天堂一二三| 夜色激情一区二区| 婷婷六月综合亚洲| 美女脱光内衣内裤视频久久影院| 伦理电影国产精品| 国产一区二区在线免费观看| 国产成人一区在线| bt7086福利一区国产| 91麻豆国产福利在线观看| 色婷婷av一区二区三区gif | 99综合电影在线视频| a美女胸又www黄视频久久| 97超碰欧美中文字幕| 欧美三区免费完整视频在线观看| 欧美精品视频www在线观看| 91超碰这里只有精品国产| 日韩精品一区二区在线观看| 精品粉嫩超白一线天av| 国产欧美日韩不卡免费| 日韩一区在线播放| 亚洲五码中文字幕| 精品午夜久久福利影院 | 蜜桃久久精品一区二区| 国产真实乱对白精彩久久| 成人精品国产一区二区4080| 色香蕉成人二区免费| 日韩视频在线永久播放| 国产精品免费视频网站| 亚洲一区二区在线播放相泽 | 不卡一卡二卡三乱码免费网站| 91久久精品网| 精品盗摄一区二区三区| 成人欧美一区二区三区在线播放| 亚洲国产日韩在线一区模特| 国产在线看一区| 91福利视频网站| 欧美mv日韩mv| 一区二区三区在线视频观看58 | 97久久精品人人澡人人爽| 欧美精品xxxxbbbb| 国产精品剧情在线亚洲| 日本欧美一区二区| www.成人网.com| 日韩精品专区在线影院重磅| 中文字幕的久久| 久久精品国产99久久6| www.欧美色图| 久久午夜电影网| 日韩国产在线观看一区| 成人激情黄色小说| 日韩欧美在线观看一区二区三区| 亚洲欧洲制服丝袜| 国产最新精品免费| 337p亚洲精品色噜噜狠狠| 亚洲蜜臀av乱码久久精品 | 2020国产成人综合网| 亚洲国产综合在线| 97精品久久久久中文字幕| 欧美精品一区二区三区在线| 亚洲国产精品一区二区久久| 国产91精品精华液一区二区三区| 7777精品久久久大香线蕉| 亚洲美女免费在线| 99久久精品国产毛片| 久久九九影视网| 久草精品在线观看| 欧美一二三区在线| 日韩精品色哟哟| 欧美高清激情brazzers| 亚洲激情自拍视频| 99久久久久久| 国产欧美日韩在线| 国产一区二区三区| 精品国产一区二区三区不卡| 麻豆成人综合网| 日韩欧美一区二区在线视频| 日本不卡一二三| 欧美一区二区高清| 日韩成人一级大片| 制服丝袜国产精品| 日韩精品一区第一页| 日韩欧美中文字幕制服| 久久99在线观看| 精品三级av在线| 韩国精品主播一区二区在线观看|