CapUSB M-Edition 1.2.2.5

̃\tgEFA͈ȉׂ̎̈ɍ쐬ꂽ̂łB
E}`Xbh
EWindows OverlapI/O
EMPEG2-TS̃Xg[̃G[yъȈՌAPSI
EfW^pEPG
EARIB-B25pXg[̏
EUDPplbg[NzM

̃\tgEFAgpɂ͓Kɉꂽn[hEFAK{łB
n[hEFẢ@͂̃\tgEFA̔eOȂ̂ŁAł܂B
̃\tgEFAALv`f[^ɂĔȂ鑹Q҂͊֗^ł܂B
gp҂̎ȐӔCA̔eŎgpĂB


\tgEFA̎st@CAKvDLLA\[Xt@C܂B
\[Xt@C̉ς͎RłBsoCit@C̒ډς͋֎~܂B
ςꂽ\[X̌J̋`͂܂񂪁Ałs̓tB[hobNĂB
zz͎RłA펯͈͓̔ŎłɌ肳Ă܂B

\[Xt@CVisualStudio 2003 Proō쐬̂łÄӓIMFCgpȂ悤ɂ̂ŁA
ŐV̖(Express)łRpC͒ʂƎv܂AeXgĂ܂B

܂Ã\tgEFA܂͂̃\tgEFẢϕApċK̂Ƃ鎖ւ܂B
ʂ̏iɑ΂ċK̎󂪔A̕tƂẴ\tgEFA̔zzA܂͏
Ytsׂ֎~܂B
(\tgEFAGɌfڂ̂֎~Bʂ̃XN[Vbgfڂ̓UCN̉HĂ֎~B
fڂsꍇARׂuꍇ܂B͂̃\tgEFAړÎ̂ŁAʂ
p邱Ǝ̂z肵ĂȂ߂łB)

----------------------------------------------------------------------

Eڑ{^ƂɂāAfoCXɐڑ܂B
@̏Ԃł̓\tgEFAIł܂BēxƂɂڑ܂B
@ڑ̓f[^]ۂɔ܂B^ԂƂ̈Ⴂ̓t@C݂邩ǂ݂̂łB

@hv-mikittyt@[] : ~LeB̃t@[pꍇ̏]܂B(obt@NA炵)
@@@@@@@@@@@@@@@@@   KvȂ̂́AfoCXPCɐڑŏ݂̈̂ŁǍ͏ȗ\B
@B25 : ARIB-B25Lڂ̏s܂B̃R[h͖^̃eXgvO0.1.4̂̂łB
@@@@    gpɂ͐KɌ_񂳂ꂽҗpICJ[hƓKȃJ[h[_[KvłB
@@@@    J[h[_[͖}̂̂ł\܂B

Ef[^]󋵂́AUSBfoCX̃f[^]󋵂܂B
@Pʂ͉񐔂ŁAf[^ẽG[͊֌WȂA]̉ۂ܂B
@x͎ۂɓ]ꂽf[^ʂłB
@
EXg[󋵂́A]ꂽf[^MPEG2-TSłƉ肵Ă܂B
@ȊÕf[^͂ꂽꍇ̓͑z肵Ă܂B
@gĂȂ(x~A`l)ł̓z肵Ă܂B
@
@G[FSyncByte(0x47) pPbgƂɌȂꍇɑ
@sA : TSwb_continuity_counterAĂȂꍇɑ
@ÍpPbg : TSwb_transport_scrambling_control0łȂꍇɑ
@
@\鎞TSXg[ɑ݂TOTf[^̂̂łB
@ɎMł΁ATbɎM͂łB
@ȊO̎Ԃ͂obvŕ⊮܂BTOTM(*)擪ɂ܂B

E^撆̃t@CSHARE_READ܂B^撆VLCōĐ\łA
@\ȏ\͂ȂꍇAUSBf[^]ɎxႪꍇ܂B
@o͂t@C͊SSyncꂽԂ̃t@CŁAnullpPbg͏o͂܂B
@
@w肵ԂŘ^~邱Ƃł܂B
@OwŁA܂łǂłB{PO{^΁A^扄܂B
@
EUDPḾAw肵AhXɃf[^𗬂܂B
@f[^͘^悷̂Ɠ̂ƂȂ܂B
@UDPzMׁ̈APCŎMƂ̃f[^̐m͕ۏႳĂ܂B
@_ш悪΁AC^[lbgɗƂ\łA
@쌠Aϗ̖肾łȂA@ɒG\̂ŁA΂ȂłB
@}`LXgAu[hLXg͎኱̃\[XR[hCŉ\Ȃ̂͊mFĂ܂AĂ܂B
@
@VLCgȂAlbg[NXg[J->UDP/RTP(|[g1234)ōĐ\łB
@[ȑш悳΁ACS110̃g|P̑MhbvȂ܂B
@VLC̖肾Ǝv܂AXg[؂ւVLCƂ܂B
@
@pPbgTCYő=IPpPbgTCYő咷-UDPwb_ ƂȂ܂B
@w蒷188̔{łKv͂ȂłAɂčœKl͈Ⴄ\łB

----------------------------------------------------------------------

obt@ STL::list FIFOB

̊JpɃ`[jOĂ܂̂ŁAꍇɂĂ͊g̕Kv܂B
܂AfobKA^b`ĂԂƃobt@͂葽܂B

҂p̂̂̂݃Xbh܂񓯊I/OƂȂ̂ŁACriticalSectionŕی삳܂B
obt@͊eXbhŏ̂ŕی삳܂B

USBǂݍI/Op 32KB x 32(Mv32KBő32I[o[bvĎMv܂)
҂p       10M(ʏقƂǏȂB\tgɂ菈؂ꍇɂ͏)
Ap     1M(pPbgApPbgɂf[^s߂̈ꎞۑp)
Xg[p 1M(ŏII188oCgŃpPbg邽߂̏҂p)

Ƀ}`Xbh𑽗pĂ܂AXbh̗Dx̓ftHgł͕WłB
ύXɂ̓\[Xt@C̍ăRpCKvłB

----------------------------------------------------------------------

EfoCXڑɐt[hbvƕ\ꍇ܂B͏̖łB
EINCAЂ̃ZLeB\tg(nProtect)쒆AfoCX\܂B(? ƂȂ܂)
@\ȂŁÂ͖薳ƂmFĂ܂B
Eڑɉ炩USBfoCXڑA͐ڑꍇAt[hbv\܂B

----------------------------------------------------------------------

Friio/JIUSB2͓oCił͕s\łB
\[Ẍꕔ̃Rgtւ邱ƂɂAFriio䂪\ɂȂ܂BEzUSBFX2JIUSB2AFriio͔rłB
FriioɂDLL(.dll)͕ʓr肷Kv܂B
EzUSBFX2Ƃ͏قȂ̂ŁAUSB]s̒l͂܂肠ĂɂȂ܂(ڍׂ̓\[XQ)
JIUSB2EzUSBFX2USB`bv֌WAԈĎgȂłB
JIUSB2͓IɃt@[EFA]Ă܂̂ŁAEZUSBFX2ɗƁA
t@[EFAĂ܂B(ēx̃t@[EFA]΂njł)

----------------------------------------------------------------------

Intel`bvZbgPCɂĒԂ̃Lv`Ŗ肪ƂmFĂ܂B
܂XgXeXgɂāA
E^ƓVLCōĐ
EɃx`}[N(PCMark)s
Elbg[NoRŕPCɃt@C̕ۑƍĐ
Elbg[NoRNAS(100BASE-T)Ƀt@C̕ۑ
EXybNPCɂ^
EFriiopUSBoXɕׂł̓^
s܂B

펯IȔ͈͓ł̉^pł΁A͂܂B
ُȕׂĂꍇAt[hbv̉\͂܂B
G[oꍇAf[^ꕔ`ɂȂ܂^͒~܂B
f[^G[ꍇAf[^eȂꍇ܂B

̊JڕWLv`\tgPCLAʍƂsLv`s
ł̂ŁA\tgEFAƂ̓sȂ悤ɂȂĂƎv܂A
펯IȔ͈͂ŎĂBWEBuEYxȂقږ肠܂B

DualCorePCł΁Axׂ̍ł肵܂B

----------------------------------------------------------------------

Ĵ̓nbN~邩dZȂ܂ł͂\łA
ǂ̂悤ȋ@\Ă͂܂łB

----------------------------------------------------------------------

藚

1.2.2.5@^\C
	^\CɃ`lݒ肪fȂs̏C
	Cxg^\ł`lݒgpł悤ɏC
	t@C̃^C~OA\쁨^Jñ^C~OɕύX
	i`lݒ̏ꍇA\̃^C~Oł͒ncłdofĂȂׁj
	\֘ȀC

1.2.2.4@f[^֘ȀC
	f[^IvVON/OFFł悤ɒǉ
	f[^XṼf[^TCYXVƂȂӏ̏C
	PMTXVɂPID폜ꂽW[̏s悤ɏC
	fobOpo͂̒
	̑AׂoOC

1.2.2.3
	DTVNXɌ݂̃`l擾郁o̒ǉ(̊g̈)
	}`p[gW[MAsȃf[^̌s悤ɒǉ
	i܂ł͎Mꂽf[^͂Ȃ炸f[^Ɖ肵Ăj
	nD̂fKCĥ悤ȁAW[^Cvw薳̃VOp[gW[̕ۑɑΉ
	B25Decorder.dllŐVW[ɕύX

1.2.2.2@CypressCyApi.libg킸ɒDeviceIoControl()ŃANZXeXg
	NX CDTV_EzUSBFX2_Direct_HvMikitty VKǉ(ftHg͍܂łǂ)
	USB->PC : 0x86
	PC->USB : 0x04@p[^͌ŒBGetUsbEndpointInfoŕύXΑ̃t@[Ή\Ƃ͎v܂B

1.2.2.1@f[^sC
	ARIBeXgXg[̂悤ȑ傫ȃTCỸf[^Ƃ悤ɓύXA臒l͂悻Sl
	VOp[gW[(BSWp)̃f[^̎MΉ

1.2.2.0@f[^M
	f[^M郂W[̎(BMLr[A͂ȂBj[ۑł邾)

1.2.1.6@dof̎
	dof(ncŃT[rXIDႤCxgLĂ镔͕\ȂAZO͂Tԑg܂)
	{iIɍ͎̂Ԃ肻Ȃ̂ŁÂ̂
	o[ł̕\܂łȂs̏C

1.2.1.5@R[hǉɌ(ȂK͂ȉC)
	ԑg擾̈EPGɂp/f other擾悤ɒǉ(ngł͂̃f[^̂̂ĂȂ)
	EPG}l[W[̌ƃf[^폜̕(EPG擾ɔ)
	tB^EBhÊ̖T[rXEBhEɕύX(@\ĂׁAvÔ̖͂̂܂)
	EBhEł̕\]̂̂ƁAԑgꗗIׂ悤ɒǉ
	EBhÊdof₢킹R[obNꕔp~BƎf[^Ǘ悤ɕύXB
	\[X̃tOɂB25g̍ڂp~
	IȊgׁ̈AB25Ɨ(AB25Decorder.dllgɕς͂Ȃ)
	nullpPbgJE^ɂĂpXC
	\^Ŋɓt@CꍇAt@C_ԍ ̂悤ȘAԃt@C𐶐悤ɒǉ
	TipXV̂y
	IԂ̏ꍇ̗\^揈()̏C
	Sԑg̏ȈꍇɃCxgA^JnɎXV܂őҋ@悤ɕύX

1.2.1.4@^\EBhE̕sC
	^\EBhEŃCxgǏ][ĥƂt@CƃT[rXhcۑȂpX̂ŏC
	EPG}l[W[܂̃R[hǉ(̈)

1.2.1.3@o[WAbvƂ悤ȃRȀC͂ȂłAÂ̂Ƃ̎ʂ̈׏グ܂
	B25DecorderÂo[ŴōXV(0.1.5=PMTXV^C~O̕sC)
	minaminã`lpb`荞(\[X̃ftHgEzUSBFX2Ȃ̂Ő؂ւ̕ύX݂͕̂Kv)
	Init@CҏWnullpPbg폜ȂIvV̒ǉ(gp͐܂)

1.2.1.2@oOCƃCxgw^@\
	Ԋ֌W̃\[gtlȂ̂ŏC
	Cxgw̘^\ǉ(Ԏwł͂ȂACxgID^JnO܂ŎԂǏ])
	cap_sts֌W̃R[h23łɕύX(@ނȂ̂ŃeXg͂ł܂)

1.2.1.1@oOCƃ\[XAdof֘Ågׂ̗̈\
	Ԋ֘ȀGĂ₱ȂĂ̂ŁACDateTimeNXV݂ďōs悤ɕύXB
	CEX̌oߕb64bit\B(]̃f[^i[Ɛ\NɖOa)
	bNCLockNXɈڍsBĂ邱Ƃ͓B\[X̂߁B
	1.2.1.0ɂāA^C~OɂĂ͘^\Iɗs̏C
	EPG p/f Actual݂̂ p/f Schedule擾悤ɕύX(f[^ꍇAp/f̂قD)
	^\ɎgԂTOT擾邩AVXeԂgIvVőIł悤ɒǉ(ftHgTOT)
	tB^EBhẼo[EPG\̕\e኱ύX

1.2.1.0@^\܂A@\ĝ߂ɑ啝ɘMĂ܂B
	^\@\ǉ
	(PSIf[^Ă̂ŁAPSIK{B݂͗\񂩂Ԃ͔ȂB\^撆̓XgMȂ̂𐄏)
	tB^EBhEENbN猻݂̔ԑgA̔ԑg^\ł悤ɒǉ(I񂾃T[rX)
	CTsStreampPbgtB^Bwrorŵ݂̃[hǉ(̊ĝ߂̗\)
	CTsStreamo͂𕡐݂悤ɉBo͂ƂɃpPbgtB^悤ɒǉB
	`lȊ݂Î݂A͂ł悤ɒǉ(PVR̃C[WB񏈗̓NX)
	CFileRecord̃t@CݑFILE_FLAG_WRITE_THROUGHǉBɂđǂĐłȂۂ̉̂߁B

1.2.0.4@dof܂
	QSԕԑgł̍폜̏C
	tB^EBhEŃJ[\킹ƂɃo[ŊȈEPG\悤ɒǉ(݂Ǝ)
	WinAPIŁA30bŏ(ȂGUI̎͂񂶂Ȃ)
	PSIZNVSDTŁAo[WۑĂȂ̂ŏC
	NIT/SITf[^Ă悤ɒǉBNIT/SITPIDPAT玝Ă悤Ȍ`ŎB
	module_testł͎擾NIT\悤ɒǉ(fobOp)
	^\̗\

1.2.0.3@oOԂ
	Debug BuildłA[Noǉ(ɂoO݂܂:)
	f[^M(CyUsb)֘Ã[NC(EzUSBFX2/OptCamUSB2)
	t܂ԑgŁAtύXEPGԑgŔłȂs̏C
	NX CDTV_Base()CriticalSection֘A̖߂lݒ肳ĂȂ~XC(53Ɋ)
	tB^֘AA`l֘A̋@\C番ĐB
	PAT/PMTXV^C~OɂĂ͐퓮삵Ȃs̒ACJn(Ƃ肠Ă悤H)
	ARIBAt@xbgR[hϊ\ԈĂ̂ŏC(k{ɂȂĂ)
	g(قTOTNullpPbgAPAT/PMTȂ)Ńt[ŶB25Decorder.dllA@͕ʓrlĒ

1.2.0.2@Ƃ肠`ɂ鍡܂ł̍XVÃR[hێAoOĈق{Ԃ̂ŁA@\ǉقڂȂB
	UPAT쐬ɁA128byte𒴂pPbgɍȂoȌCB(XR780Ɋ)
	ZNVp[T[͎Ɍ㑱ZNVwb_肱ڂ̏CB
	TOT/TDTŎ擾鎞Ԃ͂TbPʂȂ̂ŁÅԂ̎Ԃ⊮悤ɕύXB
	TOT/TDTŎ擾Ԃł΁At擪ɃAX^XN(*)\
	EPG֘ÃR[h啝ɏBpǗNX̒ǉB(Ap/f Actual̂ݏ)
	p/f ActualɊւĂ͂قڈ肵͂B
	
	̍Ƃ͉ɂȂĂ郁C̃T[rXǗƃtB^EBhE֘AȁEEE
	capsts֘A͎@Ȃ̂łł͂ȂƂBɃt@[]ĂāAR}h@̂
	ȂB

1.2.0.1@oOCB
	PATɂPMTo^ɁASITPIDo^Ă~X̏CB(񍐁ATv񋟎҂Ɋ)

1.2.0.0@Ƃ肠`ɂȂĂŁB
	\[X\啝ɐ(@\ƂɃfBNgɕ)
	ZNVp[T啝ɏBPSȈhbvĂ̏CB
	wT[rX̃tB^O@\̒ǉ
	JIUSB(\[X̂݁A@Ȃ̂Ŏ͕s\)
	݂̔ԑg\̎M(݂p/f Actual݂̂Ă)

1.1.1
	GUIƃfoCX𕪗
	Friio̐(\[X̂)
	`l@\̒ǉ(t@[EFAAΉNXɈˑAFriiô̂͑Ή)
	pȂ̂Copyright͕ςACopyright\L͍폜B

1.1.0
	GUI኱ύX
	lbg[NM@\ǉ
	EBhEʒuۑ(EBhE\ȂȂAinit@CYӏ폜΁)

1.0.3
	w莞Ԃł̎^~̒ǉibj
	ZNVĂ鎞AɏłȂoȌC

1.0.2
	Õo[W^C}͂ȂGĂ܂BɂĂ͕sł邩
	init@Cɂݒۑ(Ini암ƂCapUSB_Option.cpp)
	AvP[V->ݒ(O) ǉ(XbhDx͍̂ƂLɂĂ܂)
	timeBeginPeriod()OnConnect()ɌĂяo悤ɕύX
	o̓Gh|Cgw肵Ȃ̂\(Hv-Mikitty̏ł͏oEP4K{)
	PAT/PMT̉
	B25gpAڑĨobt@FlashG[NĂs̏C
	B25gpACuJɃ[NNĂs̏C

1.0.1.1
	^C}[x̌㏈
	ZNVwb_ǉ(͂߂܂)

1.0.1
	^󂫗eʂȂȂꍇ̎^~(200M)
	obt@sG[󋵂̕\(R:ǂݍ Sy: St:Xg[)
	FIFOobt@̎̕ύX()
	nullpPbg^悵Ȃ悤ɕύX
	IEvent\[XJȂ󋵂s̏C
	̑oOC

1.0.0
	[X

----------------------------------------------------------------------
B25񋟂ĂMarumolAB25bvCůJҗl(gc[̒̐ll)A
VAo̓Lv`̍җl(fWYl)B
̏؂Č\グ܂B

ZNVp[T̖ɁAgc[̒̐ll̃R[hQlɂĂĂ܂B
茳ɎȂŎĂ߁A\[XR[hɕ׋ɂȂ܂B肪Ƃ܂B

CDTVBase NXɂNXfoCXɍ΁AėpŎg܂킹ȋCĂB
