media/libvorbis/lib/modes/residue_44p51.h

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 /********************************************************************
     2  *                                                                  *
     3  * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
     4  * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
     5  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
     6  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
     7  *                                                                  *
     8  * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010             *
     9  * by the Xiph.Org Foundation http://www.xiph.org/                  *
    10  *                                                                  *
    11  ********************************************************************
    13  function: toplevel residue templates for 32/44.1/48kHz uncoupled
    14  last mod: $Id: residue_44p51.h 19013 2013-11-12 04:04:50Z giles $
    16  ********************************************************************/
    18 #include "vorbis/codec.h"
    19 #include "backends.h"
    21 #include "books/coupled/res_books_51.h"
    23 /***** residue backends *********************************************/
    25 static const vorbis_info_residue0 _residue_44p_lo={
    26   0,-1, -1, 7,-1,-1,
    27   /* 0   1   2   3   4   5   6   7   8  */
    28   {0},
    29   {-1},
    30   {  0,  1,  2,  7, 17, 31},
    31   {  0,  0, 99,  7, 17, 31},
    32 };
    34 static const vorbis_info_residue0 _residue_44p={
    35   0,-1, -1, 8,-1,-1,
    36   /* 0   1   2   3   4   5   6   7   8  */
    37   {0},
    38   {-1},
    39   {  0,  1,  1,   2,  7, 17, 31},
    40   {  0,  0, 99,  99,  7, 17, 31},
    41 };
    43 static const vorbis_info_residue0 _residue_44p_hi={
    44   0,-1, -1, 8,-1,-1,
    45   /* 0   1   2   3   4   5   6   7   8  */
    46   {0},
    47   {-1},
    48   {  0,  1,  2,  4,  7, 17, 31},
    49   {  0,  1,  2,  4,  7, 17, 31},
    50 };
    52 static const vorbis_info_residue0 _residue_44p_lfe={
    53   0,-1, -1, 2,-1,-1,
    54   /* 0   1   2   3   4   5   6   7   8  */
    55   {0},
    56   {-1},
    57   { 32},
    58   { -1}
    59 };
    61 static const static_bookblock _resbook_44p_n1={
    62   {
    63     {0},
    64     {0,&_44pn1_p1_0},
    66     {&_44pn1_p2_0,&_44pn1_p2_1,0},
    67     {&_44pn1_p3_0,&_44pn1_p3_1,0},
    68     {&_44pn1_p4_0,&_44pn1_p4_1,0},
    70     {&_44pn1_p5_0,&_44pn1_p5_1,&_44pn1_p4_1},
    71     {&_44pn1_p6_0,&_44pn1_p6_1,&_44pn1_p6_2},
    72    }
    73 };
    75 static const static_bookblock _resbook_44p_0={
    76   {
    77     {0},
    78     {0,&_44p0_p1_0},
    80     {&_44p0_p2_0,&_44p0_p2_1,0},
    81     {&_44p0_p3_0,&_44p0_p3_1,0},
    82     {&_44p0_p4_0,&_44p0_p4_1,0},
    84     {&_44p0_p5_0,&_44p0_p5_1,&_44p0_p4_1},
    85     {&_44p0_p6_0,&_44p0_p6_1,&_44p0_p6_2},
    86    }
    87 };
    89 static const static_bookblock _resbook_44p_1={
    90   {
    91     {0},
    92     {0,&_44p1_p1_0},
    94     {&_44p1_p2_0,&_44p1_p2_1,0},
    95     {&_44p1_p3_0,&_44p1_p3_1,0},
    96     {&_44p1_p4_0,&_44p1_p4_1,0},
    98     {&_44p1_p5_0,&_44p1_p5_1,&_44p1_p4_1},
    99     {&_44p1_p6_0,&_44p1_p6_1,&_44p1_p6_2},
   100    }
   101 };
   103 static const static_bookblock _resbook_44p_2={
   104   {
   105     {0},
   106     {0,0,&_44p2_p1_0},
   107     {0,&_44p2_p2_0,0},
   109     {&_44p2_p3_0,&_44p2_p3_1,0},
   110     {&_44p2_p4_0,&_44p2_p4_1,0},
   111     {&_44p2_p5_0,&_44p2_p5_1,0},
   113     {&_44p2_p6_0,&_44p2_p6_1,&_44p2_p5_1},
   114     {&_44p2_p7_0,&_44p2_p7_1,&_44p2_p7_2,&_44p2_p7_3}
   115    }
   116 };
   117 static const static_bookblock _resbook_44p_3={
   118   {
   119     {0},
   120     {0,0,&_44p3_p1_0},
   121     {0,&_44p3_p2_0,0},
   123     {&_44p3_p3_0,&_44p3_p3_1,0},
   124     {&_44p3_p4_0,&_44p3_p4_1,0},
   125     {&_44p3_p5_0,&_44p3_p5_1,0},
   127     {&_44p3_p6_0,&_44p3_p6_1,&_44p3_p5_1},
   128     {&_44p3_p7_0,&_44p3_p7_1,&_44p3_p7_2,&_44p3_p7_3}
   129    }
   130 };
   131 static const static_bookblock _resbook_44p_4={
   132   {
   133     {0},
   134     {0,0,&_44p4_p1_0},
   135     {0,&_44p4_p2_0,0},
   137     {&_44p4_p3_0,&_44p4_p3_1,0},
   138     {&_44p4_p4_0,&_44p4_p4_1,0},
   139     {&_44p4_p5_0,&_44p4_p5_1,0},
   141     {&_44p4_p6_0,&_44p4_p6_1,&_44p4_p5_1},
   142     {&_44p4_p7_0,&_44p4_p7_1,&_44p4_p7_2,&_44p4_p7_3}
   143    }
   144 };
   145 static const static_bookblock _resbook_44p_5={
   146   {
   147     {0},
   148     {0,0,&_44p5_p1_0},
   149     {0,&_44p5_p2_0,0},
   151     {&_44p5_p3_0,&_44p5_p3_1,0},
   152     {&_44p5_p4_0,&_44p5_p4_1,0},
   153     {&_44p5_p5_0,&_44p5_p5_1,0},
   155     {&_44p5_p6_0,&_44p5_p6_1,&_44p5_p5_1},
   156     {&_44p5_p7_0,&_44p5_p7_1,&_44p5_p7_2,&_44p5_p7_3}
   157    }
   158 };
   159 static const static_bookblock _resbook_44p_6={
   160   {
   161     {0},
   162     {0,0,&_44p6_p1_0},
   163     {0,&_44p6_p2_0,0},
   165     {&_44p6_p3_0,&_44p6_p3_1,0},
   166     {&_44p6_p4_0,&_44p6_p4_1,0},
   167     {&_44p6_p5_0,&_44p6_p5_1,0},
   169     {&_44p6_p6_0,&_44p6_p6_1,&_44p6_p5_1},
   170     {&_44p6_p7_0,&_44p6_p7_1,&_44p6_p7_2,&_44p6_p7_3}
   171    }
   172 };
   173 static const static_bookblock _resbook_44p_7={
   174   {
   175     {0},
   176     {0,0,&_44p7_p1_0},
   177     {0,&_44p7_p2_0,0},
   179     {&_44p7_p3_0,&_44p7_p3_1,0},
   180     {&_44p7_p4_0,&_44p7_p4_1,0},
   181     {&_44p7_p5_0,&_44p7_p5_1,0},
   183     {&_44p7_p6_0,&_44p7_p6_1,&_44p7_p5_1},
   184     {&_44p7_p7_0,&_44p7_p7_1,&_44p7_p7_2,&_44p7_p7_3}
   185    }
   186 };
   187 static const static_bookblock _resbook_44p_8={
   188   {
   189     {0},
   190     {0,0,&_44p8_p1_0},
   191     {0,&_44p8_p2_0,0},
   193     {&_44p8_p3_0,&_44p8_p3_1,0},
   194     {&_44p8_p4_0,&_44p8_p4_1,0},
   195     {&_44p8_p5_0,&_44p8_p5_1,0},
   197     {&_44p8_p6_0,&_44p8_p6_1,&_44p8_p5_1},
   198     {&_44p8_p7_0,&_44p8_p7_1,&_44p8_p7_2,&_44p8_p7_3}
   199    }
   200 };
   201 static const static_bookblock _resbook_44p_9={
   202   {
   203     {0},
   204     {0,0,&_44p9_p1_0},
   205     {0,&_44p9_p2_0,0},
   207     {&_44p9_p3_0,&_44p9_p3_1,0},
   208     {&_44p9_p4_0,&_44p9_p4_1,0},
   209     {&_44p9_p5_0,&_44p9_p5_1,0},
   211     {&_44p9_p6_0,&_44p9_p6_1,&_44p9_p5_1},
   212     {&_44p9_p7_0,&_44p9_p7_1,&_44p9_p7_2,&_44p9_p7_3}
   213    }
   214 };
   216 static const static_bookblock _resbook_44p_ln1={
   217   {
   218     {&_44pn1_l0_0,&_44pn1_l0_1,0},
   219     {&_44pn1_l1_0,&_44pn1_p6_1,&_44pn1_p6_2},
   220    }
   221 };
   222 static const static_bookblock _resbook_44p_l0={
   223   {
   224     {&_44p0_l0_0,&_44p0_l0_1,0},
   225     {&_44p0_l1_0,&_44p0_p6_1,&_44p0_p6_2},
   226    }
   227 };
   228 static const static_bookblock _resbook_44p_l1={
   229   {
   230     {&_44p1_l0_0,&_44p1_l0_1,0},
   231     {&_44p1_l1_0,&_44p1_p6_1,&_44p1_p6_2},
   232    }
   233 };
   234 static const static_bookblock _resbook_44p_l2={
   235   {
   236     {&_44p2_l0_0,&_44p2_l0_1,0},
   237     {&_44p2_l1_0,&_44p2_p7_2,&_44p2_p7_3},
   238    }
   239 };
   240 static const static_bookblock _resbook_44p_l3={
   241   {
   242     {&_44p3_l0_0,&_44p3_l0_1,0},
   243     {&_44p3_l1_0,&_44p3_p7_2,&_44p3_p7_3},
   244    }
   245 };
   246 static const static_bookblock _resbook_44p_l4={
   247   {
   248     {&_44p4_l0_0,&_44p4_l0_1,0},
   249     {&_44p4_l1_0,&_44p4_p7_2,&_44p4_p7_3},
   250    }
   251 };
   252 static const static_bookblock _resbook_44p_l5={
   253   {
   254     {&_44p5_l0_0,&_44p5_l0_1,0},
   255     {&_44p5_l1_0,&_44p5_p7_2,&_44p5_p7_3},
   256    }
   257 };
   258 static const static_bookblock _resbook_44p_l6={
   259   {
   260     {&_44p6_l0_0,&_44p6_l0_1,0},
   261     {&_44p6_l1_0,&_44p6_p7_2,&_44p6_p7_3},
   262    }
   263 };
   264 static const static_bookblock _resbook_44p_l7={
   265   {
   266     {&_44p7_l0_0,&_44p7_l0_1,0},
   267     {&_44p7_l1_0,&_44p7_p7_2,&_44p7_p7_3},
   268    }
   269 };
   270 static const static_bookblock _resbook_44p_l8={
   271   {
   272     {&_44p8_l0_0,&_44p8_l0_1,0},
   273     {&_44p8_l1_0,&_44p8_p7_2,&_44p8_p7_3},
   274    }
   275 };
   276 static const static_bookblock _resbook_44p_l9={
   277   {
   278     {&_44p9_l0_0,&_44p9_l0_1,0},
   279     {&_44p9_l1_0,&_44p9_p7_2,&_44p9_p7_3},
   280    }
   281 };
   284 static const vorbis_info_mapping0 _map_nominal_51[2]={
   285   {2, {0,0,0,0,0,1}, {0,2}, {0,2}, 4,{0,3,0,0},{2,4,1,3}},
   286   {2, {0,0,0,0,0,1}, {1,2}, {1,2}, 4,{0,3,0,0},{2,4,1,3}}
   287 };
   288 static const vorbis_info_mapping0 _map_nominal_51u[2]={
   289   {2, {0,0,0,0,0,1}, {0,2}, {0,2}, 0,{0},{0}},
   290   {2, {0,0,0,0,0,1}, {1,2}, {1,2}, 0,{0},{0}}
   291 };
   293 static const vorbis_residue_template _res_44p51_n1[]={
   294   {2,0,30,  &_residue_44p_lo,
   295    &_huff_book__44pn1_short,&_huff_book__44pn1_short,
   296    &_resbook_44p_n1,&_resbook_44p_n1},
   298   {2,0,30,  &_residue_44p_lo,
   299    &_huff_book__44pn1_long,&_huff_book__44pn1_long,
   300    &_resbook_44p_n1,&_resbook_44p_n1},
   302   {1,2,6,  &_residue_44p_lfe,
   303    &_huff_book__44pn1_lfe,&_huff_book__44pn1_lfe,
   304    &_resbook_44p_ln1,&_resbook_44p_ln1}
   305 };
   306 static const vorbis_residue_template _res_44p51_0[]={
   307   {2,0,15,  &_residue_44p_lo,
   308    &_huff_book__44p0_short,&_huff_book__44p0_short,
   309    &_resbook_44p_0,&_resbook_44p_0},
   311   {2,0,30,  &_residue_44p_lo,
   312    &_huff_book__44p0_long,&_huff_book__44p0_long,
   313    &_resbook_44p_0,&_resbook_44p_0},
   315   {1,2,6,  &_residue_44p_lfe,
   316    &_huff_book__44p0_lfe,&_huff_book__44p0_lfe,
   317    &_resbook_44p_l0,&_resbook_44p_l0}
   318 };
   319 static const vorbis_residue_template _res_44p51_1[]={
   320   {2,0,15,  &_residue_44p_lo,
   321    &_huff_book__44p1_short,&_huff_book__44p1_short,
   322    &_resbook_44p_1,&_resbook_44p_1},
   324   {2,0,30,  &_residue_44p_lo,
   325    &_huff_book__44p1_long,&_huff_book__44p1_long,
   326    &_resbook_44p_1,&_resbook_44p_1},
   328   {1,2,6,  &_residue_44p_lfe,
   329    &_huff_book__44p1_lfe,&_huff_book__44p1_lfe,
   330    &_resbook_44p_l1,&_resbook_44p_l1}
   331 };
   332 static const vorbis_residue_template _res_44p51_2[]={
   333   {2,0,15,  &_residue_44p,
   334    &_huff_book__44p2_short,&_huff_book__44p2_short,
   335    &_resbook_44p_2,&_resbook_44p_2},
   337   {2,0,30,  &_residue_44p,
   338    &_huff_book__44p2_long,&_huff_book__44p2_long,
   339    &_resbook_44p_2,&_resbook_44p_2},
   341   {1,2,6,  &_residue_44p_lfe,
   342    &_huff_book__44p2_lfe,&_huff_book__44p2_lfe,
   343    &_resbook_44p_l2,&_resbook_44p_l2}
   344 };
   345 static const vorbis_residue_template _res_44p51_3[]={
   346   {2,0,15,  &_residue_44p,
   347    &_huff_book__44p3_short,&_huff_book__44p3_short,
   348    &_resbook_44p_3,&_resbook_44p_3},
   350   {2,0,30,  &_residue_44p,
   351    &_huff_book__44p3_long,&_huff_book__44p3_long,
   352    &_resbook_44p_3,&_resbook_44p_3},
   354   {1,2,6,  &_residue_44p_lfe,
   355    &_huff_book__44p3_lfe,&_huff_book__44p3_lfe,
   356    &_resbook_44p_l3,&_resbook_44p_l3}
   357 };
   358 static const vorbis_residue_template _res_44p51_4[]={
   359   {2,0,15,  &_residue_44p,
   360    &_huff_book__44p4_short,&_huff_book__44p4_short,
   361    &_resbook_44p_4,&_resbook_44p_4},
   363   {2,0,30,  &_residue_44p,
   364    &_huff_book__44p4_long,&_huff_book__44p4_long,
   365    &_resbook_44p_4,&_resbook_44p_4},
   367   {1,2,6,  &_residue_44p_lfe,
   368    &_huff_book__44p4_lfe,&_huff_book__44p4_lfe,
   369    &_resbook_44p_l4,&_resbook_44p_l4}
   370 };
   371 static const vorbis_residue_template _res_44p51_5[]={
   372   {2,0,15,  &_residue_44p_hi,
   373    &_huff_book__44p5_short,&_huff_book__44p5_short,
   374    &_resbook_44p_5,&_resbook_44p_5},
   376   {2,0,30,  &_residue_44p_hi,
   377    &_huff_book__44p5_long,&_huff_book__44p5_long,
   378    &_resbook_44p_5,&_resbook_44p_5},
   380   {1,2,6,  &_residue_44p_lfe,
   381    &_huff_book__44p5_lfe,&_huff_book__44p5_lfe,
   382    &_resbook_44p_l5,&_resbook_44p_l5}
   383 };
   384 static const vorbis_residue_template _res_44p51_6[]={
   385   {2,0,15,  &_residue_44p_hi,
   386    &_huff_book__44p6_short,&_huff_book__44p6_short,
   387    &_resbook_44p_6,&_resbook_44p_6},
   389   {2,0,30,  &_residue_44p_hi,
   390    &_huff_book__44p6_long,&_huff_book__44p6_long,
   391    &_resbook_44p_6,&_resbook_44p_6},
   393   {1,2,6,  &_residue_44p_lfe,
   394    &_huff_book__44p6_lfe,&_huff_book__44p6_lfe,
   395    &_resbook_44p_l6,&_resbook_44p_l6}
   396 };
   399 static const vorbis_residue_template _res_44p51_7[]={
   400   {2,0,15,  &_residue_44p_hi,
   401    &_huff_book__44p7_short,&_huff_book__44p7_short,
   402    &_resbook_44p_7,&_resbook_44p_7},
   404   {2,0,30,  &_residue_44p_hi,
   405    &_huff_book__44p7_long,&_huff_book__44p7_long,
   406    &_resbook_44p_7,&_resbook_44p_7},
   408   {1,2,6,  &_residue_44p_lfe,
   409    &_huff_book__44p6_lfe,&_huff_book__44p6_lfe,
   410    &_resbook_44p_l6,&_resbook_44p_l6}
   411 };
   412 static const vorbis_residue_template _res_44p51_8[]={
   413   {2,0,15,  &_residue_44p_hi,
   414    &_huff_book__44p8_short,&_huff_book__44p8_short,
   415    &_resbook_44p_8,&_resbook_44p_8},
   417   {2,0,30,  &_residue_44p_hi,
   418    &_huff_book__44p8_long,&_huff_book__44p8_long,
   419    &_resbook_44p_8,&_resbook_44p_8},
   421   {1,2,6,  &_residue_44p_lfe,
   422    &_huff_book__44p6_lfe,&_huff_book__44p6_lfe,
   423    &_resbook_44p_l6,&_resbook_44p_l6}
   424 };
   425 static const vorbis_residue_template _res_44p51_9[]={
   426   {2,0,15,  &_residue_44p_hi,
   427    &_huff_book__44p9_short,&_huff_book__44p9_short,
   428    &_resbook_44p_9,&_resbook_44p_9},
   430   {2,0,30,  &_residue_44p_hi,
   431    &_huff_book__44p9_long,&_huff_book__44p9_long,
   432    &_resbook_44p_9,&_resbook_44p_9},
   434   {1,2,6,  &_residue_44p_lfe,
   435    &_huff_book__44p6_lfe,&_huff_book__44p6_lfe,
   436    &_resbook_44p_l6,&_resbook_44p_l6}
   437 };
   439 static const vorbis_mapping_template _mapres_template_44_51[]={
   440   { _map_nominal_51, _res_44p51_n1 }, /* -1 */
   441   { _map_nominal_51, _res_44p51_0 }, /* 0 */
   442   { _map_nominal_51, _res_44p51_1 }, /* 1 */
   443   { _map_nominal_51, _res_44p51_2 }, /* 2 */
   444   { _map_nominal_51, _res_44p51_3 }, /* 3 */
   445   { _map_nominal_51, _res_44p51_4 }, /* 4 */
   446   { _map_nominal_51u, _res_44p51_5 }, /* 5 */
   447   { _map_nominal_51u, _res_44p51_6 }, /* 6 */
   448   { _map_nominal_51u, _res_44p51_7 }, /* 7 */
   449   { _map_nominal_51u, _res_44p51_8 }, /* 8 */
   450   { _map_nominal_51u, _res_44p51_9 }, /* 9 */
   451 };

mercurial