[x265] [PATCH 3 of 5] add reference list in analysis structure
Aruna Matheswaran
aruna at multicorewareinc.com
Wed Nov 13 07:52:14 CET 2019
# HG changeset patch
# User Santhoshini Sekar <santhoshini at multicorewareinc.com>
# Date 1566985098 -19800
# Wed Aug 28 15:08:18 2019 +0530
# Node ID 858a6b6267e025776b18eafc3279dc5addf891e4
# Parent 96fb4962ccb59f7c51c8a56c5d495ced1d8c2941
add reference list in analysis structure
diff -r 96fb4962ccb5 -r 858a6b6267e0 source/encoder/encoder.cpp
--- a/source/encoder/encoder.cpp Wed Aug 28 13:32:12 2019 +0530
+++ b/source/encoder/encoder.cpp Wed Aug 28 15:08:18 2019 +0530
@@ -1810,6 +1810,17 @@
if (m_param->analysisSave)
{
pic_out->analysisData.frameBits = frameData->bits;
+ if (!slice->isIntra())
+ {
+ for (int ref = 0; ref < MAX_NUM_REF; ref++)
+ pic_out->analysisData.list0POC[ref] = frameData->list0POC[ref];
+
+ if (!slice->isInterP())
+ {
+ for (int ref = 0; ref < MAX_NUM_REF; ref++)
+ pic_out->analysisData.list1POC[ref] = frameData->list1POC[ref];
+ }
+ }
}
/* Write RateControl Frame level stats in multipass encodes */
@@ -2696,12 +2707,12 @@
frameStats->ssim = ssim;
if (!slice->isIntra())
{
- for (int ref = 0; ref < 16; ref++)
+ for (int ref = 0; ref < MAX_NUM_REF; ref++)
frameStats->list0POC[ref] = ref < slice->m_numRefIdx[0] ? slice->m_refPOCList[0][ref] - slice->m_lastIDR : -1;
if (!slice->isInterP())
{
- for (int ref = 0; ref < 16; ref++)
+ for (int ref = 0; ref < MAX_NUM_REF; ref++)
frameStats->list1POC[ref] = ref < slice->m_numRefIdx[1] ? slice->m_refPOCList[1][ref] - slice->m_lastIDR : -1;
}
}
diff -r 96fb4962ccb5 -r 858a6b6267e0 source/x265.h
--- a/source/x265.h Wed Aug 28 13:32:12 2019 +0530
+++ b/source/x265.h Wed Aug 28 15:08:18 2019 +0530
@@ -200,6 +200,7 @@
}x265_analysis_distortion_data;
+#define MAX_NUM_REF 16
/* Stores all analysis data for a single frame */
typedef struct x265_analysis_data
{
@@ -220,6 +221,8 @@
x265_analysis_validate saveParam;
x265_analysis_distortion_data* distortionData;
uint64_t frameBits;
+ int list0POC[MAX_NUM_REF];
+ int list1POC[MAX_NUM_REF];
} x265_analysis_data;
/* cu statistics */
@@ -275,8 +278,8 @@
int encoderOrder;
int poc;
int countRowBlocks;
- int list0POC[16];
- int list1POC[16];
+ int list0POC[MAX_NUM_REF];
+ int list1POC[MAX_NUM_REF];
uint16_t maxLumaLevel;
uint16_t minLumaLevel;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: x265_push-3.patch
Type: text/x-patch
Size: 2890 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20191113/af76e0a8/attachment.bin>
More information about the x265-devel
mailing list