[x265] [PATCH]Fix for zonefile feature Crash
Pradeep Ramachandran
pradeep at multicorewareinc.com
Tue Mar 5 09:46:34 CET 2019
On Fri, Mar 1, 2019 at 3:39 PM Dinesh Kumar Reddy <
dinesh at multicorewareinc.com> wrote:
> # HG changeset patch
> # User Dinesh<dinesh at multicorewareinc.com>
> # Date 1551246140 -19800
> # Wed Feb 27 11:12:20 2019 +0530
> # Node ID c9bc9aef4cde7b812fd97b8eac7a204904aa02ad
> # Parent 31ab7e09a3b5b15ffcc532826d4dd5d37e611483
> Zone: fix for encoder crash
>
Ignoring this patch as the fix isn't complete.
>
> diff -r 31ab7e09a3b5 -r c9bc9aef4cde source/common/param.cpp
> --- a/source/common/param.cpp Tue Feb 26 13:52:24 2019 +0530
> +++ b/source/common/param.cpp Wed Feb 27 11:12:20 2019 +0530
> @@ -94,6 +94,7 @@
> x265_param *x265_param_alloc()
> {
> x265_param* param = (x265_param*)x265_malloc(sizeof(x265_param));
> + param->rc.zones = (x265_zone*)x265_malloc(sizeof(x265_zone));
> #ifdef SVT_HEVC
> param->svtHevcParam =
> (EB_H265_ENC_CONFIGURATION*)x265_malloc(sizeof(EB_H265_ENC_CONFIGURATION));
> #endif
> @@ -102,6 +103,7 @@
>
> void x265_param_free(x265_param* p)
> {
> + x265_free(p->rc.zones);
> #ifdef SVT_HEVC
> x265_free(p->svtHevcParam);
> #endif
> @@ -2246,11 +2248,7 @@
>
> if (src->rc.zones)
> {
> - dst->rc.zones->startFrame = src->rc.zones->startFrame;
> - dst->rc.zones->endFrame = src->rc.zones->endFrame;
> - dst->rc.zones->bForceQp = src->rc.zones->bForceQp;
> - dst->rc.zones->qp = src->rc.zones->qp;
> - dst->rc.zones->bitrateFactor = src->rc.zones->bitrateFactor;
> + memcpy(dst->rc.zones, src->rc.zones, sizeof(x265_zone));
> }
> else
> dst->rc.zones = NULL;
> diff -r 31ab7e09a3b5 -r c9bc9aef4cde source/encoder/api.cpp
> --- a/source/encoder/api.cpp Tue Feb 26 13:52:24 2019 +0530
> +++ b/source/encoder/api.cpp Wed Feb 27 11:12:20 2019 +0530
> @@ -94,7 +94,7 @@
>
> Encoder* encoder = NULL;
> x265_param* param = PARAM_NS::x265_param_alloc();
> - x265_param* latestParam = PARAM_NS::x265_param_alloc();
> + x265_param* latestParam = PARAM_NS::x265_param_alloc();
> x265_param* zoneParam = PARAM_NS::x265_param_alloc();
> if (!param || !latestParam)
> goto fail;
> @@ -177,7 +177,7 @@
>
> encoder->create();
>
> - memcpy(zoneParam, param, sizeof(x265_param));
> + x265_copy_params(zoneParam, param);
> for (int i = 0; i < param->rc.zonefileCount; i++)
> {
> encoder->configureZone(zoneParam, param->rc.zones[i].zoneParam);
> @@ -200,11 +200,11 @@
> goto fail;
>
> x265_print_params(param);
> - return encoder;
> + return encoder;
>
> fail:
> delete encoder;
> - PARAM_NS::x265_param_free(param);
> + PARAM_NS::x265_param_free(param);
> PARAM_NS::x265_param_free(latestParam);
> return NULL;
> }
> @@ -287,12 +287,13 @@
> bool isReconfigureRc =
> encoder->isReconfigureRc(encoder->m_latestParam, param_in);
> if ((encoder->m_reconfigure && !isReconfigureRc) ||
> (encoder->m_reconfigureRc && isReconfigureRc)) /* Reconfigure in progress */
> return 1;
> - x265_copy_params(&save, encoder->m_latestParam);
> +
> + memcpy(&save, encoder->m_latestParam, sizeof(x265_param));
> int ret = encoder->reconfigureParam(encoder->m_latestParam, param_in);
> if (ret)
> {
> /* reconfigure failed, recover saved param set */
> - x265_copy_params(encoder->m_latestParam, &save);
> + memcpy(encoder->m_latestParam, &save, sizeof(x265_param));
> ret = -1;
> }
> else
> diff -r 31ab7e09a3b5 -r c9bc9aef4cde source/encoder/encoder.cpp
> --- a/source/encoder/encoder.cpp Tue Feb 26 13:52:24 2019 +0530
> +++ b/source/encoder/encoder.cpp Wed Feb 27 11:12:20 2019 +0530
> @@ -850,7 +850,10 @@
> free((char*)m_param->toneMapFile);
> free((char*)m_param->analysisSave);
> free((char*)m_param->analysisLoad);
> - PARAM_NS::x265_param_free(m_param);
> +#ifdef SVT_HEVC
> + x265_free(m_param->svtHevcParam);
> +#endif
> + x265_free(m_param);
> }
> }
>
>
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20190305/410e5415/attachment.html>
More information about the x265-devel
mailing list