[x265] [PATCH] Add support for reusing cutree offsets in all reuse levels 1, 2, 5
>From 812cccaa864da47dcf9567dccb81c9fef220c626 Mon Sep 17 00:00:00 2001 From: maheshpittala Date: Sat, 1 Aug 2020 14:52:48 +0530 Subject: [PATCH 1/1] Add support for reusing cutree offsets in all reuse levels 1,2,5 Depth information required to load cutree offsets so writing depth information but not using in reuse level 1 --- source/abrEncApp.cpp| 23 ++-- source/encoder/analysis.cpp | 2 +- source/encoder/api.cpp | 53 +--- source/encoder/encoder.cpp | 239 +--- 4 files changed, 188 insertions(+), 129 deletions(-) diff --git a/source/abrEncApp.cpp b/source/abrEncApp.cpp index fa62ebf63..e26d3adfc 100644 --- a/source/abrEncApp.cpp +++ b/source/abrEncApp.cpp @@ -330,15 +330,16 @@ namespace X265_NS { if (src->sliceType == X265_TYPE_IDR || src->sliceType == X265_TYPE_I) { -if (m_param->analysisSaveReuseLevel < 2) -goto ret; x265_analysis_intra_data *intraDst, *intraSrc; intraDst = (x265_analysis_intra_data*)m_analysisInfo->intraData; intraSrc = (x265_analysis_intra_data*)src->intraData; -memcpy(intraDst->depth, intraSrc->depth, sizeof(uint8_t) * src->depthBytes); -memcpy(intraDst->modes, intraSrc->modes, sizeof(uint8_t) * src->numCUsInFrame * src->numPartitions); -memcpy(intraDst->partSizes, intraSrc->partSizes, sizeof(char) * src->depthBytes); -memcpy(intraDst->chromaModes, intraSrc->chromaModes, sizeof(uint8_t) * src->depthBytes); +memcpy(intraDst->depth, intraSrc->depth, sizeof(uint8_t)* src->depthBytes); +if (m_param->analysisSaveReuseLevel > 1) +{ +memcpy(intraDst->modes, intraSrc->modes, sizeof(uint8_t)* src->numCUsInFrame * src->numPartitions); +memcpy(intraDst->partSizes, intraSrc->partSizes, sizeof(char)* src->depthBytes); +memcpy(intraDst->chromaModes, intraSrc->chromaModes, sizeof(uint8_t)* src->depthBytes); +} if (m_param->rc.cuTree) memcpy(intraDst->cuQPOff, intraSrc->cuQPOff, sizeof(int8_t) * src->depthBytes); } @@ -347,13 +348,12 @@ namespace X265_NS { bool bIntraInInter = (src->sliceType == X265_TYPE_P || m_param->bIntraInBFrames); int numDir = src->sliceType == X265_TYPE_P ? 1 : 2; memcpy(m_analysisInfo->wt, src->wt, sizeof(WeightParam) * 3 * numDir); -if (m_param->analysisSaveReuseLevel < 2) -goto ret; x265_analysis_inter_data *interDst, *interSrc; interDst = (x265_analysis_inter_data*)m_analysisInfo->interData; interSrc = (x265_analysis_inter_data*)src->interData; -memcpy(interDst->depth, interSrc->depth, sizeof(uint8_t) * src->depthBytes); -memcpy(interDst->modes, interSrc->modes, sizeof(uint8_t) * src->depthBytes); +memcpy(interDst->depth, interSrc->depth, sizeof(uint8_t)* src->depthBytes); +if (m_param->analysisSaveReuseLevel > 1) +memcpy(interDst->modes, interSrc->modes, sizeof(uint8_t)* src->depthBytes); if (m_param->rc.cuTree) memcpy(interDst->cuQPOff, interSrc->cuQPOff, sizeof(int8_t) * src->depthBytes); if (m_param->analysisSaveReuseLevel > 4) @@ -378,11 +378,10 @@ namespace X265_NS { } } } -if (m_param->analysisSaveReuseLevel != 10) +if (m_param->analysisSaveReuseLevel != 10 && m_param->analysisSaveReuseLevel > 1) memcpy(interDst->ref, interSrc->ref, sizeof(int32_t) * src->numCUsInFrame * X265_MAX_PRED_MODE_PER_CTU * numDir); } -ret: //increment analysis Write counter m_parent->m_analysisWriteCnt[m_id].incr(); m_parent->m_analysisWrite[m_id][index].incr(); diff --git a/source/encoder/analysis.cpp b/source/encoder/analysis.cpp index 157bae8cd..351d8a3c8 100644 --- a/source/encoder/analysis.cpp +++ b/source/encoder/analysis.cpp @@ -3645,7 +3645,7 @@ int Analysis::calculateQpforCuSize(const CUData& ctu, const CUGeom& cuGeom, int3 qp += distortionData->offset[ctu.m_cuAddr]; } -if (m_param->analysisLoadReuseLevel == 10 && m_param->rc.cuTree) +if (m_param->analysisLoadReuseLevel >= 1 && m_param->rc.cuTree) { int cuIdx = (ctu.m_cuAddr * ctu.m_numPartitions) + cuGeom.absPartIdx; if (ctu.m_slice->m_sliceType == I_SLICE) diff --git a/source/encoder/api.cpp b/source/encoder/api.cpp index a986355e0..4ef3f04bc 100644 --- a/source/encoder/api.cpp +++ b/source/encoder/api.cpp @@ -813,35 +813,41 @@ void x265_alloc_analysis_data(x265_param *param, x265_analysis_data* analysis) CHECKED_MALLOC_ZERO(analysis->wt, x265_weight_param, numPlanes * numDir); //Allocate memory for intraData pointer -if ((maxReuseLevel > 1) || isMultiPassOpt) +if ((maxReuseLevel > 0) || isMultiPas
[x265] Canceled event: [PATCH] cli.rst: Updating reference_scaling and DC... @ Mon Aug 31, 2020 7pm - 7:30pm (IST) (x265-devel@videolan.org)
BEGIN:VCALENDAR PRODID:-//Google Inc//Google Calendar 70.9054//EN VERSION:2.0 CALSCALE:GREGORIAN METHOD:CANCEL BEGIN:VEVENT DTSTART:20200831T133000Z DTEND:20200831T14Z DTSTAMP:20200831T133249Z ORGANIZER;CN=srikanth.kurap...@multicorewareinc.com:mailto:srikanth.kurapat i...@multicorewareinc.com UID:180m9gbgj2g180m9gbgj2g1...@google.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=ja nani...@multicorewareinc.com;X-NUM-GUESTS=0:mailto:janani.te@multicorewarei nc.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=x2 65-de...@videolan.org;X-NUM-GUESTS=0:mailto:x265-devel@videolan.org ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=Jo hn Frankish;X-NUM-GUESTS=0:mailto:john.frank...@outlook.com CREATED:20200831T123614Z DESCRIPTION:-::~:~::~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~ :~:~:~:~:~:~:~:~::~:~::-\nPlease do not edit this section of the descriptio n.\n\nJoin Zoom Meeting\nhttps://zoom.us/j/95859642141?pwd=SnRnY1ZQZzFmenlX ZGMvbXcxZ3llUT09 (ID: 95859642141\, password: l448rBjby5)\n\nJoining instru ctions: https://www.google.com/url?q=https://applications.zoom.us/addon/inv itation/detail?meetingUuid%3D%252B3IxkmNRQrylyb0gyT%252FZVQ%253D%253D%26sig nature%3D45ddd0ba2af9e44c30a2f120874125d9c13a9b9fe7e45c819d7a04a5a49e51d8&s a=D&source=calendar&usg=AOvVaw3CR8s9uqbacF8C_X4SDSoU\n\nPasscode: l448rBjby 5\n-::~:~::~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~: ~:~:~:~::~:~::- LAST-MODIFIED:20200831T133246Z LOCATION: SEQUENCE:1 STATUS:CANCELLED SUMMARY:[x265] [PATCH] cli.rst: Updating reference_scaling and DCIP3_4K_to_ 400_dynamic documentation TRANSP:OPAQUE END:VEVENT END:VCALENDAR invite.ics Description: application/ics ___ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel
Re: [x265] Invitation: [PATCH] cli.rst: Updating reference_scaling and DC... @ Mon Aug 31, 2020 7pm - 7:30pm (IST) (x265-devel@videolan.org)
Somehow I doubt you wanted to invite everyone reading this mailing list... -- Fun and success! Mario *LigH* Rohkrämer maito:cont...@ligh.de ___ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel
Re: [x265] [PATCH] cli.rst: Updating reference_scaling and DCIP3_4K_to_400_dynamic documentation
Sorry. Please omit the above the email invite. reply generated on the wrong email chain. On Mon, Aug 31, 2020 at 6:06 PM wrote: > Srikanth Kurapati is inviting you to a scheduled Zoom meeting. > > Topic: [x265] [PATCH] cli.rst: Updating reference_scaling and > DCIP3_4K_to_400_dynamic documentation > Time: Aug 31, 2020 07:00 PM India > > Join Zoom Meeting > https://zoom.us/j/95859642141?pwd=SnRnY1ZQZzFmenlXZGMvbXcxZ3llUT09 > > Meeting ID: 958 5964 2141 > Passcode: l448rBjby5 > > -- *With Regards,* *Srikanth Kurapati.* ___ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel
[x265] Invitation: [PATCH] cli.rst: Updating reference_scaling and DC... @ Mon Aug 31, 2020 7pm - 7:30pm (IST) (x265-devel@videolan.org)
BEGIN:VCALENDAR PRODID:-//Google Inc//Google Calendar 70.9054//EN VERSION:2.0 CALSCALE:GREGORIAN METHOD:REQUEST BEGIN:VEVENT DTSTART:20200831T133000Z DTEND:20200831T14Z DTSTAMP:20200831T123616Z ORGANIZER;CN=srikanth.kurap...@multicorewareinc.com:mailto:srikanth.kurapat i...@multicorewareinc.com UID:180m9gbgj2g180m9gbgj2g1...@google.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=janani...@multicorewareinc.com;X-NUM-GUESTS=0:mailto:janani.te@mult icorewareinc.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=x265-devel@videolan.org;X-NUM-GUESTS=0:mailto:x265-devel@videolan.o rg X-MICROSOFT-CDO-OWNERAPPTID:1537369195 CREATED:20200831T123614Z DESCRIPTION:-::~:~::~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~ :~:~:~:~:~:~:~:~::~:~::-\nPlease do not edit this section of the descriptio n.\n\nJoin Zoom Meeting\nhttps://zoom.us/j/95859642141?pwd=SnRnY1ZQZzFmenlX ZGMvbXcxZ3llUT09 (ID: 95859642141\, password: l448rBjby5)\n\nJoining instru ctions: https://www.google.com/url?q=https://applications.zoom.us/addon/inv itation/detail?meetingUuid%3D%252B3IxkmNRQrylyb0gyT%252FZVQ%253D%253D%26sig nature%3D45ddd0ba2af9e44c30a2f120874125d9c13a9b9fe7e45c819d7a04a5a49e51d8&s a=D&source=calendar&usg=AOvVaw3CR8s9uqbacF8C_X4SDSoU\n\nPasscode: l448rBjby 5\n\nView your event at https://www.google.com/calendar/event?action=VIEW&e id=MTgwbTlnYmdqMmcxODBtOWdiZ2oyZzE4MG0geDI2NS1kZXZlbEB2aWRlb2xhbi5vcmc&tok= Mzgjc3Jpa2FudGgua3VyYXBhdGlAbXVsdGljb3Jld2FyZWluYy5jb20wZDE4NTQ5ZGQ2NDQzNzd kMzdhNjIwZDNiNTIzMjE4NTNiNTgxMjU5&ctz=Asia%2FKolkata&hl=en&es=1.\n-::~:~::~ :~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~::~:~ ::- LAST-MODIFIED:20200831T123614Z LOCATION: SEQUENCE:0 STATUS:CONFIRMED SUMMARY:[x265] [PATCH] cli.rst: Updating reference_scaling and DCIP3_4K_to_ 400_dynamic documentation TRANSP:OPAQUE END:VEVENT END:VCALENDAR invite.ics Description: application/ics ___ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel
Re: [x265] [PATCH] cli.rst: Updating reference_scaling and DCIP3_4K_to_400_dynamic documentation
Srikanth Kurapati is inviting you to a scheduled Zoom meeting. Topic: [x265] [PATCH] cli.rst: Updating reference_scaling and DCIP3_4K_to_400_dynamic documentation Time: Aug 31, 2020 07:00 PM India Join Zoom Meeting https://zoom.us/j/95859642141?pwd=SnRnY1ZQZzFmenlXZGMvbXcxZ3llUT09 Meeting ID: 958 5964 2141 Passcode: l448rBjby5 ___ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel
[x265] [PATCH] cli.rst: Updating reference_scaling and DCIP3_4K_to_400_dynamic documentation
>From eec17884a67cc66aab44cb6b44f5f86ee9c69be5 Mon Sep 17 00:00:00 2001 From: Janani TE Date: Mon, 31 Aug 2020 08:50:11 + Subject: [PATCH] cli.rst: Updating reference_scaling and DCIP3_4K_to_400_dynamic documentation --- doc/reST/cli.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/reST/cli.rst b/doc/reST/cli.rst index 59b3f74..02828e3 100644 --- a/doc/reST/cli.rst +++ b/doc/reST/cli.rst @@ -2023,7 +2023,7 @@ other levels. All other strings indicate a filename containing custom scaling lists in the HM format. The encode will abort if the file is not parsed correctly. Custom lists must be signaled in the SPS. A sample - scaling list file is available in `the downloads page < https://bitbucket.org/multicoreware/x265/downloads/reference_scalinglist.txt >`_ + scaling list file is available in `the downloads page < https://bitbucket.org/multicoreware/x265_git/downloads/reference_scalinglist.txt >`_ .. option:: --lambda-file @@ -2310,7 +2310,7 @@ VUI fields must be manually specified. to be encoded as Dynamic Tone Mapping into the bitstream. Click `here < https://www.sra.samsung.com/assets/User-data-registered-itu-t-t35-SEI-message-for-ST-2094-40-v1.1.pdf >`_ - for the syntax of the metadata file. A sample JSON file is available in `the downloads page < https://bitbucket.org/multicoreware/x265/downloads/DCIP3_4K_to_400_dynamic.json >`_ + for the syntax of the metadata file. A sample JSON file is available in `the downloads page < https://bitbucket.org/multicoreware/x265_git/downloads/DCIP3_4K_to_400_dynamic.json >`_ .. option:: --dhdr10-opt, --no-dhdr10-opt -- 1.8.3.1 -- Thanks and Regards, Janani. 0001-cli.rst-Updating-reference_scaling-and-DCIP3_4K_to_4.patch Description: Binary data ___ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel
[x265] [PATCH] x265: Doc update
>From ac51d98c64f515fed8a44dc6f62fd564d6c89879 Mon Sep 17 00:00:00 2001 From: Janani TE Date: Mon, 31 Aug 2020 08:28:37 + Subject: [PATCH] Changing x265 repository link --- doc/reST/introduction.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/reST/introduction.rst b/doc/reST/introduction.rst index c503946..138a8ee 100644 --- a/doc/reST/introduction.rst +++ b/doc/reST/introduction.rst @@ -43,7 +43,7 @@ developers. x265 leverages many of the outstanding video encoding features and optimizations from the x264 AVC encoder project. The x265 software is available for free under the GNU GPL 2 license, -from https://bitbucket.org/multicoreware/x265. For commercial companies +from https://bitbucket.org/multicoreware/x265_git. For commercial companies that wish to distribute x265 without being subject to the open source requirements of the GPL 2 license, commercial licenses are available with competitive terms. Contact license @ x265.com to inquire about -- 1.8.3.1 -- Thanks and Regards, Janani. 0001-Changing-x265-repository-link.patch Description: Binary data ___ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel