# HG changeset patch # User Bhavna Hariharan <bha...@multicorewareinc.com> # Date 1521191859 -19800 # Fri Mar 16 14:47:39 2018 +0530 # Branch stable # Node ID 421e88cd65870d455b68b44d8bdf04c76dc4a613 # Parent 22c127ff05d593cbe420f1cb4a57c39d5a885957 Disable temporal MVP in scaled system when both save and load is enabled.
The temporal mvp is artificially increased to a very high value in the save encode so that it does not get chosen as the best mv. This is applicable only for refine-inter 0. When save and load is enabled in the same run with refine-inter > 0, the increased temporal MVP will cause a hash mismatch. diff -r 22c127ff05d5 -r 421e88cd6587 source/encoder/encoder.cpp --- a/source/encoder/encoder.cpp Thu Mar 01 15:35:06 2018 +0530 +++ b/source/encoder/encoder.cpp Fri Mar 16 14:47:39 2018 +0530 @@ -2667,6 +2667,12 @@ } } + if (p->scaleFactor && p->analysisSave && p->analysisLoad) + { + x265_log(p, X265_LOG_WARNING, "Temporal MVP is not supported with scaled analysis-save and analysis-load. Disabling temporal MVP.\n"); + p->bEnableTemporalMvp = 0; + } + if (p->intraRefine) { if (!p->analysisLoad || p->analysisReuseLevel < 10 || !p->scaleFactor)
# HG changeset patch # User Bhavna Hariharan <bha...@multicorewareinc.com> # Date 1521191859 -19800 # Fri Mar 16 14:47:39 2018 +0530 # Branch stable # Node ID 421e88cd65870d455b68b44d8bdf04c76dc4a613 # Parent 22c127ff05d593cbe420f1cb4a57c39d5a885957 Disable temporal MVP in scaled system when both save and load is enabled. The temporal mvp is artificially increased to a very high value in the save encode so that it does not get chosen as the best mv. This is applicable only for refine-inter 0. When save and load is enabled in the same run with refine-inter > 0, the increased temporal MVP will cause a hash mismatch. diff -r 22c127ff05d5 -r 421e88cd6587 source/encoder/encoder.cpp --- a/source/encoder/encoder.cpp Thu Mar 01 15:35:06 2018 +0530 +++ b/source/encoder/encoder.cpp Fri Mar 16 14:47:39 2018 +0530 @@ -2667,6 +2667,12 @@ } } + if (p->scaleFactor && p->analysisSave && p->analysisLoad) + { + x265_log(p, X265_LOG_WARNING, "Temporal MVP is not supported with scaled analysis-save and analysis-load. Disabling temporal MVP.\n"); + p->bEnableTemporalMvp = 0; + } + if (p->intraRefine) { if (!p->analysisLoad || p->analysisReuseLevel < 10 || !p->scaleFactor)
_______________________________________________ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel