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

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

?? pbc.c

?? linux下的MPEG1
?? C
?? 第 1 頁 / 共 2 頁
字號:
    {      mpeg_segment_t *_segment = _cdio_list_node_data (node);      _segment->referenced = false;    }  /* start from non-rejected lists */  _CDIO_LIST_FOREACH (node, obj->pbc_list)    {      pbc_t *_pbc = _cdio_list_node_data (node);      vcd_assert (_pbc->id != NULL);      if (_pbc->rejected)	continue;      _vcd_pbc_mark_id (obj, _pbc->id);    }  /* collect flags */  _CDIO_LIST_FOREACH (node, obj->pbc_list)    {      pbc_t *_pbc = _cdio_list_node_data (node);      if (!_pbc->referenced)	vcd_warn ("PSD item '%s' is unreachable", _pbc->id);    }  _CDIO_LIST_FOREACH (node, obj->mpeg_sequence_list)    {      mpeg_sequence_t *_sequence = _cdio_list_node_data (node);      if (!_sequence->referenced)	vcd_warn ("sequence '%s' is not reachable by PBC", _sequence->id);    }  _CDIO_LIST_FOREACH (node, obj->mpeg_segment_list)    {      mpeg_segment_t *_segment = _cdio_list_node_data (node);      if (!_segment->referenced)	vcd_warn ("segment item '%s' is unreachable", _segment->id);    }}void_vcd_pbc_node_write (const VcdObj *obj, const pbc_t *_pbc, void *buf,		     bool extended){  vcd_assert (obj != NULL);  vcd_assert (_pbc != NULL);  vcd_assert (buf != NULL);  if (extended)    vcd_assert (_vcd_obj_has_cap_p (obj, _CAP_PBC_X));  switch (_pbc->type)    {    case PBC_PLAYLIST:      {	_PsdPlayListDescriptor *_md = buf;	CdioListNode *node;	int n;		_md->type = PSD_TYPE_PLAY_LIST;	_md->noi = _cdio_list_length (_pbc->item_id_list);		vcd_assert (_pbc->lid < 0x8000);	_md->lid = uint16_to_be (_pbc->lid | (_pbc->rejected ? 0x8000 : 0));		_md->prev_ofs = 	  uint16_to_be (_lookup_psd_offset (obj, _pbc->prev_id, extended));	_md->next_ofs = 	  uint16_to_be (_lookup_psd_offset (obj, _pbc->next_id, extended));	_md->return_ofs =	  uint16_to_be (_lookup_psd_offset (obj, _pbc->retn_id, extended));	_md->ptime = uint16_to_be (rint (_pbc->playing_time * 15.0));	_md->wtime = _wtime (_pbc->wait_time);	_md->atime = _wtime (_pbc->auto_pause_time);		n = 0;	_CDIO_LIST_FOREACH (node, _pbc->item_id_list)	  {	    const char *_id = _cdio_list_node_data (node);	    uint16_t _pin;	    if (_id)	      {		_pin = _vcd_pbc_pin_lookup (obj, _id);		if (!_pin)		  vcd_error ("PSD: referenced play item '%s' not found", _id);				_md->itemid[n] = uint16_to_be (_pin); 	      }	    else	      _md->itemid[n] = 0; /* play nothing */	      	    n++;	  }      }      break;    case PBC_SELECTION:      {	PsdSelectionListDescriptor_t *_md = buf;	const unsigned int _nos = _cdio_list_length (_pbc->select_id_list);	if (extended)	  _md->type = PSD_TYPE_EXT_SELECTION_LIST;	else	  _md->type = PSD_TYPE_SELECTION_LIST;	if (!IN (_pbc->bsn, 1, MAX_PBC_SELECTIONS))	  vcd_error ("selection '%s': BSN (%d) not in range [1..%d]",		     _pbc->id, _pbc->bsn, MAX_PBC_SELECTIONS);	if (!IN (_nos, 0, MAX_PBC_SELECTIONS))	  vcd_error ("selection '%s': too many selections (%d > %d)",		     _pbc->id, _nos, MAX_PBC_SELECTIONS);	if (_nos + _pbc->bsn > 100)	  vcd_error ("selection '%s': BSN + NOS (%d + %d) > 100",		     _pbc->id, _pbc->bsn, _nos);	_md->bsn = _pbc->bsn;	_md->nos = _nos;	vcd_assert (sizeof (PsdSelectionListFlags) == 1);	/* selection flags */	if (_vcd_obj_has_cap_p (obj, _CAP_4C_SVCD))	  _md->flags.SelectionAreaFlag = true;	else	  _md->flags.SelectionAreaFlag = false;	_md->flags.CommandListFlag = false;	vcd_assert (_pbc->lid < 0x8000);	_md->lid = uint16_to_be (_pbc->lid | (_pbc->rejected ? 0x8000 : 0));	_md->prev_ofs = 	  uint16_to_be (_lookup_psd_offset (obj, _pbc->prev_id, extended));	_md->next_ofs = 	  uint16_to_be (_lookup_psd_offset (obj, _pbc->next_id, extended));	_md->return_ofs =	  uint16_to_be (_lookup_psd_offset (obj, _pbc->retn_id, extended));	switch (_pbc->selection_type)	  {	  case _SEL_NORMAL:	    _md->default_ofs =	      uint16_to_be (_lookup_psd_offset (obj, _pbc->default_id, extended));	    break;	    	  case _SEL_MULTI_DEF:	    _md->default_ofs = uint16_to_be (PSD_OFS_MULTI_DEF);	    if (_pbc->default_id)	      vcd_warn ("ignoring default target '%s' for multi default selection '%s'",			_pbc->default_id, _pbc->id);	    break;	  case _SEL_MULTI_DEF_NO_NUM:	    _md->default_ofs = uint16_to_be (PSD_OFS_MULTI_DEF_NO_NUM);	    if (_pbc->default_id)	      vcd_warn ("ignoring default target '%s' for multi default (w/o num) selection '%s'",			_pbc->default_id, _pbc->id);	    break;	    	  default:	    vcd_assert_not_reached ();	    break;	  }	_md->timeout_ofs =	  uint16_to_be (_lookup_psd_offset (obj, _pbc->timeout_id, extended));	_md->totime = _wtime (_pbc->timeout_time);	if (_pbc->loop_count > 0x7f)	  vcd_warn ("loop count %d > 127", _pbc->loop_count);	_md->loop = (_pbc->loop_count > 0x7f) ? 0x7f : _pbc->loop_count;		if (_pbc->jump_delayed)	  _md->loop |= 0x80;	/* timeout related sanity checks */	if (_pbc->loop_count > 0	    && _pbc->timeout_time >= 0	    && !_pbc->timeout_id	    && !_nos)	  vcd_warn ("PSD: selection '%s': neither timeout nor select target available, but neither loop count is infinite nor timeout wait time", _pbc->id);	if (_pbc->timeout_id && (_pbc->timeout_time < 0 || _pbc->loop_count <= 0))	  vcd_warn ("PSD: selection '%s': timeout target '%s' is never used due to loop count or timeout wait time given", _pbc->id, _pbc->timeout_id);	if (_pbc->item_id)	  {	    const uint16_t _pin = _vcd_pbc_pin_lookup (obj, _pbc->item_id);	    	    if (!_pin)	      vcd_error ("PSD: referenced play item '%s' not found", _pbc->item_id);	    _md->itemid = uint16_to_be (_pin);	  }	else	  _md->itemid = 0; /* play nothing */	/* sanity checks */	switch (_pbc->selection_type)	  {	  case _SEL_NORMAL:	    break;	    	  case _SEL_MULTI_DEF:	  case _SEL_MULTI_DEF_NO_NUM:	    if (_pbc->jump_delayed)	      vcd_warn ("selection '%s': jump timing shall be immediate", _pbc->id);	    if (_pbc->bsn != 1)	      vcd_error ("selection '%s': BSN != 1 for multi default selection",			 _pbc->id);	    /* checking NOS == NOE */	    if (!_pbc->item_id)	      vcd_error ("selection '%s': play nothing play item not allowed for multidefault list",			 _pbc->id);	    {	      mpeg_sequence_t *_seq;	      if ((_seq = _vcd_obj_get_sequence_by_id ((VcdObj *) obj, _pbc->item_id))		  || (_seq = _vcd_obj_get_sequence_by_entry_id ((VcdObj *) obj, _pbc->item_id)))		{		  const unsigned _entries = 		    _cdio_list_length (_seq->entry_list) + 1;		  if (_nos != _entries)		    vcd_error ("selection '%s': number of entrypoints"			       " (%d for sequence '%s') != number of selections (%d)",			       _pbc->id, _entries, _pbc->item_id, _nos);		}	      else		vcd_error ("selection '%s': play item '%s'"			   " is requried to be sequence or entry point"			   " item for multi default selecton",			   _pbc->id, _pbc->item_id);	    }	    	    break;	    	  default:	    vcd_assert_not_reached ();	    break;	  }	/* fill selection array */	{	  CdioListNode *node = NULL;	  int idx = 0;	  idx = 0;	  _CDIO_LIST_FOREACH (node, _pbc->select_id_list)	    {	      const char *_id = _cdio_list_node_data (node);	    	      _md->ofs[idx] = 		uint16_to_be (_lookup_psd_offset (obj, _id, extended));	    	      idx++;	    }	}	if (extended || _vcd_obj_has_cap_p (obj, _CAP_4C_SVCD))	  {	    PsdSelectionListDescriptorExtended *_md2;	    CdioListNode *node;	    int n;	    	    /* append extended selection areas */	    _md2 = (void *) &_md->ofs[_nos];	    _set_area_helper (&_md2->next_area, _pbc->next_area, _pbc->id);	    _set_area_helper (&_md2->prev_area, _pbc->prev_area, _pbc->id);	    _set_area_helper (&_md2->return_area, _pbc->return_area, _pbc->id);	    _set_area_helper (&_md2->default_area, _pbc->default_area, _pbc->id);	    n = 0;	    if (_pbc->select_area_list)	      _CDIO_LIST_FOREACH (node, _pbc->select_area_list)	      {		const pbc_area_t *_area = _cdio_list_node_data (node);		_set_area_helper (&_md2->area[n], _area, _pbc->id);		n++;	      }	    vcd_assert (n == _nos);	  }      }      break;          case PBC_END:      {	PsdEndListDescriptor *_md = buf;	_md->type = PSD_TYPE_END_LIST;	if (_vcd_obj_has_cap_p (obj, _CAP_4C_SVCD))	  {	    _md->next_disc = _pbc->next_disc;	    if (_pbc->image_id)	      {		uint16_t _pin = _vcd_pbc_pin_lookup (obj, _pbc->image_id);		mpeg_segment_t *_segment;		if (!_pbc->next_disc)		  vcd_warn ("PSD: endlist '%s': change disc picture given,"			    " but next volume is 0", _pbc->id);		if (!_pin)		  vcd_error ("PSD: referenced play item '%s' not found", 			     _pbc->item_id);		_md->change_pic = uint16_to_be (_pin);		/* sanity checks */		_segment = _vcd_obj_get_segment_by_id ((VcdObj *) obj,						       _pbc->image_id);		if (!_segment)		  vcd_warn ("PSD: endlist '%s': referenced play item '%s'"			    " is not a segment play item", 			    _pbc->id, _pbc->image_id);		else if (_segment->info->shdr[0].seen			 || !(_segment->info->shdr[1].seen || _segment->info->shdr[2].seen))		  vcd_warn ("PSD: endlist '%s': referenced play item '%s'"			    " should be a still picture", 			    _pbc->id, _pbc->image_id);	      }	  }	else if (_pbc->next_disc || _pbc->image_id)	  vcd_warn ("extended end list attributes ignored for non-SVCD");      }      break;    default:      vcd_assert_not_reached ();      break;    }}pbc_t *vcd_pbc_new (enum pbc_type_t type){  pbc_t *_pbc;  _pbc = _vcd_malloc (sizeof (pbc_t));  _pbc->type = type;  switch (type)    {    case PBC_PLAYLIST:      _pbc->item_id_list = _cdio_list_new ();      break;    case PBC_SELECTION:      _pbc->select_id_list = _cdio_list_new ();      _pbc->select_area_list = _cdio_list_new ();      break;          case PBC_END:      break;    default:      vcd_assert_not_reached ();      break;    }  return _pbc;}/*  */bool_vcd_pbc_finalize (VcdObj *obj){  CdioListNode *node;  unsigned offset = 0, offset_ext = 0;  unsigned lid;  lid = 1;  _CDIO_LIST_FOREACH (node, obj->pbc_list)    {      pbc_t *_pbc = _cdio_list_node_data (node);      unsigned length, length_ext = 0;      length = _vcd_pbc_node_length (obj, _pbc, false);      if (_vcd_obj_has_cap_p (obj, _CAP_PBC_X))	length_ext = _vcd_pbc_node_length (obj, _pbc, true);      /* round them up to... */      length = _vcd_ceil2block (length, INFO_OFFSET_MULT);      if (_vcd_obj_has_cap_p (obj, _CAP_PBC_X))	length_ext = _vcd_ceil2block (length_ext, INFO_OFFSET_MULT);      /* node may not cross sector boundary! */      offset = _vcd_ofs_add (offset, length, ISO_BLOCKSIZE);      if (_vcd_obj_has_cap_p (obj, _CAP_PBC_X))	offset_ext = _vcd_ofs_add (offset_ext, length_ext, ISO_BLOCKSIZE);      /* save start offsets */      _pbc->offset = offset - length;      if (_vcd_obj_has_cap_p (obj, _CAP_PBC_X))	_pbc->offset_ext = offset_ext - length_ext;      _pbc->lid = lid;      lid++;    }  obj->psd_size = offset;  if (_vcd_obj_has_cap_p (obj, _CAP_PBC_X))    obj->psdx_size = offset_ext;  vcd_debug ("pbc: psd size %d (extended psd %d)", offset, offset_ext);  return true;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲激情网站免费观看| 日韩欧美国产1| 亚洲一区日韩精品中文字幕| 91女人视频在线观看| 亚洲欧美日韩中文字幕一区二区三区| 成人av网站大全| 一区在线播放视频| 欧美综合一区二区三区| 日韩精品欧美精品| 精品伦理精品一区| 成人一级视频在线观看| 亚洲欧洲三级电影| 欧美日韩一区二区欧美激情| 五月婷婷激情综合| 久久亚洲一区二区三区四区| 成人免费va视频| 亚洲高清在线精品| 久久综合久久综合九色| www.久久精品| 日产国产欧美视频一区精品 | 色婷婷av久久久久久久| 亚洲综合一区在线| 精品国产免费视频| 91免费视频大全| 免费xxxx性欧美18vr| 国产精品嫩草影院av蜜臀| 欧美三级在线播放| 国产精品一区二区男女羞羞无遮挡| 亚洲图片你懂的| 日韩三级视频在线观看| 99国产精品国产精品久久| 日韩av中文在线观看| 国产精品欧美综合在线| 制服丝袜日韩国产| 成人免费黄色大片| 日韩成人精品在线| 国产精品福利一区二区| 日韩一区二区三| 在线免费观看日韩欧美| 国产91丝袜在线18| 视频在线在亚洲| 亚洲色图制服诱惑 | 亚洲福利视频一区| 欧美国产成人精品| 日韩美女一区二区三区四区| 91丝袜国产在线播放| 国产专区欧美精品| 日韩精品久久理论片| 亚洲色图.com| 国产欧美一区二区在线观看| 91精品国产欧美一区二区| 91国产成人在线| 成人三级在线视频| 国产乱码精品一区二区三区忘忧草 | 日韩福利视频网| 亚洲欧美日韩一区二区三区在线观看| 久久久综合激的五月天| 91精品国产色综合久久不卡蜜臀 | 99在线精品视频| 国产成人h网站| 久草这里只有精品视频| 亚洲18影院在线观看| 一区二区欧美在线观看| 亚洲欧美自拍偷拍| 国产精品久久久久一区二区三区共| 精品国产成人在线影院| 日韩欧美国产综合一区| 在线不卡欧美精品一区二区三区| 色婷婷综合久久久久中文 | 91网站在线播放| 国产精品99久久久久久久vr| 美腿丝袜一区二区三区| 免费久久精品视频| 视频一区中文字幕国产| 天堂精品中文字幕在线| 五月激情综合网| 日韩精品亚洲一区| 久久精品国产在热久久| 麻豆精品视频在线观看| 另类小说一区二区三区| 久久国产精品99久久久久久老狼| 麻豆精品久久久| 国产麻豆精品在线| 成人自拍视频在线| 91社区在线播放| 欧洲在线/亚洲| 91精品啪在线观看国产60岁| 日韩美女视频在线| 国产日韩在线不卡| 亚洲欧美成aⅴ人在线观看| 一区二区三区欧美在线观看| 亚洲综合自拍偷拍| 亚洲自拍偷拍网站| 人妖欧美一区二区| 国产美女一区二区三区| 99麻豆久久久国产精品免费| 在线精品视频免费播放| 91麻豆精品国产91久久久更新时间 | 久久99精品国产.久久久久| 国内外精品视频| 99re热这里只有精品免费视频| 91社区在线播放| 91精品午夜视频| 国产欧美一区二区在线观看| 亚洲色图另类专区| 美女在线视频一区| 成人avav影音| 欧美一级理论片| 欧美国产日韩在线观看| 亚洲第一二三四区| 极品少妇xxxx精品少妇| 99久精品国产| 日韩午夜电影在线观看| 欧美国产一区视频在线观看| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲免费电影在线| 天天影视色香欲综合网老头| 国内精品久久久久影院色 | 国产在线精品免费av| 一本大道久久a久久综合| 日韩精品中文字幕在线一区| 国产精品电影一区二区| 日日嗨av一区二区三区四区| 成人v精品蜜桃久久一区| 91精品国产入口在线| 自拍偷在线精品自拍偷无码专区 | 性感美女久久精品| 国产iv一区二区三区| 欧美日韩一级片在线观看| 国产日韩欧美综合在线| 日韩成人精品在线| 91久久国产最好的精华液| 久久久久久久综合日本| 午夜精品视频一区| av网站一区二区三区| 久久欧美一区二区| 日韩国产一二三区| 91成人国产精品| 中文字幕欧美日本乱码一线二线| 日韩va欧美va亚洲va久久| 91激情五月电影| 日韩美女精品在线| 国产91丝袜在线播放0| 精品精品国产高清a毛片牛牛| 亚洲综合色视频| 91首页免费视频| 欧美国产日韩亚洲一区| 美女视频黄免费的久久| 欧美人伦禁忌dvd放荡欲情| 亚洲天堂精品视频| 粉嫩aⅴ一区二区三区四区| 久久综合久久久久88| 久久se这里有精品| 91精品国产高清一区二区三区 | 日本特黄久久久高潮 | 欧美福利视频导航| 一区二区欧美国产| 99久久亚洲一区二区三区青草| 精品嫩草影院久久| 美女视频黄免费的久久| 91麻豆精品国产91久久久| 日日摸夜夜添夜夜添精品视频| 欧美日韩激情在线| 亚洲国产aⅴ成人精品无吗| 欧美亚洲国产一卡| 亚洲高清免费观看| 欧美日韩一本到| 日本伊人色综合网| 欧美一级片在线观看| 奇米精品一区二区三区在线观看| 欧美一区二区三区视频免费播放| 视频一区视频二区在线观看| 91精品蜜臀在线一区尤物| 日本欧美大码aⅴ在线播放| 日韩免费看的电影| 国产一区二区三区免费在线观看| 国产亚洲精品aa午夜观看| 成人黄页毛片网站| 亚洲图片欧美激情| 欧美日韩午夜在线| 日本视频在线一区| 久久久蜜桃精品| caoporen国产精品视频| 亚洲免费在线视频| 欧美日韩三级一区二区| 日本欧美韩国一区三区| 2019国产精品| gogo大胆日本视频一区| 亚洲综合久久久久| 日韩精品一区国产麻豆| 国产精品一区二区久久不卡| 综合网在线视频| 69堂精品视频| 国产一区在线观看视频| 亚洲天堂精品视频| 91麻豆精品国产自产在线观看一区 | 欧美日韩aaaaaa| 久久成人麻豆午夜电影| 欧美经典一区二区| 在线观看国产91|