]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/dirac_arith.c
Merge commit '8191f960a669819db4de33a2439ded1630b8a73e'
[ffmpeg] / libavcodec / dirac_arith.c
index bf913928b32473e4af5dbd2aad3a6e9b15da79c7..7eb9bd60b2f1796c46cb04b6b79a9b8645e0e8ad 100644 (file)
@@ -83,6 +83,16 @@ const uint8_t ff_dirac_next_ctx[DIRAC_CTX_COUNT] = {
 
 int16_t ff_dirac_prob_branchless[256][2];
 
+av_cold void ff_dirac_init_arith_tables(void)
+{
+    int i;
+
+    for (i = 0; i < 256; i++) {
+        ff_dirac_prob_branchless[i][0] =  ff_dirac_prob[255-i];
+        ff_dirac_prob_branchless[i][1] = -ff_dirac_prob[i];
+    }
+}
+
 void ff_dirac_init_arith_decoder(DiracArith *c, GetBitContext *gb, int length)
 {
     int i;
@@ -106,11 +116,6 @@ void ff_dirac_init_arith_decoder(DiracArith *c, GetBitContext *gb, int length)
     c->counter = -16;
     c->range   = 0xffff;
 
-    for (i = 0; i < 256; i++) {
-        ff_dirac_prob_branchless[i][0] =  ff_dirac_prob[255-i];
-        ff_dirac_prob_branchless[i][1] = -ff_dirac_prob[i];
-    }
-
     for (i = 0; i < DIRAC_CTX_COUNT; i++)
         c->contexts[i] = 0x8000;
 }