]> granicus.if.org Git - libx264/commitdiff
Shrink the i4x4_mode cost_table array
authorHenrik Gramner <henrik@gramner.com>
Sat, 14 Oct 2017 12:11:26 +0000 (14:11 +0200)
committerAnton Mitrofanov <BugMaster@narod.ru>
Sun, 24 Dec 2017 20:47:26 +0000 (23:47 +0300)
Only 17 elements are actually used. It was originally padded to 64 bytes to
avoid cache line splits in the x86 assembly, but those haven't really been
an issue on x86 CPU:s made in the past decade or so.

Benchmarking shows no performance impact from dropping the padding, so
might as well remove it and save some cache.

common/common.h

index fe2b1c7fe1c28ac427cd37737ab8ce58dce97d0a..27a56fbd8687c7483e84b12d47007e4499747f58 100644 (file)
@@ -349,7 +349,7 @@ struct x264_t
     struct
     {
         uint16_t ref[QP_MAX+1][3][33];
-        ALIGNED_64( uint16_t i4x4_mode[QP_MAX+1][32] );
+        uint16_t i4x4_mode[QP_MAX+1][17];
     } *cost_table;
 
     const uint8_t   *chroma_qp_table; /* includes both the nonlinear luma->chroma mapping and chroma_qp_offset */