[x264-devel] commit: Disable I_PCM with psy-RD (Jason Garrett-Glaser )

git version control git at videolan.org
Sat Sep 20 10:39:30 CEST 2008


x264 | branch: master | Jason Garrett-Glaser <darkshikari at gmail.com> | Sat Sep 20 01:39:16 2008 -0700| [cc0fd8ab09eacaa78941169cbf52123333a8fe2e] | committer: Jason Garrett-Glaser 

Disable I_PCM with psy-RD
psy-RD seems to put the PCM threshold a bit lower than it should be, so PCM is now disabled under psy-RD.

> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=cc0fd8ab09eacaa78941169cbf52123333a8fe2e
---

 encoder/analyse.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/encoder/analyse.c b/encoder/analyse.c
index 5b713b5..a67010e 100644
--- a/encoder/analyse.c
+++ b/encoder/analyse.c
@@ -225,8 +225,8 @@ static void x264_mb_analyse_init( x264_t *h, x264_mb_analysis_t *a, int i_qp )
     a->i_satd_i4x4   =
     a->i_satd_i8x8chroma = COST_MAX;
 
-    /* non-RD PCM decision is inaccurate, so don't do it */
-    a->i_satd_pcm = a->b_mbrd ? ((uint64_t)X264_PCM_COST*a->i_lambda2 + 128) >> 8 : COST_MAX;
+    /* non-RD PCM decision is inaccurate (as is psy-rd), so don't do it */
+    a->i_satd_pcm = !h->mb.i_psy_rd && a->b_mbrd ? ((uint64_t)X264_PCM_COST*a->i_lambda2 + 128) >> 8 : COST_MAX;
 
     a->b_fast_intra = 0;
     h->mb.i_skip_intra =



More information about the x264-devel mailing list