shithub: dav1d

Download patch

ref: b37f87df78571df7bdc79a1cf207c00dc720f97c
parent: 8d2dd439005f72e2f73fc6155f0c2245cbf3227f
author: Henrik Gramner <gramner@twoorioles.com>
date: Thu May 9 17:46:51 EDT 2019

build: Group asm files per instruction set

The asm object files are linked in the order they are listed, and
avoiding interleaving often-used code with never-used code has a
minor positive effect on cache/TLB hit rate.

--- a/src/meson.build
+++ b/src/meson.build
@@ -28,25 +28,25 @@
 
 # libdav1d source files
 libdav1d_sources = files(
-    'picture.c',
+    'cdf.c',
     'cpu.c',
     'data.c',
-    'ref.c',
-    'log.c',
-    'getbits.c',
-    'obu.c',
     'decode.c',
-    'cdf.c',
-    'msac.c',
-    'tables.c',
-    'scan.c',
     'dequant_tables.c',
+    'getbits.c',
     'intra_edge.c',
     'lf_mask.c',
+    'log.c',
+    'msac.c',
+    'obu.c',
+    'picture.c',
+    'qm.c',
+    'ref.c',
     'ref_mvs.c',
+    'scan.c',
+    'tables.c',
     'warpmv.c',
     'wedge.c',
-    'qm.c',
 )
 
 # libdav1d bitdepth source files
@@ -53,18 +53,18 @@
 # These files are compiled for each bitdepth with
 # `BITDEPTH` defined to the currently built bitdepth.
 libdav1d_tmpl_sources = files(
+    'cdef_apply_tmpl.c',
+    'cdef_tmpl.c',
+    'film_grain_tmpl.c',
     'ipred_prepare_tmpl.c',
     'ipred_tmpl.c',
     'itx_tmpl.c',
     'lf_apply_tmpl.c',
     'loopfilter_tmpl.c',
-    'mc_tmpl.c',
-    'cdef_apply_tmpl.c',
-    'cdef_tmpl.c',
-    'lr_apply_tmpl.c',
     'looprestoration_tmpl.c',
+    'lr_apply_tmpl.c',
+    'mc_tmpl.c',
     'recon_tmpl.c',
-    'film_grain_tmpl.c',
 )
 
 # libdav1d entrypoint source files
@@ -128,15 +128,15 @@
         if dav1d_bitdepths.contains('8')
             libdav1d_sources_asm += files(
                 'x86/cdef.asm',
-                'x86/cdef_sse.asm',
                 'x86/ipred.asm',
-                'x86/ipred_ssse3.asm',
                 'x86/itx.asm',
-                'x86/itx_ssse3.asm',
                 'x86/loopfilter.asm',
                 'x86/looprestoration.asm',
-                'x86/looprestoration_ssse3.asm',
                 'x86/mc.asm',
+                'x86/cdef_sse.asm',
+                'x86/ipred_ssse3.asm',
+                'x86/itx_ssse3.asm',
+                'x86/looprestoration_ssse3.asm',
                 'x86/mc_ssse3.asm',
             )
         endif