diff --git a/src/context.rs b/src/context.rs
index 6a7a85e159b2cf8384fa9feaaf3d1423b0e781c4..ec1739a7374d99f95bfb2f528d8ff0784fc1cd8f 100644
--- a/src/context.rs
+++ b/src/context.rs
@@ -591,7 +591,6 @@ pub fn uv_intra_mode_to_tx_type_context(pred: PredictionMode) -> TxType {
 }
 
 #[derive(Clone,Copy)]
-#[repr(C)]
 pub struct NMVComponent {
   classes_cdf: [u16; MV_CLASSES + 1],
   class0_fp_cdf: [[u16; MV_FP_SIZE + 1]; CLASS0_SIZE],
@@ -604,7 +603,6 @@ pub struct NMVComponent {
 }
 
 #[derive(Clone,Copy)]
-#[repr(C)]
 pub struct NMVContext {
   joints_cdf: [u16; MV_JOINTS + 1],
   comps: [NMVComponent; 2],
@@ -612,11 +610,63 @@ pub struct NMVContext {
 
 extern "C" {
   //static av1_scan_orders: [[SCAN_ORDER; TX_TYPES]; TxSize::TX_SIZES_ALL];
-
-  // lv_map
-  static default_nmv_context: NMVContext;
 }
 
+// lv_map
+static default_nmv_context: NMVContext = {
+  NMVContext {
+    joints_cdf: cdf!(4096, 11264, 19328),
+    comps: [
+      NMVComponent {
+        classes_cdf: cdf!(
+          28672, 30976, 31858, 32320, 32551, 32656, 32740, 32757, 32762, 32767
+        ),
+        class0_fp_cdf: [cdf!(16384, 24576, 26624), cdf!(12288, 21248, 24128)],
+        fp_cdf: cdf!(8192, 17408, 21248),
+        sign_cdf: cdf!(128 * 128),
+        class0_hp_cdf: cdf!(160 * 128),
+        hp_cdf: cdf!(128 * 128),
+        class0_cdf: cdf!(216 * 128),
+        bits_cdf: [
+          cdf!(128 * 136),
+          cdf!(128 * 140),
+          cdf!(128 * 148),
+          cdf!(128 * 160),
+          cdf!(128 * 176),
+          cdf!(128 * 192),
+          cdf!(128 * 224),
+          cdf!(128 * 234),
+          cdf!(128 * 234),
+          cdf!(128 * 240)
+        ]
+      },
+      NMVComponent {
+        classes_cdf: cdf!(
+          28672, 30976, 31858, 32320, 32551, 32656, 32740, 32757, 32762, 32767
+        ),
+        class0_fp_cdf: [cdf!(16384, 24576, 26624), cdf!(12288, 21248, 24128)],
+        fp_cdf: cdf!(8192, 17408, 21248),
+        sign_cdf: cdf!(128 * 128),
+        class0_hp_cdf: cdf!(160 * 128),
+        hp_cdf: cdf!(128 * 128),
+        class0_cdf: cdf!(216 * 128),
+        bits_cdf: [
+          cdf!(128 * 136),
+          cdf!(128 * 140),
+          cdf!(128 * 148),
+          cdf!(128 * 160),
+          cdf!(128 * 176),
+          cdf!(128 * 192),
+          cdf!(128 * 224),
+          cdf!(128 * 234),
+          cdf!(128 * 234),
+          cdf!(128 * 240)
+        ]
+      }
+    ]
+  }
+};
+
 #[derive(Clone)]
 pub struct CandidateMV {
   pub this_mv: MotionVector,
diff --git a/src/lib.rs b/src/lib.rs
index 1fb322e356bcd6a2d09a424ba2897c1556d20ccd..bd7d6ac9c962b6201115a30a16ba5eb6ed61624e 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -20,13 +20,13 @@ extern crate num_traits;
 pub mod ec;
 pub mod partition;
 pub mod plane;
-pub mod context;
 pub mod transform;
 pub mod quantize;
 pub mod predict;
 pub mod rdo;
 #[macro_use]
 pub mod util;
+pub mod context;
 pub mod entropymode;
 pub mod token_cdfs;
 pub mod deblock;