Lines Matching refs:SimpleControl
53 #define BUFFER_VALID(p) (SimpleControl.readBuffer[p].isValid)
96 static THPSimple SimpleControl; variable
127 memset(&SimpleControl, 0, sizeof(THPSimple)); in THPSimpleInit()
130 SimpleControl.soundMode = THP_SOUND_MODE_STEREO; in THPSimpleInit()
231 if (SimpleControl.open) in THPSimpleOpen()
240 memset(&SimpleControl.videoInfo, 0, sizeof(THPVideoInfo)); in THPSimpleOpen()
241 memset(&SimpleControl.audioInfo, 0, sizeof(THPAudioInfo)); in THPSimpleOpen()
243 if (DVDOpen(fileName, &SimpleControl.fileInfo) == FALSE) in THPSimpleOpen()
252 if (DVDRead(&SimpleControl.fileInfo, WorkBuffer, 64, 0) < 0) in THPSimpleOpen()
257 DVDClose(&SimpleControl.fileInfo); in THPSimpleOpen()
261 memcpy(&SimpleControl.header, WorkBuffer, sizeof(THPHeader)); in THPSimpleOpen()
264 if (strcmp(SimpleControl.header.magic, "THP") != 0) in THPSimpleOpen()
269 DVDClose(&SimpleControl.fileInfo); in THPSimpleOpen()
274 if (SimpleControl.header.version != THP_VERSION) in THPSimpleOpen()
279 DVDClose(&SimpleControl.fileInfo); in THPSimpleOpen()
283 offset = (s32)SimpleControl.header.compInfoDataOffsets; in THPSimpleOpen()
286 if (DVDRead(&SimpleControl.fileInfo, WorkBuffer, 32, offset) < 0) in THPSimpleOpen()
291 DVDClose(&SimpleControl.fileInfo); in THPSimpleOpen()
295 memcpy(&SimpleControl.compInfo, WorkBuffer, sizeof(THPFrameCompInfo)); in THPSimpleOpen()
299 SimpleControl.audioExist = 0; in THPSimpleOpen()
302 for(i = 0 ; i < SimpleControl.compInfo.numComponents ; i++) in THPSimpleOpen()
304 switch(SimpleControl.compInfo.frameComp[i]) in THPSimpleOpen()
307 if (DVDRead(&SimpleControl.fileInfo, WorkBuffer, 32, offset) < 0) in THPSimpleOpen()
312 DVDClose(&SimpleControl.fileInfo); in THPSimpleOpen()
315 memcpy(&SimpleControl.videoInfo, WorkBuffer, sizeof(THPVideoInfo)); in THPSimpleOpen()
319 if (DVDRead(&SimpleControl.fileInfo, WorkBuffer, 32, offset) < 0) in THPSimpleOpen()
324 DVDClose(&SimpleControl.fileInfo); in THPSimpleOpen()
327 memcpy(&SimpleControl.audioInfo, WorkBuffer, sizeof(THPAudioInfo)); in THPSimpleOpen()
328 SimpleControl.audioExist = 1; in THPSimpleOpen()
340 SimpleControl.curOffset = (s32)SimpleControl.header.movieDataOffsets; in THPSimpleOpen()
341 SimpleControl.readSize = (s32)SimpleControl.header.firstFrameSize; in THPSimpleOpen()
342 SimpleControl.readIndex = 0; in THPSimpleOpen()
343 SimpleControl.totalReadFrame = 0; in THPSimpleOpen()
344 SimpleControl.dvdError = FALSE; in THPSimpleOpen()
345 SimpleControl.textureSet.frameNumber = -1; in THPSimpleOpen()
346 SimpleControl.nextDecodeIndex = 0; in THPSimpleOpen()
347 SimpleControl.audioDecodeIndex = 0; in THPSimpleOpen()
348 SimpleControl.audioOutputIndex = 0; in THPSimpleOpen()
349 SimpleControl.preFetchState = FALSE; in THPSimpleOpen()
350 SimpleControl.audioState = FALSE; in THPSimpleOpen()
351 SimpleControl.loop = THP_PLAY_ONESHOT; in THPSimpleOpen()
352 SimpleControl.open = TRUE; in THPSimpleOpen()
353 SimpleControl.curVolume = 127.0f; in THPSimpleOpen()
354 SimpleControl.targetVolume = SimpleControl.curVolume; in THPSimpleOpen()
355 SimpleControl.rampCount = 0; in THPSimpleOpen()
372 if (SimpleControl.open) in THPSimpleClose()
374 if (SimpleControl.preFetchState == FALSE) in THPSimpleClose()
376 if (SimpleControl.audioExist) in THPSimpleClose()
378 if (SimpleControl.audioState == TRUE) in THPSimpleClose()
385 SimpleControl.audioState = FALSE; in THPSimpleClose()
388 if (!SimpleControl.readProgress) in THPSimpleClose()
390 SimpleControl.open = FALSE; in THPSimpleClose()
392 DVDClose(&SimpleControl.fileInfo); in THPSimpleClose()
417 if (SimpleControl.open) in THPSimpleCalcNeedMemory()
420 size = OSRoundUp32B(SimpleControl.header.bufSize) * READ_BUFFER_NUM; in THPSimpleCalcNeedMemory()
423 size += OSRoundUp32B(SimpleControl.videoInfo.xSize * SimpleControl.videoInfo.ySize); //Y in THPSimpleCalcNeedMemory()
424 size += OSRoundUp32B(SimpleControl.videoInfo.xSize * SimpleControl.videoInfo.ySize / 4); //U in THPSimpleCalcNeedMemory()
425 size += OSRoundUp32B(SimpleControl.videoInfo.xSize * SimpleControl.videoInfo.ySize / 4); //V in THPSimpleCalcNeedMemory()
428 if (SimpleControl.audioExist) in THPSimpleCalcNeedMemory()
430 size += (OSRoundUp32B(SimpleControl.header.audioMaxSamples * 4) * AUDIO_BUFFER_NUM); in THPSimpleCalcNeedMemory()
461 if (SimpleControl.open && SimpleControl.preFetchState == FALSE) in THPSimpleSetBuffer()
463 if (SimpleControl.audioState == TRUE) in THPSimpleSetBuffer()
468 ysize = OSRoundUp32B(SimpleControl.videoInfo.xSize * SimpleControl.videoInfo.ySize); in THPSimpleSetBuffer()
469 uvsize = OSRoundUp32B(SimpleControl.videoInfo.xSize * SimpleControl.videoInfo.ySize / 4); in THPSimpleSetBuffer()
474 SimpleControl.textureSet.ytexture = ptr; in THPSimpleSetBuffer()
477 SimpleControl.textureSet.utexture = ptr; in THPSimpleSetBuffer()
480 SimpleControl.textureSet.vtexture = ptr; in THPSimpleSetBuffer()
487 SimpleControl.readBuffer[i].ptr = ptr; in THPSimpleSetBuffer()
488 ptr += OSRoundUp32B(SimpleControl.header.bufSize); in THPSimpleSetBuffer()
489 SimpleControl.readBuffer[i].isValid = FALSE; in THPSimpleSetBuffer()
493 if (SimpleControl.audioExist) in THPSimpleSetBuffer()
497 SimpleControl.audioBuffer[i].buffer = (s16 *)ptr; in THPSimpleSetBuffer()
498 SimpleControl.audioBuffer[i].curPtr = (s16 *)ptr; in THPSimpleSetBuffer()
499 SimpleControl.audioBuffer[i].validSample = 0; in THPSimpleSetBuffer()
500 ptr += OSRoundUp32B(SimpleControl.header.audioMaxSamples * 4); in THPSimpleSetBuffer()
504 SimpleControl.thpWork = (void *)ptr; in THPSimpleSetBuffer()
522 if (!SimpleControl.dvdError && SimpleControl.preFetchState == TRUE) in ReadFrameAsync()
524 if (SimpleControl.totalReadFrame > SimpleControl.header.numFrames - 1) in ReadFrameAsync()
527 if (SimpleControl.loop == THP_PLAY_LOOP) in ReadFrameAsync()
529 SimpleControl.totalReadFrame = 0; in ReadFrameAsync()
530 SimpleControl.curOffset = (s32)SimpleControl.header.movieDataOffsets; in ReadFrameAsync()
531 SimpleControl.readSize = (s32)SimpleControl.header.firstFrameSize; in ReadFrameAsync()
540 SimpleControl.readProgress = TRUE; in ReadFrameAsync()
542 if (DVDReadAsync(&SimpleControl.fileInfo, in ReadFrameAsync()
543 GET_READ_BUFFER(SimpleControl), in ReadFrameAsync()
544 SimpleControl.readSize, in ReadFrameAsync()
545 SimpleControl.curOffset, in ReadFrameAsync()
548 SimpleControl.readProgress = FALSE; in ReadFrameAsync()
549 SimpleControl.dvdError = TRUE; in ReadFrameAsync()
574 SimpleControl.dvdError = TRUE; in __THPSimpleDVDCallback()
583 SimpleControl.readProgress = FALSE; in __THPSimpleDVDCallback()
586 SimpleControl.readBuffer[SimpleControl.readIndex].frameNumber = SimpleControl.totalReadFrame; in __THPSimpleDVDCallback()
588 SimpleControl.totalReadFrame++; in __THPSimpleDVDCallback()
590 SimpleControl.readBuffer[SimpleControl.readIndex].isValid = TRUE; in __THPSimpleDVDCallback()
591 SimpleControl.curOffset += SimpleControl.readSize; in __THPSimpleDVDCallback()
592 SimpleControl.readSize = (s32)NEXT_READ_SIZE(SimpleControl); in __THPSimpleDVDCallback()
593 SimpleControl.readIndex = NEXT_BUFFER(SimpleControl.readIndex); in __THPSimpleDVDCallback()
596 if (!BUFFER_VALID(SimpleControl.readIndex)) in __THPSimpleDVDCallback()
621 if (!BUFFER_VALID(SimpleControl.readIndex) && !SimpleControl.readProgress) in CheckPrefetch()
645 if (SimpleControl.open && (SimpleControl.preFetchState == FALSE)) in THPSimplePreLoad()
651 if (SimpleControl.header.numFrames < READ_BUFFER_NUM) in THPSimplePreLoad()
653 readNum = SimpleControl.header.numFrames; in THPSimplePreLoad()
660 if (DVDRead(&SimpleControl.fileInfo, in THPSimplePreLoad()
661 SimpleControl.readBuffer[SimpleControl.readIndex].ptr, in THPSimplePreLoad()
662 SimpleControl.readSize, in THPSimplePreLoad()
663 SimpleControl.curOffset) < 0) in THPSimplePreLoad()
668 SimpleControl.dvdError = TRUE; in THPSimplePreLoad()
672 SimpleControl.curOffset += SimpleControl.readSize; in THPSimplePreLoad()
673 SimpleControl.readSize = (s32)NEXT_READ_SIZE(SimpleControl); in THPSimplePreLoad()
675 SimpleControl.readBuffer[SimpleControl.readIndex].isValid = TRUE; in THPSimplePreLoad()
676 … SimpleControl.readBuffer[SimpleControl.readIndex].frameNumber = SimpleControl.totalReadFrame; in THPSimplePreLoad()
678 SimpleControl.readIndex = NEXT_BUFFER(SimpleControl.readIndex); in THPSimplePreLoad()
680 SimpleControl.totalReadFrame++; in THPSimplePreLoad()
682 if (SimpleControl.totalReadFrame > SimpleControl.header.numFrames - 1) in THPSimplePreLoad()
684 if (SimpleControl.loop == THP_PLAY_LOOP) in THPSimplePreLoad()
686 SimpleControl.totalReadFrame = 0; in THPSimplePreLoad()
687 SimpleControl.curOffset = (s32)SimpleControl.header.movieDataOffsets; in THPSimplePreLoad()
688 SimpleControl.readSize = (s32)SimpleControl.header.firstFrameSize; in THPSimplePreLoad()
694 SimpleControl.loop = (u8)loop; in THPSimplePreLoad()
695 SimpleControl.preFetchState = TRUE; in THPSimplePreLoad()
715 SimpleControl.audioState = TRUE; in THPSimpleAudioStart()
732 SimpleControl.audioState = FALSE; in THPSimpleAudioStop()
751 if (SimpleControl.open && (SimpleControl.audioState == FALSE)) in THPSimpleLoadStop()
753 SimpleControl.preFetchState = FALSE; in THPSimpleLoadStop()
756 if (SimpleControl.readProgress) in THPSimpleLoadStop()
758 DVDCancel(&SimpleControl.fileInfo.cb); in THPSimpleLoadStop()
759 SimpleControl.readProgress = FALSE; in THPSimpleLoadStop()
765 SimpleControl.readBuffer[i].isValid = 0; in THPSimpleLoadStop()
770 SimpleControl.audioBuffer[i].validSample = 0; in THPSimpleLoadStop()
773 SimpleControl.textureSet.frameNumber = -1; in THPSimpleLoadStop()
774 SimpleControl.curOffset = (s32)SimpleControl.header.movieDataOffsets; in THPSimpleLoadStop()
775 SimpleControl.readSize = (s32)SimpleControl.header.firstFrameSize; in THPSimpleLoadStop()
776 SimpleControl.readIndex = 0; in THPSimpleLoadStop()
777 SimpleControl.totalReadFrame = 0; in THPSimpleLoadStop()
778 SimpleControl.dvdError = FALSE; in THPSimpleLoadStop()
779 SimpleControl.nextDecodeIndex = 0; in THPSimpleLoadStop()
780 SimpleControl.audioDecodeIndex = 0; in THPSimpleLoadStop()
781 SimpleControl.audioOutputIndex = 0; in THPSimpleLoadStop()
782 SimpleControl.curVolume = SimpleControl.targetVolume; in THPSimpleLoadStop()
783 SimpleControl.rampCount = 0; in THPSimpleLoadStop()
817 if (BUFFER_VALID(SimpleControl.nextDecodeIndex)) in THPSimpleDecode()
819 compSizePtr = (u32 *)(GET_DECODE_BUFFER(SimpleControl) + 8); in THPSimpleDecode()
820 ptr = GET_DECODE_BUFFER(SimpleControl) + SimpleControl.compInfo.numComponents * 4 in THPSimpleDecode()
823 if (SimpleControl.audioExist) in THPSimpleDecode()
825 if (audioTrack < 0 || audioTrack >= SimpleControl.audioInfo.sndNumTracks) in THPSimpleDecode()
834 if (SimpleControl.audioBuffer[SimpleControl.audioDecodeIndex].validSample == 0) in THPSimpleDecode()
836 for (i = 0 ; i < SimpleControl.compInfo.numComponents ; i++) in THPSimpleDecode()
838 switch (SimpleControl.compInfo.frameComp[i]) in THPSimpleDecode()
850 … sample = THPAudioDecode(SimpleControl.audioBuffer[SimpleControl.audioDecodeIndex].buffer, in THPSimpleDecode()
855 … SimpleControl.audioBuffer[SimpleControl.audioDecodeIndex].validSample = sample; in THPSimpleDecode()
857 SimpleControl.audioBuffer[SimpleControl.audioDecodeIndex].curPtr in THPSimpleDecode()
858 = SimpleControl.audioBuffer[SimpleControl.audioDecodeIndex].buffer; in THPSimpleDecode()
860 SimpleControl.audioDecodeIndex++; in THPSimpleDecode()
861 if (SimpleControl.audioDecodeIndex >= AUDIO_BUFFER_NUM) in THPSimpleDecode()
863 SimpleControl.audioDecodeIndex = 0; in THPSimpleDecode()
881 for (i = 0 ; i < SimpleControl.compInfo.numComponents ; i++) in THPSimpleDecode()
883 switch (SimpleControl.compInfo.frameComp[i]) in THPSimpleDecode()
898 SimpleControl.readBuffer[SimpleControl.nextDecodeIndex].isValid = FALSE; in THPSimpleDecode()
899 SimpleControl.nextDecodeIndex = NEXT_BUFFER(SimpleControl.nextDecodeIndex); in THPSimpleDecode()
929 SimpleControl.textureSet.ytexture, in VideoDecode()
930 SimpleControl.textureSet.utexture, in VideoDecode()
931 SimpleControl.textureSet.vtexture, in VideoDecode()
932 SimpleControl.thpWork); in VideoDecode()
936 SimpleControl.textureSet.frameNumber in VideoDecode()
937 = SimpleControl.readBuffer[SimpleControl.nextDecodeIndex].frameNumber; in VideoDecode()
964 if (SimpleControl.textureSet.frameNumber >= 0) in THPSimpleDrawCurrentFrame()
967 THPGXYuv2RgbDraw( SimpleControl.textureSet.ytexture, in THPSimpleDrawCurrentFrame()
968 SimpleControl.textureSet.utexture, in THPSimpleDrawCurrentFrame()
969 SimpleControl.textureSet.vtexture, in THPSimpleDrawCurrentFrame()
971 (s16)SimpleControl.videoInfo.xSize, (s16)SimpleControl.videoInfo.ySize, in THPSimpleDrawCurrentFrame()
975 return (s32)SimpleControl.textureSet.frameNumber; in THPSimpleDrawCurrentFrame()
1003 if (SimpleControl.open && (SimpleControl.audioState == TRUE) && SimpleControl.audioExist) in MixAudio()
1011 if (SimpleControl.audioBuffer[SimpleControl.audioOutputIndex].validSample) in MixAudio()
1013 … if (SimpleControl.audioBuffer[SimpleControl.audioOutputIndex].validSample >= requestSample) in MixAudio()
1019 … sampleNum = SimpleControl.audioBuffer[SimpleControl.audioOutputIndex].validSample; in MixAudio()
1022 thpsrc = SimpleControl.audioBuffer[SimpleControl.audioOutputIndex].curPtr; in MixAudio()
1027 if (SimpleControl.rampCount) in MixAudio()
1029 SimpleControl.rampCount--; in MixAudio()
1030 SimpleControl.curVolume += SimpleControl.deltaVolume; in MixAudio()
1034 SimpleControl.curVolume = SimpleControl.targetVolume; in MixAudio()
1037 attenuation = VolumeTable[(s32)SimpleControl.curVolume]; in MixAudio()
1048 if (SimpleControl.soundMode == THP_SOUND_MODE_MONO) in MixAudio()
1094 … SimpleControl.audioBuffer[SimpleControl.audioOutputIndex].validSample -= sampleNum; in MixAudio()
1095 SimpleControl.audioBuffer[SimpleControl.audioOutputIndex].curPtr = thpsrc; in MixAudio()
1097 if (SimpleControl.audioBuffer[SimpleControl.audioOutputIndex].validSample == 0) in MixAudio()
1099 SimpleControl.audioOutputIndex++; in MixAudio()
1100 if (SimpleControl.audioOutputIndex >= AUDIO_BUFFER_NUM) in MixAudio()
1102 SimpleControl.audioOutputIndex = 0; in MixAudio()
1125 if (SimpleControl.open && (SimpleControl.audioState == TRUE) && SimpleControl.audioExist) in MixAudio()
1132 if (SimpleControl.audioBuffer[SimpleControl.audioOutputIndex].validSample) in MixAudio()
1134 … if (SimpleControl.audioBuffer[SimpleControl.audioOutputIndex].validSample >= requestSample) in MixAudio()
1140 … sampleNum = SimpleControl.audioBuffer[SimpleControl.audioOutputIndex].validSample; in MixAudio()
1143 thpsrc = SimpleControl.audioBuffer[SimpleControl.audioOutputIndex].curPtr; in MixAudio()
1148 if (SimpleControl.rampCount) in MixAudio()
1150 SimpleControl.rampCount--; in MixAudio()
1151 SimpleControl.curVolume += SimpleControl.deltaVolume; in MixAudio()
1155 SimpleControl.curVolume = SimpleControl.targetVolume; in MixAudio()
1158 attenuation = VolumeTable[(s32)SimpleControl.curVolume]; in MixAudio()
1169 if (SimpleControl.soundMode == THP_SOUND_MODE_MONO) in MixAudio()
1209 … SimpleControl.audioBuffer[SimpleControl.audioOutputIndex].validSample -= sampleNum; in MixAudio()
1210 SimpleControl.audioBuffer[SimpleControl.audioOutputIndex].curPtr = thpsrc; in MixAudio()
1212 if (SimpleControl.audioBuffer[SimpleControl.audioOutputIndex].validSample == 0) in MixAudio()
1214 SimpleControl.audioOutputIndex++; in MixAudio()
1215 if (SimpleControl.audioOutputIndex >= AUDIO_BUFFER_NUM) in MixAudio()
1217 SimpleControl.audioOutputIndex = 0; in MixAudio()
1254 if (SimpleControl.open) in THPSimpleGetVideoInfo()
1256 memcpy(videoInfo, &SimpleControl.videoInfo, sizeof(THPVideoInfo)); in THPSimpleGetVideoInfo()
1276 if (SimpleControl.open) in THPSimpleGetAudioInfo()
1278 memcpy(audioInfo, &SimpleControl.audioInfo, sizeof(THPAudioInfo)); in THPSimpleGetAudioInfo()
1299 if (SimpleControl.open) in THPSimpleGetFrameRate()
1302 return SimpleControl.header.frameRate; in THPSimpleGetFrameRate()
1321 if (SimpleControl.open) in THPSimpleGetTotalFrame()
1323 return SimpleControl.header.numFrames; in THPSimpleGetTotalFrame()
1417 if (SimpleControl.open && SimpleControl.audioExist) in THPSimpleSetVolume()
1450 SimpleControl.targetVolume = (f32)vol; in THPSimpleSetVolume()
1454 SimpleControl.rampCount = samplePerMs * time; in THPSimpleSetVolume()
1455 SimpleControl.deltaVolume = (SimpleControl.targetVolume - SimpleControl.curVolume) in THPSimpleSetVolume()
1456 / (f32)SimpleControl.rampCount; in THPSimpleSetVolume()
1460 SimpleControl.rampCount = 0; in THPSimpleSetVolume()
1461 SimpleControl.curVolume = SimpleControl.targetVolume; in THPSimpleSetVolume()
1485 if (SimpleControl.open) in THPSimpleGetVolume()
1487 return (s32)SimpleControl.curVolume; in THPSimpleGetVolume()
1509 SimpleControl.soundMode = mode; in THPSimpleSetSoundMode()
1525 return SimpleControl.soundMode; in THPSimpleGetSoundMode()