[x264-devel] commit: Fix intra refresh with subme < 6 (Jason Garrett-Glaser )
git version control
git at videolan.org
Thu Jan 21 05:44:11 CET 2010
x264 | branch: master | Jason Garrett-Glaser <darkshikari at gmail.com> | Sun Jan 17 19:11:05 2010 -0500| [6cb6086269d789a184cb6262fedb8205d821a44f] | committer: Jason Garrett-Glaser
Fix intra refresh with subme < 6
Also improve the quality of intra masking.
> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=6cb6086269d789a184cb6262fedb8205d821a44f
---
encoder/analyse.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/encoder/analyse.c b/encoder/analyse.c
index 2e78750..f1a0021 100644
--- a/encoder/analyse.c
+++ b/encoder/analyse.c
@@ -2592,10 +2592,14 @@ intra_analysis:
COPY2_IF_LT( i_cost, analysis.i_satd_i4x4, i_type, I_4x4 );
COPY2_IF_LT( i_cost, analysis.i_satd_pcm, i_type, I_PCM );
+ h->mb.i_type = i_type;
+
if( analysis.b_force_intra && !IS_INTRA(i_type) )
{
/* Intra masking: copy fdec to fenc and re-encode the block as intra in order to make it appear as if
* it was an inter block. */
+ x264_analyse_update_cache( h, &analysis );
+ x264_macroblock_encode( h );
h->mc.copy[PIXEL_16x16]( h->mb.pic.p_fenc[0], FENC_STRIDE, h->mb.pic.p_fdec[0], FDEC_STRIDE, 16 );
h->mc.copy[PIXEL_8x8] ( h->mb.pic.p_fenc[1], FENC_STRIDE, h->mb.pic.p_fdec[1], FDEC_STRIDE, 8 );
h->mc.copy[PIXEL_8x8] ( h->mb.pic.p_fenc[2], FENC_STRIDE, h->mb.pic.p_fdec[2], FDEC_STRIDE, 8 );
@@ -2603,8 +2607,6 @@ intra_analysis:
goto intra_analysis;
}
- h->mb.i_type = i_type;
-
if( analysis.i_mbrd >= 2 && h->mb.i_type != I_PCM )
{
if( IS_INTRA( h->mb.i_type ) )
More information about the x264-devel
mailing list