# HG changeset patch # User Bhavna Hariharan <bha...@multicorewareinc.com> # Date 1497957678 -19800 # Tue Jun 20 16:51:18 2017 +0530 # Branch stable # Node ID 12efe46f4872d4e7e2e6bbc197b5a7dce0064642 # Parent f4de3ccf989164ed89cc48e49e55d627a8414522 remove redundant file reads
diff -r f4de3ccf9891 -r 12efe46f4872 source/encoder/encoder.cpp --- a/source/encoder/encoder.cpp Tue May 23 12:42:54 2017 +0530 +++ b/source/encoder/encoder.cpp Tue Jun 20 16:51:18 2017 +0530 @@ -88,6 +88,8 @@ #if ENABLE_DYNAMIC_HDR10 m_hdr10plus_api = hdr10plus_api_get(); + numCimInfo = 0; + cim = NULL; #endif m_prevTonemapPayload.payload = NULL; @@ -431,6 +433,10 @@ void Encoder::destroy() { +#if ENABLE_DYNAMIC_HDR10 + m_hdr10plus_api->hdr10plus_clear_movie(cim, numCimInfo); +#endif + if (m_exportedPic) { ATOMIC_DEC(&m_exportedPic->m_countRefEncoders); @@ -604,18 +610,19 @@ #if ENABLE_DYNAMIC_HDR10 if (m_bToneMap) { - uint8_t *cim = NULL; - if (m_hdr10plus_api->hdr10plus_json_to_frame_cim(m_param->toneMapFile, pic_in->poc, cim)) + if (pic_in->poc == 0) + numCimInfo = m_hdr10plus_api->hdr10plus_json_to_movie_cim(m_param->toneMapFile, cim); + if (pic_in->poc < numCimInfo) { int32_t i = 0; toneMap.payloadSize = 0; - while (cim[i] == 0xFF) - toneMap.payloadSize += cim[i++] + 1; - toneMap.payloadSize += cim[i] + 1; + while (cim[i][pic_in->poc] == 0xFF) + toneMap.payloadSize += cim[pic_in->poc][i++] + 1; + toneMap.payloadSize += cim[pic_in->poc][i] + 1; toneMap.payload = (uint8_t*)x265_malloc(sizeof(uint8_t) * toneMap.payloadSize); toneMap.payloadType = USER_DATA_REGISTERED_ITU_T_T35; - memcpy(toneMap.payload, cim, toneMap.payloadSize); + memcpy(toneMap.payload, cim[pic_in->poc], toneMap.payloadSize); } } #endif diff -r f4de3ccf9891 -r 12efe46f4872 source/encoder/encoder.h --- a/source/encoder/encoder.h Tue May 23 12:42:54 2017 +0530 +++ b/source/encoder/encoder.h Tue Jun 20 16:51:18 2017 +0530 @@ -178,6 +178,8 @@ #ifdef ENABLE_DYNAMIC_HDR10 const hdr10plus_api *m_hdr10plus_api; + uint8_t **cim; + int numCimInfo; #endif x265_sei_payload m_prevTonemapPayload; _______________________________________________ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel