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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? output.c

?? jm_frext22.ZIP的壓縮文件,主要用于嵌入式系統(tǒng)圖象的編解碼的開(kāi)發(fā).
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
    crop_right  /= 2;
    crop_top    /= 2;
    crop_bottom /= 2;

    for(i=crop_top;i<p->size_y_cr-crop_bottom;i++)
      for(j=crop_left;j<p->size_x_cr-crop_right;j++)
      {
        write(p_out, &(p->imgUV[0][i][j]), symbol_size_in_bytes);
      }
    if (active_sps->frame_cropping_flag)
    {
      crop_left   = 2 * active_sps->frame_cropping_rect_left_offset;
      crop_right  = 2 * active_sps->frame_cropping_rect_right_offset;
      crop_top    = crop_vert_mult * active_sps->frame_cropping_rect_top_offset;
      crop_bottom = crop_vert_mult * active_sps->frame_cropping_rect_bottom_offset;
    }
    else
    {
      crop_left = crop_right = crop_top = crop_bottom = 0;
    }
  }
  
  // KS: this buffer should actually be allocated only once, but this is still much faster than the previous version
  buf = malloc (p->size_x*p->size_y*symbol_size_in_bytes);
  if (NULL==buf)
  {
    no_mem_exit("write_out_picture: buf");
  }
  
  for(i=crop_top;i<p->size_y-crop_bottom;i++)
    for(j=crop_left;j<p->size_x-crop_right;j++)
    {
      memcpy(buf+((j-crop_left+((i-crop_top)*(p->size_x-crop_left-crop_right)))*symbol_size_in_bytes),&(p->imgY[i][j]), symbol_size_in_bytes);
    }

  write(p_out, buf, (p->size_y-crop_bottom-crop_top)*(p->size_x-crop_right-crop_left)*symbol_size_in_bytes);

  crop_left   /= 2;
  crop_right  /= 2;
  crop_top    /= 2;
  crop_bottom /= 2;

  for(i=crop_top;i<p->size_y_cr-crop_bottom && !rgb_output;i++)  // S.SUN 18072004
    for(j=crop_left;j<p->size_x_cr-crop_right;j++)
    {
      memcpy(buf+((j-crop_left+(i-crop_top)*(p->size_x_cr-crop_left-crop_right))*symbol_size_in_bytes),&(p->imgUV[0][i][j]), symbol_size_in_bytes);
    }
  write(p_out, buf, (p->size_y_cr-crop_bottom-crop_top)*(p->size_x_cr-crop_right-crop_left)*symbol_size_in_bytes);
  for(i=crop_top;i<p->size_y_cr-crop_bottom;i++)
    for(j=crop_left;j<p->size_x_cr-crop_right;j++)
    {
      memcpy(buf+((j-crop_left+(i-crop_top)*(p->size_x_cr-crop_left-crop_right))*symbol_size_in_bytes),&(p->imgUV[1][i][j]), symbol_size_in_bytes);
    }
  write(p_out, buf, (p->size_y_cr-crop_bottom-crop_top)*(p->size_x_cr-crop_right-crop_left)*symbol_size_in_bytes);

  free(buf);
    
//  fsync(p_out);
}

/*!
 ************************************************************************
 * \brief
 *    Initialize output buffer for direct output
 ************************************************************************
 */
void init_out_buffer()
{
  out_buffer = alloc_frame_store();
  pending_output = calloc (sizeof(StorablePicture), 1);
  if (NULL==pending_output) no_mem_exit("init_out_buffer");
  pending_output->imgUV = NULL;
  pending_output->imgY  = NULL;
}

/*!
 ************************************************************************
 * \brief
 *    Uninitialize output buffer for direct output
 ************************************************************************
 */
void uninit_out_buffer()
{
  free_frame_store(out_buffer);
  out_buffer=NULL;
#ifdef PAIR_FIELDS_IN_OUTPUT
  flush_pending_output(p_out);
#endif
  free (pending_output);
}

/*!
 ************************************************************************
 * \brief
 *    Initialize picture memory with (Y:0,U:128,V:128)
 ************************************************************************
 */
void clear_picture(StorablePicture *p)
{
  int i;

  for(i=0;i<p->size_y;i++)
    memset(p->imgY[i], 0, p->size_x*sizeof(imgpel));
  for(i=0;i<p->size_y_cr;i++)
    memset(p->imgUV[0][i], img->dc_pred_value, p->size_x_cr*sizeof(imgpel));
  for(i=0;i<p->size_y_cr;i++)
    memset(p->imgUV[1][i], img->dc_pred_value, p->size_x_cr*sizeof(imgpel));
}

/*!
 ************************************************************************
 * \brief
 *    Write out not paired direct output fields. A second empty field is generated
 *    and combined into the frame buffer.
 * \param fs
 *    FrameStore that contains a single field
 * \param p_out
 *    Output file
 ************************************************************************
 */
void write_unpaired_field(FrameStore* fs, int p_out)
{
  StorablePicture *p;
  assert (fs->is_used<3);
  if(fs->is_used &1)
  {
    // we have a top field
    // construct an empty bottom field
    p = fs->top_field;
    fs->bottom_field = alloc_storable_picture(BOTTOM_FIELD, p->size_x, 2*p->size_y, p->size_x_cr, 2*p->size_y_cr);
    clear_picture(fs->bottom_field);
    dpb_combine_field(fs);
    write_picture (fs->frame, p_out, TOP_FIELD);
  }

  if(fs->is_used &2)
  {
    // we have a bottom field
    // construct an empty top field
    p = fs->bottom_field;
    fs->top_field = alloc_storable_picture(TOP_FIELD, p->size_x, 2*p->size_y, p->size_x_cr, 2*p->size_y_cr);
    clear_picture(fs->top_field);
    fs ->top_field->frame_cropping_flag = fs->bottom_field->frame_cropping_flag;
    if(fs ->top_field->frame_cropping_flag) 
    {
      fs ->top_field->frame_cropping_rect_top_offset = fs->bottom_field->frame_cropping_rect_top_offset;
      fs ->top_field->frame_cropping_rect_bottom_offset = fs->bottom_field->frame_cropping_rect_bottom_offset;
      fs ->top_field->frame_cropping_rect_left_offset = fs->bottom_field->frame_cropping_rect_left_offset;
      fs ->top_field->frame_cropping_rect_right_offset = fs->bottom_field->frame_cropping_rect_right_offset;
    }
    dpb_combine_field(fs);
    write_picture (fs->frame, p_out, BOTTOM_FIELD);
  }

  fs->is_used=3;
}

/*!
 ************************************************************************
 * \brief
 *    Write out unpaired fields from output buffer.
 * \param p_out
 *    Output file
 ************************************************************************
 */
void flush_direct_output(int p_out)
{
  write_unpaired_field(out_buffer, p_out);

  free_storable_picture(out_buffer->frame);
  out_buffer->frame = NULL;
  free_storable_picture(out_buffer->top_field);
  out_buffer->top_field = NULL;
  free_storable_picture(out_buffer->bottom_field);
  out_buffer->bottom_field = NULL;
  out_buffer->is_used = 0;
}


/*!
 ************************************************************************
 * \brief
 *    Write a frame (from FrameStore)
 * \param fs
 *    FrameStore containing the frame
 * \param p_out
 *    Output file
 ************************************************************************
 */
void write_stored_frame( FrameStore *fs,int p_out)
{
  // make sure no direct output field is pending
  flush_direct_output(p_out);

  if (fs->is_used<3)
  {
    write_unpaired_field(fs, p_out);
  }
  else
  {
    write_picture(fs->frame, p_out, FRAME);
  }

  fs->is_output = 1;
}

/*!
 ************************************************************************
 * \brief
 *    Directly output a picture without storing it in the DPB. Fields 
 *    are buffered before they are written to the file.
 * \param p
 *    Picture for output
 * \param p_out
 *    Output file
 ************************************************************************
 */
void direct_output(StorablePicture *p, int p_out)
{
  if (p->structure==FRAME)
  {
    // we have a frame (or complementary field pair)
    // so output it directly
    flush_direct_output(p_out);
    write_picture (p, p_out, FRAME);
    if (-1!=p_ref)
      find_snr(snr, p, p_ref);
    free_storable_picture(p);
    return;
  }

  if (p->structure == TOP_FIELD)
  {
    if (out_buffer->is_used &1)
      flush_direct_output(p_out);
    out_buffer->top_field = p;
    out_buffer->is_used |= 1;
  }

  if (p->structure == BOTTOM_FIELD)
  {
    if (out_buffer->is_used &2)
      flush_direct_output(p_out);
    out_buffer->bottom_field = p;
    out_buffer->is_used |= 2;
  }

  if (out_buffer->is_used == 3)
  {
    // we have both fields, so output them
    dpb_combine_field(out_buffer);
    write_picture (out_buffer->frame, p_out, FRAME);
    if (-1!=p_ref)
      find_snr(snr, out_buffer->frame, p_ref);
    free_storable_picture(out_buffer->frame);
    out_buffer->frame = NULL;
    free_storable_picture(out_buffer->top_field);
    out_buffer->top_field = NULL;
    free_storable_picture(out_buffer->bottom_field);
    out_buffer->bottom_field = NULL;
    out_buffer->is_used = 0;
  }
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色8久久精品久久久久久蜜| av在线不卡免费看| 国产日韩视频一区二区三区| 国产.欧美.日韩| 亚洲精品自拍动漫在线| 欧美刺激脚交jootjob| 国产91对白在线观看九色| 亚洲在线免费播放| 成人av电影免费观看| 日本最新不卡在线| 国产精品免费视频观看| 欧美视频一区二区| 国产**成人网毛片九色| 丝袜美腿亚洲色图| 欧美激情在线一区二区三区| www.99精品| 狠狠色丁香婷婷综合| 一区二区三区四区中文字幕| 日韩美女一区二区三区| 精品视频全国免费看| 国产一区二区三区不卡在线观看| 亚洲美女视频一区| 久久影音资源网| 91精品综合久久久久久| 99久久99精品久久久久久| 亚洲国产欧美在线人成| 亚洲视频狠狠干| 国产亚洲精品免费| 欧美一区二区三区在线| 韩日精品视频一区| 亚洲大片免费看| 自拍偷在线精品自拍偷无码专区 | 欧美欧美欧美欧美首页| 成人午夜视频在线| 麻豆精品一区二区三区| 日韩国产高清在线| 亚洲免费av在线| 国产精品第四页| 欧美国产日韩精品免费观看| 久久无码av三级| 7777精品伊人久久久大香线蕉| 国产成人午夜99999| 国产精品99久久久久久似苏梦涵| 日韩一区精品字幕| 午夜日韩在线电影| 日本一区中文字幕| 性久久久久久久久| 亚洲午夜精品久久久久久久久| 亚洲免费在线视频| 自拍偷拍国产亚洲| 中文字幕一区在线观看视频| 精品不卡在线视频| 久久久国产精华| 久久蜜臀精品av| 久久婷婷一区二区三区| 国产情人综合久久777777| 欧美电影免费观看高清完整版在线| 在线电影一区二区三区| 日韩午夜av一区| 日韩欧美电影在线| 欧美成人一区二区三区| 欧美猛男超大videosgay| 欧美一区二区福利视频| 91精品国产色综合久久不卡蜜臀| 欧美日韩精品专区| 欧美电视剧免费全集观看| 亚洲精品在线免费观看视频| 26uuu色噜噜精品一区二区| 国产日韩欧美综合在线| 亚洲欧洲一区二区三区| 专区另类欧美日韩| 亚洲一区在线观看免费观看电影高清 | 精品国产91亚洲一区二区三区婷婷 | 91在线观看视频| 色狠狠桃花综合| 欧美影片第一页| 9191久久久久久久久久久| 精品久久久久av影院| 国产日产精品1区| 日韩伦理免费电影| 亚洲一区二区三区四区在线观看| 蜜桃久久久久久久| 国产精品一区二区久激情瑜伽| 成人三级在线视频| jlzzjlzz亚洲日本少妇| 欧美中文一区二区三区| 欧美一区二区视频网站| 欧美一区二区视频免费观看| 国产人成亚洲第一网站在线播放| 综合久久综合久久| 日韩av电影天堂| 国产凹凸在线观看一区二区| 99精品视频中文字幕| 欧美日韩在线三级| 日韩三级视频在线看| 国产精品无人区| 午夜电影久久久| 国产成人av一区| 欧美午夜在线观看| 3d动漫精品啪啪一区二区竹菊| 久久精品视频一区二区| 亚洲人成电影网站色mp4| 日本色综合中文字幕| 99久久久无码国产精品| 欧美一区二区视频在线观看2020 | 在线看国产一区| 欧美videossexotv100| 亚洲天堂网中文字| 久久99国内精品| 91在线免费播放| 欧美日韩美女一区二区| 久久久99精品久久| 午夜久久电影网| 成人一区在线看| 精品国产乱子伦一区| 亚洲精品视频自拍| 精品一区二区免费视频| 国产一区二区三区美女| 91麻豆精品国产91久久久久| 国产精品护士白丝一区av| 日韩国产欧美视频| 欧美日韩一区精品| 亚洲欧美在线高清| 国产一区二区在线观看免费| 欧美一二三在线| 一区二区三区在线视频播放| 国产精品羞羞答答xxdd| 欧美精品一区二区三区四区 | 日韩一级片网址| 亚洲精品中文字幕在线观看| 国产成人自拍在线| 日韩欧美国产电影| 亚洲成a人v欧美综合天堂| 国产成人在线电影| 欧美mv和日韩mv的网站| 爽好多水快深点欧美视频| 国产美女久久久久| 欧美调教femdomvk| 亚洲免费观看高清在线观看| 国产福利91精品| 久久嫩草精品久久久久| 美女在线一区二区| 91精品国产综合久久久蜜臀图片| 一色桃子久久精品亚洲| 成人综合在线观看| 久久久噜噜噜久久人人看 | 国产a视频精品免费观看| 久久免费看少妇高潮| 久久99久久久欧美国产| 日韩视频在线你懂得| 久久精品国产77777蜜臀| 日韩午夜小视频| 久久精品噜噜噜成人av农村| 欧美日韩国产免费一区二区 | 亚洲欧美一区二区久久| av一区二区三区黑人| 中文一区二区完整视频在线观看| 成人午夜视频在线| 国产精品久久99| 97国产一区二区| 亚洲综合丝袜美腿| 制服丝袜av成人在线看| 韩日欧美一区二区三区| 国产欧美视频一区二区三区| 色综合中文字幕国产| 亚洲va韩国va欧美va| 精品少妇一区二区三区在线播放 | 亚洲视频资源在线| 欧美亚洲日本国产| 美国毛片一区二区| 国产女人18毛片水真多成人如厕| av电影在线不卡| 亚洲高清免费在线| 久久久久久一级片| 在线视频综合导航| 久久99深爱久久99精品| 亚洲天堂久久久久久久| 91精品国产一区二区三区蜜臀| 国产盗摄一区二区| 亚洲国产精品天堂| wwww国产精品欧美| 欧美在线观看一区| 国产福利一区二区| 亚洲电影在线免费观看| 国产亚洲综合色| 欧美三级在线播放| 国产成人在线视频网址| 亚洲福利国产精品| 日本一二三不卡| 91麻豆精品国产91久久久资源速度| 国产91丝袜在线18| 日韩精品三区四区| 亚洲天堂成人在线观看| 欧美成人性战久久| 欧美天堂一区二区三区| 成人免费看视频| 精品亚洲国产成人av制服丝袜| 亚洲黄色小视频| 日本一区二区三区在线观看| 欧美精品精品一区|