VIDEODECODEC
2019-11-24 11:42:23 0 举报
私人文档
作者其他创作
大纲/内容
GPUShaderUpdating
PresentTask for one frame
Present Request Queue(FameID Queue)
FrameID
PresentPipeline_Schedule
DemuxPipeline_Schedule
decodeMultiplePackets(bool vIsFetchAllFrame)
reauest result?
DecodePipeline_Schedule
For once rendering request
OneFramePakege
DemuxerManager(儿子)
OutPutBuffer
PresentSystem
Note: the flow is starting after all the Source be prepared successful
yes: get an task
_OneFramePakege_Undecode
DecodeTask
PresentTask
OneFramePakege (for single video in with DemuxTask.FrameID)
FrameNumExpected
WorkThread(模板爸爸)
request for one frametask(模板公共代码)
DexuxTask.State?
for single video in with DemuxTask.FrameID
InPutBuffer
Demux
Execute every subTask in Taskby single specified Workthread(模板公共代码)
OutputBuffer
if curent texture allbe prepared?
request3
OneDecodedFrame
Texture2Present(With TexTureID、FrameID)
YesTexture2Present
DemuxTask
InputBuffer
DecodeTask.FrameID
YesTextures、Matrix、FrameID ....
No
DecodeTask.IslastRequest
Demux Execute Thread(儿子)complete specified Execute Func by this Thread
Decoder
Keyboard
demuxMultiplePackets(int VFrameID);
TexturePool
CudaDataBuffer
Decode Execute Thread(女儿)complete specified Execute Func by this thread
Decode2PresenterPipelineSet
DemuxTask.FrameID
TaskScheduler
request1
SeekDemux
DecoderManager(女儿)
no
request2
AudioSystem
PresentTask.FrameID
YesOneFramePakege
OneFramePakege_Decoded (for single video in with DecodeTask.FrameID)
OneFramePakege_Undecode
demuxSinglePacket();
TaskManager(模板爸爸)
Priority Buffer with FrameID and VideoIDmeanItem popped is the minist frames of videos
DemuxTask for single Video
SubtileSystem
Texture2Present(With TexTureID)
TextureManager
ifPresentTask.FrameID==Texture2Present .FrameID
Texture2PresentQueue
DecodeTask for single Video
IFTexture2PresentQueue.size==FrameNumExpected
Demux2DecodePipelineSet
Demuxer
收藏
0 条评论
下一页
为你推荐
查看更多