determineLevel(*param, encoder->m_vps);
encoder->create();
- encoder->init();
+ if (encoder->m_aborted)
+ {
+ delete encoder;
+ return NULL;
+ }
x265_print_params(param);
extern "C"
void x265_cleanup(void)
{
- destroyROM();
BitCost::destroy();
}
pic->forceqp = X265_QP_AUTO;
if (param->analysisMode)
{
- uint32_t numPartitions = 1 << (g_maxFullDepth * 2);
uint32_t widthInCU = (param->sourceWidth + g_maxCUSize - 1) >> g_maxLog2CUSize;
uint32_t heightInCU = (param->sourceHeight + g_maxCUSize - 1) >> g_maxLog2CUSize;
uint32_t numCUsInFrame = widthInCU * heightInCU;
pic->analysisData.numCUsInFrame = numCUsInFrame;
- pic->analysisData.numPartitions = numPartitions;
+ pic->analysisData.numPartitions = NUM_CU_PARTITIONS;
}
}
{
return x265_free(p);
}
-
-int x265_alloc_analysis_data(x265_picture* pic)
-{
- CHECKED_MALLOC(pic->analysisData.interData, x265_inter_data, pic->analysisData.numCUsInFrame * 85);
- CHECKED_MALLOC(pic->analysisData.intraData, x265_intra_data, 1);
- pic->analysisData.intraData->cuAddr = NULL;
- pic->analysisData.intraData->depth = NULL;
- pic->analysisData.intraData->modes = NULL;
- pic->analysisData.intraData->partSizes = NULL;
- pic->analysisData.intraData->poc = NULL;
- CHECKED_MALLOC(pic->analysisData.intraData->depth, uint8_t, pic->analysisData.numPartitions * pic->analysisData.numCUsInFrame);
- CHECKED_MALLOC(pic->analysisData.intraData->modes, uint8_t, pic->analysisData.numPartitions * pic->analysisData.numCUsInFrame);
- CHECKED_MALLOC(pic->analysisData.intraData->partSizes, char, pic->analysisData.numPartitions * pic->analysisData.numCUsInFrame);
- CHECKED_MALLOC(pic->analysisData.intraData->cuAddr, uint32_t, pic->analysisData.numCUsInFrame);
- CHECKED_MALLOC(pic->analysisData.intraData->poc, int, pic->analysisData.numCUsInFrame);
- return 0;
-
-fail:
- x265_free_analysis_data(pic);
- return -1;
-}
-
-void x265_free_analysis_data(x265_picture* pic)
-{
- X265_FREE(pic->analysisData.interData);
- pic->analysisData.interData = NULL;
- X265_FREE(pic->analysisData.intraData->depth);
- X265_FREE(pic->analysisData.intraData->modes);
- X265_FREE(pic->analysisData.intraData->partSizes);
- X265_FREE(pic->analysisData.intraData->cuAddr);
- X265_FREE(pic->analysisData.intraData->poc);
- X265_FREE(pic->analysisData.intraData);
- pic->analysisData.intraData = NULL;
-}