[x265-commits] [x265] rc: bug fix for enforcing qpFile in 2 pass(fixes issue #111)
Aarthi at videolan.org
Aarthi at videolan.org
Mon Mar 16 23:20:48 CET 2015
details: http://hg.videolan.org/x265/rev/365c6be56ca0
branches:
changeset: 9757:365c6be56ca0
user: Aarthi Thirumalai
date: Mon Mar 16 15:56:21 2015 +0530
description:
rc: bug fix for enforcing qpFile in 2 pass(fixes issue #111)
Subject: [x265] asm: remove unused IACA test code
details: http://hg.videolan.org/x265/rev/bd5c80def4aa
branches: stable
changeset: 9758:bd5c80def4aa
user: Min Chen <chenm003 at 163.com>
date: Mon Mar 16 12:00:42 2015 -0700
description:
asm: remove unused IACA test code
Subject: [x265] pixel: remove unnecessary check statement
details: http://hg.videolan.org/x265/rev/a03f3fa03812
branches: stable
changeset: 9759:a03f3fa03812
user: Steve Borho <steve at borho.org>
date: Mon Mar 16 13:10:34 2015 -0500
description:
pixel: remove unnecessary check statement
This check was being triggered by many regression tests but is not necessary for
the existing SIMD code.
Subject: [x265] Add few more commandlines for smoke test, fix/add rate control tests
details: http://hg.videolan.org/x265/rev/8d5165a566cc
branches: stable
changeset: 9760:8d5165a566cc
user: Mahesh Pittala <mahesh at multicorewareinc.com>
date: Mon Mar 16 20:01:52 2015 +0530
description:
Add few more commandlines for smoke test, fix/add rate control tests
replace -FN with -F4, add --strict-cbr and --fast-firstpass tests
Subject: [x265] Merge with stable
details: http://hg.videolan.org/x265/rev/8a37ebcf9232
branches:
changeset: 9761:8a37ebcf9232
user: Steve Borho <steve at borho.org>
date: Mon Mar 16 17:04:21 2015 -0500
description:
Merge with stable
diffstat:
source/common/pixel.cpp | 4 +---
source/common/x86/pixel-util8.asm | 2 --
source/encoder/ratecontrol.cpp | 6 +++---
source/test/rate-control-tests.txt | 12 ++++++------
source/test/smoke-tests.txt | 27 +++++++++++++++++++--------
source/x265.cpp | 2 +-
6 files changed, 30 insertions(+), 23 deletions(-)
diffs (149 lines):
diff -r 74496ce5d8ba -r 8a37ebcf9232 source/common/pixel.cpp
--- a/source/common/pixel.cpp Mon Mar 16 10:47:09 2015 +0530
+++ b/source/common/pixel.cpp Mon Mar 16 17:04:21 2015 -0500
@@ -522,12 +522,10 @@ void weight_sp_c(const int16_t* src, pix
#if CHECKED_BUILD || _DEBUG
const int correction = (IF_INTERNAL_PREC - X265_DEPTH);
-#endif
-
X265_CHECK(!((w0 << 6) > 32767), "w0 using more than 16 bits, asm output will mismatch\n");
X265_CHECK(!(round > 32767), "round using more than 16 bits, asm output will mismatch\n");
X265_CHECK((shift >= correction), "shift must be include factor correction, please update ASM ABI\n");
- X265_CHECK(!(round & ((1 << (correction - 1)) - 1)), "round must be include factor correction, please update ASM ABI\n");
+#endif
for (y = 0; y <= height - 1; y++)
{
diff -r 74496ce5d8ba -r 8a37ebcf9232 source/common/x86/pixel-util8.asm
--- a/source/common/x86/pixel-util8.asm Mon Mar 16 10:47:09 2015 +0530
+++ b/source/common/x86/pixel-util8.asm Mon Mar 16 17:04:21 2015 -0500
@@ -614,7 +614,6 @@ cglobal quant, 5,6,8
RET
-IACA_START
%if ARCH_X86_64 == 1
INIT_YMM avx2
cglobal quant, 5,5,10
@@ -761,7 +760,6 @@ cglobal quant, 5,6,8
movd eax, xm7
RET
%endif ; ARCH_X86_64 == 1
-IACA_END
;-----------------------------------------------------------------------------
diff -r 74496ce5d8ba -r 8a37ebcf9232 source/encoder/ratecontrol.cpp
--- a/source/encoder/ratecontrol.cpp Mon Mar 16 10:47:09 2015 +0530
+++ b/source/encoder/ratecontrol.cpp Mon Mar 16 17:04:21 2015 -0500
@@ -1068,7 +1068,7 @@ int RateControl::rateControlStart(Frame*
m_qp = (int32_t)(curFrame->m_forceqp + 0.5) - 1;
m_qp = x265_clip3(QP_MIN, QP_MAX_MAX, m_qp);
rce->qpaRc = curEncData.m_avgQpRc = curEncData.m_avgQpAq = m_qp;
- if (m_isAbr)
+ if (m_isAbr || m_2pass)
{
rce->qpNoVbv = rce->qpaRc;
m_lastQScaleFor[m_sliceType] = x265_qp2qScale(rce->qpaRc);
@@ -1473,7 +1473,7 @@ double RateControl::rateEstimateQscale(F
* tolerances, the bit distribution approaches that of 2pass. */
double overflow = 1;
- double lqmin = 0, lqmax = 0;
+ double lqmin = MIN_QPSCALE, lqmax = MAX_MAX_QPSCALE;
m_shortTermCplxSum *= 0.5;
m_shortTermCplxCount *= 0.5;
m_shortTermCplxSum += m_currentSatd / (CLIP_DURATION(m_frameDuration) / BASE_FRAME_DURATION);
@@ -1534,7 +1534,7 @@ double RateControl::rateEstimateQscale(F
q = clipQscale(curFrame, rce, q);
/* clip qp to permissible range after vbv-lookahead estimation to avoid possible
* mispredictions by initial frame size predictors */
- if (m_isVbv && m_pred[m_sliceType].count == 1)
+ if (!m_2pass && m_isVbv && m_pred[m_sliceType].count == 1)
q = x265_clip3(lqmin, lqmax, q);
}
m_lastQScaleFor[m_sliceType] = q;
diff -r 74496ce5d8ba -r 8a37ebcf9232 source/test/rate-control-tests.txt
--- a/source/test/rate-control-tests.txt Mon Mar 16 10:47:09 2015 +0530
+++ b/source/test/rate-control-tests.txt Mon Mar 16 17:04:21 2015 -0500
@@ -11,7 +11,7 @@ RaceHorses_416x240_30_10bit.yuv,--preset
112_1920x1080_25.yuv,--preset medium --bitrate 1000 --vbv-maxrate 1500 --vbv-bufsize 1500 --aud
112_1920x1080_25.yuv,--preset medium --bitrate 10000 --vbv-maxrate 10000 --vbv-bufsize 15000 --hrd
112_1920x1080_25.yuv,--preset medium --bitrate 4000 --vbv-maxrate 12000 --vbv-bufsize 12000 --repeat-headers
-112_1920x1080_25.yuv,--preset superfast --bitrate 1000 --vbv-maxrate 1000 --vbv-bufsize 1500 --hrd
+112_1920x1080_25.yuv,--preset superfast --bitrate 1000 --vbv-maxrate 1000 --vbv-bufsize 1500 --hrd --strict-cbr
112_1920x1080_25.yuv,--preset superfast --bitrate 30000 --vbv-maxrate 30000 --vbv-bufsize 30000 --repeat-headers
112_1920x1080_25.yuv,--preset superfast --bitrate 4000 --vbv-maxrate 6000 --vbv-bufsize 6000 --aud
112_1920x1080_25.yuv,--preset veryslow --bitrate 1000 --vbv-maxrate 3000 --vbv-bufsize 3000 --repeat-headers
@@ -21,7 +21,7 @@ big_buck_bunny_360p24.y4m,--preset mediu
big_buck_bunny_360p24.y4m,--preset medium --bitrate 3000 --vbv-bufsize 3000 --vbv-maxrate 3000 --hrd
big_buck_bunny_360p24.y4m,--preset medium --bitrate 400 --vbv-bufsize 600 --vbv-maxrate 600 --aud
big_buck_bunny_360p24.y4m,--preset medium --crf 1 --vbv-bufsize 3000 --vbv-maxrate 3000 --hrd
-big_buck_bunny_360p24.y4m,--preset superfast --bitrate 1000 --vbv-bufsize 1000 --vbv-maxrate 1000 --aud
+big_buck_bunny_360p24.y4m,--preset superfast --bitrate 1000 --vbv-bufsize 1000 --vbv-maxrate 1000 --aud --strict-cbr
big_buck_bunny_360p24.y4m,--preset superfast --bitrate 3000 --vbv-bufsize 9000 --vbv-maxrate 9000 --repeat-headers
big_buck_bunny_360p24.y4m,--preset superfast --bitrate 400 --vbv-bufsize 600 --vbv-maxrate 400 --hrd
big_buck_bunny_360p24.y4m,--preset superfast --crf 6 --vbv-bufsize 1000 --vbv-maxrate 1000 --aud
@@ -33,10 +33,10 @@ big_buck_bunny_360p24.y4m,--preset verys
# multi-pass rate control tests
big_buck_bunny_360p24.y4m,--preset veryslow --crf 40 --pass 1,--preset veryslow --crf 40 --pass 2,--preset veryslow --bitrate 200 --pass 2
big_buck_bunny_360p24.y4m,--preset superfast --bitrate 30000 --pass 1 -F4,--preset superfast --bitrate 30000 --pass 2 -F4
-big_buck_bunny_360p24.y4m,--preset medium --bitrate 700 --vbv-bufsize 900 --vbv-maxrate 700 --pass 1 -FN,--preset medium --bitrate 700 --vbv-bufsize 900 --vbv-maxrate 700 --pass 2 -F4
-112_1920x1080_25.yuv,--preset veryslow --bitrate 1000 --pass 1 -FN,--preset veryslow --bitrate 1000 --pass 2 -F4
+big_buck_bunny_360p24.y4m,--preset medium --bitrate 700 --vbv-bufsize 900 --vbv-maxrate 700 --pass 1 -F4 --slow-firstpass,--preset medium --bitrate 700 --vbv-bufsize 900 --vbv-maxrate 700 --pass 2 -F4
+112_1920x1080_25.yuv,--preset veryslow --bitrate 1000 --pass 1 -F4,--preset veryslow --bitrate 1000 --pass 2 -F4
112_1920x1080_25.yuv,--preset superfast --crf 12 --pass 1,--preset superfast --bitrate 4000 --pass 2 -F4
RaceHorses_416x240_30_10bit.yuv,--preset veryslow --crf 40 --pass 1, --preset veryslow --bitrate 200 --pass 2 -F4
-RaceHorses_416x240_30_10bit.yuv,--preset superfast --bitrate 600 --pass 1 -FN,--preset superfast --bitrate 600 --pass 2 -F4
+RaceHorses_416x240_30_10bit.yuv,--preset superfast --bitrate 600 --pass 1 -F4 --slow-firstpass,--preset superfast --bitrate 600 --pass 2 -F4
RaceHorses_416x240_30_10bit.yuv,--preset medium --crf 28 --pass 1,--preset medium --bitrate 750 --pass 2 -F4
-RaceHorses_416x240_30_10bit.yuv,--preset medium --crf 26 --pass 1,--preset medium --bitrate 1000 --pass 3 -FN,--preset medium --bitrate 1000 --pass 2 -F4
+RaceHorses_416x240_30_10bit.yuv,--preset medium --crf 26 --pass 1,--preset medium --bitrate 1000 --pass 3 -F4,--preset medium --bitrate 1000 --pass 2 -F4
diff -r 74496ce5d8ba -r 8a37ebcf9232 source/test/smoke-tests.txt
--- a/source/test/smoke-tests.txt Mon Mar 16 10:47:09 2015 +0530
+++ b/source/test/smoke-tests.txt Mon Mar 16 17:04:21 2015 -0500
@@ -1,12 +1,23 @@
# List of command lines to be run by smoke tests, see https://bitbucket.org/sborho/test-harness
+big_buck_bunny_360p24.y4m,--preset=superfast --bitrate 400 --vbv-bufsize 600 --vbv-maxrate 400 --hrd --aud --repeat-headers
+big_buck_bunny_360p24.y4m,--preset=medium --bitrate 1000
+big_buck_bunny_360p24.y4m,--preset=slower
+washdc_422_ntsc.y4m,--preset=superfast
+washdc_422_ntsc.y4m,--preset=medium
+washdc_422_ntsc.y4m,--preset=slower
+old_town_cross_444_720p50.y4m,--preset=superfast
+old_town_cross_444_720p50.y4m,--preset=medium
+old_town_cross_444_720p50.y4m,--preset=slower
+crowd_run_1080p50.y4m,--preset=superfast
+crowd_run_1080p50.y4m,--preset=medium
+crowd_run_1080p50.y4m,--preset=slower
RaceHorses_416x240_30_10bit.yuv,--preset=superfast
RaceHorses_416x240_30_10bit.yuv,--preset=medium
-big_buck_bunny_360p24.y4m,--preset=superfast
-big_buck_bunny_360p24.y4m,--preset=medium
-washdc_422_ntsc.y4m,--preset=superfast
-washdc_422_ntsc.y4m,--preset=medium
-old_town_cross_444_720p50.y4m,--preset=superfast
-old_town_cross_444_720p50.y4m,--preset=medium
-crowd_run_1080p50.y4m,--preset=superfast
-crowd_run_1080p50.y4m,--preset=medium
+RaceHorses_416x240_30_10bit.yuv,--preset=slower
+CrowdRun_1920x1080_50_10bit_444.yuv,--preset=superfast
+CrowdRun_1920x1080_50_10bit_444.yuv,--preset=medium
+CrowdRun_1920x1080_50_10bit_444.yuv,--preset=slower
+DucksAndLegs_1920x1080_60_10bit_422.yuv, --preset=superfast
+DucksAndLegs_1920x1080_60_10bit_422.yuv, --preset=medium
+DucksAndLegs_1920x1080_60_10bit_422.yuv, --preset=slower
diff -r 74496ce5d8ba -r 8a37ebcf9232 source/x265.cpp
--- a/source/x265.cpp Mon Mar 16 10:47:09 2015 +0530
+++ b/source/x265.cpp Mon Mar 16 17:04:21 2015 -0500
@@ -530,7 +530,7 @@ int main(int argc, char **argv)
while (pic_in && !b_ctrl_c)
{
pic_orig.poc = inFrameCount;
- if (cliopt.qpfile && !param->rc.bStatRead)
+ if (cliopt.qpfile)
{
if (!cliopt.parseQPFile(pic_orig))
{
More information about the x265-commits
mailing list