static Int VcapVencVdecVdis_ipcBitsOpenFileHandles() { Int status = OSA_SOK; Int i; char fileNameHdr[128]; char fileNameBuffer[128]; for (i = 0; i < MCFW_IPC_BITS_MAX_NUM_CHANNELS; i++) { VcapVencVdecVdis_ipcBitsGenerateFileName(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fileDirPath, MCFW_IPC_BITS_HDR_FILE_NAME, i, MCFW_IPC_BITS_FILE_EXTENSION, fileNameHdr, sizeof(fileNameHdr)); gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrHdr[i] = fopen(fileNameHdr,"wb"); OSA_assert(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrHdr[i] != NULL); if (0 == i) { gVcapVencVdecVdis_ipcBitsCtrl.fObj.maxFileSize = VcapVencVdecVdis_ipcBitsGetMaxFileSizePerChannel(fileNameHdr); } status = setvbuf(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrHdr[i], NULL, _IOFBF, MCFW_IPC_BITS_FILEBUF_SIZE_HDR); OSA_assert(status != -1); gVcapVencVdecVdis_ipcBitsCtrl.fObj.wrapOccuredHdr[i] = FALSE; VcapVencVdecVdis_ipcBitsGenerateFileName(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fileDirPath, MCFW_IPC_BITS_DATA_FILE_NAME, i, MCFW_IPC_BITS_FILE_EXTENSION, fileNameBuffer, sizeof(fileNameBuffer)); gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrData[i] = fopen(fileNameBuffer,"wb"); OSA_assert(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrData[i] != NULL); status = setvbuf(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrData[i], NULL, _IOFBF, MCFW_IPC_BITS_FILEBUF_SIZE_DATA); OSA_assert(status != -1); gVcapVencVdecVdis_ipcBitsCtrl.fObj.wrapOccuredBuf[i] = FALSE; strncat(fileNameBuffer,".mv",3); gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrMvData[i] = fopen(fileNameBuffer,"wb"); OSA_assert(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrMvData[i] != NULL); status = setvbuf(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrMvData[i], NULL, _IOFBF, MCFW_IPC_BITS_FILEBUF_SIZE_DATA); OSA_assert(status != -1); } return status; }
static Int VcapVencVdecVdis_ipcBitsOpenFileHandles() { Int status = OSA_SOK; Int i,j; char fileNameHdr[128]; char fileNameBuffer[128]; for (i = 0; i < MCFW_IPC_BITS_MAX_NUM_CHANNELS; i++) { VcapVencVdecVdis_ipcBitsGenerateFileName(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fileDirPath, MCFW_IPC_BITS_HDR_FILE_NAME, i, 0, MCFW_IPC_BITS_DEFAULT_FILE_EXTENSION, fileNameHdr, sizeof(fileNameHdr)); gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrHdr[i] = fopen(fileNameHdr,"wb"); OSA_assert(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrHdr[i] != NULL); if (0 == i) { gVcapVencVdecVdis_ipcBitsCtrl.fObj.maxFileSize = VcapVencVdecVdis_ipcBitsGetMaxFileSizePerChannel(fileNameHdr); } status = setvbuf(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrHdr[i], NULL, _IOFBF, MCFW_IPC_BITS_FILEBUF_SIZE_HDR); OSA_assert(status != -1); gVcapVencVdecVdis_ipcBitsCtrl.fObj.wrapOccuredHdr[i] = FALSE; if(gVcapVencVdecVdis_ipcBitsCtrl.fObj.enableLayerWrite == TRUE) { for (j = 0; j < MCFW_IPC_BITS_MAX_NUM_CHANNELS_LAYERS; j++) { VcapVencVdecVdis_ipcBitsGenerateFileName(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fileDirPath, MCFW_IPC_BITS_DATA_FILE_NAME, i, j, gVcapVencVdecVdis_ipcBitsCtrl.fObj.fileExtension, fileNameBuffer, sizeof(fileNameBuffer)); gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrData[i][j] = fopen(fileNameBuffer,"wb"); OSA_assert(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrData[i][j] != NULL); status = setvbuf(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrData[i][j], NULL, _IOFBF, MCFW_IPC_BITS_FILEBUF_SIZE_DATA); OSA_assert(status != -1); gVcapVencVdecVdis_ipcBitsCtrl.fObj.wrapOccuredBuf[i][j] = FALSE; } } else { /* NOTE: * Based on enableLayerWrite flag which is specific to h264 bit-stream when disabled will do * default file write[MCFW_IPC_BITS_DATA_FILE_DEFAULTLAYER_INDEX is 0], * all other codecs also fall in this case and for when the flag is enabled * will create multiple file handles per temporal layer */ VcapVencVdecVdis_ipcBitsGenerateFileName(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fileDirPath, MCFW_IPC_BITS_DATA_FILE_NAME, i, 0, gVcapVencVdecVdis_ipcBitsCtrl.fObj.fileExtension, fileNameBuffer, sizeof(fileNameBuffer)); gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrData[i][MCFW_IPC_BITS_DATA_FILE_DEFAULTLAYER_INDEX] = fopen(fileNameBuffer,"wb"); OSA_assert(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrData[i][MCFW_IPC_BITS_DATA_FILE_DEFAULTLAYER_INDEX] != NULL); status = setvbuf(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrData[i][MCFW_IPC_BITS_DATA_FILE_DEFAULTLAYER_INDEX], NULL, _IOFBF, MCFW_IPC_BITS_FILEBUF_SIZE_DATA); OSA_assert(status != -1); gVcapVencVdecVdis_ipcBitsCtrl.fObj.wrapOccuredBuf[i][MCFW_IPC_BITS_DATA_FILE_DEFAULTLAYER_INDEX] = FALSE; } VcapVencVdecVdis_ipcBitsGenerateFileName(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fileDirPath, MCFW_IPC_BITS_DATA_FILE_NAME, i, 0, gVcapVencVdecVdis_ipcBitsCtrl.fObj.fileExtension, fileNameBuffer, sizeof(fileNameBuffer)); strncat(fileNameBuffer,".mv",3); gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrMvData[i] = fopen(fileNameBuffer,"wb"); OSA_assert(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrMvData[i] != NULL); status = setvbuf(gVcapVencVdecVdis_ipcBitsCtrl.fObj.fpWrMvData[i], NULL, _IOFBF, MCFW_IPC_BITS_FILEBUF_SIZE_DATA); OSA_assert(status != -1); } return status; }