diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000000..be5ca93d3a
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,9 @@
+[submodule "LibOS/shim/test/apps/gcc/test_files"]
+ path = LibOS/shim/test/apps/gcc/test_files
+ url = https://github.com/oscarlab/gcc_test_files.git
+[submodule "LibOS/shim/test/apps/lmbench/lmbench-2.5"]
+ path = LibOS/shim/test/apps/lmbench/lmbench-2.5
+ url = https://github.com/oscarlab/lmbench-2.5.git
+[submodule "Pal/src/host/Linux-SGX/sgx-driver"]
+ path = Pal/src/host/Linux-SGX/sgx-driver
+ url = https://github.com/oscarlab/graphene-sgx-driver.git
diff --git a/LICENSE.addendum.txt b/LICENSE.addendum.txt
index f8a2bf71ca..6f6280f2af 100644
--- a/LICENSE.addendum.txt
+++ b/LICENSE.addendum.txt
@@ -1,13 +1,15 @@
+Graphene itself is licensed under the LGPL.
+
+Graphene on an SGX host requires a kernel driver (in
+Pal/src/host/Linux-SGX/sgx-driver), which is separately licensed under
+the GPL.
+
Graphene also includes the following third party sources (and licenses):
mbedtls crypto libraries - Apache 2.0
RSA's MD5 algorithm (LibOS/shim/src/utils/md5.c) - RSA custom attribution license
-Linux kernel - GPL v2
- - dcache implementation
- - atomic_add, cmpxchg and friends implementation
-
Internet Software Consortium (permissive license): Pal/lib/network/inet_pton.c
MIT JOS (mix of MIT and BSD licenses:
@@ -31,6 +33,8 @@ A number of files taken from other C libraries:
** Pal/src/host/Linux/include/ - whole directory - for signal API definitions
** We also build a patched glibc, but this could be moved into a separate repo
-Some app and benchmark sources are redistributed under LibOS/shim/test/apps. These should probably be moved to subrepositories.
-
+Some app and benchmark sources are redistributed under
+LibOS/shim/test/apps. These will be migrated to subrepositories, as
+needed, and should be considered separate projects, subject to their
+original licenses.
diff --git a/LICENSE.txt b/LICENSE.txt
index b604d42759..5727484616 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,675 +1,165 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
- Copyright (C) 2007 Free Software Foundation, Inc.
+ Copyright (C) 2007 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
- Preamble
-
- The GNU General Public License is a free, copyleft license for
- software and other kinds of works.
-
- The licenses for most software and other practical works are designed
- to take away your freedom to share and change the works. By contrast,
- the GNU General Public License is intended to guarantee your freedom to
- share and change all versions of a program--to make sure it remains free
- software for all its users. We, the Free Software Foundation, use the
- GNU General Public License for most of our software; it applies also to
- any other work released this way by its authors. You can apply it to
- your programs, too.
-
- When we speak of free software, we are referring to freedom, not
- price. Our General Public Licenses are designed to make sure that you
- have the freedom to distribute copies of free software (and charge for
- them if you wish), that you receive source code or can get it if you
- want it, that you can change the software or use pieces of it in new
- free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
- these rights or asking you to surrender the rights. Therefore, you have
- certain responsibilities if you distribute copies of the software, or if
- you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
- gratis or for a fee, you must pass on to the recipients the same
- freedoms that you received. You must make sure that they, too, receive
- or can get the source code. And you must show them these terms so they
- know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
- (1) assert copyright on the software, and (2) offer you this License
- giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
- that there is no warranty for this free software. For both users' and
- authors' sake, the GPL requires that modified versions be marked as
- changed, so that their problems will not be attributed erroneously to
- authors of previous versions.
-
- Some devices are designed to deny users access to install or run
- modified versions of the software inside them, although the manufacturer
- can do so. This is fundamentally incompatible with the aim of
- protecting users' freedom to change the software. The systematic
- pattern of such abuse occurs in the area of products for individuals to
- use, which is precisely where it is most unacceptable. Therefore, we
- have designed this version of the GPL to prohibit the practice for those
- products. If such problems arise substantially in other domains, we
- stand ready to extend this provision to those domains in future versions
- of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
- States should not allow patents to restrict development and use of
- software on general-purpose computers, but in those that do, we wish to
- avoid the special danger that patents applied to a free program could
- make it effectively proprietary. To prevent this, the GPL assures that
- patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
- modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
- works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
- License. Each licensee is addressed as "you". "Licensees" and
- "recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
- in a fashion requiring copyright permission, other than the making of an
- exact copy. The resulting work is called a "modified version" of the
- earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
- on the Program.
-
- To "propagate" a work means to do anything with it that, without
- permission, would make you directly or secondarily liable for
- infringement under applicable copyright law, except executing it on a
- computer or modifying a private copy. Propagation includes copying,
- distribution (with or without modification), making available to the
- public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
- parties to make or receive copies. Mere interaction with a user through
- a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
- to the extent that it includes a convenient and prominently visible
- feature that (1) displays an appropriate copyright notice, and (2)
- tells the user that there is no warranty for the work (except to the
- extent that warranties are provided), that licensees may convey the
- work under this License, and how to view a copy of this License. If
- the interface presents a list of user commands or options, such as a
- menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
- for making modifications to it. "Object code" means any non-source
- form of a work.
-
- A "Standard Interface" means an interface that either is an official
- standard defined by a recognized standards body, or, in the case of
- interfaces specified for a particular programming language, one that
- is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
- than the work as a whole, that (a) is included in the normal form of
- packaging a Major Component, but which is not part of that Major
- Component, and (b) serves only to enable use of the work with that
- Major Component, or to implement a Standard Interface for which an
- implementation is available to the public in source code form. A
- "Major Component", in this context, means a major essential component
- (kernel, window system, and so on) of the specific operating system
- (if any) on which the executable work runs, or a compiler used to
- produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
- the source code needed to generate, install, and (for an executable
- work) run the object code and to modify the work, including scripts to
- control those activities. However, it does not include the work's
- System Libraries, or general-purpose tools or generally available free
- programs which are used unmodified in performing those activities but
- which are not part of the work. For example, Corresponding Source
- includes interface definition files associated with source files for
- the work, and the source code for shared libraries and dynamically
- linked subprograms that the work is specifically designed to require,
- such as by intimate data communication or control flow between those
- subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
- can regenerate automatically from other parts of the Corresponding
- Source.
-
- The Corresponding Source for a work in source code form is that
- same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
- copyright on the Program, and are irrevocable provided the stated
- conditions are met. This License explicitly affirms your unlimited
- permission to run the unmodified Program. The output from running a
- covered work is covered by this License only if the output, given its
- content, constitutes a covered work. This License acknowledges your
- rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
- convey, without conditions so long as your license otherwise remains
- in force. You may convey covered works to others for the sole purpose
- of having them make modifications exclusively for you, or provide you
- with facilities for running those works, provided that you comply with
- the terms of this License in conveying all material for which you do
- not control copyright. Those thus making or running the covered works
- for you must do so exclusively on your behalf, under your direction
- and control, on terms that prohibit them from making any copies of
- your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
- the conditions stated below. Sublicensing is not allowed; section 10
- makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
- measure under any applicable law fulfilling obligations under article
- 11 of the WIPO copyright treaty adopted on 20 December 1996, or
- similar laws prohibiting or restricting circumvention of such
- measures.
-
- When you convey a covered work, you waive any legal power to forbid
- circumvention of technological measures to the extent such circumvention
- is effected by exercising rights under this License with respect to
- the covered work, and you disclaim any intention to limit operation or
- modification of the work as a means of enforcing, against the work's
- users, your or third parties' legal rights to forbid circumvention of
- technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
- receive it, in any medium, provided that you conspicuously and
- appropriately publish on each copy an appropriate copyright notice;
- keep intact all notices stating that this License and any
- non-permissive terms added in accord with section 7 apply to the code;
- keep intact all notices of the absence of any warranty; and give all
- recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
- and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
- produce it from the Program, in the form of source code under the
- terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
- works, which are not by their nature extensions of the covered work,
- and which are not combined with it such as to form a larger program,
- in or on a volume of a storage or distribution medium, is called an
- "aggregate" if the compilation and its resulting copyright are not
- used to limit the access or legal rights of the compilation's users
- beyond what the individual works permit. Inclusion of a covered work
- in an aggregate does not cause this License to apply to the other
- parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
- of sections 4 and 5, provided that you also convey the
- machine-readable Corresponding Source under the terms of this License,
- in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
- from the Corresponding Source as a System Library, need not be
- included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
- tangible personal property which is normally used for personal, family,
- or household purposes, or (2) anything designed or sold for incorporation
- into a dwelling. In determining whether a product is a consumer product,
- doubtful cases shall be resolved in favor of coverage. For a particular
- product received by a particular user, "normally used" refers to a
- typical or common use of that class of product, regardless of the status
- of the particular user or of the way in which the particular user
- actually uses, or expects or is expected to use, the product. A product
- is a consumer product regardless of whether the product has substantial
- commercial, industrial or non-consumer uses, unless such uses represent
- the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
- procedures, authorization keys, or other information required to install
- and execute modified versions of a covered work in that User Product from
- a modified version of its Corresponding Source. The information must
- suffice to ensure that the continued functioning of the modified object
- code is in no case prevented or interfered with solely because
- modification has been made.
-
- If you convey an object code work under this section in, or with, or
- specifically for use in, a User Product, and the conveying occurs as
- part of a transaction in which the right of possession and use of the
- User Product is transferred to the recipient in perpetuity or for a
- fixed term (regardless of how the transaction is characterized), the
- Corresponding Source conveyed under this section must be accompanied
- by the Installation Information. But this requirement does not apply
- if neither you nor any third party retains the ability to install
- modified object code on the User Product (for example, the work has
- been installed in ROM).
-
- The requirement to provide Installation Information does not include a
- requirement to continue to provide support service, warranty, or updates
- for a work that has been modified or installed by the recipient, or for
- the User Product in which it has been modified or installed. Access to a
- network may be denied when the modification itself materially and
- adversely affects the operation of the network or violates the rules and
- protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
- in accord with this section must be in a format that is publicly
- documented (and with an implementation available to the public in
- source code form), and must require no special password or key for
- unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
- License by making exceptions from one or more of its conditions.
- Additional permissions that are applicable to the entire Program shall
- be treated as though they were included in this License, to the extent
- that they are valid under applicable law. If additional permissions
- apply only to part of the Program, that part may be used separately
- under those permissions, but the entire Program remains governed by
- this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
- remove any additional permissions from that copy, or from any part of
- it. (Additional permissions may be written to require their own
- removal in certain cases when you modify the work.) You may place
- additional permissions on material, added by you to a covered work,
- for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
- add to a covered work, you may (if authorized by the copyright holders of
- that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
- must place, in the relevant source files, a statement of the
- additional terms that apply to those files, or a notice indicating
- where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
- form of a separately written license, or stated as exceptions;
- the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
- provided under this License. Any attempt otherwise to propagate or
- modify it is void, and will automatically terminate your rights under
- this License (including any patent licenses granted under the third
- paragraph of section 11).
-
- However, if you cease all violation of this License, then your
- license from a particular copyright holder is reinstated (a)
- provisionally, unless and until the copyright holder explicitly and
- finally terminates your license, and (b) permanently, if the copyright
- holder fails to notify you of the violation by some reasonable means
- prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
- reinstated permanently if the copyright holder notifies you of the
- violation by some reasonable means, this is the first time you have
- received notice of violation of this License (for any work) from that
- copyright holder, and you cure the violation prior to 30 days after
- your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
- licenses of parties who have received copies or rights from you under
- this License. If your rights have been terminated and not permanently
- reinstated, you do not qualify to receive new licenses for the same
- material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
- run a copy of the Program. Ancillary propagation of a covered work
- occurring solely as a consequence of using peer-to-peer transmission
- to receive a copy likewise does not require acceptance. However,
- nothing other than this License grants you permission to propagate or
- modify any covered work. These actions infringe copyright if you do
- not accept this License. Therefore, by modifying or propagating a
- covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
- receives a license from the original licensors, to run, modify and
- propagate that work, subject to this License. You are not responsible
- for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
- organization, or substantially all assets of one, or subdividing an
- organization, or merging organizations. If propagation of a covered
- work results from an entity transaction, each party to that
- transaction who receives a copy of the work also receives whatever
- licenses to the work the party's predecessor in interest had or could
- give under the previous paragraph, plus a right to possession of the
- Corresponding Source of the work from the predecessor in interest, if
- the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
- rights granted or affirmed under this License. For example, you may
- not impose a license fee, royalty, or other charge for exercise of
- rights granted under this License, and you may not initiate litigation
- (including a cross-claim or counterclaim in a lawsuit) alleging that
- any patent claim is infringed by making, using, selling, offering for
- sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
- License of the Program or a work on which the Program is based. The
- work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
- owned or controlled by the contributor, whether already acquired or
- hereafter acquired, that would be infringed by some manner, permitted
- by this License, of making, using, or selling its contributor version,
- but do not include claims that would be infringed only as a
- consequence of further modification of the contributor version. For
- purposes of this definition, "control" includes the right to grant
- patent sublicenses in a manner consistent with the requirements of
- this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
- patent license under the contributor's essential patent claims, to
- make, use, sell, offer for sale, import and otherwise run, modify and
- propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
- agreement or commitment, however denominated, not to enforce a patent
- (such as an express permission to practice a patent or covenant not to
- sue for patent infringement). To "grant" such a patent license to a
- party means to make such an agreement or commitment not to enforce a
- patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
- and the Corresponding Source of the work is not available for anyone
- to copy, free of charge and under the terms of this License, through a
- publicly available network server or other readily accessible means,
- then you must either (1) cause the Corresponding Source to be so
- available, or (2) arrange to deprive yourself of the benefit of the
- patent license for this particular work, or (3) arrange, in a manner
- consistent with the requirements of this License, to extend the patent
- license to downstream recipients. "Knowingly relying" means you have
- actual knowledge that, but for the patent license, your conveying the
- covered work in a country, or your recipient's use of the covered work
- in a country, would infringe one or more identifiable patents in that
- country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
- arrangement, you convey, or propagate by procuring conveyance of, a
- covered work, and grant a patent license to some of the parties
- receiving the covered work authorizing them to use, propagate, modify
- or convey a specific copy of the covered work, then the patent license
- you grant is automatically extended to all recipients of the covered
- work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
- the scope of its coverage, prohibits the exercise of, or is
- conditioned on the non-exercise of one or more of the rights that are
- specifically granted under this License. You may not convey a covered
- work if you are a party to an arrangement with a third party that is
- in the business of distributing software, under which you make payment
- to the third party based on the extent of your activity of conveying
- the work, and under which the third party grants, to any of the
- parties who would receive the covered work from you, a discriminatory
- patent license (a) in connection with copies of the covered work
- conveyed by you (or copies made from those copies), or (b) primarily
- for and in connection with specific products or compilations that
- contain the covered work, unless you entered into that arrangement,
- or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
- any implied license or other defenses to infringement that may
- otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
- otherwise) that contradict the conditions of this License, they do not
- excuse you from the conditions of this License. If you cannot convey a
- covered work so as to satisfy simultaneously your obligations under this
- License and any other pertinent obligations, then as a consequence you may
- not convey it at all. For example, if you agree to terms that obligate you
- to collect a royalty for further conveying from those to whom you convey
- the Program, the only way you could satisfy both those terms and this
- License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
- permission to link or combine any covered work with a work licensed
- under version 3 of the GNU Affero General Public License into a single
- combined work, and to convey the resulting work. The terms of this
- License will continue to apply to the part which is the covered work,
- but the special requirements of the GNU Affero General Public License,
- section 13, concerning interaction through a network will apply to the
- combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
- the GNU General Public License from time to time. Such new versions will
- be similar in spirit to the present version, but may differ in detail to
- address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
- Program specifies that a certain numbered version of the GNU General
- Public License "or any later version" applies to it, you have the
- option of following the terms and conditions either of that numbered
- version or of any later version published by the Free Software
- Foundation. If the Program does not specify a version number of the
- GNU General Public License, you may choose any version ever published
- by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
- versions of the GNU General Public License can be used, that proxy's
- public statement of acceptance of a version permanently authorizes you
- to choose that version for the Program.
-
- Later license versions may give you additional or different
- permissions. However, no additional obligations are imposed on any
- author or copyright holder as a result of your choosing to follow a
- later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
- APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
- HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
- OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
- IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
- ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
- WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
- THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
- GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
- USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
- DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
- PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
- EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
- above cannot be given local legal effect according to their terms,
- reviewing courts shall apply local law that most closely approximates
- an absolute waiver of all civil liability in connection with the
- Program, unless a warranty or assumption of liability accompanies a
- copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
- possible use to the public, the best way to achieve this is to make it
- free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
- to attach them to the start of each source file to most effectively
- state the exclusion of warranty; and each file should have at least
- the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
- notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
- if any, to sign a "copyright disclaimer" for the program, if necessary.
- For more information on this, and how to apply and follow the GNU GPL, see
- .
-
- The GNU General Public License does not permit incorporating your program
- into proprietary programs. If your program is a subroutine library, you
- may consider it more useful to permit linking proprietary applications with
- the library. If this is what you want to do, use the GNU Lesser General
- Public License instead of this License. But first, please read
- .
-
+
+ This version of the GNU Lesser General Public License incorporates
+ the terms and conditions of version 3 of the GNU General Public
+ License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+ General Public License, and the "GNU GPL" refers to version 3 of the GNU
+ General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+ other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+ by the Library, but which is not otherwise based on the Library.
+ Defining a subclass of a class defined by the Library is deemed a mode
+ of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+ Application with the Library. The particular version of the Library
+ with which the Combined Work was made is also called the "Linked
+ Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+ Corresponding Source for the Combined Work, excluding any source code
+ for portions of the Combined Work that, considered in isolation, are
+ based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+ object code and/or source code for the Application, including any data
+ and utility programs needed for reproducing the Combined Work from the
+ Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+ without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+ facility refers to a function or data to be supplied by an Application
+ that uses the facility (other than as an argument passed when the
+ facility is invoked), then you may convey a copy of the modified
+ version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+ a header file that is part of the Library. You may convey such object
+ code under terms of your choice, provided that, if the incorporated
+ material is not limited to numerical parameters, data structure
+ layouts and accessors, or small macros, inline functions and templates
+ (ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+ taken together, effectively do not restrict modification of the
+ portions of the Library contained in the Combined Work and reverse
+ engineering for debugging such modifications, if you also do each of
+ the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+ Library side by side in a single library together with other library
+ facilities that are not Applications and are not covered by this
+ License, and convey such a combined library under terms of your
+ choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+ of the GNU Lesser General Public License from time to time. Such new
+ versions will be similar in spirit to the present version, but may
+ differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+ Library as you received it specifies that a certain numbered version
+ of the GNU Lesser General Public License "or any later version"
+ applies to it, you have the option of following the terms and
+ conditions either of that published version or of any later version
+ published by the Free Software Foundation. If the Library as you
+ received it does not specify a version number of the GNU Lesser
+ General Public License, you may choose any version of the GNU Lesser
+ General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+ whether future versions of the GNU Lesser General Public License shall
+ apply, that proxy's public statement of acceptance of any version is
+ permanent authorization for you to choose that version for the
+ Library.
diff --git a/LibOS/shim/include/shim_checkpoint.h b/LibOS/shim/include/shim_checkpoint.h
index d144ad4c00..0dce2d572e 100644
--- a/LibOS/shim/include/shim_checkpoint.h
+++ b/LibOS/shim/include/shim_checkpoint.h
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/include/shim_fs.h b/LibOS/shim/include/shim_fs.h
index 8b26000085..c7cff59be7 100644
--- a/LibOS/shim/include/shim_fs.h
+++ b/LibOS/shim/include/shim_fs.h
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/include/shim_handle.h b/LibOS/shim/include/shim_handle.h
index f74fa1f1ff..389d9827bf 100644
--- a/LibOS/shim/include/shim_handle.h
+++ b/LibOS/shim/include/shim_handle.h
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/include/shim_internal.h b/LibOS/shim/include/shim_internal.h
index c1646b179a..661d79874e 100644
--- a/LibOS/shim/include/shim_internal.h
+++ b/LibOS/shim/include/shim_internal.h
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/include/shim_ipc.h b/LibOS/shim/include/shim_ipc.h
index 6d8c4a330b..892013e36b 100644
--- a/LibOS/shim/include/shim_ipc.h
+++ b/LibOS/shim/include/shim_ipc.h
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/include/shim_ipc_ns.h b/LibOS/shim/include/shim_ipc_ns.h
index 8b27a7f1cd..7e1ff1ae5b 100644
--- a/LibOS/shim/include/shim_ipc_ns.h
+++ b/LibOS/shim/include/shim_ipc_ns.h
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/include/shim_profile.h b/LibOS/shim/include/shim_profile.h
index 6aab858d24..d73dc6b3b4 100644
--- a/LibOS/shim/include/shim_profile.h
+++ b/LibOS/shim/include/shim_profile.h
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/include/shim_sysv.h b/LibOS/shim/include/shim_sysv.h
index dc61d348da..2f52718fa7 100644
--- a/LibOS/shim/include/shim_sysv.h
+++ b/LibOS/shim/include/shim_sysv.h
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/include/shim_utils.h b/LibOS/shim/include/shim_utils.h
index 943d07a09d..2f13791871 100644
--- a/LibOS/shim/include/shim_utils.h
+++ b/LibOS/shim/include/shim_utils.h
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/include/shim_vma.h b/LibOS/shim/include/shim_vma.h
index 5ba8ae8b0a..10baf9aba3 100644
--- a/LibOS/shim/include/shim_vma.h
+++ b/LibOS/shim/include/shim_vma.h
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/bookkeep/shim_handle.c b/LibOS/shim/src/bookkeep/shim_handle.c
index ec690908be..2a7cfae467 100644
--- a/LibOS/shim/src/bookkeep/shim_handle.c
+++ b/LibOS/shim/src/bookkeep/shim_handle.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/bookkeep/shim_signal.c b/LibOS/shim/src/bookkeep/shim_signal.c
index 2308f83961..822a73c080 100644
--- a/LibOS/shim/src/bookkeep/shim_signal.c
+++ b/LibOS/shim/src/bookkeep/shim_signal.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/bookkeep/shim_thread.c b/LibOS/shim/src/bookkeep/shim_thread.c
index 3194d688da..3d08caf2c7 100644
--- a/LibOS/shim/src/bookkeep/shim_thread.c
+++ b/LibOS/shim/src/bookkeep/shim_thread.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/bookkeep/shim_vma.c b/LibOS/shim/src/bookkeep/shim_vma.c
index f069d07016..4e88873911 100644
--- a/LibOS/shim/src/bookkeep/shim_vma.c
+++ b/LibOS/shim/src/bookkeep/shim_vma.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/elf/dl-machine-x86_64.h b/LibOS/shim/src/elf/dl-machine-x86_64.h
index 2edb2854e3..195f7aca93 100644
--- a/LibOS/shim/src/elf/dl-machine-x86_64.h
+++ b/LibOS/shim/src/elf/dl-machine-x86_64.h
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/elf/do-rel.h b/LibOS/shim/src/elf/do-rel.h
index 8531d0f125..b4353b18a4 100644
--- a/LibOS/shim/src/elf/do-rel.h
+++ b/LibOS/shim/src/elf/do-rel.h
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/elf/shim_rtld.c b/LibOS/shim/src/elf/shim_rtld.c
index ec653dc3d6..fb6541bf90 100644
--- a/LibOS/shim/src/elf/shim_rtld.c
+++ b/LibOS/shim/src/elf/shim_rtld.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/fs/chroot/fs.c b/LibOS/shim/src/fs/chroot/fs.c
index f91c1a2e21..46b7417acb 100644
--- a/LibOS/shim/src/fs/chroot/fs.c
+++ b/LibOS/shim/src/fs/chroot/fs.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/fs/dev/fs.c b/LibOS/shim/src/fs/dev/fs.c
index c563810d89..bb317537cd 100644
--- a/LibOS/shim/src/fs/dev/fs.c
+++ b/LibOS/shim/src/fs/dev/fs.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/fs/pipe/fs.c b/LibOS/shim/src/fs/pipe/fs.c
index 1195ffc327..9b537e4809 100644
--- a/LibOS/shim/src/fs/pipe/fs.c
+++ b/LibOS/shim/src/fs/pipe/fs.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/fs/proc/fs.c b/LibOS/shim/src/fs/proc/fs.c
index b596bec787..66c36c6919 100644
--- a/LibOS/shim/src/fs/proc/fs.c
+++ b/LibOS/shim/src/fs/proc/fs.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/fs/shim_dcache.c b/LibOS/shim/src/fs/shim_dcache.c
index 6d6ade2938..92ad3bf86b 100644
--- a/LibOS/shim/src/fs/shim_dcache.c
+++ b/LibOS/shim/src/fs/shim_dcache.c
@@ -6,16 +6,16 @@
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/fs/shim_fs.c b/LibOS/shim/src/fs/shim_fs.c
index 7af28886b0..75bf7c35d3 100644
--- a/LibOS/shim/src/fs/shim_fs.c
+++ b/LibOS/shim/src/fs/shim_fs.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/fs/shim_fs_hash.c b/LibOS/shim/src/fs/shim_fs_hash.c
index 68f38a5782..3ea38988fe 100644
--- a/LibOS/shim/src/fs/shim_fs_hash.c
+++ b/LibOS/shim/src/fs/shim_fs_hash.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/fs/shim_namei.c b/LibOS/shim/src/fs/shim_namei.c
index 2f4f11d1ff..fc133e1add 100644
--- a/LibOS/shim/src/fs/shim_namei.c
+++ b/LibOS/shim/src/fs/shim_namei.c
@@ -6,16 +6,16 @@
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/fs/socket/fs.c b/LibOS/shim/src/fs/socket/fs.c
index 7731f7c521..b1d2ee7033 100644
--- a/LibOS/shim/src/fs/socket/fs.c
+++ b/LibOS/shim/src/fs/socket/fs.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/fs/str/fs.c b/LibOS/shim/src/fs/str/fs.c
index 7e8ce5ab15..c031d569e0 100644
--- a/LibOS/shim/src/fs/str/fs.c
+++ b/LibOS/shim/src/fs/str/fs.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/ipc/shim_ipc.c b/LibOS/shim/src/ipc/shim_ipc.c
index ef26af7e45..22776cd386 100644
--- a/LibOS/shim/src/ipc/shim_ipc.c
+++ b/LibOS/shim/src/ipc/shim_ipc.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/ipc/shim_ipc_child.c b/LibOS/shim/src/ipc/shim_ipc_child.c
index 07a501e7b0..0f1ccc0f2a 100644
--- a/LibOS/shim/src/ipc/shim_ipc_child.c
+++ b/LibOS/shim/src/ipc/shim_ipc_child.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/ipc/shim_ipc_helper.c b/LibOS/shim/src/ipc/shim_ipc_helper.c
index 182d2cfa7b..f188d6272e 100644
--- a/LibOS/shim/src/ipc/shim_ipc_helper.c
+++ b/LibOS/shim/src/ipc/shim_ipc_helper.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/ipc/shim_ipc_nsimpl.h b/LibOS/shim/src/ipc/shim_ipc_nsimpl.h
index ad99284452..4f475abce7 100644
--- a/LibOS/shim/src/ipc/shim_ipc_nsimpl.h
+++ b/LibOS/shim/src/ipc/shim_ipc_nsimpl.h
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/ipc/shim_ipc_pid.c b/LibOS/shim/src/ipc/shim_ipc_pid.c
index 9b82be69db..ff1693c381 100644
--- a/LibOS/shim/src/ipc/shim_ipc_pid.c
+++ b/LibOS/shim/src/ipc/shim_ipc_pid.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/ipc/shim_ipc_sysv.c b/LibOS/shim/src/ipc/shim_ipc_sysv.c
index 17de428d61..10b989bb14 100644
--- a/LibOS/shim/src/ipc/shim_ipc_sysv.c
+++ b/LibOS/shim/src/ipc/shim_ipc_sysv.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/shim_async.c b/LibOS/shim/src/shim_async.c
index 55acaaba57..97b6919ecb 100644
--- a/LibOS/shim/src/shim_async.c
+++ b/LibOS/shim/src/shim_async.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/shim_checkpoint.c b/LibOS/shim/src/shim_checkpoint.c
index e46735b707..139ae9e886 100644
--- a/LibOS/shim/src/shim_checkpoint.c
+++ b/LibOS/shim/src/shim_checkpoint.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/shim_debug.c b/LibOS/shim/src/shim_debug.c
index 13735e579c..241b37f384 100644
--- a/LibOS/shim/src/shim_debug.c
+++ b/LibOS/shim/src/shim_debug.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/shim_init.c b/LibOS/shim/src/shim_init.c
index 630e4a0a66..e38b2aa28c 100644
--- a/LibOS/shim/src/shim_init.c
+++ b/LibOS/shim/src/shim_init.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/shim_malloc.c b/LibOS/shim/src/shim_malloc.c
index 0c341d55fa..ee560feefb 100644
--- a/LibOS/shim/src/shim_malloc.c
+++ b/LibOS/shim/src/shim_malloc.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/shim_parser.c b/LibOS/shim/src/shim_parser.c
index b92bc5e29e..c781f2359e 100644
--- a/LibOS/shim/src/shim_parser.c
+++ b/LibOS/shim/src/shim_parser.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/shim_random.c b/LibOS/shim/src/shim_random.c
index 60c65b4398..2f96c92f8a 100644
--- a/LibOS/shim/src/shim_random.c
+++ b/LibOS/shim/src/shim_random.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/shim_syscalls.c b/LibOS/shim/src/shim_syscalls.c
index 973f07987b..fcb4109945 100644
--- a/LibOS/shim/src/shim_syscalls.c
+++ b/LibOS/shim/src/shim_syscalls.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/shim_table.c b/LibOS/shim/src/shim_table.c
index 76ee53b879..648a4fccf1 100644
--- a/LibOS/shim/src/shim_table.c
+++ b/LibOS/shim/src/shim_table.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_access.c b/LibOS/shim/src/sys/shim_access.c
index 8cb49be4d3..5fc6f07c36 100644
--- a/LibOS/shim/src/sys/shim_access.c
+++ b/LibOS/shim/src/sys/shim_access.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_alarm.c b/LibOS/shim/src/sys/shim_alarm.c
index 19ffd11d6f..ebf9d48314 100644
--- a/LibOS/shim/src/sys/shim_alarm.c
+++ b/LibOS/shim/src/sys/shim_alarm.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_benchmark.c b/LibOS/shim/src/sys/shim_benchmark.c
index a705aa8cd9..fc4b859482 100644
--- a/LibOS/shim/src/sys/shim_benchmark.c
+++ b/LibOS/shim/src/sys/shim_benchmark.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_brk.c b/LibOS/shim/src/sys/shim_brk.c
index c76b29cb4a..5169dfcf4f 100644
--- a/LibOS/shim/src/sys/shim_brk.c
+++ b/LibOS/shim/src/sys/shim_brk.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_clone.c b/LibOS/shim/src/sys/shim_clone.c
index 666d713ec2..1634a21f55 100644
--- a/LibOS/shim/src/sys/shim_clone.c
+++ b/LibOS/shim/src/sys/shim_clone.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_dup.c b/LibOS/shim/src/sys/shim_dup.c
index b7391266a9..e064d2eb33 100644
--- a/LibOS/shim/src/sys/shim_dup.c
+++ b/LibOS/shim/src/sys/shim_dup.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_epoll.c b/LibOS/shim/src/sys/shim_epoll.c
index b691ce9f00..7914d5fa7a 100644
--- a/LibOS/shim/src/sys/shim_epoll.c
+++ b/LibOS/shim/src/sys/shim_epoll.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_exec.c b/LibOS/shim/src/sys/shim_exec.c
index d4e86a70f6..5d7b7c2762 100644
--- a/LibOS/shim/src/sys/shim_exec.c
+++ b/LibOS/shim/src/sys/shim_exec.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_exit.c b/LibOS/shim/src/sys/shim_exit.c
index 2f51913207..577bce6360 100644
--- a/LibOS/shim/src/sys/shim_exit.c
+++ b/LibOS/shim/src/sys/shim_exit.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_fcntl.c b/LibOS/shim/src/sys/shim_fcntl.c
index 595813617a..1a8ddaf79f 100644
--- a/LibOS/shim/src/sys/shim_fcntl.c
+++ b/LibOS/shim/src/sys/shim_fcntl.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_fork.c b/LibOS/shim/src/sys/shim_fork.c
index c98c849cd5..ea9aaf0b8e 100644
--- a/LibOS/shim/src/sys/shim_fork.c
+++ b/LibOS/shim/src/sys/shim_fork.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_fs.c b/LibOS/shim/src/sys/shim_fs.c
index d44ee0ade3..68ea97a2ef 100644
--- a/LibOS/shim/src/sys/shim_fs.c
+++ b/LibOS/shim/src/sys/shim_fs.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_futex.c b/LibOS/shim/src/sys/shim_futex.c
index 5d7db4eb0d..68939092ad 100644
--- a/LibOS/shim/src/sys/shim_futex.c
+++ b/LibOS/shim/src/sys/shim_futex.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_getcwd.c b/LibOS/shim/src/sys/shim_getcwd.c
index b8799d0da6..487ee8053b 100644
--- a/LibOS/shim/src/sys/shim_getcwd.c
+++ b/LibOS/shim/src/sys/shim_getcwd.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_getpid.c b/LibOS/shim/src/sys/shim_getpid.c
index e01cc4e1c9..255525c6fb 100644
--- a/LibOS/shim/src/sys/shim_getpid.c
+++ b/LibOS/shim/src/sys/shim_getpid.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_getrlimit.c b/LibOS/shim/src/sys/shim_getrlimit.c
index aa342d46b4..792ce33762 100644
--- a/LibOS/shim/src/sys/shim_getrlimit.c
+++ b/LibOS/shim/src/sys/shim_getrlimit.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_ioctl.c b/LibOS/shim/src/sys/shim_ioctl.c
index d8e217c99d..faad491aee 100644
--- a/LibOS/shim/src/sys/shim_ioctl.c
+++ b/LibOS/shim/src/sys/shim_ioctl.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_migrate.c b/LibOS/shim/src/sys/shim_migrate.c
index 6588525ce3..32a3c8448e 100644
--- a/LibOS/shim/src/sys/shim_migrate.c
+++ b/LibOS/shim/src/sys/shim_migrate.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_mmap.c b/LibOS/shim/src/sys/shim_mmap.c
index 1d68a93942..de976aaa66 100644
--- a/LibOS/shim/src/sys/shim_mmap.c
+++ b/LibOS/shim/src/sys/shim_mmap.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_msgget.c b/LibOS/shim/src/sys/shim_msgget.c
index 50aed352ac..483372467c 100644
--- a/LibOS/shim/src/sys/shim_msgget.c
+++ b/LibOS/shim/src/sys/shim_msgget.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_open.c b/LibOS/shim/src/sys/shim_open.c
index f2f39e052c..b4abcb7846 100644
--- a/LibOS/shim/src/sys/shim_open.c
+++ b/LibOS/shim/src/sys/shim_open.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_pipe.c b/LibOS/shim/src/sys/shim_pipe.c
index e7aabe3f34..1afa818de0 100644
--- a/LibOS/shim/src/sys/shim_pipe.c
+++ b/LibOS/shim/src/sys/shim_pipe.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_poll.c b/LibOS/shim/src/sys/shim_poll.c
index 6a07348e8c..ae5dd60284 100644
--- a/LibOS/shim/src/sys/shim_poll.c
+++ b/LibOS/shim/src/sys/shim_poll.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_sandbox.c b/LibOS/shim/src/sys/shim_sandbox.c
index 4b39cb574d..01649a0bd1 100644
--- a/LibOS/shim/src/sys/shim_sandbox.c
+++ b/LibOS/shim/src/sys/shim_sandbox.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_sched.c b/LibOS/shim/src/sys/shim_sched.c
index 65284aae14..6f93366d83 100644
--- a/LibOS/shim/src/sys/shim_sched.c
+++ b/LibOS/shim/src/sys/shim_sched.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_semget.c b/LibOS/shim/src/sys/shim_semget.c
index 75c28471b5..63f219fb15 100644
--- a/LibOS/shim/src/sys/shim_semget.c
+++ b/LibOS/shim/src/sys/shim_semget.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_sigaction.c b/LibOS/shim/src/sys/shim_sigaction.c
index 9cfd8d7a29..d8b8dd3d08 100644
--- a/LibOS/shim/src/sys/shim_sigaction.c
+++ b/LibOS/shim/src/sys/shim_sigaction.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_sleep.c b/LibOS/shim/src/sys/shim_sleep.c
index c63c95b544..e582051f14 100644
--- a/LibOS/shim/src/sys/shim_sleep.c
+++ b/LibOS/shim/src/sys/shim_sleep.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_socket.c b/LibOS/shim/src/sys/shim_socket.c
index fd577b66b4..a800fd307a 100644
--- a/LibOS/shim/src/sys/shim_socket.c
+++ b/LibOS/shim/src/sys/shim_socket.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_stat.c b/LibOS/shim/src/sys/shim_stat.c
index 2a0cda0eea..a5f4af5b3b 100644
--- a/LibOS/shim/src/sys/shim_stat.c
+++ b/LibOS/shim/src/sys/shim_stat.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_time.c b/LibOS/shim/src/sys/shim_time.c
index b2024f6611..b4c58e31ef 100644
--- a/LibOS/shim/src/sys/shim_time.c
+++ b/LibOS/shim/src/sys/shim_time.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_uname.c b/LibOS/shim/src/sys/shim_uname.c
index 410690a545..675cff0089 100644
--- a/LibOS/shim/src/sys/shim_uname.c
+++ b/LibOS/shim/src/sys/shim_uname.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_vfork.c b/LibOS/shim/src/sys/shim_vfork.c
index f516386f3e..b0c7e4f85d 100644
--- a/LibOS/shim/src/sys/shim_vfork.c
+++ b/LibOS/shim/src/sys/shim_vfork.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_wait.c b/LibOS/shim/src/sys/shim_wait.c
index 75a9ef9352..4fcf41bc14 100644
--- a/LibOS/shim/src/sys/shim_wait.c
+++ b/LibOS/shim/src/sys/shim_wait.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/sys/shim_wrappers.c b/LibOS/shim/src/sys/shim_wrappers.c
index 31f0f5f095..cd794f3084 100644
--- a/LibOS/shim/src/sys/shim_wrappers.c
+++ b/LibOS/shim/src/sys/shim_wrappers.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/syscallas.S b/LibOS/shim/src/syscallas.S
index 2147b348fd..a2a7742c93 100644
--- a/LibOS/shim/src/syscallas.S
+++ b/LibOS/shim/src/syscallas.S
@@ -1,17 +1,17 @@
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/src/utils/printf.c b/LibOS/shim/src/utils/printf.c
index 61e6b4f4ac..37348115d5 100644
--- a/LibOS/shim/src/utils/printf.c
+++ b/LibOS/shim/src/utils/printf.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
#include
diff --git a/LibOS/shim/src/utils/strobjs.c b/LibOS/shim/src/utils/strobjs.c
index abd2293e98..de64ce5658 100644
--- a/LibOS/shim/src/utils/strobjs.c
+++ b/LibOS/shim/src/utils/strobjs.c
@@ -1,20 +1,20 @@
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
-/* Copyright (C) 2014 OSCAR lab, Stony Brook University
+/* Copyright (C) 2014 Stony Brook University
This file is part of Graphene Library OS.
Graphene Library OS is free software: you can redistribute it and/or
- modify it under the terms of the GNU General Public License
+ modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Graphene Library OS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see . */
/*
diff --git a/LibOS/shim/test/apps/gcc/test_files b/LibOS/shim/test/apps/gcc/test_files
new file mode 160000
index 0000000000..cde135bd3a
--- /dev/null
+++ b/LibOS/shim/test/apps/gcc/test_files
@@ -0,0 +1 @@
+Subproject commit cde135bd3afd11a5c1571c5a5c91d42873712150
diff --git a/LibOS/shim/test/apps/gcc/test_files/bzip2.c b/LibOS/shim/test/apps/gcc/test_files/bzip2.c
deleted file mode 100644
index ec8abe33f9..0000000000
--- a/LibOS/shim/test/apps/gcc/test_files/bzip2.c
+++ /dev/null
@@ -1,6998 +0,0 @@
-/*-------------------------------------------------------------*/
-/*--- Public header file for the library. ---*/
-/*--- bzlib.h ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2002 Julian R Seward. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 4. The name of the author may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
---*/
-
-
-#ifndef _BZLIB_H
-#define _BZLIB_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define BZ_RUN 0
-#define BZ_FLUSH 1
-#define BZ_FINISH 2
-
-#define BZ_OK 0
-#define BZ_RUN_OK 1
-#define BZ_FLUSH_OK 2
-#define BZ_FINISH_OK 3
-#define BZ_STREAM_END 4
-#define BZ_SEQUENCE_ERROR (-1)
-#define BZ_PARAM_ERROR (-2)
-#define BZ_MEM_ERROR (-3)
-#define BZ_DATA_ERROR (-4)
-#define BZ_DATA_ERROR_MAGIC (-5)
-#define BZ_IO_ERROR (-6)
-#define BZ_UNEXPECTED_EOF (-7)
-#define BZ_OUTBUFF_FULL (-8)
-#define BZ_CONFIG_ERROR (-9)
-
-typedef
- struct {
- char *next_in;
- unsigned int avail_in;
- unsigned int total_in_lo32;
- unsigned int total_in_hi32;
-
- char *next_out;
- unsigned int avail_out;
- unsigned int total_out_lo32;
- unsigned int total_out_hi32;
-
- void *state;
-
- void *(*bzalloc)(void *,int,int);
- void (*bzfree)(void *,void *);
- void *opaque;
- }
- bz_stream;
-
-
-#ifndef BZ_IMPORT
-#define BZ_EXPORT
-#endif
-
-/* Need a definitition for FILE */
-#include
-
-#ifdef _WIN32
-# include
-# ifdef small
- /* windows.h define small to char */
-# undef small
-# endif
-# ifdef BZ_EXPORT
-# define BZ_API(func) WINAPI func
-# define BZ_EXTERN extern
-# else
- /* import windows dll dynamically */
-# define BZ_API(func) (WINAPI * func)
-# define BZ_EXTERN
-# endif
-#else
-# define BZ_API(func) func
-# define BZ_EXTERN extern
-#endif
-
-
-/*-- Core (low-level) library functions --*/
-
-BZ_EXTERN int BZ_API(BZ2_bzCompressInit) (
- bz_stream* strm,
- int blockSize100k,
- int verbosity,
- int workFactor
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzCompress) (
- bz_stream* strm,
- int action
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzCompressEnd) (
- bz_stream* strm
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzDecompressInit) (
- bz_stream *strm,
- int verbosity,
- int small
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzDecompress) (
- bz_stream* strm
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzDecompressEnd) (
- bz_stream *strm
- );
-
-
-
-/*-- High(er) level library functions --*/
-
-#ifndef BZ_NO_STDIO
-#define BZ_MAX_UNUSED 5000
-
-typedef void BZFILE;
-
-BZ_EXTERN BZFILE* BZ_API(BZ2_bzReadOpen) (
- int* bzerror,
- FILE* f,
- int verbosity,
- int small,
- void* unused,
- int nUnused
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzReadClose) (
- int* bzerror,
- BZFILE* b
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzReadGetUnused) (
- int* bzerror,
- BZFILE* b,
- void** unused,
- int* nUnused
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzRead) (
- int* bzerror,
- BZFILE* b,
- void* buf,
- int len
- );
-
-BZ_EXTERN BZFILE* BZ_API(BZ2_bzWriteOpen) (
- int* bzerror,
- FILE* f,
- int blockSize100k,
- int verbosity,
- int workFactor
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzWrite) (
- int* bzerror,
- BZFILE* b,
- void* buf,
- int len
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzWriteClose) (
- int* bzerror,
- BZFILE* b,
- int abandon,
- unsigned int* nbytes_in,
- unsigned int* nbytes_out
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzWriteClose64) (
- int* bzerror,
- BZFILE* b,
- int abandon,
- unsigned int* nbytes_in_lo32,
- unsigned int* nbytes_in_hi32,
- unsigned int* nbytes_out_lo32,
- unsigned int* nbytes_out_hi32
- );
-#endif
-
-
-/*-- Utility functions --*/
-
-BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffCompress) (
- char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int blockSize100k,
- int verbosity,
- int workFactor
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffDecompress) (
- char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int small,
- int verbosity
- );
-
-
-/*--
- Code contributed by Yoshioka Tsuneo
- (QWF00133@niftyserve.or.jp/tsuneo-y@is.aist-nara.ac.jp),
- to support better zlib compatibility.
- This code is not _officially_ part of libbzip2 (yet);
- I haven't tested it, documented it, or considered the
- threading-safeness of it.
- If this code breaks, please contact both Yoshioka and me.
---*/
-
-BZ_EXTERN const char * BZ_API(BZ2_bzlibVersion) (
- void
- );
-
-#ifndef BZ_NO_STDIO
-BZ_EXTERN BZFILE * BZ_API(BZ2_bzopen) (
- const char *path,
- const char *mode
- );
-
-BZ_EXTERN BZFILE * BZ_API(BZ2_bzdopen) (
- int fd,
- const char *mode
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzread) (
- BZFILE* b,
- void* buf,
- int len
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzwrite) (
- BZFILE* b,
- void* buf,
- int len
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzflush) (
- BZFILE* b
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzclose) (
- BZFILE* b
- );
-
-BZ_EXTERN const char * BZ_API(BZ2_bzerror) (
- BZFILE *b,
- int *errnum
- );
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/*-------------------------------------------------------------*/
-/*--- end bzlib.h ---*/
-/*-------------------------------------------------------------*/
-/*-------------------------------------------------------------*/
-/*--- Private header file for the library. ---*/
-/*--- bzlib_private.h ---*/
-/*-------------------------------------------------------------*/
-
-#ifndef _BZLIB_PRIVATE_H
-#define _BZLIB_PRIVATE_H
-
-#include
-
-#ifndef BZ_NO_STDIO
-#include
-#include
-#include
-#endif
-
-
-/*-- General stuff. --*/
-
-#define BZ_VERSION "1.0.2, 30-Dec-2001"
-
-typedef char Char;
-typedef unsigned char Bool;
-typedef unsigned char UChar;
-typedef int Int32;
-typedef unsigned int UInt32;
-typedef short Int16;
-typedef unsigned short UInt16;
-
-#define True ((Bool)1)
-#define False ((Bool)0)
-
-#ifndef __GNUC__
-#define __inline__ /* */
-#endif
-
-#ifndef BZ_NO_STDIO
-extern void BZ2_bz__AssertH__fail ( int errcode );
-#define AssertH(cond,errcode) \
- { if (!(cond)) BZ2_bz__AssertH__fail ( errcode ); }
-#if BZ_DEBUG
-#define AssertD(cond,msg) \
- { if (!(cond)) { \
- fprintf ( stderr, \
- "\n\nlibbzip2(debug build): internal error\n\t%s\n", msg );\
- exit(1); \
- }}
-#else
-#define AssertD(cond,msg) /* */
-#endif
-#define VPrintf0(zf) \
- fprintf(stderr,zf)
-#define VPrintf1(zf,za1) \
- fprintf(stderr,zf,za1)
-#define VPrintf2(zf,za1,za2) \
- fprintf(stderr,zf,za1,za2)
-#define VPrintf3(zf,za1,za2,za3) \
- fprintf(stderr,zf,za1,za2,za3)
-#define VPrintf4(zf,za1,za2,za3,za4) \
- fprintf(stderr,zf,za1,za2,za3,za4)
-#define VPrintf5(zf,za1,za2,za3,za4,za5) \
- fprintf(stderr,zf,za1,za2,za3,za4,za5)
-#else
-extern void bz_internal_error ( int errcode );
-#define AssertH(cond,errcode) \
- { if (!(cond)) bz_internal_error ( errcode ); }
-#define AssertD(cond,msg) /* */
-#define VPrintf0(zf) /* */
-#define VPrintf1(zf,za1) /* */
-#define VPrintf2(zf,za1,za2) /* */
-#define VPrintf3(zf,za1,za2,za3) /* */
-#define VPrintf4(zf,za1,za2,za3,za4) /* */
-#define VPrintf5(zf,za1,za2,za3,za4,za5) /* */
-#endif
-
-
-#define BZALLOC(nnn) (strm->bzalloc)(strm->opaque,(nnn),1)
-#define BZFREE(ppp) (strm->bzfree)(strm->opaque,(ppp))
-
-
-/*-- Header bytes. --*/
-
-#define BZ_HDR_B 0x42 /* 'B' */
-#define BZ_HDR_Z 0x5a /* 'Z' */
-#define BZ_HDR_h 0x68 /* 'h' */
-#define BZ_HDR_0 0x30 /* '0' */
-
-/*-- Constants for the back end. --*/
-
-#define BZ_MAX_ALPHA_SIZE 258
-#define BZ_MAX_CODE_LEN 23
-
-#define BZ_RUNA 0
-#define BZ_RUNB 1
-
-#define BZ_N_GROUPS 6
-#define BZ_G_SIZE 50
-#define BZ_N_ITERS 4
-
-#define BZ_MAX_SELECTORS (2 + (900000 / BZ_G_SIZE))
-
-
-
-/*-- Stuff for randomising repetitive blocks. --*/
-
-extern Int32 BZ2_rNums[512];
-
-#define BZ_RAND_DECLS \
- Int32 rNToGo; \
- Int32 rTPos \
-
-#define BZ_RAND_INIT_MASK \
- s->rNToGo = 0; \
- s->rTPos = 0 \
-
-#define BZ_RAND_MASK ((s->rNToGo == 1) ? 1 : 0)
-
-#define BZ_RAND_UPD_MASK \
- if (s->rNToGo == 0) { \
- s->rNToGo = BZ2_rNums[s->rTPos]; \
- s->rTPos++; \
- if (s->rTPos == 512) s->rTPos = 0; \
- } \
- s->rNToGo--;
-
-
-
-/*-- Stuff for doing CRCs. --*/
-
-extern UInt32 BZ2_crc32Table[256];
-
-#define BZ_INITIALISE_CRC(crcVar) \
-{ \
- crcVar = 0xffffffffL; \
-}
-
-#define BZ_FINALISE_CRC(crcVar) \
-{ \
- crcVar = ~(crcVar); \
-}
-
-#define BZ_UPDATE_CRC(crcVar,cha) \
-{ \
- crcVar = (crcVar << 8) ^ \
- BZ2_crc32Table[(crcVar >> 24) ^ \
- ((UChar)cha)]; \
-}
-
-
-
-/*-- States and modes for compression. --*/
-
-#define BZ_M_IDLE 1
-#define BZ_M_RUNNING 2
-#define BZ_M_FLUSHING 3
-#define BZ_M_FINISHING 4
-
-#define BZ_S_OUTPUT 1
-#define BZ_S_INPUT 2
-
-#define BZ_N_RADIX 2
-#define BZ_N_QSORT 12
-#define BZ_N_SHELL 18
-#define BZ_N_OVERSHOOT (BZ_N_RADIX + BZ_N_QSORT + BZ_N_SHELL + 2)
-
-
-
-
-/*-- Structure holding all the compression-side stuff. --*/
-
-typedef
- struct {
- /* pointer back to the struct bz_stream */
- bz_stream* strm;
-
- /* mode this stream is in, and whether inputting */
- /* or outputting data */
- Int32 mode;
- Int32 state;
-
- /* remembers avail_in when flush/finish requested */
- UInt32 avail_in_expect;
-
- /* for doing the block sorting */
- UInt32* arr1;
- UInt32* arr2;
- UInt32* ftab;
- Int32 origPtr;
-
- /* aliases for arr1 and arr2 */
- UInt32* ptr;
- UChar* block;
- UInt16* mtfv;
- UChar* zbits;
-
- /* for deciding when to use the fallback sorting algorithm */
- Int32 workFactor;
-
- /* run-length-encoding of the input */
- UInt32 state_in_ch;
- Int32 state_in_len;
- BZ_RAND_DECLS;
-
- /* input and output limits and current posns */
- Int32 nblock;
- Int32 nblockMAX;
- Int32 numZ;
- Int32 state_out_pos;
-
- /* map of bytes used in block */
- Int32 nInUse;
- Bool inUse[256];
- UChar unseqToSeq[256];
-
- /* the buffer for bit stream creation */
- UInt32 bsBuff;
- Int32 bsLive;
-
- /* block and combined CRCs */
- UInt32 blockCRC;
- UInt32 combinedCRC;
-
- /* misc administratium */
- Int32 verbosity;
- Int32 blockNo;
- Int32 blockSize100k;
-
- /* stuff for coding the MTF values */
- Int32 nMTF;
- Int32 mtfFreq [BZ_MAX_ALPHA_SIZE];
- UChar selector [BZ_MAX_SELECTORS];
- UChar selectorMtf[BZ_MAX_SELECTORS];
-
- UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 code [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 rfreq [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- /* second dimension: only 3 needed; 4 makes index calculations faster */
- UInt32 len_pack[BZ_MAX_ALPHA_SIZE][4];
-
- }
- EState;
-
-
-
-/*-- externs for compression. --*/
-
-extern void
-BZ2_blockSort ( EState* );
-
-extern void
-BZ2_compressBlock ( EState*, Bool );
-
-extern void
-BZ2_bsInitWrite ( EState* );
-
-extern void
-BZ2_hbAssignCodes ( Int32*, UChar*, Int32, Int32, Int32 );
-
-extern void
-BZ2_hbMakeCodeLengths ( UChar*, Int32*, Int32, Int32 );
-
-
-
-/*-- states for decompression. --*/
-
-#define BZ_X_IDLE 1
-#define BZ_X_OUTPUT 2
-
-#define BZ_X_MAGIC_1 10
-#define BZ_X_MAGIC_2 11
-#define BZ_X_MAGIC_3 12
-#define BZ_X_MAGIC_4 13
-#define BZ_X_BLKHDR_1 14
-#define BZ_X_BLKHDR_2 15
-#define BZ_X_BLKHDR_3 16
-#define BZ_X_BLKHDR_4 17
-#define BZ_X_BLKHDR_5 18
-#define BZ_X_BLKHDR_6 19
-#define BZ_X_BCRC_1 20
-#define BZ_X_BCRC_2 21
-#define BZ_X_BCRC_3 22
-#define BZ_X_BCRC_4 23
-#define BZ_X_RANDBIT 24
-#define BZ_X_ORIGPTR_1 25
-#define BZ_X_ORIGPTR_2 26
-#define BZ_X_ORIGPTR_3 27
-#define BZ_X_MAPPING_1 28
-#define BZ_X_MAPPING_2 29
-#define BZ_X_SELECTOR_1 30
-#define BZ_X_SELECTOR_2 31
-#define BZ_X_SELECTOR_3 32
-#define BZ_X_CODING_1 33
-#define BZ_X_CODING_2 34
-#define BZ_X_CODING_3 35
-#define BZ_X_MTF_1 36
-#define BZ_X_MTF_2 37
-#define BZ_X_MTF_3 38
-#define BZ_X_MTF_4 39
-#define BZ_X_MTF_5 40
-#define BZ_X_MTF_6 41
-#define BZ_X_ENDHDR_2 42
-#define BZ_X_ENDHDR_3 43
-#define BZ_X_ENDHDR_4 44
-#define BZ_X_ENDHDR_5 45
-#define BZ_X_ENDHDR_6 46
-#define BZ_X_CCRC_1 47
-#define BZ_X_CCRC_2 48
-#define BZ_X_CCRC_3 49
-#define BZ_X_CCRC_4 50
-
-
-
-/*-- Constants for the fast MTF decoder. --*/
-
-#define MTFA_SIZE 4096
-#define MTFL_SIZE 16
-
-
-
-/*-- Structure holding all the decompression-side stuff. --*/
-
-typedef
- struct {
- /* pointer back to the struct bz_stream */
- bz_stream* strm;
-
- /* state indicator for this stream */
- Int32 state;
-
- /* for doing the final run-length decoding */
- UChar state_out_ch;
- Int32 state_out_len;
- Bool blockRandomised;
- BZ_RAND_DECLS;
-
- /* the buffer for bit stream reading */
- UInt32 bsBuff;
- Int32 bsLive;
-
- /* misc administratium */
- Int32 blockSize100k;
- Bool smallDecompress;
- Int32 currBlockNo;
- Int32 verbosity;
-
- /* for undoing the Burrows-Wheeler transform */
- Int32 origPtr;
- UInt32 tPos;
- Int32 k0;
- Int32 unzftab[256];
- Int32 nblock_used;
- Int32 cftab[257];
- Int32 cftabCopy[257];
-
- /* for undoing the Burrows-Wheeler transform (FAST) */
- UInt32 *tt;
-
- /* for undoing the Burrows-Wheeler transform (SMALL) */
- UInt16 *ll16;
- UChar *ll4;
-
- /* stored and calculated CRCs */
- UInt32 storedBlockCRC;
- UInt32 storedCombinedCRC;
- UInt32 calculatedBlockCRC;
- UInt32 calculatedCombinedCRC;
-
- /* map of bytes used in block */
- Int32 nInUse;
- Bool inUse[256];
- Bool inUse16[16];
- UChar seqToUnseq[256];
-
- /* for decoding the MTF values */
- UChar mtfa [MTFA_SIZE];
- Int32 mtfbase[256 / MTFL_SIZE];
- UChar selector [BZ_MAX_SELECTORS];
- UChar selectorMtf[BZ_MAX_SELECTORS];
- UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
-
- Int32 limit [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 base [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 perm [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 minLens[BZ_N_GROUPS];
-
- /* save area for scalars in the main decompress code */
- Int32 save_i;
- Int32 save_j;
- Int32 save_t;
- Int32 save_alphaSize;
- Int32 save_nGroups;
- Int32 save_nSelectors;
- Int32 save_EOB;
- Int32 save_groupNo;
- Int32 save_groupPos;
- Int32 save_nextSym;
- Int32 save_nblockMAX;
- Int32 save_nblock;
- Int32 save_es;
- Int32 save_N;
- Int32 save_curr;
- Int32 save_zt;
- Int32 save_zn;
- Int32 save_zvec;
- Int32 save_zj;
- Int32 save_gSel;
- Int32 save_gMinlen;
- Int32* save_gLimit;
- Int32* save_gBase;
- Int32* save_gPerm;
-
- }
- DState;
-
-
-
-/*-- Macros for decompression. --*/
-
-#define BZ_GET_FAST(cccc) \
- s->tPos = s->tt[s->tPos]; \
- cccc = (UChar)(s->tPos & 0xff); \
- s->tPos >>= 8;
-
-#define BZ_GET_FAST_C(cccc) \
- c_tPos = c_tt[c_tPos]; \
- cccc = (UChar)(c_tPos & 0xff); \
- c_tPos >>= 8;
-
-#define SET_LL4(i,n) \
- { if (((i) & 0x1) == 0) \
- s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0xf0) | (n); else \
- s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0x0f) | ((n) << 4); \
- }
-
-#define GET_LL4(i) \
- ((((UInt32)(s->ll4[(i) >> 1])) >> (((i) << 2) & 0x4)) & 0xF)
-
-#define SET_LL(i,n) \
- { s->ll16[i] = (UInt16)(n & 0x0000ffff); \
- SET_LL4(i, n >> 16); \
- }
-
-#define GET_LL(i) \
- (((UInt32)s->ll16[i]) | (GET_LL4(i) << 16))
-
-#define BZ_GET_SMALL(cccc) \
- cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \
- s->tPos = GET_LL(s->tPos);
-
-
-/*-- externs for decompression. --*/
-
-extern Int32
-BZ2_indexIntoF ( Int32, Int32* );
-
-extern Int32
-BZ2_decompress ( DState* );
-
-extern void
-BZ2_hbCreateDecodeTables ( Int32*, Int32*, Int32*, UChar*,
- Int32, Int32, Int32 );
-
-
-#endif
-
-
-/*-- BZ_NO_STDIO seems to make NULL disappear on some platforms. --*/
-
-#ifdef BZ_NO_STDIO
-#ifndef NULL
-#define NULL 0
-#endif
-#endif
-
-
-/*-------------------------------------------------------------*/
-/*--- end bzlib_private.h ---*/
-/*-------------------------------------------------------------*/
-
-
-
-/*-------------------------------------------------------------*/
-/*--- Block sorting machinery ---*/
-/*--- blocksort.c ---*/
-/*-------------------------------------------------------------*/
-
-/*---------------------------------------------*/
-/*--- Fallback O(N log(N)^2) sorting ---*/
-/*--- algorithm, for repetitive blocks ---*/
-/*---------------------------------------------*/
-
-/*---------------------------------------------*/
-static
-__inline__
-void fallbackSimpleSort ( UInt32* fmap,
- UInt32* eclass,
- Int32 lo,
- Int32 hi )
-{
- Int32 i, j, tmp;
- UInt32 ec_tmp;
-
- if (lo == hi) return;
-
- if (hi - lo > 3) {
- for ( i = hi-4; i >= lo; i-- ) {
- tmp = fmap[i];
- ec_tmp = eclass[tmp];
- for ( j = i+4; j <= hi && ec_tmp > eclass[fmap[j]]; j += 4 )
- fmap[j-4] = fmap[j];
- fmap[j-4] = tmp;
- }
- }
-
- for ( i = hi-1; i >= lo; i-- ) {
- tmp = fmap[i];
- ec_tmp = eclass[tmp];
- for ( j = i+1; j <= hi && ec_tmp > eclass[fmap[j]]; j++ )
- fmap[j-1] = fmap[j];
- fmap[j-1] = tmp;
- }
-}
-
-
-/*---------------------------------------------*/
-#define fswap(zz1, zz2) \
- { Int32 zztmp = zz1; zz1 = zz2; zz2 = zztmp; }
-
-#define fvswap(zzp1, zzp2, zzn) \
-{ \
- Int32 yyp1 = (zzp1); \
- Int32 yyp2 = (zzp2); \
- Int32 yyn = (zzn); \
- while (yyn > 0) { \
- fswap(fmap[yyp1], fmap[yyp2]); \
- yyp1++; yyp2++; yyn--; \
- } \
-}
-
-
-#define fmin(a,b) ((a) < (b)) ? (a) : (b)
-
-#define fpush(lz,hz) { stackLo[sp] = lz; \
- stackHi[sp] = hz; \
- sp++; }
-
-#define fpop(lz,hz) { sp--; \
- lz = stackLo[sp]; \
- hz = stackHi[sp]; }
-
-#define FALLBACK_QSORT_SMALL_THRESH 10
-#define FALLBACK_QSORT_STACK_SIZE 100
-
-
-static
-void fallbackQSort3 ( UInt32* fmap,
- UInt32* eclass,
- Int32 loSt,
- Int32 hiSt )
-{
- Int32 unLo, unHi, ltLo, gtHi, n, m;
- Int32 sp, lo, hi;
- UInt32 med, r, r3;
- Int32 stackLo[FALLBACK_QSORT_STACK_SIZE];
- Int32 stackHi[FALLBACK_QSORT_STACK_SIZE];
-
- r = 0;
-
- sp = 0;
- fpush ( loSt, hiSt );
-
- while (sp > 0) {
-
- AssertH ( sp < FALLBACK_QSORT_STACK_SIZE, 1004 );
-
- fpop ( lo, hi );
- if (hi - lo < FALLBACK_QSORT_SMALL_THRESH) {
- fallbackSimpleSort ( fmap, eclass, lo, hi );
- continue;
- }
-
- /* Random partitioning. Median of 3 sometimes fails to
- avoid bad cases. Median of 9 seems to help but
- looks rather expensive. This too seems to work but
- is cheaper. Guidance for the magic constants
- 7621 and 32768 is taken from Sedgewick's algorithms
- book, chapter 35.
- */
- r = ((r * 7621) + 1) % 32768;
- r3 = r % 3;
- if (r3 == 0) med = eclass[fmap[lo]]; else
- if (r3 == 1) med = eclass[fmap[(lo+hi)>>1]]; else
- med = eclass[fmap[hi]];
-
- unLo = ltLo = lo;
- unHi = gtHi = hi;
-
- while (1) {
- while (1) {
- if (unLo > unHi) break;
- n = (Int32)eclass[fmap[unLo]] - (Int32)med;
- if (n == 0) {
- fswap(fmap[unLo], fmap[ltLo]);
- ltLo++; unLo++;
- continue;
- };
- if (n > 0) break;
- unLo++;
- }
- while (1) {
- if (unLo > unHi) break;
- n = (Int32)eclass[fmap[unHi]] - (Int32)med;
- if (n == 0) {
- fswap(fmap[unHi], fmap[gtHi]);
- gtHi--; unHi--;
- continue;
- };
- if (n < 0) break;
- unHi--;
- }
- if (unLo > unHi) break;
- fswap(fmap[unLo], fmap[unHi]); unLo++; unHi--;
- }
-
- AssertD ( unHi == unLo-1, "fallbackQSort3(2)" );
-
- if (gtHi < ltLo) continue;
-
- n = fmin(ltLo-lo, unLo-ltLo); fvswap(lo, unLo-n, n);
- m = fmin(hi-gtHi, gtHi-unHi); fvswap(unLo, hi-m+1, m);
-
- n = lo + unLo - ltLo - 1;
- m = hi - (gtHi - unHi) + 1;
-
- if (n - lo > hi - m) {
- fpush ( lo, n );
- fpush ( m, hi );
- } else {
- fpush ( m, hi );
- fpush ( lo, n );
- }
- }
-}
-
-#undef fmin
-#undef fpush
-#undef fpop
-#undef fswap
-#undef fvswap
-#undef FALLBACK_QSORT_SMALL_THRESH
-#undef FALLBACK_QSORT_STACK_SIZE
-
-
-/*---------------------------------------------*/
-/* Pre:
- nblock > 0
- eclass exists for [0 .. nblock-1]
- ((UChar*)eclass) [0 .. nblock-1] holds block
- ptr exists for [0 .. nblock-1]
-
- Post:
- ((UChar*)eclass) [0 .. nblock-1] holds block
- All other areas of eclass destroyed
- fmap [0 .. nblock-1] holds sorted order
- bhtab [ 0 .. 2+(nblock/32) ] destroyed
-*/
-
-#define SET_BH(zz) bhtab[(zz) >> 5] |= (1 << ((zz) & 31))
-#define CLEAR_BH(zz) bhtab[(zz) >> 5] &= ~(1 << ((zz) & 31))
-#define ISSET_BH(zz) (bhtab[(zz) >> 5] & (1 << ((zz) & 31)))
-#define WORD_BH(zz) bhtab[(zz) >> 5]
-#define UNALIGNED_BH(zz) ((zz) & 0x01f)
-
-static
-void fallbackSort ( UInt32* fmap,
- UInt32* eclass,
- UInt32* bhtab,
- Int32 nblock,
- Int32 verb )
-{
- Int32 ftab[257];
- Int32 ftabCopy[256];
- Int32 H, i, j, k, l, r, cc, cc1;
- Int32 nNotDone;
- Int32 nBhtab;
- UChar* eclass8 = (UChar*)eclass;
-
- /*--
- Initial 1-char radix sort to generate
- initial fmap and initial BH bits.
- --*/
- if (verb >= 4)
- VPrintf0 ( " bucket sorting ...\n" );
- for (i = 0; i < 257; i++) ftab[i] = 0;
- for (i = 0; i < nblock; i++) ftab[eclass8[i]]++;
- for (i = 0; i < 256; i++) ftabCopy[i] = ftab[i];
- for (i = 1; i < 257; i++) ftab[i] += ftab[i-1];
-
- for (i = 0; i < nblock; i++) {
- j = eclass8[i];
- k = ftab[j] - 1;
- ftab[j] = k;
- fmap[k] = i;
- }
-
- nBhtab = 2 + (nblock / 32);
- for (i = 0; i < nBhtab; i++) bhtab[i] = 0;
- for (i = 0; i < 256; i++) SET_BH(ftab[i]);
-
- /*--
- Inductively refine the buckets. Kind-of an
- "exponential radix sort" (!), inspired by the
- Manber-Myers suffix array construction algorithm.
- --*/
-
- /*-- set sentinel bits for block-end detection --*/
- for (i = 0; i < 32; i++) {
- SET_BH(nblock + 2*i);
- CLEAR_BH(nblock + 2*i + 1);
- }
-
- /*-- the log(N) loop --*/
- H = 1;
- while (1) {
-
- if (verb >= 4)
- VPrintf1 ( " depth %6d has ", H );
-
- j = 0;
- for (i = 0; i < nblock; i++) {
- if (ISSET_BH(i)) j = i;
- k = fmap[i] - H; if (k < 0) k += nblock;
- eclass[k] = j;
- }
-
- nNotDone = 0;
- r = -1;
- while (1) {
-
- /*-- find the next non-singleton bucket --*/
- k = r + 1;
- while (ISSET_BH(k) && UNALIGNED_BH(k)) k++;
- if (ISSET_BH(k)) {
- while (WORD_BH(k) == 0xffffffff) k += 32;
- while (ISSET_BH(k)) k++;
- }
- l = k - 1;
- if (l >= nblock) break;
- while (!ISSET_BH(k) && UNALIGNED_BH(k)) k++;
- if (!ISSET_BH(k)) {
- while (WORD_BH(k) == 0x00000000) k += 32;
- while (!ISSET_BH(k)) k++;
- }
- r = k - 1;
- if (r >= nblock) break;
-
- /*-- now [l, r] bracket current bucket --*/
- if (r > l) {
- nNotDone += (r - l + 1);
- fallbackQSort3 ( fmap, eclass, l, r );
-
- /*-- scan bucket and generate header bits-- */
- cc = -1;
- for (i = l; i <= r; i++) {
- cc1 = eclass[fmap[i]];
- if (cc != cc1) { SET_BH(i); cc = cc1; };
- }
- }
- }
-
- if (verb >= 4)
- VPrintf1 ( "%6d unresolved strings\n", nNotDone );
-
- H *= 2;
- if (H > nblock || nNotDone == 0) break;
- }
-
- /*--
- Reconstruct the original block in
- eclass8 [0 .. nblock-1], since the
- previous phase destroyed it.
- --*/
- if (verb >= 4)
- VPrintf0 ( " reconstructing block ...\n" );
- j = 0;
- for (i = 0; i < nblock; i++) {
- while (ftabCopy[j] == 0) j++;
- ftabCopy[j]--;
- eclass8[fmap[i]] = (UChar)j;
- }
- AssertH ( j < 256, 1005 );
-}
-
-#undef SET_BH
-#undef CLEAR_BH
-#undef ISSET_BH
-#undef WORD_BH
-#undef UNALIGNED_BH
-
-
-/*---------------------------------------------*/
-/*--- The main, O(N^2 log(N)) sorting ---*/
-/*--- algorithm. Faster for "normal" ---*/
-/*--- non-repetitive blocks. ---*/
-/*---------------------------------------------*/
-
-/*---------------------------------------------*/
-static
-__inline__
-Bool mainGtU ( UInt32 i1,
- UInt32 i2,
- UChar* block,
- UInt16* quadrant,
- UInt32 nblock,
- Int32* budget )
-{
- Int32 k;
- UChar c1, c2;
- UInt16 s1, s2;
-
- AssertD ( i1 != i2, "mainGtU" );
- /* 1 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 2 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 3 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 4 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 5 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 6 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 7 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 8 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 9 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 10 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 11 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 12 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
-
- k = nblock + 8;
-
- do {
- /* 1 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 2 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 3 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 4 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 5 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 6 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 7 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 8 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
-
- if (i1 >= nblock) i1 -= nblock;
- if (i2 >= nblock) i2 -= nblock;
-
- k -= 8;
- (*budget)--;
- }
- while (k >= 0);
-
- return False;
-}
-
-
-/*---------------------------------------------*/
-/*--
- Knuth's increments seem to work better
- than Incerpi-Sedgewick here. Possibly
- because the number of elems to sort is
- usually small, typically <= 20.
---*/
-static
-Int32 incs[14] = { 1, 4, 13, 40, 121, 364, 1093, 3280,
- 9841, 29524, 88573, 265720,
- 797161, 2391484 };
-
-static
-void mainSimpleSort ( UInt32* ptr,
- UChar* block,
- UInt16* quadrant,
- Int32 nblock,
- Int32 lo,
- Int32 hi,
- Int32 d,
- Int32* budget )
-{
- Int32 i, j, h, bigN, hp;
- UInt32 v;
-
- bigN = hi - lo + 1;
- if (bigN < 2) return;
-
- hp = 0;
- while (incs[hp] < bigN) hp++;
- hp--;
-
- for (; hp >= 0; hp--) {
- h = incs[hp];
-
- i = lo + h;
- while (True) {
-
- /*-- copy 1 --*/
- if (i > hi) break;
- v = ptr[i];
- j = i;
- while ( mainGtU (
- ptr[j-h]+d, v+d, block, quadrant, nblock, budget
- ) ) {
- ptr[j] = ptr[j-h];
- j = j - h;
- if (j <= (lo + h - 1)) break;
- }
- ptr[j] = v;
- i++;
-
- /*-- copy 2 --*/
- if (i > hi) break;
- v = ptr[i];
- j = i;
- while ( mainGtU (
- ptr[j-h]+d, v+d, block, quadrant, nblock, budget
- ) ) {
- ptr[j] = ptr[j-h];
- j = j - h;
- if (j <= (lo + h - 1)) break;
- }
- ptr[j] = v;
- i++;
-
- /*-- copy 3 --*/
- if (i > hi) break;
- v = ptr[i];
- j = i;
- while ( mainGtU (
- ptr[j-h]+d, v+d, block, quadrant, nblock, budget
- ) ) {
- ptr[j] = ptr[j-h];
- j = j - h;
- if (j <= (lo + h - 1)) break;
- }
- ptr[j] = v;
- i++;
-
- if (*budget < 0) return;
- }
- }
-}
-
-
-/*---------------------------------------------*/
-/*--
- The following is an implementation of
- an elegant 3-way quicksort for strings,
- described in a paper "Fast Algorithms for
- Sorting and Searching Strings", by Robert
- Sedgewick and Jon L. Bentley.
---*/
-
-#define mswap(zz1, zz2) \
- { Int32 zztmp = zz1; zz1 = zz2; zz2 = zztmp; }
-
-#define mvswap(zzp1, zzp2, zzn) \
-{ \
- Int32 yyp1 = (zzp1); \
- Int32 yyp2 = (zzp2); \
- Int32 yyn = (zzn); \
- while (yyn > 0) { \
- mswap(ptr[yyp1], ptr[yyp2]); \
- yyp1++; yyp2++; yyn--; \
- } \
-}
-
-static
-__inline__
-UChar mmed3 ( UChar a, UChar b, UChar c )
-{
- UChar t;
- if (a > b) { t = a; a = b; b = t; };
- if (b > c) {
- b = c;
- if (a > b) b = a;
- }
- return b;
-}
-
-#define mmin(a,b) ((a) < (b)) ? (a) : (b)
-
-#define mpush(lz,hz,dz) { stackLo[sp] = lz; \
- stackHi[sp] = hz; \
- stackD [sp] = dz; \
- sp++; }
-
-#define mpop(lz,hz,dz) { sp--; \
- lz = stackLo[sp]; \
- hz = stackHi[sp]; \
- dz = stackD [sp]; }
-
-
-#define mnextsize(az) (nextHi[az]-nextLo[az])
-
-#define mnextswap(az,bz) \
- { Int32 tz; \
- tz = nextLo[az]; nextLo[az] = nextLo[bz]; nextLo[bz] = tz; \
- tz = nextHi[az]; nextHi[az] = nextHi[bz]; nextHi[bz] = tz; \
- tz = nextD [az]; nextD [az] = nextD [bz]; nextD [bz] = tz; }
-
-
-#define MAIN_QSORT_SMALL_THRESH 20
-#define MAIN_QSORT_DEPTH_THRESH (BZ_N_RADIX + BZ_N_QSORT)
-#define MAIN_QSORT_STACK_SIZE 100
-
-static
-void mainQSort3 ( UInt32* ptr,
- UChar* block,
- UInt16* quadrant,
- Int32 nblock,
- Int32 loSt,
- Int32 hiSt,
- Int32 dSt,
- Int32* budget )
-{
- Int32 unLo, unHi, ltLo, gtHi, n, m, med;
- Int32 sp, lo, hi, d;
-
- Int32 stackLo[MAIN_QSORT_STACK_SIZE];
- Int32 stackHi[MAIN_QSORT_STACK_SIZE];
- Int32 stackD [MAIN_QSORT_STACK_SIZE];
-
- Int32 nextLo[3];
- Int32 nextHi[3];
- Int32 nextD [3];
-
- sp = 0;
- mpush ( loSt, hiSt, dSt );
-
- while (sp > 0) {
-
- AssertH ( sp < MAIN_QSORT_STACK_SIZE, 1001 );
-
- mpop ( lo, hi, d );
- if (hi - lo < MAIN_QSORT_SMALL_THRESH ||
- d > MAIN_QSORT_DEPTH_THRESH) {
- mainSimpleSort ( ptr, block, quadrant, nblock, lo, hi, d, budget );
- if (*budget < 0) return;
- continue;
- }
-
- med = (Int32)
- mmed3 ( block[ptr[ lo ]+d],
- block[ptr[ hi ]+d],
- block[ptr[ (lo+hi)>>1 ]+d] );
-
- unLo = ltLo = lo;
- unHi = gtHi = hi;
-
- while (True) {
- while (True) {
- if (unLo > unHi) break;
- n = ((Int32)block[ptr[unLo]+d]) - med;
- if (n == 0) {
- mswap(ptr[unLo], ptr[ltLo]);
- ltLo++; unLo++; continue;
- };
- if (n > 0) break;
- unLo++;
- }
- while (True) {
- if (unLo > unHi) break;
- n = ((Int32)block[ptr[unHi]+d]) - med;
- if (n == 0) {
- mswap(ptr[unHi], ptr[gtHi]);
- gtHi--; unHi--; continue;
- };
- if (n < 0) break;
- unHi--;
- }
- if (unLo > unHi) break;
- mswap(ptr[unLo], ptr[unHi]); unLo++; unHi--;
- }
-
- AssertD ( unHi == unLo-1, "mainQSort3(2)" );
-
- if (gtHi < ltLo) {
- mpush(lo, hi, d+1 );
- continue;
- }
-
- n = mmin(ltLo-lo, unLo-ltLo); mvswap(lo, unLo-n, n);
- m = mmin(hi-gtHi, gtHi-unHi); mvswap(unLo, hi-m+1, m);
-
- n = lo + unLo - ltLo - 1;
- m = hi - (gtHi - unHi) + 1;
-
- nextLo[0] = lo; nextHi[0] = n; nextD[0] = d;
- nextLo[1] = m; nextHi[1] = hi; nextD[1] = d;
- nextLo[2] = n+1; nextHi[2] = m-1; nextD[2] = d+1;
-
- if (mnextsize(0) < mnextsize(1)) mnextswap(0,1);
- if (mnextsize(1) < mnextsize(2)) mnextswap(1,2);
- if (mnextsize(0) < mnextsize(1)) mnextswap(0,1);
-
- AssertD (mnextsize(0) >= mnextsize(1), "mainQSort3(8)" );
- AssertD (mnextsize(1) >= mnextsize(2), "mainQSort3(9)" );
-
- mpush (nextLo[0], nextHi[0], nextD[0]);
- mpush (nextLo[1], nextHi[1], nextD[1]);
- mpush (nextLo[2], nextHi[2], nextD[2]);
- }
-}
-
-#undef mswap
-#undef mvswap
-#undef mpush
-#undef mpop
-#undef mmin
-#undef mnextsize
-#undef mnextswap
-#undef MAIN_QSORT_SMALL_THRESH
-#undef MAIN_QSORT_DEPTH_THRESH
-#undef MAIN_QSORT_STACK_SIZE
-
-
-/*---------------------------------------------*/
-/* Pre:
- nblock > N_OVERSHOOT
- block32 exists for [0 .. nblock-1 +N_OVERSHOOT]
- ((UChar*)block32) [0 .. nblock-1] holds block
- ptr exists for [0 .. nblock-1]
-
- Post:
- ((UChar*)block32) [0 .. nblock-1] holds block
- All other areas of block32 destroyed
- ftab [0 .. 65536 ] destroyed
- ptr [0 .. nblock-1] holds sorted order
- if (*budget < 0), sorting was abandoned
-*/
-
-#define BIGFREQ(b) (ftab[((b)+1) << 8] - ftab[(b) << 8])
-#define SETMASK (1 << 21)
-#define CLEARMASK (~(SETMASK))
-
-static
-void mainSort ( UInt32* ptr,
- UChar* block,
- UInt16* quadrant,
- UInt32* ftab,
- Int32 nblock,
- Int32 verb,
- Int32* budget )
-{
- Int32 i, j, k, ss, sb;
- Int32 runningOrder[256];
- Bool bigDone[256];
- Int32 copyStart[256];
- Int32 copyEnd [256];
- UChar c1;
- Int32 numQSorted;
- UInt16 s;
- if (verb >= 4) VPrintf0 ( " main sort initialise ...\n" );
-
- /*-- set up the 2-byte frequency table --*/
- for (i = 65536; i >= 0; i--) ftab[i] = 0;
-
- j = block[0] << 8;
- i = nblock-1;
- for (; i >= 3; i -= 4) {
- quadrant[i] = 0;
- j = (j >> 8) | ( ((UInt16)block[i]) << 8);
- ftab[j]++;
- quadrant[i-1] = 0;
- j = (j >> 8) | ( ((UInt16)block[i-1]) << 8);
- ftab[j]++;
- quadrant[i-2] = 0;
- j = (j >> 8) | ( ((UInt16)block[i-2]) << 8);
- ftab[j]++;
- quadrant[i-3] = 0;
- j = (j >> 8) | ( ((UInt16)block[i-3]) << 8);
- ftab[j]++;
- }
- for (; i >= 0; i--) {
- quadrant[i] = 0;
- j = (j >> 8) | ( ((UInt16)block[i]) << 8);
- ftab[j]++;
- }
-
- /*-- (emphasises close relationship of block & quadrant) --*/
- for (i = 0; i < BZ_N_OVERSHOOT; i++) {
- block [nblock+i] = block[i];
- quadrant[nblock+i] = 0;
- }
-
- if (verb >= 4) VPrintf0 ( " bucket sorting ...\n" );
-
- /*-- Complete the initial radix sort --*/
- for (i = 1; i <= 65536; i++) ftab[i] += ftab[i-1];
-
- s = block[0] << 8;
- i = nblock-1;
- for (; i >= 3; i -= 4) {
- s = (s >> 8) | (block[i] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i;
- s = (s >> 8) | (block[i-1] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i-1;
- s = (s >> 8) | (block[i-2] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i-2;
- s = (s >> 8) | (block[i-3] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i-3;
- }
- for (; i >= 0; i--) {
- s = (s >> 8) | (block[i] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i;
- }
-
- /*--
- Now ftab contains the first loc of every small bucket.
- Calculate the running order, from smallest to largest
- big bucket.
- --*/
- for (i = 0; i <= 255; i++) {
- bigDone [i] = False;
- runningOrder[i] = i;
- }
-
- {
- Int32 vv;
- Int32 h = 1;
- do h = 3 * h + 1; while (h <= 256);
- do {
- h = h / 3;
- for (i = h; i <= 255; i++) {
- vv = runningOrder[i];
- j = i;
- while ( BIGFREQ(runningOrder[j-h]) > BIGFREQ(vv) ) {
- runningOrder[j] = runningOrder[j-h];
- j = j - h;
- if (j <= (h - 1)) goto zero;
- }
- zero:
- runningOrder[j] = vv;
- }
- } while (h != 1);
- }
-
- /*--
- The main sorting loop.
- --*/
-
- numQSorted = 0;
-
- for (i = 0; i <= 255; i++) {
-
- /*--
- Process big buckets, starting with the least full.
- Basically this is a 3-step process in which we call
- mainQSort3 to sort the small buckets [ss, j], but
- also make a big effort to avoid the calls if we can.
- --*/
- ss = runningOrder[i];
-
- /*--
- Step 1:
- Complete the big bucket [ss] by quicksorting
- any unsorted small buckets [ss, j], for j != ss.
- Hopefully previous pointer-scanning phases have already
- completed many of the small buckets [ss, j], so
- we don't have to sort them at all.
- --*/
- for (j = 0; j <= 255; j++) {
- if (j != ss) {
- sb = (ss << 8) + j;
- if ( ! (ftab[sb] & SETMASK) ) {
- Int32 lo = ftab[sb] & CLEARMASK;
- Int32 hi = (ftab[sb+1] & CLEARMASK) - 1;
- if (hi > lo) {
- if (verb >= 4)
- VPrintf4 ( " qsort [0x%x, 0x%x] "
- "done %d this %d\n",
- ss, j, numQSorted, hi - lo + 1 );
- mainQSort3 (
- ptr, block, quadrant, nblock,
- lo, hi, BZ_N_RADIX, budget
- );
- numQSorted += (hi - lo + 1);
- if (*budget < 0) return;
- }
- }
- ftab[sb] |= SETMASK;
- }
- }
-
- AssertH ( !bigDone[ss], 1006 );
-
- /*--
- Step 2:
- Now scan this big bucket [ss] so as to synthesise the
- sorted order for small buckets [t, ss] for all t,
- including, magically, the bucket [ss,ss] too.
- This will avoid doing Real Work in subsequent Step 1's.
- --*/
- {
- for (j = 0; j <= 255; j++) {
- copyStart[j] = ftab[(j << 8) + ss] & CLEARMASK;
- copyEnd [j] = (ftab[(j << 8) + ss + 1] & CLEARMASK) - 1;
- }
- for (j = ftab[ss << 8] & CLEARMASK; j < copyStart[ss]; j++) {
- k = ptr[j]-1; if (k < 0) k += nblock;
- c1 = block[k];
- if (!bigDone[c1])
- ptr[ copyStart[c1]++ ] = k;
- }
- for (j = (ftab[(ss+1) << 8] & CLEARMASK) - 1; j > copyEnd[ss]; j--) {
- k = ptr[j]-1; if (k < 0) k += nblock;
- c1 = block[k];
- if (!bigDone[c1])
- ptr[ copyEnd[c1]-- ] = k;
- }
- }
-
- AssertH ( (copyStart[ss]-1 == copyEnd[ss])
- ||
- /* Extremely rare case missing in bzip2-1.0.0 and 1.0.1.
- Necessity for this case is demonstrated by compressing
- a sequence of approximately 48.5 million of character
- 251; 1.0.0/1.0.1 will then die here. */
- (copyStart[ss] == 0 && copyEnd[ss] == nblock-1),
- 1007 )
-
- for (j = 0; j <= 255; j++) ftab[(j << 8) + ss] |= SETMASK;
-
- /*--
- Step 3:
- The [ss] big bucket is now done. Record this fact,
- and update the quadrant descriptors. Remember to
- update quadrants in the overshoot area too, if
- necessary. The "if (i < 255)" test merely skips
- this updating for the last bucket processed, since
- updating for the last bucket is pointless.
-
- The quadrant array provides a way to incrementally
- cache sort orderings, as they appear, so as to
- make subsequent comparisons in fullGtU() complete
- faster. For repetitive blocks this makes a big
- difference (but not big enough to be able to avoid
- the fallback sorting mechanism, exponential radix sort).
-
- The precise meaning is: at all times:
-
- for 0 <= i < nblock and 0 <= j <= nblock
-
- if block[i] != block[j],
-
- then the relative values of quadrant[i] and
- quadrant[j] are meaningless.
-
- else {
- if quadrant[i] < quadrant[j]
- then the string starting at i lexicographically
- precedes the string starting at j
-
- else if quadrant[i] > quadrant[j]
- then the string starting at j lexicographically
- precedes the string starting at i
-
- else
- the relative ordering of the strings starting
- at i and j has not yet been determined.
- }
- --*/
- bigDone[ss] = True;
-
- if (i < 255) {
- Int32 bbStart = ftab[ss << 8] & CLEARMASK;
- Int32 bbSize = (ftab[(ss+1) << 8] & CLEARMASK) - bbStart;
- Int32 shifts = 0;
-
- while ((bbSize >> shifts) > 65534) shifts++;
-
- for (j = bbSize-1; j >= 0; j--) {
- Int32 a2update = ptr[bbStart + j];
- UInt16 qVal = (UInt16)(j >> shifts);
- quadrant[a2update] = qVal;
- if (a2update < BZ_N_OVERSHOOT)
- quadrant[a2update + nblock] = qVal;
- }
- AssertH ( ((bbSize-1) >> shifts) <= 65535, 1002 );
- }
-
- }
-
- if (verb >= 4)
- VPrintf3 ( " %d pointers, %d sorted, %d scanned\n",
- nblock, numQSorted, nblock - numQSorted );
-}
-
-#undef BIGFREQ
-#undef SETMASK
-#undef CLEARMASK
-
-
-/*---------------------------------------------*/
-/* Pre:
- nblock > 0
- arr2 exists for [0 .. nblock-1 +N_OVERSHOOT]
- ((UChar*)arr2) [0 .. nblock-1] holds block
- arr1 exists for [0 .. nblock-1]
-
- Post:
- ((UChar*)arr2) [0 .. nblock-1] holds block
- All other areas of block destroyed
- ftab [ 0 .. 65536 ] destroyed
- arr1 [0 .. nblock-1] holds sorted order
-*/
-void BZ2_blockSort ( EState* s )
-{
- UInt32* ptr = s->ptr;
- UChar* block = s->block;
- UInt32* ftab = s->ftab;
- Int32 nblock = s->nblock;
- Int32 verb = s->verbosity;
- Int32 wfact = s->workFactor;
- UInt16* quadrant;
- Int32 budget;
- Int32 budgetInit;
- Int32 i;
-
- if (nblock < 10000) {
- fallbackSort ( s->arr1, s->arr2, ftab, nblock, verb );
- } else {
- /* Calculate the location for quadrant, remembering to get
- the alignment right. Assumes that &(block[0]) is at least
- 2-byte aligned -- this should be ok since block is really
- the first section of arr2.
- */
- i = nblock+BZ_N_OVERSHOOT;
- if (i & 1) i++;
- quadrant = (UInt16*)(&(block[i]));
-
- /* (wfact-1) / 3 puts the default-factor-30
- transition point at very roughly the same place as
- with v0.1 and v0.9.0.
- Not that it particularly matters any more, since the
- resulting compressed stream is now the same regardless
- of whether or not we use the main sort or fallback sort.
- */
- if (wfact < 1 ) wfact = 1;
- if (wfact > 100) wfact = 100;
- budgetInit = nblock * ((wfact-1) / 3);
- budget = budgetInit;
-
- mainSort ( ptr, block, quadrant, ftab, nblock, verb, &budget );
- if (verb >= 3)
- VPrintf3 ( " %d work, %d block, ratio %5.2f\n",
- budgetInit - budget,
- nblock,
- (float)(budgetInit - budget) /
- (float)(nblock==0 ? 1 : nblock) );
- if (budget < 0) {
- if (verb >= 2)
- VPrintf0 ( " too repetitive; using fallback"
- " sorting algorithm\n" );
- fallbackSort ( s->arr1, s->arr2, ftab, nblock, verb );
- }
- }
-
- s->origPtr = -1;
- for (i = 0; i < s->nblock; i++)
- if (ptr[i] == 0)
- { s->origPtr = i; break; };
-
- AssertH( s->origPtr != -1, 1003 );
-}
-
-
-/*-------------------------------------------------------------*/
-/*--- end blocksort.c ---*/
-/*-------------------------------------------------------------*/
-
-/*-------------------------------------------------------------*/
-/*--- Huffman coding low-level stuff ---*/
-/*--- huffman.c ---*/
-/*-------------------------------------------------------------*/
-
-
-/*---------------------------------------------------*/
-#define WEIGHTOF(zz0) ((zz0) & 0xffffff00)
-#define DEPTHOF(zz1) ((zz1) & 0x000000ff)
-#define MYMAX(zz2,zz3) ((zz2) > (zz3) ? (zz2) : (zz3))
-
-#define ADDWEIGHTS(zw1,zw2) \
- (WEIGHTOF(zw1)+WEIGHTOF(zw2)) | \
- (1 + MYMAX(DEPTHOF(zw1),DEPTHOF(zw2)))
-
-#define UPHEAP(z) \
-{ \
- Int32 zz, tmp; \
- zz = z; tmp = heap[zz]; \
- while (weight[tmp] < weight[heap[zz >> 1]]) { \
- heap[zz] = heap[zz >> 1]; \
- zz >>= 1; \
- } \
- heap[zz] = tmp; \
-}
-
-#define DOWNHEAP(z) \
-{ \
- Int32 zz, yy, tmp; \
- zz = z; tmp = heap[zz]; \
- while (True) { \
- yy = zz << 1; \
- if (yy > nHeap) break; \
- if (yy < nHeap && \
- weight[heap[yy+1]] < weight[heap[yy]]) \
- yy++; \
- if (weight[tmp] < weight[heap[yy]]) break; \
- heap[zz] = heap[yy]; \
- zz = yy; \
- } \
- heap[zz] = tmp; \
-}
-
-
-/*---------------------------------------------------*/
-void BZ2_hbMakeCodeLengths ( UChar *len,
- Int32 *freq,
- Int32 alphaSize,
- Int32 maxLen )
-{
- /*--
- Nodes and heap entries run from 1. Entry 0
- for both the heap and nodes is a sentinel.
- --*/
- Int32 nNodes, nHeap, n1, n2, i, j, k;
- Bool tooLong;
-
- Int32 heap [ BZ_MAX_ALPHA_SIZE + 2 ];
- Int32 weight [ BZ_MAX_ALPHA_SIZE * 2 ];
- Int32 parent [ BZ_MAX_ALPHA_SIZE * 2 ];
-
- for (i = 0; i < alphaSize; i++)
- weight[i+1] = (freq[i] == 0 ? 1 : freq[i]) << 8;
-
- while (True) {
-
- nNodes = alphaSize;
- nHeap = 0;
-
- heap[0] = 0;
- weight[0] = 0;
- parent[0] = -2;
-
- for (i = 1; i <= alphaSize; i++) {
- parent[i] = -1;
- nHeap++;
- heap[nHeap] = i;
- UPHEAP(nHeap);
- }
-
- AssertH( nHeap < (BZ_MAX_ALPHA_SIZE+2), 2001 );
-
- while (nHeap > 1) {
- n1 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP(1);
- n2 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP(1);
- nNodes++;
- parent[n1] = parent[n2] = nNodes;
- weight[nNodes] = ADDWEIGHTS(weight[n1], weight[n2]);
- parent[nNodes] = -1;
- nHeap++;
- heap[nHeap] = nNodes;
- UPHEAP(nHeap);
- }
-
- AssertH( nNodes < (BZ_MAX_ALPHA_SIZE * 2), 2002 );
-
- tooLong = False;
- for (i = 1; i <= alphaSize; i++) {
- j = 0;
- k = i;
- while (parent[k] >= 0) { k = parent[k]; j++; }
- len[i-1] = j;
- if (j > maxLen) tooLong = True;
- }
-
- if (! tooLong) break;
-
- for (i = 1; i < alphaSize; i++) {
- j = weight[i] >> 8;
- j = 1 + (j / 2);
- weight[i] = j << 8;
- }
- }
-}
-
-
-/*---------------------------------------------------*/
-void BZ2_hbAssignCodes ( Int32 *code,
- UChar *length,
- Int32 minLen,
- Int32 maxLen,
- Int32 alphaSize )
-{
- Int32 n, vec, i;
-
- vec = 0;
- for (n = minLen; n <= maxLen; n++) {
- for (i = 0; i < alphaSize; i++)
- if (length[i] == n) { code[i] = vec; vec++; };
- vec <<= 1;
- }
-}
-
-
-/*---------------------------------------------------*/
-void BZ2_hbCreateDecodeTables ( Int32 *limit,
- Int32 *base,
- Int32 *perm,
- UChar *length,
- Int32 minLen,
- Int32 maxLen,
- Int32 alphaSize )
-{
- Int32 pp, i, j, vec;
-
- pp = 0;
- for (i = minLen; i <= maxLen; i++)
- for (j = 0; j < alphaSize; j++)
- if (length[j] == i) { perm[pp] = j; pp++; };
-
- for (i = 0; i < BZ_MAX_CODE_LEN; i++) base[i] = 0;
- for (i = 0; i < alphaSize; i++) base[length[i]+1]++;
-
- for (i = 1; i < BZ_MAX_CODE_LEN; i++) base[i] += base[i-1];
-
- for (i = 0; i < BZ_MAX_CODE_LEN; i++) limit[i] = 0;
- vec = 0;
-
- for (i = minLen; i <= maxLen; i++) {
- vec += (base[i+1] - base[i]);
- limit[i] = vec-1;
- vec <<= 1;
- }
- for (i = minLen + 1; i <= maxLen; i++)
- base[i] = ((limit[i-1] + 1) << 1) - base[i];
-}
-
-
-/*-------------------------------------------------------------*/
-/*--- end huffman.c ---*/
-/*-------------------------------------------------------------*/
-
-/*-------------------------------------------------------------*/
-/*--- Table for doing CRCs ---*/
-/*--- crctable.c ---*/
-/*-------------------------------------------------------------*/
-
-
-/*--
- I think this is an implementation of the AUTODIN-II,
- Ethernet & FDDI 32-bit CRC standard. Vaguely derived
- from code by Rob Warnock, in Section 51 of the
- comp.compression FAQ.
---*/
-
-UInt32 BZ2_crc32Table[256] = {
-
- /*-- Ugly, innit? --*/
-
- 0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L,
- 0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L,
- 0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L,
- 0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL,
- 0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L,
- 0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L,
- 0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L,
- 0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL,
- 0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L,
- 0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L,
- 0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L,
- 0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL,
- 0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L,
- 0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L,
- 0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L,
- 0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL,
- 0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL,
- 0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L,
- 0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L,
- 0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL,
- 0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL,
- 0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L,
- 0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L,
- 0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL,
- 0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL,
- 0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L,
- 0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L,
- 0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL,
- 0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL,
- 0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L,
- 0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L,
- 0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL,
- 0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L,
- 0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL,
- 0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL,
- 0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L,
- 0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L,
- 0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL,
- 0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL,
- 0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L,
- 0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L,
- 0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL,
- 0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL,
- 0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L,
- 0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L,
- 0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL,
- 0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL,
- 0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L,
- 0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L,
- 0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL,
- 0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L,
- 0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L,
- 0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L,
- 0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL,
- 0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L,
- 0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L,
- 0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L,
- 0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL,
- 0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L,
- 0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L,
- 0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L,
- 0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL,
- 0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L,
- 0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L
-};
-
-
-/*-------------------------------------------------------------*/
-/*--- end crctable.c ---*/
-/*-------------------------------------------------------------*/
-
-/*-------------------------------------------------------------*/
-/*--- Table for randomising repetitive blocks ---*/
-/*--- randtable.c ---*/
-/*-------------------------------------------------------------*/
-
-
-/*---------------------------------------------*/
-Int32 BZ2_rNums[512] = {
- 619, 720, 127, 481, 931, 816, 813, 233, 566, 247,
- 985, 724, 205, 454, 863, 491, 741, 242, 949, 214,
- 733, 859, 335, 708, 621, 574, 73, 654, 730, 472,
- 419, 436, 278, 496, 867, 210, 399, 680, 480, 51,
- 878, 465, 811, 169, 869, 675, 611, 697, 867, 561,
- 862, 687, 507, 283, 482, 129, 807, 591, 733, 623,
- 150, 238, 59, 379, 684, 877, 625, 169, 643, 105,
- 170, 607, 520, 932, 727, 476, 693, 425, 174, 647,
- 73, 122, 335, 530, 442, 853, 695, 249, 445, 515,
- 909, 545, 703, 919, 874, 474, 882, 500, 594, 612,
- 641, 801, 220, 162, 819, 984, 589, 513, 495, 799,
- 161, 604, 958, 533, 221, 400, 386, 867, 600, 782,
- 382, 596, 414, 171, 516, 375, 682, 485, 911, 276,
- 98, 553, 163, 354, 666, 933, 424, 341, 533, 870,
- 227, 730, 475, 186, 263, 647, 537, 686, 600, 224,
- 469, 68, 770, 919, 190, 373, 294, 822, 808, 206,
- 184, 943, 795, 384, 383, 461, 404, 758, 839, 887,
- 715, 67, 618, 276, 204, 918, 873, 777, 604, 560,
- 951, 160, 578, 722, 79, 804, 96, 409, 713, 940,
- 652, 934, 970, 447, 318, 353, 859, 672, 112, 785,
- 645, 863, 803, 350, 139, 93, 354, 99, 820, 908,
- 609, 772, 154, 274, 580, 184, 79, 626, 630, 742,
- 653, 282, 762, 623, 680, 81, 927, 626, 789, 125,
- 411, 521, 938, 300, 821, 78, 343, 175, 128, 250,
- 170, 774, 972, 275, 999, 639, 495, 78, 352, 126,
- 857, 956, 358, 619, 580, 124, 737, 594, 701, 612,
- 669, 112, 134, 694, 363, 992, 809, 743, 168, 974,
- 944, 375, 748, 52, 600, 747, 642, 182, 862, 81,
- 344, 805, 988, 739, 511, 655, 814, 334, 249, 515,
- 897, 955, 664, 981, 649, 113, 974, 459, 893, 228,
- 433, 837, 553, 268, 926, 240, 102, 654, 459, 51,
- 686, 754, 806, 760, 493, 403, 415, 394, 687, 700,
- 946, 670, 656, 610, 738, 392, 760, 799, 887, 653,
- 978, 321, 576, 617, 626, 502, 894, 679, 243, 440,
- 680, 879, 194, 572, 640, 724, 926, 56, 204, 700,
- 707, 151, 457, 449, 797, 195, 791, 558, 945, 679,
- 297, 59, 87, 824, 713, 663, 412, 693, 342, 606,
- 134, 108, 571, 364, 631, 212, 174, 643, 304, 329,
- 343, 97, 430, 751, 497, 314, 983, 374, 822, 928,
- 140, 206, 73, 263, 980, 736, 876, 478, 430, 305,
- 170, 514, 364, 692, 829, 82, 855, 953, 676, 246,
- 369, 970, 294, 750, 807, 827, 150, 790, 288, 923,
- 804, 378, 215, 828, 592, 281, 565, 555, 710, 82,
- 896, 831, 547, 261, 524, 462, 293, 465, 502, 56,
- 661, 821, 976, 991, 658, 869, 905, 758, 745, 193,
- 768, 550, 608, 933, 378, 286, 215, 979, 792, 961,
- 61, 688, 793, 644, 986, 403, 106, 366, 905, 644,
- 372, 567, 466, 434, 645, 210, 389, 550, 919, 135,
- 780, 773, 635, 389, 707, 100, 626, 958, 165, 504,
- 920, 176, 193, 713, 857, 265, 203, 50, 668, 108,
- 645, 990, 626, 197, 510, 357, 358, 850, 858, 364,
- 936, 638
-};
-
-
-/*-------------------------------------------------------------*/
-/*--- end randtable.c ---*/
-/*-------------------------------------------------------------*/
-
-/*-------------------------------------------------------------*/
-/*--- Compression machinery (not incl block sorting) ---*/
-/*--- compress.c ---*/
-/*-------------------------------------------------------------*/
-
-
-/*---------------------------------------------------*/
-/*--- Bit stream I/O ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-void BZ2_bsInitWrite ( EState* s )
-{
- s->bsLive = 0;
- s->bsBuff = 0;
-}
-
-
-/*---------------------------------------------------*/
-static
-void bsFinishWrite ( EState* s )
-{
- while (s->bsLive > 0) {
- s->zbits[s->numZ] = (UChar)(s->bsBuff >> 24);
- s->numZ++;
- s->bsBuff <<= 8;
- s->bsLive -= 8;
- }
-}
-
-
-/*---------------------------------------------------*/
-#define bsNEEDW(nz) \
-{ \
- while (s->bsLive >= 8) { \
- s->zbits[s->numZ] \
- = (UChar)(s->bsBuff >> 24); \
- s->numZ++; \
- s->bsBuff <<= 8; \
- s->bsLive -= 8; \
- } \
-}
-
-
-/*---------------------------------------------------*/
-static
-__inline__
-void bsW ( EState* s, Int32 n, UInt32 v )
-{
- bsNEEDW ( n );
- s->bsBuff |= (v << (32 - s->bsLive - n));
- s->bsLive += n;
-}
-
-
-/*---------------------------------------------------*/
-static
-void bsPutUInt32 ( EState* s, UInt32 u )
-{
- bsW ( s, 8, (u >> 24) & 0xffL );
- bsW ( s, 8, (u >> 16) & 0xffL );
- bsW ( s, 8, (u >> 8) & 0xffL );
- bsW ( s, 8, u & 0xffL );
-}
-
-
-/*---------------------------------------------------*/
-static
-void bsPutUChar ( EState* s, UChar c )
-{
- bsW( s, 8, (UInt32)c );
-}
-
-
-/*---------------------------------------------------*/
-/*--- The back end proper ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-static
-void makeMaps_e ( EState* s )
-{
- Int32 i;
- s->nInUse = 0;
- for (i = 0; i < 256; i++)
- if (s->inUse[i]) {
- s->unseqToSeq[i] = s->nInUse;
- s->nInUse++;
- }
-}
-
-
-/*---------------------------------------------------*/
-static
-void generateMTFValues ( EState* s )
-{
- UChar yy[256];
- Int32 i, j;
- Int32 zPend;
- Int32 wr;
- Int32 EOB;
-
- /*
- After sorting (eg, here),
- s->arr1 [ 0 .. s->nblock-1 ] holds sorted order,
- and
- ((UChar*)s->arr2) [ 0 .. s->nblock-1 ]
- holds the original block data.
-
- The first thing to do is generate the MTF values,
- and put them in
- ((UInt16*)s->arr1) [ 0 .. s->nblock-1 ].
- Because there are strictly fewer or equal MTF values
- than block values, ptr values in this area are overwritten
- with MTF values only when they are no longer needed.
-
- The final compressed bitstream is generated into the
- area starting at
- (UChar*) (&((UChar*)s->arr2)[s->nblock])
-
- These storage aliases are set up in bzCompressInit(),
- except for the last one, which is arranged in
- compressBlock().
- */
- UInt32* ptr = s->ptr;
- UChar* block = s->block;
- UInt16* mtfv = s->mtfv;
-
- makeMaps_e ( s );
- EOB = s->nInUse+1;
-
- for (i = 0; i <= EOB; i++) s->mtfFreq[i] = 0;
-
- wr = 0;
- zPend = 0;
- for (i = 0; i < s->nInUse; i++) yy[i] = (UChar) i;
-
- for (i = 0; i < s->nblock; i++) {
- UChar ll_i;
- AssertD ( wr <= i, "generateMTFValues(1)" );
- j = ptr[i]-1; if (j < 0) j += s->nblock;
- ll_i = s->unseqToSeq[block[j]];
- AssertD ( ll_i < s->nInUse, "generateMTFValues(2a)" );
-
- if (yy[0] == ll_i) {
- zPend++;
- } else {
-
- if (zPend > 0) {
- zPend--;
- while (True) {
- if (zPend & 1) {
- mtfv[wr] = BZ_RUNB; wr++;
- s->mtfFreq[BZ_RUNB]++;
- } else {
- mtfv[wr] = BZ_RUNA; wr++;
- s->mtfFreq[BZ_RUNA]++;
- }
- if (zPend < 2) break;
- zPend = (zPend - 2) / 2;
- };
- zPend = 0;
- }
- {
- register UChar rtmp;
- register UChar* ryy_j;
- register UChar rll_i;
- rtmp = yy[1];
- yy[1] = yy[0];
- ryy_j = &(yy[1]);
- rll_i = ll_i;
- while ( rll_i != rtmp ) {
- register UChar rtmp2;
- ryy_j++;
- rtmp2 = rtmp;
- rtmp = *ryy_j;
- *ryy_j = rtmp2;
- };
- yy[0] = rtmp;
- j = ryy_j - &(yy[0]);
- mtfv[wr] = j+1; wr++; s->mtfFreq[j+1]++;
- }
-
- }
- }
-
- if (zPend > 0) {
- zPend--;
- while (True) {
- if (zPend & 1) {
- mtfv[wr] = BZ_RUNB; wr++;
- s->mtfFreq[BZ_RUNB]++;
- } else {
- mtfv[wr] = BZ_RUNA; wr++;
- s->mtfFreq[BZ_RUNA]++;
- }
- if (zPend < 2) break;
- zPend = (zPend - 2) / 2;
- };
- zPend = 0;
- }
-
- mtfv[wr] = EOB; wr++; s->mtfFreq[EOB]++;
-
- s->nMTF = wr;
-}
-
-
-/*---------------------------------------------------*/
-#define BZ_LESSER_ICOST 0
-#define BZ_GREATER_ICOST 15
-
-static
-void sendMTFValues ( EState* s )
-{
- Int32 v, t, i, j, gs, ge, totc, bt, bc, iter;
- Int32 nSelectors, alphaSize, minLen, maxLen, selCtr;
- Int32 nGroups, nBytes;
-
- /*--
- UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- is a global since the decoder also needs it.
-
- Int32 code[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 rfreq[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- are also globals only used in this proc.
- Made global to keep stack frame size small.
- --*/
-
-
- UInt16 cost[BZ_N_GROUPS];
- Int32 fave[BZ_N_GROUPS];
-
- UInt16* mtfv = s->mtfv;
-
- if (s->verbosity >= 3)
- VPrintf3( " %d in block, %d after MTF & 1-2 coding, "
- "%d+2 syms in use\n",
- s->nblock, s->nMTF, s->nInUse );
-
- alphaSize = s->nInUse+2;
- for (t = 0; t < BZ_N_GROUPS; t++)
- for (v = 0; v < alphaSize; v++)
- s->len[t][v] = BZ_GREATER_ICOST;
-
- /*--- Decide how many coding tables to use ---*/
- AssertH ( s->nMTF > 0, 3001 );
- if (s->nMTF < 200) nGroups = 2; else
- if (s->nMTF < 600) nGroups = 3; else
- if (s->nMTF < 1200) nGroups = 4; else
- if (s->nMTF < 2400) nGroups = 5; else
- nGroups = 6;
-
- /*--- Generate an initial set of coding tables ---*/
- {
- Int32 nPart, remF, tFreq, aFreq;
-
- nPart = nGroups;
- remF = s->nMTF;
- gs = 0;
- while (nPart > 0) {
- tFreq = remF / nPart;
- ge = gs-1;
- aFreq = 0;
- while (aFreq < tFreq && ge < alphaSize-1) {
- ge++;
- aFreq += s->mtfFreq[ge];
- }
-
- if (ge > gs
- && nPart != nGroups && nPart != 1
- && ((nGroups-nPart) % 2 == 1)) {
- aFreq -= s->mtfFreq[ge];
- ge--;
- }
-
- if (s->verbosity >= 3)
- VPrintf5( " initial group %d, [%d .. %d], "
- "has %d syms (%4.1f%%)\n",
- nPart, gs, ge, aFreq,
- (100.0 * (float)aFreq) / (float)(s->nMTF) );
-
- for (v = 0; v < alphaSize; v++)
- if (v >= gs && v <= ge)
- s->len[nPart-1][v] = BZ_LESSER_ICOST; else
- s->len[nPart-1][v] = BZ_GREATER_ICOST;
-
- nPart--;
- gs = ge+1;
- remF -= aFreq;
- }
- }
-
- /*---
- Iterate up to BZ_N_ITERS times to improve the tables.
- ---*/
- for (iter = 0; iter < BZ_N_ITERS; iter++) {
-
- for (t = 0; t < nGroups; t++) fave[t] = 0;
-
- for (t = 0; t < nGroups; t++)
- for (v = 0; v < alphaSize; v++)
- s->rfreq[t][v] = 0;
-
- /*---
- Set up an auxiliary length table which is used to fast-track
- the common case (nGroups == 6).
- ---*/
- if (nGroups == 6) {
- for (v = 0; v < alphaSize; v++) {
- s->len_pack[v][0] = (s->len[1][v] << 16) | s->len[0][v];
- s->len_pack[v][1] = (s->len[3][v] << 16) | s->len[2][v];
- s->len_pack[v][2] = (s->len[5][v] << 16) | s->len[4][v];
- }
- }
-
- nSelectors = 0;
- totc = 0;
- gs = 0;
- while (True) {
-
- /*--- Set group start & end marks. --*/
- if (gs >= s->nMTF) break;
- ge = gs + BZ_G_SIZE - 1;
- if (ge >= s->nMTF) ge = s->nMTF-1;
-
- /*--
- Calculate the cost of this group as coded
- by each of the coding tables.
- --*/
- for (t = 0; t < nGroups; t++) cost[t] = 0;
-
- if (nGroups == 6 && 50 == ge-gs+1) {
- /*--- fast track the common case ---*/
- register UInt32 cost01, cost23, cost45;
- register UInt16 icv;
- cost01 = cost23 = cost45 = 0;
-
-# define BZ_ITER(nn) \
- icv = mtfv[gs+(nn)]; \
- cost01 += s->len_pack[icv][0]; \
- cost23 += s->len_pack[icv][1]; \
- cost45 += s->len_pack[icv][2]; \
-
- BZ_ITER(0); BZ_ITER(1); BZ_ITER(2); BZ_ITER(3); BZ_ITER(4);
- BZ_ITER(5); BZ_ITER(6); BZ_ITER(7); BZ_ITER(8); BZ_ITER(9);
- BZ_ITER(10); BZ_ITER(11); BZ_ITER(12); BZ_ITER(13); BZ_ITER(14);
- BZ_ITER(15); BZ_ITER(16); BZ_ITER(17); BZ_ITER(18); BZ_ITER(19);
- BZ_ITER(20); BZ_ITER(21); BZ_ITER(22); BZ_ITER(23); BZ_ITER(24);
- BZ_ITER(25); BZ_ITER(26); BZ_ITER(27); BZ_ITER(28); BZ_ITER(29);
- BZ_ITER(30); BZ_ITER(31); BZ_ITER(32); BZ_ITER(33); BZ_ITER(34);
- BZ_ITER(35); BZ_ITER(36); BZ_ITER(37); BZ_ITER(38); BZ_ITER(39);
- BZ_ITER(40); BZ_ITER(41); BZ_ITER(42); BZ_ITER(43); BZ_ITER(44);
- BZ_ITER(45); BZ_ITER(46); BZ_ITER(47); BZ_ITER(48); BZ_ITER(49);
-
-# undef BZ_ITER
-
- cost[0] = cost01 & 0xffff; cost[1] = cost01 >> 16;
- cost[2] = cost23 & 0xffff; cost[3] = cost23 >> 16;
- cost[4] = cost45 & 0xffff; cost[5] = cost45 >> 16;
-
- } else {
- /*--- slow version which correctly handles all situations ---*/
- for (i = gs; i <= ge; i++) {
- UInt16 icv = mtfv[i];
- for (t = 0; t < nGroups; t++) cost[t] += s->len[t][icv];
- }
- }
-
- /*--
- Find the coding table which is best for this group,
- and record its identity in the selector table.
- --*/
- bc = 999999999; bt = -1;
- for (t = 0; t < nGroups; t++)
- if (cost[t] < bc) { bc = cost[t]; bt = t; };
- totc += bc;
- fave[bt]++;
- s->selector[nSelectors] = bt;
- nSelectors++;
-
- /*--
- Increment the symbol frequencies for the selected table.
- --*/
- if (nGroups == 6 && 50 == ge-gs+1) {
- /*--- fast track the common case ---*/
-
-# define BZ_ITUR(nn) s->rfreq[bt][ mtfv[gs+(nn)] ]++
-
- BZ_ITUR(0); BZ_ITUR(1); BZ_ITUR(2); BZ_ITUR(3); BZ_ITUR(4);
- BZ_ITUR(5); BZ_ITUR(6); BZ_ITUR(7); BZ_ITUR(8); BZ_ITUR(9);
- BZ_ITUR(10); BZ_ITUR(11); BZ_ITUR(12); BZ_ITUR(13); BZ_ITUR(14);
- BZ_ITUR(15); BZ_ITUR(16); BZ_ITUR(17); BZ_ITUR(18); BZ_ITUR(19);
- BZ_ITUR(20); BZ_ITUR(21); BZ_ITUR(22); BZ_ITUR(23); BZ_ITUR(24);
- BZ_ITUR(25); BZ_ITUR(26); BZ_ITUR(27); BZ_ITUR(28); BZ_ITUR(29);
- BZ_ITUR(30); BZ_ITUR(31); BZ_ITUR(32); BZ_ITUR(33); BZ_ITUR(34);
- BZ_ITUR(35); BZ_ITUR(36); BZ_ITUR(37); BZ_ITUR(38); BZ_ITUR(39);
- BZ_ITUR(40); BZ_ITUR(41); BZ_ITUR(42); BZ_ITUR(43); BZ_ITUR(44);
- BZ_ITUR(45); BZ_ITUR(46); BZ_ITUR(47); BZ_ITUR(48); BZ_ITUR(49);
-
-# undef BZ_ITUR
-
- } else {
- /*--- slow version which correctly handles all situations ---*/
- for (i = gs; i <= ge; i++)
- s->rfreq[bt][ mtfv[i] ]++;
- }
-
- gs = ge+1;
- }
- if (s->verbosity >= 3) {
- VPrintf2 ( " pass %d: size is %d, grp uses are ",
- iter+1, totc/8 );
- for (t = 0; t < nGroups; t++)
- VPrintf1 ( "%d ", fave[t] );
- VPrintf0 ( "\n" );
- }
-
- /*--
- Recompute the tables based on the accumulated frequencies.
- --*/
- for (t = 0; t < nGroups; t++)
- BZ2_hbMakeCodeLengths ( &(s->len[t][0]), &(s->rfreq[t][0]),
- alphaSize, 20 );
- }
-
-
- AssertH( nGroups < 8, 3002 );
- AssertH( nSelectors < 32768 &&
- nSelectors <= (2 + (900000 / BZ_G_SIZE)),
- 3003 );
-
-
- /*--- Compute MTF values for the selectors. ---*/
- {
- UChar pos[BZ_N_GROUPS], ll_i, tmp2, tmp;
- for (i = 0; i < nGroups; i++) pos[i] = i;
- for (i = 0; i < nSelectors; i++) {
- ll_i = s->selector[i];
- j = 0;
- tmp = pos[j];
- while ( ll_i != tmp ) {
- j++;
- tmp2 = tmp;
- tmp = pos[j];
- pos[j] = tmp2;
- };
- pos[0] = tmp;
- s->selectorMtf[i] = j;
- }
- };
-
- /*--- Assign actual codes for the tables. --*/
- for (t = 0; t < nGroups; t++) {
- minLen = 32;
- maxLen = 0;
- for (i = 0; i < alphaSize; i++) {
- if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
- if (s->len[t][i] < minLen) minLen = s->len[t][i];
- }
- AssertH ( !(maxLen > 20), 3004 );
- AssertH ( !(minLen < 1), 3005 );
- BZ2_hbAssignCodes ( &(s->code[t][0]), &(s->len[t][0]),
- minLen, maxLen, alphaSize );
- }
-
- /*--- Transmit the mapping table. ---*/
- {
- Bool inUse16[16];
- for (i = 0; i < 16; i++) {
- inUse16[i] = False;
- for (j = 0; j < 16; j++)
- if (s->inUse[i * 16 + j]) inUse16[i] = True;
- }
-
- nBytes = s->numZ;
- for (i = 0; i < 16; i++)
- if (inUse16[i]) bsW(s,1,1); else bsW(s,1,0);
-
- for (i = 0; i < 16; i++)
- if (inUse16[i])
- for (j = 0; j < 16; j++) {
- if (s->inUse[i * 16 + j]) bsW(s,1,1); else bsW(s,1,0);
- }
-
- if (s->verbosity >= 3)
- VPrintf1( " bytes: mapping %d, ", s->numZ-nBytes );
- }
-
- /*--- Now the selectors. ---*/
- nBytes = s->numZ;
- bsW ( s, 3, nGroups );
- bsW ( s, 15, nSelectors );
- for (i = 0; i < nSelectors; i++) {
- for (j = 0; j < s->selectorMtf[i]; j++) bsW(s,1,1);
- bsW(s,1,0);
- }
- if (s->verbosity >= 3)
- VPrintf1( "selectors %d, ", s->numZ-nBytes );
-
- /*--- Now the coding tables. ---*/
- nBytes = s->numZ;
-
- for (t = 0; t < nGroups; t++) {
- Int32 curr = s->len[t][0];
- bsW ( s, 5, curr );
- for (i = 0; i < alphaSize; i++) {
- while (curr < s->len[t][i]) { bsW(s,2,2); curr++; /* 10 */ };
- while (curr > s->len[t][i]) { bsW(s,2,3); curr--; /* 11 */ };
- bsW ( s, 1, 0 );
- }
- }
-
- if (s->verbosity >= 3)
- VPrintf1 ( "code lengths %d, ", s->numZ-nBytes );
-
- /*--- And finally, the block data proper ---*/
- nBytes = s->numZ;
- selCtr = 0;
- gs = 0;
- while (True) {
- if (gs >= s->nMTF) break;
- ge = gs + BZ_G_SIZE - 1;
- if (ge >= s->nMTF) ge = s->nMTF-1;
- AssertH ( s->selector[selCtr] < nGroups, 3006 );
-
- if (nGroups == 6 && 50 == ge-gs+1) {
- /*--- fast track the common case ---*/
- UInt16 mtfv_i;
- UChar* s_len_sel_selCtr
- = &(s->len[s->selector[selCtr]][0]);
- Int32* s_code_sel_selCtr
- = &(s->code[s->selector[selCtr]][0]);
-
-# define BZ_ITAH(nn) \
- mtfv_i = mtfv[gs+(nn)]; \
- bsW ( s, \
- s_len_sel_selCtr[mtfv_i], \
- s_code_sel_selCtr[mtfv_i] )
-
- BZ_ITAH(0); BZ_ITAH(1); BZ_ITAH(2); BZ_ITAH(3); BZ_ITAH(4);
- BZ_ITAH(5); BZ_ITAH(6); BZ_ITAH(7); BZ_ITAH(8); BZ_ITAH(9);
- BZ_ITAH(10); BZ_ITAH(11); BZ_ITAH(12); BZ_ITAH(13); BZ_ITAH(14);
- BZ_ITAH(15); BZ_ITAH(16); BZ_ITAH(17); BZ_ITAH(18); BZ_ITAH(19);
- BZ_ITAH(20); BZ_ITAH(21); BZ_ITAH(22); BZ_ITAH(23); BZ_ITAH(24);
- BZ_ITAH(25); BZ_ITAH(26); BZ_ITAH(27); BZ_ITAH(28); BZ_ITAH(29);
- BZ_ITAH(30); BZ_ITAH(31); BZ_ITAH(32); BZ_ITAH(33); BZ_ITAH(34);
- BZ_ITAH(35); BZ_ITAH(36); BZ_ITAH(37); BZ_ITAH(38); BZ_ITAH(39);
- BZ_ITAH(40); BZ_ITAH(41); BZ_ITAH(42); BZ_ITAH(43); BZ_ITAH(44);
- BZ_ITAH(45); BZ_ITAH(46); BZ_ITAH(47); BZ_ITAH(48); BZ_ITAH(49);
-
-# undef BZ_ITAH
-
- } else {
- /*--- slow version which correctly handles all situations ---*/
- for (i = gs; i <= ge; i++) {
- bsW ( s,
- s->len [s->selector[selCtr]] [mtfv[i]],
- s->code [s->selector[selCtr]] [mtfv[i]] );
- }
- }
-
-
- gs = ge+1;
- selCtr++;
- }
- AssertH( selCtr == nSelectors, 3007 );
-
- if (s->verbosity >= 3)
- VPrintf1( "codes %d\n", s->numZ-nBytes );
-}
-
-
-/*---------------------------------------------------*/
-void BZ2_compressBlock ( EState* s, Bool is_last_block )
-{
- if (s->nblock > 0) {
-
- BZ_FINALISE_CRC ( s->blockCRC );
- s->combinedCRC = (s->combinedCRC << 1) | (s->combinedCRC >> 31);
- s->combinedCRC ^= s->blockCRC;
- if (s->blockNo > 1) s->numZ = 0;
-
- if (s->verbosity >= 2)
- VPrintf4( " block %d: crc = 0x%8x, "
- "combined CRC = 0x%8x, size = %d\n",
- s->blockNo, s->blockCRC, s->combinedCRC, s->nblock );
-
- BZ2_blockSort ( s );
- }
-
- s->zbits = (UChar*) (&((UChar*)s->arr2)[s->nblock]);
-
- /*-- If this is the first block, create the stream header. --*/
- if (s->blockNo == 1) {
- BZ2_bsInitWrite ( s );
- bsPutUChar ( s, BZ_HDR_B );
- bsPutUChar ( s, BZ_HDR_Z );
- bsPutUChar ( s, BZ_HDR_h );
- bsPutUChar ( s, (UChar)(BZ_HDR_0 + s->blockSize100k) );
- }
-
- if (s->nblock > 0) {
-
- bsPutUChar ( s, 0x31 ); bsPutUChar ( s, 0x41 );
- bsPutUChar ( s, 0x59 ); bsPutUChar ( s, 0x26 );
- bsPutUChar ( s, 0x53 ); bsPutUChar ( s, 0x59 );
-
- /*-- Now the block's CRC, so it is in a known place. --*/
- bsPutUInt32 ( s, s->blockCRC );
-
- /*--
- Now a single bit indicating (non-)randomisation.
- As of version 0.9.5, we use a better sorting algorithm
- which makes randomisation unnecessary. So always set
- the randomised bit to 'no'. Of course, the decoder
- still needs to be able to handle randomised blocks
- so as to maintain backwards compatibility with
- older versions of bzip2.
- --*/
- bsW(s,1,0);
-
- bsW ( s, 24, s->origPtr );
- generateMTFValues ( s );
- sendMTFValues ( s );
- }
-
-
- /*-- If this is the last block, add the stream trailer. --*/
- if (is_last_block) {
-
- bsPutUChar ( s, 0x17 ); bsPutUChar ( s, 0x72 );
- bsPutUChar ( s, 0x45 ); bsPutUChar ( s, 0x38 );
- bsPutUChar ( s, 0x50 ); bsPutUChar ( s, 0x90 );
- bsPutUInt32 ( s, s->combinedCRC );
- if (s->verbosity >= 2)
- VPrintf1( " final combined CRC = 0x%x\n ", s->combinedCRC );
- bsFinishWrite ( s );
- }
-}
-
-
-/*-------------------------------------------------------------*/
-/*--- end compress.c ---*/
-/*-------------------------------------------------------------*/
-
-/*-------------------------------------------------------------*/
-/*--- Decompression machinery ---*/
-/*--- decompress.c ---*/
-/*-------------------------------------------------------------*/
-
-
-/*---------------------------------------------------*/
-static
-void makeMaps_d ( DState* s )
-{
- Int32 i;
- s->nInUse = 0;
- for (i = 0; i < 256; i++)
- if (s->inUse[i]) {
- s->seqToUnseq[s->nInUse] = i;
- s->nInUse++;
- }
-}
-
-
-/*---------------------------------------------------*/
-#define RETURN(rrr) \
- { retVal = rrr; goto save_state_and_return; };
-
-#define GET_BITS(lll,vvv,nnn) \
- case lll: s->state = lll; \
- while (True) { \
- if (s->bsLive >= nnn) { \
- UInt32 v; \
- v = (s->bsBuff >> \
- (s->bsLive-nnn)) & ((1 << nnn)-1); \
- s->bsLive -= nnn; \
- vvv = v; \
- break; \
- } \
- if (s->strm->avail_in == 0) RETURN(BZ_OK); \
- s->bsBuff \
- = (s->bsBuff << 8) | \
- ((UInt32) \
- (*((UChar*)(s->strm->next_in)))); \
- s->bsLive += 8; \
- s->strm->next_in++; \
- s->strm->avail_in--; \
- s->strm->total_in_lo32++; \
- if (s->strm->total_in_lo32 == 0) \
- s->strm->total_in_hi32++; \
- }
-
-#define GET_UCHAR(lll,uuu) \
- GET_BITS(lll,uuu,8)
-
-#define GET_BIT(lll,uuu) \
- GET_BITS(lll,uuu,1)
-
-/*---------------------------------------------------*/
-#define GET_MTF_VAL(label1,label2,lval) \
-{ \
- if (groupPos == 0) { \
- groupNo++; \
- if (groupNo >= nSelectors) \
- RETURN(BZ_DATA_ERROR); \
- groupPos = BZ_G_SIZE; \
- gSel = s->selector[groupNo]; \
- gMinlen = s->minLens[gSel]; \
- gLimit = &(s->limit[gSel][0]); \
- gPerm = &(s->perm[gSel][0]); \
- gBase = &(s->base[gSel][0]); \
- } \
- groupPos--; \
- zn = gMinlen; \
- GET_BITS(label1, zvec, zn); \
- while (1) { \
- if (zn > 20 /* the longest code */) \
- RETURN(BZ_DATA_ERROR); \
- if (zvec <= gLimit[zn]) break; \
- zn++; \
- GET_BIT(label2, zj); \
- zvec = (zvec << 1) | zj; \
- }; \
- if (zvec - gBase[zn] < 0 \
- || zvec - gBase[zn] >= BZ_MAX_ALPHA_SIZE) \
- RETURN(BZ_DATA_ERROR); \
- lval = gPerm[zvec - gBase[zn]]; \
-}
-
-
-/*---------------------------------------------------*/
-Int32 BZ2_decompress ( DState* s )
-{
- UChar uc;
- Int32 retVal;
- Int32 minLen, maxLen;
- bz_stream* strm = s->strm;
-
- /* stuff that needs to be saved/restored */
- Int32 i;
- Int32 j;
- Int32 t;
- Int32 alphaSize;
- Int32 nGroups;
- Int32 nSelectors;
- Int32 EOB;
- Int32 groupNo;
- Int32 groupPos;
- Int32 nextSym;
- Int32 nblockMAX;
- Int32 nblock;
- Int32 es;
- Int32 N;
- Int32 curr;
- Int32 zt;
- Int32 zn;
- Int32 zvec;
- Int32 zj;
- Int32 gSel;
- Int32 gMinlen;
- Int32* gLimit;
- Int32* gBase;
- Int32* gPerm;
-
- if (s->state == BZ_X_MAGIC_1) {
- /*initialise the save area*/
- s->save_i = 0;
- s->save_j = 0;
- s->save_t = 0;
- s->save_alphaSize = 0;
- s->save_nGroups = 0;
- s->save_nSelectors = 0;
- s->save_EOB = 0;
- s->save_groupNo = 0;
- s->save_groupPos = 0;
- s->save_nextSym = 0;
- s->save_nblockMAX = 0;
- s->save_nblock = 0;
- s->save_es = 0;
- s->save_N = 0;
- s->save_curr = 0;
- s->save_zt = 0;
- s->save_zn = 0;
- s->save_zvec = 0;
- s->save_zj = 0;
- s->save_gSel = 0;
- s->save_gMinlen = 0;
- s->save_gLimit = NULL;
- s->save_gBase = NULL;
- s->save_gPerm = NULL;
- }
-
- /*restore from the save area*/
- i = s->save_i;
- j = s->save_j;
- t = s->save_t;
- alphaSize = s->save_alphaSize;
- nGroups = s->save_nGroups;
- nSelectors = s->save_nSelectors;
- EOB = s->save_EOB;
- groupNo = s->save_groupNo;
- groupPos = s->save_groupPos;
- nextSym = s->save_nextSym;
- nblockMAX = s->save_nblockMAX;
- nblock = s->save_nblock;
- es = s->save_es;
- N = s->save_N;
- curr = s->save_curr;
- zt = s->save_zt;
- zn = s->save_zn;
- zvec = s->save_zvec;
- zj = s->save_zj;
- gSel = s->save_gSel;
- gMinlen = s->save_gMinlen;
- gLimit = s->save_gLimit;
- gBase = s->save_gBase;
- gPerm = s->save_gPerm;
-
- retVal = BZ_OK;
-
- switch (s->state) {
-
- GET_UCHAR(BZ_X_MAGIC_1, uc);
- if (uc != BZ_HDR_B) RETURN(BZ_DATA_ERROR_MAGIC);
-
- GET_UCHAR(BZ_X_MAGIC_2, uc);
- if (uc != BZ_HDR_Z) RETURN(BZ_DATA_ERROR_MAGIC);
-
- GET_UCHAR(BZ_X_MAGIC_3, uc)
- if (uc != BZ_HDR_h) RETURN(BZ_DATA_ERROR_MAGIC);
-
- GET_BITS(BZ_X_MAGIC_4, s->blockSize100k, 8)
- if (s->blockSize100k < (BZ_HDR_0 + 1) ||
- s->blockSize100k > (BZ_HDR_0 + 9)) RETURN(BZ_DATA_ERROR_MAGIC);
- s->blockSize100k -= BZ_HDR_0;
-
- if (s->smallDecompress) {
- s->ll16 = BZALLOC( s->blockSize100k * 100000 * sizeof(UInt16) );
- s->ll4 = BZALLOC(
- ((1 + s->blockSize100k * 100000) >> 1) * sizeof(UChar)
- );
- if (s->ll16 == NULL || s->ll4 == NULL) RETURN(BZ_MEM_ERROR);
- } else {
- s->tt = BZALLOC( s->blockSize100k * 100000 * sizeof(Int32) );
- if (s->tt == NULL) RETURN(BZ_MEM_ERROR);
- }
-
- GET_UCHAR(BZ_X_BLKHDR_1, uc);
-
- if (uc == 0x17) goto endhdr_2;
- if (uc != 0x31) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_2, uc);
- if (uc != 0x41) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_3, uc);
- if (uc != 0x59) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_4, uc);
- if (uc != 0x26) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_5, uc);
- if (uc != 0x53) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_6, uc);
- if (uc != 0x59) RETURN(BZ_DATA_ERROR);
-
- s->currBlockNo++;
- if (s->verbosity >= 2)
- VPrintf1 ( "\n [%d: huff+mtf ", s->currBlockNo );
-
- s->storedBlockCRC = 0;
- GET_UCHAR(BZ_X_BCRC_1, uc);
- s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_BCRC_2, uc);
- s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_BCRC_3, uc);
- s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_BCRC_4, uc);
- s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
-
- GET_BITS(BZ_X_RANDBIT, s->blockRandomised, 1);
-
- s->origPtr = 0;
- GET_UCHAR(BZ_X_ORIGPTR_1, uc);
- s->origPtr = (s->origPtr << 8) | ((Int32)uc);
- GET_UCHAR(BZ_X_ORIGPTR_2, uc);
- s->origPtr = (s->origPtr << 8) | ((Int32)uc);
- GET_UCHAR(BZ_X_ORIGPTR_3, uc);
- s->origPtr = (s->origPtr << 8) | ((Int32)uc);
-
- if (s->origPtr < 0)
- RETURN(BZ_DATA_ERROR);
- if (s->origPtr > 10 + 100000*s->blockSize100k)
- RETURN(BZ_DATA_ERROR);
-
- /*--- Receive the mapping table ---*/
- for (i = 0; i < 16; i++) {
- GET_BIT(BZ_X_MAPPING_1, uc);
- if (uc == 1)
- s->inUse16[i] = True; else
- s->inUse16[i] = False;
- }
-
- for (i = 0; i < 256; i++) s->inUse[i] = False;
-
- for (i = 0; i < 16; i++)
- if (s->inUse16[i])
- for (j = 0; j < 16; j++) {
- GET_BIT(BZ_X_MAPPING_2, uc);
- if (uc == 1) s->inUse[i * 16 + j] = True;
- }
- makeMaps_d ( s );
- if (s->nInUse == 0) RETURN(BZ_DATA_ERROR);
- alphaSize = s->nInUse+2;
-
- /*--- Now the selectors ---*/
- GET_BITS(BZ_X_SELECTOR_1, nGroups, 3);
- if (nGroups < 2 || nGroups > 6) RETURN(BZ_DATA_ERROR);
- GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15);
- if (nSelectors < 1) RETURN(BZ_DATA_ERROR);
- for (i = 0; i < nSelectors; i++) {
- j = 0;
- while (True) {
- GET_BIT(BZ_X_SELECTOR_3, uc);
- if (uc == 0) break;
- j++;
- if (j >= nGroups) RETURN(BZ_DATA_ERROR);
- }
- s->selectorMtf[i] = j;
- }
-
- /*--- Undo the MTF values for the selectors. ---*/
- {
- UChar pos[BZ_N_GROUPS], tmp, v;
- for (v = 0; v < nGroups; v++) pos[v] = v;
-
- for (i = 0; i < nSelectors; i++) {
- v = s->selectorMtf[i];
- tmp = pos[v];
- while (v > 0) { pos[v] = pos[v-1]; v--; }
- pos[0] = tmp;
- s->selector[i] = tmp;
- }
- }
-
- /*--- Now the coding tables ---*/
- for (t = 0; t < nGroups; t++) {
- GET_BITS(BZ_X_CODING_1, curr, 5);
- for (i = 0; i < alphaSize; i++) {
- while (True) {
- if (curr < 1 || curr > 20) RETURN(BZ_DATA_ERROR);
- GET_BIT(BZ_X_CODING_2, uc);
- if (uc == 0) break;
- GET_BIT(BZ_X_CODING_3, uc);
- if (uc == 0) curr++; else curr--;
- }
- s->len[t][i] = curr;
- }
- }
-
- /*--- Create the Huffman decoding tables ---*/
- for (t = 0; t < nGroups; t++) {
- minLen = 32;
- maxLen = 0;
- for (i = 0; i < alphaSize; i++) {
- if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
- if (s->len[t][i] < minLen) minLen = s->len[t][i];
- }
- BZ2_hbCreateDecodeTables (
- &(s->limit[t][0]),
- &(s->base[t][0]),
- &(s->perm[t][0]),
- &(s->len[t][0]),
- minLen, maxLen, alphaSize
- );
- s->minLens[t] = minLen;
- }
-
- /*--- Now the MTF values ---*/
-
- EOB = s->nInUse+1;
- nblockMAX = 100000 * s->blockSize100k;
- groupNo = -1;
- groupPos = 0;
-
- for (i = 0; i <= 255; i++) s->unzftab[i] = 0;
-
- /*-- MTF init --*/
- {
- Int32 ii, jj, kk;
- kk = MTFA_SIZE-1;
- for (ii = 256 / MTFL_SIZE - 1; ii >= 0; ii--) {
- for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
- s->mtfa[kk] = (UChar)(ii * MTFL_SIZE + jj);
- kk--;
- }
- s->mtfbase[ii] = kk + 1;
- }
- }
- /*-- end MTF init --*/
-
- nblock = 0;
- GET_MTF_VAL(BZ_X_MTF_1, BZ_X_MTF_2, nextSym);
-
- while (True) {
-
- if (nextSym == EOB) break;
-
- if (nextSym == BZ_RUNA || nextSym == BZ_RUNB) {
-
- es = -1;
- N = 1;
- do {
- if (nextSym == BZ_RUNA) es = es + (0+1) * N; else
- if (nextSym == BZ_RUNB) es = es + (1+1) * N;
- N = N * 2;
- GET_MTF_VAL(BZ_X_MTF_3, BZ_X_MTF_4, nextSym);
- }
- while (nextSym == BZ_RUNA || nextSym == BZ_RUNB);
-
- es++;
- uc = s->seqToUnseq[ s->mtfa[s->mtfbase[0]] ];
- s->unzftab[uc] += es;
-
- if (s->smallDecompress)
- while (es > 0) {
- if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
- s->ll16[nblock] = (UInt16)uc;
- nblock++;
- es--;
- }
- else
- while (es > 0) {
- if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
- s->tt[nblock] = (UInt32)uc;
- nblock++;
- es--;
- };
-
- continue;
-
- } else {
-
- if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
-
- /*-- uc = MTF ( nextSym-1 ) --*/
- {
- Int32 ii, jj, kk, pp, lno, off;
- UInt32 nn;
- nn = (UInt32)(nextSym - 1);
-
- if (nn < MTFL_SIZE) {
- /* avoid general-case expense */
- pp = s->mtfbase[0];
- uc = s->mtfa[pp+nn];
- while (nn > 3) {
- Int32 z = pp+nn;
- s->mtfa[(z) ] = s->mtfa[(z)-1];
- s->mtfa[(z)-1] = s->mtfa[(z)-2];
- s->mtfa[(z)-2] = s->mtfa[(z)-3];
- s->mtfa[(z)-3] = s->mtfa[(z)-4];
- nn -= 4;
- }
- while (nn > 0) {
- s->mtfa[(pp+nn)] = s->mtfa[(pp+nn)-1]; nn--;
- };
- s->mtfa[pp] = uc;
- } else {
- /* general case */
- lno = nn / MTFL_SIZE;
- off = nn % MTFL_SIZE;
- pp = s->mtfbase[lno] + off;
- uc = s->mtfa[pp];
- while (pp > s->mtfbase[lno]) {
- s->mtfa[pp] = s->mtfa[pp-1]; pp--;
- };
- s->mtfbase[lno]++;
- while (lno > 0) {
- s->mtfbase[lno]--;
- s->mtfa[s->mtfbase[lno]]
- = s->mtfa[s->mtfbase[lno-1] + MTFL_SIZE - 1];
- lno--;
- }
- s->mtfbase[0]--;
- s->mtfa[s->mtfbase[0]] = uc;
- if (s->mtfbase[0] == 0) {
- kk = MTFA_SIZE-1;
- for (ii = 256 / MTFL_SIZE-1; ii >= 0; ii--) {
- for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
- s->mtfa[kk] = s->mtfa[s->mtfbase[ii] + jj];
- kk--;
- }
- s->mtfbase[ii] = kk + 1;
- }
- }
- }
- }
- /*-- end uc = MTF ( nextSym-1 ) --*/
-
- s->unzftab[s->seqToUnseq[uc]]++;
- if (s->smallDecompress)
- s->ll16[nblock] = (UInt16)(s->seqToUnseq[uc]); else
- s->tt[nblock] = (UInt32)(s->seqToUnseq[uc]);
- nblock++;
-
- GET_MTF_VAL(BZ_X_MTF_5, BZ_X_MTF_6, nextSym);
- continue;
- }
- }
-
- /* Now we know what nblock is, we can do a better sanity
- check on s->origPtr.
- */
- if (s->origPtr < 0 || s->origPtr >= nblock)
- RETURN(BZ_DATA_ERROR);
-
- s->state_out_len = 0;
- s->state_out_ch = 0;
- BZ_INITIALISE_CRC ( s->calculatedBlockCRC );
- s->state = BZ_X_OUTPUT;
- if (s->verbosity >= 2) VPrintf0 ( "rt+rld" );
-
- /*-- Set up cftab to facilitate generation of T^(-1) --*/
- s->cftab[0] = 0;
- for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
- for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
-
- if (s->smallDecompress) {
-
- /*-- Make a copy of cftab, used in generation of T --*/
- for (i = 0; i <= 256; i++) s->cftabCopy[i] = s->cftab[i];
-
- /*-- compute the T vector --*/
- for (i = 0; i < nblock; i++) {
- uc = (UChar)(s->ll16[i]);
- SET_LL(i, s->cftabCopy[uc]);
- s->cftabCopy[uc]++;
- }
-
- /*-- Compute T^(-1) by pointer reversal on T --*/
- i = s->origPtr;
- j = GET_LL(i);
- do {
- Int32 tmp = GET_LL(j);
- SET_LL(j, i);
- i = j;
- j = tmp;
- }
- while (i != s->origPtr);
-
- s->tPos = s->origPtr;
- s->nblock_used = 0;
- if (s->blockRandomised) {
- BZ_RAND_INIT_MASK;
- BZ_GET_SMALL(s->k0); s->nblock_used++;
- BZ_RAND_UPD_MASK; s->k0 ^= BZ_RAND_MASK;
- } else {
- BZ_GET_SMALL(s->k0); s->nblock_used++;
- }
-
- } else {
-
- /*-- compute the T^(-1) vector --*/
- for (i = 0; i < nblock; i++) {
- uc = (UChar)(s->tt[i] & 0xff);
- s->tt[s->cftab[uc]] |= (i << 8);
- s->cftab[uc]++;
- }
-
- s->tPos = s->tt[s->origPtr] >> 8;
- s->nblock_used = 0;
- if (s->blockRandomised) {
- BZ_RAND_INIT_MASK;
- BZ_GET_FAST(s->k0); s->nblock_used++;
- BZ_RAND_UPD_MASK; s->k0 ^= BZ_RAND_MASK;
- } else {
- BZ_GET_FAST(s->k0); s->nblock_used++;
- }
-
- }
-
- RETURN(BZ_OK);
-
-
-
- endhdr_2:
-
- GET_UCHAR(BZ_X_ENDHDR_2, uc);
- if (uc != 0x72) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_ENDHDR_3, uc);
- if (uc != 0x45) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_ENDHDR_4, uc);
- if (uc != 0x38) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_ENDHDR_5, uc);
- if (uc != 0x50) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_ENDHDR_6, uc);
- if (uc != 0x90) RETURN(BZ_DATA_ERROR);
-
- s->storedCombinedCRC = 0;
- GET_UCHAR(BZ_X_CCRC_1, uc);
- s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_CCRC_2, uc);
- s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_CCRC_3, uc);
- s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_CCRC_4, uc);
- s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
-
- s->state = BZ_X_IDLE;
- RETURN(BZ_STREAM_END);
-
- default: AssertH ( False, 4001 );
- }
-
- AssertH ( False, 4002 );
-
- save_state_and_return:
-
- s->save_i = i;
- s->save_j = j;
- s->save_t = t;
- s->save_alphaSize = alphaSize;
- s->save_nGroups = nGroups;
- s->save_nSelectors = nSelectors;
- s->save_EOB = EOB;
- s->save_groupNo = groupNo;
- s->save_groupPos = groupPos;
- s->save_nextSym = nextSym;
- s->save_nblockMAX = nblockMAX;
- s->save_nblock = nblock;
- s->save_es = es;
- s->save_N = N;
- s->save_curr = curr;
- s->save_zt = zt;
- s->save_zn = zn;
- s->save_zvec = zvec;
- s->save_zj = zj;
- s->save_gSel = gSel;
- s->save_gMinlen = gMinlen;
- s->save_gLimit = gLimit;
- s->save_gBase = gBase;
- s->save_gPerm = gPerm;
-
- return retVal;
-}
-
-
-/*-------------------------------------------------------------*/
-/*--- end decompress.c ---*/
-/*-------------------------------------------------------------*/
-
-/*-------------------------------------------------------------*/
-/*--- Library top-level functions. ---*/
-/*--- bzlib.c ---*/
-/*-------------------------------------------------------------*/
-
-/*---------------------------------------------------*/
-/*--- Compression stuff ---*/
-/*---------------------------------------------------*/
-
-
-/*---------------------------------------------------*/
-#ifndef BZ_NO_STDIO
-void BZ2_bz__AssertH__fail ( int errcode )
-{
- fprintf(stderr,
- "\n\nbzip2/libbzip2: internal error number %d.\n"
- "This is a bug in bzip2/libbzip2, %s.\n"
- "Please report it to me at: jseward@acm.org. If this happened\n"
- "when you were using some program which uses libbzip2 as a\n"
- "component, you should also report this bug to the author(s)\n"
- "of that program. Please make an effort to report this bug;\n"
- "timely and accurate bug reports eventually lead to higher\n"
- "quality software. Thanks. Julian Seward, 30 December 2001.\n\n",
- errcode,
- BZ2_bzlibVersion()
- );
-
- if (errcode == 1007) {
- fprintf(stderr,
- "\n*** A special note about internal error number 1007 ***\n"
- "\n"
- "Experience suggests that a common cause of i.e. 1007\n"
- "is unreliable memory or other hardware. The 1007 assertion\n"
- "just happens to cross-check the results of huge numbers of\n"
- "memory reads/writes, and so acts (unintendedly) as a stress\n"
- "test of your memory system.\n"
- "\n"
- "I suggest the following: try compressing the file again,\n"
- "possibly monitoring progress in detail with the -vv flag.\n"
- "\n"
- "* If the error cannot be reproduced, and/or happens at different\n"
- " points in compression, you may have a flaky memory system.\n"
- " Try a memory-test program. I have used Memtest86\n"
- " (www.memtest86.com). At the time of writing it is free (GPLd).\n"
- " Memtest86 tests memory much more thorougly than your BIOSs\n"
- " power-on test, and may find failures that the BIOS doesn't.\n"
- "\n"
- "* If the error can be repeatably reproduced, this is a bug in\n"
- " bzip2, and I would very much like to hear about it. Please\n"
- " let me know, and, ideally, save a copy of the file causing the\n"
- " problem -- without which I will be unable to investigate it.\n"
- "\n"
- );
- }
-
- exit(3);
-}
-#endif
-
-
-/*---------------------------------------------------*/
-static
-int bz_config_ok ( void )
-{
- if (sizeof(int) != 4) return 0;
- if (sizeof(short) != 2) return 0;
- if (sizeof(char) != 1) return 0;
- return 1;
-}
-
-
-/*---------------------------------------------------*/
-static
-void* default_bzalloc ( void* opaque, Int32 items, Int32 size )
-{
- void* v = malloc ( items * size );
- return v;
-}
-
-static
-void default_bzfree ( void* opaque, void* addr )
-{
- if (addr != NULL) free ( addr );
-}
-
-
-/*---------------------------------------------------*/
-static
-void prepare_new_block ( EState* s )
-{
- Int32 i;
- s->nblock = 0;
- s->numZ = 0;
- s->state_out_pos = 0;
- BZ_INITIALISE_CRC ( s->blockCRC );
- for (i = 0; i < 256; i++) s->inUse[i] = False;
- s->blockNo++;
-}
-
-
-/*---------------------------------------------------*/
-static
-void init_RL ( EState* s )
-{
- s->state_in_ch = 256;
- s->state_in_len = 0;
-}
-
-
-static
-Bool isempty_RL ( EState* s )
-{
- if (s->state_in_ch < 256 && s->state_in_len > 0)
- return False; else
- return True;
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzCompressInit)
- ( bz_stream* strm,
- int blockSize100k,
- int verbosity,
- int workFactor )
-{
- Int32 n;
- EState* s;
-
- if (!bz_config_ok()) return BZ_CONFIG_ERROR;
-
- if (strm == NULL ||
- blockSize100k < 1 || blockSize100k > 9 ||
- workFactor < 0 || workFactor > 250)
- return BZ_PARAM_ERROR;
-
- if (workFactor == 0) workFactor = 30;
- if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc;
- if (strm->bzfree == NULL) strm->bzfree = default_bzfree;
-
- s = BZALLOC( sizeof(EState) );
- if (s == NULL) return BZ_MEM_ERROR;
- s->strm = strm;
-
- s->arr1 = NULL;
- s->arr2 = NULL;
- s->ftab = NULL;
-
- n = 100000 * blockSize100k;
- s->arr1 = BZALLOC( n * sizeof(UInt32) );
- s->arr2 = BZALLOC( (n+BZ_N_OVERSHOOT) * sizeof(UInt32) );
- s->ftab = BZALLOC( 65537 * sizeof(UInt32) );
-
- if (s->arr1 == NULL || s->arr2 == NULL || s->ftab == NULL) {
- if (s->arr1 != NULL) BZFREE(s->arr1);
- if (s->arr2 != NULL) BZFREE(s->arr2);
- if (s->ftab != NULL) BZFREE(s->ftab);
- if (s != NULL) BZFREE(s);
- return BZ_MEM_ERROR;
- }
-
- s->blockNo = 0;
- s->state = BZ_S_INPUT;
- s->mode = BZ_M_RUNNING;
- s->combinedCRC = 0;
- s->blockSize100k = blockSize100k;
- s->nblockMAX = 100000 * blockSize100k - 19;
- s->verbosity = verbosity;
- s->workFactor = workFactor;
-
- s->block = (UChar*)s->arr2;
- s->mtfv = (UInt16*)s->arr1;
- s->zbits = NULL;
- s->ptr = (UInt32*)s->arr1;
-
- strm->state = s;
- strm->total_in_lo32 = 0;
- strm->total_in_hi32 = 0;
- strm->total_out_lo32 = 0;
- strm->total_out_hi32 = 0;
- init_RL ( s );
- prepare_new_block ( s );
- return BZ_OK;
-}
-
-
-/*---------------------------------------------------*/
-static
-void add_pair_to_block ( EState* s )
-{
- Int32 i;
- UChar ch = (UChar)(s->state_in_ch);
- for (i = 0; i < s->state_in_len; i++) {
- BZ_UPDATE_CRC( s->blockCRC, ch );
- }
- s->inUse[s->state_in_ch] = True;
- switch (s->state_in_len) {
- case 1:
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- break;
- case 2:
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- break;
- case 3:
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- break;
- default:
- s->inUse[s->state_in_len-4] = True;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = ((UChar)(s->state_in_len-4));
- s->nblock++;
- break;
- }
-}
-
-
-/*---------------------------------------------------*/
-static
-void flush_RL ( EState* s )
-{
- if (s->state_in_ch < 256) add_pair_to_block ( s );
- init_RL ( s );
-}
-
-
-/*---------------------------------------------------*/
-#define ADD_CHAR_TO_BLOCK(zs,zchh0) \
-{ \
- UInt32 zchh = (UInt32)(zchh0); \
- /*-- fast track the common case --*/ \
- if (zchh != zs->state_in_ch && \
- zs->state_in_len == 1) { \
- UChar ch = (UChar)(zs->state_in_ch); \
- BZ_UPDATE_CRC( zs->blockCRC, ch ); \
- zs->inUse[zs->state_in_ch] = True; \
- zs->block[zs->nblock] = (UChar)ch; \
- zs->nblock++; \
- zs->state_in_ch = zchh; \
- } \
- else \
- /*-- general, uncommon cases --*/ \
- if (zchh != zs->state_in_ch || \
- zs->state_in_len == 255) { \
- if (zs->state_in_ch < 256) \
- add_pair_to_block ( zs ); \
- zs->state_in_ch = zchh; \
- zs->state_in_len = 1; \
- } else { \
- zs->state_in_len++; \
- } \
-}
-
-
-/*---------------------------------------------------*/
-static
-Bool copy_input_until_stop ( EState* s )
-{
- Bool progress_in = False;
-
- if (s->mode == BZ_M_RUNNING) {
-
- /*-- fast track the common case --*/
- while (True) {
- /*-- block full? --*/
- if (s->nblock >= s->nblockMAX) break;
- /*-- no input? --*/
- if (s->strm->avail_in == 0) break;
- progress_in = True;
- ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) );
- s->strm->next_in++;
- s->strm->avail_in--;
- s->strm->total_in_lo32++;
- if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++;
- }
-
- } else {
-
- /*-- general, uncommon case --*/
- while (True) {
- /*-- block full? --*/
- if (s->nblock >= s->nblockMAX) break;
- /*-- no input? --*/
- if (s->strm->avail_in == 0) break;
- /*-- flush/finish end? --*/
- if (s->avail_in_expect == 0) break;
- progress_in = True;
- ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) );
- s->strm->next_in++;
- s->strm->avail_in--;
- s->strm->total_in_lo32++;
- if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++;
- s->avail_in_expect--;
- }
- }
- return progress_in;
-}
-
-
-/*---------------------------------------------------*/
-static
-Bool copy_output_until_stop ( EState* s )
-{
- Bool progress_out = False;
-
- while (True) {
-
- /*-- no output space? --*/
- if (s->strm->avail_out == 0) break;
-
- /*-- block done? --*/
- if (s->state_out_pos >= s->numZ) break;
-
- progress_out = True;
- *(s->strm->next_out) = s->zbits[s->state_out_pos];
- s->state_out_pos++;
- s->strm->avail_out--;
- s->strm->next_out++;
- s->strm->total_out_lo32++;
- if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
- }
-
- return progress_out;
-}
-
-
-/*---------------------------------------------------*/
-static
-Bool handle_compress ( bz_stream* strm )
-{
- Bool progress_in = False;
- Bool progress_out = False;
- EState* s = strm->state;
-
- while (True) {
-
- if (s->state == BZ_S_OUTPUT) {
- progress_out |= copy_output_until_stop ( s );
- if (s->state_out_pos < s->numZ) break;
- if (s->mode == BZ_M_FINISHING &&
- s->avail_in_expect == 0 &&
- isempty_RL(s)) break;
- prepare_new_block ( s );
- s->state = BZ_S_INPUT;
- if (s->mode == BZ_M_FLUSHING &&
- s->avail_in_expect == 0 &&
- isempty_RL(s)) break;
- }
-
- if (s->state == BZ_S_INPUT) {
- progress_in |= copy_input_until_stop ( s );
- if (s->mode != BZ_M_RUNNING && s->avail_in_expect == 0) {
- flush_RL ( s );
- BZ2_compressBlock ( s, (Bool)(s->mode == BZ_M_FINISHING) );
- s->state = BZ_S_OUTPUT;
- }
- else
- if (s->nblock >= s->nblockMAX) {
- BZ2_compressBlock ( s, False );
- s->state = BZ_S_OUTPUT;
- }
- else
- if (s->strm->avail_in == 0) {
- break;
- }
- }
-
- }
-
- return progress_in || progress_out;
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzCompress) ( bz_stream *strm, int action )
-{
- Bool progress;
- EState* s;
- if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
- if (s == NULL) return BZ_PARAM_ERROR;
- if (s->strm != strm) return BZ_PARAM_ERROR;
-
- preswitch:
- switch (s->mode) {
-
- case BZ_M_IDLE:
- return BZ_SEQUENCE_ERROR;
-
- case BZ_M_RUNNING:
- if (action == BZ_RUN) {
- progress = handle_compress ( strm );
- return progress ? BZ_RUN_OK : BZ_PARAM_ERROR;
- }
- else
- if (action == BZ_FLUSH) {
- s->avail_in_expect = strm->avail_in;
- s->mode = BZ_M_FLUSHING;
- goto preswitch;
- }
- else
- if (action == BZ_FINISH) {
- s->avail_in_expect = strm->avail_in;
- s->mode = BZ_M_FINISHING;
- goto preswitch;
- }
- else
- return BZ_PARAM_ERROR;
-
- case BZ_M_FLUSHING:
- if (action != BZ_FLUSH) return BZ_SEQUENCE_ERROR;
- if (s->avail_in_expect != s->strm->avail_in)
- return BZ_SEQUENCE_ERROR;
- progress = handle_compress ( strm );
- if (s->avail_in_expect > 0 || !isempty_RL(s) ||
- s->state_out_pos < s->numZ) return BZ_FLUSH_OK;
- s->mode = BZ_M_RUNNING;
- return BZ_RUN_OK;
-
- case BZ_M_FINISHING:
- if (action != BZ_FINISH) return BZ_SEQUENCE_ERROR;
- if (s->avail_in_expect != s->strm->avail_in)
- return BZ_SEQUENCE_ERROR;
- progress = handle_compress ( strm );
- if (!progress) return BZ_SEQUENCE_ERROR;
- if (s->avail_in_expect > 0 || !isempty_RL(s) ||
- s->state_out_pos < s->numZ) return BZ_FINISH_OK;
- s->mode = BZ_M_IDLE;
- return BZ_STREAM_END;
- }
- return BZ_OK; /*--not reached--*/
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzCompressEnd) ( bz_stream *strm )
-{
- EState* s;
- if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
- if (s == NULL) return BZ_PARAM_ERROR;
- if (s->strm != strm) return BZ_PARAM_ERROR;
-
- if (s->arr1 != NULL) BZFREE(s->arr1);
- if (s->arr2 != NULL) BZFREE(s->arr2);
- if (s->ftab != NULL) BZFREE(s->ftab);
- BZFREE(strm->state);
-
- strm->state = NULL;
-
- return BZ_OK;
-}
-
-
-/*---------------------------------------------------*/
-/*--- Decompression stuff ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzDecompressInit)
- ( bz_stream* strm,
- int verbosity,
- int small )
-{
- DState* s;
-
- if (!bz_config_ok()) return BZ_CONFIG_ERROR;
-
- if (strm == NULL) return BZ_PARAM_ERROR;
- if (small != 0 && small != 1) return BZ_PARAM_ERROR;
- if (verbosity < 0 || verbosity > 4) return BZ_PARAM_ERROR;
-
- if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc;
- if (strm->bzfree == NULL) strm->bzfree = default_bzfree;
-
- s = BZALLOC( sizeof(DState) );
- if (s == NULL) return BZ_MEM_ERROR;
- s->strm = strm;
- strm->state = s;
- s->state = BZ_X_MAGIC_1;
- s->bsLive = 0;
- s->bsBuff = 0;
- s->calculatedCombinedCRC = 0;
- strm->total_in_lo32 = 0;
- strm->total_in_hi32 = 0;
- strm->total_out_lo32 = 0;
- strm->total_out_hi32 = 0;
- s->smallDecompress = (Bool)small;
- s->ll4 = NULL;
- s->ll16 = NULL;
- s->tt = NULL;
- s->currBlockNo = 0;
- s->verbosity = verbosity;
-
- return BZ_OK;
-}
-
-
-/*---------------------------------------------------*/
-static
-void unRLE_obuf_to_output_FAST ( DState* s )
-{
- UChar k1;
-
- if (s->blockRandomised) {
-
- while (True) {
- /* try to finish existing run */
- while (True) {
- if (s->strm->avail_out == 0) return;
- if (s->state_out_len == 0) break;
- *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
- BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
- s->state_out_len--;
- s->strm->next_out++;
- s->strm->avail_out--;
- s->strm->total_out_lo32++;
- if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
- }
-
- /* can a new run be started? */
- if (s->nblock_used == s->save_nblock+1) return;
-
-
- s->state_out_len = 1;
- s->state_out_ch = s->k0;
- BZ_GET_FAST(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 2;
- BZ_GET_FAST(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 3;
- BZ_GET_FAST(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- BZ_GET_FAST(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- s->state_out_len = ((Int32)k1) + 4;
- BZ_GET_FAST(s->k0); BZ_RAND_UPD_MASK;
- s->k0 ^= BZ_RAND_MASK; s->nblock_used++;
- }
-
- } else {
-
- /* restore */
- UInt32 c_calculatedBlockCRC = s->calculatedBlockCRC;
- UChar c_state_out_ch = s->state_out_ch;
- Int32 c_state_out_len = s->state_out_len;
- Int32 c_nblock_used = s->nblock_used;
- Int32 c_k0 = s->k0;
- UInt32* c_tt = s->tt;
- UInt32 c_tPos = s->tPos;
- char* cs_next_out = s->strm->next_out;
- unsigned int cs_avail_out = s->strm->avail_out;
- /* end restore */
-
- UInt32 avail_out_INIT = cs_avail_out;
- Int32 s_save_nblockPP = s->save_nblock+1;
- unsigned int total_out_lo32_old;
-
- while (True) {
-
- /* try to finish existing run */
- if (c_state_out_len > 0) {
- while (True) {
- if (cs_avail_out == 0) goto return_notr;
- if (c_state_out_len == 1) break;
- *( (UChar*)(cs_next_out) ) = c_state_out_ch;
- BZ_UPDATE_CRC ( c_calculatedBlockCRC, c_state_out_ch );
- c_state_out_len--;
- cs_next_out++;
- cs_avail_out--;
- }
- s_state_out_len_eq_one:
- {
- if (cs_avail_out == 0) {
- c_state_out_len = 1; goto return_notr;
- };
- *( (UChar*)(cs_next_out) ) = c_state_out_ch;
- BZ_UPDATE_CRC ( c_calculatedBlockCRC, c_state_out_ch );
- cs_next_out++;
- cs_avail_out--;
- }
- }
- /* can a new run be started? */
- if (c_nblock_used == s_save_nblockPP) {
- c_state_out_len = 0; goto return_notr;
- };
- c_state_out_ch = c_k0;
- BZ_GET_FAST_C(k1); c_nblock_used++;
- if (k1 != c_k0) {
- c_k0 = k1; goto s_state_out_len_eq_one;
- };
- if (c_nblock_used == s_save_nblockPP)
- goto s_state_out_len_eq_one;
-
- c_state_out_len = 2;
- BZ_GET_FAST_C(k1); c_nblock_used++;
- if (c_nblock_used == s_save_nblockPP) continue;
- if (k1 != c_k0) { c_k0 = k1; continue; };
-
- c_state_out_len = 3;
- BZ_GET_FAST_C(k1); c_nblock_used++;
- if (c_nblock_used == s_save_nblockPP) continue;
- if (k1 != c_k0) { c_k0 = k1; continue; };
-
- BZ_GET_FAST_C(k1); c_nblock_used++;
- c_state_out_len = ((Int32)k1) + 4;
- BZ_GET_FAST_C(c_k0); c_nblock_used++;
- }
-
- return_notr:
- total_out_lo32_old = s->strm->total_out_lo32;
- s->strm->total_out_lo32 += (avail_out_INIT - cs_avail_out);
- if (s->strm->total_out_lo32 < total_out_lo32_old)
- s->strm->total_out_hi32++;
-
- /* save */
- s->calculatedBlockCRC = c_calculatedBlockCRC;
- s->state_out_ch = c_state_out_ch;
- s->state_out_len = c_state_out_len;
- s->nblock_used = c_nblock_used;
- s->k0 = c_k0;
- s->tt = c_tt;
- s->tPos = c_tPos;
- s->strm->next_out = cs_next_out;
- s->strm->avail_out = cs_avail_out;
- /* end save */
- }
-}
-
-
-
-/*---------------------------------------------------*/
-Int32 BZ2_indexIntoF ( Int32 indx, Int32 *cftab )
-{
- Int32 nb, na, mid;
- nb = 0;
- na = 256;
- do {
- mid = (nb + na) >> 1;
- if (indx >= cftab[mid]) nb = mid; else na = mid;
- }
- while (na - nb != 1);
- return nb;
-}
-
-
-/*---------------------------------------------------*/
-static
-void unRLE_obuf_to_output_SMALL ( DState* s )
-{
- UChar k1;
-
- if (s->blockRandomised) {
-
- while (True) {
- /* try to finish existing run */
- while (True) {
- if (s->strm->avail_out == 0) return;
- if (s->state_out_len == 0) break;
- *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
- BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
- s->state_out_len--;
- s->strm->next_out++;
- s->strm->avail_out--;
- s->strm->total_out_lo32++;
- if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
- }
-
- /* can a new run be started? */
- if (s->nblock_used == s->save_nblock+1) return;
-
-
- s->state_out_len = 1;
- s->state_out_ch = s->k0;
- BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 2;
- BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 3;
- BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- s->state_out_len = ((Int32)k1) + 4;
- BZ_GET_SMALL(s->k0); BZ_RAND_UPD_MASK;
- s->k0 ^= BZ_RAND_MASK; s->nblock_used++;
- }
-
- } else {
-
- while (True) {
- /* try to finish existing run */
- while (True) {
- if (s->strm->avail_out == 0) return;
- if (s->state_out_len == 0) break;
- *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
- BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
- s->state_out_len--;
- s->strm->next_out++;
- s->strm->avail_out--;
- s->strm->total_out_lo32++;
- if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
- }
-
- /* can a new run be started? */
- if (s->nblock_used == s->save_nblock+1) return;
-
- s->state_out_len = 1;
- s->state_out_ch = s->k0;
- BZ_GET_SMALL(k1); s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 2;
- BZ_GET_SMALL(k1); s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 3;
- BZ_GET_SMALL(k1); s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- BZ_GET_SMALL(k1); s->nblock_used++;
- s->state_out_len = ((Int32)k1) + 4;
- BZ_GET_SMALL(s->k0); s->nblock_used++;
- }
-
- }
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzDecompress) ( bz_stream *strm )
-{
- DState* s;
- if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
- if (s == NULL) return BZ_PARAM_ERROR;
- if (s->strm != strm) return BZ_PARAM_ERROR;
-
- while (True) {
- if (s->state == BZ_X_IDLE) return BZ_SEQUENCE_ERROR;
- if (s->state == BZ_X_OUTPUT) {
- if (s->smallDecompress)
- unRLE_obuf_to_output_SMALL ( s ); else
- unRLE_obuf_to_output_FAST ( s );
- if (s->nblock_used == s->save_nblock+1 && s->state_out_len == 0) {
- BZ_FINALISE_CRC ( s->calculatedBlockCRC );
- if (s->verbosity >= 3)
- VPrintf2 ( " {0x%x, 0x%x}", s->storedBlockCRC,
- s->calculatedBlockCRC );
- if (s->verbosity >= 2) VPrintf0 ( "]" );
- if (s->calculatedBlockCRC != s->storedBlockCRC)
- return BZ_DATA_ERROR;
- s->calculatedCombinedCRC
- = (s->calculatedCombinedCRC << 1) |
- (s->calculatedCombinedCRC >> 31);
- s->calculatedCombinedCRC ^= s->calculatedBlockCRC;
- s->state = BZ_X_BLKHDR_1;
- } else {
- return BZ_OK;
- }
- }
- if (s->state >= BZ_X_MAGIC_1) {
- Int32 r = BZ2_decompress ( s );
- if (r == BZ_STREAM_END) {
- if (s->verbosity >= 3)
- VPrintf2 ( "\n combined CRCs: stored = 0x%x, computed = 0x%x",
- s->storedCombinedCRC, s->calculatedCombinedCRC );
- if (s->calculatedCombinedCRC != s->storedCombinedCRC)
- return BZ_DATA_ERROR;
- return r;
- }
- if (s->state != BZ_X_OUTPUT) return r;
- }
- }
-
- AssertH ( 0, 6001 );
-
- return 0; /*NOTREACHED*/
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzDecompressEnd) ( bz_stream *strm )
-{
- DState* s;
- if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
- if (s == NULL) return BZ_PARAM_ERROR;
- if (s->strm != strm) return BZ_PARAM_ERROR;
-
- if (s->tt != NULL) BZFREE(s->tt);
- if (s->ll16 != NULL) BZFREE(s->ll16);
- if (s->ll4 != NULL) BZFREE(s->ll4);
-
- BZFREE(strm->state);
- strm->state = NULL;
-
- return BZ_OK;
-}
-
-
-#ifndef BZ_NO_STDIO
-/*---------------------------------------------------*/
-/*--- File I/O stuff ---*/
-/*---------------------------------------------------*/
-
-#define BZ_SETERR(eee) \
-{ \
- if (bzerror != NULL) *bzerror = eee; \
- if (bzf != NULL) bzf->lastErr = eee; \
-}
-
-typedef
- struct {
- FILE* handle;
- Char buf[BZ_MAX_UNUSED];
- Int32 bufN;
- Bool writing;
- bz_stream strm;
- Int32 lastErr;
- Bool initialisedOk;
- }
- bzFile;
-
-
-/*---------------------------------------------*/
-static Bool myfeof ( FILE* f )
-{
- Int32 c = fgetc ( f );
- if (c == EOF) return True;
- ungetc ( c, f );
- return False;
-}
-
-
-/*---------------------------------------------------*/
-BZFILE* BZ_API(BZ2_bzWriteOpen)
- ( int* bzerror,
- FILE* f,
- int blockSize100k,
- int verbosity,
- int workFactor )
-{
- Int32 ret;
- bzFile* bzf = NULL;
-
- BZ_SETERR(BZ_OK);
-
- if (f == NULL ||
- (blockSize100k < 1 || blockSize100k > 9) ||
- (workFactor < 0 || workFactor > 250) ||
- (verbosity < 0 || verbosity > 4))
- { BZ_SETERR(BZ_PARAM_ERROR); return NULL; };
-
- if (ferror(f))
- { BZ_SETERR(BZ_IO_ERROR); return NULL; };
-
- bzf = malloc ( sizeof(bzFile) );
- if (bzf == NULL)
- { BZ_SETERR(BZ_MEM_ERROR); return NULL; };
-
- BZ_SETERR(BZ_OK);
- bzf->initialisedOk = False;
- bzf->bufN = 0;
- bzf->handle = f;
- bzf->writing = True;
- bzf->strm.bzalloc = NULL;
- bzf->strm.bzfree = NULL;
- bzf->strm.opaque = NULL;
-
- if (workFactor == 0) workFactor = 30;
- ret = BZ2_bzCompressInit ( &(bzf->strm), blockSize100k,
- verbosity, workFactor );
- if (ret != BZ_OK)
- { BZ_SETERR(ret); free(bzf); return NULL; };
-
- bzf->strm.avail_in = 0;
- bzf->initialisedOk = True;
- return bzf;
-}
-
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzWrite)
- ( int* bzerror,
- BZFILE* b,
- void* buf,
- int len )
-{
- Int32 n, n2, ret;
- bzFile* bzf = (bzFile*)b;
-
- BZ_SETERR(BZ_OK);
- if (bzf == NULL || buf == NULL || len < 0)
- { BZ_SETERR(BZ_PARAM_ERROR); return; };
- if (!(bzf->writing))
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
-
- if (len == 0)
- { BZ_SETERR(BZ_OK); return; };
-
- bzf->strm.avail_in = len;
- bzf->strm.next_in = buf;
-
- while (True) {
- bzf->strm.avail_out = BZ_MAX_UNUSED;
- bzf->strm.next_out = bzf->buf;
- ret = BZ2_bzCompress ( &(bzf->strm), BZ_RUN );
- if (ret != BZ_RUN_OK)
- { BZ_SETERR(ret); return; };
-
- if (bzf->strm.avail_out < BZ_MAX_UNUSED) {
- n = BZ_MAX_UNUSED - bzf->strm.avail_out;
- n2 = fwrite ( (void*)(bzf->buf), sizeof(UChar),
- n, bzf->handle );
- if (n != n2 || ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
- }
-
- if (bzf->strm.avail_in == 0)
- { BZ_SETERR(BZ_OK); return; };
- }
-}
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzWriteClose)
- ( int* bzerror,
- BZFILE* b,
- int abandon,
- unsigned int* nbytes_in,
- unsigned int* nbytes_out )
-{
- BZ2_bzWriteClose64 ( bzerror, b, abandon,
- nbytes_in, NULL, nbytes_out, NULL );
-}
-
-
-void BZ_API(BZ2_bzWriteClose64)
- ( int* bzerror,
- BZFILE* b,
- int abandon,
- unsigned int* nbytes_in_lo32,
- unsigned int* nbytes_in_hi32,
- unsigned int* nbytes_out_lo32,
- unsigned int* nbytes_out_hi32 )
-{
- Int32 n, n2, ret;
- bzFile* bzf = (bzFile*)b;
-
- if (bzf == NULL)
- { BZ_SETERR(BZ_OK); return; };
- if (!(bzf->writing))
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
-
- if (nbytes_in_lo32 != NULL) *nbytes_in_lo32 = 0;
- if (nbytes_in_hi32 != NULL) *nbytes_in_hi32 = 0;
- if (nbytes_out_lo32 != NULL) *nbytes_out_lo32 = 0;
- if (nbytes_out_hi32 != NULL) *nbytes_out_hi32 = 0;
-
- if ((!abandon) && bzf->lastErr == BZ_OK) {
- while (True) {
- bzf->strm.avail_out = BZ_MAX_UNUSED;
- bzf->strm.next_out = bzf->buf;
- ret = BZ2_bzCompress ( &(bzf->strm), BZ_FINISH );
- if (ret != BZ_FINISH_OK && ret != BZ_STREAM_END)
- { BZ_SETERR(ret); return; };
-
- if (bzf->strm.avail_out < BZ_MAX_UNUSED) {
- n = BZ_MAX_UNUSED - bzf->strm.avail_out;
- n2 = fwrite ( (void*)(bzf->buf), sizeof(UChar),
- n, bzf->handle );
- if (n != n2 || ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
- }
-
- if (ret == BZ_STREAM_END) break;
- }
- }
-
- if ( !abandon && !ferror ( bzf->handle ) ) {
- fflush ( bzf->handle );
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
- }
-
- if (nbytes_in_lo32 != NULL)
- *nbytes_in_lo32 = bzf->strm.total_in_lo32;
- if (nbytes_in_hi32 != NULL)
- *nbytes_in_hi32 = bzf->strm.total_in_hi32;
- if (nbytes_out_lo32 != NULL)
- *nbytes_out_lo32 = bzf->strm.total_out_lo32;
- if (nbytes_out_hi32 != NULL)
- *nbytes_out_hi32 = bzf->strm.total_out_hi32;
-
- BZ_SETERR(BZ_OK);
- BZ2_bzCompressEnd ( &(bzf->strm) );
- free ( bzf );
-}
-
-
-/*---------------------------------------------------*/
-BZFILE* BZ_API(BZ2_bzReadOpen)
- ( int* bzerror,
- FILE* f,
- int verbosity,
- int small,
- void* unused,
- int nUnused )
-{
- bzFile* bzf = NULL;
- int ret;
-
- BZ_SETERR(BZ_OK);
-
- if (f == NULL ||
- (small != 0 && small != 1) ||
- (verbosity < 0 || verbosity > 4) ||
- (unused == NULL && nUnused != 0) ||
- (unused != NULL && (nUnused < 0 || nUnused > BZ_MAX_UNUSED)))
- { BZ_SETERR(BZ_PARAM_ERROR); return NULL; };
-
- if (ferror(f))
- { BZ_SETERR(BZ_IO_ERROR); return NULL; };
-
- bzf = malloc ( sizeof(bzFile) );
- if (bzf == NULL)
- { BZ_SETERR(BZ_MEM_ERROR); return NULL; };
-
- BZ_SETERR(BZ_OK);
-
- bzf->initialisedOk = False;
- bzf->handle = f;
- bzf->bufN = 0;
- bzf->writing = False;
- bzf->strm.bzalloc = NULL;
- bzf->strm.bzfree = NULL;
- bzf->strm.opaque = NULL;
-
- while (nUnused > 0) {
- bzf->buf[bzf->bufN] = *((UChar*)(unused)); bzf->bufN++;
- unused = ((void*)( 1 + ((UChar*)(unused)) ));
- nUnused--;
- }
-
- ret = BZ2_bzDecompressInit ( &(bzf->strm), verbosity, small );
- if (ret != BZ_OK)
- { BZ_SETERR(ret); free(bzf); return NULL; };
-
- bzf->strm.avail_in = bzf->bufN;
- bzf->strm.next_in = bzf->buf;
-
- bzf->initialisedOk = True;
- return bzf;
-}
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzReadClose) ( int *bzerror, BZFILE *b )
-{
- bzFile* bzf = (bzFile*)b;
-
- BZ_SETERR(BZ_OK);
- if (bzf == NULL)
- { BZ_SETERR(BZ_OK); return; };
-
- if (bzf->writing)
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
-
- if (bzf->initialisedOk)
- (void)BZ2_bzDecompressEnd ( &(bzf->strm) );
- free ( bzf );
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzRead)
- ( int* bzerror,
- BZFILE* b,
- void* buf,
- int len )
-{
- Int32 n, ret;
- bzFile* bzf = (bzFile*)b;
-
- BZ_SETERR(BZ_OK);
-
- if (bzf == NULL || buf == NULL || len < 0)
- { BZ_SETERR(BZ_PARAM_ERROR); return 0; };
-
- if (bzf->writing)
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return 0; };
-
- if (len == 0)
- { BZ_SETERR(BZ_OK); return 0; };
-
- bzf->strm.avail_out = len;
- bzf->strm.next_out = buf;
-
- while (True) {
-
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return 0; };
-
- if (bzf->strm.avail_in == 0 && !myfeof(bzf->handle)) {
- n = fread ( bzf->buf, sizeof(UChar),
- BZ_MAX_UNUSED, bzf->handle );
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return 0; };
- bzf->bufN = n;
- bzf->strm.avail_in = bzf->bufN;
- bzf->strm.next_in = bzf->buf;
- }
-
- ret = BZ2_bzDecompress ( &(bzf->strm) );
-
- if (ret != BZ_OK && ret != BZ_STREAM_END)
- { BZ_SETERR(ret); return 0; };
-
- if (ret == BZ_OK && myfeof(bzf->handle) &&
- bzf->strm.avail_in == 0 && bzf->strm.avail_out > 0)
- { BZ_SETERR(BZ_UNEXPECTED_EOF); return 0; };
-
- if (ret == BZ_STREAM_END)
- { BZ_SETERR(BZ_STREAM_END);
- return len - bzf->strm.avail_out; };
- if (bzf->strm.avail_out == 0)
- { BZ_SETERR(BZ_OK); return len; };
-
- }
-
- return 0; /*not reached*/
-}
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzReadGetUnused)
- ( int* bzerror,
- BZFILE* b,
- void** unused,
- int* nUnused )
-{
- bzFile* bzf = (bzFile*)b;
- if (bzf == NULL)
- { BZ_SETERR(BZ_PARAM_ERROR); return; };
- if (bzf->lastErr != BZ_STREAM_END)
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
- if (unused == NULL || nUnused == NULL)
- { BZ_SETERR(BZ_PARAM_ERROR); return; };
-
- BZ_SETERR(BZ_OK);
- *nUnused = bzf->strm.avail_in;
- *unused = bzf->strm.next_in;
-}
-#endif
-
-
-/*---------------------------------------------------*/
-/*--- Misc convenience stuff ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzBuffToBuffCompress)
- ( char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int blockSize100k,
- int verbosity,
- int workFactor )
-{
- bz_stream strm;
- int ret;
-
- if (dest == NULL || destLen == NULL ||
- source == NULL ||
- blockSize100k < 1 || blockSize100k > 9 ||
- verbosity < 0 || verbosity > 4 ||
- workFactor < 0 || workFactor > 250)
- return BZ_PARAM_ERROR;
-
- if (workFactor == 0) workFactor = 30;
- strm.bzalloc = NULL;
- strm.bzfree = NULL;
- strm.opaque = NULL;
- ret = BZ2_bzCompressInit ( &strm, blockSize100k,
- verbosity, workFactor );
- if (ret != BZ_OK) return ret;
-
- strm.next_in = source;
- strm.next_out = dest;
- strm.avail_in = sourceLen;
- strm.avail_out = *destLen;
-
- ret = BZ2_bzCompress ( &strm, BZ_FINISH );
- if (ret == BZ_FINISH_OK) goto output_overflow;
- if (ret != BZ_STREAM_END) goto errhandler;
-
- /* normal termination */
- *destLen -= strm.avail_out;
- BZ2_bzCompressEnd ( &strm );
- return BZ_OK;
-
- output_overflow:
- BZ2_bzCompressEnd ( &strm );
- return BZ_OUTBUFF_FULL;
-
- errhandler:
- BZ2_bzCompressEnd ( &strm );
- return ret;
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzBuffToBuffDecompress)
- ( char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int small,
- int verbosity )
-{
- bz_stream strm;
- int ret;
-
- if (dest == NULL || destLen == NULL ||
- source == NULL ||
- (small != 0 && small != 1) ||
- verbosity < 0 || verbosity > 4)
- return BZ_PARAM_ERROR;
-
- strm.bzalloc = NULL;
- strm.bzfree = NULL;
- strm.opaque = NULL;
- ret = BZ2_bzDecompressInit ( &strm, verbosity, small );
- if (ret != BZ_OK) return ret;
-
- strm.next_in = source;
- strm.next_out = dest;
- strm.avail_in = sourceLen;
- strm.avail_out = *destLen;
-
- ret = BZ2_bzDecompress ( &strm );
- if (ret == BZ_OK) goto output_overflow_or_eof;
- if (ret != BZ_STREAM_END) goto errhandler;
-
- /* normal termination */
- *destLen -= strm.avail_out;
- BZ2_bzDecompressEnd ( &strm );
- return BZ_OK;
-
- output_overflow_or_eof:
- if (strm.avail_out > 0) {
- BZ2_bzDecompressEnd ( &strm );
- return BZ_UNEXPECTED_EOF;
- } else {
- BZ2_bzDecompressEnd ( &strm );
- return BZ_OUTBUFF_FULL;
- };
-
- errhandler:
- BZ2_bzDecompressEnd ( &strm );
- return ret;
-}
-
-
-/*---------------------------------------------------*/
-/*--
- Code contributed by Yoshioka Tsuneo
- (QWF00133@niftyserve.or.jp/tsuneo-y@is.aist-nara.ac.jp),
- to support better zlib compatibility.
- This code is not _officially_ part of libbzip2 (yet);
- I haven't tested it, documented it, or considered the
- threading-safeness of it.
- If this code breaks, please contact both Yoshioka and me.
---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-/*--
- return version like "0.9.0c".
---*/
-const char * BZ_API(BZ2_bzlibVersion)(void)
-{
- return BZ_VERSION;
-}
-
-
-#ifndef BZ_NO_STDIO
-/*---------------------------------------------------*/
-
-static
-BZFILE * bzopen_or_bzdopen
- ( const char *path, /* no use when bzdopen */
- int fd, /* no use when bzdopen */
- const char *mode,
- int open_mode) /* bzopen: 0, bzdopen:1 */
-{
- int bzerr;
- char unused[BZ_MAX_UNUSED];
- int blockSize100k = 9;
- int writing = 0;
- char mode2[10] = "";
- FILE *fp = NULL;
- BZFILE *bzfp = NULL;
- int verbosity = 0;
- int workFactor = 30;
- int smallMode = 0;
- int nUnused = 0;
-
- if (mode == NULL) return NULL;
- while (*mode) {
- switch (*mode) {
- case 'r':
- writing = 0; break;
- case 'w':
- writing = 1; break;
- case 's':
- smallMode = 1; break;
- default:
- if (isdigit((int)(*mode))) {
- blockSize100k = *mode-BZ_HDR_0;
- }
- }
- mode++;
- }
- strcat(mode2, writing ? "w" : "r" );
- strcat(mode2,"b"); /* binary mode */
-
- if (open_mode==0) {
- if (path==NULL || strcmp(path,"")==0) {
- fp = (writing ? stdout : stdin);
- } else {
- fp = fopen(path,mode2);
- }
- } else {
-#ifdef BZ_STRICT_ANSI
- fp = NULL;
-#else
- fp = fdopen(fd,mode2);
-#endif
- }
- if (fp == NULL) return NULL;
-
- if (writing) {
- /* Guard against total chaos and anarchy -- JRS */
- if (blockSize100k < 1) blockSize100k = 1;
- if (blockSize100k > 9) blockSize100k = 9;
- bzfp = BZ2_bzWriteOpen(&bzerr,fp,blockSize100k,
- verbosity,workFactor);
- } else {
- bzfp = BZ2_bzReadOpen(&bzerr,fp,verbosity,smallMode,
- unused,nUnused);
- }
- if (bzfp == NULL) {
- if (fp != stdin && fp != stdout) fclose(fp);
- return NULL;
- }
- return bzfp;
-}
-
-
-/*---------------------------------------------------*/
-/*--
- open file for read or write.
- ex) bzopen("file","w9")
- case path="" or NULL => use stdin or stdout.
---*/
-BZFILE * BZ_API(BZ2_bzopen)
- ( const char *path,
- const char *mode )
-{
- return bzopen_or_bzdopen(path,-1,mode,/*bzopen*/0);
-}
-
-
-/*---------------------------------------------------*/
-BZFILE * BZ_API(BZ2_bzdopen)
- ( int fd,
- const char *mode )
-{
- return bzopen_or_bzdopen(NULL,fd,mode,/*bzdopen*/1);
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzread) (BZFILE* b, void* buf, int len )
-{
- int bzerr, nread;
- if (((bzFile*)b)->lastErr == BZ_STREAM_END) return 0;
- nread = BZ2_bzRead(&bzerr,b,buf,len);
- if (bzerr == BZ_OK || bzerr == BZ_STREAM_END) {
- return nread;
- } else {
- return -1;
- }
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzwrite) (BZFILE* b, void* buf, int len )
-{
- int bzerr;
-
- BZ2_bzWrite(&bzerr,b,buf,len);
- if(bzerr == BZ_OK){
- return len;
- }else{
- return -1;
- }
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzflush) (BZFILE *b)
-{
- /* do nothing now... */
- return 0;
-}
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzclose) (BZFILE* b)
-{
- int bzerr;
- FILE *fp = ((bzFile *)b)->handle;
-
- if (b==NULL) {return;}
- if(((bzFile*)b)->writing){
- BZ2_bzWriteClose(&bzerr,b,0,NULL,NULL);
- if(bzerr != BZ_OK){
- BZ2_bzWriteClose(NULL,b,1,NULL,NULL);
- }
- }else{
- BZ2_bzReadClose(&bzerr,b);
- }
- if(fp!=stdin && fp!=stdout){
- fclose(fp);
- }
-}
-
-
-/*---------------------------------------------------*/
-/*--
- return last error code
---*/
-static char *bzerrorstrings[] = {
- "OK"
- ,"SEQUENCE_ERROR"
- ,"PARAM_ERROR"
- ,"MEM_ERROR"
- ,"DATA_ERROR"
- ,"DATA_ERROR_MAGIC"
- ,"IO_ERROR"
- ,"UNEXPECTED_EOF"
- ,"OUTBUFF_FULL"
- ,"CONFIG_ERROR"
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
-};
-
-
-const char * BZ_API(BZ2_bzerror) (BZFILE *b, int *errnum)
-{
- int err = ((bzFile *)b)->lastErr;
-
- if(err>0) err = 0;
- *errnum = err;
- return bzerrorstrings[err*-1];
-}
-#endif
-
-
-/*-------------------------------------------------------------*/
-/*--- end bzlib.c ---*/
-/*-------------------------------------------------------------*/
-
-/*-----------------------------------------------------------*/
-/*--- A block-sorting, lossless compressor bzip2.c ---*/
-/*-----------------------------------------------------------*/
-
-
-
-/*----------------------------------------------------*/
-/*--- IMPORTANT ---*/
-/*----------------------------------------------------*/
-
-/*--
- WARNING:
- This program and library (attempts to) compress data by
- performing several non-trivial transformations on it.
- Unless you are 100% familiar with *all* the algorithms
- contained herein, and with the consequences of modifying them,
- you should NOT meddle with the compression or decompression
- machinery. Incorrect changes can and very likely *will*
- lead to disasterous loss of data.
-
- DISCLAIMER:
- I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE
- USE OF THIS PROGRAM, HOWSOEVER CAUSED.
-
- Every compression of a file implies an assumption that the
- compressed file can be decompressed to reproduce the original.
- Great efforts in design, coding and testing have been made to
- ensure that this program works correctly. However, the
- complexity of the algorithms, and, in particular, the presence
- of various special cases in the code which occur with very low
- but non-zero probability make it impossible to rule out the
- possibility of bugs remaining in the program. DO NOT COMPRESS
- ANY DATA WITH THIS PROGRAM AND/OR LIBRARY UNLESS YOU ARE PREPARED
- TO ACCEPT THE POSSIBILITY, HOWEVER SMALL, THAT THE DATA WILL
- NOT BE RECOVERABLE.
-
- That is not to say this program is inherently unreliable.
- Indeed, I very much hope the opposite is true. bzip2/libbzip2
- has been carefully constructed and extensively tested.
-
- PATENTS:
- To the best of my knowledge, bzip2/libbzip2 does not use any
- patented algorithms. However, I do not have the resources
- available to carry out a full patent search. Therefore I cannot
- give any guarantee of the above statement.
---*/
-
-
-
-/*----------------------------------------------------*/
-/*--- and now for something much more pleasant :-) ---*/
-/*----------------------------------------------------*/
-
-/*---------------------------------------------*/
-/*--
- Place a 1 beside your platform, and 0 elsewhere.
---*/
-
-/*--
- Generic 32-bit Unix.
- Also works on 64-bit Unix boxes.
- This is the default.
---*/
-#define BZ_UNIX 1
-
-/*--
- Win32, as seen by Jacob Navia's excellent
- port of (Chris Fraser & David Hanson)'s excellent
- lcc compiler. Or with MS Visual C.
- This is selected automatically if compiled by a compiler which
- defines _WIN32, not including the Cygwin GCC.
---*/
-#define BZ_LCCWIN32 0
-
-#if defined(_WIN32) && !defined(__CYGWIN__)
-#undef BZ_LCCWIN32
-#define BZ_LCCWIN32 1
-#undef BZ_UNIX
-#define BZ_UNIX 0
-#endif
-
-
-/*---------------------------------------------*/
-/*--
- Some stuff for all platforms.
---*/
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#define ERROR_IF_EOF(i) { if ((i) == EOF) ioError(); }
-#define ERROR_IF_NOT_ZERO(i) { if ((i) != 0) ioError(); }
-#define ERROR_IF_MINUS_ONE(i) { if ((i) == (-1)) ioError(); }
-
-
-/*---------------------------------------------*/
-/*--
- Platform-specific stuff.
---*/
-
-#if BZ_UNIX
-# include
-# include
-# include
-# include
-# include
-# include
-
-# define PATH_SEP '/'
-# define MY_LSTAT lstat
-# define MY_STAT stat
-# define MY_S_ISREG S_ISREG
-# define MY_S_ISDIR S_ISDIR
-
-# define APPEND_FILESPEC(root, name) \
- root=snocString((root), (name))
-
-# define APPEND_FLAG(root, name) \
- root=snocString((root), (name))
-
-# define SET_BINARY_MODE(fd) /**/
-
-# ifdef __GNUC__
-# define NORETURN __attribute__ ((noreturn))
-# else
-# define NORETURN /**/
-# endif
-
-# ifdef __DJGPP__
-# include
-# include
-# undef MY_LSTAT
-# undef MY_STAT
-# define MY_LSTAT stat
-# define MY_STAT stat
-# undef SET_BINARY_MODE
-# define SET_BINARY_MODE(fd) \
- do { \
- int retVal = setmode ( fileno ( fd ), \
- O_BINARY ); \
- ERROR_IF_MINUS_ONE ( retVal ); \
- } while ( 0 )
-# endif
-
-# ifdef __CYGWIN__
-# include
-# include
-# undef SET_BINARY_MODE
-# define SET_BINARY_MODE(fd) \
- do { \
- int retVal = setmode ( fileno ( fd ), \
- O_BINARY ); \
- ERROR_IF_MINUS_ONE ( retVal ); \
- } while ( 0 )
-# endif
-#endif /* BZ_UNIX */
-
-
-
-#if BZ_LCCWIN32
-# include
-# include
-# include
-
-# define NORETURN /**/
-# define PATH_SEP '\\'
-# define MY_LSTAT _stat
-# define MY_STAT _stat
-# define MY_S_ISREG(x) ((x) & _S_IFREG)
-# define MY_S_ISDIR(x) ((x) & _S_IFDIR)
-
-# define APPEND_FLAG(root, name) \
- root=snocString((root), (name))
-
-# define APPEND_FILESPEC(root, name) \
- root = snocString ((root), (name))
-
-# define SET_BINARY_MODE(fd) \
- do { \
- int retVal = setmode ( fileno ( fd ), \
- O_BINARY ); \
- ERROR_IF_MINUS_ONE ( retVal ); \
- } while ( 0 )
-
-#endif /* BZ_LCCWIN32 */
-
-
-/*---------------------------------------------*/
-/*--
- Some more stuff for all platforms :-)
---*/
-
-#define True ((Bool)1)
-#define False ((Bool)0)
-
-/*--
- IntNative is your platform's `native' int size.
- Only here to avoid probs with 64-bit platforms.
---*/
-typedef int IntNative;
-
-
-/*---------------------------------------------------*/
-/*--- Misc (file handling) data decls ---*/
-/*---------------------------------------------------*/
-
-Int32 verbosity;
-Bool keepInputFiles, smallMode, deleteOutputOnInterrupt;
-Bool forceOverwrite, testFailsExist, unzFailsExist, noisy;
-Int32 numFileNames, numFilesProcessed, blockSize100k;
-Int32 exitValue;
-
-/*-- source modes; F==file, I==stdin, O==stdout --*/
-#define SM_I2O 1
-#define SM_F2O 2
-#define SM_F2F 3
-
-/*-- operation modes --*/
-#define OM_Z 1
-#define OM_UNZ 2
-#define OM_TEST 3
-
-Int32 opMode;
-Int32 srcMode;
-
-#define FILE_NAME_LEN 1034
-
-Int32 longestFileName;
-Char inName [FILE_NAME_LEN];
-Char outName[FILE_NAME_LEN];
-Char tmpName[FILE_NAME_LEN];
-Char *progName;
-Char progNameReally[FILE_NAME_LEN];
-FILE *outputHandleJustInCase;
-Int32 workFactor;
-
-static void panic ( Char* ) NORETURN;
-static void ioError ( void ) NORETURN;
-static void outOfMemory ( void ) NORETURN;
-static void configError ( void ) NORETURN;
-static void crcError ( void ) NORETURN;
-static void cleanUpAndFail ( Int32 ) NORETURN;
-static void compressedStreamEOF ( void ) NORETURN;
-
-static void copyFileName ( Char*, Char* );
-static void* myMalloc ( Int32 );
-
-
-
-/*---------------------------------------------------*/
-/*--- An implementation of 64-bit ints. Sigh. ---*/
-/*--- Roll on widespread deployment of ANSI C9X ! ---*/
-/*---------------------------------------------------*/
-
-typedef
- struct { UChar b[8]; }
- UInt64;
-
-
-static
-void uInt64_from_UInt32s ( UInt64* n, UInt32 lo32, UInt32 hi32 )
-{
- n->b[7] = (UChar)((hi32 >> 24) & 0xFF);
- n->b[6] = (UChar)((hi32 >> 16) & 0xFF);
- n->b[5] = (UChar)((hi32 >> 8) & 0xFF);
- n->b[4] = (UChar) (hi32 & 0xFF);
- n->b[3] = (UChar)((lo32 >> 24) & 0xFF);
- n->b[2] = (UChar)((lo32 >> 16) & 0xFF);
- n->b[1] = (UChar)((lo32 >> 8) & 0xFF);
- n->b[0] = (UChar) (lo32 & 0xFF);
-}
-
-
-static
-double uInt64_to_double ( UInt64* n )
-{
- Int32 i;
- double base = 1.0;
- double sum = 0.0;
- for (i = 0; i < 8; i++) {
- sum += base * (double)(n->b[i]);
- base *= 256.0;
- }
- return sum;
-}
-
-
-static
-Bool uInt64_isZero ( UInt64* n )
-{
- Int32 i;
- for (i = 0; i < 8; i++)
- if (n->b[i] != 0) return 0;
- return 1;
-}
-
-
-/* Divide *n by 10, and return the remainder. */
-static
-Int32 uInt64_qrm10 ( UInt64* n )
-{
- UInt32 rem, tmp;
- Int32 i;
- rem = 0;
- for (i = 7; i >= 0; i--) {
- tmp = rem * 256 + n->b[i];
- n->b[i] = tmp / 10;
- rem = tmp % 10;
- }
- return rem;
-}
-
-
-/* ... and the Whole Entire Point of all this UInt64 stuff is
- so that we can supply the following function.
-*/
-static
-void uInt64_toAscii ( char* outbuf, UInt64* n )
-{
- Int32 i, q;
- UChar buf[32];
- Int32 nBuf = 0;
- UInt64 n_copy = *n;
- do {
- q = uInt64_qrm10 ( &n_copy );
- buf[nBuf] = q + '0';
- nBuf++;
- } while (!uInt64_isZero(&n_copy));
- outbuf[nBuf] = 0;
- for (i = 0; i < nBuf; i++)
- outbuf[i] = buf[nBuf-i-1];
-}
-
-
-/*---------------------------------------------------*/
-/*--- Processing of complete files and streams ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------*/
-
-/*---------------------------------------------*/
-static
-void compressStream ( FILE *stream, FILE *zStream )
-{
- BZFILE* bzf = NULL;
- UChar ibuf[5000];
- Int32 nIbuf;
- UInt32 nbytes_in_lo32, nbytes_in_hi32;
- UInt32 nbytes_out_lo32, nbytes_out_hi32;
- Int32 bzerr, bzerr_dummy, ret;
-
- SET_BINARY_MODE(stream);
- SET_BINARY_MODE(zStream);
-
- if (ferror(stream)) goto errhandler_io;
- if (ferror(zStream)) goto errhandler_io;
-
- bzf = BZ2_bzWriteOpen ( &bzerr, zStream,
- blockSize100k, verbosity, workFactor );
- if (bzerr != BZ_OK) goto errhandler;
-
- if (verbosity >= 2) fprintf ( stderr, "\n" );
-
- while (True) {
-
- if (myfeof(stream)) break;
- nIbuf = fread ( ibuf, sizeof(UChar), 5000, stream );
- if (ferror(stream)) goto errhandler_io;
- if (nIbuf > 0) BZ2_bzWrite ( &bzerr, bzf, (void*)ibuf, nIbuf );
- if (bzerr != BZ_OK) goto errhandler;
-
- }
-
- BZ2_bzWriteClose64 ( &bzerr, bzf, 0,
- &nbytes_in_lo32, &nbytes_in_hi32,
- &nbytes_out_lo32, &nbytes_out_hi32 );
- if (bzerr != BZ_OK) goto errhandler;
-
- if (ferror(zStream)) goto errhandler_io;
- ret = fflush ( zStream );
- if (ret == EOF) goto errhandler_io;
- if (zStream != stdout) {
- ret = fclose ( zStream );
- outputHandleJustInCase = NULL;
- if (ret == EOF) goto errhandler_io;
- }
- outputHandleJustInCase = NULL;
- if (ferror(stream)) goto errhandler_io;
- ret = fclose ( stream );
- if (ret == EOF) goto errhandler_io;
-
- if (verbosity >= 1) {
- if (nbytes_in_lo32 == 0 && nbytes_in_hi32 == 0) {
- fprintf ( stderr, " no data compressed.\n");
- } else {
- Char buf_nin[32], buf_nout[32];
- UInt64 nbytes_in, nbytes_out;
- double nbytes_in_d, nbytes_out_d;
- uInt64_from_UInt32s ( &nbytes_in,
- nbytes_in_lo32, nbytes_in_hi32 );
- uInt64_from_UInt32s ( &nbytes_out,
- nbytes_out_lo32, nbytes_out_hi32 );
- nbytes_in_d = uInt64_to_double ( &nbytes_in );
- nbytes_out_d = uInt64_to_double ( &nbytes_out );
- uInt64_toAscii ( buf_nin, &nbytes_in );
- uInt64_toAscii ( buf_nout, &nbytes_out );
- fprintf ( stderr, "%6.3f:1, %6.3f bits/byte, "
- "%5.2f%% saved, %s in, %s out.\n",
- nbytes_in_d / nbytes_out_d,
- (8.0 * nbytes_out_d) / nbytes_in_d,
- 100.0 * (1.0 - nbytes_out_d / nbytes_in_d),
- buf_nin,
- buf_nout
- );
- }
- }
-
- return;
-
- errhandler:
- BZ2_bzWriteClose64 ( &bzerr_dummy, bzf, 1,
- &nbytes_in_lo32, &nbytes_in_hi32,
- &nbytes_out_lo32, &nbytes_out_hi32 );
- switch (bzerr) {
- case BZ_CONFIG_ERROR:
- configError(); break;
- case BZ_MEM_ERROR:
- outOfMemory (); break;
- case BZ_IO_ERROR:
- errhandler_io:
- ioError(); break;
- default:
- panic ( "compress:unexpected error" );
- }
-
- panic ( "compress:end" );
- /*notreached*/
-}
-
-
-
-/*---------------------------------------------*/
-static
-Bool uncompressStream ( FILE *zStream, FILE *stream )
-{
- BZFILE* bzf = NULL;
- Int32 bzerr, bzerr_dummy, ret, nread, streamNo, i;
- UChar obuf[5000];
- UChar unused[BZ_MAX_UNUSED];
- Int32 nUnused;
- UChar* unusedTmp;
-
- nUnused = 0;
- streamNo = 0;
-
- SET_BINARY_MODE(stream);
- SET_BINARY_MODE(zStream);
-
- if (ferror(stream)) goto errhandler_io;
- if (ferror(zStream)) goto errhandler_io;
-
- while (True) {
-
- bzf = BZ2_bzReadOpen (
- &bzerr, zStream, verbosity,
- (int)smallMode, unused, nUnused
- );
- if (bzf == NULL || bzerr != BZ_OK) goto errhandler;
- streamNo++;
-
- while (bzerr == BZ_OK) {
- nread = BZ2_bzRead ( &bzerr, bzf, obuf, 5000 );
- if (bzerr == BZ_DATA_ERROR_MAGIC) goto trycat;
- if ((bzerr == BZ_OK || bzerr == BZ_STREAM_END) && nread > 0)
- fwrite ( obuf, sizeof(UChar), nread, stream );
- if (ferror(stream)) goto errhandler_io;
- }
- if (bzerr != BZ_STREAM_END) goto errhandler;
-
- BZ2_bzReadGetUnused ( &bzerr, bzf, (void**)(&unusedTmp), &nUnused );
- if (bzerr != BZ_OK) panic ( "decompress:bzReadGetUnused" );
-
- for (i = 0; i < nUnused; i++) unused[i] = unusedTmp[i];
-
- BZ2_bzReadClose ( &bzerr, bzf );
- if (bzerr != BZ_OK) panic ( "decompress:bzReadGetUnused" );
-
- if (nUnused == 0 && myfeof(zStream)) break;
- }
-
- closeok:
- if (ferror(zStream)) goto errhandler_io;
- ret = fclose ( zStream );
- if (ret == EOF) goto errhandler_io;
-
- if (ferror(stream)) goto errhandler_io;
- ret = fflush ( stream );
- if (ret != 0) goto errhandler_io;
- if (stream != stdout) {
- ret = fclose ( stream );
- outputHandleJustInCase = NULL;
- if (ret == EOF) goto errhandler_io;
- }
- outputHandleJustInCase = NULL;
- if (verbosity >= 2) fprintf ( stderr, "\n " );
- return True;
-
- trycat:
- if (forceOverwrite) {
- rewind(zStream);
- while (True) {
- if (myfeof(zStream)) break;
- nread = fread ( obuf, sizeof(UChar), 5000, zStream );
- if (ferror(zStream)) goto errhandler_io;
- if (nread > 0) fwrite ( obuf, sizeof(UChar), nread, stream );
- if (ferror(stream)) goto errhandler_io;
- }
- goto closeok;
- }
-
- errhandler:
- BZ2_bzReadClose ( &bzerr_dummy, bzf );
- switch (bzerr) {
- case BZ_CONFIG_ERROR:
- configError(); break;
- case BZ_IO_ERROR:
- errhandler_io:
- ioError(); break;
- case BZ_DATA_ERROR:
- crcError();
- case BZ_MEM_ERROR:
- outOfMemory();
- case BZ_UNEXPECTED_EOF:
- compressedStreamEOF();
- case BZ_DATA_ERROR_MAGIC:
- if (zStream != stdin) fclose(zStream);
- if (stream != stdout) fclose(stream);
- if (streamNo == 1) {
- return False;
- } else {
- if (noisy)
- fprintf ( stderr,
- "\n%s: %s: trailing garbage after EOF ignored\n",
- progName, inName );
- return True;
- }
- default:
- panic ( "decompress:unexpected error" );
- }
-
- panic ( "decompress:end" );
- return True; /*notreached*/
-}
-
-
-/*---------------------------------------------*/
-static
-Bool testStream ( FILE *zStream )
-{
- BZFILE* bzf = NULL;
- Int32 bzerr, bzerr_dummy, ret, nread, streamNo, i;
- UChar obuf[5000];
- UChar unused[BZ_MAX_UNUSED];
- Int32 nUnused;
- UChar* unusedTmp;
-
- nUnused = 0;
- streamNo = 0;
-
- SET_BINARY_MODE(zStream);
- if (ferror(zStream)) goto errhandler_io;
-
- while (True) {
-
- bzf = BZ2_bzReadOpen (
- &bzerr, zStream, verbosity,
- (int)smallMode, unused, nUnused
- );
- if (bzf == NULL || bzerr != BZ_OK) goto errhandler;
- streamNo++;
-
- while (bzerr == BZ_OK) {
- nread = BZ2_bzRead ( &bzerr, bzf, obuf, 5000 );
- if (bzerr == BZ_DATA_ERROR_MAGIC) goto errhandler;
- }
- if (bzerr != BZ_STREAM_END) goto errhandler;
-
- BZ2_bzReadGetUnused ( &bzerr, bzf, (void**)(&unusedTmp), &nUnused );
- if (bzerr != BZ_OK) panic ( "test:bzReadGetUnused" );
-
- for (i = 0; i < nUnused; i++) unused[i] = unusedTmp[i];
-
- BZ2_bzReadClose ( &bzerr, bzf );
- if (bzerr != BZ_OK) panic ( "test:bzReadGetUnused" );
- if (nUnused == 0 && myfeof(zStream)) break;
-
- }
-
- if (ferror(zStream)) goto errhandler_io;
- ret = fclose ( zStream );
- if (ret == EOF) goto errhandler_io;
-
- if (verbosity >= 2) fprintf ( stderr, "\n " );
- return True;
-
- errhandler:
- BZ2_bzReadClose ( &bzerr_dummy, bzf );
- if (verbosity == 0)
- fprintf ( stderr, "%s: %s: ", progName, inName );
- switch (bzerr) {
- case BZ_CONFIG_ERROR:
- configError(); break;
- case BZ_IO_ERROR:
- errhandler_io:
- ioError(); break;
- case BZ_DATA_ERROR:
- fprintf ( stderr,
- "data integrity (CRC) error in data\n" );
- return False;
- case BZ_MEM_ERROR:
- outOfMemory();
- case BZ_UNEXPECTED_EOF:
- fprintf ( stderr,
- "file ends unexpectedly\n" );
- return False;
- case BZ_DATA_ERROR_MAGIC:
- if (zStream != stdin) fclose(zStream);
- if (streamNo == 1) {
- fprintf ( stderr,
- "bad magic number (file not created by bzip2)\n" );
- return False;
- } else {
- if (noisy)
- fprintf ( stderr,
- "trailing garbage after EOF ignored\n" );
- return True;
- }
- default:
- panic ( "test:unexpected error" );
- }
-
- panic ( "test:end" );
- return True; /*notreached*/
-}
-
-
-/*---------------------------------------------------*/
-/*--- Error [non-] handling grunge ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------*/
-static
-void setExit ( Int32 v )
-{
- if (v > exitValue) exitValue = v;
-}
-
-
-/*---------------------------------------------*/
-static
-void cadvise ( void )
-{
- if (noisy)
- fprintf (
- stderr,
- "\nIt is possible that the compressed file(s) have become corrupted.\n"
- "You can use the -tvv option to test integrity of such files.\n\n"
- "You can use the `bzip2recover' program to attempt to recover\n"
- "data from undamaged sections of corrupted files.\n\n"
- );
-}
-
-
-/*---------------------------------------------*/
-static
-void showFileNames ( void )
-{
- if (noisy)
- fprintf (
- stderr,
- "\tInput file = %s, output file = %s\n",
- inName, outName
- );
-}
-
-
-/*---------------------------------------------*/
-static
-void cleanUpAndFail ( Int32 ec )
-{
- IntNative retVal;
- struct MY_STAT statBuf;
-
- if ( srcMode == SM_F2F
- && opMode != OM_TEST
- && deleteOutputOnInterrupt ) {
-
- /* Check whether input file still exists. Delete output file
- only if input exists to avoid loss of data. Joerg Prante, 5
- January 2002. (JRS 06-Jan-2002: other changes in 1.0.2 mean
- this is less likely to happen. But to be ultra-paranoid, we
- do the check anyway.) */
- retVal = MY_STAT ( inName, &statBuf );
- if (retVal == 0) {
- if (noisy)
- fprintf ( stderr,
- "%s: Deleting output file %s, if it exists.\n",
- progName, outName );
- if (outputHandleJustInCase != NULL)
- fclose ( outputHandleJustInCase );
- retVal = remove ( outName );
- if (retVal != 0)
- fprintf ( stderr,
- "%s: WARNING: deletion of output file "
- "(apparently) failed.\n",
- progName );
- } else {
- fprintf ( stderr,
- "%s: WARNING: deletion of output file suppressed\n",
- progName );
- fprintf ( stderr,
- "%s: since input file no longer exists. Output file\n",
- progName );
- fprintf ( stderr,
- "%s: `%s' may be incomplete.\n",
- progName, outName );
- fprintf ( stderr,
- "%s: I suggest doing an integrity test (bzip2 -tv)"
- " of it.\n",
- progName );
- }
- }
-
- if (noisy && numFileNames > 0 && numFilesProcessed < numFileNames) {
- fprintf ( stderr,
- "%s: WARNING: some files have not been processed:\n"
- "%s: %d specified on command line, %d not processed yet.\n\n",
- progName, progName,
- numFileNames, numFileNames - numFilesProcessed );
- }
- setExit(ec);
- exit(exitValue);
-}
-
-
-/*---------------------------------------------*/
-static
-void panic ( Char* s )
-{
- fprintf ( stderr,
- "\n%s: PANIC -- internal consistency error:\n"
- "\t%s\n"
- "\tThis is a BUG. Please report it to me at:\n"
- "\tjseward@acm.org\n",
- progName, s );
- showFileNames();
- cleanUpAndFail( 3 );
-}
-
-
-/*---------------------------------------------*/
-static
-void crcError ( void )
-{
- fprintf ( stderr,
- "\n%s: Data integrity error when decompressing.\n",
- progName );
- showFileNames();
- cadvise();
- cleanUpAndFail( 2 );
-}
-
-
-/*---------------------------------------------*/
-static
-void compressedStreamEOF ( void )
-{
- if (noisy) {
- fprintf ( stderr,
- "\n%s: Compressed file ends unexpectedly;\n\t"
- "perhaps it is corrupted? *Possible* reason follows.\n",
- progName );
- perror ( progName );
- showFileNames();
- cadvise();
- }
- cleanUpAndFail( 2 );
-}
-
-
-/*---------------------------------------------*/
-static
-void ioError ( void )
-{
- fprintf ( stderr,
- "\n%s: I/O or other error, bailing out. "
- "Possible reason follows.\n",
- progName );
- perror ( progName );
- showFileNames();
- cleanUpAndFail( 1 );
-}
-
-
-/*---------------------------------------------*/
-static
-void mySignalCatcher ( IntNative n )
-{
- fprintf ( stderr,
- "\n%s: Control-C or similar caught, quitting.\n",
- progName );
- cleanUpAndFail(1);
-}
-
-
-/*---------------------------------------------*/
-static
-void mySIGSEGVorSIGBUScatcher ( IntNative n )
-{
- if (opMode == OM_Z)
- fprintf (
- stderr,
- "\n%s: Caught a SIGSEGV or SIGBUS whilst compressing.\n"
- "\n"
- " Possible causes are (most likely first):\n"
- " (1) This computer has unreliable memory or cache hardware\n"
- " (a surprisingly common problem; try a different machine.)\n"
- " (2) A bug in the compiler used to create this executable\n"
- " (unlikely, if you didn't compile bzip2 yourself.)\n"
- " (3) A real bug in bzip2 -- I hope this should never be the case.\n"
- " The user's manual, Section 4.3, has more info on (1) and (2).\n"
- " \n"
- " If you suspect this is a bug in bzip2, or are unsure about (1)\n"
- " or (2), feel free to report it to me at: jseward@acm.org.\n"
- " Section 4.3 of the user's manual describes the info a useful\n"
- " bug report should have. If the manual is available on your\n"
- " system, please try and read it before mailing me. If you don't\n"
- " have the manual or can't be bothered to read it, mail me anyway.\n"
- "\n",
- progName );
- else
- fprintf (
- stderr,
- "\n%s: Caught a SIGSEGV or SIGBUS whilst decompressing.\n"
- "\n"
- " Possible causes are (most likely first):\n"
- " (1) The compressed data is corrupted, and bzip2's usual checks\n"
- " failed to detect this. Try bzip2 -tvv my_file.bz2.\n"
- " (2) This computer has unreliable memory or cache hardware\n"
- " (a surprisingly common problem; try a different machine.)\n"
- " (3) A bug in the compiler used to create this executable\n"
- " (unlikely, if you didn't compile bzip2 yourself.)\n"
- " (4) A real bug in bzip2 -- I hope this should never be the case.\n"
- " The user's manual, Section 4.3, has more info on (2) and (3).\n"
- " \n"
- " If you suspect this is a bug in bzip2, or are unsure about (2)\n"
- " or (3), feel free to report it to me at: jseward@acm.org.\n"
- " Section 4.3 of the user's manual describes the info a useful\n"
- " bug report should have. If the manual is available on your\n"
- " system, please try and read it before mailing me. If you don't\n"
- " have the manual or can't be bothered to read it, mail me anyway.\n"
- "\n",
- progName );
-
- showFileNames();
- if (opMode == OM_Z)
- cleanUpAndFail( 3 ); else
- { cadvise(); cleanUpAndFail( 2 ); }
-}
-
-
-/*---------------------------------------------*/
-static
-void outOfMemory ( void )
-{
- fprintf ( stderr,
- "\n%s: couldn't allocate enough memory\n",
- progName );
- showFileNames();
- cleanUpAndFail(1);
-}
-
-
-/*---------------------------------------------*/
-static
-void configError ( void )
-{
- fprintf ( stderr,
- "bzip2: I'm not configured correctly for this platform!\n"
- "\tI require Int32, Int16 and Char to have sizes\n"
- "\tof 4, 2 and 1 bytes to run properly, and they don't.\n"
- "\tProbably you can fix this by defining them correctly,\n"
- "\tand recompiling. Bye!\n" );
- setExit(3);
- exit(exitValue);
-}
-
-
-/*---------------------------------------------------*/
-/*--- The main driver machinery ---*/
-/*---------------------------------------------------*/
-
-/* All rather crufty. The main problem is that input files
- are stat()d multiple times before use. This should be
- cleaned up.
-*/
-
-/*---------------------------------------------*/
-static
-void pad ( Char *s )
-{
- Int32 i;
- if ( (Int32)strlen(s) >= longestFileName ) return;
- for (i = 1; i <= longestFileName - (Int32)strlen(s); i++)
- fprintf ( stderr, " " );
-}
-
-
-/*---------------------------------------------*/
-static
-void copyFileName ( Char* to, Char* from )
-{
- if ( strlen(from) > FILE_NAME_LEN-10 ) {
- fprintf (
- stderr,
- "bzip2: file name\n`%s'\n"
- "is suspiciously (more than %d chars) long.\n"
- "Try using a reasonable file name instead. Sorry! :-)\n",
- from, FILE_NAME_LEN-10
- );
- setExit(1);
- exit(exitValue);
- }
-
- strncpy(to,from,FILE_NAME_LEN-10);
- to[FILE_NAME_LEN-10]='\0';
-}
-
-
-/*---------------------------------------------*/
-static
-Bool fileExists ( Char* name )
-{
- FILE *tmp = fopen ( name, "rb" );
- Bool exists = (tmp != NULL);
- if (tmp != NULL) fclose ( tmp );
- return exists;
-}
-
-
-/*---------------------------------------------*/
-/* Open an output file safely with O_EXCL and good permissions.
- This avoids a race condition in versions < 1.0.2, in which
- the file was first opened and then had its interim permissions
- set safely. We instead use open() to create the file with
- the interim permissions required. (--- --- rw-).
-
- For non-Unix platforms, if we are not worrying about
- security issues, simple this simply behaves like fopen.
-*/
-FILE* fopen_output_safely ( Char* name, const char* mode )
-{
-# if BZ_UNIX
- FILE* fp;
- IntNative fh;
- fh = open(name, O_WRONLY|O_CREAT|O_EXCL, S_IWUSR|S_IRUSR);
- if (fh == -1) return NULL;
- fp = fdopen(fh, mode);
- if (fp == NULL) close(fh);
- return fp;
-# else
- return fopen(name, mode);
-# endif
-}
-
-
-/*---------------------------------------------*/
-/*--
- if in doubt, return True
---*/
-static
-Bool notAStandardFile ( Char* name )
-{
- IntNative i;
- struct MY_STAT statBuf;
-
- i = MY_LSTAT ( name, &statBuf );
- if (i != 0) return True;
- if (MY_S_ISREG(statBuf.st_mode)) return False;
- return True;
-}
-
-
-/*---------------------------------------------*/
-/*--
- rac 11/21/98 see if file has hard links to it
---*/
-static
-Int32 countHardLinks ( Char* name )
-{
- IntNative i;
- struct MY_STAT statBuf;
-
- i = MY_LSTAT ( name, &statBuf );
- if (i != 0) return 0;
- return (statBuf.st_nlink - 1);
-}
-
-
-/*---------------------------------------------*/
-/* Copy modification date, access date, permissions and owner from the
- source to destination file. We have to copy this meta-info off
- into fileMetaInfo before starting to compress / decompress it,
- because doing it afterwards means we get the wrong access time.
-
- To complicate matters, in compress() and decompress() below, the
- sequence of tests preceding the call to saveInputFileMetaInfo()
- involves calling fileExists(), which in turn establishes its result
- by attempting to fopen() the file, and if successful, immediately
- fclose()ing it again. So we have to assume that the fopen() call
- does not cause the access time field to be updated.
-
- Reading of the man page for stat() (man 2 stat) on RedHat 7.2 seems
- to imply that merely doing open() will not affect the access time.
- Therefore we merely need to hope that the C library only does
- open() as a result of fopen(), and not any kind of read()-ahead
- cleverness.
-
- It sounds pretty fragile to me. Whether this carries across
- robustly to arbitrary Unix-like platforms (or even works robustly
- on this one, RedHat 7.2) is unknown to me. Nevertheless ...
-*/
-#if BZ_UNIX
-static
-struct MY_STAT fileMetaInfo;
-#endif
-
-static
-void saveInputFileMetaInfo ( Char *srcName )
-{
-# if BZ_UNIX
- IntNative retVal;
- /* Note use of stat here, not lstat. */
- retVal = MY_STAT( srcName, &fileMetaInfo );
- ERROR_IF_NOT_ZERO ( retVal );
-# endif
-}
-
-
-static
-void applySavedMetaInfoToOutputFile ( Char *dstName )
-{
-# if BZ_UNIX
- IntNative retVal;
- struct utimbuf uTimBuf;
-
- uTimBuf.actime = fileMetaInfo.st_atime;
- uTimBuf.modtime = fileMetaInfo.st_mtime;
-
- retVal = chmod ( dstName, fileMetaInfo.st_mode );
- ERROR_IF_NOT_ZERO ( retVal );
-
- retVal = utime ( dstName, &uTimBuf );
- ERROR_IF_NOT_ZERO ( retVal );
-
- retVal = chown ( dstName, fileMetaInfo.st_uid, fileMetaInfo.st_gid );
- /* chown() will in many cases return with EPERM, which can
- be safely ignored.
- */
-# endif
-}
-
-
-/*---------------------------------------------*/
-static
-Bool containsDubiousChars ( Char* name )
-{
-# if BZ_UNIX
- /* On unix, files can contain any characters and the file expansion
- * is performed by the shell.
- */
- return False;
-# else /* ! BZ_UNIX */
- /* On non-unix (Win* platforms), wildcard characters are not allowed in
- * filenames.
- */
- for (; *name != '\0'; name++)
- if (*name == '?' || *name == '*') return True;
- return False;
-# endif /* BZ_UNIX */
-}
-
-
-/*---------------------------------------------*/
-#define BZ_N_SUFFIX_PAIRS 4
-
-Char* zSuffix[BZ_N_SUFFIX_PAIRS]
- = { ".bz2", ".bz", ".tbz2", ".tbz" };
-Char* unzSuffix[BZ_N_SUFFIX_PAIRS]
- = { "", "", ".tar", ".tar" };
-
-static
-Bool hasSuffix ( Char* s, Char* suffix )
-{
- Int32 ns = strlen(s);
- Int32 nx = strlen(suffix);
- if (ns < nx) return False;
- if (strcmp(s + ns - nx, suffix) == 0) return True;
- return False;
-}
-
-static
-Bool mapSuffix ( Char* name,
- Char* oldSuffix, Char* newSuffix )
-{
- if (!hasSuffix(name,oldSuffix)) return False;
- name[strlen(name)-strlen(oldSuffix)] = 0;
- strcat ( name, newSuffix );
- return True;
-}
-
-
-/*---------------------------------------------*/
-static
-void compress ( Char *name )
-{
- FILE *inStr;
- FILE *outStr;
- Int32 n, i;
- struct MY_STAT statBuf;
-
- deleteOutputOnInterrupt = False;
-
- if (name == NULL && srcMode != SM_I2O)
- panic ( "compress: bad modes\n" );
-
- switch (srcMode) {
- case SM_I2O:
- copyFileName ( inName, "(stdin)" );
- copyFileName ( outName, "(stdout)" );
- break;
- case SM_F2F:
- copyFileName ( inName, name );
- copyFileName ( outName, name );
- strcat ( outName, ".bz2" );
- break;
- case SM_F2O:
- copyFileName ( inName, name );
- copyFileName ( outName, "(stdout)" );
- break;
- }
-
- if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) {
- if (noisy)
- fprintf ( stderr, "%s: There are no files matching `%s'.\n",
- progName, inName );
- setExit(1);
- return;
- }
- if ( srcMode != SM_I2O && !fileExists ( inName ) ) {
- fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
- progName, inName, strerror(errno) );
- setExit(1);
- return;
- }
- for (i = 0; i < BZ_N_SUFFIX_PAIRS; i++) {
- if (hasSuffix(inName, zSuffix[i])) {
- if (noisy)
- fprintf ( stderr,
- "%s: Input file %s already has %s suffix.\n",
- progName, inName, zSuffix[i] );
- setExit(1);
- return;
- }
- }
- if ( srcMode == SM_F2F || srcMode == SM_F2O ) {
- MY_STAT(inName, &statBuf);
- if ( MY_S_ISDIR(statBuf.st_mode) ) {
- fprintf( stderr,
- "%s: Input file %s is a directory.\n",
- progName,inName);
- setExit(1);
- return;
- }
- }
- if ( srcMode == SM_F2F && !forceOverwrite && notAStandardFile ( inName )) {
- if (noisy)
- fprintf ( stderr, "%s: Input file %s is not a normal file.\n",
- progName, inName );
- setExit(1);
- return;
- }
- if ( srcMode == SM_F2F && fileExists ( outName ) ) {
- if (forceOverwrite) {
- remove(outName);
- } else {
- fprintf ( stderr, "%s: Output file %s already exists.\n",
- progName, outName );
- setExit(1);
- return;
- }
- }
- if ( srcMode == SM_F2F && !forceOverwrite &&
- (n=countHardLinks ( inName )) > 0) {
- fprintf ( stderr, "%s: Input file %s has %d other link%s.\n",
- progName, inName, n, n > 1 ? "s" : "" );
- setExit(1);
- return;
- }
-
- if ( srcMode == SM_F2F ) {
- /* Save the file's meta-info before we open it. Doing it later
- means we mess up the access times. */
- saveInputFileMetaInfo ( inName );
- }
-
- switch ( srcMode ) {
-
- case SM_I2O:
- inStr = stdin;
- outStr = stdout;
- if ( isatty ( fileno ( stdout ) ) ) {
- fprintf ( stderr,
- "%s: I won't write compressed data to a terminal.\n",
- progName );
- fprintf ( stderr, "%s: For help, type: `%s --help'.\n",
- progName, progName );
- setExit(1);
- return;
- };
- break;
-
- case SM_F2O:
- inStr = fopen ( inName, "rb" );
- outStr = stdout;
- if ( isatty ( fileno ( stdout ) ) ) {
- fprintf ( stderr,
- "%s: I won't write compressed data to a terminal.\n",
- progName );
- fprintf ( stderr, "%s: For help, type: `%s --help'.\n",
- progName, progName );
- if ( inStr != NULL ) fclose ( inStr );
- setExit(1);
- return;
- };
- if ( inStr == NULL ) {
- fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
- progName, inName, strerror(errno) );
- setExit(1);
- return;
- };
- break;
-
- case SM_F2F:
- inStr = fopen ( inName, "rb" );
- outStr = fopen_output_safely ( outName, "wb" );
- if ( outStr == NULL) {
- fprintf ( stderr, "%s: Can't create output file %s: %s.\n",
- progName, outName, strerror(errno) );
- if ( inStr != NULL ) fclose ( inStr );
- setExit(1);
- return;
- }
- if ( inStr == NULL ) {
- fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
- progName, inName, strerror(errno) );
- if ( outStr != NULL ) fclose ( outStr );
- setExit(1);
- return;
- };
- break;
-
- default:
- panic ( "compress: bad srcMode" );
- break;
- }
-
- if (verbosity >= 1) {
- fprintf ( stderr, " %s: ", inName );
- pad ( inName );
- fflush ( stderr );
- }
-
- /*--- Now the input and output handles are sane. Do the Biz. ---*/
- outputHandleJustInCase = outStr;
- deleteOutputOnInterrupt = True;
- compressStream ( inStr, outStr );
- outputHandleJustInCase = NULL;
-
- /*--- If there was an I/O error, we won't get here. ---*/
- if ( srcMode == SM_F2F ) {
- applySavedMetaInfoToOutputFile ( outName );
- deleteOutputOnInterrupt = False;
- if ( !keepInputFiles ) {
- IntNative retVal = remove ( inName );
- ERROR_IF_NOT_ZERO ( retVal );
- }
- }
-
- deleteOutputOnInterrupt = False;
-}
-
-
-/*---------------------------------------------*/
-static
-void uncompress ( Char *name )
-{
- FILE *inStr;
- FILE *outStr;
- Int32 n, i;
- Bool magicNumberOK;
- Bool cantGuess;
- struct MY_STAT statBuf;
-
- deleteOutputOnInterrupt = False;
-
- if (name == NULL && srcMode != SM_I2O)
- panic ( "uncompress: bad modes\n" );
-
- cantGuess = False;
- switch (srcMode) {
- case SM_I2O:
- copyFileName ( inName, "(stdin)" );
- copyFileName ( outName, "(stdout)" );
- break;
- case SM_F2F:
- copyFileName ( inName, name );
- copyFileName ( outName, name );
- for (i = 0; i < BZ_N_SUFFIX_PAIRS; i++)
- if (mapSuffix(outName,zSuffix[i],unzSuffix[i]))
- goto zzz;
- cantGuess = True;
- strcat ( outName, ".out" );
- break;
- case SM_F2O:
- copyFileName ( inName, name );
- copyFileName ( outName, "(stdout)" );
- break;
- }
-
- zzz:
- if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) {
- if (noisy)
- fprintf ( stderr, "%s: There are no files matching `%s'.\n",
- progName, inName );
- setExit(1);
- return;
- }
- if ( srcMode != SM_I2O && !fileExists ( inName ) ) {
- fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
- progName, inName, strerror(errno) );
- setExit(1);
- return;
- }
- if ( srcMode == SM_F2F || srcMode == SM_F2O ) {
- MY_STAT(inName, &statBuf);
- if ( MY_S_ISDIR(statBuf.st_mode) ) {
- fprintf( stderr,
- "%s: Input file %s is a directory.\n",
- progName,inName);
- setExit(1);
- return;
- }
- }
- if ( srcMode == SM_F2F && !forceOverwrite && notAStandardFile ( inName )) {
- if (noisy)
- fprintf ( stderr, "%s: Input file %s is not a normal file.\n",
- progName, inName );
- setExit(1);
- return;
- }
- if ( /* srcMode == SM_F2F implied && */ cantGuess ) {
- if (noisy)
- fprintf ( stderr,
- "%s: Can't guess original name for %s -- using %s\n",
- progName, inName, outName );
- /* just a warning, no return */
- }
- if ( srcMode == SM_F2F && fileExists ( outName ) ) {
- if (forceOverwrite) {
- remove(outName);
- } else {
- fprintf ( stderr, "%s: Output file %s already exists.\n",
- progName, outName );
- setExit(1);
- return;
- }
- }
- if ( srcMode == SM_F2F && !forceOverwrite &&
- (n=countHardLinks ( inName ) ) > 0) {
- fprintf ( stderr, "%s: Input file %s has %d other link%s.\n",
- progName, inName, n, n > 1 ? "s" : "" );
- setExit(1);
- return;
- }
-
- if ( srcMode == SM_F2F ) {
- /* Save the file's meta-info before we open it. Doing it later
- means we mess up the access times. */
- saveInputFileMetaInfo ( inName );
- }
-
- switch ( srcMode ) {
-
- case SM_I2O:
- inStr = stdin;
- outStr = stdout;
- if ( isatty ( fileno ( stdin ) ) ) {
- fprintf ( stderr,
- "%s: I won't read compressed data from a terminal.\n",
- progName );
- fprintf ( stderr, "%s: For help, type: `%s --help'.\n",
- progName, progName );
- setExit(1);
- return;
- };
- break;
-
- case SM_F2O:
- inStr = fopen ( inName, "rb" );
- outStr = stdout;
- if ( inStr == NULL ) {
- fprintf ( stderr, "%s: Can't open input file %s:%s.\n",
- progName, inName, strerror(errno) );
- if ( inStr != NULL ) fclose ( inStr );
- setExit(1);
- return;
- };
- break;
-
- case SM_F2F:
- inStr = fopen ( inName, "rb" );
- outStr = fopen_output_safely ( outName, "wb" );
- if ( outStr == NULL) {
- fprintf ( stderr, "%s: Can't create output file %s: %s.\n",
- progName, outName, strerror(errno) );
- if ( inStr != NULL ) fclose ( inStr );
- setExit(1);
- return;
- }
- if ( inStr == NULL ) {
- fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
- progName, inName, strerror(errno) );
- if ( outStr != NULL ) fclose ( outStr );
- setExit(1);
- return;
- };
- break;
-
- default:
- panic ( "uncompress: bad srcMode" );
- break;
- }
-
- if (verbosity >= 1) {
- fprintf ( stderr, " %s: ", inName );
- pad ( inName );
- fflush ( stderr );
- }
-
- /*--- Now the input and output handles are sane. Do the Biz. ---*/
- outputHandleJustInCase = outStr;
- deleteOutputOnInterrupt = True;
- magicNumberOK = uncompressStream ( inStr, outStr );
- outputHandleJustInCase = NULL;
-
- /*--- If there was an I/O error, we won't get here. ---*/
- if ( magicNumberOK ) {
- if ( srcMode == SM_F2F ) {
- applySavedMetaInfoToOutputFile ( outName );
- deleteOutputOnInterrupt = False;
- if ( !keepInputFiles ) {
- IntNative retVal = remove ( inName );
- ERROR_IF_NOT_ZERO ( retVal );
- }
- }
- } else {
- unzFailsExist = True;
- deleteOutputOnInterrupt = False;
- if ( srcMode == SM_F2F ) {
- IntNative retVal = remove ( outName );
- ERROR_IF_NOT_ZERO ( retVal );
- }
- }
- deleteOutputOnInterrupt = False;
-
- if ( magicNumberOK ) {
- if (verbosity >= 1)
- fprintf ( stderr, "done\n" );
- } else {
- setExit(2);
- if (verbosity >= 1)
- fprintf ( stderr, "not a bzip2 file.\n" ); else
- fprintf ( stderr,
- "%s: %s is not a bzip2 file.\n",
- progName, inName );
- }
-
-}
-
-
-/*---------------------------------------------*/
-static
-void testf ( Char *name )
-{
- FILE *inStr;
- Bool allOK;
- struct MY_STAT statBuf;
-
- deleteOutputOnInterrupt = False;
-
- if (name == NULL && srcMode != SM_I2O)
- panic ( "testf: bad modes\n" );
-
- copyFileName ( outName, "(none)" );
- switch (srcMode) {
- case SM_I2O: copyFileName ( inName, "(stdin)" ); break;
- case SM_F2F: copyFileName ( inName, name ); break;
- case SM_F2O: copyFileName ( inName, name ); break;
- }
-
- if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) {
- if (noisy)
- fprintf ( stderr, "%s: There are no files matching `%s'.\n",
- progName, inName );
- setExit(1);
- return;
- }
- if ( srcMode != SM_I2O && !fileExists ( inName ) ) {
- fprintf ( stderr, "%s: Can't open input %s: %s.\n",
- progName, inName, strerror(errno) );
- setExit(1);
- return;
- }
- if ( srcMode != SM_I2O ) {
- MY_STAT(inName, &statBuf);
- if ( MY_S_ISDIR(statBuf.st_mode) ) {
- fprintf( stderr,
- "%s: Input file %s is a directory.\n",
- progName,inName);
- setExit(1);
- return;
- }
- }
-
- switch ( srcMode ) {
-
- case SM_I2O:
- if ( isatty ( fileno ( stdin ) ) ) {
- fprintf ( stderr,
- "%s: I won't read compressed data from a terminal.\n",
- progName );
- fprintf ( stderr, "%s: For help, type: `%s --help'.\n",
- progName, progName );
- setExit(1);
- return;
- };
- inStr = stdin;
- break;
-
- case SM_F2O: case SM_F2F:
- inStr = fopen ( inName, "rb" );
- if ( inStr == NULL ) {
- fprintf ( stderr, "%s: Can't open input file %s:%s.\n",
- progName, inName, strerror(errno) );
- setExit(1);
- return;
- };
- break;
-
- default:
- panic ( "testf: bad srcMode" );
- break;
- }
-
- if (verbosity >= 1) {
- fprintf ( stderr, " %s: ", inName );
- pad ( inName );
- fflush ( stderr );
- }
-
- /*--- Now the input handle is sane. Do the Biz. ---*/
- outputHandleJustInCase = NULL;
- allOK = testStream ( inStr );
-
- if (allOK && verbosity >= 1) fprintf ( stderr, "ok\n" );
- if (!allOK) testFailsExist = True;
-}
-
-
-/*---------------------------------------------*/
-static
-void license ( void )
-{
- fprintf ( stderr,
-
- "bzip2, a block-sorting file compressor. "
- "Version %s.\n"
- " \n"
- " Copyright (C) 1996-2002 by Julian Seward.\n"
- " \n"
- " This program is free software; you can redistribute it and/or modify\n"
- " it under the terms set out in the LICENSE file, which is included\n"
- " in the bzip2-1.0 source distribution.\n"
- " \n"
- " This program is distributed in the hope that it will be useful,\n"
- " but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
- " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
- " LICENSE file for more details.\n"
- " \n",
- BZ2_bzlibVersion()
- );
-}
-
-
-/*---------------------------------------------*/
-static
-void usage ( Char *fullProgName )
-{
- fprintf (
- stderr,
- "bzip2, a block-sorting file compressor. "
- "Version %s.\n"
- "\n usage: %s [flags and input files in any order]\n"
- "\n"
- " -h --help print this message\n"
- " -d --decompress force decompression\n"
- " -z --compress force compression\n"
- " -k --keep keep (don't delete) input files\n"
- " -f --force overwrite existing output files\n"
- " -t --test test compressed file integrity\n"
- " -c --stdout output to standard out\n"
- " -q --quiet suppress noncritical error messages\n"
- " -v --verbose be verbose (a 2nd -v gives more)\n"
- " -L --license display software version & license\n"
- " -V --version display software version & license\n"
- " -s --small use less memory (at most 2500k)\n"
- " -1 .. -9 set block size to 100k .. 900k\n"
- " --fast alias for -1\n"
- " --best alias for -9\n"
- "\n"
- " If invoked as `bzip2', default action is to compress.\n"
- " as `bunzip2', default action is to decompress.\n"
- " as `bzcat', default action is to decompress to stdout.\n"
- "\n"
- " If no file names are given, bzip2 compresses or decompresses\n"
- " from standard input to standard output. You can combine\n"
- " short flags, so `-v -4' means the same as -v4 or -4v, &c.\n"
-# if BZ_UNIX
- "\n"
-# endif
- ,
-
- BZ2_bzlibVersion(),
- fullProgName
- );
-}
-
-
-/*---------------------------------------------*/
-static
-void redundant ( Char* flag )
-{
- fprintf (
- stderr,
- "%s: %s is redundant in versions 0.9.5 and above\n",
- progName, flag );
-}
-
-
-/*---------------------------------------------*/
-/*--
- All the garbage from here to main() is purely to
- implement a linked list of command-line arguments,
- into which main() copies argv[1 .. argc-1].
-
- The purpose of this exercise is to facilitate
- the expansion of wildcard characters * and ? in
- filenames for OSs which don't know how to do it
- themselves, like MSDOS, Windows 95 and NT.
-
- The actual Dirty Work is done by the platform-
- specific macro APPEND_FILESPEC.
---*/
-
-typedef
- struct zzzz {
- Char *name;
- struct zzzz *link;
- }
- Cell;
-
-
-/*---------------------------------------------*/
-static
-void *myMalloc ( Int32 n )
-{
- void* p;
-
- p = malloc ( (size_t)n );
- if (p == NULL) outOfMemory ();
- return p;
-}
-
-
-/*---------------------------------------------*/
-static
-Cell *mkCell ( void )
-{
- Cell *c;
-
- c = (Cell*) myMalloc ( sizeof ( Cell ) );
- c->name = NULL;
- c->link = NULL;
- return c;
-}
-
-
-/*---------------------------------------------*/
-static
-Cell *snocString ( Cell *root, Char *name )
-{
- if (root == NULL) {
- Cell *tmp = mkCell();
- tmp->name = (Char*) myMalloc ( 5 + strlen(name) );
- strcpy ( tmp->name, name );
- return tmp;
- } else {
- Cell *tmp = root;
- while (tmp->link != NULL) tmp = tmp->link;
- tmp->link = snocString ( tmp->link, name );
- return root;
- }
-}
-
-
-/*---------------------------------------------*/
-static
-void addFlagsFromEnvVar ( Cell** argList, Char* varName )
-{
- Int32 i, j, k;
- Char *envbase, *p;
-
- envbase = getenv(varName);
- if (envbase != NULL) {
- p = envbase;
- i = 0;
- while (True) {
- if (p[i] == 0) break;
- p += i;
- i = 0;
- while (isspace((Int32)(p[0]))) p++;
- while (p[i] != 0 && !isspace((Int32)(p[i]))) i++;
- if (i > 0) {
- k = i; if (k > FILE_NAME_LEN-10) k = FILE_NAME_LEN-10;
- for (j = 0; j < k; j++) tmpName[j] = p[j];
- tmpName[k] = 0;
- APPEND_FLAG(*argList, tmpName);
- }
- }
- }
-}
-
-
-/*---------------------------------------------*/
-#define ISFLAG(s) (strcmp(aa->name, (s))==0)
-
-IntNative main ( IntNative argc, Char *argv[] )
-{
- Int32 i, j;
- Char *tmp;
- Cell *argList;
- Cell *aa;
- Bool decode;
-
- /*-- Be really really really paranoid :-) --*/
- if (sizeof(Int32) != 4 || sizeof(UInt32) != 4 ||
- sizeof(Int16) != 2 || sizeof(UInt16) != 2 ||
- sizeof(Char) != 1 || sizeof(UChar) != 1)
- configError();
-
- /*-- Initialise --*/
- outputHandleJustInCase = NULL;
- smallMode = False;
- keepInputFiles = False;
- forceOverwrite = False;
- noisy = True;
- verbosity = 0;
- blockSize100k = 9;
- testFailsExist = False;
- unzFailsExist = False;
- numFileNames = 0;
- numFilesProcessed = 0;
- workFactor = 30;
- deleteOutputOnInterrupt = False;
- exitValue = 0;
- i = j = 0; /* avoid bogus warning from egcs-1.1.X */
-
- /*-- Set up signal handlers for mem access errors --*/
- signal (SIGSEGV, mySIGSEGVorSIGBUScatcher);
-# if BZ_UNIX
-# ifndef __DJGPP__
- signal (SIGBUS, mySIGSEGVorSIGBUScatcher);
-# endif
-# endif
-
- copyFileName ( inName, "(none)" );
- copyFileName ( outName, "(none)" );
-
- copyFileName ( progNameReally, argv[0] );
- progName = &progNameReally[0];
- for (tmp = &progNameReally[0]; *tmp != '\0'; tmp++)
- if (*tmp == PATH_SEP) progName = tmp + 1;
-
-
- /*-- Copy flags from env var BZIP2, and
- expand filename wildcards in arg list.
- --*/
- argList = NULL;
- addFlagsFromEnvVar ( &argList, "BZIP2" );
- addFlagsFromEnvVar ( &argList, "BZIP" );
- for (i = 1; i <= argc-1; i++)
- APPEND_FILESPEC(argList, argv[i]);
-
-
- /*-- Find the length of the longest filename --*/
- longestFileName = 7;
- numFileNames = 0;
- decode = True;
- for (aa = argList; aa != NULL; aa = aa->link) {
- if (ISFLAG("--")) { decode = False; continue; }
- if (aa->name[0] == '-' && decode) continue;
- numFileNames++;
- if (longestFileName < (Int32)strlen(aa->name) )
- longestFileName = (Int32)strlen(aa->name);
- }
-
-
- /*-- Determine source modes; flag handling may change this too. --*/
- if (numFileNames == 0)
- srcMode = SM_I2O; else srcMode = SM_F2F;
-
-
- /*-- Determine what to do (compress/uncompress/test/cat). --*/
- /*-- Note that subsequent flag handling may change this. --*/
- opMode = OM_Z;
-
- if ( (strstr ( progName, "unzip" ) != 0) ||
- (strstr ( progName, "UNZIP" ) != 0) )
- opMode = OM_UNZ;
-
- if ( (strstr ( progName, "z2cat" ) != 0) ||
- (strstr ( progName, "Z2CAT" ) != 0) ||
- (strstr ( progName, "zcat" ) != 0) ||
- (strstr ( progName, "ZCAT" ) != 0) ) {
- opMode = OM_UNZ;
- srcMode = (numFileNames == 0) ? SM_I2O : SM_F2O;
- }
-
-
- /*-- Look at the flags. --*/
- for (aa = argList; aa != NULL; aa = aa->link) {
- if (ISFLAG("--")) break;
- if (aa->name[0] == '-' && aa->name[1] != '-') {
- for (j = 1; aa->name[j] != '\0'; j++) {
- switch (aa->name[j]) {
- case 'c': srcMode = SM_F2O; break;
- case 'd': opMode = OM_UNZ; break;
- case 'z': opMode = OM_Z; break;
- case 'f': forceOverwrite = True; break;
- case 't': opMode = OM_TEST; break;
- case 'k': keepInputFiles = True; break;
- case 's': smallMode = True; break;
- case 'q': noisy = False; break;
- case '1': blockSize100k = 1; break;
- case '2': blockSize100k = 2; break;
- case '3': blockSize100k = 3; break;
- case '4': blockSize100k = 4; break;
- case '5': blockSize100k = 5; break;
- case '6': blockSize100k = 6; break;
- case '7': blockSize100k = 7; break;
- case '8': blockSize100k = 8; break;
- case '9': blockSize100k = 9; break;
- case 'V':
- case 'L': license(); break;
- case 'v': verbosity++; break;
- case 'h': usage ( progName );
- exit ( 0 );
- break;
- default: fprintf ( stderr, "%s: Bad flag `%s'\n",
- progName, aa->name );
- usage ( progName );
- exit ( 1 );
- break;
- }
- }
- }
- }
-
- /*-- And again ... --*/
- for (aa = argList; aa != NULL; aa = aa->link) {
- if (ISFLAG("--")) break;
- if (ISFLAG("--stdout")) srcMode = SM_F2O; else
- if (ISFLAG("--decompress")) opMode = OM_UNZ; else
- if (ISFLAG("--compress")) opMode = OM_Z; else
- if (ISFLAG("--force")) forceOverwrite = True; else
- if (ISFLAG("--test")) opMode = OM_TEST; else
- if (ISFLAG("--keep")) keepInputFiles = True; else
- if (ISFLAG("--small")) smallMode = True; else
- if (ISFLAG("--quiet")) noisy = False; else
- if (ISFLAG("--version")) license(); else
- if (ISFLAG("--license")) license(); else
- if (ISFLAG("--exponential")) workFactor = 1; else
- if (ISFLAG("--repetitive-best")) redundant(aa->name); else
- if (ISFLAG("--repetitive-fast")) redundant(aa->name); else
- if (ISFLAG("--fast")) blockSize100k = 1; else
- if (ISFLAG("--best")) blockSize100k = 9; else
- if (ISFLAG("--verbose")) verbosity++; else
- if (ISFLAG("--help")) { usage ( progName ); exit ( 0 ); }
- else
- if (strncmp ( aa->name, "--", 2) == 0) {
- fprintf ( stderr, "%s: Bad flag `%s'\n", progName, aa->name );
- usage ( progName );
- exit ( 1 );
- }
- }
-
- if (verbosity > 4) verbosity = 4;
- if (opMode == OM_Z && smallMode && blockSize100k > 2)
- blockSize100k = 2;
-
- if (opMode == OM_TEST && srcMode == SM_F2O) {
- fprintf ( stderr, "%s: -c and -t cannot be used together.\n",
- progName );
- exit ( 1 );
- }
-
- if (srcMode == SM_F2O && numFileNames == 0)
- srcMode = SM_I2O;
-
- if (opMode != OM_Z) blockSize100k = 0;
-
- if (srcMode == SM_F2F) {
- signal (SIGINT, mySignalCatcher);
- signal (SIGTERM, mySignalCatcher);
-# if BZ_UNIX
- signal (SIGHUP, mySignalCatcher);
-# endif
- }
-
- if (opMode == OM_Z) {
- if (srcMode == SM_I2O) {
- compress ( NULL );
- } else {
- decode = True;
- for (aa = argList; aa != NULL; aa = aa->link) {
- if (ISFLAG("--")) { decode = False; continue; }
- if (aa->name[0] == '-' && decode) continue;
- numFilesProcessed++;
- compress ( aa->name );
- }
- }
- }
- else
-
- if (opMode == OM_UNZ) {
- unzFailsExist = False;
- if (srcMode == SM_I2O) {
- uncompress ( NULL );
- } else {
- decode = True;
- for (aa = argList; aa != NULL; aa = aa->link) {
- if (ISFLAG("--")) { decode = False; continue; }
- if (aa->name[0] == '-' && decode) continue;
- numFilesProcessed++;
- uncompress ( aa->name );
- }
- }
- if (unzFailsExist) {
- setExit(2);
- exit(exitValue);
- }
- }
-
- else {
- testFailsExist = False;
- if (srcMode == SM_I2O) {
- testf ( NULL );
- } else {
- decode = True;
- for (aa = argList; aa != NULL; aa = aa->link) {
- if (ISFLAG("--")) { decode = False; continue; }
- if (aa->name[0] == '-' && decode) continue;
- numFilesProcessed++;
- testf ( aa->name );
- }
- }
- if (testFailsExist && noisy) {
- fprintf ( stderr,
- "\n"
- "You can use the `bzip2recover' program to attempt to recover\n"
- "data from undamaged sections of corrupted files.\n\n"
- );
- setExit(2);
- exit(exitValue);
- }
- }
-
- /* Free the argument list memory to mollify leak detectors
- (eg) Purify, Checker. Serves no other useful purpose.
- */
- aa = argList;
- while (aa != NULL) {
- Cell* aa2 = aa->link;
- if (aa->name != NULL) free(aa->name);
- free(aa);
- aa = aa2;
- }
-
- return exitValue;
-}
-
-
-/*-----------------------------------------------------------*/
-/*--- end bzip2.c ---*/
-/*-----------------------------------------------------------*/
diff --git a/LibOS/shim/test/apps/gcc/test_files/gzip.c b/LibOS/shim/test/apps/gcc/test_files/gzip.c
deleted file mode 100644
index 47ec39ef15..0000000000
--- a/LibOS/shim/test/apps/gcc/test_files/gzip.c
+++ /dev/null
@@ -1,8607 +0,0 @@
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#define HAVE_CONFIG_H 1
-
-/* config.h. Generated by configure. */
-/* config.h.in. Generated from configure.in by autoheader. */
-
-/* Define if an assembler version of longest_match is available. */
-/* #undef ASMV */
-
-/* Define to 1 if you have the header file, and it defines `DIR'.
- */
-#define HAVE_DIRENT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_INTTYPES_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_LIMITS_H 1
-
-/* Define to 1 if you have the `lstat' function. */
-#define HAVE_LSTAT 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the header file, and it defines `DIR'. */
-/* #undef HAVE_NDIR_H */
-
-/* Define to 1 if you have the `rpmatch' function. */
-/* #undef HAVE_RPMATCH */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the header file, and it defines `DIR'.
- */
-/* #undef HAVE_SYS_DIR_H */
-
-/* Define to 1 if you have the header file, and it defines `DIR'.
- */
-/* #undef HAVE_SYS_NDIR_H */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SYS_UTIME_H */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_TIME_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define to 1 if you have the `utime' function. */
-#define HAVE_UTIME 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_UTIME_H 1
-
-/* Name of package */
-#define PACKAGE "gzip"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "bug-gzip@gnu.org"
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "gzip"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "gzip 1.3.5"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "gzip"
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.3.5"
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#define RETSIGTYPE void
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Version number of package */
-#define VERSION "1.3.5"
-
-/* Define to 1 if on AIX 3.
- System headers sometimes define this.
- We just want to avoid a redefinition error message. */
-#ifndef _ALL_SOURCE
-/* # undef _ALL_SOURCE */
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#define _FILE_OFFSET_BITS 64
-
-/* Enable GNU extensions on systems that have them. */
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE 1
-#endif
-
-/* Define for large files, on AIX-style hosts. */
-/* #undef _LARGE_FILES */
-
-/* Define to 1 if on MINIX. */
-/* #undef _MINIX */
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
- this defined. */
-/* #undef _POSIX_1_SOURCE */
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-/* #undef _POSIX_SOURCE */
-
-/* Define to empty if `const' does not conform to ANSI C. */
-/* #undef const */
-
-/* Define to `long' if does not define. */
-/* #undef off_t */
-
-/* Define to `unsigned' if does not define. */
-/* #undef size_t */
-
-
-/* bits.c -- output variable-length bit strings
- * Copyright (C) 1992-1993 Jean-loup Gailly
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License, see the file COPYING.
- */
-
-
-/*
- * PURPOSE
- *
- * Output variable-length bit strings. Compression can be done
- * to a file or to memory. (The latter is not supported in this version.)
- *
- * DISCUSSION
- *
- * The PKZIP "deflate" file format interprets compressed file data
- * as a sequence of bits. Multi-bit strings in the file may cross
- * byte boundaries without restriction.
- *
- * The first bit of each byte is the low-order bit.
- *
- * The routines in this file allow a variable-length bit value to
- * be output right-to-left (useful for literal values). For
- * left-to-right output (useful for code strings from the tree routines),
- * the bits must have been reversed first with bi_reverse().
- *
- * For in-memory compression, the compressed bit stream goes directly
- * into the requested output buffer. The input data is read in blocks
- * by the mem_read() function. The buffer is limited to 64K on 16 bit
- * machines.
- *
- * INTERFACE
- *
- * void bi_init (FILE *zipfile)
- * Initialize the bit string routines.
- *
- * void send_bits (int value, int length)
- * Write out a bit string, taking the source bits right to
- * left.
- *
- * int bi_reverse (int value, int length)
- * Reverse the bits of a bit string, taking the source bits left to
- * right and emitting them right to left.
- *
- * void bi_windup (void)
- * Write out any remaining bits in an incomplete byte.
- *
- * void copy_block(char *buf, unsigned len, int header)
- * Copy a stored block to the zip file, storing first the length and
- * its one's complement if requested.
- *
- */
-
-/* tailor.h -- target dependent definitions
- * Copyright (C) 1992-1993 Jean-loup Gailly.
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License, see the file COPYING.
- */
-
-/* The target dependent definitions should be defined here only.
- * The target dependent functions should be defined in tailor.c.
- */
-
-/* $Id: tailor.h,v 0.18 1993/06/14 19:32:20 jloup Exp $ */
-
-#if defined(__MSDOS__) && !defined(MSDOS)
-# define MSDOS
-#endif
-
-#if defined(__OS2__) && !defined(OS2)
-# define OS2
-#endif
-
-#if defined(OS2) && defined(MSDOS) /* MS C under OS/2 */
-# undef MSDOS
-#endif
-
-#if defined(ATARI) || defined(atarist)
-# ifndef STDC_HEADERS
-# define STDC_HEADERS
-# define HAVE_UNISTD_H
-# define HAVE_DIRENT_H
-# endif
-# define ASMV
-# define OS_CODE 0x05
-# ifdef TOSFS
-# define PATH_SEP2 '\\'
-# define PATH_SEP3 ':'
-# define MAX_PATH_LEN 128
-# define NO_MULTIPLE_DOTS
-# define MAX_EXT_CHARS 3
-# define Z_SUFFIX "z"
-# define casemap(c) tolow(c) /* Force file names to lower case */
-# endif
-#endif
-
-#ifdef MACOS
-# define PATH_SEP ':'
-# define DYN_ALLOC
-# define PROTO
-# define NO_STDIN_FSTAT
-# define chmod(file, mode) (0)
-# define OPEN(name, flags, mode) open(name, flags)
-# define OS_CODE 0x07
-# ifdef MPW
-# define isatty(fd) ((fd) <= 2)
-# endif
-#endif
-
-#ifdef __50SERIES /* Prime/PRIMOS */
-# define PATH_SEP '>'
-# define STDC_HEADERS
-# define NO_STDIN_FSTAT
-# define NO_SIZE_CHECK
-# define RECORD_IO 1
-# define casemap(c) tolow(c) /* Force file names to lower case */
-# define put_char(c) put_byte((c) & 0x7F)
-# define get_char(c) ascii2pascii(get_byte())
-# define OS_CODE 0x0F /* temporary, subject to change */
-# ifdef SIGTERM
-# undef SIGTERM /* We don't want a signal handler for SIGTERM */
-# endif
-#endif
-
-#if defined(pyr) && !defined(NOMEMCPY) /* Pyramid */
-# define NOMEMCPY /* problem with overlapping copies */
-#endif
-
-#ifdef TOPS20
-# define OS_CODE 0x0a
-#endif
-
-#ifndef unix
-# define NO_ST_INO /* don't rely on inode numbers */
-#endif
-
-
- /* Common defaults */
-
-#ifndef OS_CODE
-# define OS_CODE 0x03 /* assume Unix */
-#endif
-
-#ifndef PATH_SEP
-# define PATH_SEP '/'
-#endif
-
-#ifndef casemap
-# define casemap(c) (c)
-#endif
-
-#ifndef OPTIONS_VAR
-# define OPTIONS_VAR "GZIP"
-#endif
-
-#ifndef Z_SUFFIX
-# define Z_SUFFIX ".gz"
-#endif
-
-#ifdef MAX_EXT_CHARS
-# define MAX_SUFFIX MAX_EXT_CHARS
-#else
-# define MAX_SUFFIX 30
-#endif
-
-#ifndef MAKE_LEGAL_NAME
-# ifdef NO_MULTIPLE_DOTS
-# define MAKE_LEGAL_NAME(name) make_simple_name(name)
-# else
-# define MAKE_LEGAL_NAME(name)
-# endif
-#endif
-
-#ifndef MIN_PART
-# define MIN_PART 3
- /* keep at least MIN_PART chars between dots in a file name. */
-#endif
-
-#ifndef EXPAND
-# define EXPAND(argc,argv)
-#endif
-
-#ifndef RECORD_IO
-# define RECORD_IO 0
-#endif
-
-#ifndef SET_BINARY_MODE
-# define SET_BINARY_MODE(fd)
-#endif
-
-#ifndef OPEN
-# define OPEN(name, flags, mode) open(name, flags, mode)
-#endif
-
-#ifndef get_char
-# define get_char() get_byte()
-#endif
-
-#ifndef put_char
-# define put_char(c) put_byte(c)
-#endif
-
-
-/* gzip.h -- common declarations for all gzip modules
- * Copyright (C) 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
- * Copyright (C) 1992-1993 Jean-loup Gailly.
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License, see the file COPYING.
- */
-
-#if defined(__STDC__) || defined(PROTO)
-# define OF(args) args
-#else
-# define OF(args) ()
-#endif
-
-#ifdef __STDC__
- typedef void *voidp;
-#else
- typedef char *voidp;
-#endif
-
-# define memzero(s, n) memset ((voidp)(s), 0, (n))
-
-#ifndef RETSIGTYPE
-# define RETSIGTYPE void
-#endif
-
-#define local static
-
-typedef unsigned char uch;
-typedef unsigned short ush;
-typedef unsigned long ulg;
-
-/* Return codes from gzip */
-#define OK 0
-#define ERROR 1
-#define WARNING 2
-
-/* Compression methods (see algorithm.doc) */
-#define STORED 0
-#define COMPRESSED 1
-#define PACKED 2
-#define LZHED 3
-/* methods 4 to 7 reserved */
-#define DEFLATED 8
-#define MAX_METHODS 9
-extern int method; /* compression method */
-
-/* To save memory for 16 bit systems, some arrays are overlaid between
- * the various modules:
- * deflate: prev+head window d_buf l_buf outbuf
- * unlzw: tab_prefix tab_suffix stack inbuf outbuf
- * inflate: window inbuf
- * unpack: window inbuf prefix_len
- * unlzh: left+right window c_table inbuf c_len
- * For compression, input is done in window[]. For decompression, output
- * is done in window except for unlzw.
- */
-
-#ifndef INBUFSIZ
-# ifdef SMALL_MEM
-# define INBUFSIZ 0x2000 /* input buffer size */
-# else
-# define INBUFSIZ 0x8000 /* input buffer size */
-# endif
-#endif
-#define INBUF_EXTRA 64 /* required by unlzw() */
-
-#ifndef OUTBUFSIZ
-# ifdef SMALL_MEM
-# define OUTBUFSIZ 8192 /* output buffer size */
-# else
-# define OUTBUFSIZ 16384 /* output buffer size */
-# endif
-#endif
-#define OUTBUF_EXTRA 2048 /* required by unlzw() */
-
-#ifndef DIST_BUFSIZE
-# ifdef SMALL_MEM
-# define DIST_BUFSIZE 0x2000 /* buffer for distances, see trees.c */
-# else
-# define DIST_BUFSIZE 0x8000 /* buffer for distances, see trees.c */
-# endif
-#endif
-
-#define near
-
-#ifdef DYN_ALLOC
-# define EXTERN(type, array) extern type * near array
-# define DECLARE(type, array, size) type * near array
-# define ALLOC(type, array, size) { \
- array = (type*)fcalloc((size_t)(((size)+1L)/2), 2*sizeof(type)); \
- if (array == NULL) error("insufficient memory"); \
- }
-# define FREE(array) {if (array != NULL) fcfree(array), array=NULL;}
-#else
-# define EXTERN(type, array) extern type array[]
-# define DECLARE(type, array, size) type array[size]
-# define ALLOC(type, array, size)
-# define FREE(array)
-#endif
-
-EXTERN(uch, inbuf); /* input buffer */
-EXTERN(uch, outbuf); /* output buffer */
-EXTERN(ush, d_buf); /* buffer for distances, see trees.c */
-EXTERN(uch, window); /* Sliding window and suffix table (unlzw) */
-#define tab_suffix window
-#ifndef MAXSEG_64K
-# define tab_prefix prev /* hash link (see deflate.c) */
-# define head (prev+WSIZE) /* hash head (see deflate.c) */
- EXTERN(ush, tab_prefix); /* prefix code (see unlzw.c) */
-#else
-# define tab_prefix0 prev
-# define head tab_prefix1
- EXTERN(ush, tab_prefix0); /* prefix for even codes */
- EXTERN(ush, tab_prefix1); /* prefix for odd codes */
-#endif
-
-extern unsigned insize; /* valid bytes in inbuf */
-extern unsigned inptr; /* index of next byte to be processed in inbuf */
-extern unsigned outcnt; /* bytes in output buffer */
-extern int rsync; /* deflate into rsyncable chunks */
-
-extern off_t bytes_in; /* number of input bytes */
-extern off_t bytes_out; /* number of output bytes */
-extern off_t header_bytes;/* number of bytes in gzip header */
-
-extern int ifd; /* input file descriptor */
-extern int ofd; /* output file descriptor */
-extern char ifname[]; /* input file name or "stdin" */
-extern char ofname[]; /* output file name or "stdout" */
-extern char *progname; /* program name */
-
-extern time_t time_stamp; /* original time stamp (modification time) */
-extern off_t ifile_size; /* input file size, -1 for devices (debug only) */
-
-typedef int file_t; /* Do not use stdio */
-#define NO_FILE (-1) /* in memory compression */
-
-
-#define PACK_MAGIC "\037\036" /* Magic header for packed files */
-#define GZIP_MAGIC "\037\213" /* Magic header for gzip files, 1F 8B */
-#define OLD_GZIP_MAGIC "\037\236" /* Magic header for gzip 0.5 = freeze 1.x */
-#define LZH_MAGIC "\037\240" /* Magic header for SCO LZH Compress files*/
-#define PKZIP_MAGIC "\120\113\003\004" /* Magic header for pkzip files */
-
-/* gzip flag byte */
-#define ASCII_FLAG 0x01 /* bit 0 set: file probably ascii text */
-#define CONTINUATION 0x02 /* bit 1 set: continuation of multi-part gzip file */
-#define EXTRA_FIELD 0x04 /* bit 2 set: extra field present */
-#define ORIG_NAME 0x08 /* bit 3 set: original file name present */
-#define COMMENT 0x10 /* bit 4 set: file comment present */
-#define ENCRYPTED 0x20 /* bit 5 set: file is encrypted */
-#define RESERVED 0xC0 /* bit 6,7: reserved */
-
-/* internal file attribute */
-#define UNKNOWN 0xffff
-#define BINARY 0
-#define ASCII 1
-
-#ifndef WSIZE
-# define WSIZE 0x8000 /* window size--must be a power of two, and */
-#endif /* at least 32K for zip's deflate method */
-
-#define MIN_MATCH 3
-#define MAX_MATCH 258
-/* The minimum and maximum match lengths */
-
-#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
-/* Minimum amount of lookahead, except at the end of the input file.
- * See deflate.c for comments about the MIN_MATCH+1.
- */
-
-#define MAX_DIST (WSIZE-MIN_LOOKAHEAD)
-/* In order to simplify the code, particularly on 16 bit machines, match
- * distances are limited to MAX_DIST instead of WSIZE.
- */
-
-extern int decrypt; /* flag to turn on decryption */
-extern int exit_code; /* program exit code */
-extern int verbose; /* be verbose (-v) */
-extern int quiet; /* be quiet (-q) */
-extern int level; /* compression level */
-extern int test; /* check .z file integrity */
-extern int to_stdout; /* output to stdout (-c) */
-extern int save_orig_name; /* set if original name must be saved */
-
-#define get_byte() (inptr < insize ? inbuf[inptr++] : fill_inbuf(0))
-#define try_byte() (inptr < insize ? inbuf[inptr++] : fill_inbuf(1))
-
-/* put_byte is used for the compressed output, put_ubyte for the
- * uncompressed output. However unlzw() uses window for its
- * suffix table instead of its output buffer, so it does not use put_ubyte
- * (to be cleaned up).
- */
-#define put_byte(c) {outbuf[outcnt++]=(uch)(c); if (outcnt==OUTBUFSIZ)\
- flush_outbuf();}
-#define put_ubyte(c) {window[outcnt++]=(uch)(c); if (outcnt==WSIZE)\
- flush_window();}
-
-/* Output a 16 bit value, lsb first */
-#define put_short(w) \
-{ if (outcnt < OUTBUFSIZ-2) { \
- outbuf[outcnt++] = (uch) ((w) & 0xff); \
- outbuf[outcnt++] = (uch) ((ush)(w) >> 8); \
- } else { \
- put_byte((uch)((w) & 0xff)); \
- put_byte((uch)((ush)(w) >> 8)); \
- } \
-}
-
-/* Output a 32 bit value to the bit stream, lsb first */
-#define put_long(n) { \
- put_short((n) & 0xffff); \
- put_short(((ulg)(n)) >> 16); \
-}
-
-#define seekable() 0 /* force sequential output */
-#define translate_eol 0 /* no option -a yet */
-
-#define tolow(c) (isupper (c) ? tolower (c) : (c)) /* force to lower case */
-
-/* Macros for getting two-byte and four-byte header values */
-#define SH(p) ((ush)(uch)((p)[0]) | ((ush)(uch)((p)[1]) << 8))
-#define LG(p) ((ulg)(SH(p)) | ((ulg)(SH((p)+2)) << 16))
-
-/* Diagnostic functions */
-#ifdef DEBUG
-# define Assert(cond,msg) {if(!(cond)) error(msg);}
-# define Trace(x) fprintf x
-# define Tracev(x) {if (verbose) fprintf x ;}
-# define Tracevv(x) {if (verbose>1) fprintf x ;}
-# define Tracec(c,x) {if (verbose && (c)) fprintf x ;}
-# define Tracecv(c,x) {if (verbose>1 && (c)) fprintf x ;}
-#else
-# define Assert(cond,msg)
-# define Trace(x)
-# define Tracev(x)
-# define Tracevv(x)
-# define Tracec(c,x)
-# define Tracecv(c,x)
-#endif
-
-#define WARN(msg) {if (!quiet) fprintf msg ; \
- if (exit_code == OK) exit_code = WARNING;}
-
- /* in zip.c: */
-extern int zip OF((int in, int out));
-extern int file_read OF((char *buf, unsigned size));
-
- /* in unzip.c */
-extern int unzip OF((int in, int out));
-extern int check_zipfile OF((int in));
-
- /* in unpack.c */
-extern int unpack OF((int in, int out));
-
- /* in unlzh.c */
-extern int unlzh OF((int in, int out));
-
- /* in gzip.c */
-RETSIGTYPE abort_gzip_signal OF((void));
-
- /* in deflate.c */
-void lm_init OF((int pack_level, ush *flags));
-off_t deflate OF((void));
-
- /* in trees.c */
-void ct_init OF((ush *attr, int *method));
-int ct_tally OF((int dist, int lc));
-off_t flush_block OF((char *buf, ulg stored_len, int pad, int eof));
-
- /* in bits.c */
-void bi_init OF((file_t zipfile));
-void send_bits OF((int value, int length));
-unsigned bi_reverse OF((unsigned value, int length));
-void bi_windup OF((void));
-void copy_block OF((char *buf, unsigned len, int header));
-extern int (*read_buf) OF((char *buf, unsigned size));
-
- /* in util.c: */
-extern int copy OF((int in, int out));
-extern ulg updcrc OF((uch *s, unsigned n));
-extern void clear_bufs OF((void));
-extern int fill_inbuf OF((int eof_ok));
-extern void flush_outbuf OF((void));
-extern void flush_window OF((void));
-extern void write_buf OF((int fd, voidp buf, unsigned cnt));
-extern char *strlwr OF((char *s));
-extern char *base_name OF((char *fname));
-extern int xunlink OF((char *fname));
-extern void make_simple_name OF((char *name));
-extern char *add_envopt OF((int *argcp, char ***argvp, char *env));
-extern void error OF((char *m));
-extern void warning OF((char *m));
-extern void read_error OF((void));
-extern void write_error OF((void));
-extern void display_ratio OF((off_t num, off_t den, FILE *file));
-extern void fprint_off OF((FILE *, off_t, int));
-extern voidp xmalloc OF((unsigned int size));
-
- /* in inflate.c */
-extern int inflate OF((void));
-
- /* in yesno.c */
-extern int yesno OF((void));
-
-
-/* crypt.h (dummy version) -- do not perform encryption
- * Hardly worth copyrighting :-)
- */
-
-#ifdef CRYPT
-# undef CRYPT /* dummy version */
-#endif
-
-#define RAND_HEAD_LEN 12 /* length of encryption random header */
-
-#define zencode
-#define zdecode
-
-
-#ifdef RCSID
-static char rcsid[] = "$Id: bits.c,v 0.9 1993/06/11 10:16:58 jloup Exp $";
-#endif
-
-/* ===========================================================================
- * Local data used by the "bit string" routines.
- */
-
-local file_t zfile; /* output gzip file */
-
-local unsigned short bi_buf;
-/* Output buffer. bits are inserted starting at the bottom (least significant
- * bits).
- */
-
-#define Buf_size (8 * 2*sizeof(char))
-/* Number of bits used within bi_buf. (bi_buf might be implemented on
- * more than 16 bits on some systems.)
- */
-
-local int bi_valid;
-/* Number of valid bits in bi_buf. All bits above the last valid bit
- * are always zero.
- */
-
-int (*read_buf) OF((char *buf, unsigned size));
-/* Current input function. Set to mem_read for in-memory compression */
-
-#ifdef DEBUG
- off_t bits_sent; /* bit length of the compressed data */
-#endif
-
-/* ===========================================================================
- * Initialize the bit string routines.
- */
-void bi_init (zipfile)
- file_t zipfile; /* output zip file, NO_FILE for in-memory compression */
-{
- zfile = zipfile;
- bi_buf = 0;
- bi_valid = 0;
-#ifdef DEBUG
- bits_sent = 0L;
-#endif
-
- /* Set the defaults for file compression. They are set by memcompress
- * for in-memory compression.
- */
- if (zfile != NO_FILE) {
- read_buf = file_read;
- }
-}
-
-/* ===========================================================================
- * Send a value on a given number of bits.
- * IN assertion: length <= 16 and value fits in length bits.
- */
-void send_bits(value, length)
- int value; /* value to send */
- int length; /* number of bits */
-{
-#ifdef DEBUG
- Tracev((stderr," l %2d v %4x ", length, value));
- Assert(length > 0 && length <= 15, "invalid length");
- bits_sent += (off_t)length;
-#endif
- /* If not enough room in bi_buf, use (valid) bits from bi_buf and
- * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))
- * unused bits in value.
- */
- if (bi_valid > (int)Buf_size - length) {
- bi_buf |= (value << bi_valid);
- put_short(bi_buf);
- bi_buf = (ush)value >> (Buf_size - bi_valid);
- bi_valid += length - Buf_size;
- } else {
- bi_buf |= value << bi_valid;
- bi_valid += length;
- }
-}
-
-/* ===========================================================================
- * Reverse the first len bits of a code, using straightforward code (a faster
- * method would use a table)
- * IN assertion: 1 <= len <= 15
- */
-unsigned bi_reverse(code, len)
- unsigned code; /* the value to invert */
- int len; /* its bit length */
-{
- register unsigned res = 0;
- do {
- res |= code & 1;
- code >>= 1, res <<= 1;
- } while (--len > 0);
- return res >> 1;
-}
-
-/* ===========================================================================
- * Write out any remaining bits in an incomplete byte.
- */
-void bi_windup()
-{
- if (bi_valid > 8) {
- put_short(bi_buf);
- } else if (bi_valid > 0) {
- put_byte(bi_buf);
- }
- bi_buf = 0;
- bi_valid = 0;
-#ifdef DEBUG
- bits_sent = (bits_sent+7) & ~7;
-#endif
-}
-
-/* ===========================================================================
- * Copy a stored block to the zip file, storing first the length and its
- * one's complement if requested.
- */
-void copy_block(buf, len, header)
- char *buf; /* the input data */
- unsigned len; /* its length */
- int header; /* true if block header must be written */
-{
- bi_windup(); /* align on byte boundary */
-
- if (header) {
- put_short((ush)len);
- put_short((ush)~len);
-#ifdef DEBUG
- bits_sent += 2*16;
-#endif
- }
-#ifdef DEBUG
- bits_sent += (off_t)len<<3;
-#endif
- while (len--) {
-#ifdef CRYPT
- int t;
- if (key) zencode(*buf, t);
-#endif
- put_byte(*buf++);
- }
-}
-/* crypt.c (dummy version) -- do not perform encryption
- * Hardly worth copyrighting :-)
- */
-#ifdef RCSID
-static char rcsid[] = "$Id: crypt.c,v 0.6 1993/03/22 09:48:47 jloup Exp $";
-#endif
-/* deflate.c -- compress data using the deflation algorithm
- * Copyright (C) 1992-1993 Jean-loup Gailly
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License, see the file COPYING.
- */
-
-/*
- * PURPOSE
- *
- * Identify new text as repetitions of old text within a fixed-
- * length sliding window trailing behind the new text.
- *
- * DISCUSSION
- *
- * The "deflation" process depends on being able to identify portions
- * of the input text which are identical to earlier input (within a
- * sliding window trailing behind the input currently being processed).
- *
- * The most straightforward technique turns out to be the fastest for
- * most input files: try all possible matches and select the longest.
- * The key feature of this algorithm is that insertions into the string
- * dictionary are very simple and thus fast, and deletions are avoided
- * completely. Insertions are performed at each input character, whereas
- * string matches are performed only when the previous match ends. So it
- * is preferable to spend more time in matches to allow very fast string
- * insertions and avoid deletions. The matching algorithm for small
- * strings is inspired from that of Rabin & Karp. A brute force approach
- * is used to find longer strings when a small match has been found.
- * A similar algorithm is used in comic (by Jan-Mark Wams) and freeze
- * (by Leonid Broukhis).
- * A previous version of this file used a more sophisticated algorithm
- * (by Fiala and Greene) which is guaranteed to run in linear amortized
- * time, but has a larger average cost, uses more memory and is patented.
- * However the F&G algorithm may be faster for some highly redundant
- * files if the parameter max_chain_length (described below) is too large.
- *
- * ACKNOWLEDGEMENTS
- *
- * The idea of lazy evaluation of matches is due to Jan-Mark Wams, and
- * I found it in 'freeze' written by Leonid Broukhis.
- * Thanks to many info-zippers for bug reports and testing.
- *
- * REFERENCES
- *
- * APPNOTE.TXT documentation file in PKZIP 1.93a distribution.
- *
- * A description of the Rabin and Karp algorithm is given in the book
- * "Algorithms" by R. Sedgewick, Addison-Wesley, p252.
- *
- * Fiala,E.R., and Greene,D.H.
- * Data Compression with Finite Windows, Comm.ACM, 32,4 (1989) 490-595
- *
- * INTERFACE
- *
- * void lm_init (int pack_level, ush *flags)
- * Initialize the "longest match" routines for a new file
- *
- * off_t deflate (void)
- * Processes a new input file and return its compressed length. Sets
- * the compressed length, crc, deflate flags and internal file
- * attributes.
- */
-
-
-/* lzw.h -- define the lzw functions.
- * Copyright (C) 1992-1993 Jean-loup Gailly.
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License, see the file COPYING.
- */
-
-#ifndef BITS
-# define BITS 16
-#endif
-#define INIT_BITS 9 /* Initial number of bits per code */
-
-#define LZW_MAGIC "\037\235" /* Magic header for lzw files, 1F 9D */
-
-#define BIT_MASK 0x1f /* Mask for 'number of compression bits' */
-/* Mask 0x20 is reserved to mean a fourth header byte, and 0x40 is free.
- * It's a pity that old uncompress does not check bit 0x20. That makes
- * extension of the format actually undesirable because old compress
- * would just crash on the new format instead of giving a meaningful
- * error message. It does check the number of bits, but it's more
- * helpful to say "unsupported format, get a new version" than
- * "can only handle 16 bits".
- */
-
-#define BLOCK_MODE 0x80
-/* Block compression: if table is full and compression rate is dropping,
- * clear the dictionary.
- */
-
-#define LZW_RESERVED 0x60 /* reserved bits */
-
-#define CLEAR 256 /* flush the dictionary */
-#define FIRST (CLEAR+1) /* first free entry */
-
-extern int maxbits; /* max bits per code for LZW */
-extern int block_mode; /* block compress mode -C compatible with 2.0 */
-
-extern int lzw OF((int in, int out));
-extern int unlzw OF((int in, int out));
-
-
-#ifdef RCSID
-static char rcsid[] = "$Id: deflate.c,v 0.15 1993/06/24 10:53:53 jloup Exp $";
-#endif
-
-/* ===========================================================================
- * Configuration parameters
- */
-
-/* Compile with MEDIUM_MEM to reduce the memory requirements or
- * with SMALL_MEM to use as little memory as possible. Use BIG_MEM if the
- * entire input file can be held in memory (not possible on 16 bit systems).
- * Warning: defining these symbols affects HASH_BITS (see below) and thus
- * affects the compression ratio. The compressed output
- * is still correct, and might even be smaller in some cases.
- */
-
-#ifdef SMALL_MEM
-# define HASH_BITS 13 /* Number of bits used to hash strings */
-#endif
-#ifdef MEDIUM_MEM
-# define HASH_BITS 14
-#endif
-#ifndef HASH_BITS
-# define HASH_BITS 15
- /* For portability to 16 bit machines, do not use values above 15. */
-#endif
-
-/* To save space (see unlzw.c), we overlay prev+head with tab_prefix and
- * window with tab_suffix. Check that we can do this:
- */
-#if (WSIZE<<1) > (1< BITS-1
- error: cannot overlay head with tab_prefix1
-#endif
-
-#define HASH_SIZE (unsigned)(1<= HASH_BITS
- */
-
-unsigned int near prev_length;
-/* Length of the best match at previous step. Matches not greater than this
- * are discarded. This is used in the lazy match evaluation.
- */
-
- unsigned near strstart; /* start of string to insert */
- unsigned near match_start; /* start of matching string */
-local int eofile; /* flag set at end of input file */
-local unsigned lookahead; /* number of valid bytes ahead in window */
-
-unsigned near max_chain_length;
-/* To speed up deflation, hash chains are never searched beyond this length.
- * A higher limit improves compression ratio but degrades the speed.
- */
-
-local unsigned int max_lazy_match;
-/* Attempt to find a better match only when the current match is strictly
- * smaller than this value. This mechanism is used only for compression
- * levels >= 4.
- */
-#define max_insert_length max_lazy_match
-/* Insert new strings in the hash table only if the match length
- * is not greater than this length. This saves time but degrades compression.
- * max_insert_length is used only for compression levels <= 3.
- */
-
-local int compr_level;
-/* compression level (1..9) */
-
-unsigned near good_match;
-/* Use a faster search when the previous match is longer than this */
-
-local ulg rsync_sum; /* rolling sum of rsync window */
-local ulg rsync_chunk_end; /* next rsync sequence point */
-
-/* Values for max_lazy_match, good_match and max_chain_length, depending on
- * the desired pack level (0..9). The values given below have been tuned to
- * exclude worst case performance for pathological files. Better values may be
- * found for specific files.
- */
-
-typedef struct config {
- ush good_length; /* reduce lazy search above this match length */
- ush max_lazy; /* do not perform lazy search above this match length */
- ush nice_length; /* quit search above this match length */
- ush max_chain;
-} config;
-
-#ifdef FULL_SEARCH
-# define nice_match MAX_MATCH
-#else
- int near nice_match; /* Stop searching when current match exceeds this */
-#endif
-
-local config configuration_table[10] = {
-/* good lazy nice chain */
-/* 0 */ {0, 0, 0, 0}, /* store only */
-/* 1 */ {4, 4, 8, 4}, /* maximum speed, no lazy matches */
-/* 2 */ {4, 5, 16, 8},
-/* 3 */ {4, 6, 32, 32},
-
-/* 4 */ {4, 4, 16, 16}, /* lazy matches */
-/* 5 */ {8, 16, 32, 32},
-/* 6 */ {8, 16, 128, 128},
-/* 7 */ {8, 32, 128, 256},
-/* 8 */ {32, 128, 258, 1024},
-/* 9 */ {32, 258, 258, 4096}}; /* maximum compression */
-
-/* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
- * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
- * meaning.
- */
-
-#define EQUAL 0
-/* result of memcmp for equal strings */
-
-/* ===========================================================================
- * Prototypes for local functions.
- */
-local void fill_window OF((void));
-local off_t deflate_fast OF((void));
-
- int longest_match OF((IPos cur_match));
-#ifdef ASMV
- void match_init OF((void)); /* asm code initialization */
-#endif
-
-#ifdef DEBUG
-local void check_match OF((IPos start, IPos match, int length));
-#endif
-
-/* ===========================================================================
- * Update a hash value with the given input byte
- * IN assertion: all calls to to UPDATE_HASH are made with consecutive
- * input characters, so that a running hash key can be computed from the
- * previous key instead of complete recalculation each time.
- */
-#define UPDATE_HASH(h,c) (h = (((h)< 9) error("bad pack level");
- compr_level = pack_level;
-
- /* Initialize the hash table. */
-#if defined(MAXSEG_64K) && HASH_BITS == 15
- for (j = 0; j < HASH_SIZE; j++) head[j] = NIL;
-#else
- memzero((char*)head, HASH_SIZE*sizeof(*head));
-#endif
- /* prev will be initialized on the fly */
-
- /* rsync params */
- rsync_chunk_end = 0xFFFFFFFFUL;
- rsync_sum = 0;
-
- /* Set the default configuration parameters:
- */
- max_lazy_match = configuration_table[pack_level].max_lazy;
- good_match = configuration_table[pack_level].good_length;
-#ifndef FULL_SEARCH
- nice_match = configuration_table[pack_level].nice_length;
-#endif
- max_chain_length = configuration_table[pack_level].max_chain;
- if (pack_level == 1) {
- *flags |= FAST;
- } else if (pack_level == 9) {
- *flags |= SLOW;
- }
- /* ??? reduce max_chain_length for binary files */
-
- strstart = 0;
- block_start = 0L;
-#ifdef ASMV
- match_init(); /* initialize the asm code */
-#endif
-
- lookahead = read_buf((char*)window,
- sizeof(int) <= 2 ? (unsigned)WSIZE : 2*WSIZE);
-
- if (lookahead == 0 || lookahead == (unsigned)EOF) {
- eofile = 1, lookahead = 0;
- return;
- }
- eofile = 0;
- /* Make sure that we always have enough lookahead. This is important
- * if input comes from a device such as a tty.
- */
- while (lookahead < MIN_LOOKAHEAD && !eofile) fill_window();
-
- ins_h = 0;
- for (j=0; j= 1
- */
-#ifndef ASMV
-/* For MSDOS, OS/2 and 386 Unix, an optimized version is in match.asm or
- * match.s. The code is functionally equivalent, so you can use the C version
- * if desired.
- */
-int longest_match(cur_match)
- IPos cur_match; /* current match */
-{
- unsigned chain_length = max_chain_length; /* max hash chain length */
- register uch *scan = window + strstart; /* current string */
- register uch *match; /* matched string */
- register int len; /* length of current match */
- int best_len = prev_length; /* best match length so far */
- IPos limit = strstart > (IPos)MAX_DIST ? strstart - (IPos)MAX_DIST : NIL;
- /* Stop when cur_match becomes <= limit. To simplify the code,
- * we prevent matches with the string of window index 0.
- */
-
-/* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
- * It is easy to get rid of this optimization if necessary.
- */
-#if HASH_BITS < 8 || MAX_MATCH != 258
- error: Code too clever
-#endif
-
-#ifdef UNALIGNED_OK
- /* Compare two bytes at a time. Note: this is not always beneficial.
- * Try with and without -DUNALIGNED_OK to check.
- */
- register uch *strend = window + strstart + MAX_MATCH - 1;
- register ush scan_start = *(ush*)scan;
- register ush scan_end = *(ush*)(scan+best_len-1);
-#else
- register uch *strend = window + strstart + MAX_MATCH;
- register uch scan_end1 = scan[best_len-1];
- register uch scan_end = scan[best_len];
-#endif
-
- /* Do not waste too much time if we already have a good match: */
- if (prev_length >= good_match) {
- chain_length >>= 2;
- }
- Assert(strstart <= window_size-MIN_LOOKAHEAD, "insufficient lookahead");
-
- do {
- Assert(cur_match < strstart, "no future");
- match = window + cur_match;
-
- /* Skip to next match if the match length cannot increase
- * or if the match length is less than 2:
- */
-#if (defined(UNALIGNED_OK) && MAX_MATCH == 258)
- /* This code assumes sizeof(unsigned short) == 2. Do not use
- * UNALIGNED_OK if your compiler uses a different size.
- */
- if (*(ush*)(match+best_len-1) != scan_end ||
- *(ush*)match != scan_start) continue;
-
- /* It is not necessary to compare scan[2] and match[2] since they are
- * always equal when the other bytes match, given that the hash keys
- * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at
- * strstart+3, +5, ... up to strstart+257. We check for insufficient
- * lookahead only every 4th comparison; the 128th check will be made
- * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
- * necessary to put more guard bytes at the end of the window, or
- * to check more often for insufficient lookahead.
- */
- scan++, match++;
- do {
- } while (*(ush*)(scan+=2) == *(ush*)(match+=2) &&
- *(ush*)(scan+=2) == *(ush*)(match+=2) &&
- *(ush*)(scan+=2) == *(ush*)(match+=2) &&
- *(ush*)(scan+=2) == *(ush*)(match+=2) &&
- scan < strend);
- /* The funny "do {}" generates better code on most compilers */
-
- /* Here, scan <= window+strstart+257 */
- Assert(scan <= window+(unsigned)(window_size-1), "wild scan");
- if (*scan == *match) scan++;
-
- len = (MAX_MATCH - 1) - (int)(strend-scan);
- scan = strend - (MAX_MATCH-1);
-
-#else /* UNALIGNED_OK */
-
- if (match[best_len] != scan_end ||
- match[best_len-1] != scan_end1 ||
- *match != *scan ||
- *++match != scan[1]) continue;
-
- /* The check at best_len-1 can be removed because it will be made
- * again later. (This heuristic is not always a win.)
- * It is not necessary to compare scan[2] and match[2] since they
- * are always equal when the other bytes match, given that
- * the hash keys are equal and that HASH_BITS >= 8.
- */
- scan += 2, match++;
-
- /* We check for insufficient lookahead only every 8th comparison;
- * the 256th check will be made at strstart+258.
- */
- do {
- } while (*++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- scan < strend);
-
- len = MAX_MATCH - (int)(strend - scan);
- scan = strend - MAX_MATCH;
-
-#endif /* UNALIGNED_OK */
-
- if (len > best_len) {
- match_start = cur_match;
- best_len = len;
- if (len >= nice_match) break;
-#ifdef UNALIGNED_OK
- scan_end = *(ush*)(scan+best_len-1);
-#else
- scan_end1 = scan[best_len-1];
- scan_end = scan[best_len];
-#endif
- }
- } while ((cur_match = prev[cur_match & WMASK]) > limit
- && --chain_length != 0);
-
- return best_len;
-}
-#endif /* ASMV */
-
-#ifdef DEBUG
-/* ===========================================================================
- * Check that the match at match_start is indeed a match.
- */
-local void check_match(start, match, length)
- IPos start, match;
- int length;
-{
- /* check that the match is indeed a match */
- if (memcmp((char*)window + match,
- (char*)window + start, length) != EQUAL) {
- fprintf(stderr,
- " start %d, match %d, length %d\n",
- start, match, length);
- error("invalid match");
- }
- if (verbose > 1) {
- fprintf(stderr,"\\[%d,%d]", start-match, length);
- do { putc(window[start++], stderr); } while (--length != 0);
- }
-}
-#else
-# define check_match(start, match, length)
-#endif
-
-/* ===========================================================================
- * Fill the window when the lookahead becomes insufficient.
- * Updates strstart and lookahead, and sets eofile if end of input file.
- * IN assertion: lookahead < MIN_LOOKAHEAD && strstart + lookahead > 0
- * OUT assertions: at least one byte has been read, or eofile is set;
- * file reads are performed for at least two bytes (required for the
- * translate_eol option).
- */
-local void fill_window()
-{
- register unsigned n, m;
- unsigned more = (unsigned)(window_size - (ulg)lookahead - (ulg)strstart);
- /* Amount of free space at the end of the window. */
-
- /* If the window is almost full and there is insufficient lookahead,
- * move the upper half to the lower one to make room in the upper half.
- */
- if (more == (unsigned)EOF) {
- /* Very unlikely, but possible on 16 bit machine if strstart == 0
- * and lookahead == 1 (input done one byte at time)
- */
- more--;
- } else if (strstart >= WSIZE+MAX_DIST) {
- /* By the IN assertion, the window is not empty so we can't confuse
- * more == 0 with more == 64K on a 16 bit machine.
- */
- Assert(window_size == (ulg)2*WSIZE, "no sliding with BIG_MEM");
-
- memcpy((char*)window, (char*)window+WSIZE, (unsigned)WSIZE);
- match_start -= WSIZE;
- strstart -= WSIZE; /* we now have strstart >= MAX_DIST: */
- if (rsync_chunk_end != 0xFFFFFFFFUL)
- rsync_chunk_end -= WSIZE;
-
- block_start -= (long) WSIZE;
-
- for (n = 0; n < HASH_SIZE; n++) {
- m = head[n];
- head[n] = (Pos)(m >= WSIZE ? m-WSIZE : NIL);
- }
- for (n = 0; n < WSIZE; n++) {
- m = prev[n];
- prev[n] = (Pos)(m >= WSIZE ? m-WSIZE : NIL);
- /* If n is not on any hash chain, prev[n] is garbage but
- * its value will never be used.
- */
- }
- more += WSIZE;
- }
- /* At this point, more >= 2 */
- if (!eofile) {
- n = read_buf((char*)window+strstart+lookahead, more);
- if (n == 0 || n == (unsigned)EOF) {
- eofile = 1;
- } else {
- lookahead += n;
- }
- }
-}
-
-local void rsync_roll(start, num)
- unsigned start;
- unsigned num;
-{
- unsigned i;
-
- if (start < RSYNC_WIN) {
- /* before window fills. */
- for (i = start; i < RSYNC_WIN; i++) {
- if (i == start + num) return;
- rsync_sum += (ulg)window[i];
- }
- num -= (RSYNC_WIN - start);
- start = RSYNC_WIN;
- }
-
- /* buffer after window full */
- for (i = start; i < start+num; i++) {
- /* New character in */
- rsync_sum += (ulg)window[i];
- /* Old character out */
- rsync_sum -= (ulg)window[i - RSYNC_WIN];
- if (rsync_chunk_end == 0xFFFFFFFFUL && RSYNC_SUM_MATCH(rsync_sum))
- rsync_chunk_end = i;
- }
-}
-
-/* ===========================================================================
- * Set rsync_chunk_end if window sum matches magic value.
- */
-#define RSYNC_ROLL(s, n) \
- do { if (rsync) rsync_roll((s), (n)); } while(0)
-
-/* ===========================================================================
- * Flush the current block, with given end-of-file flag.
- * IN assertion: strstart is set to the end of the current match.
- */
-#define FLUSH_BLOCK(eof) \
- flush_block(block_start >= 0L ? (char*)&window[(unsigned)block_start] : \
- (char*)NULL, (long)strstart - block_start, flush-1, (eof))
-
-/* ===========================================================================
- * Processes a new input file and return its compressed length. This
- * function does not perform lazy evaluationof matches and inserts
- * new strings in the dictionary only for unmatched strings or for short
- * matches. It is used only for the fast compression options.
- */
-local off_t deflate_fast()
-{
- IPos hash_head; /* head of the hash chain */
- int flush; /* set if current block must be flushed, 2=>and padded */
- unsigned match_length = 0; /* length of best match */
-
- prev_length = MIN_MATCH-1;
- while (lookahead != 0) {
- /* Insert the string window[strstart .. strstart+2] in the
- * dictionary, and set hash_head to the head of the hash chain:
- */
- INSERT_STRING(strstart, hash_head);
-
- /* Find the longest match, discarding those <= prev_length.
- * At this point we have always match_length < MIN_MATCH
- */
- if (hash_head != NIL && strstart - hash_head <= MAX_DIST &&
- strstart <= window_size - MIN_LOOKAHEAD) {
- /* To simplify the code, we prevent matches with the string
- * of window index 0 (in particular we have to avoid a match
- * of the string with itself at the start of the input file).
- */
- match_length = longest_match (hash_head);
- /* longest_match() sets match_start */
- if (match_length > lookahead) match_length = lookahead;
- }
- if (match_length >= MIN_MATCH) {
- check_match(strstart, match_start, match_length);
-
- flush = ct_tally(strstart-match_start, match_length - MIN_MATCH);
-
- lookahead -= match_length;
-
- RSYNC_ROLL(strstart, match_length);
- /* Insert new strings in the hash table only if the match length
- * is not too large. This saves time but degrades compression.
- */
- if (match_length <= max_insert_length) {
- match_length--; /* string at strstart already in hash table */
- do {
- strstart++;
- INSERT_STRING(strstart, hash_head);
- /* strstart never exceeds WSIZE-MAX_MATCH, so there are
- * always MIN_MATCH bytes ahead. If lookahead < MIN_MATCH
- * these bytes are garbage, but it does not matter since
- * the next lookahead bytes will be emitted as literals.
- */
- } while (--match_length != 0);
- strstart++;
- } else {
- strstart += match_length;
- match_length = 0;
- ins_h = window[strstart];
- UPDATE_HASH(ins_h, window[strstart+1]);
-#if MIN_MATCH != 3
- Call UPDATE_HASH() MIN_MATCH-3 more times
-#endif
- }
- } else {
- /* No match, output a literal byte */
- Tracevv((stderr,"%c",window[strstart]));
- flush = ct_tally (0, window[strstart]);
- RSYNC_ROLL(strstart, 1);
- lookahead--;
- strstart++;
- }
- if (rsync && strstart > rsync_chunk_end) {
- rsync_chunk_end = 0xFFFFFFFFUL;
- flush = 2;
- }
- if (flush) FLUSH_BLOCK(0), block_start = strstart;
-
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the next match, plus MIN_MATCH bytes to insert the
- * string following the next match.
- */
- while (lookahead < MIN_LOOKAHEAD && !eofile) fill_window();
-
- }
- return FLUSH_BLOCK(1); /* eof */
-}
-
-/* ===========================================================================
- * Same as above, but achieves better compression. We use a lazy
- * evaluation for matches: a match is finally adopted only if there is
- * no better match at the next window position.
- */
-off_t deflate()
-{
- IPos hash_head; /* head of hash chain */
- IPos prev_match; /* previous match */
- int flush; /* set if current block must be flushed */
- int match_available = 0; /* set if previous match exists */
- register unsigned match_length = MIN_MATCH-1; /* length of best match */
-
- if (compr_level <= 3) return deflate_fast(); /* optimized for speed */
-
- /* Process the input block. */
- while (lookahead != 0) {
- /* Insert the string window[strstart .. strstart+2] in the
- * dictionary, and set hash_head to the head of the hash chain:
- */
- INSERT_STRING(strstart, hash_head);
-
- /* Find the longest match, discarding those <= prev_length.
- */
- prev_length = match_length, prev_match = match_start;
- match_length = MIN_MATCH-1;
-
- if (hash_head != NIL && prev_length < max_lazy_match &&
- strstart - hash_head <= MAX_DIST &&
- strstart <= window_size - MIN_LOOKAHEAD) {
- /* To simplify the code, we prevent matches with the string
- * of window index 0 (in particular we have to avoid a match
- * of the string with itself at the start of the input file).
- */
- match_length = longest_match (hash_head);
- /* longest_match() sets match_start */
- if (match_length > lookahead) match_length = lookahead;
-
- /* Ignore a length 3 match if it is too distant: */
- if (match_length == MIN_MATCH && strstart-match_start > TOO_FAR){
- /* If prev_match is also MIN_MATCH, match_start is garbage
- * but we will ignore the current match anyway.
- */
- match_length--;
- }
- }
- /* If there was a match at the previous step and the current
- * match is not better, output the previous match:
- */
- if (prev_length >= MIN_MATCH && match_length <= prev_length) {
-
- check_match(strstart-1, prev_match, prev_length);
-
- flush = ct_tally(strstart-1-prev_match, prev_length - MIN_MATCH);
-
- /* Insert in hash table all strings up to the end of the match.
- * strstart-1 and strstart are already inserted.
- */
- lookahead -= prev_length-1;
- prev_length -= 2;
- RSYNC_ROLL(strstart, prev_length+1);
- do {
- strstart++;
- INSERT_STRING(strstart, hash_head);
- /* strstart never exceeds WSIZE-MAX_MATCH, so there are
- * always MIN_MATCH bytes ahead. If lookahead < MIN_MATCH
- * these bytes are garbage, but it does not matter since the
- * next lookahead bytes will always be emitted as literals.
- */
- } while (--prev_length != 0);
- match_available = 0;
- match_length = MIN_MATCH-1;
- strstart++;
-
- if (rsync && strstart > rsync_chunk_end) {
- rsync_chunk_end = 0xFFFFFFFFUL;
- flush = 2;
- }
- if (flush) FLUSH_BLOCK(0), block_start = strstart;
- } else if (match_available) {
- /* If there was no match at the previous position, output a
- * single literal. If there was a match but the current match
- * is longer, truncate the previous match to a single literal.
- */
- Tracevv((stderr,"%c",window[strstart-1]));
- flush = ct_tally (0, window[strstart-1]);
- if (rsync && strstart > rsync_chunk_end) {
- rsync_chunk_end = 0xFFFFFFFFUL;
- flush = 2;
- }
- if (flush) FLUSH_BLOCK(0), block_start = strstart;
- RSYNC_ROLL(strstart, 1);
- strstart++;
- lookahead--;
- } else {
- /* There is no previous match to compare with, wait for
- * the next step to decide.
- */
- if (rsync && strstart > rsync_chunk_end) {
- /* Reset huffman tree */
- rsync_chunk_end = 0xFFFFFFFFUL;
- flush = 2;
- FLUSH_BLOCK(0), block_start = strstart;
- }
- match_available = 1;
- RSYNC_ROLL(strstart, 1);
- strstart++;
- lookahead--;
- }
- Assert (strstart <= bytes_in && lookahead <= bytes_in, "a bit too far");
-
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the next match, plus MIN_MATCH bytes to insert the
- * string following the next match.
- */
- while (lookahead < MIN_LOOKAHEAD && !eofile) fill_window();
- }
- if (match_available) ct_tally (0, window[strstart-1]);
-
- return FLUSH_BLOCK(1); /* eof */
-}
-/* Getopt for GNU.
- NOTE: getopt is now part of the C library, so if you don't know what
- "Keep this file name-space clean" means, talk to drepper@gnu.org
- before changing it!
- Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* This tells Alpha OSF/1 not to define a getopt prototype in .
- Ditto for AIX 3.2 and . */
-#ifndef _NO_PROTO
-# define _NO_PROTO
-#endif
-
-#if !defined __STDC__ || !__STDC__
-/* This is a separate conditional since some stdc systems
- reject `defined (const)'. */
-# ifndef const
-# define const
-# endif
-#endif
-
-/* This needs to come after some library #include
- to get __GNU_LIBRARY__ defined. */
-
-# define _(msgid) (msgid)
-
-/* This version of `getopt' appears to the caller like standard Unix `getopt'
- but it behaves differently for the user, since it allows the user
- to intersperse the options with the other arguments.
-
- As `getopt' works, it permutes the elements of ARGV so that,
- when it is done, all the options precede everything else. Thus
- all application programs are extended to handle flexible argument order.
-
- Setting the environment variable POSIXLY_CORRECT disables permutation.
- Then the behavior is completely standard.
-
- GNU application programs can use a third alternative mode in which
- they can distinguish the relative order of options and other arguments. */
-
-/* Declarations for getopt.
- Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ifndef _GETOPT_H
-
-#ifndef __need_getopt
-# define _GETOPT_H 1
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* For communication from `getopt' to the caller.
- When `getopt' finds an option that takes an argument,
- the argument value is returned here.
- Also, when `ordering' is RETURN_IN_ORDER,
- each non-option ARGV-element is returned here. */
-
-extern char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
- This is used for communication to and from the caller
- and for communication between successive calls to `getopt'.
-
- On entry to `getopt', zero means this is the first call; initialize.
-
- When `getopt' returns -1, this is the index of the first of the
- non-option elements that the caller should itself scan.
-
- Otherwise, `optind' communicates from one call to the next
- how much of ARGV has been scanned so far. */
-
-extern int optind;
-
-/* Callers store zero here to inhibit the error message `getopt' prints
- for unrecognized options. */
-
-extern int opterr;
-
-/* Set to an option character which was unrecognized. */
-
-extern int optopt;
-
-/* Describe the long-named options requested by the application.
- The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
- of `struct option' terminated by an element containing a name which is
- zero.
-
- The field `has_arg' is:
- no_argument (or 0) if the option does not take an argument,
- required_argument (or 1) if the option requires an argument,
- optional_argument (or 2) if the option takes an optional argument.
-
- If the field `flag' is not NULL, it points to a variable that is set
- to the value given in the field `val' when the option is found, but
- left unchanged if the option is not found.
-
- To have a long-named option do something other than set an `int' to
- a compiled-in constant, such as set a value from `optarg', set the
- option's `flag' field to zero and its `val' field to a nonzero
- value (the equivalent single-letter option character, if there is
- one). For long options that have a zero `flag' field, `getopt'
- returns the contents of the `val' field. */
-
-struct option
-{
-# if (defined __STDC__ && __STDC__) || defined __cplusplus
- const char *name;
-# else
- char *name;
-# endif
- /* has_arg can't be an enum because some compilers complain about
- type mismatches in all the code that assumes it is an int. */
- int has_arg;
- int *flag;
- int val;
-};
-
-/* Names for the values of the `has_arg' field of `struct option'. */
-
-# define no_argument 0
-# define required_argument 1
-# define optional_argument 2
-
-
-/* Get definitions and prototypes for functions to process the
- arguments in ARGV (ARGC of them, minus the program name) for
- options given in OPTS.
-
- Return the option character from OPTS just read. Return -1 when
- there are no more options. For unrecognized options, or options
- missing arguments, `optopt' is set to the option letter, and '?' is
- returned.
-
- The OPTS string is a list of characters which are recognized option
- letters, optionally followed by colons, specifying that that letter
- takes an argument, to be placed in `optarg'.
-
- If a letter in OPTS is followed by two colons, its argument is
- optional. This behavior is specific to the GNU `getopt'.
-
- The argument `--' causes premature termination of argument
- scanning, explicitly telling `getopt' that there are no more
- options.
-
- If OPTS begins with `--', then non-option arguments are treated as
- arguments to the option '\0'. This behavior is specific to the GNU
- `getopt'. */
-
-#if (defined __STDC__ && __STDC__) || defined __cplusplus
-# ifdef __GNU_LIBRARY__
-/* Many other libraries have conflicting prototypes for getopt, with
- differences in the consts, in stdlib.h. To avoid compilation
- errors, only prototype getopt for the GNU C library. */
-extern int getopt (int __argc, char *const *__argv, const char *__shortopts);
-# else /* not __GNU_LIBRARY__ */
-extern int getopt ();
-# endif /* __GNU_LIBRARY__ */
-
-# ifndef __need_getopt
-extern int getopt_long (int __argc, char *const *__argv, const char *__shortopts,
- const struct option *__longopts, int *__longind);
-extern int getopt_long_only (int __argc, char *const *__argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind);
-
-/* Internal only. Users should not call this directly. */
-extern int _getopt_internal (int __argc, char *const *__argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind,
- int __long_only);
-# endif
-#else /* not __STDC__ */
-extern int getopt ();
-# ifndef __need_getopt
-extern int getopt_long ();
-extern int getopt_long_only ();
-
-extern int _getopt_internal ();
-# endif
-#endif /* __STDC__ */
-
-#ifdef __cplusplus
-}
-#endif
-
-/* Make sure we later can get all the definitions and declarations. */
-#undef __need_getopt
-
-#endif /* getopt.h */
-
-
-/* For communication from `getopt' to the caller.
- When `getopt' finds an option that takes an argument,
- the argument value is returned here.
- Also, when `ordering' is RETURN_IN_ORDER,
- each non-option ARGV-element is returned here. */
-
-char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
- This is used for communication to and from the caller
- and for communication between successive calls to `getopt'.
-
- On entry to `getopt', zero means this is the first call; initialize.
-
- When `getopt' returns -1, this is the index of the first of the
- non-option elements that the caller should itself scan.
-
- Otherwise, `optind' communicates from one call to the next
- how much of ARGV has been scanned so far. */
-
-/* 1003.2 says this must be 1 before any call. */
-int optind = 1;
-
-/* Formerly, initialization of getopt depended on optind==0, which
- causes problems with re-calling getopt as programs generally don't
- know that. */
-
-int __getopt_initialized;
-
-/* The next char to be scanned in the option-element
- in which the last option character we returned was found.
- This allows us to pick up the scan where we left off.
-
- If this is zero, or a null string, it means resume the scan
- by advancing to the next ARGV-element. */
-
-static char *nextchar;
-
-/* Callers store zero here to inhibit the error message
- for unrecognized options. */
-
-int opterr = 1;
-
-/* Set to an option character which was unrecognized.
- This must be initialized on some systems to avoid linking in the
- system's own getopt implementation. */
-
-int optopt = '?';
-
-/* Describe how to deal with options that follow non-option ARGV-elements.
-
- If the caller did not specify anything,
- the default is REQUIRE_ORDER if the environment variable
- POSIXLY_CORRECT is defined, PERMUTE otherwise.
-
- REQUIRE_ORDER means don't recognize them as options;
- stop option processing when the first non-option is seen.
- This is what Unix does.
- This mode of operation is selected by either setting the environment
- variable POSIXLY_CORRECT, or using `+' as the first character
- of the list of option characters.
-
- PERMUTE is the default. We permute the contents of ARGV as we scan,
- so that eventually all the non-options are at the end. This allows options
- to be given in any order, even with programs that were not written to
- expect this.
-
- RETURN_IN_ORDER is an option available to programs that were written
- to expect options and other ARGV-elements in any order and that care about
- the ordering of the two. We describe each non-option ARGV-element
- as if it were the argument of an option with character code 1.
- Using `-' as the first character of the list of option characters
- selects this mode of operation.
-
- The special argument `--' forces an end of option-scanning regardless
- of the value of `ordering'. In the case of RETURN_IN_ORDER, only
- `--' can cause `getopt' to return -1 with `optind' != ARGC. */
-
-static enum
-{
- REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
-} ordering;
-
-/* Value of POSIXLY_CORRECT environment variable. */
-static char *posixly_correct;
-
-# define my_index strchr
-
-/* Avoid depending on library functions or files
- whose names are inconsistent. */
-
-#ifndef getenv
-extern char *getenv ();
-#endif
-
-char *
-my_index (str, chr)
- const char *str;
- int chr;
-{
- while (*str)
- {
- if (*str == chr)
- return (char *) str;
- str++;
- }
- return 0;
-}
-
-/* If using GCC, we can safely declare strlen this way.
- If not using GCC, it is ok not to declare it. */
-#ifdef __GNUC__
-/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h.
- That was relevant to code that was here before. */
-# if (!defined __STDC__ || !__STDC__) && !defined strlen
-/* gcc with -traditional declares the built-in strlen to return int,
- and has done so at least since version 2.4.5. -- rms. */
-extern int strlen (const char *);
-# endif /* not __STDC__ */
-#endif /* __GNUC__ */
-
-
-/* Handle permutation of arguments. */
-
-/* Describe the part of ARGV that contains non-options that have
- been skipped. `first_nonopt' is the index in ARGV of the first of them;
- `last_nonopt' is the index after the last of them. */
-
-static int first_nonopt;
-static int last_nonopt;
-
-#ifdef _LIBC
-/* Bash 2.0 gives us an environment variable containing flags
- indicating ARGV elements that should not be considered arguments. */
-
-#ifdef USE_NONOPTION_FLAGS
-/* Defined in getopt_init.c */
-extern char *__getopt_nonoption_flags;
-
-static int nonoption_flags_max_len;
-static int nonoption_flags_len;
-#endif
-
-static int original_argc;
-static char *const *original_argv;
-
-/* Make sure the environment variable bash 2.0 puts in the environment
- is valid for the getopt call we must make sure that the ARGV passed
- to getopt is that one passed to the process. */
-static void
-__attribute__ ((unused))
-store_args_and_env (int argc, char *const *argv)
-{
- /* XXX This is no good solution. We should rather copy the args so
- that we can compare them later. But we must not use malloc(3). */
- original_argc = argc;
- original_argv = argv;
-}
-# ifdef text_set_element
-text_set_element (__libc_subinit, store_args_and_env);
-# endif /* text_set_element */
-
-# ifdef USE_NONOPTION_FLAGS
-# define SWAP_FLAGS(ch1, ch2) \
- if (nonoption_flags_len > 0) \
- { \
- char __tmp = __getopt_nonoption_flags[ch1]; \
- __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \
- __getopt_nonoption_flags[ch2] = __tmp; \
- }
-# else
-# define SWAP_FLAGS(ch1, ch2)
-# endif
-#else /* !_LIBC */
-# define SWAP_FLAGS(ch1, ch2)
-#endif /* _LIBC */
-
-/* Exchange two adjacent subsequences of ARGV.
- One subsequence is elements [first_nonopt,last_nonopt)
- which contains all the non-options that have been skipped so far.
- The other is elements [last_nonopt,optind), which contains all
- the options processed since those non-options were skipped.
-
- `first_nonopt' and `last_nonopt' are relocated so that they describe
- the new indices of the non-options in ARGV after they are moved. */
-
-#if defined __STDC__ && __STDC__
-static void exchange (char **);
-#endif
-
-static void
-exchange (argv)
- char **argv;
-{
- int bottom = first_nonopt;
- int middle = last_nonopt;
- int top = optind;
- char *tem;
-
- /* Exchange the shorter segment with the far end of the longer segment.
- That puts the shorter segment into the right place.
- It leaves the longer segment in the right place overall,
- but it consists of two parts that need to be swapped next. */
-
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
- /* First make sure the handling of the `__getopt_nonoption_flags'
- string can work normally. Our top argument must be in the range
- of the string. */
- if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len)
- {
- /* We must extend the array. The user plays games with us and
- presents new arguments. */
- char *new_str = malloc (top + 1);
- if (new_str == NULL)
- nonoption_flags_len = nonoption_flags_max_len = 0;
- else
- {
- memset (__mempcpy (new_str, __getopt_nonoption_flags,
- nonoption_flags_max_len),
- '\0', top + 1 - nonoption_flags_max_len);
- nonoption_flags_max_len = top + 1;
- __getopt_nonoption_flags = new_str;
- }
- }
-#endif
-
- while (top > middle && middle > bottom)
- {
- if (top - middle > middle - bottom)
- {
- /* Bottom segment is the short one. */
- int len = middle - bottom;
- register int i;
-
- /* Swap it with the top part of the top segment. */
- for (i = 0; i < len; i++)
- {
- tem = argv[bottom + i];
- argv[bottom + i] = argv[top - (middle - bottom) + i];
- argv[top - (middle - bottom) + i] = tem;
- SWAP_FLAGS (bottom + i, top - (middle - bottom) + i);
- }
- /* Exclude the moved bottom segment from further swapping. */
- top -= len;
- }
- else
- {
- /* Top segment is the short one. */
- int len = top - middle;
- register int i;
-
- /* Swap it with the bottom part of the bottom segment. */
- for (i = 0; i < len; i++)
- {
- tem = argv[bottom + i];
- argv[bottom + i] = argv[middle + i];
- argv[middle + i] = tem;
- SWAP_FLAGS (bottom + i, middle + i);
- }
- /* Exclude the moved top segment from further swapping. */
- bottom += len;
- }
- }
-
- /* Update records for the slots the non-options now occupy. */
-
- first_nonopt += (optind - last_nonopt);
- last_nonopt = optind;
-}
-
-/* Initialize the internal data when the first call is made. */
-
-#if defined __STDC__ && __STDC__
-static const char *_getopt_initialize (int, char *const *, const char *);
-#endif
-static const char *
-_getopt_initialize (argc, argv, optstring)
- int argc;
- char *const *argv;
- const char *optstring;
-{
- /* Start processing options with ARGV-element 1 (since ARGV-element 0
- is the program name); the sequence of previously skipped
- non-option ARGV-elements is empty. */
-
- first_nonopt = last_nonopt = optind;
-
- nextchar = NULL;
-
- posixly_correct = getenv ("POSIXLY_CORRECT");
-
- /* Determine how to handle the ordering of options and nonoptions. */
-
- if (optstring[0] == '-')
- {
- ordering = RETURN_IN_ORDER;
- ++optstring;
- }
- else if (optstring[0] == '+')
- {
- ordering = REQUIRE_ORDER;
- ++optstring;
- }
- else if (posixly_correct != NULL)
- ordering = REQUIRE_ORDER;
- else
- ordering = PERMUTE;
-
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
- if (posixly_correct == NULL
- && argc == original_argc && argv == original_argv)
- {
- if (nonoption_flags_max_len == 0)
- {
- if (__getopt_nonoption_flags == NULL
- || __getopt_nonoption_flags[0] == '\0')
- nonoption_flags_max_len = -1;
- else
- {
- const char *orig_str = __getopt_nonoption_flags;
- int len = nonoption_flags_max_len = strlen (orig_str);
- if (nonoption_flags_max_len < argc)
- nonoption_flags_max_len = argc;
- __getopt_nonoption_flags =
- (char *) malloc (nonoption_flags_max_len);
- if (__getopt_nonoption_flags == NULL)
- nonoption_flags_max_len = -1;
- else
- memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
- '\0', nonoption_flags_max_len - len);
- }
- }
- nonoption_flags_len = nonoption_flags_max_len;
- }
- else
- nonoption_flags_len = 0;
-#endif
-
- return optstring;
-}
-
-/* Scan elements of ARGV (whose length is ARGC) for option characters
- given in OPTSTRING.
-
- If an element of ARGV starts with '-', and is not exactly "-" or "--",
- then it is an option element. The characters of this element
- (aside from the initial '-') are option characters. If `getopt'
- is called repeatedly, it returns successively each of the option characters
- from each of the option elements.
-
- If `getopt' finds another option character, it returns that character,
- updating `optind' and `nextchar' so that the next call to `getopt' can
- resume the scan with the following option character or ARGV-element.
-
- If there are no more option characters, `getopt' returns -1.
- Then `optind' is the index in ARGV of the first ARGV-element
- that is not an option. (The ARGV-elements have been permuted
- so that those that are not options now come last.)
-
- OPTSTRING is a string containing the legitimate option characters.
- If an option character is seen that is not listed in OPTSTRING,
- return '?' after printing an error message. If you set `opterr' to
- zero, the error message is suppressed but we still return '?'.
-
- If a char in OPTSTRING is followed by a colon, that means it wants an arg,
- so the following text in the same ARGV-element, or the text of the following
- ARGV-element, is returned in `optarg'. Two colons mean an option that
- wants an optional arg; if there is text in the current ARGV-element,
- it is returned in `optarg', otherwise `optarg' is set to zero.
-
- If OPTSTRING starts with `-' or `+', it requests different methods of
- handling the non-option ARGV-elements.
- See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
-
- Long-named options begin with `--' instead of `-'.
- Their names may be abbreviated as long as the abbreviation is unique
- or is an exact match for some defined option. If they have an
- argument, it follows the option name in the same ARGV-element, separated
- from the option name by a `=', or else the in next ARGV-element.
- When `getopt' finds a long-named option, it returns 0 if that option's
- `flag' field is nonzero, the value of the option's `val' field
- if the `flag' field is zero.
-
- The elements of ARGV aren't really const, because we permute them.
- But we pretend they're const in the prototype to be compatible
- with other systems.
-
- LONGOPTS is a vector of `struct option' terminated by an
- element containing a name which is zero.
-
- LONGIND returns the index in LONGOPT of the long-named option found.
- It is only valid when a long-named option has been found by the most
- recent call.
-
- If LONG_ONLY is nonzero, '-' as well as '--' can introduce
- long-named options. */
-
-int
-_getopt_internal (argc, argv, optstring, longopts, longind, long_only)
- int argc;
- char *const *argv;
- const char *optstring;
- const struct option *longopts;
- int *longind;
- int long_only;
-{
- int print_errors = opterr;
- if (optstring[0] == ':')
- print_errors = 0;
-
- if (argc < 1)
- return -1;
-
- optarg = NULL;
-
- if (optind == 0 || !__getopt_initialized)
- {
- if (optind == 0)
- optind = 1; /* Don't scan ARGV[0], the program name. */
- optstring = _getopt_initialize (argc, argv, optstring);
- __getopt_initialized = 1;
- }
-
- /* Test whether ARGV[optind] points to a non-option argument.
- Either it does not have option syntax, or there is an environment flag
- from the shell indicating it is not an option. The later information
- is only used when the used in the GNU libc. */
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
-# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \
- || (optind < nonoption_flags_len \
- && __getopt_nonoption_flags[optind] == '1'))
-#else
-# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0')
-#endif
-
- if (nextchar == NULL || *nextchar == '\0')
- {
- /* Advance to the next ARGV-element. */
-
- /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been
- moved back by the user (who may also have changed the arguments). */
- if (last_nonopt > optind)
- last_nonopt = optind;
- if (first_nonopt > optind)
- first_nonopt = optind;
-
- if (ordering == PERMUTE)
- {
- /* If we have just processed some options following some non-options,
- exchange them so that the options come first. */
-
- if (first_nonopt != last_nonopt && last_nonopt != optind)
- exchange ((char **) argv);
- else if (last_nonopt != optind)
- first_nonopt = optind;
-
- /* Skip any additional non-options
- and extend the range of non-options previously skipped. */
-
- while (optind < argc && NONOPTION_P)
- optind++;
- last_nonopt = optind;
- }
-
- /* The special ARGV-element `--' means premature end of options.
- Skip it like a null option,
- then exchange with previous non-options as if it were an option,
- then skip everything else like a non-option. */
-
- if (optind != argc && !strcmp (argv[optind], "--"))
- {
- optind++;
-
- if (first_nonopt != last_nonopt && last_nonopt != optind)
- exchange ((char **) argv);
- else if (first_nonopt == last_nonopt)
- first_nonopt = optind;
- last_nonopt = argc;
-
- optind = argc;
- }
-
- /* If we have done all the ARGV-elements, stop the scan
- and back over any non-options that we skipped and permuted. */
-
- if (optind == argc)
- {
- /* Set the next-arg-index to point at the non-options
- that we previously skipped, so the caller will digest them. */
- if (first_nonopt != last_nonopt)
- optind = first_nonopt;
- return -1;
- }
-
- /* If we have come to a non-option and did not permute it,
- either stop the scan or describe it to the caller and pass it by. */
-
- if (NONOPTION_P)
- {
- if (ordering == REQUIRE_ORDER)
- return -1;
- optarg = argv[optind++];
- return 1;
- }
-
- /* We have found another option-ARGV-element.
- Skip the initial punctuation. */
-
- nextchar = (argv[optind] + 1
- + (longopts != NULL && argv[optind][1] == '-'));
- }
-
- /* Decode the current option-ARGV-element. */
-
- /* Check whether the ARGV-element is a long option.
-
- If long_only and the ARGV-element has the form "-f", where f is
- a valid short option, don't consider it an abbreviated form of
- a long option that starts with f. Otherwise there would be no
- way to give the -f short option.
-
- On the other hand, if there's a long option "fubar" and
- the ARGV-element is "-fu", do consider that an abbreviation of
- the long option, just like "--fu", and not "-f" with arg "u".
-
- This distinction seems to be the most useful approach. */
-
- if (longopts != NULL
- && (argv[optind][1] == '-'
- || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1])))))
- {
- char *nameend;
- const struct option *p;
- const struct option *pfound = NULL;
- int exact = 0;
- int ambig = 0;
- int indfound = -1;
- int option_index;
-
- for (nameend = nextchar; *nameend && *nameend != '='; nameend++)
- /* Do nothing. */ ;
-
- /* Test all long options for either exact match
- or abbreviated matches. */
- for (p = longopts, option_index = 0; p->name; p++, option_index++)
- if (!strncmp (p->name, nextchar, nameend - nextchar))
- {
- if ((unsigned int) (nameend - nextchar)
- == (unsigned int) strlen (p->name))
- {
- /* Exact match found. */
- pfound = p;
- indfound = option_index;
- exact = 1;
- break;
- }
- else if (pfound == NULL)
- {
- /* First nonexact match found. */
- pfound = p;
- indfound = option_index;
- }
- else if (long_only
- || pfound->has_arg != p->has_arg
- || pfound->flag != p->flag
- || pfound->val != p->val)
- /* Second or later nonexact match found. */
- ambig = 1;
- }
-
- if (ambig && !exact)
- {
- if (print_errors)
- fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
- argv[0], argv[optind]);
- nextchar += strlen (nextchar);
- optind++;
- optopt = 0;
- return '?';
- }
-
- if (pfound != NULL)
- {
- option_index = indfound;
- optind++;
- if (*nameend)
- {
- /* Don't test has_arg with >, because some C compilers don't
- allow it to be used on enums. */
- if (pfound->has_arg)
- optarg = nameend + 1;
- else
- {
- if (print_errors)
- {
- if (argv[optind - 1][1] == '-')
- /* --option */
- fprintf (stderr,
- _("%s: option `--%s' doesn't allow an argument\n"),
- argv[0], pfound->name);
- else
- /* +option or -option */
- fprintf (stderr,
- _("%s: option `%c%s' doesn't allow an argument\n"),
- argv[0], argv[optind - 1][0], pfound->name);
- }
-
- nextchar += strlen (nextchar);
-
- optopt = pfound->val;
- return '?';
- }
- }
- else if (pfound->has_arg == 1)
- {
- if (optind < argc)
- optarg = argv[optind++];
- else
- {
- if (print_errors)
- fprintf (stderr,
- _("%s: option `%s' requires an argument\n"),
- argv[0], argv[optind - 1]);
- nextchar += strlen (nextchar);
- optopt = pfound->val;
- return optstring[0] == ':' ? ':' : '?';
- }
- }
- nextchar += strlen (nextchar);
- if (longind != NULL)
- *longind = option_index;
- if (pfound->flag)
- {
- *(pfound->flag) = pfound->val;
- return 0;
- }
- return pfound->val;
- }
-
- /* Can't find it as a long option. If this is not getopt_long_only,
- or the option starts with '--' or is not a valid short
- option, then it's an error.
- Otherwise interpret it as a short option. */
- if (!long_only || argv[optind][1] == '-'
- || my_index (optstring, *nextchar) == NULL)
- {
- if (print_errors)
- {
- if (argv[optind][1] == '-')
- /* --option */
- fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
- argv[0], nextchar);
- else
- /* +option or -option */
- fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
- argv[0], argv[optind][0], nextchar);
- }
- nextchar = (char *) "";
- optind++;
- optopt = 0;
- return '?';
- }
- }
-
- /* Look at and handle the next short option-character. */
-
- {
- char c = *nextchar++;
- char *temp = my_index (optstring, c);
-
- /* Increment `optind' when we start to process its last character. */
- if (*nextchar == '\0')
- ++optind;
-
- if (temp == NULL || c == ':')
- {
- if (print_errors)
- {
- if (posixly_correct)
- /* 1003.2 specifies the format of this message. */
- fprintf (stderr, _("%s: illegal option -- %c\n"),
- argv[0], c);
- else
- fprintf (stderr, _("%s: invalid option -- %c\n"),
- argv[0], c);
- }
- optopt = c;
- return '?';
- }
- /* Convenience. Treat POSIX -W foo same as long option --foo */
- if (temp[0] == 'W' && temp[1] == ';')
- {
- char *nameend;
- const struct option *p;
- const struct option *pfound = NULL;
- int exact = 0;
- int ambig = 0;
- int indfound = 0;
- int option_index;
-
- /* This is an option that requires an argument. */
- if (*nextchar != '\0')
- {
- optarg = nextchar;
- /* If we end this ARGV-element by taking the rest as an arg,
- we must advance to the next element now. */
- optind++;
- }
- else if (optind == argc)
- {
- if (print_errors)
- {
- /* 1003.2 specifies the format of this message. */
- fprintf (stderr, _("%s: option requires an argument -- %c\n"),
- argv[0], c);
- }
- optopt = c;
- if (optstring[0] == ':')
- c = ':';
- else
- c = '?';
- return c;
- }
- else
- /* We already incremented `optind' once;
- increment it again when taking next ARGV-elt as argument. */
- optarg = argv[optind++];
-
- /* optarg is now the argument, see if it's in the
- table of longopts. */
-
- for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++)
- /* Do nothing. */ ;
-
- /* Test all long options for either exact match
- or abbreviated matches. */
- for (p = longopts, option_index = 0; p->name; p++, option_index++)
- if (!strncmp (p->name, nextchar, nameend - nextchar))
- {
- if ((unsigned int) (nameend - nextchar) == strlen (p->name))
- {
- /* Exact match found. */
- pfound = p;
- indfound = option_index;
- exact = 1;
- break;
- }
- else if (pfound == NULL)
- {
- /* First nonexact match found. */
- pfound = p;
- indfound = option_index;
- }
- else
- /* Second or later nonexact match found. */
- ambig = 1;
- }
- if (ambig && !exact)
- {
- if (print_errors)
- fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
- argv[0], argv[optind]);
- nextchar += strlen (nextchar);
- optind++;
- return '?';
- }
- if (pfound != NULL)
- {
- option_index = indfound;
- if (*nameend)
- {
- /* Don't test has_arg with >, because some C compilers don't
- allow it to be used on enums. */
- if (pfound->has_arg)
- optarg = nameend + 1;
- else
- {
- if (print_errors)
- fprintf (stderr, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
- argv[0], pfound->name);
-
- nextchar += strlen (nextchar);
- return '?';
- }
- }
- else if (pfound->has_arg == 1)
- {
- if (optind < argc)
- optarg = argv[optind++];
- else
- {
- if (print_errors)
- fprintf (stderr,
- _("%s: option `%s' requires an argument\n"),
- argv[0], argv[optind - 1]);
- nextchar += strlen (nextchar);
- return optstring[0] == ':' ? ':' : '?';
- }
- }
- nextchar += strlen (nextchar);
- if (longind != NULL)
- *longind = option_index;
- if (pfound->flag)
- {
- *(pfound->flag) = pfound->val;
- return 0;
- }
- return pfound->val;
- }
- nextchar = NULL;
- return 'W'; /* Let the application handle it. */
- }
- if (temp[1] == ':')
- {
- if (temp[2] == ':')
- {
- /* This is an option that accepts an argument optionally. */
- if (*nextchar != '\0')
- {
- optarg = nextchar;
- optind++;
- }
- else
- optarg = NULL;
- nextchar = NULL;
- }
- else
- {
- /* This is an option that requires an argument. */
- if (*nextchar != '\0')
- {
- optarg = nextchar;
- /* If we end this ARGV-element by taking the rest as an arg,
- we must advance to the next element now. */
- optind++;
- }
- else if (optind == argc)
- {
- if (print_errors)
- {
- /* 1003.2 specifies the format of this message. */
- fprintf (stderr,
- _("%s: option requires an argument -- %c\n"),
- argv[0], c);
- }
- optopt = c;
- if (optstring[0] == ':')
- c = ':';
- else
- c = '?';
- }
- else
- /* We already incremented `optind' once;
- increment it again when taking next ARGV-elt as argument. */
- optarg = argv[optind++];
- nextchar = NULL;
- }
- }
- return c;
- }
-}
-
-int
-getopt (argc, argv, optstring)
- int argc;
- char *const *argv;
- const char *optstring;
-{
- return _getopt_internal (argc, argv, optstring,
- (const struct option *) 0,
- (int *) 0,
- 0);
-}
-
-
-/* getopt_long and getopt_long_only entry points for GNU getopt.
- Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-
-#if !defined __STDC__ || !__STDC__
-/* This is a separate conditional since some stdc systems
- reject `defined (const)'. */
-#ifndef const
-#define const
-#endif
-#endif
-
-/* Comment out all this code if we are using the GNU C Library, and are not
- actually compiling the library itself. This code is part of the GNU C
- Library, but also included in many other GNU distributions. Compiling
- and linking in this code is a waste when using the GNU C library
- (especially if it is a shared library). Rather than having every GNU
- program understand `configure --with-gnu-libc' and omit the object files,
- it is simpler to just do this in the source for each such file. */
-
-/* gzip (GNU zip) -- compress files with zip algorithm and 'compress' interface
- * Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc.
- * Copyright (C) 1992-1993 Jean-loup Gailly
- * The unzip code was written and put in the public domain by Mark Adler.
- * Portions of the lzw code are derived from the public domain 'compress'
- * written by Spencer Thomas, Joe Orost, James Woods, Jim McKie, Steve Davies,
- * Ken Turkowski, Dave Mack and Peter Jannesen.
- *
- * See the license_msg below and the file COPYING for the software license.
- * See the file algorithm.doc for the compression algorithms and file formats.
- */
-
-static char *license_msg[] = {
-"Copyright 2002 Free Software Foundation",
-"Copyright 1992-1993 Jean-loup Gailly",
-"This program comes with ABSOLUTELY NO WARRANTY.",
-"You may redistribute copies of this program",
-"under the terms of the GNU General Public License.",
-"For more information about these matters, see the file named COPYING.",
-0};
-
-/* Compress files with zip algorithm and 'compress' interface.
- * See usage() and help() functions below for all options.
- * Outputs:
- * file.gz: compressed file with same mode, owner, and utimes
- * or stdout with -c option or if stdin used as input.
- * If the output file name had to be truncated, the original name is kept
- * in the compressed file.
- * On MSDOS, file.tmp -> file.tmz. On VMS, file.tmp -> file.tmp-gz.
- *
- * Using gz on MSDOS would create too many file name conflicts. For
- * example, foo.txt -> foo.tgz (.tgz must be reserved as shorthand for
- * tar.gz). Similarly, foo.dir and foo.doc would both be mapped to foo.dgz.
- * I also considered 12345678.txt -> 12345txt.gz but this truncates the name
- * too heavily. There is no ideal solution given the MSDOS 8+3 limitation.
- *
- * For the meaning of all compilation flags, see comments in Makefile.in.
- */
-
-#ifdef RCSID
-static char rcsid[] = "$Id: gzip.c,v 0.24 1993/06/24 10:52:07 jloup Exp $";
-#endif
-
-/* revision.h -- define the version number
- * Copyright (C) 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
- * Copyright (C) 1992-1993 Jean-loup Gailly.
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License, see the file COPYING.
- */
-
-#define PATCHLEVEL 0
-#define REVDATE "2002-09-30"
-
-/* This version does not support compression into old compress format: */
-#ifdef LZW
-# undef LZW
-#endif
-
-/* $Id: revision.h,v 0.25 1993/06/24 08:29:52 jloup Exp $ */
-
-
- /* configuration */
-
-# define NAMLEN(direct) strlen((direct)->d_name)
-# define DIR_OPT "DIRENT"
-#ifndef NO_DIR
-# define NO_DIR 0
-#endif
-
-#ifdef CLOSEDIR_VOID
-# define CLOSEDIR(d) (closedir(d), 0)
-#else
-# define CLOSEDIR(d) closedir(d)
-#endif
-
-#if !defined(HAVE_LSTAT) && !defined(lstat)
-# define lstat(name, buf) stat(name, buf)
-#endif
-
-# define TIME_OPT "UTIME"
-
-#if !defined(S_ISDIR) && defined(S_IFDIR)
-# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-#endif
-#if !defined(S_ISREG) && defined(S_IFREG)
-# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
-#endif
-
-typedef RETSIGTYPE (*sig_type) OF((int));
-
-#ifndef O_BINARY
-# define O_BINARY 0 /* creation mode for open() */
-#endif
-
-
-#ifndef S_IRUSR
-# define S_IRUSR 0400
-#endif
-#ifndef S_IWUSR
-# define S_IWUSR 0200
-#endif
-#define RW_USER (S_IRUSR | S_IWUSR) /* creation mode for open() */
-
-#ifndef MAX_PATH_LEN
-# define MAX_PATH_LEN 1024 /* max pathname length */
-#endif
-
-#ifndef SEEK_END
-# define SEEK_END 2
-#endif
-
-#ifndef CHAR_BIT
-# define CHAR_BIT 8
-#endif
-
-#ifdef off_t
- off_t lseek OF((int fd, off_t offset, int whence));
-#endif
-
-#ifndef OFF_T_MIN
-#define OFF_T_MIN (~ (off_t) 0 << (sizeof (off_t) * CHAR_BIT - 1))
-#endif
-
-#ifndef OFF_T_MAX
-#define OFF_T_MAX (~ (off_t) 0 - OFF_T_MIN)
-#endif
-
-/* Separator for file name parts (see shorten_name()) */
-#ifdef NO_MULTIPLE_DOTS
-# define PART_SEP "-"
-#else
-# define PART_SEP "."
-#endif
-
- /* global buffers */
-
-DECLARE(uch, inbuf, INBUFSIZ +INBUF_EXTRA);
-DECLARE(uch, outbuf, OUTBUFSIZ+OUTBUF_EXTRA);
-DECLARE(ush, d_buf, DIST_BUFSIZE);
-DECLARE(uch, window, 2L*WSIZE);
-#ifndef MAXSEG_64K
- DECLARE(ush, tab_prefix, 1L<.",
- 0};
- char **p = help_msg;
-
- printf ("%s %s\n(%s)\n", progname, VERSION, REVDATE);
- usage();
- while (*p) printf ("%s\n", *p++);
-}
-
-/* ======================================================================== */
-local void license()
-{
- char **p = license_msg;
-
- printf ("%s %s\n(%s)\n", progname, VERSION, REVDATE);
- while (*p) printf ("%s\n", *p++);
-}
-
-/* ======================================================================== */
-local void version()
-{
- license ();
- printf ("Compilation options:\n%s %s ", DIR_OPT, TIME_OPT);
-#ifdef STDC_HEADERS
- printf ("STDC_HEADERS ");
-#endif
-#ifdef HAVE_UNISTD_H
- printf ("HAVE_UNISTD_H ");
-#endif
-#ifdef HAVE_MEMORY_H
- printf ("HAVE_MEMORY_H ");
-#endif
-#ifdef HAVE_STRING_H
- printf ("HAVE_STRING_H ");
-#endif
-#ifdef HAVE_LSTAT
- printf ("HAVE_LSTAT ");
-#endif
-#ifdef NO_MULTIPLE_DOTS
- printf ("NO_MULTIPLE_DOTS ");
-#endif
-#ifdef HAVE_CHOWN
- printf ("HAVE_CHOWN ");
-#endif
-#ifdef PROTO
- printf ("PROTO ");
-#endif
-#ifdef ASMV
- printf ("ASMV ");
-#endif
-#ifdef DEBUG
- printf ("DEBUG ");
-#endif
-#ifdef DYN_ALLOC
- printf ("DYN_ALLOC ");
-#endif
-#ifdef MAXSEG_64K
- printf ("MAXSEG_64K");
-#endif
- printf ("\n");
- printf ("Written by Jean-loup Gailly.\n");
-}
-
-local void progerror (string)
- char *string;
-{
- int e = errno;
- fprintf(stderr, "%s: ", progname);
- errno = e;
- perror(string);
- exit_code = ERROR;
-}
-
-/* ======================================================================== */
-int main (argc, argv)
- int argc;
- char **argv;
-{
- int file_count; /* number of files to precess */
- int proglen; /* length of progname */
- int optc; /* current option */
-
- EXPAND(argc, argv); /* wild card expansion if necessary */
-
- progname = base_name (argv[0]);
- proglen = strlen(progname);
-
- /* Suppress .exe for MSDOS, OS/2 and VMS: */
- if (proglen > 4 && strequ(progname+proglen-4, ".exe")) {
- progname[proglen-4] = '\0';
- }
-
- /* Add options in GZIP environment variable if there is one */
- env = add_envopt(&argc, &argv, OPTIONS_VAR);
- if (env != NULL) args = argv;
-
- foreground = signal(SIGINT, SIG_IGN) != SIG_IGN;
- if (foreground) {
- (void) signal (SIGINT, (sig_type)abort_gzip_signal);
- }
-#ifdef SIGTERM
- if (signal(SIGTERM, SIG_IGN) != SIG_IGN) {
- (void) signal(SIGTERM, (sig_type)abort_gzip_signal);
- }
-#endif
-#ifdef SIGHUP
- if (signal(SIGHUP, SIG_IGN) != SIG_IGN) {
- (void) signal(SIGHUP, (sig_type)abort_gzip_signal);
- }
-#endif
-
-#ifndef GNU_STANDARD
- /* For compatibility with old compress, use program name as an option.
- * If you compile with -DGNU_STANDARD, this program will behave as
- * gzip even if it is invoked under the name gunzip or zcat.
- *
- * Systems which do not support links can still use -d or -dc.
- * Ignore an .exe extension for MSDOS, OS/2 and VMS.
- */
- if ( strncmp(progname, "un", 2) == 0 /* ungzip, uncompress */
- || strncmp(progname, "gun", 3) == 0) { /* gunzip */
- decompress = 1;
- } else if (strequ(progname+1, "cat") /* zcat, pcat, gcat */
- || strequ(progname, "gzcat")) { /* gzcat */
- decompress = to_stdout = 1;
- }
-#endif
-
- z_suffix = Z_SUFFIX;
- z_len = strlen(z_suffix);
-
- while ((optc = getopt_long (argc, argv, "ab:cdfhH?lLmMnNqrS:tvVZ123456789",
- longopts, (int *)0)) != -1) {
- switch (optc) {
- case 'a':
- ascii = 1; break;
- case 'b':
- maxbits = atoi(optarg);
- for (; *optarg; optarg++)
- if (! ('0' <= *optarg && *optarg <= '9'))
- {
- fprintf (stderr, "%s: -b operand is not an integer\n",
- progname);
- usage ();
- do_exit (ERROR);
- }
- break;
- case 'c':
- to_stdout = 1; break;
- case 'd':
- decompress = 1; break;
- case 'f':
- force++; break;
- case 'h': case 'H': case '?':
- help(); do_exit(OK); break;
- case 'l':
- list = decompress = to_stdout = 1; break;
- case 'L':
- license(); do_exit(OK); break;
- case 'm': /* undocumented, may change later */
- no_time = 1; break;
- case 'M': /* undocumented, may change later */
- no_time = 0; break;
- case 'n':
- no_name = no_time = 1; break;
- case 'N':
- no_name = no_time = 0; break;
- case 'q':
- quiet = 1; verbose = 0; break;
- case 'r':
-#if NO_DIR
- fprintf(stderr, "%s: -r not supported on this system\n", progname);
- usage();
- do_exit(ERROR); break;
-#else
- recursive = 1; break;
-#endif
- case 'R':
- rsync = 1; break;
-
- case 'S':
-#ifdef NO_MULTIPLE_DOTS
- if (*optarg == '.') optarg++;
-#endif
- z_len = strlen(optarg);
- z_suffix = optarg;
- break;
- case 't':
- test = decompress = to_stdout = 1;
- break;
- case 'v':
- verbose++; quiet = 0; break;
- case 'V':
- version(); do_exit(OK); break;
- case 'Z':
-#ifdef LZW
- do_lzw = 1; break;
-#else
- fprintf(stderr, "%s: -Z not supported in this version\n",
- progname);
- usage();
- do_exit(ERROR); break;
-#endif
- case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
- level = optc - '0';
- break;
- default:
- /* Error message already emitted by getopt_long. */
- usage();
- do_exit(ERROR);
- }
- } /* loop on all arguments */
-
-#ifdef SIGPIPE
- /* Ignore "Broken Pipe" message with --quiet */
- if (quiet && signal (SIGPIPE, SIG_IGN) != SIG_IGN)
- signal (SIGPIPE, (sig_type) abort_gzip_signal);
-#endif
-
- /* By default, save name and timestamp on compression but do not
- * restore them on decompression.
- */
- if (no_time < 0) no_time = decompress;
- if (no_name < 0) no_name = decompress;
-
- file_count = argc - optind;
-
-#if O_BINARY
-#else
- if (ascii && !quiet) {
- fprintf(stderr, "%s: option --ascii ignored on this system\n",
- progname);
- }
-#endif
- if ((z_len == 0 && !decompress) || z_len > MAX_SUFFIX) {
- fprintf(stderr, "%s: incorrect suffix '%s'\n",
- progname, z_suffix);
- do_exit(ERROR);
- }
- if (do_lzw && !decompress) work = lzw;
-
- /* Allocate all global buffers (for DYN_ALLOC option) */
- ALLOC(uch, inbuf, INBUFSIZ +INBUF_EXTRA);
- ALLOC(uch, outbuf, OUTBUFSIZ+OUTBUF_EXTRA);
- ALLOC(ush, d_buf, DIST_BUFSIZE);
- ALLOC(uch, window, 2L*WSIZE);
-#ifndef MAXSEG_64K
- ALLOC(ush, tab_prefix, 1L< 1) {
- do_list(-1, -1); /* print totals */
- }
- do_exit(exit_code);
- return exit_code; /* just to avoid lint warning */
-}
-
-/* Return nonzero when at end of file on input. */
-local int
-input_eof ()
-{
- if (!decompress || last_member)
- return 1;
-
- if (inptr == insize)
- {
- if (insize != INBUFSIZ || fill_inbuf (1) == EOF)
- return 1;
-
- /* Unget the char that fill_inbuf got. */
- inptr = 0;
- }
-
- return 0;
-}
-
-/* ========================================================================
- * Compress or decompress stdin
- */
-local void treat_stdin()
-{
- if (!force && !list &&
- isatty(fileno((FILE *)(decompress ? stdin : stdout)))) {
- /* Do not send compressed data to the terminal or read it from
- * the terminal. We get here when user invoked the program
- * without parameters, so be helpful. According to the GNU standards:
- *
- * If there is one behavior you think is most useful when the output
- * is to a terminal, and another that you think is most useful when
- * the output is a file or a pipe, then it is usually best to make
- * the default behavior the one that is useful with output to a
- * terminal, and have an option for the other behavior.
- *
- * Here we use the --force option to get the other behavior.
- */
- fprintf(stderr,
- "%s: compressed data not %s a terminal. Use -f to force %scompression.\n",
- progname, decompress ? "read from" : "written to",
- decompress ? "de" : "");
- fprintf(stderr,"For help, type: %s -h\n", progname);
- do_exit(ERROR);
- }
-
- if (decompress || !ascii) {
- SET_BINARY_MODE(fileno(stdin));
- }
- if (!test && !list && (!decompress || !ascii)) {
- SET_BINARY_MODE(fileno(stdout));
- }
- strcpy(ifname, "stdin");
- strcpy(ofname, "stdout");
-
- /* Get the time stamp on the input file. */
- time_stamp = 0; /* time unknown by default */
-
-#ifndef NO_STDIN_FSTAT
- if (list || !no_time) {
- if (fstat(fileno(stdin), &istat) != 0) {
- progerror("standard input");
- do_exit(ERROR);
- }
-# ifdef NO_PIPE_TIMESTAMP
- if (S_ISREG(istat.st_mode))
-# endif
- time_stamp = istat.st_mtime;
-#endif /* NO_STDIN_FSTAT */
- }
- ifile_size = -1L; /* convention for unknown size */
-
- clear_bufs(); /* clear input and output buffers */
- to_stdout = 1;
- part_nb = 0;
-
- if (decompress) {
- method = get_method(ifd);
- if (method < 0) {
- do_exit(exit_code); /* error message already emitted */
- }
- }
- if (list) {
- do_list(ifd, method);
- return;
- }
-
- /* Actually do the compression/decompression. Loop over zipped members.
- */
- for (;;) {
- if ((*work)(fileno(stdin), fileno(stdout)) != OK) return;
-
- if (input_eof ())
- break;
-
- method = get_method(ifd);
- if (method < 0) return; /* error message already emitted */
- bytes_out = 0; /* required for length check */
- }
-
- if (verbose) {
- if (test) {
- fprintf(stderr, " OK\n");
-
- } else if (!decompress) {
- display_ratio(bytes_in-(bytes_out-header_bytes), bytes_in, stderr);
- fprintf(stderr, "\n");
-#ifdef DISPLAY_STDIN_RATIO
- } else {
- display_ratio(bytes_out-(bytes_in-header_bytes), bytes_out,stderr);
- fprintf(stderr, "\n");
-#endif
- }
- }
-}
-
-/* ========================================================================
- * Compress or decompress the given file
- */
-local void treat_file(iname)
- char *iname;
-{
- /* Accept "-" as synonym for stdin */
- if (strequ(iname, "-")) {
- int cflag = to_stdout;
- treat_stdin();
- to_stdout = cflag;
- return;
- }
-
- /* Check if the input file is present, set ifname and istat: */
- if (get_istat(iname, &istat) != OK) return;
-
- /* If the input name is that of a directory, recurse or ignore: */
- if (S_ISDIR(istat.st_mode)) {
-#if ! NO_DIR
- if (recursive) {
- struct stat st;
- st = istat;
- treat_dir(iname);
- /* Warning: ifname is now garbage */
-# ifndef NO_UTIME
- reset_times (iname, &st);
-# endif
- } else
-#endif
- WARN((stderr,"%s: %s is a directory -- ignored\n", progname, ifname));
- return;
- }
- if (!S_ISREG(istat.st_mode)) {
- WARN((stderr,
- "%s: %s is not a directory or a regular file - ignored\n",
- progname, ifname));
- return;
- }
- if (istat.st_nlink > 1 && !to_stdout && !force) {
- WARN((stderr, "%s: %s has %lu other link%c -- unchanged\n",
- progname, ifname, (unsigned long) istat.st_nlink - 1,
- istat.st_nlink > 2 ? 's' : ' '));
- return;
- }
-
- ifile_size = istat.st_size;
- time_stamp = no_time && !list ? 0 : istat.st_mtime;
-
- /* Generate output file name. For -r and (-t or -l), skip files
- * without a valid gzip suffix (check done in make_ofname).
- */
- if (to_stdout && !list && !test) {
- strcpy(ofname, "stdout");
-
- } else if (make_ofname() != OK) {
- return;
- }
-
- /* Open the input file and determine compression method. The mode
- * parameter is ignored but required by some systems (VMS) and forbidden
- * on other systems (MacOS).
- */
- ifd = OPEN(ifname, ascii && !decompress ? O_RDONLY : O_RDONLY | O_BINARY,
- RW_USER);
- if (ifd == -1) {
- progerror(ifname);
- return;
- }
- clear_bufs(); /* clear input and output buffers */
- part_nb = 0;
-
- if (decompress) {
- method = get_method(ifd); /* updates ofname if original given */
- if (method < 0) {
- close(ifd);
- return; /* error message already emitted */
- }
- }
- if (list) {
- do_list(ifd, method);
- close(ifd);
- return;
- }
-
- /* If compressing to a file, check if ofname is not ambiguous
- * because the operating system truncates names. Otherwise, generate
- * a new ofname and save the original name in the compressed file.
- */
- if (to_stdout) {
- ofd = fileno(stdout);
- /* keep remove_ofname as zero */
- } else {
- if (create_outfile() != OK) return;
-
- if (!decompress && save_orig_name && !verbose && !quiet) {
- fprintf(stderr, "%s: %s compressed to %s\n",
- progname, ifname, ofname);
- }
- }
- /* Keep the name even if not truncated except with --no-name: */
- if (!save_orig_name) save_orig_name = !no_name;
-
- if (verbose) {
- fprintf(stderr, "%s:\t", ifname);
- }
-
- /* Actually do the compression/decompression. Loop over zipped members.
- */
- for (;;) {
- if ((*work)(ifd, ofd) != OK) {
- method = -1; /* force cleanup */
- break;
- }
-
- if (input_eof ())
- break;
-
- method = get_method(ifd);
- if (method < 0) break; /* error message already emitted */
- bytes_out = 0; /* required for length check */
- }
-
- close(ifd);
- if (!to_stdout) {
- /* Copy modes, times, ownership, and remove the input file */
- copy_stat(&istat);
- if (close(ofd))
- write_error();
- }
- if (method == -1) {
- if (!to_stdout) xunlink (ofname);
- return;
- }
- /* Display statistics */
- if(verbose) {
- if (test) {
- fprintf(stderr, " OK");
- } else if (decompress) {
- display_ratio(bytes_out-(bytes_in-header_bytes), bytes_out,stderr);
- } else {
- display_ratio(bytes_in-(bytes_out-header_bytes), bytes_in, stderr);
- }
- if (!test && !to_stdout) {
- fprintf(stderr, " -- replaced with %s", ofname);
- }
- fprintf(stderr, "\n");
- }
-}
-
-/* ========================================================================
- * Create the output file. Return OK or ERROR.
- * Try several times if necessary to avoid truncating the z_suffix. For
- * example, do not create a compressed file of name "1234567890123."
- * Sets save_orig_name to true if the file name has been truncated.
- * IN assertions: the input file has already been open (ifd is set) and
- * ofname has already been updated if there was an original name.
- * OUT assertions: ifd and ofd are closed in case of error.
- */
-local int create_outfile()
-{
- struct stat ostat; /* stat for ofname */
- int flags = O_WRONLY | O_CREAT | O_EXCL | O_BINARY;
-
- if (ascii && decompress) {
- flags &= ~O_BINARY; /* force ascii text mode */
- }
- for (;;) {
- /* Make sure that ofname is not an existing file */
- if (check_ofname() != OK) {
- close(ifd);
- return ERROR;
- }
- /* Create the output file */
- remove_ofname = 1;
- ofd = OPEN(ofname, flags, RW_USER);
- if (ofd == -1) {
- progerror(ofname);
- close(ifd);
- return ERROR;
- }
-
- /* Check for name truncation on new file (1234567890123.gz) */
-#ifdef NO_FSTAT
- if (stat(ofname, &ostat) != 0) {
-#else
- if (fstat(ofd, &ostat) != 0) {
-#endif
- progerror(ofname);
- close(ifd); close(ofd);
- xunlink (ofname);
- return ERROR;
- }
- if (!name_too_long(ofname, &ostat)) return OK;
-
- if (decompress) {
- /* name might be too long if an original name was saved */
- WARN((stderr, "%s: %s: warning, name truncated\n",
- progname, ofname));
- return OK;
- }
- close(ofd);
- xunlink (ofname);
-#ifdef NO_MULTIPLE_DOTS
- /* Should never happen, see check_ofname() */
- fprintf(stderr, "%s: %s: name too long\n", progname, ofname);
- do_exit(ERROR);
-#endif
- shorten_name(ofname);
- }
-}
-
-/* ========================================================================
- * Use lstat if available, except for -c or -f. Use stat otherwise.
- * This allows links when not removing the original file.
- */
-local int do_stat(name, sbuf)
- char *name;
- struct stat *sbuf;
-{
- errno = 0;
- if (!to_stdout && !force) {
- return lstat(name, sbuf);
- }
- return stat(name, sbuf);
-}
-
-/* ========================================================================
- * Return a pointer to the 'z' suffix of a file name, or NULL. For all
- * systems, ".gz", ".z", ".Z", ".taz", ".tgz", "-gz", "-z" and "_z" are
- * accepted suffixes, in addition to the value of the --suffix option.
- * ".tgz" is a useful convention for tar.z files on systems limited
- * to 3 characters extensions. On such systems, ".?z" and ".??z" are
- * also accepted suffixes. For Unix, we do not want to accept any
- * .??z suffix as indicating a compressed file; some people use .xyz
- * to denote volume data.
- * On systems allowing multiple versions of the same file (such as VMS),
- * this function removes any version suffix in the given name.
- */
-local char *get_suffix(name)
- char *name;
-{
- int nlen, slen;
- char suffix[MAX_SUFFIX+3]; /* last chars of name, forced to lower case */
- static char *known_suffixes[] =
- {NULL, ".gz", ".z", ".taz", ".tgz", "-gz", "-z", "_z",
-#ifdef MAX_EXT_CHARS
- "z",
-#endif
- NULL};
- char **suf = known_suffixes;
-
- *suf = z_suffix;
- if (strequ(z_suffix, "z")) suf++; /* check long suffixes first */
-
-#ifdef SUFFIX_SEP
- /* strip a version number from the file name */
- {
- char *v = strrchr(name, SUFFIX_SEP);
- if (v != NULL) *v = '\0';
- }
-#endif
- nlen = strlen(name);
- if (nlen <= MAX_SUFFIX+2) {
- strcpy(suffix, name);
- } else {
- strcpy(suffix, name+nlen-MAX_SUFFIX-2);
- }
- strlwr(suffix);
- slen = strlen(suffix);
- do {
- int s = strlen(*suf);
- if (slen > s && suffix[slen-s-1] != PATH_SEP
- && strequ(suffix + slen - s, *suf)) {
- return name+nlen-s;
- }
- } while (*++suf != NULL);
-
- return NULL;
-}
-
-
-/* ========================================================================
- * Set ifname to the input file name (with a suffix appended if necessary)
- * and istat to its stats. For decompression, if no file exists with the
- * original name, try adding successively z_suffix, .gz, .z, -z and .Z.
- * For MSDOS, we try only z_suffix and z.
- * Return OK or ERROR.
- */
-local int get_istat(iname, sbuf)
- char *iname;
- struct stat *sbuf;
-{
- int ilen; /* strlen(ifname) */
- int z_suffix_errno = 0;
- static char *suffixes[] = {NULL, ".gz", ".z", "-z", ".Z", NULL};
- char **suf = suffixes;
- char *s;
-#ifdef NO_MULTIPLE_DOTS
- char *dot; /* pointer to ifname extension, or NULL */
-#endif
-
- *suf = z_suffix;
-
- if (sizeof ifname - 1 <= strlen (iname))
- goto name_too_long;
-
- strcpy(ifname, iname);
-
- /* If input file exists, return OK. */
- if (do_stat(ifname, sbuf) == 0) return OK;
-
- if (!decompress || errno != ENOENT) {
- progerror(ifname);
- return ERROR;
- }
- /* file.ext doesn't exist, try adding a suffix (after removing any
- * version number for VMS).
- */
- s = get_suffix(ifname);
- if (s != NULL) {
- progerror(ifname); /* ifname already has z suffix and does not exist */
- return ERROR;
- }
-#ifdef NO_MULTIPLE_DOTS
- dot = strrchr(ifname, '.');
- if (dot == NULL) {
- strcat(ifname, ".");
- dot = strrchr(ifname, '.');
- }
-#endif
- ilen = strlen(ifname);
- if (strequ(z_suffix, ".gz")) suf++;
-
- /* Search for all suffixes */
- do {
- char *s0 = s = *suf;
- strcpy (ifname, iname);
-#ifdef NO_MULTIPLE_DOTS
- if (*s == '.') s++;
- if (*dot == '\0') strcpy (dot, ".");
-#endif
-#ifdef MAX_EXT_CHARS
- if (MAX_EXT_CHARS < strlen (s) + strlen (dot + 1))
- dot[MAX_EXT_CHARS + 1 - strlen (s)] = '\0';
-#endif
- if (sizeof ifname <= ilen + strlen (s))
- goto name_too_long;
- strcat(ifname, s);
- if (do_stat(ifname, sbuf) == 0) return OK;
- if (strequ (s0, z_suffix))
- z_suffix_errno = errno;
- } while (*++suf != NULL);
-
- /* No suffix found, complain using z_suffix: */
- strcpy(ifname, iname);
-#ifdef NO_MULTIPLE_DOTS
- if (*dot == '\0') strcpy(dot, ".");
-#endif
-#ifdef MAX_EXT_CHARS
- if (MAX_EXT_CHARS < z_len + strlen (dot + 1))
- dot[MAX_EXT_CHARS + 1 - z_len] = '\0';
-#endif
- strcat(ifname, z_suffix);
- errno = z_suffix_errno;
- progerror(ifname);
- return ERROR;
-
- name_too_long:
- fprintf (stderr, "%s: %s: file name too long\n", progname, iname);
- exit_code = ERROR;
- return ERROR;
-}
-
-/* ========================================================================
- * Generate ofname given ifname. Return OK, or WARNING if file must be skipped.
- * Sets save_orig_name to true if the file name has been truncated.
- */
-local int make_ofname()
-{
- char *suff; /* ofname z suffix */
-
- strcpy(ofname, ifname);
- /* strip a version number if any and get the gzip suffix if present: */
- suff = get_suffix(ofname);
-
- if (decompress) {
- if (suff == NULL) {
- /* With -t or -l, try all files (even without .gz suffix)
- * except with -r (behave as with just -dr).
- */
- if (!recursive && (list || test)) return OK;
-
- /* Avoid annoying messages with -r */
- if (verbose || (!recursive && !quiet)) {
- WARN((stderr,"%s: %s: unknown suffix -- ignored\n",
- progname, ifname));
- }
- return WARNING;
- }
- /* Make a special case for .tgz and .taz: */
- strlwr(suff);
- if (strequ(suff, ".tgz") || strequ(suff, ".taz")) {
- strcpy(suff, ".tar");
- } else {
- *suff = '\0'; /* strip the z suffix */
- }
- /* ofname might be changed later if infile contains an original name */
-
- } else if (suff != NULL) {
- /* Avoid annoying messages with -r (see treat_dir()) */
- if (verbose || (!recursive && !quiet)) {
- /* don't use WARN -- it will cause an exit_code of 2 */
- fprintf(stderr, "%s: %s already has %s suffix -- unchanged\n",
- progname, ifname, suff);
- }
- return WARNING;
- } else {
- save_orig_name = 0;
-
-#ifdef NO_MULTIPLE_DOTS
- suff = strrchr(ofname, '.');
- if (suff == NULL) {
- if (sizeof ofname <= strlen (ofname) + 1)
- goto name_too_long;
- strcat(ofname, ".");
-# ifdef MAX_EXT_CHARS
- if (strequ(z_suffix, "z")) {
- if (sizeof ofname <= strlen (ofname) + 2)
- goto name_too_long;
- strcat(ofname, "gz"); /* enough room */
- return OK;
- }
- /* On the Atari and some versions of MSDOS, name_too_long()
- * does not work correctly because of a bug in stat(). So we
- * must truncate here.
- */
- } else if (strlen(suff)-1 + z_len > MAX_SUFFIX) {
- suff[MAX_SUFFIX+1-z_len] = '\0';
- save_orig_name = 1;
-# endif
- }
-#endif /* NO_MULTIPLE_DOTS */
- if (sizeof ofname <= strlen (ofname) + z_len)
- goto name_too_long;
- strcat(ofname, z_suffix);
-
- } /* decompress ? */
- return OK;
-
- name_too_long:
- WARN ((stderr, "%s: %s: file name too long\n", progname, ifname));
- return WARNING;
-}
-
-
-/* ========================================================================
- * Check the magic number of the input file and update ofname if an
- * original name was given and to_stdout is not set.
- * Return the compression method, -1 for error, -2 for warning.
- * Set inptr to the offset of the next byte to be processed.
- * Updates time_stamp if there is one and --no-time is not used.
- * This function may be called repeatedly for an input file consisting
- * of several contiguous gzip'ed members.
- * IN assertions: there is at least one remaining compressed member.
- * If the member is a zip file, it must be the only one.
- */
-local int get_method(in)
- int in; /* input file descriptor */
-{
- uch flags; /* compression flags */
- char magic[2]; /* magic header */
- int imagic1; /* like magic[1], but can represent EOF */
- ulg stamp; /* time stamp */
-
- /* If --force and --stdout, zcat == cat, so do not complain about
- * premature end of file: use try_byte instead of get_byte.
- */
- if (force && to_stdout) {
- magic[0] = (char)try_byte();
- imagic1 = try_byte ();
- magic[1] = (char) imagic1;
- /* If try_byte returned EOF, magic[1] == (char) EOF. */
- } else {
- magic[0] = (char)get_byte();
- magic[1] = (char)get_byte();
- imagic1 = 0; /* avoid lint warning */
- }
- method = -1; /* unknown yet */
- part_nb++; /* number of parts in gzip file */
- header_bytes = 0;
- last_member = RECORD_IO;
- /* assume multiple members in gzip file except for record oriented I/O */
-
- if (memcmp(magic, GZIP_MAGIC, 2) == 0
- || memcmp(magic, OLD_GZIP_MAGIC, 2) == 0) {
-
- method = (int)get_byte();
- if (method != DEFLATED) {
- fprintf(stderr,
- "%s: %s: unknown method %d -- not supported\n",
- progname, ifname, method);
- exit_code = ERROR;
- return -1;
- }
- work = unzip;
- flags = (uch)get_byte();
-
- if ((flags & ENCRYPTED) != 0) {
- fprintf(stderr,
- "%s: %s is encrypted -- not supported\n",
- progname, ifname);
- exit_code = ERROR;
- return -1;
- }
- if ((flags & CONTINUATION) != 0) {
- fprintf(stderr,
- "%s: %s is a a multi-part gzip file -- not supported\n",
- progname, ifname);
- exit_code = ERROR;
- if (force <= 1) return -1;
- }
- if ((flags & RESERVED) != 0) {
- fprintf(stderr,
- "%s: %s has flags 0x%x -- not supported\n",
- progname, ifname, flags);
- exit_code = ERROR;
- if (force <= 1) return -1;
- }
- stamp = (ulg)get_byte();
- stamp |= ((ulg)get_byte()) << 8;
- stamp |= ((ulg)get_byte()) << 16;
- stamp |= ((ulg)get_byte()) << 24;
- if (stamp != 0 && !no_time) time_stamp = stamp;
-
- (void)get_byte(); /* Ignore extra flags for the moment */
- (void)get_byte(); /* Ignore OS type for the moment */
-
- if ((flags & CONTINUATION) != 0) {
- unsigned part = (unsigned)get_byte();
- part |= ((unsigned)get_byte())<<8;
- if (verbose) {
- fprintf(stderr,"%s: %s: part number %u\n",
- progname, ifname, part);
- }
- }
- if ((flags & EXTRA_FIELD) != 0) {
- unsigned len = (unsigned)get_byte();
- len |= ((unsigned)get_byte())<<8;
- if (verbose) {
- fprintf(stderr,"%s: %s: extra field of %u bytes ignored\n",
- progname, ifname, len);
- }
- while (len--) (void)get_byte();
- }
-
- /* Get original file name if it was truncated */
- if ((flags & ORIG_NAME) != 0) {
- if (no_name || (to_stdout && !list) || part_nb > 1) {
- /* Discard the old name */
- char c; /* dummy used for NeXTstep 3.0 cc optimizer bug */
- do {c=get_byte();} while (c != 0);
- } else {
- /* Copy the base name. Keep a directory prefix intact. */
- char *p = base_name (ofname);
- char *base = p;
- char *base2;
- for (;;) {
- *p = (char)get_char();
- if (*p++ == '\0') break;
- if (p >= ofname+sizeof(ofname)) {
- error("corrupted input -- file name too large");
- }
- }
- base2 = base_name (base);
- strcpy(base, base2);
- /* If necessary, adapt the name to local OS conventions: */
- if (!list) {
- MAKE_LEGAL_NAME(base);
- if (base) list=0; /* avoid warning about unused variable */
- }
- } /* no_name || to_stdout */
- } /* ORIG_NAME */
-
- /* Discard file comment if any */
- if ((flags & COMMENT) != 0) {
- while (get_char() != 0) /* null */ ;
- }
- if (part_nb == 1) {
- header_bytes = inptr + 2*sizeof(long); /* include crc and size */
- }
-
- } else if (memcmp(magic, PKZIP_MAGIC, 2) == 0 && inptr == 2
- && memcmp((char*)inbuf, PKZIP_MAGIC, 4) == 0) {
- /* To simplify the code, we support a zip file when alone only.
- * We are thus guaranteed that the entire local header fits in inbuf.
- */
- inptr = 0;
- work = unzip;
- if (check_zipfile(in) != OK) return -1;
- /* check_zipfile may get ofname from the local header */
- last_member = 1;
-
- } else if (memcmp(magic, PACK_MAGIC, 2) == 0) {
- work = unpack;
- method = PACKED;
-
- } else if (memcmp(magic, LZW_MAGIC, 2) == 0) {
- work = unlzw;
- method = COMPRESSED;
- last_member = 1;
-
- } else if (memcmp(magic, LZH_MAGIC, 2) == 0) {
- work = unlzh;
- method = LZHED;
- last_member = 1;
-
- } else if (force && to_stdout && !list) { /* pass input unchanged */
- method = STORED;
- work = copy;
- inptr = 0;
- last_member = 1;
- }
- if (method >= 0) return method;
-
- if (part_nb == 1) {
- fprintf(stderr, "\n%s: %s: not in gzip format\n", progname, ifname);
- exit_code = ERROR;
- return -1;
- } else {
- if (magic[0] == 0)
- {
- int inbyte;
- for (inbyte = imagic1; inbyte == 0; inbyte = try_byte ())
- continue;
- if (inbyte == EOF)
- {
- if (verbose)
- WARN ((stderr, "\n%s: %s: decompression OK, trailing zero bytes ignored\n",
- progname, ifname));
- return -3;
- }
- }
-
- WARN((stderr, "\n%s: %s: decompression OK, trailing garbage ignored\n",
- progname, ifname));
- return -2;
- }
-}
-
-/* ========================================================================
- * Display the characteristics of the compressed file.
- * If the given method is < 0, display the accumulated totals.
- * IN assertions: time_stamp, header_bytes and ifile_size are initialized.
- */
-local void do_list(ifd, method)
- int ifd; /* input file descriptor */
- int method; /* compression method */
-{
- ulg crc; /* original crc */
- static int first_time = 1;
- static char* methods[MAX_METHODS] = {
- "store", /* 0 */
- "compr", /* 1 */
- "pack ", /* 2 */
- "lzh ", /* 3 */
- "", "", "", "", /* 4 to 7 reserved */
- "defla"}; /* 8 */
- char *date;
- int positive_off_t_width = 1;
- off_t o;
-
- for (o = OFF_T_MAX; 9 < o; o /= 10) {
- positive_off_t_width++;
- }
-
- if (first_time && method >= 0) {
- first_time = 0;
- if (verbose) {
- printf("method crc date time ");
- }
- if (!quiet) {
- printf("%*.*s %*.*s ratio uncompressed_name\n",
- positive_off_t_width, positive_off_t_width, "compressed",
- positive_off_t_width, positive_off_t_width, "uncompressed");
- }
- } else if (method < 0) {
- if (total_in <= 0 || total_out <= 0) return;
- if (verbose) {
- printf(" ");
- }
- if (verbose || !quiet) {
- fprint_off(stdout, total_in, positive_off_t_width);
- printf(" ");
- fprint_off(stdout, total_out, positive_off_t_width);
- printf(" ");
- }
- display_ratio(total_out-(total_in-header_bytes), total_out, stdout);
- /* header_bytes is not meaningful but used to ensure the same
- * ratio if there is a single file.
- */
- printf(" (totals)\n");
- return;
- }
- crc = (ulg)~0; /* unknown */
- bytes_out = -1L;
- bytes_in = ifile_size;
-
-#if RECORD_IO == 0
- if (method == DEFLATED && !last_member) {
- /* Get the crc and uncompressed size for gzip'ed (not zip'ed) files.
- * If the lseek fails, we could use read() to get to the end, but
- * --list is used to get quick results.
- * Use "gunzip < foo.gz | wc -c" to get the uncompressed size if
- * you are not concerned about speed.
- */
- bytes_in = lseek(ifd, (off_t)(-8), SEEK_END);
- if (bytes_in != -1L) {
- uch buf[8];
- bytes_in += 8L;
- if (read(ifd, (char*)buf, sizeof(buf)) != sizeof(buf)) {
- read_error();
- }
- crc = LG(buf);
- bytes_out = LG(buf+4);
- }
- }
-#endif /* RECORD_IO */
- date = ctime((time_t*)&time_stamp) + 4; /* skip the day of the week */
- date[12] = '\0'; /* suppress the 1/100sec and the year */
- if (verbose) {
- printf("%5s %08lx %11s ", methods[method], crc, date);
- }
- fprint_off(stdout, bytes_in, positive_off_t_width);
- printf(" ");
- fprint_off(stdout, bytes_out, positive_off_t_width);
- printf(" ");
- if (bytes_in == -1L) {
- total_in = -1L;
- bytes_in = bytes_out = header_bytes = 0;
- } else if (total_in >= 0) {
- total_in += bytes_in;
- }
- if (bytes_out == -1L) {
- total_out = -1L;
- bytes_in = bytes_out = header_bytes = 0;
- } else if (total_out >= 0) {
- total_out += bytes_out;
- }
- display_ratio(bytes_out-(bytes_in-header_bytes), bytes_out, stdout);
- printf(" %s\n", ofname);
-}
-
-/* ========================================================================
- * Return true if the two stat structures correspond to the same file.
- */
-local int same_file(stat1, stat2)
- struct stat *stat1;
- struct stat *stat2;
-{
- return stat1->st_ino == stat2->st_ino
- && stat1->st_dev == stat2->st_dev
-#ifdef NO_ST_INO
- /* Can't rely on st_ino and st_dev, use other fields: */
- && stat1->st_mode == stat2->st_mode
- && stat1->st_uid == stat2->st_uid
- && stat1->st_gid == stat2->st_gid
- && stat1->st_size == stat2->st_size
- && stat1->st_atime == stat2->st_atime
- && stat1->st_mtime == stat2->st_mtime
- && stat1->st_ctime == stat2->st_ctime
-#endif
- ;
-}
-
-/* ========================================================================
- * Return true if a file name is ambiguous because the operating system
- * truncates file names.
- */
-local int name_too_long(name, statb)
- char *name; /* file name to check */
- struct stat *statb; /* stat buf for this file name */
-{
- int s = strlen(name);
- char c = name[s-1];
- struct stat tstat; /* stat for truncated name */
- int res;
-
- tstat = *statb; /* Just in case OS does not fill all fields */
- name[s-1] = '\0';
- res = lstat(name, &tstat) == 0 && same_file(statb, &tstat);
- name[s-1] = c;
- Trace((stderr, " too_long(%s) => %d\n", name, res));
- return res;
-}
-
-/* ========================================================================
- * Shorten the given name by one character, or replace a .tar extension
- * with .tgz. Truncate the last part of the name which is longer than
- * MIN_PART characters: 1234.678.012.gz -> 123.678.012.gz. If the name
- * has only parts shorter than MIN_PART truncate the longest part.
- * For decompression, just remove the last character of the name.
- *
- * IN assertion: for compression, the suffix of the given name is z_suffix.
- */
-local void shorten_name(name)
- char *name;
-{
- int len; /* length of name without z_suffix */
- char *trunc = NULL; /* character to be truncated */
- int plen; /* current part length */
- int min_part = MIN_PART; /* current minimum part length */
- char *p;
-
- len = strlen(name);
- if (decompress) {
- if (len <= 1) error("name too short");
- name[len-1] = '\0';
- return;
- }
- p = get_suffix(name);
- if (p == NULL) error("can't recover suffix\n");
- *p = '\0';
- save_orig_name = 1;
-
- /* compress 1234567890.tar to 1234567890.tgz */
- if (len > 4 && strequ(p-4, ".tar")) {
- strcpy(p-4, ".tgz");
- return;
- }
- /* Try keeping short extensions intact:
- * 1234.678.012.gz -> 123.678.012.gz
- */
- do {
- p = strrchr(name, PATH_SEP);
- p = p ? p+1 : name;
- while (*p) {
- plen = strcspn(p, PART_SEP);
- p += plen;
- if (plen > min_part) trunc = p-1;
- if (*p) p++;
- }
- } while (trunc == NULL && --min_part != 0);
-
- if (trunc != NULL) {
- do {
- trunc[0] = trunc[1];
- } while (*trunc++);
- trunc--;
- } else {
- trunc = strrchr(name, PART_SEP[0]);
- if (trunc == NULL) error("internal error in shorten_name");
- if (trunc[1] == '\0') trunc--; /* force truncation */
- }
- strcpy(trunc, z_suffix);
-}
-
-/* ========================================================================
- * If compressing to a file, check if ofname is not ambiguous
- * because the operating system truncates names. Otherwise, generate
- * a new ofname and save the original name in the compressed file.
- * If the compressed file already exists, ask for confirmation.
- * The check for name truncation is made dynamically, because different
- * file systems on the same OS might use different truncation rules (on SVR4
- * s5 truncates to 14 chars and ufs does not truncate).
- * This function returns -1 if the file must be skipped, and
- * updates save_orig_name if necessary.
- * IN assertions: save_orig_name is already set if ofname has been
- * already truncated because of NO_MULTIPLE_DOTS. The input file has
- * already been open and istat is set.
- */
-local int check_ofname()
-{
- struct stat ostat; /* stat for ofname */
-
-#ifdef ENAMETOOLONG
- /* Check for strictly conforming Posix systems (which return ENAMETOOLONG
- * instead of silently truncating filenames).
- */
- errno = 0;
- while (lstat(ofname, &ostat) != 0) {
- if (errno != ENAMETOOLONG) return 0; /* ofname does not exist */
- shorten_name(ofname);
- }
-#else
- if (lstat(ofname, &ostat) != 0) return 0;
-#endif
- /* Check for name truncation on existing file. Do this even on systems
- * defining ENAMETOOLONG, because on most systems the strict Posix
- * behavior is disabled by default (silent name truncation allowed).
- */
- if (!decompress && name_too_long(ofname, &ostat)) {
- shorten_name(ofname);
- if (lstat(ofname, &ostat) != 0) return 0;
- }
-
- /* Check that the input and output files are different (could be
- * the same by name truncation or links).
- */
- if (same_file(&istat, &ostat)) {
- if (strequ(ifname, ofname)) {
- fprintf(stderr, "%s: %s: cannot %scompress onto itself\n",
- progname, ifname, decompress ? "de" : "");
- } else {
- fprintf(stderr, "%s: %s and %s are the same file\n",
- progname, ifname, ofname);
- }
- exit_code = ERROR;
- return ERROR;
- }
- /* Ask permission to overwrite the existing file */
- if (!force) {
- int ok = 0;
- fprintf(stderr, "%s: %s already exists;", progname, ofname);
- if (foreground && isatty(fileno(stdin))) {
- fprintf(stderr, " do you wish to overwrite (y or n)? ");
- fflush(stderr);
- ok = yesno();
- }
- if (!ok) {
- fprintf(stderr, "\tnot overwritten\n");
- if (exit_code == OK) exit_code = WARNING;
- return ERROR;
- }
- }
- if (xunlink (ofname)) {
- progerror(ofname);
- return ERROR;
- }
- return OK;
-}
-
-
-#ifndef NO_UTIME
-/* ========================================================================
- * Set the access and modification times from the given stat buffer.
- */
-local void reset_times (name, statb)
- char *name;
- struct stat *statb;
-{
- struct utimbuf timep;
-
- /* Copy the time stamp */
- timep.actime = statb->st_atime;
- timep.modtime = statb->st_mtime;
-
- /* Some systems (at least OS/2) do not support utime on directories */
- if (utime(name, &timep) && !S_ISDIR(statb->st_mode)) {
- int e = errno;
- WARN((stderr, "%s: ", progname));
- if (!quiet) {
- errno = e;
- perror(ofname);
- }
- }
-}
-#endif
-
-
-/* ========================================================================
- * Copy modes, times, ownership from input file to output file.
- * IN assertion: to_stdout is false.
- */
-local void copy_stat(ifstat)
- struct stat *ifstat;
-{
-#ifndef NO_UTIME
- if (decompress && time_stamp != 0 && ifstat->st_mtime != time_stamp) {
- ifstat->st_mtime = time_stamp;
- if (verbose > 1) {
- fprintf(stderr, "%s: time stamp restored\n", ofname);
- }
- }
- reset_times(ofname, ifstat);
-#endif
- /* Copy the protection modes */
- if (fchmod(ofd, ifstat->st_mode & 07777)) {
- int e = errno;
- WARN((stderr, "%s: ", progname));
- if (!quiet) {
- errno = e;
- perror(ofname);
- }
- }
-#ifndef NO_CHOWN
- fchown(ofd, ifstat->st_uid, ifstat->st_gid); /* Copy ownership */
-#endif
- remove_ofname = 0;
- /* It's now safe to remove the input file: */
- if (xunlink (ifname)) {
- int e = errno;
- WARN((stderr, "%s: ", progname));
- if (!quiet) {
- errno = e;
- perror(ifname);
- }
- }
-}
-
-#if ! NO_DIR
-
-/* ========================================================================
- * Recurse through the given directory. This code is taken from ncompress.
- */
-local void treat_dir(dir)
- char *dir;
-{
- struct dirent *dp;
- DIR *dirp;
- char nbuf[MAX_PATH_LEN];
- int len;
-
- dirp = opendir(dir);
-
- if (dirp == NULL) {
- progerror(dir);
- return ;
- }
- /*
- ** WARNING: the following algorithm could occasionally cause
- ** compress to produce error warnings of the form ".gz
- ** already has .gz suffix - ignored". This occurs when the
- ** .gz output file is inserted into the directory below
- ** readdir's current pointer.
- ** These warnings are harmless but annoying, so they are suppressed
- ** with option -r (except when -v is on). An alternative
- ** to allowing this would be to store the entire directory
- ** list in memory, then compress the entries in the stored
- ** list. Given the depth-first recursive algorithm used here,
- ** this could use up a tremendous amount of memory. I don't
- ** think it's worth it. -- Dave Mack
- ** (An other alternative might be two passes to avoid depth-first.)
- */
-
- while ((errno = 0, dp = readdir(dirp)) != NULL) {
-
- if (strequ(dp->d_name,".") || strequ(dp->d_name,"..")) {
- continue;
- }
- len = strlen(dir);
- if (len + NAMLEN(dp) + 1 < MAX_PATH_LEN - 1) {
- strcpy(nbuf,dir);
- if (len != 0 /* dir = "" means current dir on Amiga */
-#ifdef PATH_SEP2
- && dir[len-1] != PATH_SEP2
-#endif
-#ifdef PATH_SEP3
- && dir[len-1] != PATH_SEP3
-#endif
- ) {
- nbuf[len++] = PATH_SEP;
- }
- strcpy(nbuf+len, dp->d_name);
- treat_file(nbuf);
- } else {
- fprintf(stderr,"%s: %s/%s: pathname too long\n",
- progname, dir, dp->d_name);
- exit_code = ERROR;
- }
- }
- if (errno != 0)
- progerror(dir);
- if (CLOSEDIR(dirp) != 0)
- progerror(dir);
-}
-#endif /* ! NO_DIR */
-
-/* ========================================================================
- * Free all dynamically allocated variables and exit with the given code.
- */
-local void do_exit(exitcode)
- int exitcode;
-{
- static int in_exit = 0;
-
- if (in_exit) exit(exitcode);
- in_exit = 1;
- if (env != NULL) free(env), env = NULL;
- if (args != NULL) free((char*)args), args = NULL;
- FREE(inbuf);
- FREE(outbuf);
- FREE(d_buf);
- FREE(window);
-#ifndef MAXSEG_64K
- FREE(tab_prefix);
-#else
- FREE(tab_prefix0);
- FREE(tab_prefix1);
-#endif
- exit(exitcode);
-}
-
-/* ========================================================================
- * Close and unlink the output file if appropriate. This routine must be
- * async-signal-safe.
- */
-local void do_remove() {
- if (remove_ofname) {
- close(ofd);
- xunlink (ofname);
- }
-}
-
-/* ========================================================================
- * Error handler.
- */
-RETSIGTYPE abort_gzip()
-{
- do_remove();
- do_exit(ERROR);
-}
-
-/* ========================================================================
- * Signal handler.
- */
-RETSIGTYPE abort_gzip_signal()
-{
- do_remove();
- _exit(ERROR);
-}
-
-/* Inflate deflated data
-
- Copyright (C) 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- See the GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING.
- If not, write to the Free Software Foundation,
- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* Not copyrighted 1992 by Mark Adler
- version c10p1, 10 January 1993 */
-
-/* You can do whatever you like with this source file, though I would
- prefer that if you modify it and redistribute it that you include
- comments to that effect with your name and the date. Thank you.
- [The history has been moved to the file ChangeLog.]
- */
-
-/*
- Inflate deflated (PKZIP's method 8 compressed) data. The compression
- method searches for as much of the current string of bytes (up to a
- length of 258) in the previous 32K bytes. If it doesn't find any
- matches (of at least length 3), it codes the next byte. Otherwise, it
- codes the length of the matched string and its distance backwards from
- the current position. There is a single Huffman code that codes both
- single bytes (called "literals") and match lengths. A second Huffman
- code codes the distance information, which follows a length code. Each
- length or distance code actually represents a base value and a number
- of "extra" (sometimes zero) bits to get to add to the base value. At
- the end of each deflated block is a special end-of-block (EOB) literal/
- length code. The decoding process is basically: get a literal/length
- code; if EOB then done; if a literal, emit the decoded byte; if a
- length then get the distance and emit the referred-to bytes from the
- sliding window of previously emitted data.
-
- There are (currently) three kinds of inflate blocks: stored, fixed, and
- dynamic. The compressor deals with some chunk of data at a time, and
- decides which method to use on a chunk-by-chunk basis. A chunk might
- typically be 32K or 64K. If the chunk is uncompressible, then the
- "stored" method is used. In this case, the bytes are simply stored as
- is, eight bits per byte, with none of the above coding. The bytes are
- preceded by a count, since there is no longer an EOB code.
-
- If the data is compressible, then either the fixed or dynamic methods
- are used. In the dynamic method, the compressed data is preceded by
- an encoding of the literal/length and distance Huffman codes that are
- to be used to decode this block. The representation is itself Huffman
- coded, and so is preceded by a description of that code. These code
- descriptions take up a little space, and so for small blocks, there is
- a predefined set of codes, called the fixed codes. The fixed method is
- used if the block codes up smaller that way (usually for quite small
- chunks), otherwise the dynamic method is used. In the latter case, the
- codes are customized to the probabilities in the current block, and so
- can code it much better than the pre-determined fixed codes.
-
- The Huffman codes themselves are decoded using a multi-level table
- lookup, in order to maximize the speed of decoding plus the speed of
- building the decoding tables. See the comments below that precede the
- lbits and dbits tuning parameters.
- */
-
-
-/*
- Notes beyond the 1.93a appnote.txt:
-
- 1. Distance pointers never point before the beginning of the output
- stream.
- 2. Distance pointers can point back across blocks, up to 32k away.
- 3. There is an implied maximum of 7 bits for the bit length table and
- 15 bits for the actual data.
- 4. If only one code exists, then it is encoded using one bit. (Zero
- would be more efficient, but perhaps a little confusing.) If two
- codes exist, they are coded using one bit each (0 and 1).
- 5. There is no way of sending zero distance codes--a dummy must be
- sent if there are none. (History: a pre 2.0 version of PKZIP would
- store blocks with no distance codes, but this was discovered to be
- too harsh a criterion.) Valid only for 1.93a. 2.04c does allow
- zero distance codes, which is sent as one code of zero bits in
- length.
- 6. There are up to 286 literal/length codes. Code 256 represents the
- end-of-block. Note however that the static length tree defines
- 288 codes just to fill out the Huffman codes. Codes 286 and 287
- cannot be used though, since there is no length base or extra bits
- defined for them. Similarly, there are up to 30 distance codes.
- However, static trees define 32 codes (all 5 bits) to fill out the
- Huffman codes, but the last two had better not show up in the data.
- 7. Unzip can check dynamic Huffman blocks for complete code sets.
- The exception is that a single code would not be complete (see #4).
- 8. The five bits following the block type is really the number of
- literal codes sent minus 257.
- 9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits
- (1+6+6). Therefore, to output three times the length, you output
- three codes (1+1+1), whereas to output four times the same length,
- you only need two codes (1+3). Hmm.
- 10. In the tree reconstruction algorithm, Code = Code + Increment
- only if BitLength(i) is not zero. (Pretty obvious.)
- 11. Correction: 4 Bits: # of Bit Length codes - 4 (4 - 19)
- 12. Note: length code 284 can represent 227-258, but length code 285
- really is 258. The last length deserves its own, short code
- since it gets used a lot in very redundant files. The length
- 258 is special since 258 - 3 (the min match length) is 255.
- 13. The literal/length and distance code bit lengths are read as a
- single stream of lengths. It is possible (and advantageous) for
- a repeat code (16, 17, or 18) to go across the boundary between
- the two sets of lengths.
- */
-
-#ifdef RCSID
-static char rcsid[] = "$Id: inflate.c,v 0.14 1993/06/10 13:27:04 jloup Exp $";
-#endif
-
-#define slide window
-
-/* Huffman code lookup table entry--this entry is four bytes for machines
- that have 16-bit pointers (e.g. PC's in the small or medium model).
- Valid extra bits are 0..13. e == 15 is EOB (end of block), e == 16
- means that v is a literal, 16 < e < 32 means that v is a pointer to
- the next table, which codes e - 16 bits, and lastly e == 99 indicates
- an unused code. If a code with e == 99 is looked up, this implies an
- error in the data. */
-struct huft {
- uch e; /* number of extra bits or operation */
- uch b; /* number of bits in this code or subcode */
- union {
- ush n; /* literal, length base, or distance base */
- struct huft *t; /* pointer to next level of table */
- } v;
-};
-
-
-/* Function prototypes */
-int huft_build OF((unsigned *, unsigned, unsigned, ush *, ush *,
- struct huft **, int *));
-int huft_free OF((struct huft *));
-int inflate_codes OF((struct huft *, struct huft *, int, int));
-int inflate_stored OF((void));
-int inflate_fixed OF((void));
-int inflate_dynamic OF((void));
-int inflate_block OF((int *));
-int inflate OF((void));
-
-
-/* The inflate algorithm uses a sliding 32K byte window on the uncompressed
- stream to find repeated byte strings. This is implemented here as a
- circular buffer. The index is updated simply by incrementing and then
- and'ing with 0x7fff (32K-1). */
-/* It is left to other modules to supply the 32K area. It is assumed
- to be usable as if it were declared "uch slide[32768];" or as just
- "uch *slide;" and then malloc'ed in the latter case. The definition
- must be in unzip.h, included above. */
-/* unsigned wp; current position in slide */
-#define wp outcnt
-#define flush_output(w) (wp=(w),flush_window())
-
-/* Tables for deflate from PKZIP's appnote.txt. */
-static unsigned border[] = { /* Order of the bit length code lengths */
- 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
-static ush cplens[] = { /* Copy lengths for literal codes 257..285 */
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
- 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
- /* note: see note #13 above about the 258 in this list. */
-static ush cplext[] = { /* Extra bits for literal codes 257..285 */
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,
- 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 99, 99}; /* 99==invalid */
-static ush cpdist[] = { /* Copy offsets for distance codes 0..29 */
- 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
- 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
- 8193, 12289, 16385, 24577};
-static ush cpdext[] = { /* Extra bits for distance codes */
- 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,
- 7, 7, 8, 8, 9, 9, 10, 10, 11, 11,
- 12, 12, 13, 13};
-
-
-
-/* Macros for inflate() bit peeking and grabbing.
- The usage is:
-
- NEEDBITS(j)
- x = b & mask_bits[j];
- DUMPBITS(j)
-
- where NEEDBITS makes sure that b has at least j bits in it, and
- DUMPBITS removes the bits from b. The macros use the variable k
- for the number of bits in b. Normally, b and k are register
- variables for speed, and are initialized at the beginning of a
- routine that uses these macros from a global bit buffer and count.
- The macros also use the variable w, which is a cached copy of wp.
-
- If we assume that EOB will be the longest code, then we will never
- ask for bits with NEEDBITS that are beyond the end of the stream.
- So, NEEDBITS should not read any more bytes than are needed to
- meet the request. Then no bytes need to be "returned" to the buffer
- at the end of the last block.
-
- However, this assumption is not true for fixed blocks--the EOB code
- is 7 bits, but the other literal/length codes can be 8 or 9 bits.
- (The EOB code is shorter than other codes because fixed blocks are
- generally short. So, while a block always has an EOB, many other
- literal/length codes have a significantly lower probability of
- showing up at all.) However, by making the first table have a
- lookup of seven bits, the EOB code will be found in that first
- lookup, and so will not require that too many bits be pulled from
- the stream.
- */
-
-ulg bb; /* bit buffer */
-unsigned bk; /* bits in bit buffer */
-
-ush mask_bits[] = {
- 0x0000,
- 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
- 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
-};
-
-#define GETBYTE() (inptr < insize ? inbuf[inptr++] : (wp = w, fill_inbuf(0)))
-
-#ifdef CRYPT
- uch cc;
-# define NEXTBYTE() \
- (decrypt ? (cc = GETBYTE(), zdecode(cc), cc) : GETBYTE())
-#else
-# define NEXTBYTE() (uch)GETBYTE()
-#endif
-#define NEEDBITS(n) {while(k<(n)){b|=((ulg)NEXTBYTE())<>=(n);k-=(n);}
-
-
-/*
- Huffman code decoding is performed using a multi-level table lookup.
- The fastest way to decode is to simply build a lookup table whose
- size is determined by the longest code. However, the time it takes
- to build this table can also be a factor if the data being decoded
- is not very long. The most common codes are necessarily the
- shortest codes, so those codes dominate the decoding time, and hence
- the speed. The idea is you can have a shorter table that decodes the
- shorter, more probable codes, and then point to subsidiary tables for
- the longer codes. The time it costs to decode the longer codes is
- then traded against the time it takes to make longer tables.
-
- This results of this trade are in the variables lbits and dbits
- below. lbits is the number of bits the first level table for literal/
- length codes can decode in one step, and dbits is the same thing for
- the distance codes. Subsequent tables are also less than or equal to
- those sizes. These values may be adjusted either when all of the
- codes are shorter than that, in which case the longest code length in
- bits is used, or when the shortest code is *longer* than the requested
- table size, in which case the length of the shortest code in bits is
- used.
-
- There are two different values for the two tables, since they code a
- different number of possibilities each. The literal/length table
- codes 286 possible values, or in a flat code, a little over eight
- bits. The distance table codes 30 possible values, or a little less
- than five bits, flat. The optimum values for speed end up being
- about one bit more than those, so lbits is 8+1 and dbits is 5+1.
- The optimum values may differ though from machine to machine, and
- possibly even between compilers. Your mileage may vary.
- */
-
-
-int lbits = 9; /* bits in base literal/length lookup table */
-int dbits = 6; /* bits in base distance lookup table */
-
-
-/* If BMAX needs to be larger than 16, then h and x[] should be ulg. */
-#define BMAX 16 /* maximum bit length of any code (16 for explode) */
-#define N_MAX 288 /* maximum number of codes in any set */
-
-
-unsigned hufts; /* track memory usage */
-
-
-int huft_build(b, n, s, d, e, t, m)
-unsigned *b; /* code lengths in bits (all assumed <= BMAX) */
-unsigned n; /* number of codes (assumed <= N_MAX) */
-unsigned s; /* number of simple-valued codes (0..s-1) */
-ush *d; /* list of base values for non-simple codes */
-ush *e; /* list of extra bits for non-simple codes */
-struct huft **t; /* result: starting table */
-int *m; /* maximum lookup bits, returns actual */
-/* Given a list of code lengths and a maximum table size, make a set of
- tables to decode that set of codes. Return zero on success, one if
- the given code set is incomplete (the tables are still built in this
- case), two if the input is invalid (all zero length codes or an
- oversubscribed set of lengths), and three if not enough memory. */
-{
- unsigned a; /* counter for codes of length k */
- unsigned c[BMAX+1]; /* bit length count table */
- unsigned f; /* i repeats in table every f entries */
- int g; /* maximum code length */
- int h; /* table level */
- register unsigned i; /* counter, current code */
- register unsigned j; /* counter */
- register int k; /* number of bits in current code */
- int l; /* bits per table (returned in m) */
- register unsigned *p; /* pointer into c[], b[], or v[] */
- register struct huft *q; /* points to current table */
- struct huft r; /* table entry for structure assignment */
- struct huft *u[BMAX]; /* table stack */
- unsigned v[N_MAX]; /* values in order of bit length */
- register int w; /* bits before this table == (l * h) */
- unsigned x[BMAX+1]; /* bit offsets, then code stack */
- unsigned *xp; /* pointer into x */
- int y; /* number of dummy codes added */
- unsigned z; /* number of entries in current table */
-
-
- /* Generate counts for each bit length */
- memzero(c, sizeof(c));
- p = b; i = n;
- do {
- Tracecv(*p, (stderr, (n-i >= ' ' && n-i <= '~' ? "%c %d\n" : "0x%x %d\n"),
- n-i, *p));
- c[*p]++; /* assume all entries <= BMAX */
- p++; /* Can't combine with above line (Solaris bug) */
- } while (--i);
- if (c[0] == n) /* null input--all zero length codes */
- {
- *t = (struct huft *)NULL;
- *m = 0;
- return 0;
- }
-
-
- /* Find minimum and maximum length, bound *m by those */
- l = *m;
- for (j = 1; j <= BMAX; j++)
- if (c[j])
- break;
- k = j; /* minimum code length */
- if ((unsigned)l < j)
- l = j;
- for (i = BMAX; i; i--)
- if (c[i])
- break;
- g = i; /* maximum code length */
- if ((unsigned)l > i)
- l = i;
- *m = l;
-
-
- /* Adjust last length count to fill out codes, if needed */
- for (y = 1 << j; j < i; j++, y <<= 1)
- if ((y -= c[j]) < 0)
- return 2; /* bad input: more codes than bits */
- if ((y -= c[i]) < 0)
- return 2;
- c[i] += y;
-
-
- /* Generate starting offsets into the value table for each length */
- x[1] = j = 0;
- p = c + 1; xp = x + 2;
- while (--i) { /* note that i == g from above */
- *xp++ = (j += *p++);
- }
-
-
- /* Make a table of values in order of bit lengths */
- p = b; i = 0;
- do {
- if ((j = *p++) != 0)
- v[x[j]++] = i;
- } while (++i < n);
- n = x[g]; /* set n to length of v */
-
-
- /* Generate the Huffman codes and for each, make the table entries */
- x[0] = i = 0; /* first Huffman code is zero */
- p = v; /* grab values in bit order */
- h = -1; /* no tables yet--level -1 */
- w = -l; /* bits decoded == (l * h) */
- u[0] = (struct huft *)NULL; /* just to keep compilers happy */
- q = (struct huft *)NULL; /* ditto */
- z = 0; /* ditto */
-
- /* go through the bit lengths (k already is bits in shortest code) */
- for (; k <= g; k++)
- {
- a = c[k];
- while (a--)
- {
- /* here i is the Huffman code of length k bits for value *p */
- /* make tables up to required level */
- while (k > w + l)
- {
- h++;
- w += l; /* previous table always l bits */
-
- /* compute minimum size table less than or equal to l bits */
- z = (z = g - w) > (unsigned)l ? l : z; /* upper limit on table size */
- if ((f = 1 << (j = k - w)) > a + 1) /* try a k-w bit table */
- { /* too few codes for k-w bit table */
- f -= a + 1; /* deduct codes from patterns left */
- xp = c + k;
- if (j < z)
- while (++j < z) /* try smaller tables up to z bits */
- {
- if ((f <<= 1) <= *++xp)
- break; /* enough codes to use up j bits */
- f -= *xp; /* else deduct codes from patterns */
- }
- }
- z = 1 << j; /* table entries for j-bit table */
-
- /* allocate and link in new table */
- if ((q = (struct huft *)malloc((z + 1)*sizeof(struct huft))) ==
- (struct huft *)NULL)
- {
- if (h)
- huft_free(u[0]);
- return 3; /* not enough memory */
- }
- hufts += z + 1; /* track memory usage */
- *t = q + 1; /* link to list for huft_free() */
- *(t = &(q->v.t)) = (struct huft *)NULL;
- u[h] = ++q; /* table starts after link */
-
- /* connect to last table, if there is one */
- if (h)
- {
- x[h] = i; /* save pattern for backing up */
- r.b = (uch)l; /* bits to dump before this table */
- r.e = (uch)(16 + j); /* bits in this table */
- r.v.t = q; /* pointer to this table */
- j = i >> (w - l); /* (get around Turbo C bug) */
- u[h-1][j] = r; /* connect to last table */
- }
- }
-
- /* set up table entry in r */
- r.b = (uch)(k - w);
- if (p >= v + n)
- r.e = 99; /* out of values--invalid code */
- else if (*p < s)
- {
- r.e = (uch)(*p < 256 ? 16 : 15); /* 256 is end-of-block code */
- r.v.n = (ush)(*p); /* simple code is just the value */
- p++; /* one compiler does not like *p++ */
- }
- else
- {
- r.e = (uch)e[*p - s]; /* non-simple--look up in lists */
- r.v.n = d[*p++ - s];
- }
-
- /* fill code-like entries with r */
- f = 1 << (k - w);
- for (j = i >> w; j < z; j += f)
- q[j] = r;
-
- /* backwards increment the k-bit code i */
- for (j = 1 << (k - 1); i & j; j >>= 1)
- i ^= j;
- i ^= j;
-
- /* backup over finished tables */
- while ((i & ((1 << w) - 1)) != x[h])
- {
- h--; /* don't need to update q */
- w -= l;
- }
- }
- }
-
-
- /* Return true (1) if we were given an incomplete table */
- return y != 0 && g != 1;
-}
-
-
-
-int huft_free(t)
-struct huft *t; /* table to free */
-/* Free the malloc'ed tables built by huft_build(), which makes a linked
- list of the tables it made, with the links in a dummy first entry of
- each table. */
-{
- register struct huft *p, *q;
-
-
- /* Go through linked list, freeing from the malloced (t[-1]) address. */
- p = t;
- while (p != (struct huft *)NULL)
- {
- q = (--p)->v.t;
- free((char*)p);
- p = q;
- }
- return 0;
-}
-
-
-int inflate_codes(tl, td, bl, bd)
-struct huft *tl, *td; /* literal/length and distance decoder tables */
-int bl, bd; /* number of bits decoded by tl[] and td[] */
-/* inflate (decompress) the codes in a deflated (compressed) block.
- Return an error code or zero if it all goes ok. */
-{
- register unsigned e; /* table entry flag/number of extra bits */
- unsigned n, d; /* length and index for copy */
- unsigned w; /* current window position */
- struct huft *t; /* pointer to table entry */
- unsigned ml, md; /* masks for bl and bd bits */
- register ulg b; /* bit buffer */
- register unsigned k; /* number of bits in bit buffer */
-
-
- /* make local copies of globals */
- b = bb; /* initialize bit buffer */
- k = bk;
- w = wp; /* initialize window position */
-
- /* inflate the coded data */
- ml = mask_bits[bl]; /* precompute masks for speed */
- md = mask_bits[bd];
- for (;;) /* do until end of block */
- {
- NEEDBITS((unsigned)bl)
- if ((e = (t = tl + ((unsigned)b & ml))->e) > 16)
- do {
- if (e == 99)
- return 1;
- DUMPBITS(t->b)
- e -= 16;
- NEEDBITS(e)
- } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
- DUMPBITS(t->b)
- if (e == 16) /* then it's a literal */
- {
- slide[w++] = (uch)t->v.n;
- Tracevv((stderr, "%c", slide[w-1]));
- if (w == WSIZE)
- {
- flush_output(w);
- w = 0;
- }
- }
- else /* it's an EOB or a length */
- {
- /* exit if end of block */
- if (e == 15)
- break;
-
- /* get length of block to copy */
- NEEDBITS(e)
- n = t->v.n + ((unsigned)b & mask_bits[e]);
- DUMPBITS(e);
-
- /* decode distance of block to copy */
- NEEDBITS((unsigned)bd)
- if ((e = (t = td + ((unsigned)b & md))->e) > 16)
- do {
- if (e == 99)
- return 1;
- DUMPBITS(t->b)
- e -= 16;
- NEEDBITS(e)
- } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
- DUMPBITS(t->b)
- NEEDBITS(e)
- d = w - t->v.n - ((unsigned)b & mask_bits[e]);
- DUMPBITS(e)
- Tracevv((stderr,"\\[%d,%d]", w-d, n));
-
- /* do the copy */
- do {
- n -= (e = (e = WSIZE - ((d &= WSIZE-1) > w ? d : w)) > n ? n : e);
-#if !defined(NOMEMCPY) && !defined(DEBUG)
- if (w - d >= e) /* (this test assumes unsigned comparison) */
- {
- memcpy(slide + w, slide + d, e);
- w += e;
- d += e;
- }
- else /* do it slow to avoid memcpy() overlap */
-#endif /* !NOMEMCPY */
- do {
- slide[w++] = slide[d++];
- Tracevv((stderr, "%c", slide[w-1]));
- } while (--e);
- if (w == WSIZE)
- {
- flush_output(w);
- w = 0;
- }
- } while (n);
- }
- }
-
-
- /* restore the globals from the locals */
- wp = w; /* restore global window pointer */
- bb = b; /* restore global bit buffer */
- bk = k;
-
- /* done */
- return 0;
-}
-
-
-
-int inflate_stored()
-/* "decompress" an inflated type 0 (stored) block. */
-{
- unsigned n; /* number of bytes in block */
- unsigned w; /* current window position */
- register ulg b; /* bit buffer */
- register unsigned k; /* number of bits in bit buffer */
-
-
- /* make local copies of globals */
- b = bb; /* initialize bit buffer */
- k = bk;
- w = wp; /* initialize window position */
-
-
- /* go to byte boundary */
- n = k & 7;
- DUMPBITS(n);
-
-
- /* get the length and its complement */
- NEEDBITS(16)
- n = ((unsigned)b & 0xffff);
- DUMPBITS(16)
- NEEDBITS(16)
- if (n != (unsigned)((~b) & 0xffff))
- return 1; /* error in compressed data */
- DUMPBITS(16)
-
-
- /* read and output the compressed data */
- while (n--)
- {
- NEEDBITS(8)
- slide[w++] = (uch)b;
- if (w == WSIZE)
- {
- flush_output(w);
- w = 0;
- }
- DUMPBITS(8)
- }
-
-
- /* restore the globals from the locals */
- wp = w; /* restore global window pointer */
- bb = b; /* restore global bit buffer */
- bk = k;
- return 0;
-}
-
-
-
-int inflate_fixed()
-/* decompress an inflated type 1 (fixed Huffman codes) block. We should
- either replace this with a custom decoder, or at least precompute the
- Huffman tables. */
-{
- int i; /* temporary variable */
- struct huft *tl; /* literal/length code table */
- struct huft *td; /* distance code table */
- int bl; /* lookup bits for tl */
- int bd; /* lookup bits for td */
- unsigned l[288]; /* length list for huft_build */
-
-
- /* set up literal table */
- for (i = 0; i < 144; i++)
- l[i] = 8;
- for (; i < 256; i++)
- l[i] = 9;
- for (; i < 280; i++)
- l[i] = 7;
- for (; i < 288; i++) /* make a complete, but wrong code set */
- l[i] = 8;
- bl = 7;
- if ((i = huft_build(l, 288, 257, cplens, cplext, &tl, &bl)) != 0)
- return i;
-
-
- /* set up distance table */
- for (i = 0; i < 30; i++) /* make an incomplete code set */
- l[i] = 5;
- bd = 5;
- if ((i = huft_build(l, 30, 0, cpdist, cpdext, &td, &bd)) > 1)
- {
- huft_free(tl);
- return i;
- }
-
-
- /* decompress until an end-of-block code */
- if (inflate_codes(tl, td, bl, bd))
- return 1;
-
-
- /* free the decoding tables, return */
- huft_free(tl);
- huft_free(td);
- return 0;
-}
-
-
-
-int inflate_dynamic()
-/* decompress an inflated type 2 (dynamic Huffman codes) block. */
-{
- int i; /* temporary variables */
- unsigned j;
- unsigned l; /* last length */
- unsigned m; /* mask for bit lengths table */
- unsigned n; /* number of lengths to get */
- unsigned w; /* current window position */
- struct huft *tl; /* literal/length code table */
- struct huft *td; /* distance code table */
- int bl; /* lookup bits for tl */
- int bd; /* lookup bits for td */
- unsigned nb; /* number of bit length codes */
- unsigned nl; /* number of literal/length codes */
- unsigned nd; /* number of distance codes */
-#ifdef PKZIP_BUG_WORKAROUND
- unsigned ll[288+32]; /* literal/length and distance code lengths */
-#else
- unsigned ll[286+30]; /* literal/length and distance code lengths */
-#endif
- register ulg b; /* bit buffer */
- register unsigned k; /* number of bits in bit buffer */
-
-
- /* make local bit buffer */
- b = bb;
- k = bk;
- w = wp;
-
-
- /* read in table lengths */
- NEEDBITS(5)
- nl = 257 + ((unsigned)b & 0x1f); /* number of literal/length codes */
- DUMPBITS(5)
- NEEDBITS(5)
- nd = 1 + ((unsigned)b & 0x1f); /* number of distance codes */
- DUMPBITS(5)
- NEEDBITS(4)
- nb = 4 + ((unsigned)b & 0xf); /* number of bit length codes */
- DUMPBITS(4)
-#ifdef PKZIP_BUG_WORKAROUND
- if (nl > 288 || nd > 32)
-#else
- if (nl > 286 || nd > 30)
-#endif
- return 1; /* bad lengths */
-
-
- /* read in bit-length-code lengths */
- for (j = 0; j < nb; j++)
- {
- NEEDBITS(3)
- ll[border[j]] = (unsigned)b & 7;
- DUMPBITS(3)
- }
- for (; j < 19; j++)
- ll[border[j]] = 0;
-
-
- /* build decoding table for trees--single level, 7 bit lookup */
- bl = 7;
- if ((i = huft_build(ll, 19, 19, NULL, NULL, &tl, &bl)) != 0)
- {
- if (i == 1)
- huft_free(tl);
- return i; /* incomplete code set */
- }
-
- if (tl == NULL) /* Grrrhhh */
- return 2;
-
- /* read in literal and distance code lengths */
- n = nl + nd;
- m = mask_bits[bl];
- i = l = 0;
- while ((unsigned)i < n)
- {
- NEEDBITS((unsigned)bl)
- j = (td = tl + ((unsigned)b & m))->b;
- DUMPBITS(j)
- j = td->v.n;
- if (j < 16) /* length of code in bits (0..15) */
- ll[i++] = l = j; /* save last length in l */
- else if (j == 16) /* repeat last length 3 to 6 times */
- {
- NEEDBITS(2)
- j = 3 + ((unsigned)b & 3);
- DUMPBITS(2)
- if ((unsigned)i + j > n)
- return 1;
- while (j--)
- ll[i++] = l;
- }
- else if (j == 17) /* 3 to 10 zero length codes */
- {
- NEEDBITS(3)
- j = 3 + ((unsigned)b & 7);
- DUMPBITS(3)
- if ((unsigned)i + j > n)
- return 1;
- while (j--)
- ll[i++] = 0;
- l = 0;
- }
- else /* j == 18: 11 to 138 zero length codes */
- {
- NEEDBITS(7)
- j = 11 + ((unsigned)b & 0x7f);
- DUMPBITS(7)
- if ((unsigned)i + j > n)
- return 1;
- while (j--)
- ll[i++] = 0;
- l = 0;
- }
- }
-
-
- /* free decoding table for trees */
- huft_free(tl);
-
-
- /* restore the global bit buffer */
- bb = b;
- bk = k;
-
-
- /* build the decoding tables for literal/length and distance codes */
- bl = lbits;
- if ((i = huft_build(ll, nl, 257, cplens, cplext, &tl, &bl)) != 0)
- {
- if (i == 1) {
- fprintf(stderr, " incomplete literal tree\n");
- huft_free(tl);
- }
- return i; /* incomplete code set */
- }
- bd = dbits;
- if ((i = huft_build(ll + nl, nd, 0, cpdist, cpdext, &td, &bd)) != 0)
- {
- if (i == 1) {
- fprintf(stderr, " incomplete distance tree\n");
-#ifdef PKZIP_BUG_WORKAROUND
- i = 0;
- }
-#else
- huft_free(td);
- }
- huft_free(tl);
- return i; /* incomplete code set */
-#endif
- }
-
-
- /* decompress until an end-of-block code */
- if (inflate_codes(tl, td, bl, bd))
- return 1;
-
-
- /* free the decoding tables, return */
- huft_free(tl);
- huft_free(td);
- return 0;
-}
-
-
-
-int inflate_block(e)
-int *e; /* last block flag */
-/* decompress an inflated block */
-{
- unsigned t; /* block type */
- unsigned w; /* current window position */
- register ulg b; /* bit buffer */
- register unsigned k; /* number of bits in bit buffer */
-
-
- /* make local bit buffer */
- b = bb;
- k = bk;
- w = wp;
-
-
- /* read in last block bit */
- NEEDBITS(1)
- *e = (int)b & 1;
- DUMPBITS(1)
-
-
- /* read in block type */
- NEEDBITS(2)
- t = (unsigned)b & 3;
- DUMPBITS(2)
-
-
- /* restore the global bit buffer */
- bb = b;
- bk = k;
-
-
- /* inflate that block type */
- if (t == 2)
- return inflate_dynamic();
- if (t == 0)
- return inflate_stored();
- if (t == 1)
- return inflate_fixed();
-
-
- /* bad block type */
- return 2;
-}
-
-
-
-int inflate()
-/* decompress an inflated entry */
-{
- int e; /* last block flag */
- int r; /* result code */
- unsigned h; /* maximum struct huft's malloc'ed */
-
-
- /* initialize window, bit buffer */
- wp = 0;
- bk = 0;
- bb = 0;
-
-
- /* decompress until the last block */
- h = 0;
- do {
- hufts = 0;
- if ((r = inflate_block(&e)) != 0)
- return r;
- if (hufts > h)
- h = hufts;
- } while (!e);
-
- /* Undo too much lookahead. The next read will be byte aligned so we
- * can discard unused bits in the last meaningful byte.
- */
- while (bk >= 8) {
- bk -= 8;
- inptr--;
- }
-
- /* flush out slide */
- flush_output(wp);
-
-
- /* return success */
-#ifdef DEBUG
- fprintf(stderr, "<%u> ", h);
-#endif /* DEBUG */
- return 0;
-}
-/* lzw.c -- compress files in LZW format.
- * This is a dummy version avoiding patent problems.
- */
-
-#ifdef RCSID
-static char rcsid[] = "$Id: lzw.c,v 0.9 1993/06/10 13:27:31 jloup Exp $";
-#endif
-
-static int msg_done = 0;
-
-/* Compress in to out with lzw method. */
-int lzw(in, out)
- int in, out;
-{
- if (msg_done) return ERROR;
- msg_done = 1;
- fprintf(stderr,"output in compress .Z format not supported\n");
- if (in != out) { /* avoid warnings on unused variables */
- exit_code = ERROR;
- }
- return ERROR;
-}
-/* trees.c -- output deflated data using Huffman coding
- * Copyright (C) 1992-1993 Jean-loup Gailly
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License, see the file COPYING.
- */
-
-/*
- * PURPOSE
- *
- * Encode various sets of source values using variable-length
- * binary code trees.
- *
- * DISCUSSION
- *
- * The PKZIP "deflation" process uses several Huffman trees. The more
- * common source values are represented by shorter bit sequences.
- *
- * Each code tree is stored in the ZIP file in a compressed form
- * which is itself a Huffman encoding of the lengths of
- * all the code strings (in ascending order by source values).
- * The actual code strings are reconstructed from the lengths in
- * the UNZIP process, as described in the "application note"
- * (APPNOTE.TXT) distributed as part of PKWARE's PKZIP program.
- *
- * REFERENCES
- *
- * Lynch, Thomas J.
- * Data Compression: Techniques and Applications, pp. 53-55.
- * Lifetime Learning Publications, 1985. ISBN 0-534-03418-7.
- *
- * Storer, James A.
- * Data Compression: Methods and Theory, pp. 49-50.
- * Computer Science Press, 1988. ISBN 0-7167-8156-5.
- *
- * Sedgewick, R.
- * Algorithms, p290.
- * Addison-Wesley, 1983. ISBN 0-201-06672-6.
- *
- * INTERFACE
- *
- * void ct_init (ush *attr, int *methodp)
- * Allocate the match buffer, initialize the various tables and save
- * the location of the internal file attribute (ascii/binary) and
- * method (DEFLATE/STORE)
- *
- * void ct_tally (int dist, int lc);
- * Save the match info and tally the frequency counts.
- *
- * off_t flush_block (char *buf, ulg stored_len, int pad, int eof)
- * Determine the best encoding for the current block: dynamic trees,
- * static trees or store, and output the encoded block to the zip
- * file. If pad is set, pads the block to the next
- * byte. Returns the total compressed length for the file so
- * far.
- * */
-
-#ifdef RCSID
-static char rcsid[] = "$Id: trees.c,v 0.12 1993/06/10 13:27:54 jloup Exp $";
-#endif
-
-/* ===========================================================================
- * Constants
- */
-
-#define MAX_BITS 15
-/* All codes must not exceed MAX_BITS bits */
-
-#define MAX_BL_BITS 7
-/* Bit length codes must not exceed MAX_BL_BITS bits */
-
-#define LENGTH_CODES 29
-/* number of length codes, not counting the special END_BLOCK code */
-
-#define LITERALS 256
-/* number of literal bytes 0..255 */
-
-#define END_BLOCK 256
-/* end of block literal code */
-
-#define L_CODES (LITERALS+1+LENGTH_CODES)
-/* number of Literal or Length codes, including the END_BLOCK code */
-
-#define D_CODES 30
-/* number of distance codes */
-
-#define BL_CODES 19
-/* number of codes used to transfer the bit lengths */
-
-
-local int near extra_lbits[LENGTH_CODES] /* extra bits for each length code */
- = {0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0};
-
-local int near extra_dbits[D_CODES] /* extra bits for each distance code */
- = {0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13};
-
-local int near extra_blbits[BL_CODES]/* extra bits for each bit length code */
- = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7};
-
-#define STORED_BLOCK 0
-#define STATIC_TREES 1
-#define DYN_TREES 2
-/* The three kinds of block type */
-
-#ifndef LIT_BUFSIZE
-# ifdef SMALL_MEM
-# define LIT_BUFSIZE 0x2000
-# else
-# ifdef MEDIUM_MEM
-# define LIT_BUFSIZE 0x4000
-# else
-# define LIT_BUFSIZE 0x8000
-# endif
-# endif
-#endif
-#ifndef DIST_BUFSIZE
-# define DIST_BUFSIZE LIT_BUFSIZE
-#endif
-/* Sizes of match buffers for literals/lengths and distances. There are
- * 4 reasons for limiting LIT_BUFSIZE to 64K:
- * - frequencies can be kept in 16 bit counters
- * - if compression is not successful for the first block, all input data is
- * still in the window so we can still emit a stored block even when input
- * comes from standard input. (This can also be done for all blocks if
- * LIT_BUFSIZE is not greater than 32K.)
- * - if compression is not successful for a file smaller than 64K, we can
- * even emit a stored file instead of a stored block (saving 5 bytes).
- * - creating new Huffman trees less frequently may not provide fast
- * adaptation to changes in the input data statistics. (Take for
- * example a binary file with poorly compressible code followed by
- * a highly compressible string table.) Smaller buffer sizes give
- * fast adaptation but have of course the overhead of transmitting trees
- * more frequently.
- * - I can't count above 4
- * The current code is general and allows DIST_BUFSIZE < LIT_BUFSIZE (to save
- * memory at the expense of compression). Some optimizations would be possible
- * if we rely on DIST_BUFSIZE == LIT_BUFSIZE.
- */
-#if LIT_BUFSIZE > INBUFSIZ
- error cannot overlay l_buf and inbuf
-#endif
-
-#define REP_3_6 16
-/* repeat previous bit length 3-6 times (2 bits of repeat count) */
-
-#define REPZ_3_10 17
-/* repeat a zero length 3-10 times (3 bits of repeat count) */
-
-#define REPZ_11_138 18
-/* repeat a zero length 11-138 times (7 bits of repeat count) */
-
-/* ===========================================================================
- * Local data
- */
-
-/* Data structure describing a single value and its code string. */
-typedef struct ct_data {
- union {
- ush freq; /* frequency count */
- ush code; /* bit string */
- } fc;
- union {
- ush dad; /* father node in Huffman tree */
- ush len; /* length of bit string */
- } dl;
-} ct_data;
-
-#define Freq fc.freq
-#define Code fc.code
-#define Dad dl.dad
-#define Len dl.len
-
-#define HEAP_SIZE (2*L_CODES+1)
-/* maximum heap size */
-
-local ct_data near dyn_ltree[HEAP_SIZE]; /* literal and length tree */
-local ct_data near dyn_dtree[2*D_CODES+1]; /* distance tree */
-
-local ct_data near static_ltree[L_CODES+2];
-/* The static literal tree. Since the bit lengths are imposed, there is no
- * need for the L_CODES extra codes used during heap construction. However
- * The codes 286 and 287 are needed to build a canonical tree (see ct_init
- * below).
- */
-
-local ct_data near static_dtree[D_CODES];
-/* The static distance tree. (Actually a trivial tree since all codes use
- * 5 bits.)
- */
-
-local ct_data near bl_tree[2*BL_CODES+1];
-/* Huffman tree for the bit lengths */
-
-typedef struct tree_desc {
- ct_data near *dyn_tree; /* the dynamic tree */
- ct_data near *static_tree; /* corresponding static tree or NULL */
- int near *extra_bits; /* extra bits for each code or NULL */
- int extra_base; /* base index for extra_bits */
- int elems; /* max number of elements in the tree */
- int max_length; /* max bit length for the codes */
- int max_code; /* largest code with non zero frequency */
-} tree_desc;
-
-local tree_desc near l_desc =
-{dyn_ltree, static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS, 0};
-
-local tree_desc near d_desc =
-{dyn_dtree, static_dtree, extra_dbits, 0, D_CODES, MAX_BITS, 0};
-
-local tree_desc near bl_desc =
-{bl_tree, (ct_data near *)0, extra_blbits, 0, BL_CODES, MAX_BL_BITS, 0};
-
-
-local ush near bl_count[MAX_BITS+1];
-/* number of codes at each bit length for an optimal tree */
-
-local uch near bl_order[BL_CODES]
- = {16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15};
-/* The lengths of the bit length codes are sent in order of decreasing
- * probability, to avoid transmitting the lengths for unused bit length codes.
- */
-
-local int near heap[2*L_CODES+1]; /* heap used to build the Huffman trees */
-local int heap_len; /* number of elements in the heap */
-local int heap_max; /* element of largest frequency */
-/* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.
- * The same heap array is used to build all trees.
- */
-
-local uch near depth[2*L_CODES+1];
-/* Depth of each subtree used as tie breaker for trees of equal frequency */
-
-local uch length_code[MAX_MATCH-MIN_MATCH+1];
-/* length code for each normalized match length (0 == MIN_MATCH) */
-
-local uch dist_code[512];
-/* distance codes. The first 256 values correspond to the distances
- * 3 .. 258, the last 256 values correspond to the top 8 bits of
- * the 15 bit distances.
- */
-
-local int near base_length[LENGTH_CODES];
-/* First normalized length for each code (0 = MIN_MATCH) */
-
-local int near base_dist[D_CODES];
-/* First normalized distance for each code (0 = distance of 1) */
-
-#define l_buf inbuf
-/* DECLARE(uch, l_buf, LIT_BUFSIZE); buffer for literals or lengths */
-
-/* DECLARE(ush, d_buf, DIST_BUFSIZE); buffer for distances */
-
-local uch near flag_buf[(LIT_BUFSIZE/8)];
-/* flag_buf is a bit array distinguishing literals from lengths in
- * l_buf, thus indicating the presence or absence of a distance.
- */
-
-local unsigned last_lit; /* running index in l_buf */
-local unsigned last_dist; /* running index in d_buf */
-local unsigned last_flags; /* running index in flag_buf */
-local uch flags; /* current flags not yet saved in flag_buf */
-local uch flag_bit; /* current bit used in flags */
-/* bits are filled in flags starting at bit 0 (least significant).
- * Note: these flags are overkill in the current code since we don't
- * take advantage of DIST_BUFSIZE == LIT_BUFSIZE.
- */
-
-local ulg opt_len; /* bit length of current block with optimal trees */
-local ulg static_len; /* bit length of current block with static trees */
-
-local off_t compressed_len; /* total bit length of compressed file */
-
-local off_t input_len; /* total byte length of input file */
-/* input_len is for debugging only since we can get it by other means. */
-
-ush *file_type; /* pointer to UNKNOWN, BINARY or ASCII */
-int *file_method; /* pointer to DEFLATE or STORE */
-
-#ifdef DEBUG
-extern off_t bits_sent; /* bit length of the compressed data */
-#endif
-
-extern long block_start; /* window offset of current block */
-extern unsigned near strstart; /* window offset of current string */
-
-/* ===========================================================================
- * Local (static) routines in this file.
- */
-
-local void init_block OF((void));
-local void pqdownheap OF((ct_data near *tree, int k));
-local void gen_bitlen OF((tree_desc near *desc));
-local void gen_codes OF((ct_data near *tree, int max_code));
-local void build_tree_1 OF((tree_desc near *desc));
-local void scan_tree OF((ct_data near *tree, int max_code));
-local void send_tree OF((ct_data near *tree, int max_code));
-local int build_bl_tree OF((void));
-local void send_all_trees OF((int lcodes, int dcodes, int blcodes));
-local void compress_block OF((ct_data near *ltree, ct_data near *dtree));
-local void set_file_type OF((void));
-
-
-#ifndef DEBUG
-# define send_code(c, tree) send_bits(tree[c].Code, tree[c].Len)
- /* Send a code of the given tree. c and tree must not have side effects */
-
-#else /* DEBUG */
-# define send_code(c, tree) \
- { if (verbose>1) fprintf(stderr,"\ncd %3d ",(c)); \
- send_bits(tree[c].Code, tree[c].Len); }
-#endif
-
-#define d_code(dist) \
- ((dist) < 256 ? dist_code[dist] : dist_code[256+((dist)>>7)])
-/* Mapping from a distance to a distance code. dist is the distance - 1 and
- * must not have side effects. dist_code[256] and dist_code[257] are never
- * used.
- */
-
-#define MAX(a,b) (a >= b ? a : b)
-/* the arguments must not have side effects */
-
-/* ===========================================================================
- * Allocate the match buffer, initialize the various tables and save the
- * location of the internal file attribute (ascii/binary) and method
- * (DEFLATE/STORE).
- */
-void ct_init(attr, methodp)
- ush *attr; /* pointer to internal file attribute */
- int *methodp; /* pointer to compression method */
-{
- int n; /* iterates over tree elements */
- int bits; /* bit counter */
- int length; /* length value */
- int code; /* code value */
- int dist; /* distance index */
-
- file_type = attr;
- file_method = methodp;
- compressed_len = input_len = 0L;
-
- if (static_dtree[0].Len != 0) return; /* ct_init already called */
-
- /* Initialize the mapping length (0..255) -> length code (0..28) */
- length = 0;
- for (code = 0; code < LENGTH_CODES-1; code++) {
- base_length[code] = length;
- for (n = 0; n < (1< dist code (0..29) */
- dist = 0;
- for (code = 0 ; code < 16; code++) {
- base_dist[code] = dist;
- for (n = 0; n < (1<>= 7; /* from now on, all distances are divided by 128 */
- for ( ; code < D_CODES; code++) {
- base_dist[code] = dist << 7;
- for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {
- dist_code[256 + dist++] = (uch)code;
- }
- }
- Assert (dist == 256, "ct_init: 256+dist != 512");
-
- /* Construct the codes of the static literal tree */
- for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0;
- n = 0;
- while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++;
- while (n <= 255) static_ltree[n++].Len = 9, bl_count[9]++;
- while (n <= 279) static_ltree[n++].Len = 7, bl_count[7]++;
- while (n <= 287) static_ltree[n++].Len = 8, bl_count[8]++;
- /* Codes 286 and 287 do not exist, but we must include them in the
- * tree construction to get a canonical Huffman tree (longest code
- * all ones)
- */
- gen_codes((ct_data near *)static_ltree, L_CODES+1);
-
- /* The static distance tree is trivial: */
- for (n = 0; n < D_CODES; n++) {
- static_dtree[n].Len = 5;
- static_dtree[n].Code = bi_reverse(n, 5);
- }
-
- /* Initialize the first block of the first file: */
- init_block();
-}
-
-/* ===========================================================================
- * Initialize a new block.
- */
-local void init_block()
-{
- int n; /* iterates over tree elements */
-
- /* Initialize the trees. */
- for (n = 0; n < L_CODES; n++) dyn_ltree[n].Freq = 0;
- for (n = 0; n < D_CODES; n++) dyn_dtree[n].Freq = 0;
- for (n = 0; n < BL_CODES; n++) bl_tree[n].Freq = 0;
-
- dyn_ltree[END_BLOCK].Freq = 1;
- opt_len = static_len = 0L;
- last_lit = last_dist = last_flags = 0;
- flags = 0; flag_bit = 1;
-}
-
-#define SMALLEST 1
-/* Index within the heap array of least frequent node in the Huffman tree */
-
-
-/* ===========================================================================
- * Remove the smallest element from the heap and recreate the heap with
- * one less element. Updates heap and heap_len.
- */
-#define pqremove(tree, top) \
-{\
- top = heap[SMALLEST]; \
- heap[SMALLEST] = heap[heap_len--]; \
- pqdownheap(tree, SMALLEST); \
-}
-
-/* ===========================================================================
- * Compares to subtrees, using the tree depth as tie breaker when
- * the subtrees have equal frequency. This minimizes the worst case length.
- */
-#define smaller(tree, n, m) \
- (tree[n].Freq < tree[m].Freq || \
- (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m]))
-
-/* ===========================================================================
- * Restore the heap property by moving down the tree starting at node k,
- * exchanging a node with the smallest of its two sons if necessary, stopping
- * when the heap property is re-established (each father smaller than its
- * two sons).
- */
-local void pqdownheap(tree, k)
- ct_data near *tree; /* the tree to restore */
- int k; /* node to move down */
-{
- int v = heap[k];
- int j = k << 1; /* left son of k */
- while (j <= heap_len) {
- /* Set j to the smallest of the two sons: */
- if (j < heap_len && smaller(tree, heap[j+1], heap[j])) j++;
-
- /* Exit if v is smaller than both sons */
- if (smaller(tree, v, heap[j])) break;
-
- /* Exchange v with the smallest son */
- heap[k] = heap[j]; k = j;
-
- /* And continue down the tree, setting j to the left son of k */
- j <<= 1;
- }
- heap[k] = v;
-}
-
-/* ===========================================================================
- * Compute the optimal bit lengths for a tree and update the total bit length
- * for the current block.
- * IN assertion: the fields freq and dad are set, heap[heap_max] and
- * above are the tree nodes sorted by increasing frequency.
- * OUT assertions: the field len is set to the optimal bit length, the
- * array bl_count contains the frequencies for each bit length.
- * The length opt_len is updated; static_len is also updated if stree is
- * not null.
- */
-local void gen_bitlen(desc)
- tree_desc near *desc; /* the tree descriptor */
-{
- ct_data near *tree = desc->dyn_tree;
- int near *extra = desc->extra_bits;
- int base = desc->extra_base;
- int max_code = desc->max_code;
- int max_length = desc->max_length;
- ct_data near *stree = desc->static_tree;
- int h; /* heap index */
- int n, m; /* iterate over the tree elements */
- int bits; /* bit length */
- int xbits; /* extra bits */
- ush f; /* frequency */
- int overflow = 0; /* number of elements with bit length too large */
-
- for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0;
-
- /* In a first pass, compute the optimal bit lengths (which may
- * overflow in the case of the bit length tree).
- */
- tree[heap[heap_max]].Len = 0; /* root of the heap */
-
- for (h = heap_max+1; h < HEAP_SIZE; h++) {
- n = heap[h];
- bits = tree[tree[n].Dad].Len + 1;
- if (bits > max_length) bits = max_length, overflow++;
- tree[n].Len = (ush)bits;
- /* We overwrite tree[n].Dad which is no longer needed */
-
- if (n > max_code) continue; /* not a leaf node */
-
- bl_count[bits]++;
- xbits = 0;
- if (n >= base) xbits = extra[n-base];
- f = tree[n].Freq;
- opt_len += (ulg)f * (bits + xbits);
- if (stree) static_len += (ulg)f * (stree[n].Len + xbits);
- }
- if (overflow == 0) return;
-
- Trace((stderr,"\nbit length overflow\n"));
- /* This happens for example on obj2 and pic of the Calgary corpus */
-
- /* Find the first bit length which could increase: */
- do {
- bits = max_length-1;
- while (bl_count[bits] == 0) bits--;
- bl_count[bits]--; /* move one leaf down the tree */
- bl_count[bits+1] += 2; /* move one overflow item as its brother */
- bl_count[max_length]--;
- /* The brother of the overflow item also moves one step up,
- * but this does not affect bl_count[max_length]
- */
- overflow -= 2;
- } while (overflow > 0);
-
- /* Now recompute all bit lengths, scanning in increasing frequency.
- * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
- * lengths instead of fixing only the wrong ones. This idea is taken
- * from 'ar' written by Haruhiko Okumura.)
- */
- for (bits = max_length; bits != 0; bits--) {
- n = bl_count[bits];
- while (n != 0) {
- m = heap[--h];
- if (m > max_code) continue;
- if (tree[m].Len != (unsigned) bits) {
- Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
- opt_len += ((long)bits-(long)tree[m].Len)*(long)tree[m].Freq;
- tree[m].Len = (ush)bits;
- }
- n--;
- }
- }
-}
-
-/* ===========================================================================
- * Generate the codes for a given tree and bit counts (which need not be
- * optimal).
- * IN assertion: the array bl_count contains the bit length statistics for
- * the given tree and the field len is set for all tree elements.
- * OUT assertion: the field code is set for all tree elements of non
- * zero code length.
- */
-local void gen_codes (tree, max_code)
- ct_data near *tree; /* the tree to decorate */
- int max_code; /* largest code with non zero frequency */
-{
- ush next_code[MAX_BITS+1]; /* next code value for each bit length */
- ush code = 0; /* running code value */
- int bits; /* bit index */
- int n; /* code index */
-
- /* The distribution counts are first used to generate the code values
- * without bit reversal.
- */
- for (bits = 1; bits <= MAX_BITS; bits++) {
- next_code[bits] = code = (code + bl_count[bits-1]) << 1;
- }
- /* Check that the bit counts in bl_count are consistent. The last code
- * must be all ones.
- */
- Assert (code + bl_count[MAX_BITS]-1 == (1<dyn_tree;
- ct_data near *stree = desc->static_tree;
- int elems = desc->elems;
- int n, m; /* iterate over heap elements */
- int max_code = -1; /* largest code with non zero frequency */
- int node = elems; /* next internal node of the tree */
-
- /* Construct the initial heap, with least frequent element in
- * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
- * heap[0] is not used.
- */
- heap_len = 0, heap_max = HEAP_SIZE;
-
- for (n = 0; n < elems; n++) {
- if (tree[n].Freq != 0) {
- heap[++heap_len] = max_code = n;
- depth[n] = 0;
- } else {
- tree[n].Len = 0;
- }
- }
-
- /* The pkzip format requires that at least one distance code exists,
- * and that at least one bit should be sent even if there is only one
- * possible code. So to avoid special checks later on we force at least
- * two codes of non zero frequency.
- */
- while (heap_len < 2) {
- int new = heap[++heap_len] = (max_code < 2 ? ++max_code : 0);
- tree[new].Freq = 1;
- depth[new] = 0;
- opt_len--; if (stree) static_len -= stree[new].Len;
- /* new is 0 or 1 so it does not have extra bits */
- }
- desc->max_code = max_code;
-
- /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
- * establish sub-heaps of increasing lengths:
- */
- for (n = heap_len/2; n >= 1; n--) pqdownheap(tree, n);
-
- /* Construct the Huffman tree by repeatedly combining the least two
- * frequent nodes.
- */
- do {
- pqremove(tree, n); /* n = node of least frequency */
- m = heap[SMALLEST]; /* m = node of next least frequency */
-
- heap[--heap_max] = n; /* keep the nodes sorted by frequency */
- heap[--heap_max] = m;
-
- /* Create a new node father of n and m */
- tree[node].Freq = tree[n].Freq + tree[m].Freq;
- depth[node] = (uch) (MAX(depth[n], depth[m]) + 1);
- tree[n].Dad = tree[m].Dad = (ush)node;
-#ifdef DUMP_BL_TREE
- if (tree == bl_tree) {
- fprintf(stderr,"\nnode %d(%d), sons %d(%d) %d(%d)",
- node, tree[node].Freq, n, tree[n].Freq, m, tree[m].Freq);
- }
-#endif
- /* and insert the new node in the heap */
- heap[SMALLEST] = node++;
- pqdownheap(tree, SMALLEST);
-
- } while (heap_len >= 2);
-
- heap[--heap_max] = heap[SMALLEST];
-
- /* At this point, the fields freq and dad are set. We can now
- * generate the bit lengths.
- */
- gen_bitlen((tree_desc near *)desc);
-
- /* The field len is now set, we can generate the bit codes */
- gen_codes ((ct_data near *)tree, max_code);
-}
-
-/* ===========================================================================
- * Scan a literal or distance tree to determine the frequencies of the codes
- * in the bit length tree. Updates opt_len to take into account the repeat
- * counts. (The contribution of the bit length codes will be added later
- * during the construction of bl_tree.)
- */
-local void scan_tree (tree, max_code)
- ct_data near *tree; /* the tree to be scanned */
- int max_code; /* and its largest code of non zero frequency */
-{
- int n; /* iterates over all tree elements */
- int prevlen = -1; /* last emitted length */
- int curlen; /* length of current code */
- int nextlen = tree[0].Len; /* length of next code */
- int count = 0; /* repeat count of the current code */
- int max_count = 7; /* max repeat count */
- int min_count = 4; /* min repeat count */
-
- if (nextlen == 0) max_count = 138, min_count = 3;
- tree[max_code+1].Len = (ush)0xffff; /* guard */
-
- for (n = 0; n <= max_code; n++) {
- curlen = nextlen; nextlen = tree[n+1].Len;
- if (++count < max_count && curlen == nextlen) {
- continue;
- } else if (count < min_count) {
- bl_tree[curlen].Freq += count;
- } else if (curlen != 0) {
- if (curlen != prevlen) bl_tree[curlen].Freq++;
- bl_tree[REP_3_6].Freq++;
- } else if (count <= 10) {
- bl_tree[REPZ_3_10].Freq++;
- } else {
- bl_tree[REPZ_11_138].Freq++;
- }
- count = 0; prevlen = curlen;
- if (nextlen == 0) {
- max_count = 138, min_count = 3;
- } else if (curlen == nextlen) {
- max_count = 6, min_count = 3;
- } else {
- max_count = 7, min_count = 4;
- }
- }
-}
-
-/* ===========================================================================
- * Send a literal or distance tree in compressed form, using the codes in
- * bl_tree.
- */
-local void send_tree (tree, max_code)
- ct_data near *tree; /* the tree to be scanned */
- int max_code; /* and its largest code of non zero frequency */
-{
- int n; /* iterates over all tree elements */
- int prevlen = -1; /* last emitted length */
- int curlen; /* length of current code */
- int nextlen = tree[0].Len; /* length of next code */
- int count = 0; /* repeat count of the current code */
- int max_count = 7; /* max repeat count */
- int min_count = 4; /* min repeat count */
-
- /* tree[max_code+1].Len = -1; */ /* guard already set */
- if (nextlen == 0) max_count = 138, min_count = 3;
-
- for (n = 0; n <= max_code; n++) {
- curlen = nextlen; nextlen = tree[n+1].Len;
- if (++count < max_count && curlen == nextlen) {
- continue;
- } else if (count < min_count) {
- do { send_code(curlen, bl_tree); } while (--count != 0);
-
- } else if (curlen != 0) {
- if (curlen != prevlen) {
- send_code(curlen, bl_tree); count--;
- }
- Assert(count >= 3 && count <= 6, " 3_6?");
- send_code(REP_3_6, bl_tree); send_bits(count-3, 2);
-
- } else if (count <= 10) {
- send_code(REPZ_3_10, bl_tree); send_bits(count-3, 3);
-
- } else {
- send_code(REPZ_11_138, bl_tree); send_bits(count-11, 7);
- }
- count = 0; prevlen = curlen;
- if (nextlen == 0) {
- max_count = 138, min_count = 3;
- } else if (curlen == nextlen) {
- max_count = 6, min_count = 3;
- } else {
- max_count = 7, min_count = 4;
- }
- }
-}
-
-/* ===========================================================================
- * Construct the Huffman tree for the bit lengths and return the index in
- * bl_order of the last bit length code to send.
- */
-local int build_bl_tree()
-{
- int max_blindex; /* index of last bit length code of non zero freq */
-
- /* Determine the bit length frequencies for literal and distance trees */
- scan_tree((ct_data near *)dyn_ltree, l_desc.max_code);
- scan_tree((ct_data near *)dyn_dtree, d_desc.max_code);
-
- /* Build the bit length tree: */
- build_tree_1((tree_desc near *)(&bl_desc));
- /* opt_len now includes the length of the tree representations, except
- * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
- */
-
- /* Determine the number of bit length codes to send. The pkzip format
- * requires that at least 4 bit length codes be sent. (appnote.txt says
- * 3 but the actual value used is 4.)
- */
- for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {
- if (bl_tree[bl_order[max_blindex]].Len != 0) break;
- }
- /* Update opt_len to include the bit length tree and counts */
- opt_len += 3*(max_blindex+1) + 5+5+4;
- Tracev((stderr, "\ndyn trees: dyn %lu, stat %lu", opt_len, static_len));
-
- return max_blindex;
-}
-
-/* ===========================================================================
- * Send the header for a block using dynamic Huffman trees: the counts, the
- * lengths of the bit length codes, the literal tree and the distance tree.
- * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
- */
-local void send_all_trees(lcodes, dcodes, blcodes)
- int lcodes, dcodes, blcodes; /* number of codes for each tree */
-{
- int rank; /* index in bl_order */
-
- Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");
- Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
- "too many codes");
- Tracev((stderr, "\nbl counts: "));
- send_bits(lcodes-257, 5); /* not +255 as stated in appnote.txt */
- send_bits(dcodes-1, 5);
- send_bits(blcodes-4, 4); /* not -3 as stated in appnote.txt */
- for (rank = 0; rank < blcodes; rank++) {
- Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
- send_bits(bl_tree[bl_order[rank]].Len, 3);
- }
-
- send_tree((ct_data near *)dyn_ltree, lcodes-1); /* send the literal tree */
-
- send_tree((ct_data near *)dyn_dtree, dcodes-1); /* send the distance tree */
-}
-
-/* ===========================================================================
- * Determine the best encoding for the current block: dynamic trees, static
- * trees or store, and output the encoded block to the zip file. This function
- * returns the total compressed length for the file so far.
- */
-off_t flush_block(buf, stored_len, pad, eof)
- char *buf; /* input block, or NULL if too old */
- ulg stored_len; /* length of input block */
- int pad; /* pad output to byte boundary */
- int eof; /* true if this is the last block for a file */
-{
- ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */
- int max_blindex; /* index of last bit length code of non zero freq */
-
- flag_buf[last_flags] = flags; /* Save the flags for the last 8 items */
-
- /* Check if the file is ascii or binary */
- if (*file_type == (ush)UNKNOWN) set_file_type();
-
- /* Construct the literal and distance trees */
- build_tree_1((tree_desc near *)(&l_desc));
- Tracev((stderr, "\nlit data: dyn %lu, stat %lu", opt_len, static_len));
-
- build_tree_1((tree_desc near *)(&d_desc));
- Tracev((stderr, "\ndist data: dyn %lu, stat %lu", opt_len, static_len));
- /* At this point, opt_len and static_len are the total bit lengths of
- * the compressed block data, excluding the tree representations.
- */
-
- /* Build the bit length tree for the above two trees, and get the index
- * in bl_order of the last bit length code to send.
- */
- max_blindex = build_bl_tree();
-
- /* Determine the best encoding. Compute first the block length in bytes */
- opt_lenb = (opt_len+3+7)>>3;
- static_lenb = (static_len+3+7)>>3;
- input_len += stored_len; /* for debugging only */
-
- Trace((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u dist %u ",
- opt_lenb, opt_len, static_lenb, static_len, stored_len,
- last_lit, last_dist));
-
- if (static_lenb <= opt_lenb) opt_lenb = static_lenb;
-
- /* If compression failed and this is the first and last block,
- * and if the zip file can be seeked (to rewrite the local header),
- * the whole file is transformed into a stored file:
- */
-#ifdef FORCE_METHOD
- if (level == 1 && eof && compressed_len == 0L) { /* force stored file */
-#else
- if (stored_len <= opt_lenb && eof && compressed_len == 0L && seekable()) {
-#endif
- /* Since LIT_BUFSIZE <= 2*WSIZE, the input data must be there: */
- if (buf == (char*)0) error ("block vanished");
-
- copy_block(buf, (unsigned)stored_len, 0); /* without header */
- compressed_len = stored_len << 3;
- *file_method = STORED;
-
-#ifdef FORCE_METHOD
- } else if (level == 2 && buf != (char*)0) { /* force stored block */
-#else
- } else if (stored_len+4 <= opt_lenb && buf != (char*)0) {
- /* 4: two words for the lengths */
-#endif
- /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
- * Otherwise we can't have processed more than WSIZE input bytes since
- * the last block flush, because compression would have been
- * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
- * transform a block into a stored block.
- */
- send_bits((STORED_BLOCK<<1)+eof, 3); /* send block type */
- compressed_len = (compressed_len + 3 + 7) & ~7L;
- compressed_len += (stored_len + 4) << 3;
-
- copy_block(buf, (unsigned)stored_len, 1); /* with header */
-
-#ifdef FORCE_METHOD
- } else if (level == 3) { /* force static trees */
-#else
- } else if (static_lenb == opt_lenb) {
-#endif
- send_bits((STATIC_TREES<<1)+eof, 3);
- compress_block((ct_data near *)static_ltree, (ct_data near *)static_dtree);
- compressed_len += 3 + static_len;
- } else {
- send_bits((DYN_TREES<<1)+eof, 3);
- send_all_trees(l_desc.max_code+1, d_desc.max_code+1, max_blindex+1);
- compress_block((ct_data near *)dyn_ltree, (ct_data near *)dyn_dtree);
- compressed_len += 3 + opt_len;
- }
- Assert (compressed_len == bits_sent, "bad compressed size");
- init_block();
-
- if (eof) {
- Assert (input_len == bytes_in, "bad input size");
- bi_windup();
- compressed_len += 7; /* align on byte boundary */
- } else if (pad && (compressed_len % 8) != 0) {
- send_bits((STORED_BLOCK<<1)+eof, 3); /* send block type */
- compressed_len = (compressed_len + 3 + 7) & ~7L;
- copy_block(buf, 0, 1); /* with header */
- }
-
- return compressed_len >> 3;
-}
-
-/* ===========================================================================
- * Save the match info and tally the frequency counts. Return true if
- * the current block must be flushed.
- */
-int ct_tally (dist, lc)
- int dist; /* distance of matched string */
- int lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */
-{
- l_buf[last_lit++] = (uch)lc;
- if (dist == 0) {
- /* lc is the unmatched char */
- dyn_ltree[lc].Freq++;
- } else {
- /* Here, lc is the match length - MIN_MATCH */
- dist--; /* dist = match distance - 1 */
- Assert((ush)dist < (ush)MAX_DIST &&
- (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
- (ush)d_code(dist) < (ush)D_CODES, "ct_tally: bad match");
-
- dyn_ltree[length_code[lc]+LITERALS+1].Freq++;
- dyn_dtree[d_code(dist)].Freq++;
-
- d_buf[last_dist++] = (ush)dist;
- flags |= flag_bit;
- }
- flag_bit <<= 1;
-
- /* Output the flags if they fill a byte: */
- if ((last_lit & 7) == 0) {
- flag_buf[last_flags++] = flags;
- flags = 0, flag_bit = 1;
- }
- /* Try to guess if it is profitable to stop the current block here */
- if (level > 2 && (last_lit & 0xfff) == 0) {
- /* Compute an upper bound for the compressed length */
- ulg out_length = (ulg)last_lit*8L;
- ulg in_length = (ulg)strstart-block_start;
- int dcode;
- for (dcode = 0; dcode < D_CODES; dcode++) {
- out_length += (ulg)dyn_dtree[dcode].Freq*(5L+extra_dbits[dcode]);
- }
- out_length >>= 3;
- Trace((stderr,"\nlast_lit %u, last_dist %u, in %ld, out ~%ld(%ld%%) ",
- last_lit, last_dist, in_length, out_length,
- 100L - out_length*100L/in_length));
- if (last_dist < last_lit/2 && out_length < in_length/2) return 1;
- }
- return (last_lit == LIT_BUFSIZE-1 || last_dist == DIST_BUFSIZE);
- /* We avoid equality with LIT_BUFSIZE because of wraparound at 64K
- * on 16 bit machines and because stored blocks are restricted to
- * 64K-1 bytes.
- */
-}
-
-/* ===========================================================================
- * Send the block data compressed using the given Huffman trees
- */
-local void compress_block(ltree, dtree)
- ct_data near *ltree; /* literal tree */
- ct_data near *dtree; /* distance tree */
-{
- unsigned dist; /* distance of matched string */
- int lc; /* match length or unmatched char (if dist == 0) */
- unsigned lx = 0; /* running index in l_buf */
- unsigned dx = 0; /* running index in d_buf */
- unsigned fx = 0; /* running index in flag_buf */
- uch flag = 0; /* current flags */
- unsigned code; /* the code to send */
- int extra; /* number of extra bits to send */
-
- if (last_lit != 0) do {
- if ((lx & 7) == 0) flag = flag_buf[fx++];
- lc = l_buf[lx++];
- if ((flag & 1) == 0) {
- send_code(lc, ltree); /* send a literal byte */
- Tracecv(isgraph(lc), (stderr," '%c' ", lc));
- } else {
- /* Here, lc is the match length - MIN_MATCH */
- code = length_code[lc];
- send_code(code+LITERALS+1, ltree); /* send the length code */
- extra = extra_lbits[code];
- if (extra != 0) {
- lc -= base_length[code];
- send_bits(lc, extra); /* send the extra length bits */
- }
- dist = d_buf[dx++];
- /* Here, dist is the match distance - 1 */
- code = d_code(dist);
- Assert (code < D_CODES, "bad d_code");
-
- send_code(code, dtree); /* send the distance code */
- extra = extra_dbits[code];
- if (extra != 0) {
- dist -= base_dist[code];
- send_bits(dist, extra); /* send the extra distance bits */
- }
- } /* literal or match pair ? */
- flag >>= 1;
- } while (lx < last_lit);
-
- send_code(END_BLOCK, ltree);
-}
-
-/* ===========================================================================
- * Set the file type to ASCII or BINARY, using a crude approximation:
- * binary if more than 20% of the bytes are <= 6 or >= 128, ascii otherwise.
- * IN assertion: the fields freq of dyn_ltree are set and the total of all
- * frequencies does not exceed 64K (to fit in an int on 16 bit machines).
- */
-local void set_file_type()
-{
- int n = 0;
- unsigned ascii_freq = 0;
- unsigned bin_freq = 0;
- while (n < 7) bin_freq += dyn_ltree[n++].Freq;
- while (n < 128) ascii_freq += dyn_ltree[n++].Freq;
- while (n < LITERALS) bin_freq += dyn_ltree[n++].Freq;
- *file_type = bin_freq > (ascii_freq >> 2) ? BINARY : ASCII;
- if (*file_type == BINARY && translate_eol) {
- warning ("-l used on binary file");
- }
-}
-/* unlzh.c -- decompress files in SCO compress -H (LZH) format.
- * The code in this file is directly derived from the public domain 'ar002'
- * written by Haruhiko Okumura.
- */
-
-#ifdef RCSID
-static char rcsid[] = "$Id: unlzh.c,v 1.2 1993/06/24 10:59:01 jloup Exp $";
-#endif
-
-/* decode.c */
-
-local unsigned decode OF((unsigned count, uch buffer[]));
-local void decode_start OF((void));
-
-/* huf.c */
-local void huf_decode_start OF((void));
-local unsigned decode_c OF((void));
-local unsigned decode_p OF((void));
-local void read_pt_len OF((int nn, int nbit, int i_special));
-local void read_c_len OF((void));
-
-/* io.c */
-local void fillbuf OF((int n));
-local unsigned getbits OF((int n));
-local void init_getbits OF((void));
-
-/* maketbl.c */
-
-local void make_table OF((int nchar, uch bitlen[],
- int tablebits, ush table[]));
-
-
-#define DICBIT 13 /* 12(-lh4-) or 13(-lh5-) */
-#define DICSIZ ((unsigned) 1 << DICBIT)
-
-#ifndef CHAR_BIT
-# define CHAR_BIT 8
-#endif
-
-#ifndef UCHAR_MAX
-# define UCHAR_MAX 255
-#endif
-
-#define BITBUFSIZ (CHAR_BIT * 2 * sizeof(char))
-/* Do not use CHAR_BIT * sizeof(bitbuf), does not work on machines
- * for which short is not on 16 bits (Cray).
- */
-
-/* encode.c and decode.c */
-
-#define MAXMATCH 256 /* formerly F (not more than UCHAR_MAX + 1) */
-#define THRESHOLD 3 /* choose optimal value */
-
-/* huf.c */
-
-#define NC (UCHAR_MAX + MAXMATCH + 2 - THRESHOLD)
- /* alphabet = {0, 1, 2, ..., NC - 1} */
-#define CBIT 9 /* $\lfloor \log_2 NC \rfloor + 1$ */
-#define CODE_BIT 16 /* codeword length */
-
-#define NP (DICBIT + 1)
-#define NT (CODE_BIT + 3)
-#define PBIT 4 /* smallest integer such that (1U << PBIT) > NP */
-#define TBIT 5 /* smallest integer such that (1U << TBIT) > NT */
-#if NT > NP
-# define NPT NT
-#else
-# define NPT NP
-#endif
-
-/* local ush left[2 * NC - 1]; */
-/* local ush right[2 * NC - 1]; */
-#define left prev
-#define right head
-#if NC > (1<<(BITS-2))
- error cannot overlay left+right and prev
-#endif
-
-/* local uch c_len[NC]; */
-#define c_len outbuf
-#if NC > OUTBUFSIZ
- error cannot overlay c_len and outbuf
-#endif
-
-local uch pt_len[NPT];
-local unsigned blocksize;
-local ush pt_table[256];
-
-/* local ush c_table[4096]; */
-#define c_table d_buf
-#if (DIST_BUFSIZE-1) < 4095
- error cannot overlay c_table and d_buf
-#endif
-
-/***********************************************************
- io.c -- input/output
-***********************************************************/
-
-local ush io_bitbuf;
-local unsigned subbitbuf;
-local int bitcount;
-
-local void fillbuf(n) /* Shift io_bitbuf n bits left, read n bits */
- int n;
-{
- io_bitbuf <<= n;
- while (n > bitcount) {
- io_bitbuf |= subbitbuf << (n -= bitcount);
- subbitbuf = (unsigned)try_byte();
- if ((int)subbitbuf == EOF) subbitbuf = 0;
- bitcount = CHAR_BIT;
- }
- io_bitbuf |= subbitbuf >> (bitcount -= n);
-}
-
-local unsigned getbits(n)
- int n;
-{
- unsigned x;
-
- x = io_bitbuf >> (BITBUFSIZ - n); fillbuf(n);
- return x;
-}
-
-local void init_getbits()
-{
- io_bitbuf = 0; subbitbuf = 0; bitcount = 0;
- fillbuf(BITBUFSIZ);
-}
-
-/***********************************************************
- maketbl.c -- make table for decoding
-***********************************************************/
-
-local void make_table(nchar, bitlen, tablebits, table)
- int nchar;
- uch bitlen[];
- int tablebits;
- ush table[];
-{
- ush count[17], weight[17], start[18], *p;
- unsigned i, k, len, ch, jutbits, avail, nextcode, mask;
-
- for (i = 1; i <= 16; i++) count[i] = 0;
- for (i = 0; i < (unsigned)nchar; i++) count[bitlen[i]]++;
-
- start[1] = 0;
- for (i = 1; i <= 16; i++)
- start[i + 1] = start[i] + (count[i] << (16 - i));
- if ((start[17] & 0xffff) != 0)
- error("Bad table\n");
-
- jutbits = 16 - tablebits;
- for (i = 1; i <= (unsigned)tablebits; i++) {
- start[i] >>= jutbits;
- weight[i] = (unsigned) 1 << (tablebits - i);
- }
- while (i <= 16) {
- weight[i] = (unsigned) 1 << (16 - i);
- i++;
- }
-
- i = start[tablebits + 1] >> jutbits;
- if (i != 0) {
- k = 1 << tablebits;
- while (i != k) table[i++] = 0;
- }
-
- avail = nchar;
- mask = (unsigned) 1 << (15 - tablebits);
- for (ch = 0; ch < (unsigned)nchar; ch++) {
- if ((len = bitlen[ch]) == 0) continue;
- nextcode = start[len] + weight[len];
- if (len <= (unsigned)tablebits) {
- for (i = start[len]; i < nextcode; i++) table[i] = ch;
- } else {
- k = start[len];
- p = &table[k >> jutbits];
- i = len - tablebits;
- while (i != 0) {
- if (*p == 0) {
- right[avail] = left[avail] = 0;
- *p = avail++;
- }
- if (k & mask) p = &right[*p];
- else p = &left[*p];
- k <<= 1; i--;
- }
- *p = ch;
- }
- start[len] = nextcode;
- }
-}
-
-/***********************************************************
- huf.c -- static Huffman
-***********************************************************/
-
-local void read_pt_len(nn, nbit, i_special)
- int nn;
- int nbit;
- int i_special;
-{
- int i, c, n;
- unsigned mask;
-
- n = getbits(nbit);
- if (n == 0) {
- c = getbits(nbit);
- for (i = 0; i < nn; i++) pt_len[i] = 0;
- for (i = 0; i < 256; i++) pt_table[i] = c;
- } else {
- i = 0;
- while (i < n) {
- c = io_bitbuf >> (BITBUFSIZ - 3);
- if (c == 7) {
- mask = (unsigned) 1 << (BITBUFSIZ - 1 - 3);
- while (mask & io_bitbuf) { mask >>= 1; c++; }
- }
- fillbuf((c < 7) ? 3 : c - 3);
- pt_len[i++] = c;
- if (i == i_special) {
- c = getbits(2);
- while (--c >= 0) pt_len[i++] = 0;
- }
- }
- while (i < nn) pt_len[i++] = 0;
- make_table(nn, pt_len, 8, pt_table);
- }
-}
-
-local void read_c_len()
-{
- int i, c, n;
- unsigned mask;
-
- n = getbits(CBIT);
- if (n == 0) {
- c = getbits(CBIT);
- for (i = 0; i < NC; i++) c_len[i] = 0;
- for (i = 0; i < 4096; i++) c_table[i] = c;
- } else {
- i = 0;
- while (i < n) {
- c = pt_table[io_bitbuf >> (BITBUFSIZ - 8)];
- if (c >= NT) {
- mask = (unsigned) 1 << (BITBUFSIZ - 1 - 8);
- do {
- if (io_bitbuf & mask) c = right[c];
- else c = left [c];
- mask >>= 1;
- } while (c >= NT);
- }
- fillbuf((int) pt_len[c]);
- if (c <= 2) {
- if (c == 0) c = 1;
- else if (c == 1) c = getbits(4) + 3;
- else c = getbits(CBIT) + 20;
- while (--c >= 0) c_len[i++] = 0;
- } else c_len[i++] = c - 2;
- }
- while (i < NC) c_len[i++] = 0;
- make_table(NC, c_len, 12, c_table);
- }
-}
-
-local unsigned decode_c()
-{
- unsigned j, mask;
-
- if (blocksize == 0) {
- blocksize = getbits(16);
- if (blocksize == 0) {
- return NC; /* end of file */
- }
- read_pt_len(NT, TBIT, 3);
- read_c_len();
- read_pt_len(NP, PBIT, -1);
- }
- blocksize--;
- j = c_table[io_bitbuf >> (BITBUFSIZ - 12)];
- if (j >= NC) {
- mask = (unsigned) 1 << (BITBUFSIZ - 1 - 12);
- do {
- if (io_bitbuf & mask) j = right[j];
- else j = left [j];
- mask >>= 1;
- } while (j >= NC);
- }
- fillbuf((int) c_len[j]);
- return j;
-}
-
-local unsigned decode_p()
-{
- unsigned j, mask;
-
- j = pt_table[io_bitbuf >> (BITBUFSIZ - 8)];
- if (j >= NP) {
- mask = (unsigned) 1 << (BITBUFSIZ - 1 - 8);
- do {
- if (io_bitbuf & mask) j = right[j];
- else j = left [j];
- mask >>= 1;
- } while (j >= NP);
- }
- fillbuf((int) pt_len[j]);
- if (j != 0) j = ((unsigned) 1 << (j - 1)) + getbits((int) (j - 1));
- return j;
-}
-
-local void huf_decode_start()
-{
- init_getbits(); blocksize = 0;
-}
-
-/***********************************************************
- decode.c
-***********************************************************/
-
-local int j; /* remaining bytes to copy */
-local int done; /* set at end of input */
-
-local void decode_start()
-{
- huf_decode_start();
- j = 0;
- done = 0;
-}
-
-/* Decode the input and return the number of decoded bytes put in buffer
- */
-local unsigned decode(count, buffer)
- unsigned count;
- uch buffer[];
- /* The calling function must keep the number of
- bytes to be processed. This function decodes
- either 'count' bytes or 'DICSIZ' bytes, whichever
- is smaller, into the array 'buffer[]' of size
- 'DICSIZ' or more.
- Call decode_start() once for each new file
- before calling this function.
- */
-{
- local unsigned i;
- unsigned r, c;
-
- r = 0;
- while (--j >= 0) {
- buffer[r] = buffer[i];
- i = (i + 1) & (DICSIZ - 1);
- if (++r == count) return r;
- }
- for ( ; ; ) {
- c = decode_c();
- if (c == NC) {
- done = 1;
- return r;
- }
- if (c <= UCHAR_MAX) {
- buffer[r] = c;
- if (++r == count) return r;
- } else {
- j = c - (UCHAR_MAX + 1 - THRESHOLD);
- i = (r - decode_p() - 1) & (DICSIZ - 1);
- while (--j >= 0) {
- buffer[r] = buffer[i];
- i = (i + 1) & (DICSIZ - 1);
- if (++r == count) return r;
- }
- }
- }
-}
-
-
-/* ===========================================================================
- * Unlzh in to out. Return OK or ERROR.
- */
-int unlzh(in, out)
- int in;
- int out;
-{
- unsigned n;
- ifd = in;
- ofd = out;
-
- decode_start();
- while (!done) {
- n = decode((unsigned) DICSIZ, window);
- if (!test && n > 0) {
- write_buf(out, (char*)window, n);
- }
- }
- return OK;
-}
-/* unlzw.c -- decompress files in LZW format.
- * The code in this file is directly derived from the public domain 'compress'
- * written by Spencer Thomas, Joe Orost, James Woods, Jim McKie, Steve Davies,
- * Ken Turkowski, Dave Mack and Peter Jannesen.
- *
- * This is a temporary version which will be rewritten in some future version
- * to accommodate in-memory decompression.
- */
-
-#ifdef RCSID
-static char rcsid[] = "$Id: unlzw.c,v 0.15 1993/06/10 13:28:35 jloup Exp $";
-#endif
-
-typedef unsigned char char_type;
-typedef long code_int;
-typedef unsigned long count_int;
-typedef unsigned short count_short;
-typedef unsigned long cmp_code_int;
-
-#define MAXCODE(n) (1L << (n))
-
-#ifndef REGISTERS
-# define REGISTERS 2
-#endif
-#define REG1
-#define REG2
-#define REG3
-#define REG4
-#define REG5
-#define REG6
-#define REG7
-#define REG8
-#define REG9
-#define REG10
-#define REG11
-#define REG12
-#define REG13
-#define REG14
-#define REG15
-#define REG16
-#if REGISTERS >= 1
-# undef REG1
-# define REG1 register
-#endif
-#if REGISTERS >= 2
-# undef REG2
-# define REG2 register
-#endif
-#if REGISTERS >= 3
-# undef REG3
-# define REG3 register
-#endif
-#if REGISTERS >= 4
-# undef REG4
-# define REG4 register
-#endif
-#if REGISTERS >= 5
-# undef REG5
-# define REG5 register
-#endif
-#if REGISTERS >= 6
-# undef REG6
-# define REG6 register
-#endif
-#if REGISTERS >= 7
-# undef REG7
-# define REG7 register
-#endif
-#if REGISTERS >= 8
-# undef REG8
-# define REG8 register
-#endif
-#if REGISTERS >= 9
-# undef REG9
-# define REG9 register
-#endif
-#if REGISTERS >= 10
-# undef REG10
-# define REG10 register
-#endif
-#if REGISTERS >= 11
-# undef REG11
-# define REG11 register
-#endif
-#if REGISTERS >= 12
-# undef REG12
-# define REG12 register
-#endif
-#if REGISTERS >= 13
-# undef REG13
-# define REG13 register
-#endif
-#if REGISTERS >= 14
-# undef REG14
-# define REG14 register
-#endif
-#if REGISTERS >= 15
-# undef REG15
-# define REG15 register
-#endif
-#if REGISTERS >= 16
-# undef REG16
-# define REG16 register
-#endif
-
-#ifndef BYTEORDER
-# define BYTEORDER 0000
-#endif
-
-#ifndef NOALLIGN
-# define NOALLIGN 0
-#endif
-
-
-union bytes {
- long word;
- struct {
-#if BYTEORDER == 4321
- char_type b1;
- char_type b2;
- char_type b3;
- char_type b4;
-#else
-#if BYTEORDER == 1234
- char_type b4;
- char_type b3;
- char_type b2;
- char_type b1;
-#else
-# undef BYTEORDER
- int dummy;
-#endif
-#endif
- } bytes;
-};
-
-#if BYTEORDER == 4321 && NOALLIGN == 1
-# define input(b,o,c,n,m){ \
- (c) = (*(long *)(&(b)[(o)>>3])>>((o)&0x7))&(m); \
- (o) += (n); \
- }
-#else
-# define input(b,o,c,n,m){ \
- REG1 char_type *p = &(b)[(o)>>3]; \
- (c) = ((((long)(p[0]))|((long)(p[1])<<8)| \
- ((long)(p[2])<<16))>>((o)&0x7))&(m); \
- (o) += (n); \
- }
-#endif
-
-#ifndef MAXSEG_64K
- /* DECLARE(ush, tab_prefix, (1<>1]
-# define clear_tab_prefixof() \
- memzero(tab_prefix0, 128), \
- memzero(tab_prefix1, 128);
-#endif
-#define de_stack ((char_type *)(&d_buf[DIST_BUFSIZE-1]))
-#define tab_suffixof(i) tab_suffix[i]
-
-int block_mode = BLOCK_MODE; /* block compress mode -C compatible with 2.0 */
-
-/* ============================================================================
- * Decompress in to out. This routine adapts to the codes in the
- * file building the "string" table on-the-fly; requiring no table to
- * be stored in the compressed file.
- * IN assertions: the buffer inbuf contains already the beginning of
- * the compressed data, from offsets iptr to insize-1 included.
- * The magic header has already been checked and skipped.
- * bytes_in and bytes_out have been initialized.
- */
-int unlzw(in, out)
- int in, out; /* input and output file descriptors */
-{
- REG2 char_type *stackp;
- REG3 code_int code;
- REG4 int finchar;
- REG5 code_int oldcode;
- REG6 code_int incode;
- REG7 long inbits;
- REG8 long posbits;
- REG9 int outpos;
-/* REG10 int insize; (global) */
- REG11 unsigned bitmask;
- REG12 code_int free_ent;
- REG13 code_int maxcode;
- REG14 code_int maxmaxcode;
- REG15 int n_bits;
- REG16 int rsize;
-
-#ifdef MAXSEG_64K
- tab_prefix[0] = tab_prefix0;
- tab_prefix[1] = tab_prefix1;
-#endif
- maxbits = get_byte();
- block_mode = maxbits & BLOCK_MODE;
- if ((maxbits & LZW_RESERVED) != 0) {
- WARN((stderr, "\n%s: %s: warning, unknown flags 0x%x\n",
- progname, ifname, maxbits & LZW_RESERVED));
- }
- maxbits &= BIT_MASK;
- maxmaxcode = MAXCODE(maxbits);
-
- if (maxbits > BITS) {
- fprintf(stderr,
- "\n%s: %s: compressed with %d bits, can only handle %d bits\n",
- progname, ifname, maxbits, BITS);
- exit_code = ERROR;
- return ERROR;
- }
- rsize = insize;
- maxcode = MAXCODE(n_bits = INIT_BITS)-1;
- bitmask = (1<= 0 ; --code) {
- tab_suffixof(code) = (char_type)code;
- }
- do {
- REG1 int i;
- int e;
- int o;
-
- resetbuf:
- e = insize-(o = (posbits>>3));
-
- for (i = 0 ; i < e ; ++i) {
- inbuf[i] = inbuf[i+o];
- }
- insize = e;
- posbits = 0;
-
- if (insize < INBUF_EXTRA) {
- if ((rsize = read(in, (char*)inbuf+insize, INBUFSIZ)) == -1) {
- read_error();
- }
- insize += rsize;
- bytes_in += (off_t)rsize;
- }
- inbits = ((rsize != 0) ? ((long)insize - insize%n_bits)<<3 :
- ((long)insize<<3)-(n_bits-1));
-
- while (inbits > posbits) {
- if (free_ent > maxcode) {
- posbits = ((posbits-1) +
- ((n_bits<<3)-(posbits-1+(n_bits<<3))%(n_bits<<3)));
- ++n_bits;
- if (n_bits == maxbits) {
- maxcode = maxmaxcode;
- } else {
- maxcode = MAXCODE(n_bits)-1;
- }
- bitmask = (1<= 256) error("corrupt input.");
- outbuf[outpos++] = (char_type)(finchar = (int)(oldcode=code));
- continue;
- }
- if (code == CLEAR && block_mode) {
- clear_tab_prefixof();
- free_ent = FIRST - 1;
- posbits = ((posbits-1) +
- ((n_bits<<3)-(posbits-1+(n_bits<<3))%(n_bits<<3)));
- maxcode = MAXCODE(n_bits = INIT_BITS)-1;
- bitmask = (1<= free_ent) { /* Special case for KwKwK string. */
- if (code > free_ent) {
-#ifdef DEBUG
- char_type *p;
-
- posbits -= n_bits;
- p = &inbuf[posbits>>3];
- fprintf(stderr,
- "code:%ld free_ent:%ld n_bits:%d insize:%u\n",
- code, free_ent, n_bits, insize);
- fprintf(stderr,
- "posbits:%ld inbuf:%02X %02X %02X %02X %02X\n",
- posbits, p[-1],p[0],p[1],p[2],p[3]);
-#endif
- if (!test && outpos > 0) {
- write_buf(out, (char*)outbuf, outpos);
- bytes_out += (off_t)outpos;
- }
- error(to_stdout ? "corrupt input." :
- "corrupt input. Use zcat to recover some data.");
- }
- *--stackp = (char_type)finchar;
- code = oldcode;
- }
-
- while ((cmp_code_int)code >= (cmp_code_int)256) {
- /* Generate output characters in reverse order */
- *--stackp = tab_suffixof(code);
- code = tab_prefixof(code);
- }
- *--stackp = (char_type)(finchar = tab_suffixof(code));
-
- /* And put them out in forward order */
- {
- REG1 int i;
-
- if (outpos+(i = (de_stack-stackp)) >= OUTBUFSIZ) {
- do {
- if (i > OUTBUFSIZ-outpos) i = OUTBUFSIZ-outpos;
-
- if (i > 0) {
- memcpy(outbuf+outpos, stackp, i);
- outpos += i;
- }
- if (outpos >= OUTBUFSIZ) {
- if (!test) {
- write_buf(out, (char*)outbuf, outpos);
- bytes_out += (off_t)outpos;
- }
- outpos = 0;
- }
- stackp+= i;
- } while ((i = (de_stack-stackp)) > 0);
- } else {
- memcpy(outbuf+outpos, stackp, i);
- outpos += i;
- }
- }
-
- if ((code = free_ent) < maxmaxcode) { /* Generate the new entry. */
-
- tab_prefixof(code) = (unsigned short)oldcode;
- tab_suffixof(code) = (char_type)finchar;
- free_ent = code+1;
- }
- oldcode = incode; /* Remember previous code. */
- }
- } while (rsize != 0);
-
- if (!test && outpos > 0) {
- write_buf(out, (char*)outbuf, outpos);
- bytes_out += (off_t)outpos;
- }
- return OK;
-}
-/* unpack.c -- decompress files in pack format.
- * Copyright (C) 1992-1993 Jean-loup Gailly
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License, see the file COPYING.
- */
-
-#ifdef RCSID
-static char rcsid[] = "$Id: unpack.c,v 1.4 1993/06/11 19:25:36 jloup Exp $";
-#endif
-
-#define MIN(a,b) ((a) <= (b) ? (a) : (b))
-/* The arguments must not have side effects. */
-
-#define MAX_BITLEN 25
-/* Maximum length of Huffman codes. (Minor modifications to the code
- * would be needed to support 32 bits codes, but pack never generates
- * more than 24 bits anyway.)
- */
-
-#define LITERALS 256
-/* Number of literals, excluding the End of Block (EOB) code */
-
-#define MAX_PEEK 12
-/* Maximum number of 'peek' bits used to optimize traversal of the
- * Huffman tree.
- */
-
-local ulg orig_len; /* original uncompressed length */
-local int max_len; /* maximum bit length of Huffman codes */
-
-local uch literal[LITERALS];
-/* The literal bytes present in the Huffman tree. The EOB code is not
- * represented.
- */
-
-local int lit_base[MAX_BITLEN+1];
-/* All literals of a given bit length are contiguous in literal[] and
- * have contiguous codes. literal[code+lit_base[len]] is the literal
- * for a code of len bits.
- */
-
-local int leaves [MAX_BITLEN+1]; /* Number of leaves for each bit length */
-local int parents[MAX_BITLEN+1]; /* Number of parents for each bit length */
-
-local int peek_bits; /* Number of peek bits currently used */
-
-/* local uch prefix_len[1 << MAX_PEEK]; */
-#define prefix_len outbuf
-/* For each bit pattern b of peek_bits bits, prefix_len[b] is the length
- * of the Huffman code starting with a prefix of b (upper bits), or 0
- * if all codes of prefix b have more than peek_bits bits. It is not
- * necessary to have a huge table (large MAX_PEEK) because most of the
- * codes encountered in the input stream are short codes (by construction).
- * So for most codes a single lookup will be necessary.
- */
-#if (1< OUTBUFSIZ
- error cannot overlay prefix_len and outbuf
-#endif
-
-local ulg bitbuf;
-/* Bits are added on the low part of bitbuf and read from the high part. */
-
-local int valid; /* number of valid bits in bitbuf */
-/* all bits above the last valid bit are always zero */
-
-/* Set code to the next 'bits' input bits without skipping them. code
- * must be the name of a simple variable and bits must not have side effects.
- * IN assertions: bits <= 25 (so that we still have room for an extra byte
- * when valid is only 24), and mask = (1<> (valid-(bits))) & (mask); \
-}
-
-/* Skip the given number of bits (after having peeked at them): */
-#define skip_bits(bits) (valid -= (bits))
-
-#define clear_bitbuf() (valid = 0, bitbuf = 0)
-
-/* Local functions */
-
-local void read_tree OF((void));
-local void build_tree OF((void));
-
-/* ===========================================================================
- * Read the Huffman tree.
- */
-local void read_tree()
-{
- int len; /* bit length */
- int base; /* base offset for a sequence of leaves */
- int n;
-
- /* Read the original input size, MSB first */
- orig_len = 0;
- for (n = 1; n <= 4; n++) orig_len = (orig_len << 8) | (ulg)get_byte();
-
- max_len = (int)get_byte(); /* maximum bit length of Huffman codes */
- if (max_len > MAX_BITLEN) {
- error("invalid compressed data -- Huffman code > 32 bits");
- }
-
- /* Get the number of leaves at each bit length */
- n = 0;
- for (len = 1; len <= max_len; len++) {
- leaves[len] = (int)get_byte();
- n += leaves[len];
- }
- if (n > LITERALS) {
- error("too many leaves in Huffman tree");
- }
- Trace((stderr, "orig_len %lu, max_len %d, leaves %d\n",
- orig_len, max_len, n));
- /* There are at least 2 and at most 256 leaves of length max_len.
- * (Pack arbitrarily rejects empty files and files consisting of
- * a single byte even repeated.) To fit the last leaf count in a
- * byte, it is offset by 2. However, the last literal is the EOB
- * code, and is not transmitted explicitly in the tree, so we must
- * adjust here by one only.
- */
- leaves[max_len]++;
-
- /* Now read the leaves themselves */
- base = 0;
- for (len = 1; len <= max_len; len++) {
- /* Remember where the literals of this length start in literal[] : */
- lit_base[len] = base;
- /* And read the literals: */
- for (n = leaves[len]; n > 0; n--) {
- literal[base++] = (uch)get_byte();
- }
- }
- leaves[max_len]++; /* Now include the EOB code in the Huffman tree */
-}
-
-/* ===========================================================================
- * Build the Huffman tree and the prefix table.
- */
-local void build_tree()
-{
- int nodes = 0; /* number of nodes (parents+leaves) at current bit length */
- int len; /* current bit length */
- uch *prefixp; /* pointer in prefix_len */
-
- for (len = max_len; len >= 1; len--) {
- /* The number of parent nodes at this level is half the total
- * number of nodes at parent level:
- */
- nodes >>= 1;
- parents[len] = nodes;
- /* Update lit_base by the appropriate bias to skip the parent nodes
- * (which are not represented in the literal array):
- */
- lit_base[len] -= nodes;
- /* Restore nodes to be parents+leaves: */
- nodes += leaves[len];
- }
- /* Construct the prefix table, from shortest leaves to longest ones.
- * The shortest code is all ones, so we start at the end of the table.
- */
- peek_bits = MIN(max_len, MAX_PEEK);
- prefixp = &prefix_len[1< prefix_len) *--prefixp = 0;
-}
-
-/* ===========================================================================
- * Unpack in to out. This routine does not support the old pack format
- * with magic header \037\037.
- *
- * IN assertions: the buffer inbuf contains already the beginning of
- * the compressed data, from offsets inptr to insize-1 included.
- * The magic header has already been checked. The output buffer is cleared.
- */
-int unpack(in, out)
- int in, out; /* input and output file descriptors */
-{
- int len; /* Bit length of current code */
- unsigned eob; /* End Of Block code */
- register unsigned peek; /* lookahead bits */
- unsigned peek_mask; /* Mask for peek_bits bits */
-
- ifd = in;
- ofd = out;
-
- read_tree(); /* Read the Huffman tree */
- build_tree(); /* Build the prefix table */
- clear_bitbuf(); /* Initialize bit input */
- peek_mask = (1< 0) {
- peek >>= peek_bits - len; /* discard the extra bits */
- } else {
- /* Code of more than peek_bits bits, we must traverse the tree */
- ulg mask = peek_mask;
- len = peek_bits;
- do {
- len++, mask = (mask<<1)+1;
- look_bits(peek, len, mask);
- } while (peek < (unsigned)parents[len]);
- /* loop as long as peek is a parent node */
- }
- /* At this point, peek is the next complete code, of len bits */
- if (peek == eob && len == max_len) break; /* end of file? */
- put_ubyte(literal[peek+lit_base[len]]);
- Tracev((stderr,"%02d %04x %c\n", len, peek,
- literal[peek+lit_base[len]]));
- skip_bits(len);
- } /* for (;;) */
-
- flush_window();
- if (orig_len != (ulg)(bytes_out & 0xffffffff)) {
- error("invalid compressed data--length error");
- }
- return OK;
-}
-/* unzip.c -- decompress files in gzip or pkzip format.
- * Copyright (C) 1992-1993 Jean-loup Gailly
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License, see the file COPYING.
- *
- * The code in this file is derived from the file funzip.c written
- * and put in the public domain by Mark Adler.
- */
-
-/*
- This version can extract files in gzip or pkzip format.
- For the latter, only the first entry is extracted, and it has to be
- either deflated or stored.
- */
-
-#ifdef RCSID
-static char rcsid[] = "$Id: unzip.c,v 0.13 1993/06/10 13:29:00 jloup Exp $";
-#endif
-
-/* PKZIP header definitions */
-#define LOCSIG 0x04034b50L /* four-byte lead-in (lsb first) */
-#define LOCFLG 6 /* offset of bit flag */
-#define CRPFLG 1 /* bit for encrypted entry */
-#define EXTFLG 8 /* bit for extended local header */
-#define LOCHOW 8 /* offset of compression method */
-#define LOCTIM 10 /* file mod time (for decryption) */
-#define LOCCRC 14 /* offset of crc */
-#define LOCSIZ 18 /* offset of compressed size */
-#define LOCLEN 22 /* offset of uncompressed length */
-#define LOCFIL 26 /* offset of file name field length */
-#define LOCEXT 28 /* offset of extra field length */
-#define LOCHDR 30 /* size of local header, including sig */
-#define EXTHDR 16 /* size of extended local header, inc sig */
-#define RAND_HEAD_LEN 12 /* length of encryption random header */
-
-
-/* Globals */
-
-int decrypt; /* flag to turn on decryption */
-char *key; /* not used--needed to link crypt.c */
-int pkzip = 0; /* set for a pkzip file */
-int ext_header = 0; /* set if extended local header */
-
-/* ===========================================================================
- * Check zip file and advance inptr to the start of the compressed data.
- * Get ofname from the local header if necessary.
- */
-int check_zipfile(in)
- int in; /* input file descriptors */
-{
- uch *h = inbuf + inptr; /* first local header */
-
- ifd = in;
-
- /* Check validity of local header, and skip name and extra fields */
- inptr += LOCHDR + SH(h + LOCFIL) + SH(h + LOCEXT);
-
- if (inptr > insize || LG(h) != LOCSIG) {
- fprintf(stderr, "\n%s: %s: not a valid zip file\n",
- progname, ifname);
- exit_code = ERROR;
- return ERROR;
- }
- method = h[LOCHOW];
- if (method != STORED && method != DEFLATED) {
- fprintf(stderr,
- "\n%s: %s: first entry not deflated or stored -- use unzip\n",
- progname, ifname);
- exit_code = ERROR;
- return ERROR;
- }
-
- /* If entry encrypted, decrypt and validate encryption header */
- if ((decrypt = h[LOCFLG] & CRPFLG) != 0) {
- fprintf(stderr, "\n%s: %s: encrypted file -- use unzip\n",
- progname, ifname);
- exit_code = ERROR;
- return ERROR;
- }
-
- /* Save flags for unzip() */
- ext_header = (h[LOCFLG] & EXTFLG) != 0;
- pkzip = 1;
-
- /* Get ofname and time stamp from local header (to be done) */
- return OK;
-}
-
-/* ===========================================================================
- * Unzip in to out. This routine works on both gzip and pkzip files.
- *
- * IN assertions: the buffer inbuf contains already the beginning of
- * the compressed data, from offsets inptr to insize-1 included.
- * The magic header has already been checked. The output buffer is cleared.
- */
-int unzip(in, out)
- int in, out; /* input and output file descriptors */
-{
- ulg orig_crc = 0; /* original crc */
- ulg orig_len = 0; /* original uncompressed length */
- int n;
- uch buf[EXTHDR]; /* extended local header */
- int err = OK;
-
- ifd = in;
- ofd = out;
-
- updcrc(NULL, 0); /* initialize crc */
-
- if (pkzip && !ext_header) { /* crc and length at the end otherwise */
- orig_crc = LG(inbuf + LOCCRC);
- orig_len = LG(inbuf + LOCLEN);
- }
-
- /* Decompress */
- if (method == DEFLATED) {
-
- int res = inflate();
-
- if (res == 3) {
- error("out of memory");
- } else if (res != 0) {
- error("invalid compressed data--format violated");
- }
-
- } else if (pkzip && method == STORED) {
-
- register ulg n = LG(inbuf + LOCLEN);
-
- if (n != LG(inbuf + LOCSIZ) - (decrypt ? RAND_HEAD_LEN : 0)) {
-
- fprintf(stderr, "len %ld, siz %ld\n", n, LG(inbuf + LOCSIZ));
- error("invalid compressed data--length mismatch");
- }
- while (n--) {
- uch c = (uch)get_byte();
- put_ubyte(c);
- }
- flush_window();
- } else {
- error("internal error, invalid method");
- }
-
- /* Get the crc and original length */
- if (!pkzip) {
- /* crc32 (see algorithm.doc)
- * uncompressed input size modulo 2^32
- */
- for (n = 0; n < 8; n++) {
- buf[n] = (uch)get_byte(); /* may cause an error if EOF */
- }
- orig_crc = LG(buf);
- orig_len = LG(buf+4);
-
- } else if (ext_header) { /* If extended header, check it */
- /* signature - 4bytes: 0x50 0x4b 0x07 0x08
- * CRC-32 value
- * compressed size 4-bytes
- * uncompressed size 4-bytes
- */
- for (n = 0; n < EXTHDR; n++) {
- buf[n] = (uch)get_byte(); /* may cause an error if EOF */
- }
- orig_crc = LG(buf+4);
- orig_len = LG(buf+12);
- }
-
- /* Validate decompression */
- if (orig_crc != updcrc(outbuf, 0)) {
- fprintf(stderr, "\n%s: %s: invalid compressed data--crc error\n",
- progname, ifname);
- err = ERROR;
- }
- if (orig_len != (ulg)(bytes_out & 0xffffffff)) {
- fprintf(stderr, "\n%s: %s: invalid compressed data--length error\n",
- progname, ifname);
- err = ERROR;
- }
-
- /* Check if there are more entries in a pkzip file */
- if (pkzip && inptr + 4 < insize && LG(inbuf+inptr) == LOCSIG) {
- if (to_stdout) {
- WARN((stderr,
- "%s: %s has more than one entry--rest ignored\n",
- progname, ifname));
- } else {
- /* Don't destroy the input zip file */
- fprintf(stderr,
- "%s: %s has more than one entry -- unchanged\n",
- progname, ifname);
- err = ERROR;
- }
- }
- ext_header = pkzip = 0; /* for next file */
- if (err == OK) return OK;
- exit_code = ERROR;
- if (!test) abort_gzip();
- return err;
-}
-/* util.c -- utility functions for gzip support
- * Copyright (C) 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
- * Copyright (C) 1992-1993 Jean-loup Gailly
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License, see the file COPYING.
- */
-
-#ifdef RCSID
-static char rcsid[] = "$Id: util.c,v 0.15 1993/06/15 09:04:13 jloup Exp $";
-#endif
-
-#ifndef CHAR_BIT
-# define CHAR_BIT 8
-#endif
-
-extern ulg crc_32_tab[]; /* crc table, defined below */
-
-/* ===========================================================================
- * Copy input to output unchanged: zcat == cat with --force.
- * IN assertion: insize bytes have already been read in inbuf.
- */
-int copy(in, out)
- int in, out; /* input and output file descriptors */
-{
- errno = 0;
- while (insize != 0 && (int)insize != -1) {
- write_buf(out, (char*)inbuf, insize);
- bytes_out += insize;
- insize = read(in, (char*)inbuf, INBUFSIZ);
- }
- if ((int)insize == -1) {
- read_error();
- }
- bytes_in = bytes_out;
- return OK;
-}
-
-/* ===========================================================================
- * Run a set of bytes through the crc shift register. If s is a NULL
- * pointer, then initialize the crc shift register contents instead.
- * Return the current crc in either case.
- */
-ulg updcrc(s, n)
- uch *s; /* pointer to bytes to pump through */
- unsigned n; /* number of bytes in s[] */
-{
- register ulg c; /* temporary variable */
-
- static ulg crc = (ulg)0xffffffffL; /* shift register contents */
-
- if (s == NULL) {
- c = 0xffffffffL;
- } else {
- c = crc;
- if (n) do {
- c = crc_32_tab[((int)c ^ (*s++)) & 0xff] ^ (c >> 8);
- } while (--n);
- }
- crc = c;
- return c ^ 0xffffffffL; /* (instead of ~c for 64-bit machines) */
-}
-
-/* ===========================================================================
- * Clear input and output buffers
- */
-void clear_bufs()
-{
- outcnt = 0;
- insize = inptr = 0;
- bytes_in = bytes_out = 0L;
-}
-
-/* ===========================================================================
- * Fill the input buffer. This is called only when the buffer is empty.
- */
-int fill_inbuf(eof_ok)
- int eof_ok; /* set if EOF acceptable as a result */
-{
- int len;
-
- /* Read as much as possible */
- insize = 0;
- do {
- len = read(ifd, (char*)inbuf+insize, INBUFSIZ-insize);
- if (len == 0) break;
- if (len == -1) {
- read_error();
- break;
- }
- insize += len;
- } while (insize < INBUFSIZ);
-
- if (insize == 0) {
- if (eof_ok) return EOF;
- flush_window();
- errno = 0;
- read_error();
- }
- bytes_in += (off_t)insize;
- inptr = 1;
- return inbuf[0];
-}
-
-/* ===========================================================================
- * Write the output buffer outbuf[0..outcnt-1] and update bytes_out.
- * (used for the compressed data only)
- */
-void flush_outbuf()
-{
- if (outcnt == 0) return;
-
- write_buf(ofd, (char *)outbuf, outcnt);
- bytes_out += (off_t)outcnt;
- outcnt = 0;
-}
-
-/* ===========================================================================
- * Write the output window window[0..outcnt-1] and update crc and bytes_out.
- * (Used for the decompressed data only.)
- */
-void flush_window()
-{
- if (outcnt == 0) return;
- updcrc(window, outcnt);
-
- if (!test) {
- write_buf(ofd, (char *)window, outcnt);
- }
- bytes_out += (off_t)outcnt;
- outcnt = 0;
-}
-
-/* ===========================================================================
- * Does the same as write(), but also handles partial pipe writes and checks
- * for error return.
- */
-void write_buf(fd, buf, cnt)
- int fd;
- voidp buf;
- unsigned cnt;
-{
- unsigned n;
-
- while ((n = write(fd, buf, cnt)) != cnt) {
- if (n == (unsigned)(-1)) {
- write_error();
- }
- cnt -= n;
- buf = (voidp)((char*)buf+n);
- }
-}
-
-/* ========================================================================
- * Put string s in lower case, return s.
- */
-char *strlwr(s)
- char *s;
-{
- char *t;
- for (t = s; *t; t++)
- *t = tolow ((unsigned char) *t);
- return s;
-}
-
-/* ========================================================================
- * Return the base name of a file (remove any directory prefix and
- * any version suffix). For systems with file names that are not
- * case sensitive, force the base name to lower case.
- */
-char *base_name(fname)
- char *fname;
-{
- char *p;
-
- if ((p = strrchr(fname, PATH_SEP)) != NULL) fname = p+1;
-#ifdef PATH_SEP2
- if ((p = strrchr(fname, PATH_SEP2)) != NULL) fname = p+1;
-#endif
-#ifdef PATH_SEP3
- if ((p = strrchr(fname, PATH_SEP3)) != NULL) fname = p+1;
-#endif
-#ifdef SUFFIX_SEP
- if ((p = strrchr(fname, SUFFIX_SEP)) != NULL) *p = '\0';
-#endif
- if (casemap('A') == 'a') strlwr(fname);
- return fname;
-}
-
-/* ========================================================================
- * Unlink a file, working around the unlink readonly bug (if present).
- */
-int xunlink (filename)
- char *filename;
-{
- int r = unlink (filename);
-
-#ifdef UNLINK_READONLY_BUG
- if (r != 0)
- {
- int e = errno;
- if (chmod (filename, S_IWUSR) != 0)
- {
- errno = e;
- return -1;
- }
-
- r = unlink (filename);
- }
-#endif
-
- return r;
-}
-
-/* ========================================================================
- * Make a file name legal for file systems not allowing file names with
- * multiple dots or starting with a dot (such as MSDOS), by changing
- * all dots except the last one into underlines. A target dependent
- * function can be used instead of this simple function by defining the macro
- * MAKE_LEGAL_NAME in tailor.h and providing the function in a target
- * dependent module.
- */
-void make_simple_name(name)
- char *name;
-{
- char *p = strrchr(name, '.');
- if (p == NULL) return;
- if (p == name) p++;
- do {
- if (*--p == '.') *p = '_';
- } while (p != name);
-}
-
-
-#if !defined HAVE_STRING_H && !defined STDC_HEADERS
-
-/* Provide missing strspn and strcspn functions. */
-
-# ifndef __STDC__
-# define const
-# endif
-
-int strspn OF((const char *s, const char *accept));
-int strcspn OF((const char *s, const char *reject));
-
-/* ========================================================================
- * Return the length of the maximum initial segment
- * of s which contains only characters in accept.
- */
-int strspn(s, accept)
- const char *s;
- const char *accept;
-{
- register const char *p;
- register const char *a;
- register int count = 0;
-
- for (p = s; *p != '\0'; ++p) {
- for (a = accept; *a != '\0'; ++a) {
- if (*p == *a) break;
- }
- if (*a == '\0') return count;
- ++count;
- }
- return count;
-}
-
-/* ========================================================================
- * Return the length of the maximum inital segment of s
- * which contains no characters from reject.
- */
-int strcspn(s, reject)
- const char *s;
- const char *reject;
-{
- register int count = 0;
-
- while (*s != '\0') {
- if (strchr(reject, *s++) != NULL) return count;
- ++count;
- }
- return count;
-}
-
-#endif
-
-/* ========================================================================
- * Add an environment variable (if any) before argv, and update argc.
- * Return the expanded environment variable to be freed later, or NULL
- * if no options were added to argv.
- */
-#define SEPARATOR " \t" /* separators in env variable */
-
-char *add_envopt(argcp, argvp, env)
- int *argcp; /* pointer to argc */
- char ***argvp; /* pointer to argv */
- char *env; /* name of environment variable */
-{
- char *p; /* running pointer through env variable */
- char **oargv; /* runs through old argv array */
- char **nargv; /* runs through new argv array */
- int oargc = *argcp; /* old argc */
- int nargc = 0; /* number of arguments in env variable */
-
- env = (char*)getenv(env);
- if (env == NULL) return NULL;
-
- p = (char*)xmalloc(strlen(env)+1);
- env = strcpy(p, env); /* keep env variable intact */
-
- for (p = env; *p; nargc++ ) { /* move through env */
- p += strspn(p, SEPARATOR); /* skip leading separators */
- if (*p == '\0') break;
-
- p += strcspn(p, SEPARATOR); /* find end of word */
- if (*p) *p++ = '\0'; /* mark it */
- }
- if (nargc == 0) {
- free(env);
- return NULL;
- }
- *argcp += nargc;
- /* Allocate the new argv array, with an extra element just in case
- * the original arg list did not end with a NULL.
- */
- nargv = (char**)calloc(*argcp+1, sizeof(char *));
- if (nargv == NULL) error("out of memory");
- oargv = *argvp;
- *argvp = nargv;
-
- /* Copy the program name first */
- if (oargc-- < 0) error("argc<=0");
- *(nargv++) = *(oargv++);
-
- /* Then copy the environment args */
- for (p = env; nargc > 0; nargc--) {
- p += strspn(p, SEPARATOR); /* skip separators */
- *(nargv++) = p; /* store start */
- while (*p++) ; /* skip over word */
- }
-
- /* Finally copy the old args and add a NULL (usual convention) */
- while (oargc--) *(nargv++) = *(oargv++);
- *nargv = NULL;
- return env;
-}
-
-/* ========================================================================
- * Error handlers.
- */
-void error(m)
- char *m;
-{
- fprintf(stderr, "\n%s: %s: %s\n", progname, ifname, m);
- abort_gzip();
-}
-
-void warning (m)
- char *m;
-{
- WARN ((stderr, "%s: %s: warning: %s\n", progname, ifname, m));
-}
-
-void read_error()
-{
- int e = errno;
- fprintf(stderr, "\n%s: ", progname);
- if (e != 0) {
- errno = e;
- perror(ifname);
- } else {
- fprintf(stderr, "%s: unexpected end of file\n", ifname);
- }
- abort_gzip();
-}
-
-void write_error()
-{
- int e = errno;
- fprintf(stderr, "\n%s: ", progname);
- errno = e;
- perror(ofname);
- abort_gzip();
-}
-
-/* ========================================================================
- * Display compression ratio on the given stream on 6 characters.
- */
-void display_ratio(num, den, file)
- off_t num;
- off_t den;
- FILE *file;
-{
- fprintf(file, "%5.1f%%", den == 0 ? 0 : 100.0 * num / den);
-}
-
-/* ========================================================================
- * Print an off_t. There's no completely portable way to use printf,
- * so we do it ourselves.
- */
-void fprint_off(file, offset, width)
- FILE *file;
- off_t offset;
- int width;
-{
- char buf[CHAR_BIT * sizeof (off_t)];
- char *p = buf + sizeof buf;
-
- /* Don't negate offset here; it might overflow. */
- if (offset < 0) {
- do
- *--p = '0' - offset % 10;
- while ((offset /= 10) != 0);
-
- *--p = '-';
- } else {
- do
- *--p = '0' + offset % 10;
- while ((offset /= 10) != 0);
- }
-
- width -= buf + sizeof buf - p;
- while (0 < width--) {
- putc (' ', file);
- }
- for (; p < buf + sizeof buf; p++)
- putc (*p, file);
-}
-
-/* ========================================================================
- * Semi-safe malloc -- never returns NULL.
- */
-voidp xmalloc (size)
- unsigned size;
-{
- voidp cp = (voidp)malloc (size);
-
- if (cp == NULL) error("out of memory");
- return cp;
-}
-
-/* ========================================================================
- * Table of CRC-32's of all single-byte values (made by makecrc.c)
- */
-ulg crc_32_tab[] = {
- 0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L,
- 0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L,
- 0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L,
- 0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL,
- 0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L,
- 0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L,
- 0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L,
- 0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL,
- 0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L,
- 0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL,
- 0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L,
- 0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L,
- 0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L,
- 0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL,
- 0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL,
- 0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L,
- 0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL,
- 0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L,
- 0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L,
- 0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L,
- 0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL,
- 0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L,
- 0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L,
- 0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL,
- 0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L,
- 0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L,
- 0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L,
- 0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L,
- 0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L,
- 0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL,
- 0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL,
- 0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L,
- 0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L,
- 0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL,
- 0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL,
- 0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L,
- 0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL,
- 0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L,
- 0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL,
- 0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L,
- 0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL,
- 0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L,
- 0x68ddb3f8L, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L,
- 0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL,
- 0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L,
- 0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L,
- 0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L,
- 0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L,
- 0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L,
- 0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L,
- 0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL,
- 0x2d02ef8dL
-};
-/* yesno.c -- read a yes/no response from stdin
- Copyright (C) 1990, 1998 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* Read one line from standard input
- and return nonzero if that line begins with y or Y,
- otherwise return 0. */
-
-int rpmatch ();
-
-int
-yesno ()
-{
- /* We make some assumptions here:
- a) leading white space in the response are not vital
- b) the first 128 characters of the answer are enough (the rest can
- be ignored)
- I cannot think for a situation where this is not ok. --drepper@gnu */
- char buf[128];
- int len = 0;
- int c;
-
- while ((c = getchar ()) != EOF && c != '\n')
- if ((len > 0 && len < 127) || (len == 0 && !isspace (c)))
- buf[len++] = c;
- buf[len] = '\0';
-
- return rpmatch (buf) == 1;
-}
-/* zip.c -- compress files to the gzip or pkzip format
- * Copyright (C) 1992-1993 Jean-loup Gailly
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License, see the file COPYING.
- */
-
-#ifdef RCSID
-static char rcsid[] = "$Id: zip.c,v 0.17 1993/06/10 13:29:25 jloup Exp $";
-#endif
-
-local ulg crc; /* crc on uncompressed file data */
-off_t header_bytes; /* number of bytes in gzip header */
-
-/* ===========================================================================
- * Deflate in to out.
- * IN assertions: the input and output buffers are cleared.
- * The variables time_stamp and save_orig_name are initialized.
- */
-int zip(in, out)
- int in, out; /* input and output file descriptors */
-{
- uch flags = 0; /* general purpose bit flags */
- ush attr = 0; /* ascii/binary flag */
- ush deflate_flags = 0; /* pkzip -es, -en or -ex equivalent */
-
- ifd = in;
- ofd = out;
- outcnt = 0;
-
- /* Write the header to the gzip file. See algorithm.doc for the format */
-
- method = DEFLATED;
- put_byte(GZIP_MAGIC[0]); /* magic header */
- put_byte(GZIP_MAGIC[1]);
- put_byte(DEFLATED); /* compression method */
-
- if (save_orig_name) {
- flags |= ORIG_NAME;
- }
- put_byte(flags); /* general flags */
- put_long(time_stamp == (time_stamp & 0xffffffff)
- ? (ulg)time_stamp : (ulg)0);
-
- /* Write deflated file to zip file */
- crc = updcrc(0, 0);
-
- bi_init(out);
- ct_init(&attr, &method);
- lm_init(level, &deflate_flags);
-
- put_byte((uch)deflate_flags); /* extra flags */
- put_byte(OS_CODE); /* OS identifier */
-
- if (save_orig_name) {
- char *p = base_name(ifname); /* Don't save the directory part. */
- do {
- put_char(*p);
- } while (*p++);
- }
- header_bytes = (off_t)outcnt;
-
- (void)deflate();
-
-#if !defined(NO_SIZE_CHECK) && !defined(RECORD_IO)
- /* Check input size (but not in VMS -- variable record lengths mess it up)
- * and not on MSDOS -- diet in TSR mode reports an incorrect file size)
- */
- if (ifile_size != -1L && bytes_in != ifile_size) {
- fprintf(stderr, "%s: %s: file size changed while zipping\n",
- progname, ifname);
- }
-#endif
-
- /* Write the crc and uncompressed size */
- put_long(crc);
- put_long((ulg)bytes_in);
- header_bytes += 2*sizeof(long);
-
- flush_outbuf();
- return OK;
-}
-
-
-/* ===========================================================================
- * Read a new buffer from the current input file, perform end-of-line
- * translation, and update the crc and input file size.
- * IN assertion: size >= 2 (for end-of-line translation)
- */
-int file_read(buf, size)
- char *buf;
- unsigned size;
-{
- unsigned len;
-
- Assert(insize == 0, "inbuf not empty");
-
- len = read(ifd, buf, size);
- if (len == 0) return (int)len;
- if (len == (unsigned)-1) {
- read_error();
- return EOF;
- }
-
- crc = updcrc((uch*)buf, len);
- bytes_in += (off_t)len;
- return (int)len;
-}
-
-/* Determine whether string value is affirmation or negative response
- according to current locale's data.
- Copyright (C) 1996, 1998, 2000 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-int
-rpmatch (const char *response)
-{
- /* Test against "^[yY]" and "^[nN]", hardcoded to avoid requiring regex */
- return (*response == 'y' || *response == 'Y' ? 1
- : *response == 'n' || *response == 'N' ? 0 : -1);
-}
-
-
-int
-getopt_long (argc, argv, options, long_options, opt_index)
- int argc;
- char *const *argv;
- const char *options;
- const struct option *long_options;
- int *opt_index;
-{
- return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
-}
-
-/* Like getopt_long, but '-' as well as '--' can indicate a long option.
- If an option that starts with '-' (not '--') doesn't match a long option,
- but does match a short option, it is parsed as a short option
- instead. */
-
-int
-getopt_long_only (argc, argv, options, long_options, opt_index)
- int argc;
- char *const *argv;
- const char *options;
- const struct option *long_options;
- int *opt_index;
-{
- return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
-}
diff --git a/LibOS/shim/test/apps/gcc/test_files/helloworld.c b/LibOS/shim/test/apps/gcc/test_files/helloworld.c
deleted file mode 100644
index e31915e016..0000000000
--- a/LibOS/shim/test/apps/gcc/test_files/helloworld.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include
-
-int main(int argc, char ** argv) {
- printf("Hello world (%s)!\n", argv[0]);
- return 0;
-}
diff --git a/LibOS/shim/test/apps/gcc/test_files/oggenc.m.c b/LibOS/shim/test/apps/gcc/test_files/oggenc.m.c
deleted file mode 100644
index 0b7d289259..0000000000
--- a/LibOS/shim/test/apps/gcc/test_files/oggenc.m.c
+++ /dev/null
@@ -1,58413 +0,0 @@
-/* OggEnc
- *
- * This program is distributed under the GNU General Public License, version 2.
- * A copy of this license is included with this source.
- *
- * Copyright 2000-2002, Michael Smith
- *
- * Portions from Vorbize, (c) Kenneth Arnold
- * and libvorbis examples, (c) Monty
- */
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-struct option
-{
-# if (defined __STDC__ && __STDC__) || defined __cplusplus
- const char *name;
-# else
- char *name;
-# endif
- /* has_arg can't be an enum because some compilers complain about
- type mismatches in all the code that assumes it is an int. */
- int has_arg;
- int *flag;
- int val;
-};
-
-# define no_argument 0
-# define required_argument 1
-# define optional_argument 2
-
-extern int getopt (int ___argc, char *const *___argv, const char *__shortopts);
-extern int getopt_long (int ___argc, char *const *___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind);
-extern int getopt_long_only (int ___argc, char *const *___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind);
-
-extern int _getopt_internal (int ___argc, char *const *___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind,
- int __long_only);
-
-
-#define setbinmode(x) {}
-#define DEFAULT_NAMEFMT_REMOVE "/"
-#define DEFAULT_NAMEFMT_REPLACE NULL
-
-#define __ENCODE_H
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
-
- ********************************************************************
-
- function: libvorbis codec headers
- last mod: $Id: codec.h,v 1.45 2003/09/05 22:34:46 giles Exp $
-
- ********************************************************************/
-
-#define _vorbis_codec_h_
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: toplevel libogg include
- last mod: $Id: ogg.h,v 1.19 2002/09/15 23:48:02 xiphmont Exp $
-
- ********************************************************************/
-#define _OGG_H
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: #ifdef jail to whip a few platforms into the UNIX ideal.
- last mod: $Id: os_types.h,v 1.14 2003/09/02 05:09:14 xiphmont Exp $
-
- ********************************************************************/
-#define _OS_TYPES_H
-
-/* make it easy on the folks that want to compile the libs with a
- different malloc than stdlib */
-#define _ogg_malloc malloc
-#define _ogg_calloc calloc
-#define _ogg_realloc realloc
-#define _ogg_free free
-
-#define __CONFIG_TYPES_H__
-
-/* these are filled in by configure */
-typedef int16_t ogg_int16_t;
-typedef u_int16_t ogg_uint16_t;
-typedef int32_t ogg_int32_t;
-typedef u_int32_t ogg_uint32_t;
-typedef int64_t ogg_int64_t;
-
-typedef struct {
- long endbyte;
- int endbit;
-
- unsigned char *buffer;
- unsigned char *ptr;
- long storage;
-} oggpack_buffer;
-
-/* ogg_page is used to encapsulate the data in one Ogg bitstream page *****/
-
-typedef struct {
- unsigned char *header;
- long header_len;
- unsigned char *body;
- long body_len;
-} ogg_page;
-
-/* ogg_stream_state contains the current encode/decode state of a logical
- Ogg bitstream **********************************************************/
-
-typedef struct {
- unsigned char *body_data; /* bytes from packet bodies */
- long body_storage; /* storage elements allocated */
- long body_fill; /* elements stored; fill mark */
- long body_returned; /* elements of fill returned */
-
-
- int *lacing_vals; /* The values that will go to the segment table */
- ogg_int64_t *granule_vals; /* granulepos values for headers. Not compact
- this way, but it is simple coupled to the
- lacing fifo */
- long lacing_storage;
- long lacing_fill;
- long lacing_packet;
- long lacing_returned;
-
- unsigned char header[282]; /* working space for header encode */
- int header_fill;
-
- int e_o_s; /* set when we have buffered the last packet in the
- logical bitstream */
- int b_o_s; /* set after we've written the initial page
- of a logical bitstream */
- long serialno;
- long pageno;
- ogg_int64_t packetno; /* sequence number for decode; the framing
- knows where there's a hole in the data,
- but we need coupling so that the codec
- (which is in a seperate abstraction
- layer) also knows about the gap */
- ogg_int64_t granulepos;
-
-} ogg_stream_state;
-
-/* ogg_packet is used to encapsulate the data and metadata belonging
- to a single raw Ogg/Vorbis packet *************************************/
-
-typedef struct {
- unsigned char *packet;
- long bytes;
- long b_o_s;
- long e_o_s;
-
- ogg_int64_t granulepos;
-
- ogg_int64_t packetno; /* sequence number for decode; the framing
- knows where there's a hole in the data,
- but we need coupling so that the codec
- (which is in a seperate abstraction
- layer) also knows about the gap */
-} ogg_packet;
-
-typedef struct {
- unsigned char *data;
- int storage;
- int fill;
- int returned;
-
- int unsynced;
- int headerbytes;
- int bodybytes;
-} ogg_sync_state;
-
-/* Ogg BITSTREAM PRIMITIVES: bitstream ************************/
-
-extern void oggpack_writeinit(oggpack_buffer *b);
-extern void oggpack_writetrunc(oggpack_buffer *b,long bits);
-extern void oggpack_writealign(oggpack_buffer *b);
-extern void oggpack_writecopy(oggpack_buffer *b,void *source,long bits);
-extern void oggpack_reset(oggpack_buffer *b);
-extern void oggpack_writeclear(oggpack_buffer *b);
-extern void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
-extern void oggpack_write(oggpack_buffer *b,unsigned long value,int bits);
-extern long oggpack_look(oggpack_buffer *b,int bits);
-extern long oggpack_look1(oggpack_buffer *b);
-extern void oggpack_adv(oggpack_buffer *b,int bits);
-extern void oggpack_adv1(oggpack_buffer *b);
-extern long oggpack_read(oggpack_buffer *b,int bits);
-extern long oggpack_read1(oggpack_buffer *b);
-extern long oggpack_bytes(oggpack_buffer *b);
-extern long oggpack_bits(oggpack_buffer *b);
-extern unsigned char *oggpack_get_buffer(oggpack_buffer *b);
-
-extern void oggpackB_writeinit(oggpack_buffer *b);
-extern void oggpackB_writetrunc(oggpack_buffer *b,long bits);
-extern void oggpackB_writealign(oggpack_buffer *b);
-extern void oggpackB_writecopy(oggpack_buffer *b,void *source,long bits);
-extern void oggpackB_reset(oggpack_buffer *b);
-extern void oggpackB_writeclear(oggpack_buffer *b);
-extern void oggpackB_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
-extern void oggpackB_write(oggpack_buffer *b,unsigned long value,int bits);
-extern long oggpackB_look(oggpack_buffer *b,int bits);
-extern long oggpackB_look1(oggpack_buffer *b);
-extern void oggpackB_adv(oggpack_buffer *b,int bits);
-extern void oggpackB_adv1(oggpack_buffer *b);
-extern long oggpackB_read(oggpack_buffer *b,int bits);
-extern long oggpackB_read1(oggpack_buffer *b);
-extern long oggpackB_bytes(oggpack_buffer *b);
-extern long oggpackB_bits(oggpack_buffer *b);
-extern unsigned char *oggpackB_get_buffer(oggpack_buffer *b);
-
-/* Ogg BITSTREAM PRIMITIVES: encoding **************************/
-
-extern int ogg_stream_packetin(ogg_stream_state *os, ogg_packet *op);
-extern int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
-extern int ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
-
-/* Ogg BITSTREAM PRIMITIVES: decoding **************************/
-
-extern int ogg_sync_init(ogg_sync_state *oy);
-extern int ogg_sync_clear(ogg_sync_state *oy);
-extern int ogg_sync_reset(ogg_sync_state *oy);
-extern int ogg_sync_destroy(ogg_sync_state *oy);
-
-extern char *ogg_sync_buffer(ogg_sync_state *oy, long size);
-extern int ogg_sync_wrote(ogg_sync_state *oy, long bytes);
-extern long ogg_sync_pageseek(ogg_sync_state *oy,ogg_page *og);
-extern int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og);
-extern int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og);
-extern int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);
-extern int ogg_stream_packetpeek(ogg_stream_state *os,ogg_packet *op);
-
-/* Ogg BITSTREAM PRIMITIVES: general ***************************/
-
-extern int ogg_stream_init(ogg_stream_state *os,int serialno);
-extern int ogg_stream_clear(ogg_stream_state *os);
-extern int ogg_stream_reset(ogg_stream_state *os);
-extern int ogg_stream_reset_serialno(ogg_stream_state *os,int serialno);
-extern int ogg_stream_destroy(ogg_stream_state *os);
-extern int ogg_stream_eos(ogg_stream_state *os);
-
-extern void ogg_page_checksum_set(ogg_page *og);
-
-extern int ogg_page_version(ogg_page *og);
-extern int ogg_page_continued(ogg_page *og);
-extern int ogg_page_bos(ogg_page *og);
-extern int ogg_page_eos(ogg_page *og);
-extern ogg_int64_t ogg_page_granulepos(ogg_page *og);
-extern int ogg_page_serialno(ogg_page *og);
-extern long ogg_page_pageno(ogg_page *og);
-extern int ogg_page_packets(ogg_page *og);
-
-extern void ogg_packet_clear(ogg_packet *op);
-
-
-typedef struct vorbis_info{
- int version;
- int channels;
- long rate;
-
- /* The below bitrate declarations are *hints*.
- Combinations of the three values carry the following implications:
-
- all three set to the same value:
- implies a fixed rate bitstream
- only nominal set:
- implies a VBR stream that averages the nominal bitrate. No hard
- upper/lower limit
- upper and or lower set:
- implies a VBR bitstream that obeys the bitrate limits. nominal
- may also be set to give a nominal rate.
- none set:
- the coder does not care to speculate.
- */
-
- long bitrate_upper;
- long bitrate_nominal;
- long bitrate_lower;
- long bitrate_window;
-
- void *codec_setup;
-} vorbis_info;
-
-/* vorbis_dsp_state buffers the current vorbis audio
- analysis/synthesis state. The DSP state belongs to a specific
- logical bitstream ****************************************************/
-typedef struct vorbis_dsp_state{
- int analysisp;
- vorbis_info *vi;
-
- float **pcm;
- float **pcmret;
- int pcm_storage;
- int pcm_current;
- int pcm_returned;
-
- int preextrapolate;
- int eofflag;
-
- long lW;
- long W;
- long nW;
- long centerW;
-
- ogg_int64_t granulepos;
- ogg_int64_t sequence;
-
- ogg_int64_t glue_bits;
- ogg_int64_t time_bits;
- ogg_int64_t floor_bits;
- ogg_int64_t res_bits;
-
- void *backend_state;
-} vorbis_dsp_state;
-
-typedef struct vorbis_block{
- /* necessary stream state for linking to the framing abstraction */
- float **pcm; /* this is a pointer into local storage */
- oggpack_buffer opb;
-
- long lW;
- long W;
- long nW;
- int pcmend;
- int mode;
-
- int eofflag;
- ogg_int64_t granulepos;
- ogg_int64_t sequence;
- vorbis_dsp_state *vd; /* For read-only access of configuration */
-
- /* local storage to avoid remallocing; it's up to the mapping to
- structure it */
- void *localstore;
- long localtop;
- long localalloc;
- long totaluse;
- struct alloc_chain *reap;
-
- /* bitmetrics for the frame */
- long glue_bits;
- long time_bits;
- long floor_bits;
- long res_bits;
-
- void *internal;
-
-} vorbis_block;
-
-/* vorbis_block is a single block of data to be processed as part of
-the analysis/synthesis stream; it belongs to a specific logical
-bitstream, but is independant from other vorbis_blocks belonging to
-that logical bitstream. *************************************************/
-
-struct alloc_chain{
- void *ptr;
- struct alloc_chain *next;
-};
-
-/* vorbis_info contains all the setup information specific to the
- specific compression/decompression mode in progress (eg,
- psychoacoustic settings, channel setup, options, codebook
- etc). vorbis_info and substructures are in backends.h.
-*********************************************************************/
-
-/* the comments are not part of vorbis_info so that vorbis_info can be
- static storage */
-typedef struct vorbis_comment{
- /* unlimited user comment fields. libvorbis writes 'libvorbis'
- whatever vendor is set to in encode */
- char **user_comments;
- int *comment_lengths;
- int comments;
- char *vendor;
-
-} vorbis_comment;
-
-
-/* libvorbis encodes in two abstraction layers; first we perform DSP
- and produce a packet (see docs/analysis.txt). The packet is then
- coded into a framed OggSquish bitstream by the second layer (see
- docs/framing.txt). Decode is the reverse process; we sync/frame
- the bitstream and extract individual packets, then decode the
- packet back into PCM audio.
-
- The extra framing/packetizing is used in streaming formats, such as
- files. Over the net (such as with UDP), the framing and
- packetization aren't necessary as they're provided by the transport
- and the streaming layer is not used */
-
-/* Vorbis PRIMITIVES: general ***************************************/
-
-extern void vorbis_info_init(vorbis_info *vi);
-extern void vorbis_info_clear(vorbis_info *vi);
-extern int vorbis_info_blocksize(vorbis_info *vi,int zo);
-extern void vorbis_comment_init(vorbis_comment *vc);
-extern void vorbis_comment_add(vorbis_comment *vc, char *comment);
-extern void vorbis_comment_add_tag(vorbis_comment *vc,
- char *tag, char *contents);
-extern char *vorbis_comment_query(vorbis_comment *vc, char *tag, int count);
-extern int vorbis_comment_query_count(vorbis_comment *vc, char *tag);
-extern void vorbis_comment_clear(vorbis_comment *vc);
-
-extern int vorbis_block_init(vorbis_dsp_state *v, vorbis_block *vb);
-extern int vorbis_block_clear(vorbis_block *vb);
-extern void vorbis_dsp_clear(vorbis_dsp_state *v);
-extern double vorbis_granule_time(vorbis_dsp_state *v,
- ogg_int64_t granulepos);
-
-/* Vorbis PRIMITIVES: analysis/DSP layer ****************************/
-
-extern int vorbis_analysis_init(vorbis_dsp_state *v,vorbis_info *vi);
-extern int vorbis_commentheader_out(vorbis_comment *vc, ogg_packet *op);
-extern int vorbis_analysis_headerout(vorbis_dsp_state *v,
- vorbis_comment *vc,
- ogg_packet *op,
- ogg_packet *op_comm,
- ogg_packet *op_code);
-extern float **vorbis_analysis_buffer(vorbis_dsp_state *v,int vals);
-extern int vorbis_analysis_wrote(vorbis_dsp_state *v,int vals);
-extern int vorbis_analysis_blockout(vorbis_dsp_state *v,vorbis_block *vb);
-extern int vorbis_analysis(vorbis_block *vb,ogg_packet *op);
-
-extern int vorbis_bitrate_addblock(vorbis_block *vb);
-extern int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd,
- ogg_packet *op);
-
-/* Vorbis PRIMITIVES: synthesis layer *******************************/
-extern int vorbis_synthesis_headerin(vorbis_info *vi,vorbis_comment *vc,
- ogg_packet *op);
-
-extern int vorbis_synthesis_init(vorbis_dsp_state *v,vorbis_info *vi);
-extern int vorbis_synthesis_restart(vorbis_dsp_state *v);
-extern int vorbis_synthesis(vorbis_block *vb,ogg_packet *op);
-extern int vorbis_synthesis_trackonly(vorbis_block *vb,ogg_packet *op);
-extern int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb);
-extern int vorbis_synthesis_pcmout(vorbis_dsp_state *v,float ***pcm);
-extern int vorbis_synthesis_lapout(vorbis_dsp_state *v,float ***pcm);
-extern int vorbis_synthesis_read(vorbis_dsp_state *v,int samples);
-extern long vorbis_packet_blocksize(vorbis_info *vi,ogg_packet *op);
-
-extern int vorbis_synthesis_halfrate(vorbis_info *v,int flag);
-extern int vorbis_synthesis_halfrate_p(vorbis_info *v);
-
-/* Vorbis ERRORS and return codes ***********************************/
-
-#define OV_FALSE -1
-#define OV_EOF -2
-#define OV_HOLE -3
-
-#define OV_EREAD -128
-#define OV_EFAULT -129
-#define OV_EIMPL -130
-#define OV_EINVAL -131
-#define OV_ENOTVORBIS -132
-#define OV_EBADHEADER -133
-#define OV_EVERSION -134
-#define OV_ENOTAUDIO -135
-#define OV_EBADPACKET -136
-#define OV_EBADLINK -137
-#define OV_ENOSEEK -138
-
-typedef void TIMER;
-typedef long (*audio_read_func)(void *src, float **buffer, int samples);
-typedef void (*progress_func)(char *fn, long totalsamples,
- long samples, double time);
-typedef void (*enc_end_func)(char *fn, double time, int rate,
- long samples, long bytes);
-typedef void (*enc_start_func)(char *fn, char *outfn, int bitrate,
- float quality, int qset, int managed, int min_br, int max_br);
-typedef void (*error_func)(char *errormessage);
-
-
-void *timer_start(void);
-double timer_time(void *);
-void timer_clear(void *);
-int create_directories(char *);
-
-void update_statistics_full(char *fn, long total, long done, double time);
-void update_statistics_notime(char *fn, long total, long done, double time);
-void update_statistics_null(char *fn, long total, long done, double time);
-void start_encode_full(char *fn, char *outfn, int bitrate, float quality, int qset,
- int managed, int min, int max);
-void start_encode_null(char *fn, char *outfn, int bitrate, float quality, int qset,
- int managed, int min, int max);
-void final_statistics(char *fn, double time, int rate, long total_samples,
- long bytes);
-void final_statistics_null(char *fn, double time, int rate, long total_samples,
- long bytes);
-void encode_error(char *errmsg);
-
-typedef struct {
- char *arg;
- char *val;
-} adv_opt;
-
-typedef struct
-{
- char **title;
- int title_count;
- char **artist;
- int artist_count;
- char **album;
- int album_count;
- char **comments;
- int comment_count;
- char **tracknum;
- int track_count;
- char **dates;
- int date_count;
- char **genre;
- int genre_count;
- adv_opt *advopt;
- int advopt_count;
- int copy_comments;
-
- int quiet;
-
- int rawmode;
- int raw_samplesize;
- int raw_samplerate;
- int raw_channels;
- int raw_endianness;
-
- char *namefmt;
- char *namefmt_remove;
- char *namefmt_replace;
- char *outfile;
-
- /* All 3 in kbps */
- int managed;
- int min_bitrate;
- int nominal_bitrate;
- int max_bitrate;
-
- /* Float from 0 to 1 (low->high) */
- float quality;
- int quality_set;
-
- int resamplefreq;
- int downmix;
- float scale;
-
- unsigned int serial;
-} oe_options;
-
-typedef struct
-{
- vorbis_comment *comments;
- unsigned int serialno;
-
- audio_read_func read_samples;
- progress_func progress_update;
- enc_end_func end_encode;
- enc_start_func start_encode;
- error_func error;
-
- void *readdata;
-
- long total_samples_per_channel;
- int channels;
- long rate;
- int samplesize;
- int endianness;
- int resamplefreq;
- int copy_comments;
-
- /* Various bitrate/quality options */
- int managed;
- int bitrate;
- int min_bitrate;
- int max_bitrate;
- float quality;
- int quality_set;
- adv_opt *advopt;
- int advopt_count;
-
- FILE *out;
- char *filename;
- char *infilename;
-} oe_enc_opt;
-
-
-int oe_encode(oe_enc_opt *opt);
-
-#define __AUDIO_H
-
-int setup_resample(oe_enc_opt *opt);
-void clear_resample(oe_enc_opt *opt);
-void setup_downmix(oe_enc_opt *opt);
-void clear_downmix(oe_enc_opt *opt);
-void setup_scaler(oe_enc_opt *opt, float scale);
-void clear_scaler(oe_enc_opt *opt);
-
-typedef struct
-{
- int (*id_func)(unsigned char *buf, int len); /* Returns true if can load file */
- int id_data_len; /* Amount of data needed to id whether this can load the file */
- int (*open_func)(FILE *in, oe_enc_opt *opt, unsigned char *buf, int buflen);
- void (*close_func)(void *);
- char *format;
- char *description;
-} input_format;
-
-
-typedef struct {
- short format;
- short channels;
- int samplerate;
- int bytespersec;
- short align;
- short samplesize;
-} wav_fmt;
-
-typedef struct {
- short channels;
- short samplesize;
- long totalsamples;
- long samplesread;
- FILE *f;
- short bigendian;
-} wavfile;
-
-typedef struct {
- short channels;
- int totalframes;
- short samplesize;
- int rate;
- int offset;
- int blocksize;
-} aiff_fmt;
-
-typedef wavfile aifffile; /* They're the same */
-
-input_format *open_audio_file(FILE *in, oe_enc_opt *opt);
-
-int raw_open(FILE *in, oe_enc_opt *opt);
-int wav_open(FILE *in, oe_enc_opt *opt, unsigned char *buf, int buflen);
-int aiff_open(FILE *in, oe_enc_opt *opt, unsigned char *buf, int buflen);
-int wav_id(unsigned char *buf, int len);
-int aiff_id(unsigned char *buf, int len);
-void wav_close(void *);
-void raw_close(void *);
-
-long wav_read(void *, float **buffer, int samples);
-long wav_ieee_read(void *, float **buffer, int samples);
-long raw_read_stereo(void *, float **buffer, int samples);
-
-#define _(X) (X)
-#define textdomain(X)
-#define bindtextdomain(X, Y)
-#define N_(X) (X)
-
-
-#define VERSION_STRING "OggEnc v1.0.1 (libvorbis 1.0.1)\n"
-#define COPYRIGHT "(c) 2000-2003 Michael Smith \n"
-
-#define CHUNK 4096 /* We do reads, etc. in multiples of this */
-
-struct option long_options[] = {
- {"quiet",0,0,'Q'},
- {"help",0,0,'h'},
- {"comment",1,0,'c'},
- {"artist",1,0,'a'},
- {"album",1,0,'l'},
- {"title",1,0,'t'},
- {"genre",1,0,'G'},
- {"names",1,0,'n'},
- {"name-remove",1,0,'X'},
- {"name-replace",1,0,'P'},
- {"output",1,0,'o'},
- {"version",0,0,'v'},
- {"raw",0,0,'r'},
- {"raw-bits",1,0,'B'},
- {"raw-chan",1,0,'C'},
- {"raw-rate",1,0,'R'},
- {"raw-endianness",1,0, 0},
- {"bitrate",1,0,'b'},
- {"min-bitrate",1,0,'m'},
- {"max-bitrate",1,0,'M'},
- {"quality",1,0,'q'},
- {"date",1,0,'d'},
- {"tracknum",1,0,'N'},
- {"serial",1,0,'s'},
- {"managed", 0, 0, 0},
- {"resample",1,0,0},
- {"downmix", 0,0,0},
- {"scale", 1, 0, 0},
- {"advanced-encode-option", 1, 0, 0},
- {"discard-comments", 0, 0, 0},
- {NULL,0,0,0}
-};
-
-static char *generate_name_string(char *format, char *remove_list,
- char *replace_list, char *artist, char *title, char *album,
- char *track, char *date, char *genre);
-static void parse_options(int argc, char **argv, oe_options *opt);
-static void build_comments(vorbis_comment *vc, oe_options *opt, int filenum,
- char **artist,char **album, char **title, char **tracknum, char **date,
- char **genre);
-static void usage(void);
-
-int main(int argc, char **argv)
-{
- /* Default values */
- oe_options opt = {NULL, 0, NULL, 0, NULL, 0, NULL, 0, NULL,
- 0, NULL, 0, NULL, 0, NULL, 0, 1, 0, 0,16,44100,2, 0, NULL,
- DEFAULT_NAMEFMT_REMOVE, DEFAULT_NAMEFMT_REPLACE,
- NULL, 0, -1,-1,-1,.3,-1,0, 0,0.f, 0};
-
- int i;
-
- char **infiles;
- int numfiles;
- int errors=0;
-
- parse_options(argc, argv, &opt);
-
- if(optind >= argc)
- {
- fprintf(stderr, _("%s%s\nERROR: No input files specified. Use -h for help.\n"), VERSION_STRING, COPYRIGHT);
- return 1;
- }
- else
- {
- infiles = argv + optind;
- numfiles = argc - optind;
- }
-
- /* Now, do some checking for illegal argument combinations */
-
- for(i = 0; i < numfiles; i++)
- {
- if(!strcmp(infiles[i], "-") && numfiles > 1)
- {
- fprintf(stderr, _("ERROR: Multiple files specified when using stdin\n"));
- exit(1);
- }
- }
-
- if(numfiles > 1 && opt.outfile)
- {
- fprintf(stderr, _("ERROR: Multiple input files with specified output filename: suggest using -n\n"));
- exit(1);
- }
-
- if(opt.serial == 0)
- {
- /* We randomly pick a serial number. This is then incremented for each file */
- srand(time(NULL));
- opt.serial = rand();
- }
-
- for(i = 0; i < numfiles; i++)
- {
- /* Once through the loop for each file */
-
- oe_enc_opt enc_opts;
- vorbis_comment vc;
- char *out_fn = NULL;
- FILE *in, *out = NULL;
- int foundformat = 0;
- int closeout = 0, closein = 0;
- char *artist=NULL, *album=NULL, *title=NULL, *track=NULL;
- char *date=NULL, *genre=NULL;
- input_format *format;
-
- /* Set various encoding defaults */
-
- enc_opts.serialno = opt.serial++;
- enc_opts.progress_update = update_statistics_full;
- enc_opts.start_encode = start_encode_full;
- enc_opts.end_encode = final_statistics;
- enc_opts.error = encode_error;
- enc_opts.comments = &vc;
- enc_opts.copy_comments = opt.copy_comments;
-
- /* OK, let's build the vorbis_comments structure */
- build_comments(&vc, &opt, i, &artist, &album, &title, &track,
- &date, &genre);
-
- if(!strcmp(infiles[i], "-"))
- {
- setbinmode(stdin);
- in = stdin;
- infiles[i] = NULL;
- if(!opt.outfile)
- {
- setbinmode(stdout);
- out = stdout;
- }
- }
- else
- {
- in = fopen(infiles[i], "rb");
-
- if(in == NULL)
- {
- fprintf(stderr, _("ERROR: Cannot open input file \"%s\": %s\n"), infiles[i], strerror(errno));
- free(out_fn);
- errors++;
- continue;
- }
-
- closein = 1;
- }
-
- /* Now, we need to select an input audio format - we do this before opening
- the output file so that we don't end up with a 0-byte file if the input
- file can't be read */
-
- if(opt.rawmode)
- {
- enc_opts.rate=opt.raw_samplerate;
- enc_opts.channels=opt.raw_channels;
- enc_opts.samplesize=opt.raw_samplesize;
- enc_opts.endianness=opt.raw_endianness;
- raw_open(in, &enc_opts);
- foundformat=1;
- }
- else
- {
- format = open_audio_file(in, &enc_opts);
- if(format)
- {
- if(!opt.quiet)
- fprintf(stderr, _("Opening with %s module: %s\n"),
- format->format, format->description);
- foundformat=1;
- }
-
- }
-
- if(!foundformat)
- {
- fprintf(stderr, _("ERROR: Input file \"%s\" is not a supported format\n"), infiles[i]?infiles[i]:"(stdin)");
- if(closein)
- fclose(in);
- errors++;
- continue;
- }
-
- /* Ok. We can read the file - so now open the output file */
-
- if(opt.outfile && !strcmp(opt.outfile, "-"))
- {
- setbinmode(stdout);
- out = stdout;
- }
- else if(out == NULL)
- {
- if(opt.outfile)
- {
- out_fn = strdup(opt.outfile);
- }
- else if(opt.namefmt)
- {
- out_fn = generate_name_string(opt.namefmt, opt.namefmt_remove,
- opt.namefmt_replace, artist, title, album, track,date,
- genre);
- }
- /* This bit was widely derided in mid-2002, so it's been removed */
- /*
- else if(opt.title)
- {
- out_fn = malloc(strlen(title) + 5);
- strcpy(out_fn, title);
- strcat(out_fn, ".ogg");
- }
- */
- else if(infiles[i])
- {
- /* Create a filename from existing filename, replacing extension with .ogg */
- char *start, *end;
-
- start = infiles[i];
- end = strrchr(infiles[i], '.');
- end = end?end:(start + strlen(infiles[i])+1);
-
- out_fn = malloc(end - start + 5);
- strncpy(out_fn, start, end-start);
- out_fn[end-start] = 0;
- strcat(out_fn, ".ogg");
- }
- else {
- fprintf(stderr, _("WARNING: No filename, defaulting to \"default.ogg\"\n"));
- out_fn = strdup("default.ogg");
- }
-
- /* Create any missing subdirectories, if possible */
- if(create_directories(out_fn)) {
- if(closein)
- fclose(in);
- fprintf(stderr, _("ERROR: Could not create required subdirectories for output filename \"%s\"\n"), out_fn);
- errors++;
- free(out_fn);
- continue;
- }
-
- out = fopen(out_fn, "wb");
- if(out == NULL)
- {
- if(closein)
- fclose(in);
- fprintf(stderr, _("ERROR: Cannot open output file \"%s\": %s\n"), out_fn, strerror(errno));
- errors++;
- free(out_fn);
- continue;
- }
- closeout = 1;
- }
-
- /* Now, set the rest of the options */
- enc_opts.out = out;
- enc_opts.comments = &vc;
- enc_opts.filename = out_fn;
- enc_opts.infilename = infiles[i];
- enc_opts.managed = opt.managed;
- enc_opts.bitrate = opt.nominal_bitrate;
- enc_opts.min_bitrate = opt.min_bitrate;
- enc_opts.max_bitrate = opt.max_bitrate;
- enc_opts.quality = opt.quality;
- enc_opts.quality_set = opt.quality_set;
- enc_opts.advopt = opt.advopt;
- enc_opts.advopt_count = opt.advopt_count;
-
- if(opt.resamplefreq && opt.resamplefreq != enc_opts.rate) {
- int fromrate = enc_opts.rate;
- enc_opts.resamplefreq = opt.resamplefreq;
- if(setup_resample(&enc_opts)) {
- errors++;
- goto clear_all;
- }
- else if(!opt.quiet)
- fprintf(stderr, _("Resampling input from %d Hz to %d Hz\n"), fromrate, opt.resamplefreq);
- }
-
- if(opt.downmix) {
- if(enc_opts.channels == 2) {
- setup_downmix(&enc_opts);
- if(!opt.quiet)
- fprintf(stderr, _("Downmixing stereo to mono\n"));
- }
- else {
- fprintf(stderr, _("ERROR: Can't downmix except from stereo to mono\n"));
- errors++;
- if(opt.resamplefreq && opt.resamplefreq != enc_opts.rate)
- clear_resample(&enc_opts);
- goto clear_all;
- }
- }
-
- if(opt.scale > 0.f) {
- setup_scaler(&enc_opts, opt.scale);
- if(!opt.quiet)
- fprintf(stderr, _("Scaling input to %f\n"), opt.scale);
- }
-
-
- if(!enc_opts.total_samples_per_channel)
- enc_opts.progress_update = update_statistics_notime;
-
- if(opt.quiet)
- {
- enc_opts.start_encode = start_encode_null;
- enc_opts.progress_update = update_statistics_null;
- enc_opts.end_encode = final_statistics_null;
- }
-
- if(oe_encode(&enc_opts))
- errors++;
-
- if(opt.scale > 0)
- clear_scaler(&enc_opts);
- if(opt.downmix)
- clear_downmix(&enc_opts);
- if(opt.resamplefreq && opt.resamplefreq != enc_opts.rate)
- clear_resample(&enc_opts);
-clear_all:
-
- if(out_fn) free(out_fn);
- if(opt.outfile) free(opt.outfile);
- vorbis_comment_clear(&vc);
- if(!opt.rawmode)
- format->close_func(enc_opts.readdata);
-
- if(closein)
- fclose(in);
- if(closeout)
- fclose(out);
- }/* Finished this file, loop around to next... */
-
- return errors?1:0;
-
-}
-
-static void usage(void)
-{
- fprintf(stdout,
- _("%s%s\n"
- "Usage: oggenc [options] input.wav [...]\n"
- "\n"
- "OPTIONS:\n"
- " General:\n"
- " -Q, --quiet Produce no output to stderr\n"
- " -h, --help Print this help text\n"
- " -r, --raw Raw mode. Input files are read directly as PCM data\n"
- " -B, --raw-bits=n Set bits/sample for raw input. Default is 16\n"
- " -C, --raw-chan=n Set number of channels for raw input. Default is 2\n"
- " -R, --raw-rate=n Set samples/sec for raw input. Default is 44100\n"
- " --raw-endianness 1 for bigendian, 0 for little (defaults to 0)\n"
- " -b, --bitrate Choose a nominal bitrate to encode at. Attempt\n"
- " to encode at a bitrate averaging this. Takes an\n"
- " argument in kbps. This uses the bitrate management\n"
- " engine, and is not recommended for most users.\n"
- " See -q, --quality for a better alternative.\n"
- " -m, --min-bitrate Specify a minimum bitrate (in kbps). Useful for\n"
- " encoding for a fixed-size channel.\n"
- " -M, --max-bitrate Specify a maximum bitrate in kbps. Useful for\n"
- " streaming applications.\n"
- " -q, --quality Specify quality between 0 (low) and 10 (high),\n"
- " instead of specifying a particular bitrate.\n"
- " This is the normal mode of operation.\n"
- " Fractional qualities (e.g. 2.75) are permitted\n"
- " Quality -1 is also possible, but may not be of\n"
- " acceptable quality.\n"
- " --resample n Resample input data to sampling rate n (Hz)\n"
- " --downmix Downmix stereo to mono. Only allowed on stereo\n"
- " input.\n"
- " -s, --serial Specify a serial number for the stream. If encoding\n"
- " multiple files, this will be incremented for each\n"
- " stream after the first.\n"
- " --discard-comments Prevents comments in FLAC and Ogg FLAC files from\n"
- " being copied to the output Ogg Vorbis file.\n"
- "\n"
- " Naming:\n"
- " -o, --output=fn Write file to fn (only valid in single-file mode)\n"
- " -n, --names=string Produce filenames as this string, with %%a, %%t, %%l,\n"
- " %%n, %%d replaced by artist, title, album, track number,\n"
- " and date, respectively (see below for specifying these).\n"
- " %%%% gives a literal %%.\n"
- " -X, --name-remove=s Remove the specified characters from parameters to the\n"
- " -n format string. Useful to ensure legal filenames.\n"
- " -P, --name-replace=s Replace characters removed by --name-remove with the\n"
- " characters specified. If this string is shorter than the\n"
- " --name-remove list or is not specified, the extra\n"
- " characters are just removed.\n"
- " Default settings for the above two arguments are platform\n"
- " specific.\n"
- " -c, --comment=c Add the given string as an extra comment. This may be\n"
- " used multiple times. The argument should be in the\n"
- " format \"tag=value\".\n"
- " -d, --date Date for track (usually date of performance)\n"
- " -N, --tracknum Track number for this track\n"
- " -t, --title Title for this track\n"
- " -l, --album Name of album\n"
- " -a, --artist Name of artist\n"
- " -G, --genre Genre of track\n"
- " If multiple input files are given, then multiple\n"
- " instances of the previous five arguments will be used,\n"
- " in the order they are given. If fewer titles are\n"
- " specified than files, OggEnc will print a warning, and\n"
- " reuse the final one for the remaining files. If fewer\n"
- " track numbers are given, the remaining files will be\n"
- " unnumbered. For the others, the final tag will be reused\n"
- " for all others without warning (so you can specify a date\n"
- " once, for example, and have it used for all the files)\n"
- "\n"
- "INPUT FILES:\n"
- " OggEnc input files must currently be 24, 16, or 8 bit PCM WAV, AIFF, or AIFF/C\n"
- " files, 32 bit IEEE floating point WAV, and optionally FLAC or Ogg FLAC. Files\n"
- " may be mono or stereo (or more channels) and any sample rate.\n"
- " Alternatively, the --raw option may be used to use a raw PCM data file, which\n"
- " must be 16 bit stereo little-endian PCM ('headerless wav'), unless additional\n"
- " parameters for raw mode are specified.\n"
- " You can specify taking the file from stdin by using - as the input filename.\n"
- " In this mode, output is to stdout unless an output filename is specified\n"
- " with -o\n"
- "\n"), VERSION_STRING, COPYRIGHT);
-}
-
-static int strncpy_filtered(char *dst, char *src, int len, char *remove_list,
- char *replace_list)
-{
- char *hit, *drop_margin;
- int used=0;
-
- if(remove_list == NULL || *remove_list == 0)
- {
- strncpy(dst, src, len-1);
- dst[len-1] = 0;
- return strlen(dst);
- }
-
- drop_margin = remove_list + (replace_list == NULL?0:strlen(replace_list));
-
- while(*src && used < len-1)
- {
- if((hit = strchr(remove_list, *src)) != NULL)
- {
- if(hit < drop_margin)
- {
- *dst++ = replace_list[hit - remove_list];
- used++;
- }
- }
- else
- {
- *dst++ = *src;
- used++;
- }
- src++;
- }
- *dst = 0;
-
- return used;
-}
-
-static char *generate_name_string(char *format, char *remove_list,
- char *replace_list, char *artist, char *title, char *album,
- char *track, char *date, char *genre)
-{
- char *buffer;
- char next;
- char *string;
- int used=0;
- int buflen;
-
- buffer = calloc(CHUNK+1,1);
- buflen = CHUNK;
-
- while(*format && used < buflen)
- {
- next = *format++;
-
- if(next == '%')
- {
- switch(*format++)
- {
- case '%':
- *(buffer+(used++)) = '%';
- break;
- case 'a':
- string = artist?artist:_("(none)");
- used += strncpy_filtered(buffer+used, string, buflen-used,
- remove_list, replace_list);
- break;
- case 'd':
- string = date?date:_("(none)");
- used += strncpy_filtered(buffer+used, string, buflen-used,
- remove_list, replace_list);
- break;
- case 'g':
- string = genre?genre:_("(none)");
- used += strncpy_filtered(buffer+used, string, buflen-used,
- remove_list, replace_list);
- break;
- case 't':
- string = title?title:_("(none)");
- used += strncpy_filtered(buffer+used, string, buflen-used,
- remove_list, replace_list);
- break;
- case 'l':
- string = album?album:_("(none)");
- used += strncpy_filtered(buffer+used, string, buflen-used,
- remove_list, replace_list);
- break;
- case 'n':
- string = track?track:_("(none)");
- used += strncpy_filtered(buffer+used, string, buflen-used,
- remove_list, replace_list);
- break;
- default:
- fprintf(stderr, _("WARNING: Ignoring illegal escape character '%c' in name format\n"), *(format - 1));
- break;
- }
- }
- else
- *(buffer + (used++)) = next;
- }
-
- return buffer;
-}
-
-static void parse_options(int argc, char **argv, oe_options *opt)
-{
- int ret;
- int option_index = 1;
-
- while((ret = getopt_long(argc, argv, "A:a:b:B:c:C:d:G:hl:m:M:n:N:o:P:q:QrR:s:t:vX:",
- long_options, &option_index)) != -1)
- {
- switch(ret)
- {
- case 0:
- if(!strcmp(long_options[option_index].name, "managed")) {
- if(!opt->managed){
- if(!opt->quiet)
- fprintf(stderr,
- _("Enabling bitrate management engine\n"));
- opt->managed = 1;
- }
- }
- else if(!strcmp(long_options[option_index].name,
- "raw-endianness")) {
- if (opt->rawmode != 1)
- {
- opt->rawmode = 1;
- fprintf(stderr, _("WARNING: Raw endianness specified for non-raw data. Assuming input is raw.\n"));
- }
- if(sscanf(optarg, "%d", &opt->raw_endianness) != 1) {
- fprintf(stderr, _("WARNING: Couldn't read endianness argument \"%s\"\n"), optarg);
- opt->raw_endianness = 0;
- }
- }
- else if(!strcmp(long_options[option_index].name,
- "resample")) {
- if(sscanf(optarg, "%d", &opt->resamplefreq) != 1) {
- fprintf(stderr, _("WARNING: Couldn't read resampling frequency \"%s\"\n"), optarg);
- opt->resamplefreq = 0;
- }
- if(opt->resamplefreq < 100) /* User probably specified it
- in kHz accidently */
- fprintf(stderr,
- _("Warning: Resample rate specified as %d Hz. Did you mean %d Hz?\n"),
- opt->resamplefreq, opt->resamplefreq*1000);
- }
- else if(!strcmp(long_options[option_index].name, "downmix")) {
- opt->downmix = 1;
- }
- else if(!strcmp(long_options[option_index].name, "scale")) {
- opt->scale = atof(optarg);
- if(sscanf(optarg, "%f", &opt->scale) != 1) {
- opt->scale = 0;
- fprintf(stderr, _("Warning: Couldn't parse scaling factor \"%s\"\n"),
- optarg);
- }
- }
- else if(!strcmp(long_options[option_index].name, "advanced-encode-option")) {
- char *arg = strdup(optarg);
- char *val;
-
- val = strchr(arg, '=');
- if(val == NULL) {
- fprintf(stderr, _("No value for advanced encoder option found\n"));
- continue;
- }
- else
- *val++=0;
-
- opt->advopt = realloc(opt->advopt, (++opt->advopt_count)*sizeof(adv_opt));
- opt->advopt[opt->advopt_count - 1].arg = arg;
- opt->advopt[opt->advopt_count - 1].val = val;
- }
- else if(!strcmp(long_options[option_index].name, "discard-comments")) {
- opt->copy_comments = 0;
- }
-
- else {
- fprintf(stderr, _("Internal error parsing command line options\n"));
- exit(1);
- }
-
- break;
- case 'a':
- opt->artist = realloc(opt->artist, (++opt->artist_count)*sizeof(char *));
- opt->artist[opt->artist_count - 1] = strdup(optarg);
- break;
- case 'c':
- if(strchr(optarg, '=') == NULL) {
- fprintf(stderr, _("Warning: Illegal comment used (\"%s\"), ignoring.\n"), optarg);
- break;
- }
- opt->comments = realloc(opt->comments, (++opt->comment_count)*sizeof(char *));
- opt->comments[opt->comment_count - 1] = strdup(optarg);
- break;
- case 'd':
- opt->dates = realloc(opt->dates, (++opt->date_count)*sizeof(char *));
- opt->dates[opt->date_count - 1] = strdup(optarg);
- break;
- case 'G':
- opt->genre = realloc(opt->genre, (++opt->genre_count)*sizeof(char *));
- opt->genre[opt->genre_count - 1] = strdup(optarg);
- break;
- case 'h':
- usage();
- exit(0);
- break;
- case 'l':
- opt->album = realloc(opt->album, (++opt->album_count)*sizeof(char *));
- opt->album[opt->album_count - 1] = strdup(optarg);
- break;
- case 's':
- /* Would just use atoi(), but that doesn't deal with unsigned
- * ints. Damn */
- if(sscanf(optarg, "%u", &opt->serial) != 1)
- opt->serial = 0; /* Failed, so just set to zero */
- break;
- case 't':
- opt->title = realloc(opt->title, (++opt->title_count)*sizeof(char *));
- opt->title[opt->title_count - 1] = strdup(optarg);
- break;
- case 'b':
- if(sscanf(optarg, "%d", &opt->nominal_bitrate)
- != 1) {
- fprintf(stderr, _("Warning: nominal bitrate \"%s\" not recognised\n"), optarg);
- opt->nominal_bitrate = -1;
- }
-
- break;
- case 'm':
- if(sscanf(optarg, "%d", &opt->min_bitrate)
- != 1) {
- fprintf(stderr, _("Warning: minimum bitrate \"%s\" not recognised\n"), optarg);
- opt->min_bitrate = -1;
- }
- if(!opt->managed){
- if(!opt->quiet)
- fprintf(stderr,
- _("Enabling bitrate management engine\n"));
- opt->managed = 1;
- }
- break;
- case 'M':
- if(sscanf(optarg, "%d", &opt->max_bitrate)
- != 1) {
- fprintf(stderr, _("Warning: maximum bitrate \"%s\" not recognised\n"), optarg);
- opt->max_bitrate = -1;
- }
- if(!opt->managed){
- if(!opt->quiet)
- fprintf(stderr,
- _("Enabling bitrate management engine\n"));
- opt->managed = 1;
- }
- break;
- case 'q':
- if(sscanf(optarg, "%f", &opt->quality) != 1) {
- fprintf(stderr, _("Quality option \"%s\" not recognised, ignoring\n"), optarg);
- break;
- }
- opt->quality_set=1;
- opt->quality *= 0.1;
- if(opt->quality > 1.0f)
- {
- opt->quality = 1.0f;
- fprintf(stderr, _("WARNING: quality setting too high, setting to maximum quality.\n"));
- }
- break;
- case 'n':
- if(opt->namefmt)
- {
- fprintf(stderr, _("WARNING: Multiple name formats specified, using final\n"));
- free(opt->namefmt);
- }
- opt->namefmt = strdup(optarg);
- break;
- case 'X':
- if(opt->namefmt_remove && opt->namefmt_remove !=
- DEFAULT_NAMEFMT_REMOVE)
- {
- fprintf(stderr, _("WARNING: Multiple name format filters specified, using final\n"));
- free(opt->namefmt_remove);
- }
- opt->namefmt_remove = strdup(optarg);
- break;
- case 'P':
- if(opt->namefmt_replace && opt->namefmt_replace !=
- DEFAULT_NAMEFMT_REPLACE)
- {
- fprintf(stderr, _("WARNING: Multiple name format filter replacements specified, using final\n"));
- free(opt->namefmt_replace);
- }
- opt->namefmt_replace = strdup(optarg);
- break;
- case 'o':
- if(opt->outfile)
- {
- fprintf(stderr, _("WARNING: Multiple output files specified, suggest using -n\n"));
- free(opt->outfile);
- }
- opt->outfile = strdup(optarg);
- break;
- case 'Q':
- opt->quiet = 1;
- break;
- case 'r':
- opt->rawmode = 1;
- break;
- case 'v':
- fprintf(stdout, VERSION_STRING);
- exit(0);
- break;
- case 'B':
- if (opt->rawmode != 1)
- {
- opt->rawmode = 1;
- fprintf(stderr, _("WARNING: Raw bits/sample specified for non-raw data. Assuming input is raw.\n"));
- }
- if(sscanf(optarg, "%u", &opt->raw_samplesize) != 1)
- {
- opt->raw_samplesize = 16; /* Failed, so just set to 16 */
- fprintf(stderr, _("WARNING: Invalid bits/sample specified, assuming 16.\n"));
- }
- if((opt->raw_samplesize != 8) && (opt->raw_samplesize != 16))
- {
- fprintf(stderr, _("WARNING: Invalid bits/sample specified, assuming 16.\n"));
- }
- break;
- case 'C':
- if (opt->rawmode != 1)
- {
- opt->rawmode = 1;
- fprintf(stderr, _("WARNING: Raw channel count specified for non-raw data. Assuming input is raw.\n"));
- }
- if(sscanf(optarg, "%u", &opt->raw_channels) != 1)
- {
- opt->raw_channels = 2; /* Failed, so just set to 2 */
- fprintf(stderr, _("WARNING: Invalid channel count specified, assuming 2.\n"));
- }
- break;
- case 'N':
- opt->tracknum = realloc(opt->tracknum, (++opt->track_count)*sizeof(char *));
- opt->tracknum[opt->track_count - 1] = strdup(optarg);
- break;
- case 'R':
- if (opt->rawmode != 1)
- {
- opt->rawmode = 1;
- fprintf(stderr, _("WARNING: Raw sample rate specified for non-raw data. Assuming input is raw.\n"));
- }
- if(sscanf(optarg, "%u", &opt->raw_samplerate) != 1)
- {
- opt->raw_samplerate = 44100; /* Failed, so just set to 44100 */
- fprintf(stderr, _("WARNING: Invalid sample rate specified, assuming 44100.\n"));
- }
- break;
- case '?':
- fprintf(stderr, _("WARNING: Unknown option specified, ignoring->\n"));
- break;
- default:
- usage();
- exit(0);
- }
- }
-
-}
-
-static void add_tag(vorbis_comment *vc, oe_options *opt,char *name, char *value)
-{
- if(name == NULL)
- vorbis_comment_add(vc, value);
- else
- vorbis_comment_add_tag(vc, name, value);
-}
-
-static void build_comments(vorbis_comment *vc, oe_options *opt, int filenum,
- char **artist, char **album, char **title, char **tracknum,
- char **date, char **genre)
-{
- int i;
-
- vorbis_comment_init(vc);
-
- for(i = 0; i < opt->comment_count; i++)
- add_tag(vc, opt, NULL, opt->comments[i]);
-
- if(opt->title_count)
- {
- if(filenum >= opt->title_count)
- {
- if(!opt->quiet)
- fprintf(stderr, _("WARNING: Insufficient titles specified, defaulting to final title.\n"));
- i = opt->title_count-1;
- }
- else
- i = filenum;
-
- *title = opt->title[i];
- add_tag(vc, opt, "title", opt->title[i]);
- }
-
- if(opt->artist_count)
- {
- if(filenum >= opt->artist_count)
- i = opt->artist_count-1;
- else
- i = filenum;
-
- *artist = opt->artist[i];
- add_tag(vc, opt, "artist", opt->artist[i]);
- }
-
- if(opt->genre_count)
- {
- if(filenum >= opt->genre_count)
- i = opt->genre_count-1;
- else
- i = filenum;
-
- *genre = opt->genre[i];
- add_tag(vc, opt, "genre", opt->genre[i]);
- }
-
- if(opt->date_count)
- {
- if(filenum >= opt->date_count)
- i = opt->date_count-1;
- else
- i = filenum;
-
- *date = opt->dates[i];
- add_tag(vc, opt, "date", opt->dates[i]);
- }
-
- if(opt->album_count)
- {
- if(filenum >= opt->album_count)
- {
- i = opt->album_count-1;
- }
- else
- i = filenum;
-
- *album = opt->album[i];
- add_tag(vc, opt, "album", opt->album[i]);
- }
-
- if(filenum < opt->track_count)
- {
- i = filenum;
- *tracknum = opt->tracknum[i];
- add_tag(vc, opt, "tracknumber", opt->tracknum[i]);
- }
-}
-
-/* OggEnc
- **
- ** This program is distributed under the GNU General Public License, version 2.
- ** A copy of this license is included with this source.
- **
- ** Copyright 2000-2002, Michael Smith
- **
- ** AIFF/AIFC support from OggSquish, (c) 1994-1996 Monty
- **/
-
-
-/* This program is licensed under the GNU Library General Public License,
- * version 2, a copy of which is included with this program (LICENCE.LGPL).
- *
- * (c) 2002 Simon Hosie
- *
- *
- * A resampler
- *
- * reference:
- * 'Digital Filters', third edition, by R. W. Hamming ISBN 0-486-65088-X
- *
- * history:
- * 2002-05-31 ready for the world (or some small section thereof)
- *
- *
- * TOOD:
- * zero-crossing clipping in coefficient table
- */
-
-#define _RESAMPLE_H_INCLUDED
-
-typedef float SAMPLE;
-
-typedef struct
-{
- unsigned int channels, infreq, outfreq, taps;
- float *table;
- SAMPLE *pool;
-
- /* dynamic bits */
- int poolfill;
- int offset;
-} res_state;
-
-typedef enum
-{
- RES_END,
- RES_GAIN, /* (double)1.0 */
- RES_CUTOFF, /* (double)0.80 */
- RES_TAPS, /* (int)45 */
- RES_BETA /* (double)16.0 */
-} res_parameter;
-
-int res_init(res_state *state, int channels, int outfreq, int infreq, res_parameter op1, ...);
-/*
- * Configure *state to manage a data stream with the specified parameters. The
- * string 'params' is currently unspecified, but will configure the parameters
- * of the filter.
- *
- * This function allocates memory, and requires that res_clear() be called when
- * the buffer is no longer needed.
- *
- *
- * All counts/lengths used in the following functions consider only the data in
- * a single channel, and in numbers of samples rather than bytes, even though
- * functionality will be mirrored across as many channels as specified here.
- */
-
-
-int res_push_max_input(res_state const *state, size_t maxoutput);
-/*
- * Returns the maximum number of input elements that may be provided without
- * risk of flooding an output buffer of size maxoutput. maxoutput is
- * specified in counts of elements, NOT in bytes.
- */
-
-
-int res_push_check(res_state const *state, size_t srclen);
-/*
- * Returns the number of elements that will be returned if the given srclen
- * is used in the next call to res_push().
- */
-
-
-int res_push(res_state *state, SAMPLE **dstlist, SAMPLE const **srclist, size_t srclen);
-int res_push_interleaved(res_state *state, SAMPLE *dest, SAMPLE const *source, size_t srclen);
-/*
- * Pushes srclen samples into the front end of the filter, and returns the
- * number of resulting samples.
- *
- * res_push(): srclist and dstlist point to lists of pointers, each of which
- * indicates the beginning of a list of samples.
- *
- * res_push_interleaved(): source and dest point to the beginning of a list of
- * interleaved samples.
- */
-
-
-int res_drain(res_state *state, SAMPLE **dstlist);
-int res_drain_interleaved(res_state *state, SAMPLE *dest);
-/*
- * Recover the remaining elements by flushing the internal pool with 0 values,
- * and storing the resulting samples.
- *
- * After either of these functions are called, *state should only re-used in a
- * final call to res_clear().
- */
-
-
-void res_clear(res_state *state);
-/*
- * Free allocated buffers, etc.
- */
-
-#define WAV_HEADER_SIZE 44
-
-/* Macros to read header data */
-#define READ_U32_LE(buf) \
- (((buf)[3]<<24)|((buf)[2]<<16)|((buf)[1]<<8)|((buf)[0]&0xff))
-
-#define READ_U16_LE(buf) \
- (((buf)[1]<<8)|((buf)[0]&0xff))
-
-#define READ_U32_BE(buf) \
- (((buf)[0]<<24)|((buf)[1]<<16)|((buf)[2]<<8)|((buf)[3]&0xff))
-
-#define READ_U16_BE(buf) \
- (((buf)[0]<<8)|((buf)[1]&0xff))
-
-/* Define the supported formats here */
-input_format formats[] = {
- {wav_id, 12, wav_open, wav_close, "wav", N_("WAV file reader")},
- {aiff_id, 12, aiff_open, wav_close, "aiff", N_("AIFF/AIFC file reader")},
-#ifdef HAVE_LIBFLAC
- {flac_id, 4, flac_open, flac_close, "flac", N_("FLAC file reader")},
- {oggflac_id, 32, flac_open, flac_close, "ogg", N_("Ogg FLAC file reader")},
-#endif
- {NULL, 0, NULL, NULL, NULL, NULL}
-};
-
-input_format *open_audio_file(FILE *in, oe_enc_opt *opt)
-{
- int j=0;
- unsigned char *buf=NULL;
- int buf_size=0, buf_filled=0;
- int size,ret;
-
- while(formats[j].id_func)
- {
- size = formats[j].id_data_len;
- if(size >= buf_size)
- {
- buf = realloc(buf, size);
- buf_size = size;
- }
-
- if(size > buf_filled)
- {
- ret = fread(buf+buf_filled, 1, buf_size-buf_filled, in);
- buf_filled += ret;
-
- if(buf_filled < size)
- { /* File truncated */
- j++;
- continue;
- }
- }
-
- if(formats[j].id_func(buf, buf_filled))
- {
- /* ok, we now have something that can handle the file */
- if(formats[j].open_func(in, opt, buf, buf_filled)) {
- free(buf);
- return &formats[j];
- }
- }
- j++;
- }
-
- free(buf);
-
- return NULL;
-}
-
-static int seek_forward(FILE *in, int length)
-{
- if(fseek(in, length, SEEK_CUR))
- {
- /* Failed. Do it the hard way. */
- unsigned char buf[1024];
- int seek_needed = length, seeked;
- while(seek_needed > 0)
- {
- seeked = fread(buf, 1, seek_needed>1024?1024:seek_needed, in);
- if(!seeked)
- return 0; /* Couldn't read more, can't read file */
- else
- seek_needed -= seeked;
- }
- }
- return 1;
-}
-
-
-static int find_wav_chunk(FILE *in, char *type, unsigned int *len)
-{
- unsigned char buf[8];
-
- while(1)
- {
- if(fread(buf,1,8,in) < 8) /* Suck down a chunk specifier */
- {
- fprintf(stderr, _("Warning: Unexpected EOF in reading WAV header\n"));
- return 0; /* EOF before reaching the appropriate chunk */
- }
-
- if(memcmp(buf, type, 4))
- {
- *len = READ_U32_LE(buf+4);
- if(!seek_forward(in, *len))
- return 0;
-
- buf[4] = 0;
- fprintf(stderr, _("Skipping chunk of type \"%s\", length %d\n"), buf, *len);
- }
- else
- {
- *len = READ_U32_LE(buf+4);
- return 1;
- }
- }
-}
-
-static int find_aiff_chunk(FILE *in, char *type, unsigned int *len)
-{
- unsigned char buf[8];
-
- while(1)
- {
- if(fread(buf,1,8,in) <8)
- {
- fprintf(stderr, _("Warning: Unexpected EOF in AIFF chunk\n"));
- return 0;
- }
-
- *len = READ_U32_BE(buf+4);
-
- if(memcmp(buf,type,4))
- {
- if((*len) & 0x1)
- (*len)++;
-
- if(!seek_forward(in, *len))
- return 0;
- }
- else
- return 1;
- }
-}
-
-
-
-double read_IEEE80(unsigned char *buf)
-{
- int s=buf[0]&0xff;
- int e=((buf[0]&0x7f)<<8)|(buf[1]&0xff);
- double f=((unsigned long)(buf[2]&0xff)<<24)|
- ((buf[3]&0xff)<<16)|
- ((buf[4]&0xff)<<8) |
- (buf[5]&0xff);
-
- if(e==32767)
- {
- if(buf[2]&0x80)
- return HUGE_VAL; /* Really NaN, but this won't happen in reality */
- else
- {
- if(s)
- return -HUGE_VAL;
- else
- return HUGE_VAL;
- }
- }
-
- f=ldexp(f,32);
- f+= ((buf[6]&0xff)<<24)|
- ((buf[7]&0xff)<<16)|
- ((buf[8]&0xff)<<8) |
- (buf[9]&0xff);
-
- return ldexp(f, e-16446);
-}
-
-/* AIFF/AIFC support adapted from the old OggSQUISH application */
-int aiff_id(unsigned char *buf, int len)
-{
- if(len<12) return 0; /* Truncated file, probably */
-
- if(memcmp(buf, "FORM", 4))
- return 0;
-
- if(memcmp(buf+8, "AIF",3))
- return 0;
-
- if(buf[11]!='C' && buf[11]!='F')
- return 0;
-
- return 1;
-}
-
-int aiff_open(FILE *in, oe_enc_opt *opt, unsigned char *buf, int buflen)
-{
- int aifc; /* AIFC or AIFF? */
- unsigned int len;
- unsigned char *buffer;
- unsigned char buf2[8];
- aiff_fmt format;
- aifffile *aiff = malloc(sizeof(aifffile));
-
- if(buf[11]=='C')
- aifc=1;
- else
- aifc=0;
-
- if(!find_aiff_chunk(in, "COMM", &len))
- {
- fprintf(stderr, _("Warning: No common chunk found in AIFF file\n"));
- return 0; /* EOF before COMM chunk */
- }
-
- if(len < 18)
- {
- fprintf(stderr, _("Warning: Truncated common chunk in AIFF header\n"));
- return 0; /* Weird common chunk */
- }
-
- buffer = alloca(len);
-
- if(fread(buffer,1,len,in) < len)
- {
- fprintf(stderr, _("Warning: Unexpected EOF in reading AIFF header\n"));
- return 0;
- }
-
- format.channels = READ_U16_BE(buffer);
- format.totalframes = READ_U32_BE(buffer+2);
- format.samplesize = READ_U16_BE(buffer+6);
- format.rate = (int)read_IEEE80(buffer+8);
-
- aiff->bigendian = 1;
-
- if(aifc)
- {
- if(len < 22)
- {
- fprintf(stderr, _("Warning: AIFF-C header truncated.\n"));
- return 0;
- }
-
- if(!memcmp(buffer+18, "NONE", 4))
- {
- aiff->bigendian = 1;
- }
- else if(!memcmp(buffer+18, "sowt", 4))
- {
- aiff->bigendian = 0;
- }
- else
- {
- fprintf(stderr, _("Warning: Can't handle compressed AIFF-C (%c%c%c%c)\n"), *(buffer+18), *(buffer+19), *(buffer+20), *(buffer+21));
- return 0; /* Compressed. Can't handle */
- }
- }
-
- if(!find_aiff_chunk(in, "SSND", &len))
- {
- fprintf(stderr, _("Warning: No SSND chunk found in AIFF file\n"));
- return 0; /* No SSND chunk -> no actual audio */
- }
-
- if(len < 8)
- {
- fprintf(stderr, _("Warning: Corrupted SSND chunk in AIFF header\n"));
- return 0;
- }
-
- if(fread(buf2,1,8, in) < 8)
- {
- fprintf(stderr, _("Warning: Unexpected EOF reading AIFF header\n"));
- return 0;
- }
-
- format.offset = READ_U32_BE(buf2);
- format.blocksize = READ_U32_BE(buf2+4);
-
- if( format.blocksize == 0 &&
- (format.samplesize == 16 || format.samplesize == 8))
- {
- /* From here on, this is very similar to the wav code. Oh well. */
-
- opt->rate = format.rate;
- opt->channels = format.channels;
- opt->read_samples = wav_read; /* Similar enough, so we use the same */
- opt->total_samples_per_channel = format.totalframes;
-
- aiff->f = in;
- aiff->samplesread = 0;
- aiff->channels = format.channels;
- aiff->samplesize = format.samplesize;
- aiff->totalsamples = format.totalframes;
-
- opt->readdata = (void *)aiff;
-
- seek_forward(in, format.offset); /* Swallow some data */
- return 1;
- }
- else
- {
- fprintf(stderr,
- _("Warning: OggEnc does not support this type of AIFF/AIFC file\n"
- " Must be 8, 16, or 24 bit PCM.\n"));
- return 0;
- }
-}
-
-
-int wav_id(unsigned char *buf, int len)
-{
- unsigned int flen;
-
- if(len<12) return 0; /* Something screwed up */
-
- if(memcmp(buf, "RIFF", 4))
- return 0; /* Not wave */
-
- flen = READ_U32_LE(buf+4); /* We don't use this */
-
- if(memcmp(buf+8, "WAVE",4))
- return 0; /* RIFF, but not wave */
-
- return 1;
-}
-
-int wav_open(FILE *in, oe_enc_opt *opt, unsigned char *oldbuf, int buflen)
-{
- unsigned char buf[16];
- unsigned int len;
- int samplesize;
- wav_fmt format;
- wavfile *wav = malloc(sizeof(wavfile));
-
- /* Ok. At this point, we know we have a WAV file. Now we have to detect
- * whether we support the subtype, and we have to find the actual data
- * We don't (for the wav reader) need to use the buffer we used to id this
- * as a wav file (oldbuf)
- */
-
- if(!find_wav_chunk(in, "fmt ", &len))
- return 0; /* EOF */
-
- if(len < 16)
- {
- fprintf(stderr, _("Warning: Unrecognised format chunk in WAV header\n"));
- return 0; /* Weird format chunk */
- }
-
- /* A common error is to have a format chunk that is not 16 or 18 bytes
- * in size. This is incorrect, but not fatal, so we only warn about
- * it instead of refusing to work with the file. Please, if you
- * have a program that's creating format chunks of sizes other than
- * 16 or 18 bytes in size, report a bug to the author.
- */
- if(len!=16 && len!=18)
- fprintf(stderr,
- _("Warning: INVALID format chunk in wav header.\n"
- " Trying to read anyway (may not work)...\n"));
-
- if(fread(buf,1,16,in) < 16)
- {
- fprintf(stderr, _("Warning: Unexpected EOF in reading WAV header\n"));
- return 0;
- }
-
- /* Deal with stupid broken apps. Don't use these programs.
- */
- if(len - 16 > 0 && !seek_forward(in, len-16))
- return 0;
-
- format.format = READ_U16_LE(buf);
- format.channels = READ_U16_LE(buf+2);
- format.samplerate = READ_U32_LE(buf+4);
- format.bytespersec = READ_U32_LE(buf+8);
- format.align = READ_U16_LE(buf+12);
- format.samplesize = READ_U16_LE(buf+14);
-
- if(!find_wav_chunk(in, "data", &len))
- return 0; /* EOF */
-
- if(format.format == 1)
- {
- samplesize = format.samplesize/8;
- opt->read_samples = wav_read;
- }
- else if(format.format == 3)
- {
- samplesize = 4;
- opt->read_samples = wav_ieee_read;
- }
- else
- {
- fprintf(stderr,
- _("ERROR: Wav file is unsupported type (must be standard PCM\n"
- " or type 3 floating point PCM\n"));
- return 0;
- }
-
-
-
- if( format.align == format.channels*samplesize &&
- format.samplesize == samplesize*8 &&
- (format.samplesize == 24 || format.samplesize == 16 ||
- format.samplesize == 8 ||
- (format.samplesize == 32 && format.format == 3)))
- {
- /* OK, good - we have the one supported format,
- now we want to find the size of the file */
- opt->rate = format.samplerate;
- opt->channels = format.channels;
-
- wav->f = in;
- wav->samplesread = 0;
- wav->bigendian = 0;
- wav->channels = format.channels; /* This is in several places. The price
- of trying to abstract stuff. */
- wav->samplesize = format.samplesize;
-
- if(len)
- {
- opt->total_samples_per_channel = len/(format.channels*samplesize);
- }
- else
- {
- long pos;
- pos = ftell(in);
- if(fseek(in, 0, SEEK_END) == -1)
- {
- opt->total_samples_per_channel = 0; /* Give up */
- }
- else
- {
- opt->total_samples_per_channel = (ftell(in) - pos)/
- (format.channels*samplesize);
- fseek(in,pos, SEEK_SET);
- }
- }
- wav->totalsamples = opt->total_samples_per_channel;
-
- opt->readdata = (void *)wav;
- return 1;
- }
- else
- {
- fprintf(stderr,
- _("ERROR: Wav file is unsupported subformat (must be 8,16, or 24 bit PCM\n"
- "or floating point PCM\n"));
- return 0;
- }
-}
-
-long wav_read(void *in, float **buffer, int samples)
-{
- wavfile *f = (wavfile *)in;
- int sampbyte = f->samplesize / 8;
- signed char *buf = alloca(samples*sampbyte*f->channels);
- long bytes_read = fread(buf, 1, samples*sampbyte*f->channels, f->f);
- int i,j;
- long realsamples;
-
- if(f->totalsamples && f->samplesread +
- bytes_read/(sampbyte*f->channels) > f->totalsamples) {
- bytes_read = sampbyte*f->channels*(f->totalsamples - f->samplesread);
- }
-
- realsamples = bytes_read/(sampbyte*f->channels);
- f->samplesread += realsamples;
-
- if(f->samplesize==8)
- {
- unsigned char *bufu = (unsigned char *)buf;
- for(i = 0; i < realsamples; i++)
- {
- for(j=0; j < f->channels; j++)
- {
- buffer[j][i]=((int)(bufu[i*f->channels + j])-128)/128.0f;
- }
- }
- }
- else if(f->samplesize==16)
- {
- if(!f->bigendian)
- {
- for(i = 0; i < realsamples; i++)
- {
- for(j=0; j < f->channels; j++)
- {
- buffer[j][i] = ((buf[i*2*f->channels + 2*j + 1]<<8) |
- (buf[i*2*f->channels + 2*j] & 0xff))/32768.0f;
- }
- }
- }
- else
- {
- for(i = 0; i < realsamples; i++)
- {
- for(j=0; j < f->channels; j++)
- {
- buffer[j][i]=((buf[i*2*f->channels + 2*j]<<8) |
- (buf[i*2*f->channels + 2*j + 1] & 0xff))/32768.0f;
- }
- }
- }
- }
- else if(f->samplesize==24)
- {
- if(!f->bigendian) {
- for(i = 0; i < realsamples; i++)
- {
- for(j=0; j < f->channels; j++)
- {
- buffer[j][i] = ((buf[i*3*f->channels + 3*j + 2] << 16) |
- (((unsigned char *)buf)[i*3*f->channels + 3*j + 1] << 8) |
- (((unsigned char *)buf)[i*3*f->channels + 3*j] & 0xff))
- / 8388608.0f;
-
- }
- }
- }
- else {
- fprintf(stderr, _("Big endian 24 bit PCM data is not currently "
- "supported, aborting.\n"));
- return 0;
- }
- }
- else {
- fprintf(stderr, _("Internal error: attempt to read unsupported "
- "bitdepth %d\n"), f->samplesize);
- return 0;
- }
-
- return realsamples;
-}
-
-long wav_ieee_read(void *in, float **buffer, int samples)
-{
- wavfile *f = (wavfile *)in;
- float *buf = alloca(samples*4*f->channels); /* de-interleave buffer */
- long bytes_read = fread(buf,1,samples*4*f->channels, f->f);
- int i,j;
- long realsamples;
-
-
- if(f->totalsamples && f->samplesread +
- bytes_read/(4*f->channels) > f->totalsamples)
- bytes_read = 4*f->channels*(f->totalsamples - f->samplesread);
- realsamples = bytes_read/(4*f->channels);
- f->samplesread += realsamples;
-
- for(i=0; i < realsamples; i++)
- for(j=0; j < f->channels; j++)
- buffer[j][i] = buf[i*f->channels + j];
-
- return realsamples;
-}
-
-
-void wav_close(void *info)
-{
- wavfile *f = (wavfile *)info;
-
- free(f);
-}
-
-int raw_open(FILE *in, oe_enc_opt *opt)
-{
- wav_fmt format; /* fake wave header ;) */
- wavfile *wav = malloc(sizeof(wavfile));
-
- /* construct fake wav header ;) */
- format.format = 2;
- format.channels = opt->channels;
- format.samplerate = opt->rate;
- format.samplesize = opt->samplesize;
- format.bytespersec = opt->channels * opt->rate * opt->samplesize / 8;
- format.align = format.bytespersec;
- wav->f = in;
- wav->samplesread = 0;
- wav->bigendian = opt->endianness;
- wav->channels = format.channels;
- wav->samplesize = opt->samplesize;
- wav->totalsamples = 0;
-
- opt->read_samples = wav_read;
- opt->readdata = (void *)wav;
- opt->total_samples_per_channel = 0; /* raw mode, don't bother */
- return 1;
-}
-
-typedef struct {
- res_state resampler;
- audio_read_func real_reader;
- void *real_readdata;
- float **bufs;
- int channels;
- int bufsize;
- int done;
-} resampler;
-
-static long read_resampled(void *d, float **buffer, int samples)
-{
- resampler *rs = d;
- long in_samples;
- int out_samples;
-
- in_samples = res_push_max_input(&rs->resampler, samples);
- if(in_samples > rs->bufsize)
- in_samples = rs->bufsize;
-
- in_samples = rs->real_reader(rs->real_readdata, rs->bufs, in_samples);
-
- if(in_samples <= 0) {
- if(!rs->done) {
- rs->done = 1;
- out_samples = res_drain(&rs->resampler, buffer);
- return out_samples;
- }
- return 0;
- }
-
- out_samples = res_push(&rs->resampler, buffer, (float const **)rs->bufs, in_samples);
-
- if(out_samples <= 0) {
- fprintf(stderr, _("BUG: Got zero samples from resampler: your file will be truncated. Please report this.\n"));
- }
-
- return out_samples;
-}
-
-int setup_resample(oe_enc_opt *opt) {
- resampler *rs = calloc(1, sizeof(resampler));
- int c;
-
- rs->bufsize = 4096; /* Shrug */
- rs->real_reader = opt->read_samples;
- rs->real_readdata = opt->readdata;
- rs->bufs = malloc(sizeof(float *) * opt->channels);
- rs->channels = opt->channels;
- rs->done = 0;
- if(res_init(&rs->resampler, rs->channels, opt->resamplefreq, opt->rate, RES_END))
- {
- fprintf(stderr, _("Couldn't initialise resampler\n"));
- return -1;
- }
-
- for(c=0; c < opt->channels; c++)
- rs->bufs[c] = malloc(sizeof(float) * rs->bufsize);
-
- opt->read_samples = read_resampled;
- opt->readdata = rs;
- if(opt->total_samples_per_channel)
- opt->total_samples_per_channel = (int)((float)opt->total_samples_per_channel *
- ((float)opt->resamplefreq/(float)opt->rate));
- opt->rate = opt->resamplefreq;
-
- return 0;
-}
-
-void clear_resample(oe_enc_opt *opt) {
- resampler *rs = opt->readdata;
- int i;
-
- opt->read_samples = rs->real_reader;
- opt->readdata = rs->real_readdata;
- res_clear(&rs->resampler);
-
- for(i = 0; i < rs->channels; i++)
- free(rs->bufs[i]);
-
- free(rs->bufs);
-
- free(rs);
-}
-
-typedef struct {
- audio_read_func real_reader;
- void *real_readdata;
- int channels;
- float scale_factor;
-} scaler;
-
-static long read_scaler(void *data, float **buffer, int samples) {
- scaler *d = data;
- long in_samples = d->real_reader(d->real_readdata, buffer, samples);
- int i,j;
-
- for(i=0; i < d->channels; i++) {
- for(j=0; j < in_samples; j++) {
- buffer[i][j] *= d->scale_factor;
- }
- }
-
- return in_samples;
-}
-
-
-void setup_scaler(oe_enc_opt *opt, float scale) {
- scaler *d = calloc(1, sizeof(scaler));
-
- d->real_reader = opt->read_samples;
- d->real_readdata = opt->readdata;
-
- opt->read_samples = read_scaler;
- opt->readdata = d;
- d->channels = opt->channels;
- d->scale_factor = scale;
-}
-
-void clear_scaler(oe_enc_opt *opt) {
- scaler *d = opt->readdata;
-
- opt->read_samples = d->real_reader;
- opt->readdata = d->real_readdata;
-
- free(d);
-}
-
-typedef struct {
- audio_read_func real_reader;
- void *real_readdata;
- float **bufs;
-} downmix;
-
-static long read_downmix(void *data, float **buffer, int samples)
-{
- downmix *d = data;
- long in_samples = d->real_reader(d->real_readdata, d->bufs, samples);
- int i;
-
- for(i=0; i < in_samples; i++) {
- buffer[0][i] = (d->bufs[0][i] + d->bufs[1][i])*0.5f;
- }
-
- return in_samples;
-}
-
-void setup_downmix(oe_enc_opt *opt) {
- downmix *d = calloc(1, sizeof(downmix));
-
- if(opt->channels != 2) {
- fprintf(stderr, "Internal error! Please report this bug.\n");
- return;
- }
-
- d->bufs = malloc(2 * sizeof(float *));
- d->bufs[0] = malloc(4096 * sizeof(float));
- d->bufs[1] = malloc(4096 * sizeof(float));
- d->real_reader = opt->read_samples;
-
- d->real_readdata = opt->readdata;
-
- opt->read_samples = read_downmix;
- opt->readdata = d;
-
- opt->channels = 1;
-}
-void clear_downmix(oe_enc_opt *opt) {
- downmix *d = opt->readdata;
-
- opt->read_samples = d->real_reader;
- opt->readdata = d->real_readdata;
- opt->channels = 2; /* other things in cleanup rely on this */
-
- free(d->bufs[0]);
- free(d->bufs[1]);
- free(d->bufs);
- free(d);
-}
-
-/* OggEnc
- **
- ** This program is distributed under the GNU General Public License, version 2.
- ** A copy of this license is included with this source.
- **
- ** Copyright 2000-2002, Michael Smith
- **
- ** Portions from Vorbize, (c) Kenneth Arnold
- ** and libvorbis examples, (c) Monty
- **/
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: vorbis encode-engine setup
- last mod: $Id: vorbisenc.h,v 1.10 2002/07/01 11:20:10 xiphmont Exp $
-
- ********************************************************************/
-
-#define _OV_ENC_H_
-
-extern int vorbis_encode_init(vorbis_info *vi,
- long channels,
- long rate,
-
- long max_bitrate,
- long nominal_bitrate,
- long min_bitrate);
-
-extern int vorbis_encode_setup_managed(vorbis_info *vi,
- long channels,
- long rate,
-
- long max_bitrate,
- long nominal_bitrate,
- long min_bitrate);
-
-extern int vorbis_encode_setup_vbr(vorbis_info *vi,
- long channels,
- long rate,
-
- float /* quality level from 0. (lo) to 1. (hi) */
- );
-
-extern int vorbis_encode_init_vbr(vorbis_info *vi,
- long channels,
- long rate,
-
- float base_quality /* quality level from 0. (lo) to 1. (hi) */
- );
-
-extern int vorbis_encode_setup_init(vorbis_info *vi);
-
-extern int vorbis_encode_ctl(vorbis_info *vi,int number,void *arg);
-
-#define OV_ECTL_RATEMANAGE_GET 0x10
-
-#define OV_ECTL_RATEMANAGE_SET 0x11
-#define OV_ECTL_RATEMANAGE_AVG 0x12
-#define OV_ECTL_RATEMANAGE_HARD 0x13
-
-#define OV_ECTL_LOWPASS_GET 0x20
-#define OV_ECTL_LOWPASS_SET 0x21
-
-#define OV_ECTL_IBLOCK_GET 0x30
-#define OV_ECTL_IBLOCK_SET 0x31
-
-struct ovectl_ratemanage_arg {
- int management_active;
-
- long bitrate_hard_min;
- long bitrate_hard_max;
- double bitrate_hard_window;
-
- long bitrate_av_lo;
- long bitrate_av_hi;
- double bitrate_av_window;
- double bitrate_av_window_center;
-};
-
-#define READSIZE 1024
-
-
-int oe_write_page(ogg_page *page, FILE *fp);
-
-#define SETD(toset) \
- do {\
- if(sscanf(opts[i].val, "%lf", &dval) != 1)\
- fprintf(stderr, "For option %s, couldn't read value %s as double\n",\
- opts[i].arg, opts[i].val);\
- else\
- toset = dval;\
- } while(0)
-
-#define SETL(toset) \
- do {\
- if(sscanf(opts[i].val, "%ld", &lval) != 1)\
- fprintf(stderr, "For option %s, couldn't read value %s as integer\n",\
- opts[i].arg, opts[i].val);\
- else\
- toset = lval;\
- } while(0)
-
-static void set_advanced_encoder_options(adv_opt *opts, int count,
- vorbis_info *vi)
-{
- int hard = 0;
- int avg = 0;
- struct ovectl_ratemanage_arg ai;
- int i;
- double dval;
- long lval;
-
- vorbis_encode_ctl(vi, OV_ECTL_RATEMANAGE_GET, &ai);
-
- for(i=0; i < count; i++) {
- fprintf(stderr, _("Setting advanced encoder option \"%s\" to %s\n"),
- opts[i].arg, opts[i].val);
-
- if(!strcmp(opts[i].arg, "bitrate_average_window")) {
- SETD(ai.bitrate_av_window);
- avg = 1;
- }
- else if(!strcmp(opts[i].arg, "bitrate_average_window_center")) {
- SETD(ai.bitrate_av_window_center);
- avg = 1;
- }
- else if(!strcmp(opts[i].arg, "bitrate_average_low")) {
- SETL(ai.bitrate_av_lo);
- avg = 1;
- }
- else if(!strcmp(opts[i].arg, "bitrate_average_high")) {
- SETL(ai.bitrate_av_hi);
- avg = 1;
- }
- else if(!strcmp(opts[i].arg, "bitrate_hard_min")) {
- SETL(ai.bitrate_hard_min);
- hard = 1;
- }
- else if(!strcmp(opts[i].arg, "bitrate_hard_max")) {
- SETL(ai.bitrate_hard_max);
- hard = 1;
- }
- else if(!strcmp(opts[i].arg, "bitrate_hard_window")) {
- SETD(ai.bitrate_hard_window);
- hard = 1;
- }
- else if(!strcmp(opts[i].arg, "impulse_noisetune")) {
- double val;
- SETD(val);
- vorbis_encode_ctl(vi, OV_ECTL_IBLOCK_SET, &val);
- }
- else if(!strcmp(opts[i].arg, "lowpass_frequency")) {
- double prev, new;
- SETD(new);
- vorbis_encode_ctl(vi, OV_ECTL_LOWPASS_GET, &prev);
- vorbis_encode_ctl(vi, OV_ECTL_LOWPASS_SET, &new);
- fprintf(stderr, _("Changed lowpass frequency from %f kHz to %f kHz\n"), prev, new);
- }
- else {
- fprintf(stderr, _("Unrecognised advanced option \"%s\"\n"),
- opts[i].arg);
- }
- }
-
- if(hard)
- vorbis_encode_ctl(vi, OV_ECTL_RATEMANAGE_HARD, &ai);
- if(avg)
- vorbis_encode_ctl(vi, OV_ECTL_RATEMANAGE_AVG, &ai);
-}
-
-int oe_encode(oe_enc_opt *opt)
-{
-
- ogg_stream_state os;
- ogg_page og;
- ogg_packet op;
-
- vorbis_dsp_state vd;
- vorbis_block vb;
- vorbis_info vi;
-
- long samplesdone=0;
- int eos;
- long bytes_written = 0, packetsdone=0;
- double time_elapsed;
- int ret=0;
- TIMER *timer;
-
- if(opt->channels > 255) {
- fprintf(stderr, _("255 channels should be enough for anyone. (Sorry, vorbis doesn't support more)\n"));
- return 1;
- }
-
- /* get start time. */
- timer = timer_start();
-
- if(!opt->managed && (opt->min_bitrate>=0 || opt->max_bitrate>=0)){
- fprintf(stderr, _("Requesting a minimum or maximum bitrate requires --managed\n"));
- return 1;
- }
-
- /* if we had no quality or bitrate spec at all from the user, use
- the default quality with no management --Monty 20020711 */
- if(opt->bitrate < 0 && opt->min_bitrate < 0 && opt->max_bitrate < 0){
- opt->quality_set=1;
- }
-
- opt->start_encode(opt->infilename, opt->filename, opt->bitrate, opt->quality,
- opt->quality_set, opt->managed, opt->min_bitrate, opt->max_bitrate);
-
- /* Have vorbisenc choose a mode for us */
- vorbis_info_init(&vi);
-
- if(opt->quality_set > 0){
- if(vorbis_encode_setup_vbr(&vi, opt->channels, opt->rate, opt->quality)){
- fprintf(stderr, _("Mode initialisation failed: invalid parameters for quality\n"));
- vorbis_info_clear(&vi);
- return 1;
- }
-
- /* do we have optional hard quality restrictions? */
- if(opt->max_bitrate > 0 || opt->min_bitrate > 0){
- struct ovectl_ratemanage_arg ai;
- vorbis_encode_ctl(&vi, OV_ECTL_RATEMANAGE_GET, &ai);
-
- ai.bitrate_hard_min=opt->min_bitrate;
- ai.bitrate_hard_max=opt->max_bitrate;
- ai.management_active=1;
-
- vorbis_encode_ctl(&vi, OV_ECTL_RATEMANAGE_SET, &ai);
-
- }
-
-
- }else {
- if(vorbis_encode_setup_managed(&vi, opt->channels, opt->rate,
- opt->max_bitrate>0?opt->max_bitrate*1000:-1,
- opt->bitrate*1000,
- opt->min_bitrate>0?opt->min_bitrate*1000:-1)){
- fprintf(stderr, _("Mode initialisation failed: invalid parameters for bitrate\n"));
- vorbis_info_clear(&vi);
- return 1;
- }
- }
-
- if(opt->managed && opt->bitrate < 0)
- {
- vorbis_encode_ctl(&vi, OV_ECTL_RATEMANAGE_AVG, NULL);
- }
- else if(!opt->managed)
- {
- /* Turn off management entirely (if it was turned on). */
- vorbis_encode_ctl(&vi, OV_ECTL_RATEMANAGE_SET, NULL);
- }
-
- set_advanced_encoder_options(opt->advopt, opt->advopt_count, &vi);
-
- vorbis_encode_setup_init(&vi);
-
-
- /* Now, set up the analysis engine, stream encoder, and other
- preparation before the encoding begins.
- */
-
- vorbis_analysis_init(&vd,&vi);
- vorbis_block_init(&vd,&vb);
-
- ogg_stream_init(&os, opt->serialno);
-
- /* Now, build the three header packets and send through to the stream
- output stage (but defer actual file output until the main encode loop) */
-
- {
- ogg_packet header_main;
- ogg_packet header_comments;
- ogg_packet header_codebooks;
- int result;
-
- /* Build the packets */
- vorbis_analysis_headerout(&vd,opt->comments,
- &header_main,&header_comments,&header_codebooks);
-
- /* And stream them out */
- ogg_stream_packetin(&os,&header_main);
- ogg_stream_packetin(&os,&header_comments);
- ogg_stream_packetin(&os,&header_codebooks);
-
- while((result = ogg_stream_flush(&os, &og)))
- {
- if(!result) break;
- ret = oe_write_page(&og, opt->out);
- if(ret != og.header_len + og.body_len)
- {
- opt->error(_("Failed writing header to output stream\n"));
- ret = 1;
- goto cleanup; /* Bail and try to clean up stuff */
- }
- }
- }
-
- eos = 0;
-
- /* Main encode loop - continue until end of file */
- while(!eos)
- {
- float **buffer = vorbis_analysis_buffer(&vd, READSIZE);
- long samples_read = opt->read_samples(opt->readdata,
- buffer, READSIZE);
-
- if(samples_read ==0)
- /* Tell the library that we wrote 0 bytes - signalling the end */
- vorbis_analysis_wrote(&vd,0);
- else
- {
- samplesdone += samples_read;
-
- /* Call progress update every 40 pages */
- if(packetsdone>=40)
- {
- double time;
-
- packetsdone = 0;
- time = timer_time(timer);
-
- opt->progress_update(opt->filename, opt->total_samples_per_channel,
- samplesdone, time);
- }
-
- /* Tell the library how many samples (per channel) we wrote
- into the supplied buffer */
- vorbis_analysis_wrote(&vd, samples_read);
- }
-
- /* While we can get enough data from the library to analyse, one
- block at a time... */
- while(vorbis_analysis_blockout(&vd,&vb)==1)
- {
-
- /* Do the main analysis, creating a packet */
- vorbis_analysis(&vb, NULL);
- vorbis_bitrate_addblock(&vb);
-
- while(vorbis_bitrate_flushpacket(&vd, &op))
- {
- /* Add packet to bitstream */
- ogg_stream_packetin(&os,&op);
- packetsdone++;
-
- /* If we've gone over a page boundary, we can do actual output,
- so do so (for however many pages are available) */
-
- while(!eos)
- {
- int result = ogg_stream_pageout(&os,&og);
- if(!result) break;
-
- ret = oe_write_page(&og, opt->out);
- if(ret != og.header_len + og.body_len)
- {
- opt->error(_("Failed writing data to output stream\n"));
- ret = 1;
- goto cleanup; /* Bail */
- }
- else
- bytes_written += ret;
-
- if(ogg_page_eos(&og))
- eos = 1;
- }
- }
- }
- }
-
- ret = 0; /* Success, set return value to 0 since other things reuse it
- * for nefarious purposes. */
-
- /* Cleanup time */
-cleanup:
-
- ogg_stream_clear(&os);
-
- vorbis_block_clear(&vb);
- vorbis_dsp_clear(&vd);
- vorbis_info_clear(&vi);
-
- time_elapsed = timer_time(timer);
- opt->end_encode(opt->filename, time_elapsed, opt->rate, samplesdone, bytes_written);
-
- timer_clear(timer);
-
- return ret;
-}
-
-void update_statistics_full(char *fn, long total, long done, double time)
-{
- static char *spinner="|/-\\";
- static int spinpoint = 0;
- double remain_time;
- int minutes=0,seconds=0;
-
- remain_time = time/((double)done/(double)total) - time;
- minutes = ((int)remain_time)/60;
- seconds = (int)(remain_time - (double)((int)remain_time/60)*60);
-
- fprintf(stderr, "\r");
- fprintf(stderr, _("\t[%5.1f%%] [%2dm%.2ds remaining] %c"),
- done*100.0/total, minutes, seconds, spinner[spinpoint++%4]);
-}
-
-void update_statistics_notime(char *fn, long total, long done, double time)
-{
- static char *spinner="|/-\\";
- static int spinpoint =0;
-
- fprintf(stderr, "\r");
- fprintf(stderr, _("\tEncoding [%2dm%.2ds so far] %c"),
- ((int)time)/60, (int)(time - (double)((int)time/60)*60),
- spinner[spinpoint++%4]);
-}
-
-int oe_write_page(ogg_page *page, FILE *fp)
-{
- int written;
- written = fwrite(page->header,1,page->header_len, fp);
- written += fwrite(page->body,1,page->body_len, fp);
-
- return written;
-}
-
-void final_statistics(char *fn, double time, int rate, long samples, long bytes)
-{
- double speed_ratio;
- if(fn)
- fprintf(stderr, _("\n\nDone encoding file \"%s\"\n"), fn);
- else
- fprintf(stderr, _("\n\nDone encoding.\n"));
-
- speed_ratio = (double)samples / (double)rate / time;
-
- fprintf(stderr, _("\n\tFile length: %dm %04.1fs\n"),
- (int)(samples/rate/60),
- samples/rate -
- floor(samples/rate/60)*60);
- fprintf(stderr, _("\tElapsed time: %dm %04.1fs\n"),
- (int)(time/60),
- time - floor(time/60)*60);
- fprintf(stderr, _("\tRate: %.4f\n"), speed_ratio);
- fprintf(stderr, _("\tAverage bitrate: %.1f kb/s\n\n"),
- 8./1000.*((double)bytes/((double)samples/(double)rate)));
-}
-
-void final_statistics_null(char *fn, double time, int rate, long samples,
- long bytes)
-{
- /* Don't do anything, this is just a placeholder function for quiet mode */
-}
-
-void update_statistics_null(char *fn, long total, long done, double time)
-{
- /* So is this */
-}
-
-void encode_error(char *errmsg)
-{
- fprintf(stderr, "\n%s\n", errmsg);
-}
-
-static void print_brconstraints(int min, int max)
-{
- if(min > 0 && max > 0)
- fprintf(stderr, "(min %d kbps, max %d kbps)", min,max);
- else if(min > 0)
- fprintf(stderr, "(min %d kbps, no max)", min);
- else if(max > 0)
- fprintf(stderr, "(no min, max %d kbps)", max);
- else
- fprintf(stderr, "(no min or max)");
-}
-
-void start_encode_full(char *fn, char *outfn, int bitrate, float quality, int qset,
- int managed, int min, int max)
-{
- if(bitrate>0){
- if(managed>0){
- fprintf(stderr, _("Encoding %s%s%s to \n "
- "%s%s%s \nat average bitrate %d kbps "),
- fn?"\"":"", fn?fn:_("standard input"), fn?"\"":"",
- outfn?"\"":"", outfn?outfn:_("standard output"), outfn?"\"":"",
- bitrate);
- print_brconstraints(min,max);
- fprintf(stderr, ", \nusing full bitrate management engine\n");
- } else {
- fprintf(stderr, _("Encoding %s%s%s to \n %s%s%s \nat approximate bitrate %d kbps (VBR encoding enabled)\n"),
- fn?"\"":"", fn?fn:_("standard input"), fn?"\"":"",
- outfn?"\"":"", outfn?outfn:_("standard output"), outfn?"\"":"",
- bitrate);
- }
- }else{
- if(qset>0){
- if(managed>0){
- fprintf(stderr, _("Encoding %s%s%s to \n %s%s%s \nat quality level %2.2f using constrained VBR "),
- fn?"\"":"", fn?fn:_("standard input"), fn?"\"":"",
- outfn?"\"":"", outfn?outfn:_("standard output"), outfn?"\"":"",
- quality * 10);
- print_brconstraints(min,max);
- fprintf(stderr, "\n");
- }else{
- fprintf(stderr, _("Encoding %s%s%s to \n %s%s%s \nat quality %2.2f\n"),
- fn?"\"":"", fn?fn:_("standard input"), fn?"\"":"",
- outfn?"\"":"", outfn?outfn:_("standard output"), outfn?"\"":"",
- quality * 10);
- }
- }else{
- fprintf(stderr, _("Encoding %s%s%s to \n %s%s%s \nusing bitrate management "),
- fn?"\"":"", fn?fn:_("standard input"), fn?"\"":"",
- outfn?"\"":"", outfn?outfn:_("standard output"), outfn?"\"":"");
- print_brconstraints(min,max);
- fprintf(stderr, "\n");
- }
- }
-}
-
-void start_encode_null(char *fn, char *outfn, int bitrate, float quality, int qset,
- int managed, int min, int max)
-{
-}
-
-
-/* OggEnc
- **
- ** This program is distributed under the GNU General Public License, version 2.
- ** A copy of this license is included with this source.
- **
- ** Copyright 2000, Michael Smith
- **
- ** Portions from Vorbize, (c) Kenneth Arnold
- ** and libvorbis examples, (c) Monty
- **/
-
-/* Platform support routines - win32, OS/2, unix */
-
-
-#if defined(_WIN32) && defined(_MSC_VER)
-
-void setbinmode(FILE *f)
-{
- _setmode( _fileno(f), _O_BINARY );
-}
-#endif /* win32 */
-
-#ifdef __EMX__
-void setbinmode(FILE *f)
-{
- _fsetmode( f, "b");
-}
-#endif
-
-#if defined(__WATCOMC__) || defined(__BORLANDC__)
-void setbinmode(FILE *f)
-{
- setmode(fileno(f), O_BINARY);
-}
-#endif
-
-
-#if defined(_WIN32) || defined(__EMX__) || defined(__WATCOMC__)
-void *timer_start(void)
-{
- time_t *start = malloc(sizeof(time_t));
- time(start);
- return (void *)start;
-}
-
-double timer_time(void *timer)
-{
- time_t now = time(NULL);
- time_t start = *((time_t *)timer);
-
- if(now-start)
- return (double)(now-start);
- else
- return 1; /* To avoid division by zero later, for very short inputs */
-}
-
-
-void timer_clear(void *timer)
-{
- free((time_t *)timer);
-}
-
-#else /* unix. Or at least win32 */
-
-void *timer_start(void)
-{
- struct timeval *start = malloc(sizeof(struct timeval));
- gettimeofday(start, NULL);
- return (void *)start;
-}
-
-double timer_time(void *timer)
-{
- struct timeval now;
- struct timeval start = *((struct timeval *)timer);
-
- gettimeofday(&now, NULL);
-
- return (double)now.tv_sec - (double)start.tv_sec +
- ((double)now.tv_usec - (double)start.tv_usec)/1000000.0;
-}
-
-void timer_clear(void *timer)
-{
- free((time_t *)timer);
-}
-
-#endif
-
-#ifdef _WIN32
-
-#define PATH_SEPS "/\\"
-#define mkdir(x,y) _mkdir((x))
-
-/* MSVC does this, borland doesn't? */
-#ifndef __BORLANDC__
-#define stat _stat
-#endif
-
-#else
-
-#define PATH_SEPS "/"
-
-#endif
-
-int create_directories(char *fn)
-{
- char *end, *start;
- struct stat statbuf;
- char *segment = malloc(strlen(fn)+1);
-
- start = fn;
-#ifdef _WIN32
- if(strlen(fn) >= 3 && isalpha(fn[0]) && fn[1]==':')
- start = start+2;
-#endif
-
- while((end = strpbrk(start+1, PATH_SEPS)) != NULL)
- {
- memcpy(segment, fn, end-fn);
- segment[end-fn] = 0;
-
- if(stat(segment,&statbuf)) {
- if(errno == ENOENT) {
- if(mkdir(segment, 0777)) {
- fprintf(stderr, _("Couldn't create directory \"%s\": %s\n"),
- segment, strerror(errno));
- free(segment);
- return -1;
- }
- }
- else {
- fprintf(stderr, _("Error checking for existence of directory %s: %s\n"),
- segment, strerror(errno));
- free(segment);
- return -1;
- }
- }
-#if defined(_WIN32) && !defined(__BORLANDC__)
- else if(!(_S_IFDIR & statbuf.st_mode)) {
-#elif defined(__BORLANDC__)
- else if(!(S_IFDIR & statbuf.st_mode)) {
-#else
- else if(!S_ISDIR(statbuf.st_mode)) {
-#endif
- fprintf(stderr, _("Error: path segment \"%s\" is not a directory\n"),
- segment);
- free(segment);
- return -1;
- }
-
- start = end+1;
- }
-
- free(segment);
- return 0;
-
-}
-
-
-
-/* resample.c: see resample.h for interesting stuff */
-
-
-/* Some systems don't define this */
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-static int hcf(int arg1, int arg2)
-{
- int mult = 1;
-
- while (~(arg1 | arg2) & 1)
- arg1 >>= 1, arg2 >>= 1, mult <<= 1;
-
- while (arg1 > 0)
- {
- if (~(arg1 & arg2) & 1)
- {
- arg1 >>= (~arg1 & 1);
- arg2 >>= (~arg2 & 1);
- }
- else if (arg1 < arg2)
- arg2 = (arg2 - arg1) >> 1;
- else
- arg1 = (arg1 - arg2) >> 1;
- }
-
- return arg2 * mult;
-}
-
-
-static void filt_sinc(float *dest, int N, int step, double fc, double gain, int width)
-{
- double s = fc / step;
- int mid, x;
- float *endpoint = dest + N,
- *base = dest,
- *origdest = dest;
-
- assert(width <= N);
-
- if ((N & 1) == 0)
- {
- *dest = 0.0;
- dest += width;
- if (dest >= endpoint)
- dest = ++base;
- N--;
- }
-
- mid = N / 2;
- x = -mid;
-
- while (N--)
- {
- *dest = (x ? sin(x * M_PI * s) / (x * M_PI) * step : fc) * gain;
- x++;
- dest += width;
- if (dest >= endpoint)
- dest = ++base;
- }
- assert(dest == origdest + width);
-}
-
-
-static double I_zero(double x)
-{
- int n = 0;
- double u = 1.0,
- s = 1.0,
- t;
-
- do
- {
- n += 2;
- t = x / n;
- u *= t * t;
- s += u;
- } while (u > 1e-21 * s);
-
- return s;
-}
-
-
-static void win_kaiser(float *dest, int N, double alpha, int width)
-{
- double I_alpha, midsq;
- int x;
- float *endpoint = dest + N,
- *base = dest,
- *origdest = dest;
-
- assert(width <= N);
-
- if ((N & 1) == 0)
- {
- *dest = 0.0;
- dest += width;
- if (dest >= endpoint)
- dest = ++base;
- N--;
- }
-
- x = -(N / 2);
- midsq = (double)(x - 1) * (double)(x - 1);
- I_alpha = I_zero(alpha);
-
- while (N--)
- {
- *dest *= I_zero(alpha * sqrt(1.0 - ((double)x * (double)x) / midsq)) / I_alpha;
- x++;
- dest += width;
- if (dest >= endpoint)
- dest = ++base;
- }
- assert(dest == origdest + width);
-}
-
-
-int res_init(res_state *state, int channels, int outfreq, int infreq, res_parameter op1, ...)
-{
- double beta = 16.0,
- cutoff = 0.80,
- gain = 1.0;
- int taps = 45;
-
- int factor;
-
- assert(state);
- assert(channels > 0);
- assert(outfreq > 0);
- assert(infreq > 0);
- assert(taps > 0);
-
- if (state == NULL || channels <= 0 || outfreq <= 0 || infreq <= 0 || taps <= 0)
- return -1;
-
- if (op1 != RES_END)
- {
- va_list argp;
- va_start(argp, op1);
- do
- {
- switch (op1)
- {
- case RES_GAIN:
- gain = va_arg(argp, double);
- break;
-
- case RES_CUTOFF:
- cutoff = va_arg(argp, double);
- assert(cutoff > 0.01 && cutoff <= 1.0);
- break;
-
- case RES_TAPS:
- taps = va_arg(argp, int);
- assert(taps > 2 && taps < 1000);
- break;
-
- case RES_BETA:
- beta = va_arg(argp, double);
- assert(beta > 2.0);
- break;
- default:
- assert("arglist" == "valid");
- return -1;
- }
- op1 = va_arg(argp, res_parameter);
- } while (op1 != RES_END);
- va_end(argp);
- }
-
- factor = hcf(infreq, outfreq);
- outfreq /= factor;
- infreq /= factor;
-
- /* adjust to rational values for downsampling */
- if (outfreq < infreq)
- {
- /* push the cutoff frequency down to the output frequency */
- cutoff = cutoff * outfreq / infreq;
-
- /* compensate for the sharper roll-off requirement
- * by using a bigger hammer */
- taps = taps * infreq/outfreq;
- }
-
- assert(taps >= (infreq + outfreq - 1) / outfreq);
-
- if ((state->table = calloc(outfreq * taps, sizeof(float))) == NULL)
- return -1;
- if ((state->pool = calloc(channels * taps, sizeof(SAMPLE))) == NULL)
- {
- free(state->table);
- state->table = NULL;
- return -1;
- }
-
- state->poolfill = taps / 2 + 1;
- state->channels = channels;
- state->outfreq = outfreq;
- state->infreq = infreq;
- state->taps = taps;
- state->offset = 0;
-
- filt_sinc(state->table, outfreq * taps, outfreq, cutoff, gain, taps);
- win_kaiser(state->table, outfreq * taps, beta, taps);
-
- return 0;
-}
-
-
-static SAMPLE sum(float const *scale, int count, SAMPLE const *source, SAMPLE const *trigger, SAMPLE const *reset, int srcstep)
-{
- float total = 0.0;
-
- while (count--)
- {
- total += *source * *scale;
-
- if (source == trigger)
- source = reset, srcstep = 1;
- source -= srcstep;
- scale++;
- }
-
- return total;
-}
-
-
-static int push(res_state const * const state, SAMPLE *pool, int * const poolfill, int * const offset, SAMPLE *dest, int dststep, SAMPLE const *source, int srcstep, size_t srclen)
-{
- SAMPLE * const destbase = dest,
- *poolhead = pool + *poolfill,
- *poolend = pool + state->taps,
- *newpool = pool;
- SAMPLE const *refill, *base, *endpoint;
- int lencheck;
-
-
- assert(state);
- assert(pool);
- assert(poolfill);
- assert(dest);
- assert(source);
-
- assert(state->poolfill != -1);
-
- lencheck = res_push_check(state, srclen);
-
- /* fill the pool before diving in */
- while (poolhead < poolend && srclen > 0)
- {
- *poolhead++ = *source;
- source += srcstep;
- srclen--;
- }
-
- if (srclen <= 0)
- return 0;
-
- base = source;
- endpoint = source + srclen * srcstep;
-
- while (source < endpoint)
- {
- *dest = sum(state->table + *offset * state->taps, state->taps, source, base, poolend, srcstep);
- dest += dststep;
- *offset += state->infreq;
- while (*offset >= state->outfreq)
- {
- *offset -= state->outfreq;
- source += srcstep;
- }
- }
-
- assert(dest == destbase + lencheck * dststep);
-
- /* pretend that source has that underrun data we're not going to get */
- srclen += (source - endpoint) / srcstep;
-
- /* if we didn't get enough to completely replace the pool, then shift things about a bit */
- if (srclen < state->taps)
- {
- refill = pool + srclen;
- while (refill < poolend)
- *newpool++ = *refill++;
-
- refill = source - srclen * srcstep;
- }
- else
- refill = source - state->taps * srcstep;
-
- /* pull in fresh pool data */
- while (refill < endpoint)
- {
- *newpool++ = *refill;
- refill += srcstep;
- }
-
- assert(newpool > pool);
- assert(newpool <= poolend);
-
- *poolfill = newpool - pool;
-
- return (dest - destbase) / dststep;
-}
-
-
-int res_push_max_input(res_state const * const state, size_t maxoutput)
-{
- return maxoutput * state->infreq / state->outfreq;
-}
-
-
-int res_push_check(res_state const * const state, size_t srclen)
-{
- if (state->poolfill < state->taps)
- srclen -= state->taps - state->poolfill;
-
- return (srclen * state->outfreq - state->offset + state->infreq - 1) / state->infreq;
-}
-
-
-int res_push(res_state *state, SAMPLE **dstlist, SAMPLE const **srclist, size_t srclen)
-{
- int result = -1, poolfill = -1, offset = -1, i;
-
- assert(state);
- assert(dstlist);
- assert(srclist);
- assert(state->poolfill >= 0);
-
- for (i = 0; i < state->channels; i++)
- {
- poolfill = state->poolfill;
- offset = state->offset;
- result = push(state, state->pool + i * state->taps, &poolfill, &offset, dstlist[i], 1, srclist[i], 1, srclen);
- }
- state->poolfill = poolfill;
- state->offset = offset;
-
- return result;
-}
-
-
-int res_push_interleaved(res_state *state, SAMPLE *dest, SAMPLE const *source, size_t srclen)
-{
- int result = -1, poolfill = -1, offset = -1, i;
-
- assert(state);
- assert(dest);
- assert(source);
- assert(state->poolfill >= 0);
-
- for (i = 0; i < state->channels; i++)
- {
- poolfill = state->poolfill;
- offset = state->offset;
- result = push(state, state->pool + i * state->taps, &poolfill, &offset, dest + i, state->channels, source + i, state->channels, srclen);
- }
- state->poolfill = poolfill;
- state->offset = offset;
-
- return result;
-}
-
-
-int res_drain(res_state *state, SAMPLE **dstlist)
-{
- SAMPLE *tail;
- int result = -1, poolfill = -1, offset = -1, i;
-
- assert(state);
- assert(dstlist);
- assert(state->poolfill >= 0);
-
- if ((tail = calloc(state->taps, sizeof(SAMPLE))) == NULL)
- return -1;
-
- for (i = 0; i < state->channels; i++)
- {
- poolfill = state->poolfill;
- offset = state->offset;
- result = push(state, state->pool + i * state->taps, &poolfill, &offset, dstlist[i], 1, tail, 1, state->taps / 2 - 1);
- }
-
- free(tail);
-
- state->poolfill = -1;
-
- return result;
-}
-
-
-int res_drain_interleaved(res_state *state, SAMPLE *dest)
-{
- SAMPLE *tail;
- int result = -1, poolfill = -1, offset = -1, i;
-
- assert(state);
- assert(dest);
- assert(state->poolfill >= 0);
-
- if ((tail = calloc(state->taps, sizeof(SAMPLE))) == NULL)
- return -1;
-
- for (i = 0; i < state->channels; i++)
- {
- poolfill = state->poolfill;
- offset = state->offset;
- result = push(state, state->pool + i * state->taps, &poolfill, &offset, dest + i, state->channels, tail, 1, state->taps / 2 - 1);
- }
-
- free(tail);
-
- state->poolfill = -1;
-
- return result;
-}
-
-
-void res_clear(res_state *state)
-{
- assert(state);
- assert(state->table);
- assert(state->pool);
-
- free(state->table);
- free(state->pool);
- memset(state, 0, sizeof(*state));
-}
-
-/* Getopt for GNU.
- NOTE: getopt is now part of the C library, so if you don't know what
- "Keep this file name-space clean" means, talk to drepper@gnu.org
- before changing it!
-
- Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
- Free Software Foundation, Inc.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-
-/* Comment out all this code if we are using the GNU C Library, and are not
- actually compiling the library itself. This code is part of the GNU C
- Library, but also included in many other GNU distributions. Compiling
- and linking in this code is a waste when using the GNU C library
- (especially if it is a shared library). Rather than having every GNU
- program understand `configure --with-gnu-libc' and omit the object files,
- it is simpler to just do this in the source for each such file. */
-
-/* This version of `getopt' appears to the caller like standard Unix `getopt'
- but it behaves differently for the user, since it allows the user
- to intersperse the options with the other arguments.
-
- As `getopt' works, it permutes the elements of ARGV so that,
- when it is done, all the options precede everything else. Thus
- all application programs are extended to handle flexible argument order.
-
- Setting the environment variable POSIXLY_CORRECT disables permutation.
- Then the behavior is completely standard.
-
- GNU application programs can use a third alternative mode in which
- they can distinguish the relative order of options and other arguments. */
-
-/* Names for the values of the `has_arg' field of `struct option'. */
-
-/* For communication from `getopt' to the caller.
- When `getopt' finds an option that takes an argument,
- the argument value is returned here.
- Also, when `ordering' is RETURN_IN_ORDER,
- each non-option ARGV-element is returned here. */
-
-char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
- This is used for communication to and from the caller
- and for communication between successive calls to `getopt'.
-
- On entry to `getopt', zero means this is the first call; initialize.
-
- When `getopt' returns -1, this is the index of the first of the
- non-option elements that the caller should itself scan.
-
- Otherwise, `optind' communicates from one call to the next
- how much of ARGV has been scanned so far. */
-
-/* 1003.2 says this must be 1 before any call. */
-int optind = 1;
-
-/* Formerly, initialization of getopt depended on optind==0, which
- causes problems with re-calling getopt as programs generally don't
- know that. */
-
-int __getopt_initialized;
-
-/* The next char to be scanned in the option-element
- in which the last option character we returned was found.
- This allows us to pick up the scan where we left off.
-
- If this is zero, or a null string, it means resume the scan
- by advancing to the next ARGV-element. */
-
-static char *nextchar;
-
-/* Callers store zero here to inhibit the error message
- for unrecognized options. */
-
-int opterr = 1;
-
-/* Set to an option character which was unrecognized.
- This must be initialized on some systems to avoid linking in the
- system's own getopt implementation. */
-
-int optopt = '?';
-
-/* Describe how to deal with options that follow non-option ARGV-elements.
-
- If the caller did not specify anything,
- the default is REQUIRE_ORDER if the environment variable
- POSIXLY_CORRECT is defined, PERMUTE otherwise.
-
- REQUIRE_ORDER means don't recognize them as options;
- stop option processing when the first non-option is seen.
- This is what Unix does.
- This mode of operation is selected by either setting the environment
- variable POSIXLY_CORRECT, or using `+' as the first character
- of the list of option characters.
-
- PERMUTE is the default. We permute the contents of ARGV as we scan,
- so that eventually all the non-options are at the end. This allows options
- to be given in any order, even with programs that were not written to
- expect this.
-
- RETURN_IN_ORDER is an option available to programs that were written
- to expect options and other ARGV-elements in any order and that care about
- the ordering of the two. We describe each non-option ARGV-element
- as if it were the argument of an option with character code 1.
- Using `-' as the first character of the list of option characters
- selects this mode of operation.
-
- The special argument `--' forces an end of option-scanning regardless
- of the value of `ordering'. In the case of RETURN_IN_ORDER, only
- `--' can cause `getopt' to return -1 with `optind' != ARGC. */
-
-static enum
-{
- REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
-} ordering;
-
-/* Value of POSIXLY_CORRECT environment variable. */
-static char *posixly_correct;
-
-#ifdef __GNU_LIBRARY__
-/* We want to avoid inclusion of string.h with non-GNU libraries
- because there are many ways it can cause trouble.
- On some systems, it contains special magic macros that don't work
- in GCC. */
-# define my_index strchr
-#else
-
-/* Avoid depending on library functions or files
- whose names are inconsistent. */
-
-#ifndef getenv
-extern char *getenv ();
-#endif
-
-static char *
-my_index (str, chr)
- const char *str;
- int chr;
-{
- while (*str)
- {
- if (*str == chr)
- return (char *) str;
- str++;
- }
- return 0;
-}
-
-/* If using GCC, we can safely declare strlen this way.
- If not using GCC, it is ok not to declare it. */
-#ifdef __GNUC__
-/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h.
- That was relevant to code that was here before. */
-# if (!defined __STDC__ || !__STDC__) && !defined strlen
-/* gcc with -traditional declares the built-in strlen to return int,
- and has done so at least since version 2.4.5. -- rms. */
-extern int strlen (const char *);
-# endif /* not __STDC__ */
-#endif /* __GNUC__ */
-
-#endif /* not __GNU_LIBRARY__ */
-
-/* Handle permutation of arguments. */
-
-/* Describe the part of ARGV that contains non-options that have
- been skipped. `first_nonopt' is the index in ARGV of the first of them;
- `last_nonopt' is the index after the last of them. */
-
-static int first_nonopt;
-static int last_nonopt;
-
-#ifdef _LIBC
-/* Bash 2.0 gives us an environment variable containing flags
- indicating ARGV elements that should not be considered arguments. */
-
-/* Defined in getopt_init.c */
-extern char *__getopt_nonoption_flags;
-
-static int nonoption_flags_max_len;
-static int nonoption_flags_len;
-
-static int original_argc;
-static char *const *original_argv;
-
-/* Make sure the environment variable bash 2.0 puts in the environment
- is valid for the getopt call we must make sure that the ARGV passed
- to getopt is that one passed to the process. */
-static void
-__attribute__ ((unused))
-store_args_and_env (int argc, char *const *argv)
-{
- /* XXX This is no good solution. We should rather copy the args so
- that we can compare them later. But we must not use malloc(3). */
- original_argc = argc;
- original_argv = argv;
-}
-# ifdef text_set_element
-text_set_element (__libc_subinit, store_args_and_env);
-# endif /* text_set_element */
-
-# define SWAP_FLAGS(ch1, ch2) \
- if (nonoption_flags_len > 0) \
- { \
- char __tmp = __getopt_nonoption_flags[ch1]; \
- __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \
- __getopt_nonoption_flags[ch2] = __tmp; \
- }
-#else /* !_LIBC */
-# define SWAP_FLAGS(ch1, ch2)
-#endif /* _LIBC */
-
-/* Exchange two adjacent subsequences of ARGV.
- One subsequence is elements [first_nonopt,last_nonopt)
- which contains all the non-options that have been skipped so far.
- The other is elements [last_nonopt,optind), which contains all
- the options processed since those non-options were skipped.
-
- `first_nonopt' and `last_nonopt' are relocated so that they describe
- the new indices of the non-options in ARGV after they are moved. */
-
-#if defined __STDC__ && __STDC__
-static void exchange (char **);
-#endif
-
-static void
-exchange (argv)
- char **argv;
-{
- int bottom = first_nonopt;
- int middle = last_nonopt;
- int top = optind;
- char *tem;
-
- /* Exchange the shorter segment with the far end of the longer segment.
- That puts the shorter segment into the right place.
- It leaves the longer segment in the right place overall,
- but it consists of two parts that need to be swapped next. */
-
-#ifdef _LIBC
- /* First make sure the handling of the `__getopt_nonoption_flags'
- string can work normally. Our top argument must be in the range
- of the string. */
- if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len)
- {
- /* We must extend the array. The user plays games with us and
- presents new arguments. */
- char *new_str = malloc (top + 1);
- if (new_str == NULL)
- nonoption_flags_len = nonoption_flags_max_len = 0;
- else
- {
- memset (__mempcpy (new_str, __getopt_nonoption_flags,
- nonoption_flags_max_len),
- '\0', top + 1 - nonoption_flags_max_len);
- nonoption_flags_max_len = top + 1;
- __getopt_nonoption_flags = new_str;
- }
- }
-#endif
-
- while (top > middle && middle > bottom)
- {
- if (top - middle > middle - bottom)
- {
- /* Bottom segment is the short one. */
- int len = middle - bottom;
- register int i;
-
- /* Swap it with the top part of the top segment. */
- for (i = 0; i < len; i++)
- {
- tem = argv[bottom + i];
- argv[bottom + i] = argv[top - (middle - bottom) + i];
- argv[top - (middle - bottom) + i] = tem;
- SWAP_FLAGS (bottom + i, top - (middle - bottom) + i);
- }
- /* Exclude the moved bottom segment from further swapping. */
- top -= len;
- }
- else
- {
- /* Top segment is the short one. */
- int len = top - middle;
- register int i;
-
- /* Swap it with the bottom part of the bottom segment. */
- for (i = 0; i < len; i++)
- {
- tem = argv[bottom + i];
- argv[bottom + i] = argv[middle + i];
- argv[middle + i] = tem;
- SWAP_FLAGS (bottom + i, middle + i);
- }
- /* Exclude the moved top segment from further swapping. */
- bottom += len;
- }
- }
-
- /* Update records for the slots the non-options now occupy. */
-
- first_nonopt += (optind - last_nonopt);
- last_nonopt = optind;
-}
-
-/* Initialize the internal data when the first call is made. */
-
-#if defined __STDC__ && __STDC__
-static const char *_getopt_initialize (int, char *const *, const char *);
-#endif
-static const char *
-_getopt_initialize (argc, argv, optstring)
- int argc;
- char *const *argv;
- const char *optstring;
-{
- /* Start processing options with ARGV-element 1 (since ARGV-element 0
- is the program name); the sequence of previously skipped
- non-option ARGV-elements is empty. */
-
- first_nonopt = last_nonopt = optind;
-
- nextchar = NULL;
-
- posixly_correct = getenv ("POSIXLY_CORRECT");
-
- /* Determine how to handle the ordering of options and nonoptions. */
-
- if (optstring[0] == '-')
- {
- ordering = RETURN_IN_ORDER;
- ++optstring;
- }
- else if (optstring[0] == '+')
- {
- ordering = REQUIRE_ORDER;
- ++optstring;
- }
- else if (posixly_correct != NULL)
- ordering = REQUIRE_ORDER;
- else
- ordering = PERMUTE;
-
-#ifdef _LIBC
- if (posixly_correct == NULL
- && argc == original_argc && argv == original_argv)
- {
- if (nonoption_flags_max_len == 0)
- {
- if (__getopt_nonoption_flags == NULL
- || __getopt_nonoption_flags[0] == '\0')
- nonoption_flags_max_len = -1;
- else
- {
- const char *orig_str = __getopt_nonoption_flags;
- int len = nonoption_flags_max_len = strlen (orig_str);
- if (nonoption_flags_max_len < argc)
- nonoption_flags_max_len = argc;
- __getopt_nonoption_flags =
- (char *) malloc (nonoption_flags_max_len);
- if (__getopt_nonoption_flags == NULL)
- nonoption_flags_max_len = -1;
- else
- memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
- '\0', nonoption_flags_max_len - len);
- }
- }
- nonoption_flags_len = nonoption_flags_max_len;
- }
- else
- nonoption_flags_len = 0;
-#endif
-
- return optstring;
-}
-
-/* Scan elements of ARGV (whose length is ARGC) for option characters
- given in OPTSTRING.
-
- If an element of ARGV starts with '-', and is not exactly "-" or "--",
- then it is an option element. The characters of this element
- (aside from the initial '-') are option characters. If `getopt'
- is called repeatedly, it returns successively each of the option characters
- from each of the option elements.
-
- If `getopt' finds another option character, it returns that character,
- updating `optind' and `nextchar' so that the next call to `getopt' can
- resume the scan with the following option character or ARGV-element.
-
- If there are no more option characters, `getopt' returns -1.
- Then `optind' is the index in ARGV of the first ARGV-element
- that is not an option. (The ARGV-elements have been permuted
- so that those that are not options now come last.)
-
- OPTSTRING is a string containing the legitimate option characters.
- If an option character is seen that is not listed in OPTSTRING,
- return '?' after printing an error message. If you set `opterr' to
- zero, the error message is suppressed but we still return '?'.
-
- If a char in OPTSTRING is followed by a colon, that means it wants an arg,
- so the following text in the same ARGV-element, or the text of the following
- ARGV-element, is returned in `optarg'. Two colons mean an option that
- wants an optional arg; if there is text in the current ARGV-element,
- it is returned in `optarg', otherwise `optarg' is set to zero.
-
- If OPTSTRING starts with `-' or `+', it requests different methods of
- handling the non-option ARGV-elements.
- See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
-
- Long-named options begin with `--' instead of `-'.
- Their names may be abbreviated as long as the abbreviation is unique
- or is an exact match for some defined option. If they have an
- argument, it follows the option name in the same ARGV-element, separated
- from the option name by a `=', or else the in next ARGV-element.
- When `getopt' finds a long-named option, it returns 0 if that option's
- `flag' field is nonzero, the value of the option's `val' field
- if the `flag' field is zero.
-
- The elements of ARGV aren't really const, because we permute them.
- But we pretend they're const in the prototype to be compatible
- with other systems.
-
- LONGOPTS is a vector of `struct option' terminated by an
- element containing a name which is zero.
-
- LONGIND returns the index in LONGOPT of the long-named option found.
- It is only valid when a long-named option has been found by the most
- recent call.
-
- If LONG_ONLY is nonzero, '-' as well as '--' can introduce
- long-named options. */
-
-int
-_getopt_internal (argc, argv, optstring, longopts, longind, long_only)
- int argc;
- char *const *argv;
- const char *optstring;
- const struct option *longopts;
- int *longind;
- int long_only;
-{
- optarg = NULL;
-
- if (optind == 0 || !__getopt_initialized)
- {
- if (optind == 0)
- optind = 1; /* Don't scan ARGV[0], the program name. */
- optstring = _getopt_initialize (argc, argv, optstring);
- __getopt_initialized = 1;
- }
-
- /* Test whether ARGV[optind] points to a non-option argument.
- Either it does not have option syntax, or there is an environment flag
- from the shell indicating it is not an option. The later information
- is only used when the used in the GNU libc. */
-#ifdef _LIBC
-# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \
- || (optind < nonoption_flags_len \
- && __getopt_nonoption_flags[optind] == '1'))
-#else
-# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0')
-#endif
-
- if (nextchar == NULL || *nextchar == '\0')
- {
- /* Advance to the next ARGV-element. */
-
- /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been
- moved back by the user (who may also have changed the arguments). */
- if (last_nonopt > optind)
- last_nonopt = optind;
- if (first_nonopt > optind)
- first_nonopt = optind;
-
- if (ordering == PERMUTE)
- {
- /* If we have just processed some options following some non-options,
- exchange them so that the options come first. */
-
- if (first_nonopt != last_nonopt && last_nonopt != optind)
- exchange ((char **) argv);
- else if (last_nonopt != optind)
- first_nonopt = optind;
-
- /* Skip any additional non-options
- and extend the range of non-options previously skipped. */
-
- while (optind < argc && NONOPTION_P)
- optind++;
- last_nonopt = optind;
- }
-
- /* The special ARGV-element `--' means premature end of options.
- Skip it like a null option,
- then exchange with previous non-options as if it were an option,
- then skip everything else like a non-option. */
-
- if (optind != argc && !strcmp (argv[optind], "--"))
- {
- optind++;
-
- if (first_nonopt != last_nonopt && last_nonopt != optind)
- exchange ((char **) argv);
- else if (first_nonopt == last_nonopt)
- first_nonopt = optind;
- last_nonopt = argc;
-
- optind = argc;
- }
-
- /* If we have done all the ARGV-elements, stop the scan
- and back over any non-options that we skipped and permuted. */
-
- if (optind == argc)
- {
- /* Set the next-arg-index to point at the non-options
- that we previously skipped, so the caller will digest them. */
- if (first_nonopt != last_nonopt)
- optind = first_nonopt;
- return -1;
- }
-
- /* If we have come to a non-option and did not permute it,
- either stop the scan or describe it to the caller and pass it by. */
-
- if (NONOPTION_P)
- {
- if (ordering == REQUIRE_ORDER)
- return -1;
- optarg = argv[optind++];
- return 1;
- }
-
- /* We have found another option-ARGV-element.
- Skip the initial punctuation. */
-
- nextchar = (argv[optind] + 1
- + (longopts != NULL && argv[optind][1] == '-'));
- }
-
- /* Decode the current option-ARGV-element. */
-
- /* Check whether the ARGV-element is a long option.
-
- If long_only and the ARGV-element has the form "-f", where f is
- a valid short option, don't consider it an abbreviated form of
- a long option that starts with f. Otherwise there would be no
- way to give the -f short option.
-
- On the other hand, if there's a long option "fubar" and
- the ARGV-element is "-fu", do consider that an abbreviation of
- the long option, just like "--fu", and not "-f" with arg "u".
-
- This distinction seems to be the most useful approach. */
-
- if (longopts != NULL
- && (argv[optind][1] == '-'
- || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1])))))
- {
- char *nameend;
- const struct option *p;
- const struct option *pfound = NULL;
- int exact = 0;
- int ambig = 0;
- int indfound = -1;
- int option_index;
-
- for (nameend = nextchar; *nameend && *nameend != '='; nameend++)
- /* Do nothing. */ ;
-
- /* Test all long options for either exact match
- or abbreviated matches. */
- for (p = longopts, option_index = 0; p->name; p++, option_index++)
- if (!strncmp (p->name, nextchar, nameend - nextchar))
- {
- if ((unsigned int) (nameend - nextchar)
- == (unsigned int) strlen (p->name))
- {
- /* Exact match found. */
- pfound = p;
- indfound = option_index;
- exact = 1;
- break;
- }
- else if (pfound == NULL)
- {
- /* First nonexact match found. */
- pfound = p;
- indfound = option_index;
- }
- else
- /* Second or later nonexact match found. */
- ambig = 1;
- }
-
- if (ambig && !exact)
- {
- if (opterr)
- fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
- argv[0], argv[optind]);
- nextchar += strlen (nextchar);
- optind++;
- optopt = 0;
- return '?';
- }
-
- if (pfound != NULL)
- {
- option_index = indfound;
- optind++;
- if (*nameend)
- {
- /* Don't test has_arg with >, because some C compilers don't
- allow it to be used on enums. */
- if (pfound->has_arg)
- optarg = nameend + 1;
- else
- {
- if (opterr)
- {
- if (argv[optind - 1][1] == '-')
- /* --option */
- fprintf (stderr,
- _("%s: option `--%s' doesn't allow an argument\n"),
- argv[0], pfound->name);
- else
- /* +option or -option */
- fprintf (stderr,
- _("%s: option `%c%s' doesn't allow an argument\n"),
- argv[0], argv[optind - 1][0], pfound->name);
- }
-
- nextchar += strlen (nextchar);
-
- optopt = pfound->val;
- return '?';
- }
- }
- else if (pfound->has_arg == 1)
- {
- if (optind < argc)
- optarg = argv[optind++];
- else
- {
- if (opterr)
- fprintf (stderr,
- _("%s: option `%s' requires an argument\n"),
- argv[0], argv[optind - 1]);
- nextchar += strlen (nextchar);
- optopt = pfound->val;
- return optstring[0] == ':' ? ':' : '?';
- }
- }
- nextchar += strlen (nextchar);
- if (longind != NULL)
- *longind = option_index;
- if (pfound->flag)
- {
- *(pfound->flag) = pfound->val;
- return 0;
- }
- return pfound->val;
- }
-
- /* Can't find it as a long option. If this is not getopt_long_only,
- or the option starts with '--' or is not a valid short
- option, then it's an error.
- Otherwise interpret it as a short option. */
- if (!long_only || argv[optind][1] == '-'
- || my_index (optstring, *nextchar) == NULL)
- {
- if (opterr)
- {
- if (argv[optind][1] == '-')
- /* --option */
- fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
- argv[0], nextchar);
- else
- /* +option or -option */
- fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
- argv[0], argv[optind][0], nextchar);
- }
- nextchar = (char *) "";
- optind++;
- optopt = 0;
- return '?';
- }
- }
-
- /* Look at and handle the next short option-character. */
-
- {
- char c = *nextchar++;
- char *temp = my_index (optstring, c);
-
- /* Increment `optind' when we start to process its last character. */
- if (*nextchar == '\0')
- ++optind;
-
- if (temp == NULL || c == ':')
- {
- if (opterr)
- {
- if (posixly_correct)
- /* 1003.2 specifies the format of this message. */
- fprintf (stderr, _("%s: illegal option -- %c\n"),
- argv[0], c);
- else
- fprintf (stderr, _("%s: invalid option -- %c\n"),
- argv[0], c);
- }
- optopt = c;
- return '?';
- }
- /* Convenience. Treat POSIX -W foo same as long option --foo */
- if (temp[0] == 'W' && temp[1] == ';')
- {
- char *nameend;
- const struct option *p;
- const struct option *pfound = NULL;
- int exact = 0;
- int ambig = 0;
- int indfound = 0;
- int option_index;
-
- /* This is an option that requires an argument. */
- if (*nextchar != '\0')
- {
- optarg = nextchar;
- /* If we end this ARGV-element by taking the rest as an arg,
- we must advance to the next element now. */
- optind++;
- }
- else if (optind == argc)
- {
- if (opterr)
- {
- /* 1003.2 specifies the format of this message. */
- fprintf (stderr, _("%s: option requires an argument -- %c\n"),
- argv[0], c);
- }
- optopt = c;
- if (optstring[0] == ':')
- c = ':';
- else
- c = '?';
- return c;
- }
- else
- /* We already incremented `optind' once;
- increment it again when taking next ARGV-elt as argument. */
- optarg = argv[optind++];
-
- /* optarg is now the argument, see if it's in the
- table of longopts. */
-
- for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++)
- /* Do nothing. */ ;
-
- /* Test all long options for either exact match
- or abbreviated matches. */
- for (p = longopts, option_index = 0; p->name; p++, option_index++)
- if (!strncmp (p->name, nextchar, nameend - nextchar))
- {
- if ((unsigned int) (nameend - nextchar) == strlen (p->name))
- {
- /* Exact match found. */
- pfound = p;
- indfound = option_index;
- exact = 1;
- break;
- }
- else if (pfound == NULL)
- {
- /* First nonexact match found. */
- pfound = p;
- indfound = option_index;
- }
- else
- /* Second or later nonexact match found. */
- ambig = 1;
- }
- if (ambig && !exact)
- {
- if (opterr)
- fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
- argv[0], argv[optind]);
- nextchar += strlen (nextchar);
- optind++;
- return '?';
- }
- if (pfound != NULL)
- {
- option_index = indfound;
- if (*nameend)
- {
- /* Don't test has_arg with >, because some C compilers don't
- allow it to be used on enums. */
- if (pfound->has_arg)
- optarg = nameend + 1;
- else
- {
- if (opterr)
- fprintf (stderr, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
- argv[0], pfound->name);
-
- nextchar += strlen (nextchar);
- return '?';
- }
- }
- else if (pfound->has_arg == 1)
- {
- if (optind < argc)
- optarg = argv[optind++];
- else
- {
- if (opterr)
- fprintf (stderr,
- _("%s: option `%s' requires an argument\n"),
- argv[0], argv[optind - 1]);
- nextchar += strlen (nextchar);
- return optstring[0] == ':' ? ':' : '?';
- }
- }
- nextchar += strlen (nextchar);
- if (longind != NULL)
- *longind = option_index;
- if (pfound->flag)
- {
- *(pfound->flag) = pfound->val;
- return 0;
- }
- return pfound->val;
- }
- nextchar = NULL;
- return 'W'; /* Let the application handle it. */
- }
- if (temp[1] == ':')
- {
- if (temp[2] == ':')
- {
- /* This is an option that accepts an argument optionally. */
- if (*nextchar != '\0')
- {
- optarg = nextchar;
- optind++;
- }
- else
- optarg = NULL;
- nextchar = NULL;
- }
- else
- {
- /* This is an option that requires an argument. */
- if (*nextchar != '\0')
- {
- optarg = nextchar;
- /* If we end this ARGV-element by taking the rest as an arg,
- we must advance to the next element now. */
- optind++;
- }
- else if (optind == argc)
- {
- if (opterr)
- {
- /* 1003.2 specifies the format of this message. */
- fprintf (stderr,
- _("%s: option requires an argument -- %c\n"),
- argv[0], c);
- }
- optopt = c;
- if (optstring[0] == ':')
- c = ':';
- else
- c = '?';
- }
- else
- /* We already incremented `optind' once;
- increment it again when taking next ARGV-elt as argument. */
- optarg = argv[optind++];
- nextchar = NULL;
- }
- }
- return c;
- }
-}
-
-int
-getopt (argc, argv, optstring)
- int argc;
- char *const *argv;
- const char *optstring;
-{
- return _getopt_internal (argc, argv, optstring,
- (const struct option *) 0,
- (int *) 0,
- 0);
-}
-
-int
-getopt_long (argc, argv, options, long_options, opt_index)
- int argc;
- char *const *argv;
- const char *options;
- const struct option *long_options;
- int *opt_index;
-{
- return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
-}
-
-int
-getopt_long_only (argc, argv, options, long_options, opt_index)
- int argc;
- char *const *argv;
- const char *options;
- const struct option *long_options;
- int *opt_index;
-{
- return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
-}
-
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: simple programmatic interface for encoder mode setup
- last mod: $Id: vorbisenc.c,v 1.47 2002/07/11 06:40:50 xiphmont Exp $
-
- ********************************************************************/
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: libvorbis codec headers
- last mod: $Id: codec_internal.h,v 1.17 2003/08/18 05:34:01 xiphmont Exp $
-
- ********************************************************************/
-
-#define _V_CODECI_H_
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: PCM data envelope analysis and manipulation
- last mod: $Id: envelope.h,v 1.25 2002/07/11 06:40:48 xiphmont Exp $
-
- ********************************************************************/
-
-#define _V_ENVELOPE_
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: modified discrete cosine transform prototypes
- last mod: $Id: mdct.h,v 1.20 2002/01/22 11:59:00 xiphmont Exp $
-
- ********************************************************************/
-
-#define _OGG_mdct_H_
-
-/*#define MDCT_INTEGERIZED <- be warned there could be some hurt left here*/
-#ifdef MDCT_INTEGERIZED
-
-#define DATA_TYPE int
-#define REG_TYPE register int
-#define TRIGBITS 14
-#define cPI3_8 6270
-#define cPI2_8 11585
-#define cPI1_8 15137
-
-#define FLOAT_CONV(x) ((int)((x)*(1<>TRIGBITS)
-#define HALVE(x) ((x)>>1)
-
-#else
-
-#define DATA_TYPE float
-#define REG_TYPE float
-#define cPI3_8 .38268343236508977175F
-#define cPI2_8 .70710678118654752441F
-#define cPI1_8 .92387953251128675613F
-
-#define FLOAT_CONV(x) (x)
-#define MULT_NORM(x) (x)
-#define HALVE(x) ((x)*.5f)
-
-#endif
-
-
-typedef struct {
- int n;
- int log2n;
-
- DATA_TYPE *trig;
- int *bitrev;
-
- DATA_TYPE scale;
-} mdct_lookup;
-
-extern void mdct_init(mdct_lookup *lookup,int n);
-extern void mdct_clear(mdct_lookup *l);
-extern void mdct_forward(mdct_lookup *init, DATA_TYPE *in, DATA_TYPE *out);
-extern void mdct_backward(mdct_lookup *init, DATA_TYPE *in, DATA_TYPE *out);
-
-
-#define VE_PRE 16
-#define VE_WIN 4
-#define VE_POST 2
-#define VE_AMP (VE_PRE+VE_POST-1)
-
-#define VE_BANDS 7
-#define VE_NEARDC 15
-
-#define VE_MINSTRETCH 2 /* a bit less than short block */
-#define VE_MAXSTRETCH 12 /* one-third full block */
-
-typedef struct {
- float ampbuf[VE_AMP];
- int ampptr;
-
- float nearDC[VE_NEARDC];
- float nearDC_acc;
- float nearDC_partialacc;
- int nearptr;
-
-} envelope_filter_state;
-
-typedef struct {
- int begin;
- int end;
- float *window;
- float total;
-} envelope_band;
-
-typedef struct {
- int ch;
- int winlength;
- int searchstep;
- float minenergy;
-
- mdct_lookup mdct;
- float *mdct_win;
-
- envelope_band band[VE_BANDS];
- envelope_filter_state *filter;
- int stretch;
-
- int *mark;
-
- long storage;
- long current;
- long curmark;
- long cursor;
-} envelope_lookup;
-
-extern void _ve_envelope_init(envelope_lookup *e,vorbis_info *vi);
-extern void _ve_envelope_clear(envelope_lookup *e);
-extern long _ve_envelope_search(vorbis_dsp_state *v);
-extern void _ve_envelope_shift(envelope_lookup *e,long shift);
-extern int _ve_envelope_mark(vorbis_dsp_state *v);
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: basic shared codebook operations
- last mod: $Id: codebook.h,v 1.13 2002/06/28 22:19:35 xiphmont Exp $
-
- ********************************************************************/
-
-#define _V_CODEBOOK_H_
-
-/* This structure encapsulates huffman and VQ style encoding books; it
- doesn't do anything specific to either.
-
- valuelist/quantlist are nonNULL (and q_* significant) only if
- there's entry->value mapping to be done.
-
- If encode-side mapping must be done (and thus the entry needs to be
- hunted), the auxiliary encode pointer will point to a decision
- tree. This is true of both VQ and huffman, but is mostly useful
- with VQ.
-
-*/
-
-typedef struct static_codebook{
- long dim; /* codebook dimensions (elements per vector) */
- long entries; /* codebook entries */
- long *lengthlist; /* codeword lengths in bits */
-
- /* mapping ***************************************************************/
- int maptype; /* 0=none
- 1=implicitly populated values from map column
- 2=listed arbitrary values */
-
- /* The below does a linear, single monotonic sequence mapping. */
- long q_min; /* packed 32 bit float; quant value 0 maps to minval */
- long q_delta; /* packed 32 bit float; val 1 - val 0 == delta */
- int q_quant; /* bits: 0 < quant <= 16 */
- int q_sequencep; /* bitflag */
-
- long *quantlist; /* map == 1: (int)(entries^(1/dim)) element column map
- map == 2: list of dim*entries quantized entry vals
- */
-
- /* encode helpers ********************************************************/
- struct encode_aux_nearestmatch *nearest_tree;
- struct encode_aux_threshmatch *thresh_tree;
- struct encode_aux_pigeonhole *pigeon_tree;
-
- int allocedp;
-} static_codebook;
-
-/* this structures an arbitrary trained book to quickly find the
- nearest cell match */
-typedef struct encode_aux_nearestmatch{
- /* pre-calculated partitioning tree */
- long *ptr0;
- long *ptr1;
-
- long *p; /* decision points (each is an entry) */
- long *q; /* decision points (each is an entry) */
- long aux; /* number of tree entries */
- long alloc;
-} encode_aux_nearestmatch;
-
-/* assumes a maptype of 1; encode side only, so that's OK */
-typedef struct encode_aux_threshmatch{
- float *quantthresh;
- long *quantmap;
- int quantvals;
- int threshvals;
-} encode_aux_threshmatch;
-
-typedef struct encode_aux_pigeonhole{
- float min;
- float del;
-
- int mapentries;
- int quantvals;
- long *pigeonmap;
-
- long fittotal;
- long *fitlist;
- long *fitmap;
- long *fitlength;
-} encode_aux_pigeonhole;
-
-typedef struct codebook{
- long dim; /* codebook dimensions (elements per vector) */
- long entries; /* codebook entries */
- long used_entries; /* populated codebook entries */
- const static_codebook *c;
-
- /* for encode, the below are entry-ordered, fully populated */
- /* for decode, the below are ordered by bitreversed codeword and only
- used entries are populated */
- float *valuelist; /* list of dim*entries actual entry values */
- ogg_uint32_t *codelist; /* list of bitstream codewords for each entry */
-
- int *dec_index; /* only used if sparseness collapsed */
- char *dec_codelengths;
- ogg_uint32_t *dec_firsttable;
- int dec_firsttablen;
- int dec_maxlength;
-
-} codebook;
-
-extern void vorbis_staticbook_clear(static_codebook *b);
-extern void vorbis_staticbook_destroy(static_codebook *b);
-extern int vorbis_book_init_encode(codebook *dest,const static_codebook *source);
-extern int vorbis_book_init_decode(codebook *dest,const static_codebook *source);
-extern void vorbis_book_clear(codebook *b);
-
-extern float *_book_unquantize(const static_codebook *b,int n,int *map);
-extern float *_book_logdist(const static_codebook *b,float *vals);
-extern float _float32_unpack(long val);
-extern long _float32_pack(float val);
-extern int _best(codebook *book, float *a, int step);
-extern int _ilog(unsigned int v);
-extern long _book_maptype1_quantvals(const static_codebook *b);
-
-extern int vorbis_book_besterror(codebook *book,float *a,int step,int addmul);
-extern long vorbis_book_codeword(codebook *book,int entry);
-extern long vorbis_book_codelen(codebook *book,int entry);
-
-
-
-extern int vorbis_staticbook_pack(const static_codebook *c,oggpack_buffer *b);
-extern int vorbis_staticbook_unpack(oggpack_buffer *b,static_codebook *c);
-
-extern int vorbis_book_encode(codebook *book, int a, oggpack_buffer *b);
-extern int vorbis_book_errorv(codebook *book, float *a);
-extern int vorbis_book_encodev(codebook *book, int best,float *a,
- oggpack_buffer *b);
-
-extern long vorbis_book_decode(codebook *book, oggpack_buffer *b);
-extern long vorbis_book_decodevs_add(codebook *book, float *a,
- oggpack_buffer *b,int n);
-extern long vorbis_book_decodev_set(codebook *book, float *a,
- oggpack_buffer *b,int n);
-extern long vorbis_book_decodev_add(codebook *book, float *a,
- oggpack_buffer *b,int n);
-extern long vorbis_book_decodevv_add(codebook *book, float **a,
- long off,int ch,
- oggpack_buffer *b,int n);
-
-#define BLOCKTYPE_IMPULSE 0
-#define BLOCKTYPE_PADDING 1
-#define BLOCKTYPE_TRANSITION 0
-#define BLOCKTYPE_LONG 1
-
-#define PACKETBLOBS 15
-
-typedef struct vorbis_block_internal{
- float **pcmdelay; /* this is a pointer into local storage */
- float ampmax;
- int blocktype;
-
- ogg_uint32_t packetblob_markers[PACKETBLOBS];
-} vorbis_block_internal;
-
-typedef void vorbis_look_floor;
-typedef void vorbis_look_residue;
-typedef void vorbis_look_transform;
-
-/* mode ************************************************************/
-typedef struct {
- int blockflag;
- int windowtype;
- int transformtype;
- int mapping;
-} vorbis_info_mode;
-
-typedef void vorbis_info_floor;
-typedef void vorbis_info_residue;
-typedef void vorbis_info_mapping;
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: random psychoacoustics (not including preecho)
- last mod: $Id: psy.h,v 1.32 2002/07/13 06:12:47 xiphmont Exp $
-
- ********************************************************************/
-
-#define _V_PSY_H_
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: fft transform
- last mod: $Id: smallft.h,v 1.12 2002/07/11 06:40:50 xiphmont Exp $
-
- ********************************************************************/
-
-#define _V_SMFT_H_
-
-
-typedef struct {
- int n;
- float *trigcache;
- int *splitcache;
-} drft_lookup;
-
-extern void drft_forward(drft_lookup *l,float *data);
-extern void drft_backward(drft_lookup *l,float *data);
-extern void drft_init(drft_lookup *l,int n);
-extern void drft_clear(drft_lookup *l);
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: libvorbis backend and mapping structures; needed for
- static mode headers
- last mod: $Id: backends.h,v 1.14 2002/07/11 06:40:48 xiphmont Exp $
-
- ********************************************************************/
-
-/* this is exposed up here because we need it for static modes.
- Lookups for each backend aren't exposed because there's no reason
- to do so */
-
-#define _vorbis_backend_h_
-
-/* this would all be simpler/shorter with templates, but.... */
-/* Floor backend generic *****************************************/
-typedef struct{
- void (*pack) (vorbis_info_floor *,oggpack_buffer *);
- vorbis_info_floor *(*unpack)(vorbis_info *,oggpack_buffer *);
- vorbis_look_floor *(*look) (vorbis_dsp_state *,vorbis_info_floor *);
- void (*free_info) (vorbis_info_floor *);
- void (*free_look) (vorbis_look_floor *);
- void *(*inverse1) (struct vorbis_block *,vorbis_look_floor *);
- int (*inverse2) (struct vorbis_block *,vorbis_look_floor *,
- void *buffer,float *);
-} vorbis_func_floor;
-
-typedef struct{
- int order;
- long rate;
- long barkmap;
-
- int ampbits;
- int ampdB;
-
- int numbooks; /* <= 16 */
- int books[16];
-
- float lessthan; /* encode-only config setting hacks for libvorbis */
- float greaterthan; /* encode-only config setting hacks for libvorbis */
-
-} vorbis_info_floor0;
-
-
-#define VIF_POSIT 63
-#define VIF_CLASS 16
-#define VIF_PARTS 31
-typedef struct{
- int partitions; /* 0 to 31 */
- int partitionclass[VIF_PARTS]; /* 0 to 15 */
-
- int class_dim[VIF_CLASS]; /* 1 to 8 */
- int class_subs[VIF_CLASS]; /* 0,1,2,3 (bits: 1<(y)?(y):(x))
-#endif
-
-#ifndef max
-# define max(x,y) ((x)<(y)?(y):(x))
-#endif
-
-#if defined(__i386__) && defined(__GNUC__) && !defined(__BEOS__)
-# define VORBIS_FPU_CONTROL
-/* both GCC and MSVC are kinda stupid about rounding/casting to int.
- Because of encapsulation constraints (GCC can't see inside the asm
- block and so we end up doing stupid things like a store/load that
- is collectively a noop), we do it this way */
-
-/* we must set up the fpu before this works!! */
-
-typedef ogg_int16_t vorbis_fpu_control;
-
-static inline void vorbis_fpu_setround(vorbis_fpu_control *fpu){
- ogg_int16_t ret;
- ogg_int16_t temp;
- __asm__ __volatile__("fnstcw %0\n\t"
- "movw %0,%%dx\n\t"
- "orw $62463,%%dx\n\t"
- "movw %%dx,%1\n\t"
- "fldcw %1\n\t":"=m"(ret):"m"(temp): "dx");
- *fpu=ret;
-}
-
-static inline void vorbis_fpu_restore(vorbis_fpu_control fpu){
- __asm__ __volatile__("fldcw %0":: "m"(fpu));
-}
-
-/* assumes the FPU is in round mode! */
-static inline int vorbis_ftoi(double f){ /* yes, double! Otherwise,
- we get extra fst/fld to
- truncate precision */
- int i;
- __asm__("fistl %0": "=m"(i) : "t"(f));
- return(i);
-}
-#endif
-
-
-#if defined(_WIN32) && !defined(__GNUC__) && !defined(__BORLANDC__)
-# define VORBIS_FPU_CONTROL
-
-typedef ogg_int16_t vorbis_fpu_control;
-
-static __inline int vorbis_ftoi(double f){
- int i;
- __asm{
- fld f
- fistp i
- }
- return i;
-}
-
-static __inline void vorbis_fpu_setround(vorbis_fpu_control *fpu){
-}
-
-static __inline void vorbis_fpu_restore(vorbis_fpu_control fpu){
-}
-
-#endif
-
-
-#ifndef VORBIS_FPU_CONTROL
-
-typedef int vorbis_fpu_control;
-
-static int vorbis_ftoi(double f){
- return (int)(f+.5);
-}
-
-/* We don't have special code for this compiler/arch, so do it the slow way */
-# define vorbis_fpu_setround(vorbis_fpu_control) {}
-# define vorbis_fpu_restore(vorbis_fpu_control) {}
-
-#endif
-
-/* encode side bitrate tracking */
-typedef struct bitrate_manager_state {
- ogg_uint32_t *queue_binned;
- ogg_uint32_t *queue_actual;
- int queue_size;
-
- int queue_head;
- int queue_bins;
-
- long *avg_binacc;
- int avg_center;
- int avg_tail;
- ogg_uint32_t avg_centeracc;
- ogg_uint32_t avg_sampleacc;
- ogg_uint32_t avg_sampledesired;
- ogg_uint32_t avg_centerdesired;
-
- long *minmax_binstack;
- long *minmax_posstack;
- long *minmax_limitstack;
- long minmax_stackptr;
-
- long minmax_acctotal;
- int minmax_tail;
- ogg_uint32_t minmax_sampleacc;
- ogg_uint32_t minmax_sampledesired;
-
- int next_to_flush;
- int last_to_flush;
-
- double avgfloat;
-
- /* unfortunately, we need to hold queued packet data somewhere */
- oggpack_buffer *packetbuffers;
- ogg_packet *packets;
-
-} bitrate_manager_state;
-
-typedef struct bitrate_manager_info{
- /* detailed bitrate management setup */
- double queue_avg_time;
- double queue_avg_center;
- double queue_minmax_time;
- double queue_hardmin;
- double queue_hardmax;
- double queue_avgmin;
- double queue_avgmax;
-
- double avgfloat_downslew_max;
- double avgfloat_upslew_max;
-
-} bitrate_manager_info;
-
-extern void vorbis_bitrate_init(vorbis_info *vi,bitrate_manager_state *bs);
-extern void vorbis_bitrate_clear(bitrate_manager_state *bs);
-extern int vorbis_bitrate_managed(vorbis_block *vb);
-extern int vorbis_bitrate_addblock(vorbis_block *vb);
-extern int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd, ogg_packet *op);
-
-typedef struct private_state {
- /* local lookup storage */
- envelope_lookup *ve; /* envelope lookup */
- int window[2];
- vorbis_look_transform **transform[2]; /* block, type */
- drft_lookup fft_look[2];
-
- int modebits;
- vorbis_look_floor **flr;
- vorbis_look_residue **residue;
- vorbis_look_psy *psy;
- vorbis_look_psy_global *psy_g_look;
-
- /* local storage, only used on the encoding side. This way the
- application does not need to worry about freeing some packets'
- memory and not others'; packet storage is always tracked.
- Cleared next call to a _dsp_ function */
- unsigned char *header;
- unsigned char *header1;
- unsigned char *header2;
-
- bitrate_manager_state bms;
-
- ogg_int64_t sample_count;
-} private_state;
-
-/* codec_setup_info contains all the setup information specific to the
- specific compression/decompression mode in progress (eg,
- psychoacoustic settings, channel setup, options, codebook
- etc).
-*********************************************************************/
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: highlevel encoder setup struct seperated out for vorbisenc clarity
- last mod: $Id: highlevel.h,v 1.4 2002/07/01 11:20:11 xiphmont Exp $
-
- ********************************************************************/
-
-typedef struct highlevel_byblocktype {
- double tone_mask_setting;
- double tone_peaklimit_setting;
- double noise_bias_setting;
- double noise_compand_setting;
-} highlevel_byblocktype;
-
-typedef struct highlevel_encode_setup {
- void *setup;
- int set_in_stone;
-
- double base_setting;
- double long_setting;
- double short_setting;
- double impulse_noisetune;
-
- int managed;
- long bitrate_min;
- long bitrate_av_lo;
- long bitrate_av_hi;
- long bitrate_max;
- double bitrate_limit_window;
- double bitrate_av_window;
- double bitrate_av_window_center;
-
- int impulse_block_p;
- int noise_normalize_p;
-
- double stereo_point_setting;
- double lowpass_kHz;
-
- double ath_floating_dB;
- double ath_absolute_dB;
-
- double amplitude_track_dBpersec;
- double trigger_setting;
-
- highlevel_byblocktype block[4]; /* padding, impulse, transition, long */
-
-} highlevel_encode_setup;
-
-typedef struct codec_setup_info {
-
- /* Vorbis supports only short and long blocks, but allows the
- encoder to choose the sizes */
-
- long blocksizes[2];
-
- /* modes are the primary means of supporting on-the-fly different
- blocksizes, different channel mappings (LR or M/A),
- different residue backends, etc. Each mode consists of a
- blocksize flag and a mapping (along with the mapping setup */
-
- int modes;
- int maps;
- int floors;
- int residues;
- int books;
- int psys; /* encode only */
-
- vorbis_info_mode *mode_param[64];
- int map_type[64];
- vorbis_info_mapping *map_param[64];
- int floor_type[64];
- vorbis_info_floor *floor_param[64];
- int residue_type[64];
- vorbis_info_residue *residue_param[64];
- static_codebook *book_param[256];
- codebook *fullbooks;
-
- vorbis_info_psy *psy_param[4]; /* encode only */
- vorbis_info_psy_global psy_g_param;
-
- bitrate_manager_info bi;
- highlevel_encode_setup hi; /* used only by vorbisenc.c. It's a
- highly redundant structure, but
- improves clarity of program flow. */
- int halfrate_flag; /* painless downsample for decode */
-} codec_setup_info;
-
-extern vorbis_look_psy_global *_vp_global_look(vorbis_info *vi);
-extern void _vp_global_free(vorbis_look_psy_global *look);
-
-/* careful with this; it's using static array sizing to make managing
- all the modes a little less annoying. If we use a residue backend
- with > 12 partition types, or a different division of iteration,
- this needs to be updated. */
-typedef struct {
- static_codebook *books[12][3];
-} static_bookblock;
-
-typedef struct {
- int res_type;
- int limit_type; /* 0 lowpass limited, 1 point stereo limited */
- vorbis_info_residue0 *res;
- static_codebook *book_aux;
- static_codebook *book_aux_managed;
- static_bookblock *books_base;
- static_bookblock *books_base_managed;
-} vorbis_residue_template;
-
-typedef struct {
- vorbis_info_mapping0 *map;
- vorbis_residue_template *res;
-} vorbis_mapping_template;
-
-typedef struct vp_adjblock{
- int block[P_BANDS];
-} vp_adjblock;
-
-typedef struct {
- int data[NOISE_COMPAND_LEVELS];
-} compandblock;
-
-/* high level configuration information for setting things up
- step-by-step with the detailed vorbis_encode_ctl interface.
- There's a fair amount of redundancy such that interactive setup
- does not directly deal with any vorbis_info or codec_setup_info
- initialization; it's all stored (until full init) in this highlevel
- setup, then flushed out to the real codec setup structs later. */
-
-typedef struct {
- int att[P_NOISECURVES];
- float boost;
- float decay;
-} att3;
-typedef struct { int data[P_NOISECURVES]; } adj3;
-
-typedef struct {
- int pre[PACKETBLOBS];
- int post[PACKETBLOBS];
- float kHz[PACKETBLOBS];
- float lowpasskHz[PACKETBLOBS];
-} adj_stereo;
-
-typedef struct {
- int lo;
- int hi;
- int fixed;
-} noiseguard;
-typedef struct {
- int data[P_NOISECURVES][17];
-} noise3;
-
-typedef struct {
- int mappings;
- double *rate_mapping;
- double *quality_mapping;
- int coupling_restriction;
- long samplerate_min_restriction;
- long samplerate_max_restriction;
-
-
- int *blocksize_short;
- int *blocksize_long;
-
- att3 *psy_tone_masteratt;
- int *psy_tone_0dB;
- int *psy_tone_dBsuppress;
-
- vp_adjblock *psy_tone_adj_impulse;
- vp_adjblock *psy_tone_adj_long;
- vp_adjblock *psy_tone_adj_other;
-
- noiseguard *psy_noiseguards;
- noise3 *psy_noise_bias_impulse;
- noise3 *psy_noise_bias_padding;
- noise3 *psy_noise_bias_trans;
- noise3 *psy_noise_bias_long;
- int *psy_noise_dBsuppress;
-
- compandblock *psy_noise_compand;
- double *psy_noise_compand_short_mapping;
- double *psy_noise_compand_long_mapping;
-
- int *psy_noise_normal_start[2];
- int *psy_noise_normal_partition[2];
- double *psy_noise_normal_thresh;
-
- int *psy_ath_float;
- int *psy_ath_abs;
-
- double *psy_lowpass;
-
- vorbis_info_psy_global *global_params;
- double *global_mapping;
- adj_stereo *stereo_modes;
-
- static_codebook ***floor_books;
- vorbis_info_floor1 *floor_params;
- int *floor_short_mapping;
- int *floor_long_mapping;
-
- vorbis_mapping_template *maps;
-} ve_setup_data_template;
-
-/* a few static coder conventions */
-static vorbis_info_mode _mode_template[2]={
- {0,0,0,0},
- {1,0,0,1}
-};
-
-static vorbis_info_mapping0 _map_nominal[2]={
- {1, {0,0}, {0}, {0}, 1,{0},{1}},
- {1, {0,0}, {1}, {1}, 1,{0},{1}}
-};
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: toplevel settings for 44.1/48kHz
- last mod: $Id: setup_44.h,v 1.9 2002/07/11 08:57:29 xiphmont Exp $
-
- ********************************************************************/
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: key floor settings
- last mod: $Id: floor_all.h,v 1.1 2002/07/11 06:41:04 xiphmont Exp $
-
- ********************************************************************/
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: static codebooks autogenerated by huff/huffbuld
- last modified: $Id: floor_books.h,v 1.3 2002/07/11 06:41:01 xiphmont Exp $
-
- ********************************************************************/
-
-static long _huff_lengthlist_line_1024x27_0sub0[] = {
- 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5,
- 6, 5, 6, 5, 6, 5, 7, 5, 7, 5, 7, 5, 8, 5, 8, 6,
- 8, 6, 9, 6, 9, 6, 9, 6,10, 6,10, 6,11, 6,11, 6,
- 11, 6,12, 6,12, 7,12, 7,12, 7,12, 7,12, 7,12, 7,
- 12, 7,12, 7,12, 7,12, 7,12, 8,12, 8,11, 8,11, 8,
- 12, 9,11, 9, 9,10,11, 9,12, 9,12,12,14,13,13,14,
- 13,13,13,12,14,16,20,20,21,14,14,15,21,21,21,20,
- 21,21,21,21,21,21,21,21,21,21,20,20,20,20,20,20,
-};
-
-static static_codebook _huff_book_line_1024x27_0sub0 = {
- 1, 128,
- _huff_lengthlist_line_1024x27_0sub0,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_1024x27_1sub0[] = {
- 2, 5, 5, 4, 5, 4, 5, 4, 5, 4, 6, 4, 6, 5, 6, 5,
- 7, 5, 7, 6, 8, 6, 8, 6, 8, 6, 9, 6,10, 6,10, 6,
-};
-
-static static_codebook _huff_book_line_1024x27_1sub0 = {
- 1, 32,
- _huff_lengthlist_line_1024x27_1sub0,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_1024x27_1sub1[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 9, 5,10, 4,10, 4, 9, 4, 9, 3, 9, 4, 9, 4, 9, 4,
- 9, 4, 9, 4, 9, 4, 8, 4, 8, 4, 8, 5, 9, 5, 9, 6,
- 8, 6, 9, 7,10, 8,10, 9,10,10,10,12,11,13,12,13,
- 13,15,13,14,13,14,12,15,13,15,14,15,13,16,14,16,
- 14,15,14,14,14,16,15,18,15,18,16,18,18,18,18,18,
- 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,17,
-};
-
-static static_codebook _huff_book_line_1024x27_1sub1 = {
- 1, 128,
- _huff_lengthlist_line_1024x27_1sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_1024x27_2sub0[] = {
- 1, 5, 5, 5, 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 6, 5,
- 6, 6, 7, 6, 7, 7, 8, 8, 9, 8, 9, 9, 9, 9,10,10,
-};
-
-static static_codebook _huff_book_line_1024x27_2sub0 = {
- 1, 32,
- _huff_lengthlist_line_1024x27_2sub0,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_1024x27_2sub1[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3, 3, 4, 3, 4, 4, 5, 4, 5, 5, 5, 5, 6, 5, 6, 6,
- 7, 6, 7, 7, 7, 7, 7, 7, 8, 9, 8, 9, 8,10, 8,11,
- 8,12, 9,13, 9,14, 9,14, 8,12, 8,14, 9,14, 8,12,
- 8,11, 8,11, 8,11, 9,11,10,11,10,12,10,12,11,12,
- 12,12,12,12,11,12,11,13,11,13,12,14,14,14,14,14,
- 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,
-};
-
-static static_codebook _huff_book_line_1024x27_2sub1 = {
- 1, 128,
- _huff_lengthlist_line_1024x27_2sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_1024x27_3sub1[] = {
- 0, 4, 5, 4, 5, 3, 5, 3, 5, 3, 5, 4, 4, 4, 5, 4,
- 5, 5,
-};
-
-static static_codebook _huff_book_line_1024x27_3sub1 = {
- 1, 18,
- _huff_lengthlist_line_1024x27_3sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_1024x27_3sub2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 3, 3, 3, 3, 4, 4, 4, 5, 4, 6, 5, 6, 5, 7,
- 5, 9, 5,10, 6,11, 6,12, 7,13, 8,15, 8,15, 9,15,
- 9,15,
-};
-
-static static_codebook _huff_book_line_1024x27_3sub2 = {
- 1, 50,
- _huff_lengthlist_line_1024x27_3sub2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_1024x27_3sub3[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2, 9, 2, 9, 2, 9, 4, 9, 6, 9, 7, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
-};
-
-static static_codebook _huff_book_line_1024x27_3sub3 = {
- 1, 128,
- _huff_lengthlist_line_1024x27_3sub3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_1024x27_4sub1[] = {
- 0, 4, 5, 4, 5, 4, 6, 3, 6, 3, 5, 3, 5, 3, 6, 4,
- 6, 4,
-};
-
-static static_codebook _huff_book_line_1024x27_4sub1 = {
- 1, 18,
- _huff_lengthlist_line_1024x27_4sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_1024x27_4sub2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 2, 4, 2, 5, 3, 5, 4, 6, 6, 6, 6, 7, 7,
- 7, 8, 8, 8, 8, 8, 9, 8, 9, 9, 9, 9, 9,10,10,11,
- 10,11,
-};
-
-static static_codebook _huff_book_line_1024x27_4sub2 = {
- 1, 50,
- _huff_lengthlist_line_1024x27_4sub2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_1024x27_4sub3[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 3, 3, 3, 6, 4, 6, 4, 5, 5, 7, 4, 8, 5, 9,
- 4, 9, 5, 9, 5, 9, 6, 9, 5, 9, 7, 9, 7, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
-};
-
-static static_codebook _huff_book_line_1024x27_4sub3 = {
- 1, 128,
- _huff_lengthlist_line_1024x27_4sub3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_1024x27_class1[] = {
- 2, 9, 8,14, 7,13,11,14, 1, 5, 3, 7, 4,10, 7,12,
-};
-
-static static_codebook _huff_book_line_1024x27_class1 = {
- 1, 16,
- _huff_lengthlist_line_1024x27_class1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_1024x27_class2[] = {
- 1, 3, 2, 5, 4, 7, 6, 7,
-};
-
-static static_codebook _huff_book_line_1024x27_class2 = {
- 1, 8,
- _huff_lengthlist_line_1024x27_class2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_1024x27_class3[] = {
- 1, 5, 6,19, 5, 8,10,19, 9,10,15,19,19,19,19,19,
- 4, 7, 9,19, 6, 7,10,19,11,11,15,19,19,19,19,19,
- 8,11,13,19, 8,11,14,19,13,13,17,19,19,19,19,19,
- 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,
- 3, 7, 9,19, 6, 8,11,19,11,11,15,19,19,19,19,19,
- 5, 7,11,19, 6, 7,11,19,11,10,14,19,19,19,19,19,
- 8,11,15,19, 8,10,14,19,13,13,16,19,19,19,19,19,
- 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,
- 6, 9,11,19, 8,10,12,19,15,14,17,19,19,19,19,19,
- 5, 8,11,19, 7, 9,12,19,14,11,16,19,19,19,19,19,
- 9,10,18,19, 9,10,15,19,14,16,19,19,19,19,19,19,
- 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,
- 16,17,19,19,16,17,17,19,19,19,19,19,19,19,19,19,
- 12,14,16,19,12,12,16,19,19,19,19,19,19,19,19,19,
- 18,18,19,19,17,16,19,19,19,19,19,19,19,19,19,19,
- 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,18,
-};
-
-static static_codebook _huff_book_line_1024x27_class3 = {
- 1, 256,
- _huff_lengthlist_line_1024x27_class3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_1024x27_class4[] = {
- 1, 4, 8,12, 4, 6, 8,21, 9, 8,10,21,20,16,18,20,
- 2, 6, 8,20, 7, 6, 9,19,11, 9,10,20,17,15,16,20,
- 5, 8,11,19, 8, 8,10,15,12,10,12,15,20,20,15,20,
- 17,20,20,20,15,20,20,19,20,20,16,19,20,20,20,20,
-};
-
-static static_codebook _huff_book_line_1024x27_class4 = {
- 1, 64,
- _huff_lengthlist_line_1024x27_class4,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x11_0sub0[] = {
- 5, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5,
- 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6,
- 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6,
- 8, 7, 8, 7, 8, 7, 8, 7, 9, 7, 9, 7, 9, 8,10, 8,
- 10, 8,10, 8,10, 8,10, 9,11, 9,11, 9,10, 9,10,10,
- 11,10,11,11,11,11,12,12,13,14,13,14,16,16,16,16,
- 16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,
- 16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,15,
-};
-
-static static_codebook _huff_book_line_128x11_0sub0 = {
- 1, 128,
- _huff_lengthlist_line_128x11_0sub0,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x11_1sub0[] = {
- 2, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 6, 5, 6, 5, 6, 5, 7, 6, 7, 6, 7, 6, 8, 6, 8, 6,
-};
-
-static static_codebook _huff_book_line_128x11_1sub0 = {
- 1, 32,
- _huff_lengthlist_line_128x11_1sub0,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x11_1sub1[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 6, 3, 6, 3, 7, 3, 7, 4, 8, 4, 8, 4, 8, 4, 9, 4,
- 10, 5, 9, 5,10, 5,10, 5,10, 5,12, 6,12, 6,10, 6,
- 10, 7,10, 8,10, 8,10, 9,11, 9,12,11,10,11,11,13,
- 12,12,12,13,10,13,10,13,10,13,10,13,11,13,10,13,
- 10,13,10,13,10,13,10,13,11,12,13,13,13,13,13,13,
- 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
-};
-
-static static_codebook _huff_book_line_128x11_1sub1 = {
- 1, 128,
- _huff_lengthlist_line_128x11_1sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x11_2sub1[] = {
- 0, 4, 5, 4, 5, 4, 5, 3, 4, 3, 4, 4, 4, 4, 4, 5,
- 5, 5,
-};
-
-static static_codebook _huff_book_line_128x11_2sub1 = {
- 1, 18,
- _huff_lengthlist_line_128x11_2sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x11_2sub2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2, 3, 3, 4, 3, 5, 4, 5, 5, 6, 5, 6, 6, 6,
- 6, 8, 6,10, 7,10, 8,10, 8,10,10,10,10,10,10,10,
- 10,10,
-};
-
-static static_codebook _huff_book_line_128x11_2sub2 = {
- 1, 50,
- _huff_lengthlist_line_128x11_2sub2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x11_2sub3[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
-};
-
-static static_codebook _huff_book_line_128x11_2sub3 = {
- 1, 128,
- _huff_lengthlist_line_128x11_2sub3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x11_3sub1[] = {
- 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 4,
- 5, 4,
-};
-
-static static_codebook _huff_book_line_128x11_3sub1 = {
- 1, 18,
- _huff_lengthlist_line_128x11_3sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x11_3sub2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 3, 5, 3, 6, 4, 7, 4, 7, 4, 7, 4, 8, 4,
- 8, 4, 9, 4, 9, 4, 9, 5,10, 5,11, 5,12, 6,13, 6,
- 13, 7,
-};
-
-static static_codebook _huff_book_line_128x11_3sub2 = {
- 1, 50,
- _huff_lengthlist_line_128x11_3sub2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x11_3sub3[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 7, 2, 6, 2, 7, 3, 8, 4, 7, 6, 9, 7, 9, 7,
- 9, 9, 9, 8, 9, 8, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
-};
-
-static static_codebook _huff_book_line_128x11_3sub3 = {
- 1, 128,
- _huff_lengthlist_line_128x11_3sub3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x11_class1[] = {
- 1, 6, 3, 7, 2, 5, 4, 7,
-};
-
-static static_codebook _huff_book_line_128x11_class1 = {
- 1, 8,
- _huff_lengthlist_line_128x11_class1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x11_class2[] = {
- 1, 5,11,14, 4,11,13,14,10,14,13,14,14,14,13,13,
- 2, 6,11,13, 5,11,12,13,11,12,13,13,13,13,13,13,
- 4, 8,12,13, 5, 9,11,13,12,13,13,13,13,13,13,13,
- 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
-};
-
-static static_codebook _huff_book_line_128x11_class2 = {
- 1, 64,
- _huff_lengthlist_line_128x11_class2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x11_class3[] = {
- 6, 7,11,16, 6, 7,10,16,11, 9,13,15,15,15,15,15,
- 4, 4, 7,14, 4, 4, 6,14, 8, 6, 8,15,15,15,15,15,
- 4, 4, 6,15, 3, 2, 4,13, 6, 5, 6,14,15,12,11,14,
- 11,11,13,15, 9, 8,10,15,11,10,11,15,15,15,15,15,
-};
-
-static static_codebook _huff_book_line_128x11_class3 = {
- 1, 64,
- _huff_lengthlist_line_128x11_class3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x17_0sub0[] = {
- 5, 5, 5, 5, 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 6, 5,
- 6, 5, 6, 5, 6, 5, 6, 5, 7, 5, 7, 5, 7, 6, 7, 6,
- 7, 6, 8, 6, 8, 6, 8, 6, 8, 6, 8, 6, 8, 7, 9, 7,
- 9, 7, 9, 7, 9, 7, 9, 7, 9, 7,10, 7,10, 8,10, 8,
- 11, 8,11, 8,11, 8,12, 8,12, 8,12, 8,12, 9,12, 9,
- 12, 9,12, 9,13, 9,13,10,13,10,13,11,14,12,14,13,
- 14,14,16,15,17,17,19,18,19,19,19,19,19,19,19,19,
- 19,19,19,19,19,19,19,19,19,19,19,18,18,18,18,18,
-};
-
-static static_codebook _huff_book_line_128x17_0sub0 = {
- 1, 128,
- _huff_lengthlist_line_128x17_0sub0,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x17_1sub0[] = {
- 2, 5, 5, 4, 5, 4, 5, 4, 5, 4, 5, 5, 5, 5, 6, 5,
- 6, 5, 6, 6, 7, 6, 7, 6, 8, 6, 8, 7, 9, 7, 9, 8,
-};
-
-static static_codebook _huff_book_line_128x17_1sub0 = {
- 1, 32,
- _huff_lengthlist_line_128x17_1sub0,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x17_1sub1[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4, 2, 5, 3, 5, 3, 6, 4, 6, 4, 7, 4, 8, 5, 8, 5,
- 8, 6, 9, 6, 9, 7, 9, 8,10, 8,10, 9,10,10,10,10,
- 10,12,10,14,11,15,12,15,11,15,11,15,11,14,11,15,
- 11,14,11,13,10,12,10,14,10,14,11,13,10,12,11,15,
- 12,15,13,15,12,13,14,15,15,15,15,15,15,15,15,15,
- 15,15,15,15,15,15,15,15,15,15,15,15,15,14,14,14,
-};
-
-static static_codebook _huff_book_line_128x17_1sub1 = {
- 1, 128,
- _huff_lengthlist_line_128x17_1sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x17_2sub1[] = {
- 0, 4, 5, 4, 7, 3, 8, 3, 9, 3,10, 2,12, 3,12, 4,
- 11, 6,
-};
-
-static static_codebook _huff_book_line_128x17_2sub1 = {
- 1, 18,
- _huff_lengthlist_line_128x17_2sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x17_2sub2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 7, 1, 8, 2, 9, 3, 9, 7, 9, 7, 9, 7, 8, 7,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8,
-};
-
-static static_codebook _huff_book_line_128x17_2sub2 = {
- 1, 50,
- _huff_lengthlist_line_128x17_2sub2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x17_2sub3[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
-};
-
-static static_codebook _huff_book_line_128x17_2sub3 = {
- 1, 128,
- _huff_lengthlist_line_128x17_2sub3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x17_3sub1[] = {
- 0, 4, 4, 4, 5, 4, 5, 3, 5, 3, 5, 3, 5, 4, 6, 4,
- 6, 4,
-};
-
-static static_codebook _huff_book_line_128x17_3sub1 = {
- 1, 18,
- _huff_lengthlist_line_128x17_3sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x17_3sub2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 3, 6, 3, 6, 3, 7, 4, 8, 4, 8, 4, 9, 4,
- 9, 4,10, 4,10, 5,11, 5,11, 5,12, 5,12, 6,12, 6,
- 12, 7,
-};
-
-static static_codebook _huff_book_line_128x17_3sub2 = {
- 1, 50,
- _huff_lengthlist_line_128x17_3sub2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x17_3sub3[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 7, 1, 7, 3, 6, 3, 6, 4, 6, 5, 6, 8, 7,10,
- 7,11, 7,11, 8,11, 9,11, 7,11, 8,11, 8,11,10,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
-};
-
-static static_codebook _huff_book_line_128x17_3sub3 = {
- 1, 128,
- _huff_lengthlist_line_128x17_3sub3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x17_class1[] = {
- 1, 3, 4, 7, 2, 6, 5, 7,
-};
-
-static static_codebook _huff_book_line_128x17_class1 = {
- 1, 8,
- _huff_lengthlist_line_128x17_class1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x17_class2[] = {
- 1, 2, 7,14, 4, 9,13,14, 8,14,14,14,14,14,14,14,
- 3, 5,10,14, 8,14,14,14,11,14,14,14,14,14,14,14,
- 7,10,14,14,12,14,14,14,14,14,14,14,14,14,14,14,
- 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,
-};
-
-static static_codebook _huff_book_line_128x17_class2 = {
- 1, 64,
- _huff_lengthlist_line_128x17_class2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x17_class3[] = {
- 2, 6,11,19, 5, 9,12,19,10,11,13,19,19,19,19,19,
- 2, 5, 8,19, 4, 6, 8,19, 8, 8, 9,19,19,16,19,19,
- 3, 6, 8,19, 3, 5, 7,18, 8, 8, 9,16,16,11,16,19,
- 14,14,14,19,10,10,11,19,16,12,14,19,19,19,19,19,
-};
-
-static static_codebook _huff_book_line_128x17_class3 = {
- 1, 64,
- _huff_lengthlist_line_128x17_class3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x4_0sub0[] = {
- 2, 2, 2, 2,
-};
-
-static static_codebook _huff_book_line_128x4_0sub0 = {
- 1, 4,
- _huff_lengthlist_line_128x4_0sub0,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x4_0sub1[] = {
- 0, 0, 0, 0, 3, 2, 3, 2, 3, 3,
-};
-
-static static_codebook _huff_book_line_128x4_0sub1 = {
- 1, 10,
- _huff_lengthlist_line_128x4_0sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x4_0sub2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 4, 4, 4, 4,
- 4, 3, 4, 4, 5, 3, 6, 4, 6,
-};
-
-static static_codebook _huff_book_line_128x4_0sub2 = {
- 1, 25,
- _huff_lengthlist_line_128x4_0sub2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x4_0sub3[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 2, 6, 3, 6, 3,
- 7, 4, 7, 5, 7, 5, 7, 6, 8, 8, 9,10,10,16,10,16,
- 10,14,10,14,11,15,15,15,15,15,15,15,15,15,15,15,
-};
-
-static static_codebook _huff_book_line_128x4_0sub3 = {
- 1, 64,
- _huff_lengthlist_line_128x4_0sub3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x4_class0[] = {
- 8, 8, 8,14, 7, 7, 8,13, 7, 6, 7,11,11,11,10,13,
- 9, 9,10,16, 8, 8, 9,12, 7, 7, 7,11,11,11,10,12,
- 11,11,11,14,10,10,10,14, 9, 8, 9,12,13,14,12,14,
- 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
- 8, 7, 8,11, 7, 7, 7,11, 6, 6, 6,10,10,10,10,14,
- 8, 8, 8,12, 7, 7, 8,11, 6, 7, 7,10,10,10,10,13,
- 10,10,10,12,10, 9, 9,12, 9, 9, 9,12,12,13,12,14,
- 16,16,16,16,16,14,16,16,14,14,16,16,16,16,16,16,
- 7, 6, 5, 7, 6, 6, 5, 6, 6, 5, 5, 5, 9,10, 9,10,
- 8, 7, 6, 7, 7, 6, 5, 6, 6, 6, 5, 6,10,10, 9, 9,
- 10, 9, 7, 8, 9, 8, 7, 7, 8, 7, 6, 7,11,11,10, 9,
- 16,13,14,16,14,14,13,15,16,14,12,13,16,16,14,16,
- 9, 8, 7, 8, 8, 8, 7, 8, 8, 7, 6, 7,10,10, 9,12,
- 9, 9, 8, 8, 9, 8, 7, 8, 8, 8, 6, 7,10,10, 9,12,
- 11,10, 9,10,10, 9, 7, 9, 9, 8, 6, 9,12,11,10,13,
- 12,16,16,16,12,13,12,16,15,12,11,14,16,16,16,16,
-};
-
-static static_codebook _huff_book_line_128x4_class0 = {
- 1, 256,
- _huff_lengthlist_line_128x4_class0,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x7_0sub1[] = {
- 0, 3, 3, 3, 3, 3, 3, 3, 3,
-};
-
-static static_codebook _huff_book_line_128x7_0sub1 = {
- 1, 9,
- _huff_lengthlist_line_128x7_0sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x7_0sub2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 4, 3, 4, 4, 4,
- 5, 4, 5, 4, 5, 4, 6, 4, 6,
-};
-
-static static_codebook _huff_book_line_128x7_0sub2 = {
- 1, 25,
- _huff_lengthlist_line_128x7_0sub2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x7_0sub3[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 3, 5, 3, 6, 4,
- 6, 4, 6, 4, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 5, 5,
- 6, 7, 8,10,12,12,12,12,12,12,12,12,12,12,12,12,
-};
-
-static static_codebook _huff_book_line_128x7_0sub3 = {
- 1, 64,
- _huff_lengthlist_line_128x7_0sub3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x7_1sub1[] = {
- 0, 3, 3, 3, 3, 2, 4, 3, 4,
-};
-
-static static_codebook _huff_book_line_128x7_1sub1 = {
- 1, 9,
- _huff_lengthlist_line_128x7_1sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x7_1sub2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 3, 6, 3, 7, 3,
- 8, 3, 9, 3,10, 3,11, 4,11,
-};
-
-static static_codebook _huff_book_line_128x7_1sub2 = {
- 1, 25,
- _huff_lengthlist_line_128x7_1sub2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x7_1sub3[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,12, 2, 9, 3,10, 4,
- 12, 5,12, 6,12,10,12,11,12,12,12,12,12,12,12,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
-};
-
-static static_codebook _huff_book_line_128x7_1sub3 = {
- 1, 64,
- _huff_lengthlist_line_128x7_1sub3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x7_class0[] = {
- 10, 7, 8,14,10, 7, 7,12,11, 8, 8,13,16,16,16,16,
- 8, 5, 5,10, 7, 4, 4, 8, 8, 5, 5, 9,16,16,16,16,
- 7, 4, 5, 7, 6, 3, 3, 6, 8, 5, 5, 7,16,14,13,16,
- 9, 7, 7,10, 7, 4, 4, 7, 9, 6, 5, 6,15,13,11,14,
-};
-
-static static_codebook _huff_book_line_128x7_class0 = {
- 1, 64,
- _huff_lengthlist_line_128x7_class0,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_128x7_class1[] = {
- 8,12,16,16,10,14,16,16,12,15,16,16,16,16,16,16,
- 7,11,15,16, 7,11,16,16,10,12,16,16,16,16,16,16,
- 9,15,16,16, 9,12,16,16,11,15,16,16,16,16,16,16,
- 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
- 6,10,13,16, 7,10,15,16, 9,11,16,16,16,16,16,16,
- 4, 8,13,16, 5, 8,15,16, 7, 9,15,16,16,16,16,16,
- 6,12,16,16, 6,10,15,16, 9,10,14,16,16,16,16,16,
- 14,16,16,16,12,14,16,16,15,16,16,16,16,16,16,16,
- 4, 9,11,16, 5, 9,13,16, 7, 9,15,16,16,16,16,16,
- 2, 7,11,16, 3, 6,11,16, 5, 7,12,16,16,16,16,16,
- 4, 9,14,16, 4, 7,13,16, 6, 8,13,16,16,16,16,16,
- 11,14,16,16,10,16,14,16,11,16,16,16,16,16,16,16,
- 7,13,16,16, 9,13,15,16,11,13,16,16,16,16,16,16,
- 5,10,14,16, 6,10,15,16, 9,10,16,16,16,16,16,16,
- 7,13,16,16, 6,10,16,16, 9,12,16,16,16,16,16,16,
- 11,16,16,16,10,16,16,16,13,16,16,16,16,16,16,16,
-};
-
-static static_codebook _huff_book_line_128x7_class1 = {
- 1, 256,
- _huff_lengthlist_line_128x7_class1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_256x4_0sub0[] = {
- 1, 3, 2, 3,
-};
-
-static static_codebook _huff_book_line_256x4_0sub0 = {
- 1, 4,
- _huff_lengthlist_line_256x4_0sub0,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_256x4_0sub1[] = {
- 0, 0, 0, 0, 2, 2, 3, 3, 3, 3,
-};
-
-static static_codebook _huff_book_line_256x4_0sub1 = {
- 1, 10,
- _huff_lengthlist_line_256x4_0sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_256x4_0sub2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 4, 3, 4,
- 4, 4, 5, 4, 5, 5, 6, 4, 6,
-};
-
-static static_codebook _huff_book_line_256x4_0sub2 = {
- 1, 25,
- _huff_lengthlist_line_256x4_0sub2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_256x4_0sub3[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 3, 4, 3, 4, 4,
- 5, 4, 5, 5, 6, 5, 7, 6, 8, 7, 9, 8, 9, 9,10,12,
- 15,15,15,15,15,15,15,15,14,14,14,14,14,14,14,14,
-};
-
-static static_codebook _huff_book_line_256x4_0sub3 = {
- 1, 64,
- _huff_lengthlist_line_256x4_0sub3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_256x4_class0[] = {
- 4, 5, 6,11, 5, 5, 6,10, 7, 6, 5, 6,14,13,10,10,
- 6, 6, 6,10, 6, 6, 6,10, 7, 7, 7, 9, 9,10, 9,12,
- 9, 8, 8,11, 8, 8, 8,10, 8, 8, 9,11, 8, 9, 9,13,
- 18,18,18,18,16,17,18,18,12,13,14,18,14,14,10,12,
- 5, 5, 6,12, 6, 5, 6,10, 7, 7, 6, 7,13,12, 9,12,
- 6, 6, 6,11, 6, 6, 6, 9, 7, 7, 7,10,10,10, 9,12,
- 9, 8, 8,12, 8, 8, 7,11, 8, 8, 8,11, 9, 9, 8,10,
- 18,18,17,18,18,18,15,18,16,14,12,18,14,12,10,11,
- 8, 7, 7,12, 8, 7, 7,10, 8, 7, 6, 6,11,10, 9,10,
- 8, 8, 7,11, 8, 7, 7, 9, 8, 8, 7, 9,10,10, 9, 9,
- 10, 9, 8,12, 9, 9, 8,11,10, 9, 8, 9, 8, 8, 7, 9,
- 18,18,18,18,18,18,18,18,17,16,14,18,13,12,11,13,
- 12,12,13,16,11,10,10,16,12,12, 9, 7,15,12,11,11,
- 14,14,14,14,12,11,11,18,14,12,10,11,18,13,11,13,
- 18,18,18,17,17,16,15,17,18,15,16,18,16,12,11,11,
- 18,18,18,18,18,18,18,18,18,18,17,18,18,13,12,15,
-};
-
-static static_codebook _huff_book_line_256x4_class0 = {
- 1, 256,
- _huff_lengthlist_line_256x4_class0,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_256x7_0sub1[] = {
- 0, 2, 3, 3, 3, 3, 4, 3, 4,
-};
-
-static static_codebook _huff_book_line_256x7_0sub1 = {
- 1, 9,
- _huff_lengthlist_line_256x7_0sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_256x7_0sub2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 3, 4, 3, 5, 3,
- 6, 3, 6, 4, 6, 4, 7, 5, 7,
-};
-
-static static_codebook _huff_book_line_256x7_0sub2 = {
- 1, 25,
- _huff_lengthlist_line_256x7_0sub2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_256x7_0sub3[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 2, 5, 3, 5, 3,
- 6, 3, 6, 4, 7, 6, 7, 8, 7, 9, 8, 9, 9, 9,10, 9,
- 11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,
-};
-
-static static_codebook _huff_book_line_256x7_0sub3 = {
- 1, 64,
- _huff_lengthlist_line_256x7_0sub3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_256x7_1sub1[] = {
- 0, 3, 3, 3, 3, 2, 4, 3, 4,
-};
-
-static static_codebook _huff_book_line_256x7_1sub1 = {
- 1, 9,
- _huff_lengthlist_line_256x7_1sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_256x7_1sub2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 4, 3, 4, 4,
- 5, 4, 6, 5, 6, 7, 6, 8, 8,
-};
-
-static static_codebook _huff_book_line_256x7_1sub2 = {
- 1, 25,
- _huff_lengthlist_line_256x7_1sub2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_256x7_1sub3[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 4, 3, 6, 3, 7,
- 3, 8, 5, 8, 6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7,
-};
-
-static static_codebook _huff_book_line_256x7_1sub3 = {
- 1, 64,
- _huff_lengthlist_line_256x7_1sub3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_256x7_class0[] = {
- 7, 5, 5, 9, 9, 6, 6, 9,12, 8, 7, 8,11, 8, 9,15,
- 6, 3, 3, 7, 7, 4, 3, 6, 9, 6, 5, 6, 8, 6, 8,15,
- 8, 5, 5, 9, 8, 5, 4, 6,10, 7, 5, 5,11, 8, 7,15,
- 14,15,13,13,13,13, 8,11,15,10, 7, 6,11, 9,10,15,
-};
-
-static static_codebook _huff_book_line_256x7_class0 = {
- 1, 64,
- _huff_lengthlist_line_256x7_class0,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_256x7_class1[] = {
- 5, 6, 8,15, 6, 9,10,15,10,11,12,15,15,15,15,15,
- 4, 6, 7,15, 6, 7, 8,15, 9, 8, 9,15,15,15,15,15,
- 6, 8, 9,15, 7, 7, 8,15,10, 9,10,15,15,15,15,15,
- 15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,
- 4, 6, 7,15, 6, 8, 9,15,10,10,12,15,15,15,15,15,
- 2, 5, 6,15, 5, 6, 7,15, 8, 6, 7,15,15,15,15,15,
- 5, 6, 8,15, 5, 6, 7,15, 9, 6, 7,15,15,15,15,15,
- 14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,
- 7, 8, 9,15, 9,10,10,15,15,14,14,15,15,15,15,15,
- 5, 6, 7,15, 7, 8, 9,15,12, 9,10,15,15,15,15,15,
- 7, 7, 9,15, 7, 7, 8,15,12, 8, 9,15,15,15,15,15,
- 13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,
- 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
- 13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,
- 15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,
- 15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,
-};
-
-static static_codebook _huff_book_line_256x7_class1 = {
- 1, 256,
- _huff_lengthlist_line_256x7_class1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_512x17_0sub0[] = {
- 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 6, 5, 6, 6, 6, 6, 5, 6, 6, 7, 6, 7, 6, 7, 6,
- 7, 6, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 9, 7, 9, 7,
- 9, 7, 9, 8, 9, 8,10, 8,10, 8,10, 7,10, 6,10, 8,
- 10, 8,11, 7,10, 7,11, 8,11,11,12,12,11,11,12,11,
- 13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,
- 15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,
- 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,
-};
-
-static static_codebook _huff_book_line_512x17_0sub0 = {
- 1, 128,
- _huff_lengthlist_line_512x17_0sub0,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_512x17_1sub0[] = {
- 2, 4, 5, 4, 5, 4, 5, 4, 5, 5, 5, 5, 5, 5, 6, 5,
- 6, 5, 6, 6, 7, 6, 7, 6, 8, 7, 8, 7, 8, 7, 8, 7,
-};
-
-static static_codebook _huff_book_line_512x17_1sub0 = {
- 1, 32,
- _huff_lengthlist_line_512x17_1sub0,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_512x17_1sub1[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4, 3, 5, 3, 5, 4, 5, 4, 5, 4, 5, 5, 5, 5, 6, 5,
- 6, 5, 7, 5, 8, 6, 8, 6, 8, 6, 8, 6, 8, 7, 9, 7,
- 9, 7,11, 9,11,11,12,11,14,12,14,16,14,16,13,16,
- 14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,
- 13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,
- 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
-};
-
-static static_codebook _huff_book_line_512x17_1sub1 = {
- 1, 128,
- _huff_lengthlist_line_512x17_1sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_512x17_2sub1[] = {
- 0, 4, 5, 4, 4, 4, 5, 4, 4, 4, 5, 4, 5, 4, 5, 3,
- 5, 3,
-};
-
-static static_codebook _huff_book_line_512x17_2sub1 = {
- 1, 18,
- _huff_lengthlist_line_512x17_2sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_512x17_2sub2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 3, 4, 3, 4, 4, 5, 4, 5, 4, 6, 4, 6, 5,
- 6, 5, 7, 5, 7, 6, 8, 6, 8, 6, 8, 7, 8, 7, 9, 7,
- 9, 8,
-};
-
-static static_codebook _huff_book_line_512x17_2sub2 = {
- 1, 50,
- _huff_lengthlist_line_512x17_2sub2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_512x17_2sub3[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 3, 3, 3, 3, 4, 3, 4, 4, 5, 5, 6, 6, 7, 7,
- 7, 8, 8,11, 8, 9, 9, 9,10,11,11,11, 9,10,10,11,
- 11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
-};
-
-static static_codebook _huff_book_line_512x17_2sub3 = {
- 1, 128,
- _huff_lengthlist_line_512x17_2sub3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_512x17_3sub1[] = {
- 0, 4, 4, 4, 4, 4, 4, 3, 4, 4, 4, 4, 4, 5, 4, 5,
- 5, 5,
-};
-
-static static_codebook _huff_book_line_512x17_3sub1 = {
- 1, 18,
- _huff_lengthlist_line_512x17_3sub1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_512x17_3sub2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2, 3, 3, 4, 3, 5, 4, 6, 4, 6, 5, 7, 6, 7,
- 6, 8, 6, 8, 7, 9, 8,10, 8,12, 9,13,10,15,10,15,
- 11,14,
-};
-
-static static_codebook _huff_book_line_512x17_3sub2 = {
- 1, 50,
- _huff_lengthlist_line_512x17_3sub2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_512x17_3sub3[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 8, 4, 8, 4, 8, 4, 8, 5, 8, 5, 8, 6, 8,
- 4, 8, 4, 8, 5, 8, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
-};
-
-static static_codebook _huff_book_line_512x17_3sub3 = {
- 1, 128,
- _huff_lengthlist_line_512x17_3sub3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_512x17_class1[] = {
- 1, 2, 3, 6, 5, 4, 7, 7,
-};
-
-static static_codebook _huff_book_line_512x17_class1 = {
- 1, 8,
- _huff_lengthlist_line_512x17_class1,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_512x17_class2[] = {
- 3, 3, 3,14, 5, 4, 4,11, 8, 6, 6,10,17,12,11,17,
- 6, 5, 5,15, 5, 3, 4,11, 8, 5, 5, 8,16, 9,10,14,
- 10, 8, 9,17, 8, 6, 6,13,10, 7, 7,10,16,11,13,14,
- 17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,
-};
-
-static static_codebook _huff_book_line_512x17_class2 = {
- 1, 64,
- _huff_lengthlist_line_512x17_class2,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist_line_512x17_class3[] = {
- 2, 4, 6,17, 4, 5, 7,17, 8, 7,10,17,17,17,17,17,
- 3, 4, 6,15, 3, 3, 6,15, 7, 6, 9,17,17,17,17,17,
- 6, 8,10,17, 6, 6, 8,16, 9, 8,10,17,17,15,16,17,
- 17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,
-};
-
-static static_codebook _huff_book_line_512x17_class3 = {
- 1, 64,
- _huff_lengthlist_line_512x17_class3,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static static_codebook *_floor_128x4_books[]={
- &_huff_book_line_128x4_class0,
- &_huff_book_line_128x4_0sub0,
- &_huff_book_line_128x4_0sub1,
- &_huff_book_line_128x4_0sub2,
- &_huff_book_line_128x4_0sub3,
-};
-static static_codebook *_floor_256x4_books[]={
- &_huff_book_line_256x4_class0,
- &_huff_book_line_256x4_0sub0,
- &_huff_book_line_256x4_0sub1,
- &_huff_book_line_256x4_0sub2,
- &_huff_book_line_256x4_0sub3,
-};
-static static_codebook *_floor_128x7_books[]={
- &_huff_book_line_128x7_class0,
- &_huff_book_line_128x7_class1,
-
- &_huff_book_line_128x7_0sub1,
- &_huff_book_line_128x7_0sub2,
- &_huff_book_line_128x7_0sub3,
- &_huff_book_line_128x7_1sub1,
- &_huff_book_line_128x7_1sub2,
- &_huff_book_line_128x7_1sub3,
-};
-static static_codebook *_floor_256x7_books[]={
- &_huff_book_line_256x7_class0,
- &_huff_book_line_256x7_class1,
-
- &_huff_book_line_256x7_0sub1,
- &_huff_book_line_256x7_0sub2,
- &_huff_book_line_256x7_0sub3,
- &_huff_book_line_256x7_1sub1,
- &_huff_book_line_256x7_1sub2,
- &_huff_book_line_256x7_1sub3,
-};
-static static_codebook *_floor_128x11_books[]={
- &_huff_book_line_128x11_class1,
- &_huff_book_line_128x11_class2,
- &_huff_book_line_128x11_class3,
-
- &_huff_book_line_128x11_0sub0,
- &_huff_book_line_128x11_1sub0,
- &_huff_book_line_128x11_1sub1,
- &_huff_book_line_128x11_2sub1,
- &_huff_book_line_128x11_2sub2,
- &_huff_book_line_128x11_2sub3,
- &_huff_book_line_128x11_3sub1,
- &_huff_book_line_128x11_3sub2,
- &_huff_book_line_128x11_3sub3,
-};
-static static_codebook *_floor_128x17_books[]={
- &_huff_book_line_128x17_class1,
- &_huff_book_line_128x17_class2,
- &_huff_book_line_128x17_class3,
-
- &_huff_book_line_128x17_0sub0,
- &_huff_book_line_128x17_1sub0,
- &_huff_book_line_128x17_1sub1,
- &_huff_book_line_128x17_2sub1,
- &_huff_book_line_128x17_2sub2,
- &_huff_book_line_128x17_2sub3,
- &_huff_book_line_128x17_3sub1,
- &_huff_book_line_128x17_3sub2,
- &_huff_book_line_128x17_3sub3,
-};
-static static_codebook *_floor_512x17_books[]={
- &_huff_book_line_512x17_class1,
- &_huff_book_line_512x17_class2,
- &_huff_book_line_512x17_class3,
-
- &_huff_book_line_512x17_0sub0,
- &_huff_book_line_512x17_1sub0,
- &_huff_book_line_512x17_1sub1,
- &_huff_book_line_512x17_2sub1,
- &_huff_book_line_512x17_2sub2,
- &_huff_book_line_512x17_2sub3,
- &_huff_book_line_512x17_3sub1,
- &_huff_book_line_512x17_3sub2,
- &_huff_book_line_512x17_3sub3,
-};
-static static_codebook *_floor_1024x27_books[]={
- &_huff_book_line_1024x27_class1,
- &_huff_book_line_1024x27_class2,
- &_huff_book_line_1024x27_class3,
- &_huff_book_line_1024x27_class4,
-
- &_huff_book_line_1024x27_0sub0,
- &_huff_book_line_1024x27_1sub0,
- &_huff_book_line_1024x27_1sub1,
- &_huff_book_line_1024x27_2sub0,
- &_huff_book_line_1024x27_2sub1,
- &_huff_book_line_1024x27_3sub1,
- &_huff_book_line_1024x27_3sub2,
- &_huff_book_line_1024x27_3sub3,
- &_huff_book_line_1024x27_4sub1,
- &_huff_book_line_1024x27_4sub2,
- &_huff_book_line_1024x27_4sub3,
-};
-
-static static_codebook **_floor_books[10]={
- _floor_128x4_books,
- _floor_256x4_books,
- _floor_128x7_books,
- _floor_256x7_books,
- _floor_128x11_books,
- _floor_128x17_books,
- _floor_128x17_books,
- _floor_1024x27_books,
- _floor_1024x27_books,
- _floor_512x17_books,
-};
-
-static vorbis_info_floor1 _floor[10]={
- /* 128 x 4 */
- {
- 1,{0},{4},{2},{0},
- {{1,2,3,4}},
- 4,{0,128, 33,8,16,70},
-
- 60,30,500, 1.,18., -1
- },
- /* 256 x 4 */
- {
- 1,{0},{4},{2},{0},
- {{1,2,3,4}},
- 4,{0,256, 66,16,32,140},
-
- 60,30,500, 1.,18., -1
- },
- /* 128 x 7 */
- {
- 2,{0,1},{3,4},{2,2},{0,1},
- {{-1,2,3,4},{-1,5,6,7}},
- 4,{0,128, 14,4,58, 2,8,28,90},
-
- 60,30,500, 1.,18., -1
- },
- /* 256 x 7 */
- {
- 2,{0,1},{3,4},{2,2},{0,1},
- {{-1,2,3,4},{-1,5,6,7}},
- 4,{0,256, 28,8,116, 4,16,56,180},
-
- 60,30,500, 1.,18., -1
- },
-
- /* 128 x 11 */
- {
- 4,{0,1,2,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
- {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
-
- 2,{0,128, 8,33, 4,16,70, 2,6,12, 23,46,90},
-
- 60,30,500, 1,18., -1
- },
-
- /* 128 x 17 */
- {
- 6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
- {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
- 2,{0,128, 12,46, 4,8,16, 23,33,70, 2,6,10, 14,19,28, 39,58,90},
-
- 60,30,500, 1,18., -1
- },
-
- /* 1024 x 17 */
- {
- 6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
- {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
- 2,{0,1024, 93,372, 33,65,130, 186,260,556,
- 14,46,79, 111,158,220, 312,464,720},
-
- 60,30,500, 1,18., -1 /* lowpass! */
- },
- /* 1024 x 27 */
- {
- 8,{0,1,2,2,3,3,4,4},{3,4,3,4,3},{0,1,1,2,2},{-1,0,1,2,3},
- {{4},{5,6},{7,8},{-1,9,10,11},{-1,12,13,14}},
- 2,{0,1024, 93,23,372, 6,46,186,750, 14,33,65, 130,260,556,
- 3,10,18,28, 39,55,79,111, 158,220,312, 464,650,850},
-
- 60,30,500, 3,18., -1 /* lowpass */
- },
- /* 2048 x 27 */
- {
- 8,{0,1,2,2,3,3,4,4},{3,4,3,4,3},{0,1,1,2,2},{-1,0,1,2,3},
- {{4},{5,6},{7,8},{-1,9,10,11},{-1,12,13,14}},
- 2,{0,2048, 186,46,744, 12,92,372,1500, 28,66,130, 260,520,1112,
- 6,20,36,56, 78,110,158,222, 316,440,624, 928,1300,1700},
-
- 60,30,500, 3,18., -1 /* lowpass */
- },
- /* 512 x 17 */
- {
- 6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
- {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
- 2,{0,512, 46,186, 16,33,65, 93,130,278,
- 7,23,39, 55,79,110, 156,232,360},
-
- 60,30,500, 1,18., -1 /* lowpass! */
- },
-
-};
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: toplevel residue templates for 32/44.1/48kHz
- last mod: $Id: residue_44.h,v 1.16 2002/07/11 06:41:04 xiphmont Exp $
-
- ********************************************************************/
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: static codebooks autogenerated by huff/huffbuld
- last modified: $Id: res_books_stereo.h,v 1.2 2002/07/11 10:27:51 xiphmont Exp $
-
- ********************************************************************/
-
-static long _vq_quantlist__16c0_s_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__16c0_s_p1_0[] = {
- 1, 4, 4, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0,
- 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 5, 8, 8, 0, 0, 0, 0, 0, 0, 8, 9,10, 0, 0, 0,
- 0, 0, 0, 7, 9,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 8, 8, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0,
- 0, 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 8, 8, 0, 0, 0, 0,
- 0, 0, 8,10,10, 0, 0, 0, 0, 0, 0, 8,10,10, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,10,10, 0, 0, 0,
- 0, 0, 0, 9, 9,12, 0, 0, 0, 0, 0, 0,10,12,11, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,10,10, 0, 0,
- 0, 0, 0, 0, 9,12,10, 0, 0, 0, 0, 0, 0,10,11,12,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 8, 8, 0, 0, 0, 0, 0, 0, 8,10,10, 0, 0,
- 0, 0, 0, 0, 8,10,10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 7,10,10, 0, 0, 0, 0, 0, 0,10,12,11, 0,
- 0, 0, 0, 0, 0, 9,10,12, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7,10,10, 0, 0, 0, 0, 0, 0,10,11,12,
- 0, 0, 0, 0, 0, 0, 9,12, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__16c0_s_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__16c0_s_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c0_s_p1_0 = {
- _vq_quantthresh__16c0_s_p1_0,
- _vq_quantmap__16c0_s_p1_0,
- 3,
- 3
-};
-
-static static_codebook _16c0_s_p1_0 = {
- 8, 6561,
- _vq_lengthlist__16c0_s_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__16c0_s_p1_0,
- NULL,
- &_vq_auxt__16c0_s_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c0_s_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__16c0_s_p2_0[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__16c0_s_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__16c0_s_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c0_s_p2_0 = {
- _vq_quantthresh__16c0_s_p2_0,
- _vq_quantmap__16c0_s_p2_0,
- 5,
- 5
-};
-
-static static_codebook _16c0_s_p2_0 = {
- 4, 625,
- _vq_lengthlist__16c0_s_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__16c0_s_p2_0,
- NULL,
- &_vq_auxt__16c0_s_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c0_s_p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__16c0_s_p3_0[] = {
- 1, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6, 6, 7, 6, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 9, 9,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 6, 6, 9, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__16c0_s_p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__16c0_s_p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c0_s_p3_0 = {
- _vq_quantthresh__16c0_s_p3_0,
- _vq_quantmap__16c0_s_p3_0,
- 5,
- 5
-};
-
-static static_codebook _16c0_s_p3_0 = {
- 4, 625,
- _vq_lengthlist__16c0_s_p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__16c0_s_p3_0,
- NULL,
- &_vq_auxt__16c0_s_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c0_s_p4_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__16c0_s_p4_0[] = {
- 1, 3, 2, 7, 8, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0,
- 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7,
- 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
- 8, 8, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0,
- 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__16c0_s_p4_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__16c0_s_p4_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c0_s_p4_0 = {
- _vq_quantthresh__16c0_s_p4_0,
- _vq_quantmap__16c0_s_p4_0,
- 9,
- 9
-};
-
-static static_codebook _16c0_s_p4_0 = {
- 2, 81,
- _vq_lengthlist__16c0_s_p4_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__16c0_s_p4_0,
- NULL,
- &_vq_auxt__16c0_s_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c0_s_p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__16c0_s_p5_0[] = {
- 1, 3, 3, 6, 6, 6, 6, 8, 8, 0, 0, 0, 7, 7, 7, 7,
- 8, 8, 0, 0, 0, 7, 7, 7, 7, 8, 8, 0, 0, 0, 7, 7,
- 8, 8, 9, 9, 0, 0, 0, 7, 7, 8, 8, 9, 9, 0, 0, 0,
- 8, 9, 8, 8,10,10, 0, 0, 0, 8, 8, 8, 8,10,10, 0,
- 0, 0,10,10, 9, 9,10,10, 0, 0, 0, 0, 0, 9, 9,10,
- 10,
-};
-
-static float _vq_quantthresh__16c0_s_p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__16c0_s_p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c0_s_p5_0 = {
- _vq_quantthresh__16c0_s_p5_0,
- _vq_quantmap__16c0_s_p5_0,
- 9,
- 9
-};
-
-static static_codebook _16c0_s_p5_0 = {
- 2, 81,
- _vq_lengthlist__16c0_s_p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__16c0_s_p5_0,
- NULL,
- &_vq_auxt__16c0_s_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c0_s_p6_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__16c0_s_p6_0[] = {
- 1, 3, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11,
- 11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,11,
- 11,11, 0, 0, 0, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,
- 11,11,11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,
- 11,11,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,
- 10,11,11,12,12, 0, 0, 0, 8, 8, 9, 9,10,10,10,10,
- 11,11,12,12,12,12, 0, 0, 0, 8, 8, 9, 9,10,10,10,
- 10,11,11,12,12,12,13, 0, 0, 0, 9, 9, 9, 9,10,10,
- 10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0,10,10,10,
- 10,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 9, 9,
- 10,10,11,11,12,12,13,13,13,13, 0, 0, 0, 0, 0, 9,
- 9,10,10,11,11,12,12,13,13,13,14, 0, 0, 0, 0, 0,
- 10,10,10,11,11,11,12,12,13,13,13,14, 0, 0, 0, 0,
- 0, 0, 0,10,10,11,11,12,12,13,13,14,14, 0, 0, 0,
- 0, 0, 0, 0,11,11,12,12,13,13,13,13,14,14, 0, 0,
- 0, 0, 0, 0, 0,11,11,12,12,12,13,13,14,15,14, 0,
- 0, 0, 0, 0, 0, 0,12,12,12,12,13,13,13,14,14,15,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,12,12,13,13,14,13,14,
- 14,
-};
-
-static float _vq_quantthresh__16c0_s_p6_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__16c0_s_p6_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c0_s_p6_0 = {
- _vq_quantthresh__16c0_s_p6_0,
- _vq_quantmap__16c0_s_p6_0,
- 17,
- 17
-};
-
-static static_codebook _16c0_s_p6_0 = {
- 2, 289,
- _vq_lengthlist__16c0_s_p6_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__16c0_s_p6_0,
- NULL,
- &_vq_auxt__16c0_s_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c0_s_p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__16c0_s_p7_0[] = {
- 1, 4, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7,11,10,10,11,
- 11,10, 4, 7, 7,10,10,10,11,10,10, 6,10,10,11,11,
- 11,11,11,10, 6, 9, 9,11,12,12,11, 9, 9, 6, 9,10,
- 11,12,12,11, 9,10, 7,11,11,11,11,11,12,13,12, 6,
- 9,10,11,10,10,12,13,13, 6,10, 9,11,10,10,11,12,
- 13,
-};
-
-static float _vq_quantthresh__16c0_s_p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__16c0_s_p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c0_s_p7_0 = {
- _vq_quantthresh__16c0_s_p7_0,
- _vq_quantmap__16c0_s_p7_0,
- 3,
- 3
-};
-
-static static_codebook _16c0_s_p7_0 = {
- 4, 81,
- _vq_lengthlist__16c0_s_p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__16c0_s_p7_0,
- NULL,
- &_vq_auxt__16c0_s_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c0_s_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__16c0_s_p7_1[] = {
- 1, 3, 4, 6, 6, 7, 7, 8, 8, 8, 8,10,10,10, 7, 7,
- 8, 8, 8, 9, 9, 9,10,10,10, 6, 7, 8, 8, 8, 8, 9,
- 8,10,10,10, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10, 7,
- 7, 8, 8, 9, 9, 8, 9,10,10,10, 8, 8, 9, 9, 9, 9,
- 9, 9,11,11,11, 8, 8, 9, 9, 9, 9, 9,10,10,11,11,
- 9, 9, 9, 9, 9, 9, 9,10,11,11,11,10,11, 9, 9, 9,
- 9,10, 9,11,11,11,10,11,10,10, 9, 9,10,10,11,11,
- 11,11,11, 9, 9, 9, 9,10,10,
-};
-
-static float _vq_quantthresh__16c0_s_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__16c0_s_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c0_s_p7_1 = {
- _vq_quantthresh__16c0_s_p7_1,
- _vq_quantmap__16c0_s_p7_1,
- 11,
- 11
-};
-
-static static_codebook _16c0_s_p7_1 = {
- 2, 121,
- _vq_lengthlist__16c0_s_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__16c0_s_p7_1,
- NULL,
- &_vq_auxt__16c0_s_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c0_s_p8_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__16c0_s_p8_0[] = {
- 1, 4, 4, 7, 7, 7, 7, 7, 6, 8, 8,10,10, 6, 5, 6,
- 8, 8, 8, 8, 8, 8, 8, 9,10,10, 7, 6, 6, 8, 8, 8,
- 8, 8, 8, 8, 8,10,10, 0, 8, 8, 8, 8, 9, 8, 9, 9,
- 9,10,10,10, 0, 9, 8, 8, 8, 9, 9, 8, 8, 9, 9,10,
- 10, 0,12,11, 8, 8, 9, 9, 9, 9,10,10,11,10, 0,12,
- 13, 8, 8, 9,10, 9, 9,11,11,11,12, 0, 0, 0, 8, 8,
- 8, 8,10, 9,12,13,12,14, 0, 0, 0, 8, 8, 8, 9,10,
- 10,12,12,13,14, 0, 0, 0,13,13, 9, 9,11,11, 0, 0,
- 14, 0, 0, 0, 0,14,14,10,10,12,11,12,14,14,14, 0,
- 0, 0, 0, 0,11,11,13,13,14,13,14,14, 0, 0, 0, 0,
- 0,12,13,13,12,13,14,14,14,
-};
-
-static float _vq_quantthresh__16c0_s_p8_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__16c0_s_p8_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c0_s_p8_0 = {
- _vq_quantthresh__16c0_s_p8_0,
- _vq_quantmap__16c0_s_p8_0,
- 13,
- 13
-};
-
-static static_codebook _16c0_s_p8_0 = {
- 2, 169,
- _vq_lengthlist__16c0_s_p8_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__16c0_s_p8_0,
- NULL,
- &_vq_auxt__16c0_s_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c0_s_p8_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__16c0_s_p8_1[] = {
- 1, 4, 3, 5, 5, 7, 7, 7, 6, 6, 7, 7, 7, 5, 5, 7,
- 7, 7, 6, 6, 7, 7, 7, 6, 6,
-};
-
-static float _vq_quantthresh__16c0_s_p8_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__16c0_s_p8_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c0_s_p8_1 = {
- _vq_quantthresh__16c0_s_p8_1,
- _vq_quantmap__16c0_s_p8_1,
- 5,
- 5
-};
-
-static static_codebook _16c0_s_p8_1 = {
- 2, 25,
- _vq_lengthlist__16c0_s_p8_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__16c0_s_p8_1,
- NULL,
- &_vq_auxt__16c0_s_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c0_s_p9_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__16c0_s_p9_0[] = {
- 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7,
-};
-
-static float _vq_quantthresh__16c0_s_p9_0[] = {
- -157.5, 157.5,
-};
-
-static long _vq_quantmap__16c0_s_p9_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c0_s_p9_0 = {
- _vq_quantthresh__16c0_s_p9_0,
- _vq_quantmap__16c0_s_p9_0,
- 3,
- 3
-};
-
-static static_codebook _16c0_s_p9_0 = {
- 4, 81,
- _vq_lengthlist__16c0_s_p9_0,
- 1, -518803456, 1628680192, 2, 0,
- _vq_quantlist__16c0_s_p9_0,
- NULL,
- &_vq_auxt__16c0_s_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c0_s_p9_1[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__16c0_s_p9_1[] = {
- 1, 5, 5, 5, 5, 9,11,11,10,10,10,10,10,10,10, 7,
- 6, 6, 6, 6,10,10,10,10,10,10,10,10,10,10, 7, 6,
- 6, 6, 6,10, 9,10,10,10,10,10,10,10,10,10, 7, 7,
- 8, 9,10,10,10,10,10,10,10,10,10,10,10, 8, 7,10,
- 10,10, 9,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,
-};
-
-static float _vq_quantthresh__16c0_s_p9_1[] = {
- -136.5, -115.5, -94.5, -73.5, -52.5, -31.5, -10.5, 10.5,
- 31.5, 52.5, 73.5, 94.5, 115.5, 136.5,
-};
-
-static long _vq_quantmap__16c0_s_p9_1[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c0_s_p9_1 = {
- _vq_quantthresh__16c0_s_p9_1,
- _vq_quantmap__16c0_s_p9_1,
- 15,
- 15
-};
-
-static static_codebook _16c0_s_p9_1 = {
- 2, 225,
- _vq_lengthlist__16c0_s_p9_1,
- 1, -520986624, 1620377600, 4, 0,
- _vq_quantlist__16c0_s_p9_1,
- NULL,
- &_vq_auxt__16c0_s_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c0_s_p9_2[] = {
- 10,
- 9,
- 11,
- 8,
- 12,
- 7,
- 13,
- 6,
- 14,
- 5,
- 15,
- 4,
- 16,
- 3,
- 17,
- 2,
- 18,
- 1,
- 19,
- 0,
- 20,
-};
-
-static long _vq_lengthlist__16c0_s_p9_2[] = {
- 1, 5, 5, 7, 8, 8, 7, 9, 9, 9,12,12,11,12,12,10,
- 10,11,12,12,12,11,12,12, 8, 9, 8, 7, 9,10,10,11,
- 11,10,11,12,10,12,10,12,12,12,11,12,11, 9, 8, 8,
- 9,10, 9, 8, 9,10,12,12,11,11,12,11,10,11,12,11,
- 12,12, 8, 9, 9, 9,10,11,12,11,12,11,11,11,11,12,
- 12,11,11,12,12,11,11, 9, 9, 8, 9, 9,11, 9, 9,10,
- 9,11,11,11,11,12,11,11,10,12,12,12, 9,12,11,10,
- 11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,
- 10, 9,10, 9,10,10, 9, 9, 9,10,10,12,10,11,11, 9,
- 11,11,10,11,11,11,10,10,10, 9, 9,10,10, 9, 9,10,
- 11,11,10,11,10,11,10,11,11,10,11,11,11,10, 9,10,
- 10, 9,10, 9, 9,11, 9, 9,11,10,10,11,11,10,10,11,
- 10,11, 8, 9,11,11,10, 9,10,11,11,10,11,11,10,10,
- 10,11,10, 9,10,10,11, 9,10,10, 9,11,10,10,10,10,
- 11,10,11,11, 9,11,10,11,10,10,11,11,10,10,10, 9,
- 10,10,11,11,11, 9,10,10,10,10,10,11,10,10,10, 9,
- 10,10,11,10,10,10,10,10, 9,10,11,10,10,10,10,11,
- 11,11,10,10,10,10,10,11,10,11,10,11,10,10,10, 9,
- 11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,
- 11, 9,10,10,10,11,10,11,10,10,10,11, 9,10,11,10,
- 11,10,10, 9,10,10,10,11,10,11,10,10,10,10,10,11,
- 11,10,11,11,10,10,11,11,10, 9, 9,10,10,10,10,10,
- 9,11, 9,10,10,10,11,11,10,10,10,10,11,11,11,10,
- 9, 9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,
- 11,11,11, 9,10,10,10,10, 9,10, 9,10,11,10,11,10,
- 10,11,11,10,11,11,11,11,11,10,11,10,10,10, 9,11,
- 11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,
- 10,11,10,10,11, 9,10,10,10,
-};
-
-static float _vq_quantthresh__16c0_s_p9_2[] = {
- -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5,
- -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5,
- 6.5, 7.5, 8.5, 9.5,
-};
-
-static long _vq_quantmap__16c0_s_p9_2[] = {
- 19, 17, 15, 13, 11, 9, 7, 5,
- 3, 1, 0, 2, 4, 6, 8, 10,
- 12, 14, 16, 18, 20,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c0_s_p9_2 = {
- _vq_quantthresh__16c0_s_p9_2,
- _vq_quantmap__16c0_s_p9_2,
- 21,
- 21
-};
-
-static static_codebook _16c0_s_p9_2 = {
- 2, 441,
- _vq_lengthlist__16c0_s_p9_2,
- 1, -529268736, 1611661312, 5, 0,
- _vq_quantlist__16c0_s_p9_2,
- NULL,
- &_vq_auxt__16c0_s_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__16c0_s_single[] = {
- 3, 4,19, 7, 9, 7, 8,11, 9,12, 4, 1,19, 6, 7, 7,
- 8,10,11,13,18,18,18,18,18,18,18,18,18,18, 8, 6,
- 18, 8, 9, 9,11,12,14,18, 9, 6,18, 9, 7, 8, 9,11,
- 12,18, 7, 6,18, 8, 7, 7, 7, 9,11,17, 8, 8,18, 9,
- 7, 6, 6, 8,11,17,10,10,18,12, 9, 8, 7, 9,12,18,
- 13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,
- 16,16,18,18,
-};
-
-static static_codebook _huff_book__16c0_s_single = {
- 2, 100,
- _huff_lengthlist__16c0_s_single,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__16c1_s_long[] = {
- 2, 5,20, 7,10, 7, 8,10,11,11, 4, 2,20, 5, 8, 6,
- 7, 9,10,10,20,20,20,20,19,19,19,19,19,19, 7, 5,
- 19, 6,10, 7, 9,11,13,17,11, 8,19,10, 7, 7, 8,10,
- 11,15, 7, 5,19, 7, 7, 5, 6, 9,11,16, 7, 6,19, 8,
- 7, 6, 6, 7, 9,13, 9, 9,19,11, 9, 8, 6, 7, 8,13,
- 12,14,19,16,13,10, 9, 8, 9,13,14,17,19,18,18,17,
- 12,11,11,13,
-};
-
-static static_codebook _huff_book__16c1_s_long = {
- 2, 100,
- _huff_lengthlist__16c1_s_long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c1_s_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__16c1_s_p1_0[] = {
- 1, 5, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0,
- 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 5, 8, 7, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0, 0,
- 0, 0, 0, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 7, 8, 0, 0, 0, 0, 0, 0, 7, 9, 8, 0, 0,
- 0, 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 8, 7, 0, 0, 0, 0,
- 0, 0, 8, 9, 9, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0, 0,
- 0, 0, 0, 9, 9,11, 0, 0, 0, 0, 0, 0, 9,11,10, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0,
- 0, 0, 0, 0, 8,11, 9, 0, 0, 0, 0, 0, 0, 9,10,11,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 7, 8, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0,
- 0, 0, 0, 0, 8, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 9,11,10, 0,
- 0, 0, 0, 0, 0, 8, 9,11, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 9,10,11,
- 0, 0, 0, 0, 0, 0, 9,11, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__16c1_s_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__16c1_s_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c1_s_p1_0 = {
- _vq_quantthresh__16c1_s_p1_0,
- _vq_quantmap__16c1_s_p1_0,
- 3,
- 3
-};
-
-static static_codebook _16c1_s_p1_0 = {
- 8, 6561,
- _vq_lengthlist__16c1_s_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__16c1_s_p1_0,
- NULL,
- &_vq_auxt__16c1_s_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c1_s_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__16c1_s_p2_0[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__16c1_s_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__16c1_s_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c1_s_p2_0 = {
- _vq_quantthresh__16c1_s_p2_0,
- _vq_quantmap__16c1_s_p2_0,
- 5,
- 5
-};
-
-static static_codebook _16c1_s_p2_0 = {
- 4, 625,
- _vq_lengthlist__16c1_s_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__16c1_s_p2_0,
- NULL,
- &_vq_auxt__16c1_s_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c1_s_p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__16c1_s_p3_0[] = {
- 1, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 5, 7, 7, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 5, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 9, 9,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 7, 7, 9, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__16c1_s_p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__16c1_s_p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c1_s_p3_0 = {
- _vq_quantthresh__16c1_s_p3_0,
- _vq_quantmap__16c1_s_p3_0,
- 5,
- 5
-};
-
-static static_codebook _16c1_s_p3_0 = {
- 4, 625,
- _vq_lengthlist__16c1_s_p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__16c1_s_p3_0,
- NULL,
- &_vq_auxt__16c1_s_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c1_s_p4_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__16c1_s_p4_0[] = {
- 1, 2, 3, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0,
- 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7,
- 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
- 8, 8, 0, 0, 0, 0, 0, 0, 0, 8, 9, 0, 0, 0, 0, 0,
- 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__16c1_s_p4_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__16c1_s_p4_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c1_s_p4_0 = {
- _vq_quantthresh__16c1_s_p4_0,
- _vq_quantmap__16c1_s_p4_0,
- 9,
- 9
-};
-
-static static_codebook _16c1_s_p4_0 = {
- 2, 81,
- _vq_lengthlist__16c1_s_p4_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__16c1_s_p4_0,
- NULL,
- &_vq_auxt__16c1_s_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c1_s_p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__16c1_s_p5_0[] = {
- 1, 3, 3, 5, 5, 6, 6, 8, 8, 0, 0, 0, 7, 7, 7, 7,
- 9, 9, 0, 0, 0, 7, 7, 7, 7, 9, 9, 0, 0, 0, 8, 8,
- 8, 8, 9, 9, 0, 0, 0, 8, 8, 8, 8,10,10, 0, 0, 0,
- 9, 9, 8, 8,10,10, 0, 0, 0, 9, 9, 8, 8,10,10, 0,
- 0, 0,10,10, 9, 9,10,10, 0, 0, 0, 0, 0, 9, 9,10,
- 10,
-};
-
-static float _vq_quantthresh__16c1_s_p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__16c1_s_p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c1_s_p5_0 = {
- _vq_quantthresh__16c1_s_p5_0,
- _vq_quantmap__16c1_s_p5_0,
- 9,
- 9
-};
-
-static static_codebook _16c1_s_p5_0 = {
- 2, 81,
- _vq_lengthlist__16c1_s_p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__16c1_s_p5_0,
- NULL,
- &_vq_auxt__16c1_s_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c1_s_p6_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__16c1_s_p6_0[] = {
- 1, 3, 3, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,11,12,
- 12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11,
- 12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,
- 11,12,12, 0, 0, 0, 8, 8, 8, 9,10, 9,10,10,10,10,
- 11,11,12,12, 0, 0, 0, 8, 8, 9, 9,10,10,10,10,11,
- 11,11,12,12,12, 0, 0, 0, 8, 8, 9, 9,10,10,10,10,
- 11,11,12,12,12,12, 0, 0, 0, 8, 8, 9, 9,10,10,10,
- 10,11,11,12,12,13,13, 0, 0, 0, 9, 9, 9, 9,10,10,
- 10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 9, 9,10,
- 10,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 9, 9,
- 10,10,11,11,12,12,12,12,13,13, 0, 0, 0, 0, 0, 9,
- 9,10,10,11,11,12,12,12,12,13,13, 0, 0, 0, 0, 0,
- 10,10,11,10,11,11,12,12,13,13,13,13, 0, 0, 0, 0,
- 0, 0, 0,10,10,11,11,12,12,13,13,13,13, 0, 0, 0,
- 0, 0, 0, 0,11,11,12,12,12,12,13,13,14,14, 0, 0,
- 0, 0, 0, 0, 0,11,11,12,12,12,12,13,13,14,14, 0,
- 0, 0, 0, 0, 0, 0,12,12,12,12,13,13,13,13,14,14,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,12,12,13,13,13,13,14,
- 14,
-};
-
-static float _vq_quantthresh__16c1_s_p6_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__16c1_s_p6_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c1_s_p6_0 = {
- _vq_quantthresh__16c1_s_p6_0,
- _vq_quantmap__16c1_s_p6_0,
- 17,
- 17
-};
-
-static static_codebook _16c1_s_p6_0 = {
- 2, 289,
- _vq_lengthlist__16c1_s_p6_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__16c1_s_p6_0,
- NULL,
- &_vq_auxt__16c1_s_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c1_s_p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__16c1_s_p7_0[] = {
- 1, 4, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7,10, 9,10,10,
- 10, 9, 4, 7, 7,10,10,10,11,10,10, 6,10,10,11,11,
- 11,11,10,10, 6,10, 9,11,11,11,11,10,10, 6,10,10,
- 11,11,11,11,10,10, 7,11,11,11,11,11,12,12,11, 6,
- 10,10,11,10,10,11,11,11, 6,10,10,10,11,10,11,11,
- 11,
-};
-
-static float _vq_quantthresh__16c1_s_p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__16c1_s_p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c1_s_p7_0 = {
- _vq_quantthresh__16c1_s_p7_0,
- _vq_quantmap__16c1_s_p7_0,
- 3,
- 3
-};
-
-static static_codebook _16c1_s_p7_0 = {
- 4, 81,
- _vq_lengthlist__16c1_s_p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__16c1_s_p7_0,
- NULL,
- &_vq_auxt__16c1_s_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c1_s_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__16c1_s_p7_1[] = {
- 2, 3, 3, 5, 6, 7, 7, 7, 7, 8, 8,10,10,10, 6, 6,
- 7, 7, 8, 8, 8, 8,10,10,10, 6, 6, 7, 7, 8, 8, 8,
- 8,10,10,10, 7, 7, 7, 7, 8, 8, 8, 8,10,10,10, 7,
- 7, 7, 7, 8, 8, 8, 8,10,10,10, 7, 7, 8, 8, 8, 8,
- 8, 8,10,10,10, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10,
- 8, 8, 8, 8, 8, 8, 9, 9,10,10,10,10,10, 8, 8, 8,
- 8, 9, 9,10,10,10,10,10, 9, 9, 8, 8, 9, 9,10,10,
- 10,10,10, 8, 8, 8, 8, 9, 9,
-};
-
-static float _vq_quantthresh__16c1_s_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__16c1_s_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c1_s_p7_1 = {
- _vq_quantthresh__16c1_s_p7_1,
- _vq_quantmap__16c1_s_p7_1,
- 11,
- 11
-};
-
-static static_codebook _16c1_s_p7_1 = {
- 2, 121,
- _vq_lengthlist__16c1_s_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__16c1_s_p7_1,
- NULL,
- &_vq_auxt__16c1_s_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c1_s_p8_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__16c1_s_p8_0[] = {
- 1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 6, 5, 5,
- 7, 8, 8, 9, 8, 8, 9, 9,10,11, 6, 5, 5, 8, 8, 9,
- 9, 8, 8, 9,10,10,11, 0, 8, 8, 8, 9, 9, 9, 9, 9,
- 10,10,11,11, 0, 9, 9, 9, 8, 9, 9, 9, 9,10,10,11,
- 11, 0,13,13, 9, 9,10,10,10,10,11,11,12,12, 0,14,
- 13, 9, 9,10,10,10,10,11,11,12,12, 0, 0, 0,10,10,
- 9, 9,11,11,12,12,13,12, 0, 0, 0,10,10, 9, 9,10,
- 10,12,12,13,13, 0, 0, 0,13,14,11,10,11,11,12,12,
- 13,14, 0, 0, 0,14,14,10,10,11,11,12,12,13,13, 0,
- 0, 0, 0, 0,12,12,12,12,13,13,14,15, 0, 0, 0, 0,
- 0,12,12,12,12,13,13,14,15,
-};
-
-static float _vq_quantthresh__16c1_s_p8_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__16c1_s_p8_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c1_s_p8_0 = {
- _vq_quantthresh__16c1_s_p8_0,
- _vq_quantmap__16c1_s_p8_0,
- 13,
- 13
-};
-
-static static_codebook _16c1_s_p8_0 = {
- 2, 169,
- _vq_lengthlist__16c1_s_p8_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__16c1_s_p8_0,
- NULL,
- &_vq_auxt__16c1_s_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c1_s_p8_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__16c1_s_p8_1[] = {
- 2, 3, 3, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6,
- 6, 6, 5, 5, 6, 6, 6, 5, 5,
-};
-
-static float _vq_quantthresh__16c1_s_p8_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__16c1_s_p8_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c1_s_p8_1 = {
- _vq_quantthresh__16c1_s_p8_1,
- _vq_quantmap__16c1_s_p8_1,
- 5,
- 5
-};
-
-static static_codebook _16c1_s_p8_1 = {
- 2, 25,
- _vq_lengthlist__16c1_s_p8_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__16c1_s_p8_1,
- NULL,
- &_vq_auxt__16c1_s_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c1_s_p9_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__16c1_s_p9_0[] = {
- 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__16c1_s_p9_0[] = {
- -1732.5, -1417.5, -1102.5, -787.5, -472.5, -157.5, 157.5, 472.5,
- 787.5, 1102.5, 1417.5, 1732.5,
-};
-
-static long _vq_quantmap__16c1_s_p9_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c1_s_p9_0 = {
- _vq_quantthresh__16c1_s_p9_0,
- _vq_quantmap__16c1_s_p9_0,
- 13,
- 13
-};
-
-static static_codebook _16c1_s_p9_0 = {
- 2, 169,
- _vq_lengthlist__16c1_s_p9_0,
- 1, -513964032, 1628680192, 4, 0,
- _vq_quantlist__16c1_s_p9_0,
- NULL,
- &_vq_auxt__16c1_s_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c1_s_p9_1[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__16c1_s_p9_1[] = {
- 1, 4, 4, 4, 4, 8, 8,12,13,14,14,14,14,14,14, 6,
- 6, 6, 6, 6,10, 9,14,14,14,14,14,14,14,14, 7, 6,
- 5, 6, 6,10, 9,12,13,13,13,13,13,13,13,13, 7, 7,
- 9, 9,11,11,12,13,13,13,13,13,13,13,13, 7, 7, 8,
- 8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,
- 13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,
- 13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,
- 13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,
- 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
- 13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,
- 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
- 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
- 13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,
- 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
- 13,
-};
-
-static float _vq_quantthresh__16c1_s_p9_1[] = {
- -136.5, -115.5, -94.5, -73.5, -52.5, -31.5, -10.5, 10.5,
- 31.5, 52.5, 73.5, 94.5, 115.5, 136.5,
-};
-
-static long _vq_quantmap__16c1_s_p9_1[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c1_s_p9_1 = {
- _vq_quantthresh__16c1_s_p9_1,
- _vq_quantmap__16c1_s_p9_1,
- 15,
- 15
-};
-
-static static_codebook _16c1_s_p9_1 = {
- 2, 225,
- _vq_lengthlist__16c1_s_p9_1,
- 1, -520986624, 1620377600, 4, 0,
- _vq_quantlist__16c1_s_p9_1,
- NULL,
- &_vq_auxt__16c1_s_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c1_s_p9_2[] = {
- 10,
- 9,
- 11,
- 8,
- 12,
- 7,
- 13,
- 6,
- 14,
- 5,
- 15,
- 4,
- 16,
- 3,
- 17,
- 2,
- 18,
- 1,
- 19,
- 0,
- 20,
-};
-
-static long _vq_lengthlist__16c1_s_p9_2[] = {
- 1, 4, 4, 6, 6, 7, 7, 8, 7, 8, 8, 9, 9, 9, 9,10,
- 10,10, 9,10,10,11,12,12, 8, 8, 8, 8, 9, 9, 9, 9,
- 10,10,10,10,10,11,11,10,12,11,11,13,11, 7, 7, 8,
- 8, 8, 8, 9, 9, 9,10,10,10,10, 9,10,10,11,11,12,
- 11,11, 8, 8, 8, 8, 9, 9,10,10,10,10,11,11,11,11,
- 11,11,11,12,11,12,12, 8, 8, 9, 9, 9, 9, 9,10,10,
- 10,10,10,10,11,11,11,11,11,11,12,11, 9, 9, 9, 9,
- 10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,
- 11, 9, 9, 9, 9,10,10,10,10,11,11,11,11,11,11,11,
- 11,11,12,12,12,13, 9,10,10, 9,11,10,10,10,10,11,
- 11,11,11,11,10,11,12,11,12,12,11,12,11,10, 9,10,
- 10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,
- 12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,
- 11,11,12,13,12,12,11, 9,10,10,11,11,10,11,11,11,
- 12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,
- 11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,
- 12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,
- 12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,
- 11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,
- 11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,
- 12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,
- 12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,
- 11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,
- 12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,
- 12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,
- 12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,
- 11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,
- 11,11,11,11,12,11,11,12,11,
-};
-
-static float _vq_quantthresh__16c1_s_p9_2[] = {
- -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5,
- -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5,
- 6.5, 7.5, 8.5, 9.5,
-};
-
-static long _vq_quantmap__16c1_s_p9_2[] = {
- 19, 17, 15, 13, 11, 9, 7, 5,
- 3, 1, 0, 2, 4, 6, 8, 10,
- 12, 14, 16, 18, 20,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c1_s_p9_2 = {
- _vq_quantthresh__16c1_s_p9_2,
- _vq_quantmap__16c1_s_p9_2,
- 21,
- 21
-};
-
-static static_codebook _16c1_s_p9_2 = {
- 2, 441,
- _vq_lengthlist__16c1_s_p9_2,
- 1, -529268736, 1611661312, 5, 0,
- _vq_quantlist__16c1_s_p9_2,
- NULL,
- &_vq_auxt__16c1_s_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__16c1_s_short[] = {
- 5, 6,17, 8,12, 9,10,10,12,13, 5, 2,17, 4, 9, 5,
- 7, 8,11,13,16,16,16,16,16,16,16,16,16,16, 6, 4,
- 16, 5,10, 5, 7,10,14,16,13, 9,16,11, 8, 7, 8, 9,
- 13,16, 7, 4,16, 5, 7, 4, 6, 8,11,13, 8, 6,16, 7,
- 8, 5, 5, 7, 9,13, 9, 8,16, 9, 8, 6, 6, 7, 9,13,
- 11,11,16,10,10, 7, 7, 7, 9,13,13,13,16,13,13, 9,
- 9, 9,10,13,
-};
-
-static static_codebook _huff_book__16c1_s_short = {
- 2, 100,
- _huff_lengthlist__16c1_s_short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__16c2_s_long[] = {
- 4, 7, 9, 9, 9, 8, 9,10,15,19, 5, 4, 5, 6, 7, 7,
- 8, 9,14,16, 6, 5, 4, 5, 6, 7, 8,10,12,19, 7, 6,
- 5, 4, 5, 6, 7, 9,11,18, 8, 7, 6, 5, 5, 5, 7, 9,
- 10,17, 8, 7, 7, 5, 5, 5, 6, 7,12,18, 8, 8, 8, 7,
- 7, 5, 5, 7,12,18, 8, 9,10, 9, 9, 7, 6, 7,12,17,
- 14,18,16,16,15,12,11,10,12,18,15,17,18,18,18,15,
- 14,14,16,18,
-};
-
-static static_codebook _huff_book__16c2_s_long = {
- 2, 100,
- _huff_lengthlist__16c2_s_long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c2_s_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__16c2_s_p1_0[] = {
- 1, 3, 3, 0, 0, 0, 0, 0, 0, 4, 5, 5, 0, 0, 0, 0,
- 0, 0, 4, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__16c2_s_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__16c2_s_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c2_s_p1_0 = {
- _vq_quantthresh__16c2_s_p1_0,
- _vq_quantmap__16c2_s_p1_0,
- 3,
- 3
-};
-
-static static_codebook _16c2_s_p1_0 = {
- 4, 81,
- _vq_lengthlist__16c2_s_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__16c2_s_p1_0,
- NULL,
- &_vq_auxt__16c2_s_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c2_s_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__16c2_s_p2_0[] = {
- 2, 4, 3, 7, 7, 0, 0, 0, 7, 8, 0, 0, 0, 8, 8, 0,
- 0, 0, 8, 8, 0, 0, 0, 8, 8, 4, 5, 4, 8, 8, 0, 0,
- 0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 9, 9, 0, 0, 0,
- 9, 9, 4, 4, 5, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8,
- 8, 0, 0, 0, 9, 9, 0, 0, 0, 9, 9, 7, 8, 8,10,10,
- 0, 0, 0,12,11, 0, 0, 0,11,11, 0, 0, 0,14,13, 0,
- 0, 0,14,13, 7, 8, 8, 9,10, 0, 0, 0,11,12, 0, 0,
- 0,11,11, 0, 0, 0,14,14, 0, 0, 0,13,14, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8,11,11, 0, 0, 0,
- 11,11, 0, 0, 0,12,11, 0, 0, 0,12,12, 0, 0, 0,13,
- 13, 8, 8, 8,11,11, 0, 0, 0,11,11, 0, 0, 0,11,12,
- 0, 0, 0,12,13, 0, 0, 0,13,13, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 8, 8, 8,12,11, 0, 0, 0,12,11, 0,
- 0, 0,11,11, 0, 0, 0,13,13, 0, 0, 0,13,12, 8, 8,
- 8,11,12, 0, 0, 0,11,12, 0, 0, 0,11,11, 0, 0, 0,
- 13,13, 0, 0, 0,12,13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 8, 9, 9,14,13, 0, 0, 0,13,12, 0, 0, 0,13,
- 13, 0, 0, 0,13,12, 0, 0, 0,13,13, 8, 9, 9,13,14,
- 0, 0, 0,12,13, 0, 0, 0,13,13, 0, 0, 0,12,13, 0,
- 0, 0,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
- 9, 9,14,13, 0, 0, 0,13,13, 0, 0, 0,13,12, 0, 0,
- 0,13,13, 0, 0, 0,13,12, 8, 9, 9,14,14, 0, 0, 0,
- 13,13, 0, 0, 0,12,13, 0, 0, 0,13,13, 0, 0, 0,12,
- 13,
-};
-
-static float _vq_quantthresh__16c2_s_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__16c2_s_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c2_s_p2_0 = {
- _vq_quantthresh__16c2_s_p2_0,
- _vq_quantmap__16c2_s_p2_0,
- 5,
- 5
-};
-
-static static_codebook _16c2_s_p2_0 = {
- 4, 625,
- _vq_lengthlist__16c2_s_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__16c2_s_p2_0,
- NULL,
- &_vq_auxt__16c2_s_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c2_s_p3_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__16c2_s_p3_0[] = {
- 1, 3, 3, 6, 6, 7, 7, 8, 8, 0, 0, 0, 6, 6, 7, 7,
- 9, 9, 0, 0, 0, 6, 6, 7, 7, 9, 9, 0, 0, 0, 7, 7,
- 8, 8,10,10, 0, 0, 0, 7, 7, 8, 8,10,10, 0, 0, 0,
- 7, 7, 9, 9,10,10, 0, 0, 0, 7, 7, 9, 9,10,10, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__16c2_s_p3_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__16c2_s_p3_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c2_s_p3_0 = {
- _vq_quantthresh__16c2_s_p3_0,
- _vq_quantmap__16c2_s_p3_0,
- 9,
- 9
-};
-
-static static_codebook _16c2_s_p3_0 = {
- 2, 81,
- _vq_lengthlist__16c2_s_p3_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__16c2_s_p3_0,
- NULL,
- &_vq_auxt__16c2_s_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c2_s_p4_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__16c2_s_p4_0[] = {
- 2, 3, 3, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9,10,
- 10, 0, 0, 0, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,
- 11,11, 0, 0, 0, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,
- 10,10,11, 0, 0, 0, 6, 6, 8, 8, 8, 8, 9, 9,10,10,
- 10,11,11,11, 0, 0, 0, 6, 6, 8, 8, 9, 9, 9, 9,10,
- 10,11,11,11,11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,
- 10,10,11,11,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9,
- 9,10,10,11,11,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9,
- 10,10,11,11,12,12,12,12, 0, 0, 0, 0, 0, 8, 8, 9,
- 9,10,10,11,11,12,12,12,12, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__16c2_s_p4_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__16c2_s_p4_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c2_s_p4_0 = {
- _vq_quantthresh__16c2_s_p4_0,
- _vq_quantmap__16c2_s_p4_0,
- 17,
- 17
-};
-
-static static_codebook _16c2_s_p4_0 = {
- 2, 289,
- _vq_lengthlist__16c2_s_p4_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__16c2_s_p4_0,
- NULL,
- &_vq_auxt__16c2_s_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c2_s_p5_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__16c2_s_p5_0[] = {
- 1, 4, 4, 5, 7, 7, 6, 7, 7, 4, 6, 6,10,10,10,10,
- 10,10, 4, 7, 6,10,10,10,10,10,10, 5, 9, 9, 9,12,
- 11,10,11,12, 7,10,10,12,12,12,12,12,12, 7,10,10,
- 11,12,12,12,12,13, 6,10,10,10,12,12,10,12,12, 7,
- 10,10,11,13,12,12,12,12, 7,10,10,11,12,12,12,12,
- 12,
-};
-
-static float _vq_quantthresh__16c2_s_p5_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__16c2_s_p5_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c2_s_p5_0 = {
- _vq_quantthresh__16c2_s_p5_0,
- _vq_quantmap__16c2_s_p5_0,
- 3,
- 3
-};
-
-static static_codebook _16c2_s_p5_0 = {
- 4, 81,
- _vq_lengthlist__16c2_s_p5_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__16c2_s_p5_0,
- NULL,
- &_vq_auxt__16c2_s_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c2_s_p5_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__16c2_s_p5_1[] = {
- 2, 3, 3, 6, 6, 7, 7, 7, 7, 8, 8,11,11,11, 6, 6,
- 7, 7, 8, 8, 8, 8,11,11,11, 6, 6, 7, 7, 8, 8, 8,
- 8,11,11,11, 6, 6, 8, 8, 8, 8, 9, 9,11,11,11, 6,
- 6, 8, 8, 8, 8, 9, 9,11,11,11, 7, 7, 8, 8, 8, 8,
- 8, 8,11,11,11, 7, 7, 8, 8, 8, 8, 8, 9,11,11,11,
- 8, 8, 8, 8, 8, 8, 8, 8,11,11,11,11,11, 8, 8, 8,
- 8, 8, 8,11,11,11,11,11, 8, 8, 8, 8, 8, 8,11,11,
- 11,11,11, 7, 7, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__16c2_s_p5_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__16c2_s_p5_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c2_s_p5_1 = {
- _vq_quantthresh__16c2_s_p5_1,
- _vq_quantmap__16c2_s_p5_1,
- 11,
- 11
-};
-
-static static_codebook _16c2_s_p5_1 = {
- 2, 121,
- _vq_lengthlist__16c2_s_p5_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__16c2_s_p5_1,
- NULL,
- &_vq_auxt__16c2_s_p5_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c2_s_p6_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__16c2_s_p6_0[] = {
- 1, 4, 4, 7, 6, 8, 8, 9, 9,10,10,11,11, 5, 5, 5,
- 7, 7, 9, 9, 9, 9,11,11,12,12, 6, 5, 5, 7, 7, 9,
- 9,10,10,11,11,12,12, 0, 6, 6, 7, 7, 9, 9,10,10,
- 11,11,12,12, 0, 7, 7, 7, 7, 9, 9,10,10,11,12,12,
- 12, 0,11,11, 8, 8,10,10,11,11,12,12,13,13, 0,11,
- 12, 8, 8,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,
-};
-
-static float _vq_quantthresh__16c2_s_p6_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__16c2_s_p6_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c2_s_p6_0 = {
- _vq_quantthresh__16c2_s_p6_0,
- _vq_quantmap__16c2_s_p6_0,
- 13,
- 13
-};
-
-static static_codebook _16c2_s_p6_0 = {
- 2, 169,
- _vq_lengthlist__16c2_s_p6_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__16c2_s_p6_0,
- NULL,
- &_vq_auxt__16c2_s_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c2_s_p6_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__16c2_s_p6_1[] = {
- 2, 3, 3, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6,
- 6, 6, 5, 5, 6, 6, 6, 5, 5,
-};
-
-static float _vq_quantthresh__16c2_s_p6_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__16c2_s_p6_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c2_s_p6_1 = {
- _vq_quantthresh__16c2_s_p6_1,
- _vq_quantmap__16c2_s_p6_1,
- 5,
- 5
-};
-
-static static_codebook _16c2_s_p6_1 = {
- 2, 25,
- _vq_lengthlist__16c2_s_p6_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__16c2_s_p6_1,
- NULL,
- &_vq_auxt__16c2_s_p6_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c2_s_p7_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__16c2_s_p7_0[] = {
- 1, 4, 4, 7, 7, 8, 8, 9, 9,10,10,11,11, 5, 5, 5,
- 8, 8, 9, 9,10,10,11,11,12,12, 6, 5, 5, 8, 8, 9,
- 9,10,10,11,11,12,13,18, 6, 6, 7, 7, 9, 9,10,10,
- 12,12,13,13,18, 6, 6, 7, 7, 9, 9,10,10,12,12,13,
- 13,18,11,10, 8, 8,10,10,11,11,12,12,13,13,18,11,
- 11, 8, 8,10,10,11,11,12,13,13,13,18,18,18,10,11,
- 11,11,12,12,13,13,14,14,18,18,18,11,11,11,11,12,
- 12,13,13,14,14,18,18,18,14,14,12,12,12,12,14,14,
- 15,14,18,18,18,15,15,11,12,12,12,13,13,15,15,18,
- 18,18,18,18,13,13,13,13,13,14,17,16,18,18,18,18,
- 18,13,14,13,13,14,13,15,14,
-};
-
-static float _vq_quantthresh__16c2_s_p7_0[] = {
- -60.5, -49.5, -38.5, -27.5, -16.5, -5.5, 5.5, 16.5,
- 27.5, 38.5, 49.5, 60.5,
-};
-
-static long _vq_quantmap__16c2_s_p7_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c2_s_p7_0 = {
- _vq_quantthresh__16c2_s_p7_0,
- _vq_quantmap__16c2_s_p7_0,
- 13,
- 13
-};
-
-static static_codebook _16c2_s_p7_0 = {
- 2, 169,
- _vq_lengthlist__16c2_s_p7_0,
- 1, -523206656, 1618345984, 4, 0,
- _vq_quantlist__16c2_s_p7_0,
- NULL,
- &_vq_auxt__16c2_s_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c2_s_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__16c2_s_p7_1[] = {
- 2, 4, 4, 6, 6, 7, 7, 7, 7, 7, 7, 9, 9, 9, 6, 6,
- 7, 7, 8, 8, 8, 8, 9, 9, 9, 6, 6, 7, 7, 8, 8, 8,
- 8, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 7,
- 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 7, 7, 7, 7, 8, 8,
- 8, 8, 9, 9, 9, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9,
- 7, 7, 8, 8, 7, 7, 8, 8, 9, 9, 9, 9, 9, 7, 7, 7,
- 7, 8, 8, 9, 9, 9, 9, 9, 8, 8, 7, 7, 8, 8, 9, 9,
- 9, 9, 9, 7, 7, 7, 7, 8, 8,
-};
-
-static float _vq_quantthresh__16c2_s_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__16c2_s_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c2_s_p7_1 = {
- _vq_quantthresh__16c2_s_p7_1,
- _vq_quantmap__16c2_s_p7_1,
- 11,
- 11
-};
-
-static static_codebook _16c2_s_p7_1 = {
- 2, 121,
- _vq_lengthlist__16c2_s_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__16c2_s_p7_1,
- NULL,
- &_vq_auxt__16c2_s_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c2_s_p8_0[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__16c2_s_p8_0[] = {
- 1, 4, 4, 7, 6, 7, 7, 6, 6, 8, 8, 9, 9,10,10, 6,
- 6, 6, 8, 8, 9, 8, 8, 8, 9, 9,11,10,11,11, 7, 6,
- 6, 8, 8, 9, 8, 7, 7, 9, 9,10,10,12,11,14, 8, 8,
- 8, 9, 9, 9, 9, 9,10, 9,10,10,11,13,14, 8, 8, 8,
- 8, 9, 9, 8, 8, 9, 9,10,10,11,12,14,13,11, 9, 9,
- 9, 9, 9, 9, 9,10,11,10,13,12,14,11,13, 8, 9, 9,
- 9, 9, 9,10,10,11,10,13,12,14,14,14, 8, 9, 9, 9,
- 11,11,11,11,11,12,13,13,14,14,14, 9, 8, 9, 9,10,
- 10,12,10,11,12,12,14,14,14,14,11,12,10,10,12,12,
- 12,12,13,14,12,12,14,14,14,12,12, 9,10,11,11,12,
- 14,12,14,14,14,14,14,14,14,14,11,11,12,11,12,14,
- 14,14,14,14,14,14,14,14,14,12,11,11,11,11,14,14,
- 14,14,14,14,14,14,14,14,14,14,13,12,14,14,14,14,
- 14,14,14,14,14,14,14,14,14,12,12,12,13,14,14,13,
- 13,
-};
-
-static float _vq_quantthresh__16c2_s_p8_0[] = {
- -136.5, -115.5, -94.5, -73.5, -52.5, -31.5, -10.5, 10.5,
- 31.5, 52.5, 73.5, 94.5, 115.5, 136.5,
-};
-
-static long _vq_quantmap__16c2_s_p8_0[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c2_s_p8_0 = {
- _vq_quantthresh__16c2_s_p8_0,
- _vq_quantmap__16c2_s_p8_0,
- 15,
- 15
-};
-
-static static_codebook _16c2_s_p8_0 = {
- 2, 225,
- _vq_lengthlist__16c2_s_p8_0,
- 1, -520986624, 1620377600, 4, 0,
- _vq_quantlist__16c2_s_p8_0,
- NULL,
- &_vq_auxt__16c2_s_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c2_s_p8_1[] = {
- 10,
- 9,
- 11,
- 8,
- 12,
- 7,
- 13,
- 6,
- 14,
- 5,
- 15,
- 4,
- 16,
- 3,
- 17,
- 2,
- 18,
- 1,
- 19,
- 0,
- 20,
-};
-
-static long _vq_lengthlist__16c2_s_p8_1[] = {
- 2, 4, 4, 6, 6, 7, 7, 7, 7, 8, 7, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8,11,12,11, 7, 7, 8, 8, 8, 8, 9, 9,
- 9, 9, 9, 9, 9, 9, 9,10, 9, 9,11,11,10, 7, 7, 8,
- 8, 8, 8, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,11,
- 11,11, 8, 7, 8, 8, 9, 9, 9, 9, 9, 9,10,10, 9,10,
- 10, 9,10,10,11,11,12, 8, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9,10, 9,10,10,10,10,11,11,11, 8, 8, 9, 9,
- 9, 9, 9, 9, 9,10,10,10,10,10,10,10,10,10,11,11,
- 11, 8, 8, 9, 8, 9, 9, 9, 9,10, 9, 9, 9,10,10,10,
- 10, 9,10,11,11,11, 9, 9, 9, 9,10, 9, 9, 9,10,10,
- 9,10, 9,10,10,10,10,10,11,12,11,11,11, 9, 9, 9,
- 9, 9,10,10, 9,10,10,10,10,10,10,10,10,12,11,13,
- 13,11, 9, 9, 9, 9,10,10, 9,10,10,10,10,11,10,10,
- 10,10,11,12,11,12,11, 9, 9, 9,10,10, 9,10,10,10,
- 10,10,10,10,10,10,10,11,11,11,12,11, 9,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,11,12,12,12,
- 11,11,11,10, 9,10,10,10,10,10,10,10,10,11,10,10,
- 10,11,11,11,11,11,11,11,10,10,10,11,10,10,10,10,
- 10,10,10,10,10,10,11,11,11,11,12,12,11,10,10,10,
- 10,10,10,10,10,11,10,10,10,11,10,12,11,11,12,11,
- 11,11,10,10,10,10,10,11,10,10,10,10,10,11,10,10,
- 11,11,11,12,11,12,11,11,12,10,10,10,10,10,10,10,
- 11,10,10,11,10,12,11,11,11,12,11,11,11,11,10,10,
- 10,10,10,10,10,11,11,11,10,11,12,11,11,11,12,11,
- 12,11,12,10,11,10,10,10,10,11,10,10,10,10,10,10,
- 12,11,11,11,11,11,12,12,10,10,10,10,10,11,10,10,
- 11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,
- 10,11,10,10,10,10,10,10,10,
-};
-
-static float _vq_quantthresh__16c2_s_p8_1[] = {
- -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5,
- -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5,
- 6.5, 7.5, 8.5, 9.5,
-};
-
-static long _vq_quantmap__16c2_s_p8_1[] = {
- 19, 17, 15, 13, 11, 9, 7, 5,
- 3, 1, 0, 2, 4, 6, 8, 10,
- 12, 14, 16, 18, 20,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c2_s_p8_1 = {
- _vq_quantthresh__16c2_s_p8_1,
- _vq_quantmap__16c2_s_p8_1,
- 21,
- 21
-};
-
-static static_codebook _16c2_s_p8_1 = {
- 2, 441,
- _vq_lengthlist__16c2_s_p8_1,
- 1, -529268736, 1611661312, 5, 0,
- _vq_quantlist__16c2_s_p8_1,
- NULL,
- &_vq_auxt__16c2_s_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c2_s_p9_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__16c2_s_p9_0[] = {
- 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__16c2_s_p9_0[] = {
- -5120.5, -4189.5, -3258.5, -2327.5, -1396.5, -465.5, 465.5, 1396.5,
- 2327.5, 3258.5, 4189.5, 5120.5,
-};
-
-static long _vq_quantmap__16c2_s_p9_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c2_s_p9_0 = {
- _vq_quantthresh__16c2_s_p9_0,
- _vq_quantmap__16c2_s_p9_0,
- 13,
- 13
-};
-
-static static_codebook _16c2_s_p9_0 = {
- 2, 169,
- _vq_lengthlist__16c2_s_p9_0,
- 1, -510275072, 1631393792, 4, 0,
- _vq_quantlist__16c2_s_p9_0,
- NULL,
- &_vq_auxt__16c2_s_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c2_s_p9_1[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__16c2_s_p9_1[] = {
- 1, 5, 5, 9, 8, 7, 7, 7, 6,10,11,11,11,11,11,11,
- 11, 8, 7, 6, 8, 8,10, 9,10,10,10, 9,11,10,10,10,
- 10,10, 8, 6, 6, 8, 8, 9, 8, 9, 8, 9,10,10,10,10,
- 10,10,10,10, 8,10, 9, 9, 9, 9,10,10,10,10,10,10,
- 10,10,10,10,10, 8, 9, 9, 9,10,10, 9,10,10,10,10,
- 10,10,10,10,10,10,10,10, 9, 8, 9, 9,10,10,10,10,
- 10,10,10,10,10,10,10,10, 9, 8, 8, 9, 9,10,10,10,
- 10,10,10,10,10,10,10,10,10,10, 9,10, 9, 9,10,10,
- 10,10,10,10,10,10,10,10,10,10,10, 9, 8, 9, 9,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, 9,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10, 9,10, 9,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10, 9,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,
-};
-
-static float _vq_quantthresh__16c2_s_p9_1[] = {
- -367.5, -318.5, -269.5, -220.5, -171.5, -122.5, -73.5, -24.5,
- 24.5, 73.5, 122.5, 171.5, 220.5, 269.5, 318.5, 367.5,
-};
-
-static long _vq_quantmap__16c2_s_p9_1[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c2_s_p9_1 = {
- _vq_quantthresh__16c2_s_p9_1,
- _vq_quantmap__16c2_s_p9_1,
- 17,
- 17
-};
-
-static static_codebook _16c2_s_p9_1 = {
- 2, 289,
- _vq_lengthlist__16c2_s_p9_1,
- 1, -518488064, 1622704128, 5, 0,
- _vq_quantlist__16c2_s_p9_1,
- NULL,
- &_vq_auxt__16c2_s_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16c2_s_p9_2[] = {
- 13,
- 12,
- 14,
- 11,
- 15,
- 10,
- 16,
- 9,
- 17,
- 8,
- 18,
- 7,
- 19,
- 6,
- 20,
- 5,
- 21,
- 4,
- 22,
- 3,
- 23,
- 2,
- 24,
- 1,
- 25,
- 0,
- 26,
-};
-
-static long _vq_lengthlist__16c2_s_p9_2[] = {
- 1, 4, 4, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 8, 7, 8, 7, 7, 4, 4,
-};
-
-static float _vq_quantthresh__16c2_s_p9_2[] = {
- -12.5, -11.5, -10.5, -9.5, -8.5, -7.5, -6.5, -5.5,
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5,
- 11.5, 12.5,
-};
-
-static long _vq_quantmap__16c2_s_p9_2[] = {
- 25, 23, 21, 19, 17, 15, 13, 11,
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10, 12, 14, 16, 18, 20,
- 22, 24, 26,
-};
-
-static encode_aux_threshmatch _vq_auxt__16c2_s_p9_2 = {
- _vq_quantthresh__16c2_s_p9_2,
- _vq_quantmap__16c2_s_p9_2,
- 27,
- 27
-};
-
-static static_codebook _16c2_s_p9_2 = {
- 1, 27,
- _vq_lengthlist__16c2_s_p9_2,
- 1, -528875520, 1611661312, 5, 0,
- _vq_quantlist__16c2_s_p9_2,
- NULL,
- &_vq_auxt__16c2_s_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__16c2_s_short[] = {
- 7,10,11,11,11,14,15,15,17,14, 8, 6, 7, 7, 8, 9,
- 11,11,14,17, 9, 6, 6, 6, 7, 7,10,11,15,16, 9, 6,
- 6, 4, 4, 5, 8, 9,12,16,10, 6, 6, 4, 4, 4, 6, 9,
- 13,16,10, 7, 6, 5, 4, 3, 5, 7,13,16,11, 9, 8, 7,
- 6, 5, 5, 6,12,15,10,10,10, 9, 7, 6, 6, 7,11,15,
- 13,13,13,13,11,10,10, 9,12,16,16,16,16,14,16,15,
- 15,12,14,14,
-};
-
-static static_codebook _huff_book__16c2_s_short = {
- 2, 100,
- _huff_lengthlist__16c2_s_short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c0_s_long[] = {
- 3, 4,18, 8, 8, 8, 9,10,11,13, 3, 2,18, 5, 5, 6,
- 8,11,12,12,18,18,18,18,18,18,18,18,18,18, 8, 5,
- 18, 7, 8, 8,10,14,14,16, 8, 5,18, 7, 5, 6, 7,11,
- 12,13, 8, 6,18, 7, 5, 6, 7,10,12,14, 8, 7,18,10,
- 7, 6, 6, 8,11,14, 9,10,18,13, 9, 7, 6, 8,10,13,
- 11,13,18,16,13,10, 9, 8, 8,11,12,17,18,17,18,14,
- 11, 9,10,14,
-};
-
-static static_codebook _huff_book__44c0_s_long = {
- 2, 100,
- _huff_lengthlist__44c0_s_long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_s_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c0_s_p1_0[] = {
- 1, 5, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0,
- 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 5, 8, 7, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0, 0,
- 0, 0, 0, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 7, 8, 0, 0, 0, 0, 0, 0, 7, 9, 8, 0, 0,
- 0, 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 8, 7, 0, 0, 0, 0,
- 0, 0, 8, 9, 9, 0, 0, 0, 0, 0, 0, 8, 9, 9, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0, 0,
- 0, 0, 0, 9, 9,11, 0, 0, 0, 0, 0, 0, 9,11,10, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0,
- 0, 0, 0, 0, 8,10, 9, 0, 0, 0, 0, 0, 0, 9,10,11,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0,
- 0, 0, 0, 0, 8, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 9,11,10, 0,
- 0, 0, 0, 0, 0, 8, 9,11, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 9,10,10,
- 0, 0, 0, 0, 0, 0, 9,11,10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c0_s_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44c0_s_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_s_p1_0 = {
- _vq_quantthresh__44c0_s_p1_0,
- _vq_quantmap__44c0_s_p1_0,
- 3,
- 3
-};
-
-static static_codebook _44c0_s_p1_0 = {
- 8, 6561,
- _vq_lengthlist__44c0_s_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44c0_s_p1_0,
- NULL,
- &_vq_auxt__44c0_s_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_s_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c0_s_p2_0[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c0_s_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c0_s_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_s_p2_0 = {
- _vq_quantthresh__44c0_s_p2_0,
- _vq_quantmap__44c0_s_p2_0,
- 5,
- 5
-};
-
-static static_codebook _44c0_s_p2_0 = {
- 4, 625,
- _vq_lengthlist__44c0_s_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c0_s_p2_0,
- NULL,
- &_vq_auxt__44c0_s_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_s_p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c0_s_p3_0[] = {
- 1, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 5, 7, 7, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 5, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 7, 9, 9,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 7, 7, 9, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c0_s_p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c0_s_p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_s_p3_0 = {
- _vq_quantthresh__44c0_s_p3_0,
- _vq_quantmap__44c0_s_p3_0,
- 5,
- 5
-};
-
-static static_codebook _44c0_s_p3_0 = {
- 4, 625,
- _vq_lengthlist__44c0_s_p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c0_s_p3_0,
- NULL,
- &_vq_auxt__44c0_s_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_s_p4_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c0_s_p4_0[] = {
- 1, 3, 2, 8, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0,
- 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7,
- 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
- 8, 8, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0,
- 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c0_s_p4_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c0_s_p4_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_s_p4_0 = {
- _vq_quantthresh__44c0_s_p4_0,
- _vq_quantmap__44c0_s_p4_0,
- 9,
- 9
-};
-
-static static_codebook _44c0_s_p4_0 = {
- 2, 81,
- _vq_lengthlist__44c0_s_p4_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c0_s_p4_0,
- NULL,
- &_vq_auxt__44c0_s_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_s_p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c0_s_p5_0[] = {
- 1, 3, 3, 6, 6, 6, 6, 8, 8, 0, 0, 0, 6, 7, 7, 7,
- 9, 9, 0, 0, 0, 7, 7, 7, 7, 9, 9, 0, 0, 0, 7, 7,
- 8, 8, 9, 9, 0, 0, 0, 7, 7, 8, 8,10, 9, 0, 0, 0,
- 8, 8, 8, 8,10,10, 0, 0, 0, 8, 8, 8, 8,10,10, 0,
- 0, 0,10, 9, 9, 9,11,11, 0, 0, 0, 0, 0, 9, 9,11,
- 11,
-};
-
-static float _vq_quantthresh__44c0_s_p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c0_s_p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_s_p5_0 = {
- _vq_quantthresh__44c0_s_p5_0,
- _vq_quantmap__44c0_s_p5_0,
- 9,
- 9
-};
-
-static static_codebook _44c0_s_p5_0 = {
- 2, 81,
- _vq_lengthlist__44c0_s_p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c0_s_p5_0,
- NULL,
- &_vq_auxt__44c0_s_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_s_p6_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c0_s_p6_0[] = {
- 1, 3, 4, 6, 6, 7, 8, 8, 8, 8, 8, 9, 9,10,10,11,
- 11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,10,
- 11,11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,
- 11,11,11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,
- 11,11,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,
- 10,11,11,12,12, 0, 0, 0, 8, 8, 9, 9, 9,10,10,10,
- 10,11,11,11,12,12, 0, 0, 0, 8, 8, 9, 9, 9, 9,10,
- 10,11,11,11,11,12,12, 0, 0, 0, 9, 9, 9, 9,10,10,
- 10,10,11,11,12,12,12,13, 0, 0, 0, 0, 0, 9, 9,10,
- 10,10,10,11,11,12,12,12,12, 0, 0, 0, 0, 0, 9, 9,
- 9,10,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 9,
- 9, 9, 9,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0,
- 10, 9,10,10,11,11,11,12,12,13,13,13, 0, 0, 0, 0,
- 0, 0, 0,10,10,11,11,12,12,12,12,13,13, 0, 0, 0,
- 0, 0, 0, 0,11,11,11,11,12,12,13,13,13,13, 0, 0,
- 0, 0, 0, 0, 0,11,11,11,11,12,12,13,12,13,13, 0,
- 0, 0, 0, 0, 0, 0,11,11,12,12,12,12,13,13,13,14,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,12,12,12,12,13,13,13,
- 14,
-};
-
-static float _vq_quantthresh__44c0_s_p6_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c0_s_p6_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_s_p6_0 = {
- _vq_quantthresh__44c0_s_p6_0,
- _vq_quantmap__44c0_s_p6_0,
- 17,
- 17
-};
-
-static static_codebook _44c0_s_p6_0 = {
- 2, 289,
- _vq_lengthlist__44c0_s_p6_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c0_s_p6_0,
- NULL,
- &_vq_auxt__44c0_s_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_s_p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c0_s_p7_0[] = {
- 1, 4, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,10,
- 9, 9, 4, 7, 7,10, 9, 9,11, 9, 9, 7,10,10,10,11,
- 10,11,10,10, 6, 9, 9,11,10,10,11, 9,10, 6, 9, 9,
- 11,10,10,11, 9, 9, 7,10,10,11,11,11,12,11,11, 7,
- 9, 9,10, 9, 9,11,11,10, 7, 9, 9,10,10,10,12,10,
- 11,
-};
-
-static float _vq_quantthresh__44c0_s_p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44c0_s_p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_s_p7_0 = {
- _vq_quantthresh__44c0_s_p7_0,
- _vq_quantmap__44c0_s_p7_0,
- 3,
- 3
-};
-
-static static_codebook _44c0_s_p7_0 = {
- 4, 81,
- _vq_lengthlist__44c0_s_p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44c0_s_p7_0,
- NULL,
- &_vq_auxt__44c0_s_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_s_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44c0_s_p7_1[] = {
- 2, 3, 3, 6, 6, 7, 7, 7, 7, 7, 7,10, 9, 9, 6, 6,
- 7, 7, 8, 8, 8, 8, 9, 9, 9, 6, 6, 7, 7, 8, 8, 8,
- 8,10, 9,10, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7,
- 7, 7, 7, 8, 8, 8, 8,10,10,10, 7, 7, 8, 8, 8, 8,
- 8, 8,10,10,10, 8, 7, 8, 8, 8, 8, 8, 8,10,10,10,
- 8, 8, 8, 8, 8, 8, 8, 8,10,10,10,10,10, 8, 8, 8,
- 8, 8, 8,10,10,10,10,10, 9, 9, 8, 8, 9, 8,10,10,
- 10,10,10, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44c0_s_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44c0_s_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_s_p7_1 = {
- _vq_quantthresh__44c0_s_p7_1,
- _vq_quantmap__44c0_s_p7_1,
- 11,
- 11
-};
-
-static static_codebook _44c0_s_p7_1 = {
- 2, 121,
- _vq_lengthlist__44c0_s_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44c0_s_p7_1,
- NULL,
- &_vq_auxt__44c0_s_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_s_p8_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c0_s_p8_0[] = {
- 1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8,10, 9, 7, 5, 5,
- 7, 7, 8, 8, 8, 8, 9, 9,10,10, 7, 6, 6, 7, 7, 8,
- 8, 8, 8, 9, 9,10,10, 0, 8, 8, 8, 8, 9, 8, 9, 9,
- 10,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,10,10,11,
- 11, 0,12,12, 9, 8, 9, 9,10,10,10,11,12,11, 0,13,
- 13, 9, 8, 9, 9,10,10,10,11,11,11, 0, 0, 0,10,10,
- 9, 9,10,10,11,11,12,12, 0, 0, 0,10,10, 9, 8,10,
- 10,11,11,12,12, 0, 0, 0,13,13,10,10,11,11,12,12,
- 12,12, 0, 0, 0,15,15,10,10,11, 9,12,12,13,13, 0,
- 0, 0, 0, 0,12,11,11,11,12,12,13,13, 0, 0, 0, 0,
- 0,12,12,11,11,12,11,14,13,
-};
-
-static float _vq_quantthresh__44c0_s_p8_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44c0_s_p8_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_s_p8_0 = {
- _vq_quantthresh__44c0_s_p8_0,
- _vq_quantmap__44c0_s_p8_0,
- 13,
- 13
-};
-
-static static_codebook _44c0_s_p8_0 = {
- 2, 169,
- _vq_lengthlist__44c0_s_p8_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44c0_s_p8_0,
- NULL,
- &_vq_auxt__44c0_s_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_s_p8_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c0_s_p8_1[] = {
- 2, 3, 4, 4, 4, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6,
- 6, 6, 5, 5, 6, 6, 6, 5, 5,
-};
-
-static float _vq_quantthresh__44c0_s_p8_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c0_s_p8_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_s_p8_1 = {
- _vq_quantthresh__44c0_s_p8_1,
- _vq_quantmap__44c0_s_p8_1,
- 5,
- 5
-};
-
-static static_codebook _44c0_s_p8_1 = {
- 2, 25,
- _vq_lengthlist__44c0_s_p8_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c0_s_p8_1,
- NULL,
- &_vq_auxt__44c0_s_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_s_p9_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c0_s_p9_0[] = {
- 1, 7, 7,11,11,10,11,11,11,11, 9,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11, 8,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11, 8,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,
-};
-
-static float _vq_quantthresh__44c0_s_p9_0[] = {
- -331.5, -110.5, 110.5, 331.5,
-};
-
-static long _vq_quantmap__44c0_s_p9_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_s_p9_0 = {
- _vq_quantthresh__44c0_s_p9_0,
- _vq_quantmap__44c0_s_p9_0,
- 5,
- 5
-};
-
-static static_codebook _44c0_s_p9_0 = {
- 4, 625,
- _vq_lengthlist__44c0_s_p9_0,
- 1, -518283264, 1627103232, 3, 0,
- _vq_quantlist__44c0_s_p9_0,
- NULL,
- &_vq_auxt__44c0_s_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_s_p9_1[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c0_s_p9_1[] = {
- 1, 4, 4, 6, 6, 7, 7, 9, 9,12,12,13,12, 6, 5, 5,
- 7, 7, 8, 8,10,10,12,11,14,13, 6, 5, 5, 7, 7, 7,
- 8, 9, 9,11,12,13,12,15, 7, 7, 7, 7, 9, 9,11,11,
- 14,13,14,13,15, 7, 7, 8, 8, 8, 9,10,10,11,11,12,
- 11,15,10,10, 8, 8,10,10,12,11,13,15,14,14,15,11,
- 10, 8, 8,11,11,11,11,13,13,12,13,15,15,15,10,10,
- 10,10,12,13,13,13,15,14,15,15,15,10,10,10,11,13,
- 14,13,14,14,14,15,15,15,15,15,11,12,11,13,14,14,
- 15,15,15,15,15,14,15,11,11,13,12,14,13,15,15,15,
- 15,15,15,15,13,12,13,12,15,15,15,15,15,15,15,15,
- 15,12,13,12,12,15,14,15,15,
-};
-
-static float _vq_quantthresh__44c0_s_p9_1[] = {
- -93.5, -76.5, -59.5, -42.5, -25.5, -8.5, 8.5, 25.5,
- 42.5, 59.5, 76.5, 93.5,
-};
-
-static long _vq_quantmap__44c0_s_p9_1[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_s_p9_1 = {
- _vq_quantthresh__44c0_s_p9_1,
- _vq_quantmap__44c0_s_p9_1,
- 13,
- 13
-};
-
-static static_codebook _44c0_s_p9_1 = {
- 2, 169,
- _vq_lengthlist__44c0_s_p9_1,
- 1, -522616832, 1620115456, 4, 0,
- _vq_quantlist__44c0_s_p9_1,
- NULL,
- &_vq_auxt__44c0_s_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_s_p9_2[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c0_s_p9_2[] = {
- 2, 4, 4, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 8,
- 9,10,10,10, 7, 7, 8, 7, 8, 8, 9, 9, 9, 9, 9, 9,
- 9, 9,10,10,10, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9,10,10,10, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9,10,10,10, 7, 7, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 9, 9,11,10,10, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9,10,10,10, 8, 8, 8, 8, 8, 9, 9,
- 9, 9, 9, 9,10, 9, 9,10,10,11, 9, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,11, 9, 8, 9,
- 9, 9, 9, 9, 9, 9, 9,10,10,11,11,10,11,11, 9, 9,
- 9, 9, 9, 9,10, 9, 9, 9,10, 9,10,10,10,11,11, 9,
- 9, 9, 9, 9, 9, 9,10, 9, 9, 9,10,11,10,10,10,11,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,
- 11,11,10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,
- 11,11,10,10, 9,10,10,10, 9,10, 9, 9, 9, 9,10,10,
- 11,10,11,11,11, 9,10, 9, 9, 9, 9, 9, 9, 9,10,10,
- 11,10,11,11,10,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9,
- 10,10,10,10,11,11,10,11,11, 9, 9, 9, 9, 9, 9, 9,
- 9,
-};
-
-static float _vq_quantthresh__44c0_s_p9_2[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c0_s_p9_2[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_s_p9_2 = {
- _vq_quantthresh__44c0_s_p9_2,
- _vq_quantmap__44c0_s_p9_2,
- 17,
- 17
-};
-
-static static_codebook _44c0_s_p9_2 = {
- 2, 289,
- _vq_lengthlist__44c0_s_p9_2,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c0_s_p9_2,
- NULL,
- &_vq_auxt__44c0_s_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c0_s_short[] = {
- 6, 8,17,12,12,12,14,15,17,16, 5, 1,16, 5, 6, 6,
- 9,12,14,13,16,16,16,16,16,16,16,16,16,16, 9, 4,
- 16, 6, 9, 7,10,14,14,14, 8, 5,16, 8, 6, 7,10,13,
- 15,16, 9, 6,16, 7, 7, 7,10,12,15,14,10, 8,16, 9,
- 9, 9,10,12,15,14,13, 7,16, 8, 7, 7,10,12,14,13,
- 15, 6,16, 7, 5, 5, 7, 9,13,16,14, 7,16, 8, 6, 6,
- 8, 9,11,14,
-};
-
-static static_codebook _huff_book__44c0_s_short = {
- 2, 100,
- _huff_lengthlist__44c0_s_short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c0_sm_long[] = {
- 3, 4,10, 8,11, 9,10,10,11,13, 3, 2,10, 5, 8, 6,
- 8,11,12,13,10, 8, 7,10, 7, 8, 9,11,12,13, 8, 5,
- 12, 6, 9, 7,10,13,14,16,11, 7, 7, 9, 5, 6, 7,10,
- 13,13, 8, 6, 7, 7, 5, 5, 6, 9,12,13, 9, 8, 8, 8,
- 7, 6, 6, 8,11,14,10,10,10,11, 9, 8, 7, 8,10,13,
- 11,14,12,15,13,11, 9, 8, 9,12,12,18,15,18,17,15,
- 12,10,10,14,
-};
-
-static static_codebook _huff_book__44c0_sm_long = {
- 2, 100,
- _huff_lengthlist__44c0_sm_long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_sm_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c0_sm_p1_0[] = {
- 1, 5, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0,
- 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 5, 8, 7, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0, 0,
- 0, 0, 0, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 7, 8, 0, 0, 0, 0, 0, 0, 7, 9, 8, 0, 0,
- 0, 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 8, 7, 0, 0, 0, 0,
- 0, 0, 8, 9, 9, 0, 0, 0, 0, 0, 0, 8, 9, 9, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0, 0,
- 0, 0, 0, 9, 9,10, 0, 0, 0, 0, 0, 0, 9,10,10, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0,
- 0, 0, 0, 0, 8,10, 9, 0, 0, 0, 0, 0, 0, 9,10,10,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 7, 8, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0,
- 0, 0, 0, 0, 8, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 9,10,10, 0,
- 0, 0, 0, 0, 0, 8, 9,10, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 9,10,10,
- 0, 0, 0, 0, 0, 0, 9,10, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c0_sm_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44c0_sm_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_sm_p1_0 = {
- _vq_quantthresh__44c0_sm_p1_0,
- _vq_quantmap__44c0_sm_p1_0,
- 3,
- 3
-};
-
-static static_codebook _44c0_sm_p1_0 = {
- 8, 6561,
- _vq_lengthlist__44c0_sm_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44c0_sm_p1_0,
- NULL,
- &_vq_auxt__44c0_sm_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_sm_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c0_sm_p2_0[] = {
- 1, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0, 6, 6, 0, 0, 0,
- 8, 8, 0, 0, 0, 0, 0, 0, 0, 5, 7, 6, 0, 0, 0, 8,
- 8, 0, 0, 0, 8, 8, 0, 0, 0,10,10, 0, 0, 0, 0, 0,
- 0, 0, 5, 6, 7, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8, 0,
- 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 6, 8, 8, 0, 0, 0, 8, 8, 0, 0,
- 0, 8, 8, 0, 0, 0,10, 9, 0, 0, 0, 0, 0, 0, 0, 6,
- 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 9,
- 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 6, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8,
- 0, 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 6, 8, 8, 0,
- 0, 0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0,10,10, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8,10,10, 0, 0, 0,10,10, 0, 0, 0, 9,10, 0, 0, 0,
- 10,10, 0, 0, 0, 0, 0, 0, 0, 8,10,10, 0, 0, 0,10,
- 10, 0, 0, 0,10, 9, 0, 0, 0,10,10, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c0_sm_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c0_sm_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_sm_p2_0 = {
- _vq_quantthresh__44c0_sm_p2_0,
- _vq_quantmap__44c0_sm_p2_0,
- 5,
- 5
-};
-
-static static_codebook _44c0_sm_p2_0 = {
- 4, 625,
- _vq_lengthlist__44c0_sm_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c0_sm_p2_0,
- NULL,
- &_vq_auxt__44c0_sm_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_sm_p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c0_sm_p3_0[] = {
- 2, 3, 4, 6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 4, 6, 6, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 8, 8,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 6, 6, 8, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c0_sm_p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c0_sm_p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_sm_p3_0 = {
- _vq_quantthresh__44c0_sm_p3_0,
- _vq_quantmap__44c0_sm_p3_0,
- 5,
- 5
-};
-
-static static_codebook _44c0_sm_p3_0 = {
- 4, 625,
- _vq_lengthlist__44c0_sm_p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c0_sm_p3_0,
- NULL,
- &_vq_auxt__44c0_sm_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_sm_p4_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c0_sm_p4_0[] = {
- 2, 3, 3, 6, 6, 0, 0, 0, 0, 0, 4, 4, 6, 6, 0, 0,
- 0, 0, 0, 4, 4, 6, 6, 0, 0, 0, 0, 0, 5, 5, 6, 6,
- 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0,
- 7, 8, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0,
- 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c0_sm_p4_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c0_sm_p4_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_sm_p4_0 = {
- _vq_quantthresh__44c0_sm_p4_0,
- _vq_quantmap__44c0_sm_p4_0,
- 9,
- 9
-};
-
-static static_codebook _44c0_sm_p4_0 = {
- 2, 81,
- _vq_lengthlist__44c0_sm_p4_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c0_sm_p4_0,
- NULL,
- &_vq_auxt__44c0_sm_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_sm_p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c0_sm_p5_0[] = {
- 1, 3, 3, 6, 6, 7, 7, 9, 9, 0, 6, 6, 7, 7, 8, 8,
- 9, 9, 0, 6, 6, 7, 7, 8, 8,10,10, 0, 7, 7, 8, 8,
- 8, 8,10,10, 0, 0, 0, 8, 8, 8, 8,10,10, 0, 0, 0,
- 8, 8, 9, 9,11,11, 0, 0, 0, 9, 9, 9, 9,11,11, 0,
- 0, 0,10,10, 9, 9,11,11, 0, 0, 0, 0, 0, 9, 9,11,
- 11,
-};
-
-static float _vq_quantthresh__44c0_sm_p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c0_sm_p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_sm_p5_0 = {
- _vq_quantthresh__44c0_sm_p5_0,
- _vq_quantmap__44c0_sm_p5_0,
- 9,
- 9
-};
-
-static static_codebook _44c0_sm_p5_0 = {
- 2, 81,
- _vq_lengthlist__44c0_sm_p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c0_sm_p5_0,
- NULL,
- &_vq_auxt__44c0_sm_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_sm_p6_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c0_sm_p6_0[] = {
- 1, 4, 4, 6, 6, 8, 8, 9, 9, 8, 8,10,10,10,10,11,
- 11, 0, 6, 5, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11,
- 12,12, 0, 6, 5, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,
- 11,12,12, 0, 7, 7, 8, 8, 8, 8,10,10,10,10,11,11,
- 11,11,12,12, 0, 0, 0, 8, 7, 8, 8,10,10,10,10,11,
- 11,11,11,12,12, 0, 0, 0, 8, 8, 9, 9,10,10,10,10,
- 11,11,12,12,12,12, 0, 0, 0, 8, 8, 9, 9,10,10,10,
- 10,11,11,12,12,12,13, 0, 0, 0, 9, 9, 9, 9,10,10,
- 10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 9, 9,10,
- 10,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 9, 9,
- 10,10,11,11,12,12,12,13,13,13, 0, 0, 0, 0, 0, 9,
- 9,10, 9,11,11,12,12,13,13,13,13, 0, 0, 0, 0, 0,
- 10,10,10,10,11,11,12,12,13,13,14,14, 0, 0, 0, 0,
- 0, 0, 0,10,10,11,11,12,12,13,13,14,14, 0, 0, 0,
- 0, 0, 0, 0,11,11,11,11,12,12,13,13,14,14, 0, 0,
- 0, 0, 0, 0, 0,11,11,11,11,12,12,13,13,14,14, 0,
- 0, 0, 0, 0, 0, 0,12,12,12,12,13,13,13,13,14,14,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,12,12,12,12,13,13,14,
- 14,
-};
-
-static float _vq_quantthresh__44c0_sm_p6_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c0_sm_p6_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_sm_p6_0 = {
- _vq_quantthresh__44c0_sm_p6_0,
- _vq_quantmap__44c0_sm_p6_0,
- 17,
- 17
-};
-
-static static_codebook _44c0_sm_p6_0 = {
- 2, 289,
- _vq_lengthlist__44c0_sm_p6_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c0_sm_p6_0,
- NULL,
- &_vq_auxt__44c0_sm_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_sm_p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c0_sm_p7_0[] = {
- 1, 4, 4, 6, 6, 6, 7, 6, 6, 5, 7, 6,10, 9, 9,10,
- 9, 9, 4, 7, 7,10, 9, 9,11, 9, 9, 6,10,10,10,10,
- 10,11,10,10, 6, 9, 9,10,10,10,11, 9,10, 6, 9, 9,
- 10,10,10,11,10, 9, 7,10,10,11,11,11,11,11,11, 6,
- 9, 9,10, 9,10,11,11,10, 6, 9, 9,10,10,10,11,10,
- 11,
-};
-
-static float _vq_quantthresh__44c0_sm_p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44c0_sm_p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_sm_p7_0 = {
- _vq_quantthresh__44c0_sm_p7_0,
- _vq_quantmap__44c0_sm_p7_0,
- 3,
- 3
-};
-
-static static_codebook _44c0_sm_p7_0 = {
- 4, 81,
- _vq_lengthlist__44c0_sm_p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44c0_sm_p7_0,
- NULL,
- &_vq_auxt__44c0_sm_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_sm_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44c0_sm_p7_1[] = {
- 2, 4, 4, 5, 5, 7, 7, 7, 7, 7, 7, 9, 5, 5, 7, 7,
- 7, 7, 8, 8, 8, 8, 9, 5, 5, 7, 7, 7, 7, 8, 8, 8,
- 8,10, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8,10,10,10, 7,
- 7, 7, 7, 8, 8, 8, 8,10,10,10, 8, 8, 8, 8, 8, 8,
- 8, 8,10,10,10, 8, 8, 8, 8, 8, 8, 8, 8,10,10,10,
- 8, 8, 8, 8, 8, 8, 8, 8,10,10,10,10,10, 8, 8, 8,
- 8, 8, 8,10,10,10,10,10, 9, 9, 8, 8, 8, 8,10,10,
- 10,10,10, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44c0_sm_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44c0_sm_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_sm_p7_1 = {
- _vq_quantthresh__44c0_sm_p7_1,
- _vq_quantmap__44c0_sm_p7_1,
- 11,
- 11
-};
-
-static static_codebook _44c0_sm_p7_1 = {
- 2, 121,
- _vq_lengthlist__44c0_sm_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44c0_sm_p7_1,
- NULL,
- &_vq_auxt__44c0_sm_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_sm_p8_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c0_sm_p8_0[] = {
- 1, 4, 4, 6, 6, 7, 7, 7, 7, 9, 9,10,10, 7, 5, 5,
- 7, 7, 8, 8, 8, 8, 9, 9,10,10, 7, 5, 6, 7, 7, 8,
- 8, 8, 8, 9, 9,10,10, 0, 8, 8, 8, 8, 9, 9, 9, 9,
- 10,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,10,10,11,
- 11, 0,12,12, 9, 9, 9, 9,10,10,11,11,12,11, 0,12,
- 12, 9, 9, 9, 9,10,10,11,11,12,11, 0, 0, 0, 9, 9,
- 9,10,11,11,11,11,12,12, 0, 0, 0,10,10, 9, 9,11,
- 11,11,11,12,12, 0, 0, 0,13,13,10,10,11,11,12,12,
- 13,13, 0, 0, 0,14,14,10,10,11,10,12,12,13,13, 0,
- 0, 0, 0, 0,12,12,11,11,12,12,13,13, 0, 0, 0, 0,
- 0,12,12,11,10,12,11,14,14,
-};
-
-static float _vq_quantthresh__44c0_sm_p8_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44c0_sm_p8_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_sm_p8_0 = {
- _vq_quantthresh__44c0_sm_p8_0,
- _vq_quantmap__44c0_sm_p8_0,
- 13,
- 13
-};
-
-static static_codebook _44c0_sm_p8_0 = {
- 2, 169,
- _vq_lengthlist__44c0_sm_p8_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44c0_sm_p8_0,
- NULL,
- &_vq_auxt__44c0_sm_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_sm_p8_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c0_sm_p8_1[] = {
- 2, 4, 4, 4, 5, 6, 5, 5, 5, 5, 6, 5, 5, 5, 5, 6,
- 5, 5, 5, 5, 6, 6, 6, 5, 5,
-};
-
-static float _vq_quantthresh__44c0_sm_p8_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c0_sm_p8_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_sm_p8_1 = {
- _vq_quantthresh__44c0_sm_p8_1,
- _vq_quantmap__44c0_sm_p8_1,
- 5,
- 5
-};
-
-static static_codebook _44c0_sm_p8_1 = {
- 2, 25,
- _vq_lengthlist__44c0_sm_p8_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c0_sm_p8_1,
- NULL,
- &_vq_auxt__44c0_sm_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_sm_p9_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c0_sm_p9_0[] = {
- 1, 3, 4,11,11,11,11,11,11, 4, 6, 6,10,10,10,10,
- 10,10, 4, 6, 5,10,10,10,10,10,10,10, 6, 7,10, 9,
- 10,10,10,10,10, 7, 9,10, 9,10,10,10,10,10, 9,10,
- 7, 9,10,10,10,10,10,10,10, 9,10,10,10,10,10,10,
- 10,10, 9,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,
-};
-
-static float _vq_quantthresh__44c0_sm_p9_0[] = {
- -773.5, -552.5, -331.5, -110.5, 110.5, 331.5, 552.5, 773.5,
-};
-
-static long _vq_quantmap__44c0_sm_p9_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_sm_p9_0 = {
- _vq_quantthresh__44c0_sm_p9_0,
- _vq_quantmap__44c0_sm_p9_0,
- 9,
- 9
-};
-
-static static_codebook _44c0_sm_p9_0 = {
- 2, 81,
- _vq_lengthlist__44c0_sm_p9_0,
- 1, -516186112, 1627103232, 4, 0,
- _vq_quantlist__44c0_sm_p9_0,
- NULL,
- &_vq_auxt__44c0_sm_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_sm_p9_1[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c0_sm_p9_1[] = {
- 1, 4, 4, 6, 6, 7, 7, 9, 9,12,12,13,13, 6, 5, 5,
- 7, 7, 8, 8,10,10,12,12,14,13, 6, 5, 5, 6, 7, 8,
- 8,10, 9,11,12,13,12,18, 7, 7, 7, 7, 9, 9,11,11,
- 14,14,14,13,17, 7, 7, 8, 7, 9, 9,10,10,12,11,13,
- 12,18,10,10, 8, 8,10,10,12,11,13,14,16,15,17,11,
- 11, 8, 8,11,11,11,12,13,13,13,15,18,18,18,10,11,
- 10,10,12,13,14,13,17,14,17,17,17,10,10,11,11,14,
- 14,14,13,14,14,18,18,18,17,15,11,12,12,13,15,15,
- 16,17,18,16,18,14,15,11,11,14,13,14,14,16,17,18,
- 17,17,17,18,14,13,13,12,17,15,17,16,18,17,18,18,
- 18,12,13,12,13,16,14,18,18,
-};
-
-static float _vq_quantthresh__44c0_sm_p9_1[] = {
- -93.5, -76.5, -59.5, -42.5, -25.5, -8.5, 8.5, 25.5,
- 42.5, 59.5, 76.5, 93.5,
-};
-
-static long _vq_quantmap__44c0_sm_p9_1[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_sm_p9_1 = {
- _vq_quantthresh__44c0_sm_p9_1,
- _vq_quantmap__44c0_sm_p9_1,
- 13,
- 13
-};
-
-static static_codebook _44c0_sm_p9_1 = {
- 2, 169,
- _vq_lengthlist__44c0_sm_p9_1,
- 1, -522616832, 1620115456, 4, 0,
- _vq_quantlist__44c0_sm_p9_1,
- NULL,
- &_vq_auxt__44c0_sm_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c0_sm_p9_2[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c0_sm_p9_2[] = {
- 2, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9,
- 9,10, 6, 6, 7, 7, 8, 7, 8, 8, 9, 9, 9, 9, 9, 9,
- 9, 9,10, 6, 6, 7, 7, 7, 7, 8, 8, 9, 8, 9, 9, 9,
- 9, 9, 9,10, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9,10,10,10, 7, 7, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 9, 9,10,10,10, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9,11,10,10, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 9, 9,10, 9,10,11,10, 9, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9,10,10,10,10,11,11, 9, 8, 9,
- 9, 9, 9, 9, 9, 9, 9,10,10,10,11,10,11,11, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,10, 9,10,10,10,11,11, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,11,10,10,11,11,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9,10,10,10,10,
- 11,11,10, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,11,10,
- 11,11,10,10, 9,10,10,10, 9, 9, 9, 9, 9, 9,10,10,
- 10,11,11,11,11,10,10, 9, 9, 9, 9, 9, 9, 9, 9,10,
- 11,10,11,10,10,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9,
- 10,10,10,11,11,11,10,11,11, 9, 9, 9, 9, 9, 9, 9,
- 9,
-};
-
-static float _vq_quantthresh__44c0_sm_p9_2[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c0_sm_p9_2[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c0_sm_p9_2 = {
- _vq_quantthresh__44c0_sm_p9_2,
- _vq_quantmap__44c0_sm_p9_2,
- 17,
- 17
-};
-
-static static_codebook _44c0_sm_p9_2 = {
- 2, 289,
- _vq_lengthlist__44c0_sm_p9_2,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c0_sm_p9_2,
- NULL,
- &_vq_auxt__44c0_sm_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c0_sm_short[] = {
- 5, 7,12,12,13,13,13,15,16,18, 4, 2,11, 5, 9, 7,
- 9,12,13,14,13, 7, 8, 9, 8, 9,11,13,19,19, 9, 4,
- 12, 5,10, 7, 9,12,15,14,11, 6, 7, 7, 5, 6, 8,11,
- 15,17,10, 5, 8, 6, 6, 5, 6, 9,14,14,10, 5, 9, 7,
- 7, 6, 6, 9,12,14,12, 6,10, 7, 7, 7, 8, 9,13,14,
- 14, 7, 9, 7, 5, 5, 6, 9,11,13,14, 9,10, 9, 6, 6,
- 7, 8,10,13,
-};
-
-static static_codebook _huff_book__44c0_sm_short = {
- 2, 100,
- _huff_lengthlist__44c0_sm_short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c1_s_long[] = {
- 3, 4,19, 9,10, 9, 9,10,11,12, 4, 2,19, 5, 6, 6,
- 8,10,12,11,19,19,19,19,19,19,19,19,18,18, 8, 4,
- 18, 6, 8, 7,10,13,14,13,10, 5,18, 7, 4, 6, 7,10,
- 12,13, 9, 6,18, 7, 5, 6, 7,10,12,13, 9, 7,18, 9,
- 7, 6, 6, 7,10,13, 9, 9,18,12, 9, 8, 6, 6, 9,12,
- 10,12,18,15,12,11, 9, 8, 8,11,11,14,18,17,15,13,
- 12, 9,10,12,
-};
-
-static static_codebook _huff_book__44c1_s_long = {
- 2, 100,
- _huff_lengthlist__44c1_s_long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_s_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c1_s_p1_0[] = {
- 2, 4, 4, 0, 0, 0, 0, 0, 0, 5, 7, 6, 0, 0, 0, 0,
- 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0, 0,
- 0, 0, 0, 7, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0,
- 0, 0, 0, 0, 7, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 7, 7, 0, 0, 0, 0,
- 0, 0, 7, 8, 8, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0, 0,
- 0, 0, 0, 8, 9, 9, 0, 0, 0, 0, 0, 0, 8, 9, 9, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 8, 8, 0, 0,
- 0, 0, 0, 0, 8, 9, 8, 0, 0, 0, 0, 0, 0, 8, 9, 9,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 7, 7, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0,
- 0, 0, 0, 0, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 6, 8, 8, 0, 0, 0, 0, 0, 0, 8, 9, 9, 0,
- 0, 0, 0, 0, 0, 8, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 8, 9, 0, 0, 0, 0, 0, 0, 8, 9, 9,
- 0, 0, 0, 0, 0, 0, 8, 9, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c1_s_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44c1_s_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_s_p1_0 = {
- _vq_quantthresh__44c1_s_p1_0,
- _vq_quantmap__44c1_s_p1_0,
- 3,
- 3
-};
-
-static static_codebook _44c1_s_p1_0 = {
- 8, 6561,
- _vq_lengthlist__44c1_s_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44c1_s_p1_0,
- NULL,
- &_vq_auxt__44c1_s_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_s_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c1_s_p2_0[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c1_s_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c1_s_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_s_p2_0 = {
- _vq_quantthresh__44c1_s_p2_0,
- _vq_quantmap__44c1_s_p2_0,
- 5,
- 5
-};
-
-static static_codebook _44c1_s_p2_0 = {
- 4, 625,
- _vq_lengthlist__44c1_s_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c1_s_p2_0,
- NULL,
- &_vq_auxt__44c1_s_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_s_p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c1_s_p3_0[] = {
- 2, 3, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 4, 6, 6, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 7, 7,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 6, 6, 7, 7, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c1_s_p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c1_s_p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_s_p3_0 = {
- _vq_quantthresh__44c1_s_p3_0,
- _vq_quantmap__44c1_s_p3_0,
- 5,
- 5
-};
-
-static static_codebook _44c1_s_p3_0 = {
- 4, 625,
- _vq_lengthlist__44c1_s_p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c1_s_p3_0,
- NULL,
- &_vq_auxt__44c1_s_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_s_p4_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c1_s_p4_0[] = {
- 1, 3, 2, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0,
- 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7,
- 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
- 8, 9, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0,
- 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c1_s_p4_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c1_s_p4_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_s_p4_0 = {
- _vq_quantthresh__44c1_s_p4_0,
- _vq_quantmap__44c1_s_p4_0,
- 9,
- 9
-};
-
-static static_codebook _44c1_s_p4_0 = {
- 2, 81,
- _vq_lengthlist__44c1_s_p4_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c1_s_p4_0,
- NULL,
- &_vq_auxt__44c1_s_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_s_p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c1_s_p5_0[] = {
- 1, 3, 3, 5, 5, 6, 6, 8, 8, 0, 0, 0, 7, 7, 8, 7,
- 9, 9, 0, 0, 0, 7, 7, 8, 8, 9, 9, 0, 0, 0, 7, 7,
- 8, 8,10,10, 0, 0, 0, 7, 7, 8, 8,10,10, 0, 0, 0,
- 8, 8, 9, 9,10,10, 0, 0, 0, 8, 8, 9, 9,10,10, 0,
- 0, 0,10,10, 9, 9,11,11, 0, 0, 0, 0, 0, 9, 9,11,
- 11,
-};
-
-static float _vq_quantthresh__44c1_s_p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c1_s_p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_s_p5_0 = {
- _vq_quantthresh__44c1_s_p5_0,
- _vq_quantmap__44c1_s_p5_0,
- 9,
- 9
-};
-
-static static_codebook _44c1_s_p5_0 = {
- 2, 81,
- _vq_lengthlist__44c1_s_p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c1_s_p5_0,
- NULL,
- &_vq_auxt__44c1_s_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_s_p6_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c1_s_p6_0[] = {
- 1, 3, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11,
- 11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11,
- 11,11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,
- 11,11,11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,
- 11,11,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,
- 10,11,11,12,12, 0, 0, 0, 8, 8, 9, 9,10,10,10,10,
- 10,10,11,11,12,12, 0, 0, 0, 8, 8, 9, 9, 9,10,10,
- 10,11,11,11,11,12,12, 0, 0, 0, 9, 9, 9, 9,10,10,
- 10,10,11,11,12,12,13,12, 0, 0, 0, 0, 0, 9, 9,10,
- 10,10,10,11,11,12,12,12,12, 0, 0, 0, 0, 0, 9, 9,
- 10,10,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 9,
- 9,10, 9,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0,
- 10,10,10,10,11,11,11,11,12,12,13,13, 0, 0, 0, 0,
- 0, 0, 0,10,10,11,11,11,11,12,12,13,13, 0, 0, 0,
- 0, 0, 0, 0,11,11,11,11,12,12,13,12,13,13, 0, 0,
- 0, 0, 0, 0, 0,11,11,11,11,12,12,13,13,13,13, 0,
- 0, 0, 0, 0, 0, 0,11,11,11,12,12,12,13,13,14,14,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,11,11,12,12,13,13,14,
- 14,
-};
-
-static float _vq_quantthresh__44c1_s_p6_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c1_s_p6_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_s_p6_0 = {
- _vq_quantthresh__44c1_s_p6_0,
- _vq_quantmap__44c1_s_p6_0,
- 17,
- 17
-};
-
-static static_codebook _44c1_s_p6_0 = {
- 2, 289,
- _vq_lengthlist__44c1_s_p6_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c1_s_p6_0,
- NULL,
- &_vq_auxt__44c1_s_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_s_p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c1_s_p7_0[] = {
- 1, 4, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,10,
- 9, 9, 5, 7, 7,10, 9, 9,10, 9, 9, 6,10,10,10,10,
- 10,11,10,10, 6, 9, 9,10,11,10,10, 9, 9, 6, 9, 9,
- 10,10,10,10, 9, 9, 7,10,10,11,10,10,11,11,11, 6,
- 9, 9,10, 9, 9,11,10,10, 6, 9, 9,10, 9, 9,11,10,
- 10,
-};
-
-static float _vq_quantthresh__44c1_s_p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44c1_s_p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_s_p7_0 = {
- _vq_quantthresh__44c1_s_p7_0,
- _vq_quantmap__44c1_s_p7_0,
- 3,
- 3
-};
-
-static static_codebook _44c1_s_p7_0 = {
- 4, 81,
- _vq_lengthlist__44c1_s_p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44c1_s_p7_0,
- NULL,
- &_vq_auxt__44c1_s_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_s_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44c1_s_p7_1[] = {
- 2, 3, 3, 6, 6, 7, 7, 7, 7, 8, 8,10,10,10, 6, 6,
- 7, 7, 8, 8, 8, 8,10,10,10, 6, 6, 7, 7, 8, 8, 8,
- 8,10,10,10, 7, 7, 7, 7, 8, 8, 8, 8,10,10,10, 7,
- 7, 7, 7, 8, 8, 8, 8,10,10,10, 7, 7, 8, 8, 8, 8,
- 8, 8,10,10,10, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10,
- 8, 8, 8, 8, 8, 8, 8, 8,10,10,10,10,10, 8, 8, 8,
- 8, 8, 8,10,10,10,10,10, 9, 9, 8, 8, 8, 8,10,10,
- 10,10,10, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44c1_s_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44c1_s_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_s_p7_1 = {
- _vq_quantthresh__44c1_s_p7_1,
- _vq_quantmap__44c1_s_p7_1,
- 11,
- 11
-};
-
-static static_codebook _44c1_s_p7_1 = {
- 2, 121,
- _vq_lengthlist__44c1_s_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44c1_s_p7_1,
- NULL,
- &_vq_auxt__44c1_s_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_s_p8_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c1_s_p8_0[] = {
- 1, 4, 4, 6, 6, 7, 7, 7, 7, 9, 8,10,10, 6, 5, 5,
- 7, 7, 8, 8, 8, 8, 9, 9,10,10, 7, 6, 6, 7, 7, 8,
- 8, 8, 8, 9, 9,10,10, 0, 8, 8, 8, 8, 9, 9, 9, 9,
- 10,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,10,10,11,
- 11, 0,12,12, 9, 9, 9, 9,10,10,10,11,12,11, 0,12,
- 13, 9, 8, 9, 9,10,10,11,11,11,11, 0, 0, 0, 9, 9,
- 9, 9,10,10,11,11,12,12, 0, 0, 0,10,10, 9, 9,10,
- 10,11,11,12,12, 0, 0, 0,13,14,10,10,11,11,12,12,
- 12,13, 0, 0, 0,14,14,10,10,11,10,12,12,13,13, 0,
- 0, 0, 0, 0,12,11,11,11,12,12,13,13, 0, 0, 0, 0,
- 0,12,12,11,10,12,11,14,13,
-};
-
-static float _vq_quantthresh__44c1_s_p8_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44c1_s_p8_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_s_p8_0 = {
- _vq_quantthresh__44c1_s_p8_0,
- _vq_quantmap__44c1_s_p8_0,
- 13,
- 13
-};
-
-static static_codebook _44c1_s_p8_0 = {
- 2, 169,
- _vq_lengthlist__44c1_s_p8_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44c1_s_p8_0,
- NULL,
- &_vq_auxt__44c1_s_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_s_p8_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c1_s_p8_1[] = {
- 2, 3, 3, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6,
- 6, 6, 5, 5, 6, 6, 6, 5, 5,
-};
-
-static float _vq_quantthresh__44c1_s_p8_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c1_s_p8_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_s_p8_1 = {
- _vq_quantthresh__44c1_s_p8_1,
- _vq_quantmap__44c1_s_p8_1,
- 5,
- 5
-};
-
-static static_codebook _44c1_s_p8_1 = {
- 2, 25,
- _vq_lengthlist__44c1_s_p8_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c1_s_p8_1,
- NULL,
- &_vq_auxt__44c1_s_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_s_p9_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c1_s_p9_0[] = {
- 1, 6, 6, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 7, 6,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4, 6, 6, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 7, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 8,
-};
-
-static float _vq_quantthresh__44c1_s_p9_0[] = {
- -1215.5, -994.5, -773.5, -552.5, -331.5, -110.5, 110.5, 331.5,
- 552.5, 773.5, 994.5, 1215.5,
-};
-
-static long _vq_quantmap__44c1_s_p9_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_s_p9_0 = {
- _vq_quantthresh__44c1_s_p9_0,
- _vq_quantmap__44c1_s_p9_0,
- 13,
- 13
-};
-
-static static_codebook _44c1_s_p9_0 = {
- 2, 169,
- _vq_lengthlist__44c1_s_p9_0,
- 1, -514541568, 1627103232, 4, 0,
- _vq_quantlist__44c1_s_p9_0,
- NULL,
- &_vq_auxt__44c1_s_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_s_p9_1[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c1_s_p9_1[] = {
- 1, 4, 4, 6, 6, 7, 7, 9, 9,12,12,13,12, 6, 5, 5,
- 7, 7, 8, 8,10,10,11,12,13,13, 6, 5, 5, 7, 7, 8,
- 8, 9, 9,11,11,12,12,15, 7, 7, 7, 7, 9, 9,11,11,
- 13,13,14,13,15, 7, 7, 8, 7, 9, 9,10,10,12,11,14,
- 12,15,10,10, 8, 8,10,10,12,11,12,13,14,13,15,10,
- 10, 8, 8,11,10,11,11,13,12,13,15,14,15,15,10,10,
- 10,10,12,13,13,12,15,14,15,15,13,10,10,11,11,13,
- 13,13,12,13,13,15,15,15,14,15,11,11,13,13,13,13,
- 14,15,15,15,15,13,13,11,11,12,13,13,14,13,15,15,
- 15,14,15,15,13,12,12,11,13,13,15,15,15,15,15,15,
- 14,13,12,13,12,15,13,15,15,
-};
-
-static float _vq_quantthresh__44c1_s_p9_1[] = {
- -93.5, -76.5, -59.5, -42.5, -25.5, -8.5, 8.5, 25.5,
- 42.5, 59.5, 76.5, 93.5,
-};
-
-static long _vq_quantmap__44c1_s_p9_1[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_s_p9_1 = {
- _vq_quantthresh__44c1_s_p9_1,
- _vq_quantmap__44c1_s_p9_1,
- 13,
- 13
-};
-
-static static_codebook _44c1_s_p9_1 = {
- 2, 169,
- _vq_lengthlist__44c1_s_p9_1,
- 1, -522616832, 1620115456, 4, 0,
- _vq_quantlist__44c1_s_p9_1,
- NULL,
- &_vq_auxt__44c1_s_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_s_p9_2[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c1_s_p9_2[] = {
- 2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 8, 9, 8, 9, 9,
- 9,10,10,10, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9,10,10,10, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9,10,10,10, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9,10,10,10, 7, 7, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 9,10,10,11,10, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9,10, 9, 9, 9,10,10,10, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9,10,10,11, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9,10, 9,10,10,10,11,11, 9, 8, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,10,10,11,11,11,11, 9, 9,
- 9, 9, 9, 9,10, 9,10, 9, 9, 9,10,10,10,11,10, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,11,11,11,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9,10,10,10,10,
- 11,11,10, 9, 9,10, 9, 9, 9, 9, 9, 9, 9,10,10,10,
- 11,11,11,10, 9,10,10,10, 9, 9, 9, 9,10, 9,10,10,
- 10,10,11,11,10,10, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,
- 11,10,10,10,10,10,10, 9, 9, 9, 9,10, 9, 9, 9, 9,
- 10,10,10,11,11,10,10,11,11, 9, 9,10, 9, 9, 9, 9,
- 9,
-};
-
-static float _vq_quantthresh__44c1_s_p9_2[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c1_s_p9_2[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_s_p9_2 = {
- _vq_quantthresh__44c1_s_p9_2,
- _vq_quantmap__44c1_s_p9_2,
- 17,
- 17
-};
-
-static static_codebook _44c1_s_p9_2 = {
- 2, 289,
- _vq_lengthlist__44c1_s_p9_2,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c1_s_p9_2,
- NULL,
- &_vq_auxt__44c1_s_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c1_s_short[] = {
- 5, 7,17,13,12,12,14,16,15,16, 4, 2,17, 5, 7, 6,
- 8,11,14,13,16,16,16,16,16,16,16,16,16,16,10, 4,
- 16, 4, 8, 6, 7,11,14,14,10, 5,16, 6, 5, 6, 8,12,
- 15,15,10, 5,16, 5, 6, 5, 7,10,14,15,11, 6,16, 7,
- 8, 7, 7,10,14,14,13, 8,16, 8, 7, 7, 8,10,12,13,
- 12, 8,16, 7, 5, 5, 6, 8,11,13,13, 9,16, 9, 6, 6,
- 7, 8,10,13,
-};
-
-static static_codebook _huff_book__44c1_s_short = {
- 2, 100,
- _huff_lengthlist__44c1_s_short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c1_sm_long[] = {
- 3, 4,10, 9,11, 9,10,11,11,13, 4, 2,11, 5, 7, 7,
- 8,10,12,13,10,10, 7,12, 8, 9, 9,10,12,13, 8, 5,
- 13, 6, 9, 7,10,12,15,15,10, 6, 7, 8, 5, 5, 7,10,
- 12,13, 9, 6, 8, 7, 5, 5, 6, 9,11,12, 9, 8, 9, 9,
- 6, 5, 5, 7,10,13,10,10,10,12, 9, 7, 6, 7, 9,13,
- 10,13,11,17,11,11, 9, 8, 9,12,12,16,14,17,15,14,
- 12,10,10,12,
-};
-
-static static_codebook _huff_book__44c1_sm_long = {
- 2, 100,
- _huff_lengthlist__44c1_sm_long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_sm_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c1_sm_p1_0[] = {
- 1, 5, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0,
- 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 5, 8, 7, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0, 0,
- 0, 0, 0, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 7, 8, 0, 0, 0, 0, 0, 0, 7, 9, 8, 0, 0,
- 0, 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 8, 7, 0, 0, 0, 0,
- 0, 0, 8, 9, 9, 0, 0, 0, 0, 0, 0, 8, 9, 9, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0, 0,
- 0, 0, 0, 9, 9,10, 0, 0, 0, 0, 0, 0, 9,10,10, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0,
- 0, 0, 0, 0, 8,10, 9, 0, 0, 0, 0, 0, 0, 9,10,10,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 7, 8, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0,
- 0, 0, 0, 0, 8, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 9,10,10, 0,
- 0, 0, 0, 0, 0, 8, 9,10, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 9,10,10,
- 0, 0, 0, 0, 0, 0, 9,10, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c1_sm_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44c1_sm_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_sm_p1_0 = {
- _vq_quantthresh__44c1_sm_p1_0,
- _vq_quantmap__44c1_sm_p1_0,
- 3,
- 3
-};
-
-static static_codebook _44c1_sm_p1_0 = {
- 8, 6561,
- _vq_lengthlist__44c1_sm_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44c1_sm_p1_0,
- NULL,
- &_vq_auxt__44c1_sm_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_sm_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c1_sm_p2_0[] = {
- 1, 5, 5, 0, 0, 0, 5, 6, 0, 0, 0, 5, 6, 0, 0, 0,
- 8, 8, 0, 0, 0, 0, 0, 0, 0, 5, 7, 6, 0, 0, 0, 8,
- 8, 0, 0, 0, 8, 8, 0, 0, 0,10,10, 0, 0, 0, 0, 0,
- 0, 0, 5, 6, 7, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8, 0,
- 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 6, 8, 8, 0, 0, 0, 8, 8, 0, 0,
- 0, 8, 8, 0, 0, 0,10, 9, 0, 0, 0, 0, 0, 0, 0, 6,
- 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 9,
- 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 6, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8,
- 0, 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 6, 8, 8, 0,
- 0, 0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0,10,10, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8,10,10, 0, 0, 0,10,10, 0, 0, 0, 9,10, 0, 0, 0,
- 10,10, 0, 0, 0, 0, 0, 0, 0, 8,10,10, 0, 0, 0,10,
- 10, 0, 0, 0,10, 9, 0, 0, 0,10,10, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c1_sm_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c1_sm_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_sm_p2_0 = {
- _vq_quantthresh__44c1_sm_p2_0,
- _vq_quantmap__44c1_sm_p2_0,
- 5,
- 5
-};
-
-static static_codebook _44c1_sm_p2_0 = {
- 4, 625,
- _vq_lengthlist__44c1_sm_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c1_sm_p2_0,
- NULL,
- &_vq_auxt__44c1_sm_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_sm_p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c1_sm_p3_0[] = {
- 2, 3, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 7, 6, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 8, 8,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 6, 7, 8, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c1_sm_p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c1_sm_p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_sm_p3_0 = {
- _vq_quantthresh__44c1_sm_p3_0,
- _vq_quantmap__44c1_sm_p3_0,
- 5,
- 5
-};
-
-static static_codebook _44c1_sm_p3_0 = {
- 4, 625,
- _vq_lengthlist__44c1_sm_p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c1_sm_p3_0,
- NULL,
- &_vq_auxt__44c1_sm_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_sm_p4_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c1_sm_p4_0[] = {
- 1, 3, 3, 7, 7, 0, 0, 0, 0, 0, 5, 5, 6, 6, 0, 0,
- 0, 0, 0, 5, 5, 7, 7, 0, 0, 0, 0, 0, 7, 7, 7, 7,
- 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
- 8, 9, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0,
- 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c1_sm_p4_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c1_sm_p4_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_sm_p4_0 = {
- _vq_quantthresh__44c1_sm_p4_0,
- _vq_quantmap__44c1_sm_p4_0,
- 9,
- 9
-};
-
-static static_codebook _44c1_sm_p4_0 = {
- 2, 81,
- _vq_lengthlist__44c1_sm_p4_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c1_sm_p4_0,
- NULL,
- &_vq_auxt__44c1_sm_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_sm_p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c1_sm_p5_0[] = {
- 2, 3, 3, 5, 5, 6, 6, 8, 8, 0, 5, 5, 6, 6, 7, 7,
- 9, 9, 0, 5, 5, 6, 6, 7, 7, 9, 9, 0, 6, 6, 7, 7,
- 7, 7, 9, 9, 0, 0, 0, 7, 7, 7, 7, 9, 9, 0, 0, 0,
- 7, 7, 8, 8,10,10, 0, 0, 0, 7, 7, 8, 8,10,10, 0,
- 0, 0, 9, 9, 9, 9,10,10, 0, 0, 0, 0, 0, 8, 8,10,
- 10,
-};
-
-static float _vq_quantthresh__44c1_sm_p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c1_sm_p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_sm_p5_0 = {
- _vq_quantthresh__44c1_sm_p5_0,
- _vq_quantmap__44c1_sm_p5_0,
- 9,
- 9
-};
-
-static static_codebook _44c1_sm_p5_0 = {
- 2, 81,
- _vq_lengthlist__44c1_sm_p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c1_sm_p5_0,
- NULL,
- &_vq_auxt__44c1_sm_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_sm_p6_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c1_sm_p6_0[] = {
- 2, 3, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11,
- 11, 0, 5, 5, 6, 6, 8, 8, 9, 9, 9, 9,10,10,10,10,
- 11,11, 0, 5, 5, 6, 6, 8, 8, 9, 9, 9, 9,10,10,10,
- 10,11,11, 0, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9,10,10,
- 11,11,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,
- 10,11,11,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,
- 10,10,11,11,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9,
- 9,10,10,11,11,12,12, 0, 0, 0, 8, 8, 8, 8,10,10,
- 10,10,11,11,12,12,12,12, 0, 0, 0, 0, 0, 8, 8,10,
- 10,10,10,11,11,12,12,12,12, 0, 0, 0, 0, 0, 8, 8,
- 9, 9,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 8,
- 8, 9, 9,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0,
- 9, 9,10,10,10,10,11,11,12,12,13,13, 0, 0, 0, 0,
- 0, 0, 0,10,10,10,10,11,11,12,12,13,13, 0, 0, 0,
- 0, 0, 0, 0,10,10,11,11,11,11,13,12,13,13, 0, 0,
- 0, 0, 0, 0, 0,10,10,11,11,11,11,13,13,13,13, 0,
- 0, 0, 0, 0, 0, 0,11,11,11,11,12,12,13,13,14,14,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,11,11,12,12,13,12,14,
- 14,
-};
-
-static float _vq_quantthresh__44c1_sm_p6_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c1_sm_p6_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_sm_p6_0 = {
- _vq_quantthresh__44c1_sm_p6_0,
- _vq_quantmap__44c1_sm_p6_0,
- 17,
- 17
-};
-
-static static_codebook _44c1_sm_p6_0 = {
- 2, 289,
- _vq_lengthlist__44c1_sm_p6_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c1_sm_p6_0,
- NULL,
- &_vq_auxt__44c1_sm_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_sm_p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c1_sm_p7_0[] = {
- 1, 4, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,10,
- 9, 9, 5, 7, 7,10, 9, 9,10, 9, 9, 6,10,10,10,10,
- 10,10,10,10, 6, 9, 9,10,10,10,10, 9, 9, 6, 9, 9,
- 10,10,10,10,10, 9, 7,10,10,11,10,10,11,11,11, 6,
- 9, 9,10, 9, 9,11,10,10, 6, 9, 9,10, 9, 9,11,10,
- 10,
-};
-
-static float _vq_quantthresh__44c1_sm_p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44c1_sm_p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_sm_p7_0 = {
- _vq_quantthresh__44c1_sm_p7_0,
- _vq_quantmap__44c1_sm_p7_0,
- 3,
- 3
-};
-
-static static_codebook _44c1_sm_p7_0 = {
- 4, 81,
- _vq_lengthlist__44c1_sm_p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44c1_sm_p7_0,
- NULL,
- &_vq_auxt__44c1_sm_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_sm_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44c1_sm_p7_1[] = {
- 2, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8,10, 5, 5, 6, 6,
- 7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8,
- 8,10, 7, 6, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7,
- 7, 8, 8, 8, 8, 8, 8,10,10,10, 7, 7, 8, 8, 8, 8,
- 8, 8,10,10,10, 7, 7, 8, 8, 8, 8, 9, 8,10,10,10,
- 8, 8, 8, 8, 8, 8, 8, 8,10,10,10,10,10, 8, 8, 8,
- 8, 8, 8,10,10,10,10,10, 9, 9, 8, 8, 8, 8,10,10,
- 10,10,10, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44c1_sm_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44c1_sm_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_sm_p7_1 = {
- _vq_quantthresh__44c1_sm_p7_1,
- _vq_quantmap__44c1_sm_p7_1,
- 11,
- 11
-};
-
-static static_codebook _44c1_sm_p7_1 = {
- 2, 121,
- _vq_lengthlist__44c1_sm_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44c1_sm_p7_1,
- NULL,
- &_vq_auxt__44c1_sm_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_sm_p8_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c1_sm_p8_0[] = {
- 1, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 6, 5, 5,
- 7, 7, 8, 8, 8, 8, 9, 9,10,10, 7, 5, 6, 7, 7, 8,
- 8, 8, 8, 9, 9,11,10, 0, 8, 8, 8, 8, 9, 9, 9, 9,
- 10,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,10,10,11,
- 11, 0,12,12, 9, 9, 9, 9,10,10,11,11,12,11, 0,13,
- 13, 9, 9, 9, 9,10,10,11,11,12,12, 0, 0, 0, 9, 9,
- 9, 9,10,10,11,12,12,12, 0, 0, 0,10,10, 9, 9,11,
- 11,12,12,13,13, 0, 0, 0,13,13,10,10,11,11,12,12,
- 13,13, 0, 0, 0,14,14,10,10,11,10,12,12,13,13, 0,
- 0, 0, 0, 0,12,11,11,11,12,12,14,13, 0, 0, 0, 0,
- 0,12,12,11,10,12,12,14,13,
-};
-
-static float _vq_quantthresh__44c1_sm_p8_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44c1_sm_p8_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_sm_p8_0 = {
- _vq_quantthresh__44c1_sm_p8_0,
- _vq_quantmap__44c1_sm_p8_0,
- 13,
- 13
-};
-
-static static_codebook _44c1_sm_p8_0 = {
- 2, 169,
- _vq_lengthlist__44c1_sm_p8_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44c1_sm_p8_0,
- NULL,
- &_vq_auxt__44c1_sm_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_sm_p8_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c1_sm_p8_1[] = {
- 2, 4, 4, 4, 5, 6, 5, 5, 5, 5, 6, 5, 5, 5, 5, 6,
- 5, 5, 5, 5, 6, 6, 6, 5, 5,
-};
-
-static float _vq_quantthresh__44c1_sm_p8_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c1_sm_p8_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_sm_p8_1 = {
- _vq_quantthresh__44c1_sm_p8_1,
- _vq_quantmap__44c1_sm_p8_1,
- 5,
- 5
-};
-
-static static_codebook _44c1_sm_p8_1 = {
- 2, 25,
- _vq_lengthlist__44c1_sm_p8_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c1_sm_p8_1,
- NULL,
- &_vq_auxt__44c1_sm_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_sm_p9_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c1_sm_p9_0[] = {
- 1, 5, 5,11,11,11,11,11,11,11,11,11,11, 4, 5, 5,
- 11,10,11,11,11,11,11,11,11,11, 4, 5, 4,11,11,11,
- 11,11,11,11,11,11,11,11, 6, 7,11, 9,11,11,11,11,
- 11,11,11,11,11, 6, 7, 9, 8,11,11,11,11,11,11,11,
- 11,11, 9, 9, 7, 8,11,11,11,11,11,11,11,11,11,10,
- 10, 9,10,11,11,11,11,11,11,11,11,11,11,11, 8,11,
- 10,10,11,11,11,11,11,11,11,11,11, 9,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11, 9,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,10,10,10,10,10,
-};
-
-static float _vq_quantthresh__44c1_sm_p9_0[] = {
- -1215.5, -994.5, -773.5, -552.5, -331.5, -110.5, 110.5, 331.5,
- 552.5, 773.5, 994.5, 1215.5,
-};
-
-static long _vq_quantmap__44c1_sm_p9_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_sm_p9_0 = {
- _vq_quantthresh__44c1_sm_p9_0,
- _vq_quantmap__44c1_sm_p9_0,
- 13,
- 13
-};
-
-static static_codebook _44c1_sm_p9_0 = {
- 2, 169,
- _vq_lengthlist__44c1_sm_p9_0,
- 1, -514541568, 1627103232, 4, 0,
- _vq_quantlist__44c1_sm_p9_0,
- NULL,
- &_vq_auxt__44c1_sm_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_sm_p9_1[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c1_sm_p9_1[] = {
- 1, 4, 4, 6, 6, 7, 7,10,10,12,12,13,13, 6, 5, 5,
- 7, 7, 8, 8,10,10,12,12,14,13, 6, 5, 5, 7, 7, 8,
- 8,10,10,12,12,13,13,16, 7, 7, 7, 7, 9, 9,11,11,
- 13,14,13,15,18, 7, 6, 8, 7, 9, 9,11,10,12,12,14,
- 12,19,10,10, 8, 8,10,10,12,11,13,15,15,15,17,11,
- 11, 8, 7,11,10,12,12,13,13,14,15,16,17,17,10,11,
- 10,10,13,13,14,13,16,15,17,17,16,10,10,11,11,14,
- 14,16,13,14,14,17,19,17,15,14,11,11,13,13,15,14,
- 16,15,17,16,17,14,14,11,11,14,13,14,14,14,15,17,
- 16,16,16,17,13,13,13,13,16,14,17,15,16,17,18,18,
- 17,13,13,13,13,15,15,16,16,
-};
-
-static float _vq_quantthresh__44c1_sm_p9_1[] = {
- -93.5, -76.5, -59.5, -42.5, -25.5, -8.5, 8.5, 25.5,
- 42.5, 59.5, 76.5, 93.5,
-};
-
-static long _vq_quantmap__44c1_sm_p9_1[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_sm_p9_1 = {
- _vq_quantthresh__44c1_sm_p9_1,
- _vq_quantmap__44c1_sm_p9_1,
- 13,
- 13
-};
-
-static static_codebook _44c1_sm_p9_1 = {
- 2, 169,
- _vq_lengthlist__44c1_sm_p9_1,
- 1, -522616832, 1620115456, 4, 0,
- _vq_quantlist__44c1_sm_p9_1,
- NULL,
- &_vq_auxt__44c1_sm_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c1_sm_p9_2[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c1_sm_p9_2[] = {
- 2, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9,
- 9,10, 6, 6, 7, 7, 8, 7, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9,10, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9,10, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9,10,10,10, 7, 7, 8, 8, 9, 8, 9, 9, 9,
- 9, 9, 9, 9, 9,11,11,11, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9,10,10,10, 7, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 9, 9,10, 9,10,10,10, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9,10,10,10,10,11,11, 8, 8, 9,
- 9, 9, 9, 9, 9, 9, 9,10, 9,10,11,10,11,11, 9, 9,
- 9, 9, 9, 9, 9,10,10, 9, 9, 9,10,11,10,11,11, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,11,11,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9,10,11,10,11,
- 11,10,11, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,
- 11,11,11,11, 9,10,10,10, 9, 9, 9, 9,10, 9,10,10,
- 10,11,11,11,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9,10,
- 11,10,11,10,11,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9,
- 10,10,10,11,11,10,10,10,11, 9, 9, 9, 9, 9, 9, 9,
- 9,
-};
-
-static float _vq_quantthresh__44c1_sm_p9_2[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c1_sm_p9_2[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c1_sm_p9_2 = {
- _vq_quantthresh__44c1_sm_p9_2,
- _vq_quantmap__44c1_sm_p9_2,
- 17,
- 17
-};
-
-static static_codebook _44c1_sm_p9_2 = {
- 2, 289,
- _vq_lengthlist__44c1_sm_p9_2,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c1_sm_p9_2,
- NULL,
- &_vq_auxt__44c1_sm_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c1_sm_short[] = {
- 4, 7,13,13,13,13,14,16,16,19, 4, 2,13, 5, 8, 7,
- 9,12,14,13,16, 9,10,10, 9,10,11,13,17,19, 9, 4,
- 13, 5,10, 6, 8,11,15,15,11, 6, 9, 7, 6, 6, 8,11,
- 14,18,11, 5, 9, 6, 6, 5, 6, 9,13,15,12, 6, 9, 7,
- 6, 5, 5, 8,12,15,13, 7,10, 8, 6, 6, 7, 9,12,13,
- 13, 9,11, 9, 6, 5, 6, 8,11,13,13,11,13,11, 7, 6,
- 7, 8,10,12,
-};
-
-static static_codebook _huff_book__44c1_sm_short = {
- 2, 100,
- _huff_lengthlist__44c1_sm_short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c2_s_long[] = {
- 5, 5,12,10,11,10,10,10,11,13, 5, 1, 9, 5, 8, 7,
- 8,10,13,13,12, 9, 8,11, 7, 8, 9,11,13,15, 9, 5,
- 12, 6, 9, 8,10,12,15,14,12, 7, 6, 8, 5, 6, 7,10,
- 12,13,10, 7, 8, 7, 6, 6, 7, 9,12,12,10, 8, 9, 9,
- 7, 6, 6, 7,10,11,10, 9,10,11, 9, 8, 6, 6, 8,11,
- 10,12,13,15,11,10, 8, 7, 8,11,11,13,16,16,14,13,
- 11, 9, 9,10,
-};
-
-static static_codebook _huff_book__44c2_s_long = {
- 2, 100,
- _huff_lengthlist__44c2_s_long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c2_s_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c2_s_p1_0[] = {
- 2, 4, 4, 0, 0, 0, 0, 0, 0, 5, 7, 6, 0, 0, 0, 0,
- 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0, 0,
- 0, 0, 0, 7, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0,
- 0, 0, 0, 0, 7, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 7, 7, 0, 0, 0, 0,
- 0, 0, 7, 8, 8, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0, 0,
- 0, 0, 0, 8, 9,10, 0, 0, 0, 0, 0, 0, 8, 9, 9, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 8, 8, 0, 0,
- 0, 0, 0, 0, 8, 9, 8, 0, 0, 0, 0, 0, 0, 8, 9,10,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 7, 7, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0,
- 0, 0, 0, 0, 7, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 6, 8, 8, 0, 0, 0, 0, 0, 0, 8,10, 9, 0,
- 0, 0, 0, 0, 0, 8, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 8, 8, 0, 0, 0, 0, 0, 0, 8, 9, 9,
- 0, 0, 0, 0, 0, 0, 8,10, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c2_s_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44c2_s_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c2_s_p1_0 = {
- _vq_quantthresh__44c2_s_p1_0,
- _vq_quantmap__44c2_s_p1_0,
- 3,
- 3
-};
-
-static static_codebook _44c2_s_p1_0 = {
- 8, 6561,
- _vq_lengthlist__44c2_s_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44c2_s_p1_0,
- NULL,
- &_vq_auxt__44c2_s_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c2_s_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c2_s_p2_0[] = {
- 1, 4, 4, 0, 0, 0, 7, 7, 0, 0, 0, 7, 7, 0, 0, 0,
- 7, 7, 0, 0, 0, 0, 0, 0, 0, 4, 6, 6, 0, 0, 0, 8,
- 8, 0, 0, 0, 8, 8, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0,
- 0, 0, 4, 6, 6, 0, 0, 0, 8, 9, 0, 0, 0, 8, 8, 0,
- 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0, 0,11,10, 0, 0,
- 0,11,11, 0, 0, 0,11,11, 0, 0, 0, 0, 0, 0, 0, 7,
- 8, 8, 0, 0, 0,10,11, 0, 0, 0,11,11, 0, 0, 0,11,
- 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 7, 8, 8, 0, 0, 0,11,11, 0, 0, 0,11,11,
- 0, 0, 0,11,11, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0,
- 0, 0,11,11, 0, 0, 0,11,11, 0, 0, 0,11,11, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 7, 9, 9, 0, 0, 0,11,12, 0, 0, 0,11,12, 0, 0, 0,
- 12,11, 0, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0, 0,12,
- 11, 0, 0, 0,11,11, 0, 0, 0,11,11, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c2_s_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c2_s_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c2_s_p2_0 = {
- _vq_quantthresh__44c2_s_p2_0,
- _vq_quantmap__44c2_s_p2_0,
- 5,
- 5
-};
-
-static static_codebook _44c2_s_p2_0 = {
- 4, 625,
- _vq_lengthlist__44c2_s_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c2_s_p2_0,
- NULL,
- &_vq_auxt__44c2_s_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c2_s_p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c2_s_p3_0[] = {
- 2, 4, 3, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 6, 6, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 4, 5, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 7, 7,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 6, 6, 7, 7, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c2_s_p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c2_s_p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c2_s_p3_0 = {
- _vq_quantthresh__44c2_s_p3_0,
- _vq_quantmap__44c2_s_p3_0,
- 5,
- 5
-};
-
-static static_codebook _44c2_s_p3_0 = {
- 4, 625,
- _vq_lengthlist__44c2_s_p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c2_s_p3_0,
- NULL,
- &_vq_auxt__44c2_s_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c2_s_p4_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c2_s_p4_0[] = {
- 1, 3, 3, 6, 6, 0, 0, 0, 0, 0, 6, 6, 6, 6, 0, 0,
- 0, 0, 0, 6, 6, 6, 6, 0, 0, 0, 0, 0, 6, 6, 7, 7,
- 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
- 7, 8, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0,
- 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c2_s_p4_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c2_s_p4_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c2_s_p4_0 = {
- _vq_quantthresh__44c2_s_p4_0,
- _vq_quantmap__44c2_s_p4_0,
- 9,
- 9
-};
-
-static static_codebook _44c2_s_p4_0 = {
- 2, 81,
- _vq_lengthlist__44c2_s_p4_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c2_s_p4_0,
- NULL,
- &_vq_auxt__44c2_s_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c2_s_p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c2_s_p5_0[] = {
- 1, 3, 3, 6, 6, 6, 6, 8, 8, 0, 7, 7, 7, 7, 8, 8,
- 9, 9, 0, 7, 7, 7, 7, 8, 8, 9, 9, 0, 7, 7, 8, 7,
- 8, 8,10,10, 0, 0, 0, 8, 8, 8, 8,10,10, 0, 0, 0,
- 8, 8, 9, 9,10,10, 0, 0, 0, 8, 8, 9, 9,10,10, 0,
- 0, 0,10,10, 9, 9,11,11, 0, 0, 0, 0, 0, 9, 9,11,
- 11,
-};
-
-static float _vq_quantthresh__44c2_s_p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c2_s_p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c2_s_p5_0 = {
- _vq_quantthresh__44c2_s_p5_0,
- _vq_quantmap__44c2_s_p5_0,
- 9,
- 9
-};
-
-static static_codebook _44c2_s_p5_0 = {
- 2, 81,
- _vq_lengthlist__44c2_s_p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c2_s_p5_0,
- NULL,
- &_vq_auxt__44c2_s_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c2_s_p6_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c2_s_p6_0[] = {
- 1, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11,
- 11, 0, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,10,
- 11,11, 0, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,
- 10,11,11, 0, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9,10,10,
- 11,11,11,11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,
- 10,11,11,12,12, 0, 0, 0, 8, 8, 9, 9, 9, 9, 9, 9,
- 10,10,11,11,12,12, 0, 0, 0, 8, 8, 9, 9, 9, 9, 9,
- 9,10,11,11,11,12,12, 0, 0, 0, 9, 9, 9, 9,10,10,
- 10,10,11,11,11,12,12,12, 0, 0, 0, 0, 0, 9, 9,10,
- 10,10,10,11,11,12,12,12,12, 0, 0, 0, 0, 0, 9, 9,
- 9, 9,10,10,11,11,12,12,12,12, 0, 0, 0, 0, 0, 9,
- 9, 9, 9,10,10,11,11,12,12,12,13, 0, 0, 0, 0, 0,
- 10,10,10,10,10,11,11,11,12,12,13,13, 0, 0, 0, 0,
- 0, 0, 0,10,10,10,10,11,11,12,12,13,13, 0, 0, 0,
- 0, 0, 0, 0,11,11,11,11,12,12,12,12,13,13, 0, 0,
- 0, 0, 0, 0, 0,11,11,11,11,12,11,12,12,13,13, 0,
- 0, 0, 0, 0, 0, 0,11,11,11,11,12,12,13,12,14,13,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,11,11,12,12,12,13,13,
- 14,
-};
-
-static float _vq_quantthresh__44c2_s_p6_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c2_s_p6_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c2_s_p6_0 = {
- _vq_quantthresh__44c2_s_p6_0,
- _vq_quantmap__44c2_s_p6_0,
- 17,
- 17
-};
-
-static static_codebook _44c2_s_p6_0 = {
- 2, 289,
- _vq_lengthlist__44c2_s_p6_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c2_s_p6_0,
- NULL,
- &_vq_auxt__44c2_s_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c2_s_p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c2_s_p7_0[] = {
- 1, 4, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,10,
- 9, 9, 5, 7, 7,10, 9, 9,10, 9, 9, 6,10, 9,10,10,
- 10,11,10,10, 6, 9, 9,10,10,10,11, 9, 9, 6, 9, 9,
- 10,10,10,11, 9, 9, 7,10,10,11,10,10,11,11,10, 6,
- 9, 9,10, 9, 9,11,10,10, 6, 9, 9,10, 9,10,11,10,
- 10,
-};
-
-static float _vq_quantthresh__44c2_s_p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44c2_s_p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c2_s_p7_0 = {
- _vq_quantthresh__44c2_s_p7_0,
- _vq_quantmap__44c2_s_p7_0,
- 3,
- 3
-};
-
-static static_codebook _44c2_s_p7_0 = {
- 4, 81,
- _vq_lengthlist__44c2_s_p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44c2_s_p7_0,
- NULL,
- &_vq_auxt__44c2_s_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c2_s_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44c2_s_p7_1[] = {
- 2, 4, 4, 6, 6, 7, 7, 7, 7, 7, 7,10, 6, 6, 6, 6,
- 7, 7, 8, 7, 8, 8, 9, 6, 6, 6, 6, 7, 7, 7, 7, 7,
- 7,10, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8,10, 9, 9, 6,
- 6, 7, 7, 8, 8, 8, 8,10,10,10, 7, 7, 8, 8, 8, 8,
- 8, 8,10,10,10, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10,
- 8, 8, 8, 8, 8, 8, 8, 8,10,10,10,10, 9, 8, 8, 8,
- 8, 8, 8,10,10,10, 9,10, 8, 8, 8, 8, 8, 8,10,10,
- 10,10, 9, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44c2_s_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44c2_s_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c2_s_p7_1 = {
- _vq_quantthresh__44c2_s_p7_1,
- _vq_quantmap__44c2_s_p7_1,
- 11,
- 11
-};
-
-static static_codebook _44c2_s_p7_1 = {
- 2, 121,
- _vq_lengthlist__44c2_s_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44c2_s_p7_1,
- NULL,
- &_vq_auxt__44c2_s_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c2_s_p8_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c2_s_p8_0[] = {
- 1, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 6, 5, 5,
- 7, 7, 8, 8, 9, 8, 9, 9,10,10, 7, 5, 5, 7, 7, 8,
- 8, 8, 9,10, 9,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,
- 10,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9,10,10,10,11,
- 11, 0,12,12, 9, 9,10,10,10,10,11,11,12,12, 0,13,
- 12, 9, 9,10, 9,10,10,11,11,11,12, 0, 0, 0,10,10,
- 10,10,11,11,11,11,12,12, 0, 0, 0,10,10, 9, 9,11,
- 11,12,12,12,13, 0, 0, 0,13,13,10,10,11,11,12,12,
- 13,13, 0, 0, 0,14,14,10,10,11,11,12,12,13,13, 0,
- 0, 0, 0, 0,12,12,11,12,12,12,14,13, 0, 0, 0, 0,
- 0,12,12,12,12,12,12,14,13,
-};
-
-static float _vq_quantthresh__44c2_s_p8_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44c2_s_p8_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c2_s_p8_0 = {
- _vq_quantthresh__44c2_s_p8_0,
- _vq_quantmap__44c2_s_p8_0,
- 13,
- 13
-};
-
-static static_codebook _44c2_s_p8_0 = {
- 2, 169,
- _vq_lengthlist__44c2_s_p8_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44c2_s_p8_0,
- NULL,
- &_vq_auxt__44c2_s_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c2_s_p8_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c2_s_p8_1[] = {
- 2, 4, 4, 4, 5, 6, 5, 5, 5, 5, 6, 5, 5, 5, 5, 6,
- 5, 5, 5, 5, 6, 6, 6, 5, 5,
-};
-
-static float _vq_quantthresh__44c2_s_p8_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c2_s_p8_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c2_s_p8_1 = {
- _vq_quantthresh__44c2_s_p8_1,
- _vq_quantmap__44c2_s_p8_1,
- 5,
- 5
-};
-
-static static_codebook _44c2_s_p8_1 = {
- 2, 25,
- _vq_lengthlist__44c2_s_p8_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c2_s_p8_1,
- NULL,
- &_vq_auxt__44c2_s_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c2_s_p9_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c2_s_p9_0[] = {
- 1, 5, 4,10,10, 9, 9, 9, 9, 9, 9, 9, 9, 5, 7, 7,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 9, 6, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,
-};
-
-static float _vq_quantthresh__44c2_s_p9_0[] = {
- -1215.5, -994.5, -773.5, -552.5, -331.5, -110.5, 110.5, 331.5,
- 552.5, 773.5, 994.5, 1215.5,
-};
-
-static long _vq_quantmap__44c2_s_p9_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c2_s_p9_0 = {
- _vq_quantthresh__44c2_s_p9_0,
- _vq_quantmap__44c2_s_p9_0,
- 13,
- 13
-};
-
-static static_codebook _44c2_s_p9_0 = {
- 2, 169,
- _vq_lengthlist__44c2_s_p9_0,
- 1, -514541568, 1627103232, 4, 0,
- _vq_quantlist__44c2_s_p9_0,
- NULL,
- &_vq_auxt__44c2_s_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c2_s_p9_1[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c2_s_p9_1[] = {
- 1, 4, 4, 6, 6, 7, 7, 9, 9,11,11,12,12, 6, 5, 5,
- 7, 7, 8, 8,10,10,12,11,13,13, 6, 5, 5, 7, 7, 8,
- 8, 9, 9,11,11,12,13,16, 7, 7, 8, 8, 9, 9,10,10,
- 13,13,16,14,16, 7, 7, 8, 8, 9, 9,10,10,13,13,15,
- 13,16,10,10, 8, 8,10,10,11,11,12,12,15,14,16,11,
- 11, 8, 8,10,10,11,11,12,12,14,13,16,16,16,10,11,
- 10,10,12,12,14,13,13,13,16,16,16,10, 9,10, 7,13,
- 12,13,13,13,13,16,16,16,14,15,11,11,12,12,13,13,
- 15,14,16,16,16,16,14,11, 9,12, 9,15,13,13,14,16,
- 16,16,16,16,13,13,12,12,14,15,16,15,16,16,15,16,
- 16,13,12,12,11,15,13,14,15,
-};
-
-static float _vq_quantthresh__44c2_s_p9_1[] = {
- -93.5, -76.5, -59.5, -42.5, -25.5, -8.5, 8.5, 25.5,
- 42.5, 59.5, 76.5, 93.5,
-};
-
-static long _vq_quantmap__44c2_s_p9_1[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c2_s_p9_1 = {
- _vq_quantthresh__44c2_s_p9_1,
- _vq_quantmap__44c2_s_p9_1,
- 13,
- 13
-};
-
-static static_codebook _44c2_s_p9_1 = {
- 2, 169,
- _vq_lengthlist__44c2_s_p9_1,
- 1, -522616832, 1620115456, 4, 0,
- _vq_quantlist__44c2_s_p9_1,
- NULL,
- &_vq_auxt__44c2_s_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c2_s_p9_2[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c2_s_p9_2[] = {
- 2, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9,
- 9,10, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9,10, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9,10, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9,10,10,10, 7, 7, 8, 8, 9, 8, 9, 9, 9,
- 9, 9, 9, 9, 9,10,11,10, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9,10,10,10, 7, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9,10,11,11, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10, 8, 8, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,10,11,11,10,11,10, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,11,10, 9,
- 9, 9, 9, 9, 9, 9, 9,10, 9,10,10,10,10,10,11,11,
- 9, 9, 9, 9, 9, 9, 9, 9,10, 9, 9, 9,11,10,10,11,
- 10,10,11, 9, 9,10,10, 9, 9,10,10, 9, 9,10,10,10,
- 11,10,11,10,10, 9, 9,10, 9, 9, 9, 9, 9, 9,10,10,
- 10,10,11,10,10, 9,10, 9, 9, 9, 9,10, 9, 9, 9,10,
- 10,10,11,11,10,10,10,10, 9, 9,10, 9, 9, 9,10, 9,
- 10,10,10,10,11,10,11,11,10, 9, 9, 9, 9, 9, 9, 9,
- 10,
-};
-
-static float _vq_quantthresh__44c2_s_p9_2[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c2_s_p9_2[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c2_s_p9_2 = {
- _vq_quantthresh__44c2_s_p9_2,
- _vq_quantmap__44c2_s_p9_2,
- 17,
- 17
-};
-
-static static_codebook _44c2_s_p9_2 = {
- 2, 289,
- _vq_lengthlist__44c2_s_p9_2,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c2_s_p9_2,
- NULL,
- &_vq_auxt__44c2_s_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c2_s_short[] = {
- 9, 9,12,11,11,11,12,12,12,13, 6, 2, 9, 4, 7, 6,
- 8,11,15,17,12, 7, 8, 9, 7, 9,10,13,15,17,11, 4,
- 12, 4, 9, 5, 8,11,16,17,12, 6, 7, 6, 6, 6, 8,11,
- 15,17,11, 5, 9, 5, 6, 5, 6,10,15,15,12, 7,11, 7,
- 7, 6, 7,10,13,16,13, 8,11, 9, 8, 6, 7,10,12,16,
- 13, 9, 9, 8, 5, 5, 6, 9,12,14,16,10, 9, 9, 6, 5,
- 6, 8,11,14,
-};
-
-static static_codebook _huff_book__44c2_s_short = {
- 2, 100,
- _huff_lengthlist__44c2_s_short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c3_s_long[] = {
- 4, 5,11,10,12,10,10,10,11,12, 4, 2,11, 5,11, 6,
- 7, 9,13,16,11,11, 7,11, 6, 8, 8, 9,11,12,10, 5,
- 11, 6,10, 7, 9,11,16,16,14, 9, 6, 9, 4, 5, 7, 8,
- 11,13,10, 6, 7, 7, 5, 5, 6, 8,10,11,10, 7, 8, 8,
- 6, 6, 5, 7, 9,10,10, 9, 8,11, 8, 7, 6, 6, 7,10,
- 10,12,10,14, 9, 9, 7, 7, 7, 9,10,14,11,16,12,12,
- 9, 8, 8, 9,
-};
-
-static static_codebook _huff_book__44c3_s_long = {
- 2, 100,
- _huff_lengthlist__44c3_s_long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c3_s_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c3_s_p1_0[] = {
- 2, 4, 4, 0, 0, 0, 0, 0, 0, 5, 7, 6, 0, 0, 0, 0,
- 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0, 0,
- 0, 0, 0, 7, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0,
- 0, 0, 0, 0, 7, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 7, 7, 0, 0, 0, 0,
- 0, 0, 7, 8, 8, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0, 0,
- 0, 0, 0, 8, 9,10, 0, 0, 0, 0, 0, 0, 8, 9, 9, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 8, 8, 0, 0,
- 0, 0, 0, 0, 8, 9, 8, 0, 0, 0, 0, 0, 0, 8, 9,10,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 7, 7, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0,
- 0, 0, 0, 0, 7, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 6, 8, 8, 0, 0, 0, 0, 0, 0, 8,10, 9, 0,
- 0, 0, 0, 0, 0, 8, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 8, 8, 0, 0, 0, 0, 0, 0, 8, 9, 9,
- 0, 0, 0, 0, 0, 0, 8,10, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c3_s_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44c3_s_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c3_s_p1_0 = {
- _vq_quantthresh__44c3_s_p1_0,
- _vq_quantmap__44c3_s_p1_0,
- 3,
- 3
-};
-
-static static_codebook _44c3_s_p1_0 = {
- 8, 6561,
- _vq_lengthlist__44c3_s_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44c3_s_p1_0,
- NULL,
- &_vq_auxt__44c3_s_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c3_s_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c3_s_p2_0[] = {
- 2, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0,
- 8, 7, 0, 0, 0, 0, 0, 0, 0, 5, 6, 6, 0, 0, 0, 8,
- 7, 0, 0, 0, 7, 7, 0, 0, 0,10, 9, 0, 0, 0, 0, 0,
- 0, 0, 5, 5, 6, 0, 0, 0, 7, 8, 0, 0, 0, 7, 7, 0,
- 0, 0, 9,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 7, 7, 0, 0,
- 0, 7, 8, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 5,
- 7, 7, 0, 0, 0, 7, 7, 0, 0, 0, 7, 7, 0, 0, 0, 9,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 5, 8, 7, 0, 0, 0, 7, 7, 0, 0, 0, 7, 7,
- 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 5, 7, 8, 0,
- 0, 0, 7, 7, 0, 0, 0, 7, 7, 0, 0, 0, 9, 9, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8, 9,10, 0, 0, 0, 9, 9, 0, 0, 0, 9, 9, 0, 0, 0,
- 10,10, 0, 0, 0, 0, 0, 0, 0, 8,10, 9, 0, 0, 0, 9,
- 9, 0, 0, 0, 9, 9, 0, 0, 0,10,10, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c3_s_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c3_s_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c3_s_p2_0 = {
- _vq_quantthresh__44c3_s_p2_0,
- _vq_quantmap__44c3_s_p2_0,
- 5,
- 5
-};
-
-static static_codebook _44c3_s_p2_0 = {
- 4, 625,
- _vq_lengthlist__44c3_s_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c3_s_p2_0,
- NULL,
- &_vq_auxt__44c3_s_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c3_s_p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c3_s_p3_0[] = {
- 2, 3, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 6, 6, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 4, 4, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 8, 8,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 6, 7, 8, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c3_s_p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c3_s_p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c3_s_p3_0 = {
- _vq_quantthresh__44c3_s_p3_0,
- _vq_quantmap__44c3_s_p3_0,
- 5,
- 5
-};
-
-static static_codebook _44c3_s_p3_0 = {
- 4, 625,
- _vq_lengthlist__44c3_s_p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c3_s_p3_0,
- NULL,
- &_vq_auxt__44c3_s_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c3_s_p4_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c3_s_p4_0[] = {
- 2, 3, 3, 6, 6, 0, 0, 0, 0, 0, 4, 4, 6, 6, 0, 0,
- 0, 0, 0, 4, 4, 6, 6, 0, 0, 0, 0, 0, 5, 5, 6, 6,
- 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0,
- 7, 7, 0, 0, 0, 0, 0, 0, 0, 8, 7, 0, 0, 0, 0, 0,
- 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c3_s_p4_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c3_s_p4_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c3_s_p4_0 = {
- _vq_quantthresh__44c3_s_p4_0,
- _vq_quantmap__44c3_s_p4_0,
- 9,
- 9
-};
-
-static static_codebook _44c3_s_p4_0 = {
- 2, 81,
- _vq_lengthlist__44c3_s_p4_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c3_s_p4_0,
- NULL,
- &_vq_auxt__44c3_s_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c3_s_p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c3_s_p5_0[] = {
- 2, 3, 3, 5, 5, 7, 7, 9, 8, 0, 4, 4, 7, 7, 7, 7,
- 9, 9, 0, 5, 5, 6, 7, 7, 7, 9, 9, 0, 6, 6, 7, 7,
- 7, 7, 9, 9, 0, 0, 0, 7, 7, 7, 7, 9, 9, 0, 0, 0,
- 8, 8, 8, 8,10,10, 0, 0, 0, 8, 8, 8, 8,10,10, 0,
- 0, 0,10,10, 9, 9,10,10, 0, 0, 0, 0, 0, 9, 9,10,
- 10,
-};
-
-static float _vq_quantthresh__44c3_s_p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c3_s_p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c3_s_p5_0 = {
- _vq_quantthresh__44c3_s_p5_0,
- _vq_quantmap__44c3_s_p5_0,
- 9,
- 9
-};
-
-static static_codebook _44c3_s_p5_0 = {
- 2, 81,
- _vq_lengthlist__44c3_s_p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c3_s_p5_0,
- NULL,
- &_vq_auxt__44c3_s_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c3_s_p6_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c3_s_p6_0[] = {
- 2, 3, 3, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11,
- 11, 0, 5, 5, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11,
- 11,11, 0, 5, 5, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,
- 11,11,11, 0, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9,10,10,
- 11,11,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,
- 10,11,11,12,12, 0, 0, 0, 8, 8, 8, 8, 9, 9,10, 9,
- 10,10,11,11,12,12, 0, 0, 0, 8, 8, 8, 8, 9, 9,10,
- 9,10,10,11,11,12,12, 0, 0, 0, 9, 9, 9, 9,10,10,
- 10,10,11,11,12,11,12,12, 0, 0, 0, 0, 0, 9, 9,10,
- 10,10,10,11,11,12,12,12,12, 0, 0, 0, 0, 0, 8, 8,
- 9, 9,10,10,11,11,12,12,12,12, 0, 0, 0, 0, 0, 8,
- 8, 9, 9,10,10,11,11,12,12,13,12, 0, 0, 0, 0, 0,
- 9, 9,10,10,11,10,11,11,12,12,13,13, 0, 0, 0, 0,
- 0, 0, 0,10,10,10,10,11,11,12,12,13,13, 0, 0, 0,
- 0, 0, 0, 0,10,10,11,11,12,12,12,12,13,13, 0, 0,
- 0, 0, 0, 0, 0,10,10,11,11,11,11,12,12,13,13, 0,
- 0, 0, 0, 0, 0, 0,11,11,12,12,12,12,12,13,13,13,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,11,11,12,12,12,12,13,
- 13,
-};
-
-static float _vq_quantthresh__44c3_s_p6_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c3_s_p6_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c3_s_p6_0 = {
- _vq_quantthresh__44c3_s_p6_0,
- _vq_quantmap__44c3_s_p6_0,
- 17,
- 17
-};
-
-static static_codebook _44c3_s_p6_0 = {
- 2, 289,
- _vq_lengthlist__44c3_s_p6_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c3_s_p6_0,
- NULL,
- &_vq_auxt__44c3_s_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c3_s_p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c3_s_p7_0[] = {
- 1, 4, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,10,
- 9, 9, 5, 7, 7,10, 9, 9,10, 9, 9, 6,10,10,10,10,
- 10,11,10,10, 6, 9, 9,10,10,10,10, 9, 9, 6, 9, 9,
- 10,10,10,10, 9, 9, 7,10,10,10,11,11,11,10,11, 6,
- 9, 9,10,10, 9,11,10,10, 6, 9, 9,10, 9, 9,10,10,
- 10,
-};
-
-static float _vq_quantthresh__44c3_s_p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44c3_s_p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c3_s_p7_0 = {
- _vq_quantthresh__44c3_s_p7_0,
- _vq_quantmap__44c3_s_p7_0,
- 3,
- 3
-};
-
-static static_codebook _44c3_s_p7_0 = {
- 4, 81,
- _vq_lengthlist__44c3_s_p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44c3_s_p7_0,
- NULL,
- &_vq_auxt__44c3_s_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c3_s_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44c3_s_p7_1[] = {
- 2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6,
- 7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8,
- 8,10, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7,
- 7, 8, 8, 8, 8, 8, 8,10,10,10, 7, 7, 8, 8, 8, 8,
- 8, 8,10,10,10, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10,
- 8, 8, 8, 8, 8, 8, 8, 8,10,10,10,10,10, 8, 8, 8,
- 8, 8, 8,10,10,10,10,10, 9, 9, 8, 8, 8, 8,10,10,
- 10,10,10, 8, 8, 8, 8, 8, 9,
-};
-
-static float _vq_quantthresh__44c3_s_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44c3_s_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c3_s_p7_1 = {
- _vq_quantthresh__44c3_s_p7_1,
- _vq_quantmap__44c3_s_p7_1,
- 11,
- 11
-};
-
-static static_codebook _44c3_s_p7_1 = {
- 2, 121,
- _vq_lengthlist__44c3_s_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44c3_s_p7_1,
- NULL,
- &_vq_auxt__44c3_s_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c3_s_p8_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c3_s_p8_0[] = {
- 1, 4, 4, 6, 6, 7, 8, 8, 8, 9, 9,10,10, 6, 5, 5,
- 7, 7, 8, 8, 9, 9, 9, 9,10,10, 7, 5, 5, 7, 7, 8,
- 8, 9, 9, 9,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,
- 10,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,10,10,11,
- 11, 0,11,12, 9, 9, 9,10,10,10,11,11,11,12, 0,13,
- 13, 9, 9, 9, 9,10,10,11,11,12,12, 0, 0, 0,10, 9,
- 9, 9,10,11,11,11,12,12, 0, 0, 0,10,10, 9, 9,11,
- 11,11,11,12,13, 0, 0, 0,13,13,10,10,11,11,12,12,
- 13,13, 0, 0, 0,14,14,10,10,11,11,12,12,13,13, 0,
- 0, 0, 0, 0,12,12,11,11,12,12,13,13, 0, 0, 0, 0,
- 0,12,12,11,11,12,12,13,13,
-};
-
-static float _vq_quantthresh__44c3_s_p8_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44c3_s_p8_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c3_s_p8_0 = {
- _vq_quantthresh__44c3_s_p8_0,
- _vq_quantmap__44c3_s_p8_0,
- 13,
- 13
-};
-
-static static_codebook _44c3_s_p8_0 = {
- 2, 169,
- _vq_lengthlist__44c3_s_p8_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44c3_s_p8_0,
- NULL,
- &_vq_auxt__44c3_s_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c3_s_p8_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c3_s_p8_1[] = {
- 2, 4, 4, 5, 5, 6, 5, 5, 5, 5, 6, 4, 5, 5, 5, 6,
- 5, 5, 5, 5, 6, 6, 6, 5, 5,
-};
-
-static float _vq_quantthresh__44c3_s_p8_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c3_s_p8_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c3_s_p8_1 = {
- _vq_quantthresh__44c3_s_p8_1,
- _vq_quantmap__44c3_s_p8_1,
- 5,
- 5
-};
-
-static static_codebook _44c3_s_p8_1 = {
- 2, 25,
- _vq_lengthlist__44c3_s_p8_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c3_s_p8_1,
- NULL,
- &_vq_auxt__44c3_s_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c3_s_p9_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c3_s_p9_0[] = {
- 1, 4, 4,10,10,10,10,10,10,10,10,10,10, 5,10, 7,
- 10,10,10,10,10,10,10,10,10,10, 5, 8, 6,10,10,10,
- 10,10,10,10,10,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,
-};
-
-static float _vq_quantthresh__44c3_s_p9_0[] = {
- -1402.5, -1147.5, -892.5, -637.5, -382.5, -127.5, 127.5, 382.5,
- 637.5, 892.5, 1147.5, 1402.5,
-};
-
-static long _vq_quantmap__44c3_s_p9_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c3_s_p9_0 = {
- _vq_quantthresh__44c3_s_p9_0,
- _vq_quantmap__44c3_s_p9_0,
- 13,
- 13
-};
-
-static static_codebook _44c3_s_p9_0 = {
- 2, 169,
- _vq_lengthlist__44c3_s_p9_0,
- 1, -514332672, 1627381760, 4, 0,
- _vq_quantlist__44c3_s_p9_0,
- NULL,
- &_vq_auxt__44c3_s_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c3_s_p9_1[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__44c3_s_p9_1[] = {
- 1, 4, 4, 6, 6, 7, 7, 9, 9,11,11,11,12,12,12, 6,
- 5, 5, 7, 7, 8, 8,10, 9,11,11,13,12,13,14, 6, 5,
- 5, 7, 7, 8, 8,10,10,11,11,12,12,13,13,17, 7, 7,
- 8, 8, 9, 9,10,10,12,12,14,13,14,14,17, 8, 7, 8,
- 7, 9, 9,10,10,12,12,13,13,13,14,17,11,11, 8, 8,
- 10,10,11,11,12,12,13,13,15,14,17,11,11, 8, 7,10,
- 10,11,11,12,12,13,14,14,13,17,17,17,10,11,10,10,
- 12,12,13,12,13,13,14,14,17,16,16,10,10,11, 9,13,
- 12,13,13,13,13,14,14,16,16,15,13,15,11,12,12,12,
- 14,14,14,14,14,15,16,16,16,14,14,11, 9,12,10,13,
- 13,14,14,14,14,16,16,16,16,16,12,13,12,12,13,14,
- 14,14,15,15,15,16,16,15,16,13,11,13,10,14,12,15,
- 14,16,14,15,16,16,16,16,15,15,13,13,13,13,14,14,
- 16,16,16,16,16,15,16,16,14,13,12,13,13,14,16,16,
- 16,
-};
-
-static float _vq_quantthresh__44c3_s_p9_1[] = {
- -110.5, -93.5, -76.5, -59.5, -42.5, -25.5, -8.5, 8.5,
- 25.5, 42.5, 59.5, 76.5, 93.5, 110.5,
-};
-
-static long _vq_quantmap__44c3_s_p9_1[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c3_s_p9_1 = {
- _vq_quantthresh__44c3_s_p9_1,
- _vq_quantmap__44c3_s_p9_1,
- 15,
- 15
-};
-
-static static_codebook _44c3_s_p9_1 = {
- 2, 225,
- _vq_lengthlist__44c3_s_p9_1,
- 1, -522338304, 1620115456, 4, 0,
- _vq_quantlist__44c3_s_p9_1,
- NULL,
- &_vq_auxt__44c3_s_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c3_s_p9_2[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c3_s_p9_2[] = {
- 3, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9,
- 8,10, 5, 5, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9,10, 5, 5, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9,
- 9, 9, 9,10, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9,10,10,10, 7, 7, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 9, 9,10,10,10, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9,10,10,10, 8, 7, 8, 8, 9, 8, 9,
- 9, 9, 9, 9, 9, 9, 9,10,10,10, 8, 8, 8, 8, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,11,10, 8, 8, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,11, 8,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,11,10,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,
- 10,10,11, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,
- 11,10,11,10, 9, 9, 9,10, 9, 9, 9, 9, 9, 9,10,10,
- 10,10,11,11,10,10, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,
- 10,10,10,10,10,10,10,10, 9, 9, 9, 9, 9, 9,10, 9,
- 10,10,10,10,11,10,11,10,10, 9, 9, 9, 9, 9, 9, 9,
- 9,
-};
-
-static float _vq_quantthresh__44c3_s_p9_2[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c3_s_p9_2[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c3_s_p9_2 = {
- _vq_quantthresh__44c3_s_p9_2,
- _vq_quantmap__44c3_s_p9_2,
- 17,
- 17
-};
-
-static static_codebook _44c3_s_p9_2 = {
- 2, 289,
- _vq_lengthlist__44c3_s_p9_2,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c3_s_p9_2,
- NULL,
- &_vq_auxt__44c3_s_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c3_s_short[] = {
- 10,10,13,12,13,12,12,12,12,13, 8, 3,11, 5,10, 5,
- 7,11,14,16,11, 6, 9, 8, 7, 7, 9,12,15,16,12, 4,
- 12, 4,10, 5, 8,12,15,16,12, 6, 8, 7, 5, 5, 7,11,
- 14,15,11, 4, 9, 4, 6, 4, 6, 9,13,15,10, 6,10, 7,
- 7, 5, 6, 9,13,15,12, 9,11, 9, 8, 6, 7, 9,12,15,
- 13,11,10, 9, 6, 5, 5, 8,11,14,16,12,11,10, 6, 5,
- 6, 8,10,14,
-};
-
-static static_codebook _huff_book__44c3_s_short = {
- 2, 100,
- _huff_lengthlist__44c3_s_short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c4_s_long[] = {
- 3, 5,11,11,13,11,11,11,12,12, 5, 2,11, 6,10, 7,
- 8,10,13,16,10, 9, 6,10, 6, 7, 8, 9,11,12,11, 5,
- 11, 7,10, 8,10,12,15,17,12, 8, 5, 9, 4, 5, 7, 8,
- 10,12,10, 6, 7, 8, 5, 5, 6, 8,10,11,10, 8, 8, 9,
- 6, 6, 6, 7, 9,10,11,10, 9,11, 8, 7, 6, 6, 7, 9,
- 11,13,10,15, 9, 9, 7, 7, 7, 8,10,15,11,17,11,11,
- 9, 8, 7, 8,
-};
-
-static static_codebook _huff_book__44c4_s_long = {
- 2, 100,
- _huff_lengthlist__44c4_s_long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c4_s_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c4_s_p1_0[] = {
- 2, 4, 4, 0, 0, 0, 0, 0, 0, 5, 7, 6, 0, 0, 0, 0,
- 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0, 0,
- 0, 0, 0, 7, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 6, 8, 8, 0, 0,
- 0, 0, 0, 0, 7, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 7, 7, 0, 0, 0, 0,
- 0, 0, 7, 9, 8, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 8, 0, 0, 0,
- 0, 0, 0, 8, 9,10, 0, 0, 0, 0, 0, 0, 8, 9, 9, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 8, 8, 0, 0,
- 0, 0, 0, 0, 8,10, 8, 0, 0, 0, 0, 0, 0, 8, 9,10,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 7, 7, 0, 0, 0, 0, 0, 0, 7, 8, 8, 0, 0,
- 0, 0, 0, 0, 7, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 6, 8, 8, 0, 0, 0, 0, 0, 0, 8,10, 9, 0,
- 0, 0, 0, 0, 0, 8, 8,10, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 8, 9, 0, 0, 0, 0, 0, 0, 8, 9, 9,
- 0, 0, 0, 0, 0, 0, 8,10, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c4_s_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44c4_s_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c4_s_p1_0 = {
- _vq_quantthresh__44c4_s_p1_0,
- _vq_quantmap__44c4_s_p1_0,
- 3,
- 3
-};
-
-static static_codebook _44c4_s_p1_0 = {
- 8, 6561,
- _vq_lengthlist__44c4_s_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44c4_s_p1_0,
- NULL,
- &_vq_auxt__44c4_s_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c4_s_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c4_s_p2_0[] = {
- 2, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0,
- 7, 7, 0, 0, 0, 0, 0, 0, 0, 5, 6, 6, 0, 0, 0, 8,
- 7, 0, 0, 0, 7, 7, 0, 0, 0,10,10, 0, 0, 0, 0, 0,
- 0, 0, 5, 6, 6, 0, 0, 0, 7, 7, 0, 0, 0, 7, 7, 0,
- 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 7, 7, 0, 0,
- 0, 7, 7, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 5,
- 7, 7, 0, 0, 0, 7, 7, 0, 0, 0, 7, 7, 0, 0, 0, 9,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 5, 8, 7, 0, 0, 0, 7, 7, 0, 0, 0, 7, 7,
- 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 5, 7, 8, 0,
- 0, 0, 7, 7, 0, 0, 0, 7, 7, 0, 0, 0, 9, 9, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 7,10,10, 0, 0, 0, 9, 9, 0, 0, 0, 9, 9, 0, 0, 0,
- 10,10, 0, 0, 0, 0, 0, 0, 0, 7,10,10, 0, 0, 0, 9,
- 9, 0, 0, 0, 9, 9, 0, 0, 0,10,10, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c4_s_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c4_s_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c4_s_p2_0 = {
- _vq_quantthresh__44c4_s_p2_0,
- _vq_quantmap__44c4_s_p2_0,
- 5,
- 5
-};
-
-static static_codebook _44c4_s_p2_0 = {
- 4, 625,
- _vq_lengthlist__44c4_s_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c4_s_p2_0,
- NULL,
- &_vq_auxt__44c4_s_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c4_s_p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c4_s_p3_0[] = {
- 2, 3, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 4, 6, 6, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 7, 7,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 6, 6, 7, 7, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c4_s_p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c4_s_p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c4_s_p3_0 = {
- _vq_quantthresh__44c4_s_p3_0,
- _vq_quantmap__44c4_s_p3_0,
- 5,
- 5
-};
-
-static static_codebook _44c4_s_p3_0 = {
- 4, 625,
- _vq_lengthlist__44c4_s_p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c4_s_p3_0,
- NULL,
- &_vq_auxt__44c4_s_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c4_s_p4_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c4_s_p4_0[] = {
- 2, 3, 3, 6, 6, 0, 0, 0, 0, 0, 4, 4, 6, 6, 0, 0,
- 0, 0, 0, 4, 4, 6, 6, 0, 0, 0, 0, 0, 5, 5, 6, 6,
- 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0,
- 7, 8, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0,
- 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c4_s_p4_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c4_s_p4_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c4_s_p4_0 = {
- _vq_quantthresh__44c4_s_p4_0,
- _vq_quantmap__44c4_s_p4_0,
- 9,
- 9
-};
-
-static static_codebook _44c4_s_p4_0 = {
- 2, 81,
- _vq_lengthlist__44c4_s_p4_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c4_s_p4_0,
- NULL,
- &_vq_auxt__44c4_s_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c4_s_p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c4_s_p5_0[] = {
- 2, 3, 3, 6, 6, 7, 7, 9, 9, 0, 4, 4, 7, 7, 7, 7,
- 9, 9, 0, 4, 4, 7, 7, 7, 7, 9, 9, 0, 6, 6, 7, 7,
- 8, 8,10,10, 0, 0, 0, 7, 7, 8, 8,10,10, 0, 0, 0,
- 8, 8, 8, 8,10,10, 0, 0, 0, 8, 8, 8, 8,10,10, 0,
- 0, 0,10,10, 9, 9,11,11, 0, 0, 0, 0, 0, 9, 9,11,
- 11,
-};
-
-static float _vq_quantthresh__44c4_s_p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c4_s_p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c4_s_p5_0 = {
- _vq_quantthresh__44c4_s_p5_0,
- _vq_quantmap__44c4_s_p5_0,
- 9,
- 9
-};
-
-static static_codebook _44c4_s_p5_0 = {
- 2, 81,
- _vq_lengthlist__44c4_s_p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c4_s_p5_0,
- NULL,
- &_vq_auxt__44c4_s_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c4_s_p6_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c4_s_p6_0[] = {
- 2, 4, 4, 6, 6, 8, 8, 8, 8, 9, 9,10, 9,10,10,11,
- 11, 0, 4, 4, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11,
- 11,11, 0, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,
- 11,12,12, 0, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9,10,10,
- 11,11,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,
- 10,11,11,12,12, 0, 0, 0, 8, 8, 8, 8, 9, 9,10, 9,
- 10,11,11,11,12,12, 0, 0, 0, 8, 8, 8, 8, 9, 9,10,
- 10,11,10,11,11,12,12, 0, 0, 0, 9, 9, 9, 9,10,10,
- 10,10,11,11,11,11,12,12, 0, 0, 0, 0, 0, 9, 9,10,
- 10,10,10,11,11,12,11,12,12, 0, 0, 0, 0, 0, 8, 8,
- 9, 9,10,10,11,11,12,12,12,12, 0, 0, 0, 0, 0, 8,
- 8, 9, 9,10,10,11,11,12,12,12,12, 0, 0, 0, 0, 0,
- 9, 9,10,10,11,10,11,11,12,12,12,12, 0, 0, 0, 0,
- 0, 0, 0,10,10,10,10,11,11,12,12,13,12, 0, 0, 0,
- 0, 0, 0, 0,11,11,11,11,11,12,12,12,13,12, 0, 0,
- 0, 0, 0, 0, 0,11,11,11,11,11,11,12,12,13,13, 0,
- 0, 0, 0, 0, 0, 0,11,11,12,12,12,12,12,12,13,13,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,11,11,12,12,12,12,13,
- 13,
-};
-
-static float _vq_quantthresh__44c4_s_p6_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c4_s_p6_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c4_s_p6_0 = {
- _vq_quantthresh__44c4_s_p6_0,
- _vq_quantmap__44c4_s_p6_0,
- 17,
- 17
-};
-
-static static_codebook _44c4_s_p6_0 = {
- 2, 289,
- _vq_lengthlist__44c4_s_p6_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c4_s_p6_0,
- NULL,
- &_vq_auxt__44c4_s_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c4_s_p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c4_s_p7_0[] = {
- 1, 4, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,10,
- 9, 9, 5, 7, 7,10, 9, 9,10, 9, 9, 6,10,10,10,10,
- 10,11,10,10, 6, 9, 9,10,10,10,10,10, 9, 6, 9, 9,
- 10, 9,10,11, 9, 9, 7,10,10,11,11,11,11,10,10, 6,
- 9, 9,10, 9, 9,10,10, 9, 6, 9, 9,10,10,10,10,10,
- 10,
-};
-
-static float _vq_quantthresh__44c4_s_p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44c4_s_p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c4_s_p7_0 = {
- _vq_quantthresh__44c4_s_p7_0,
- _vq_quantmap__44c4_s_p7_0,
- 3,
- 3
-};
-
-static static_codebook _44c4_s_p7_0 = {
- 4, 81,
- _vq_lengthlist__44c4_s_p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44c4_s_p7_0,
- NULL,
- &_vq_auxt__44c4_s_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c4_s_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44c4_s_p7_1[] = {
- 2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6,
- 7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8,
- 8,10, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7,
- 7, 8, 8, 8, 8, 8, 8,10,10,10, 7, 7, 8, 8, 8, 8,
- 8, 8,10,10,10, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10,
- 8, 8, 8, 8, 8, 8, 8, 8,10,10,10,10,10, 8, 8, 8,
- 8, 8, 8,10,10,10,10,10, 9, 9, 8, 8, 8, 9,10,10,
- 10,10,10, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44c4_s_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44c4_s_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c4_s_p7_1 = {
- _vq_quantthresh__44c4_s_p7_1,
- _vq_quantmap__44c4_s_p7_1,
- 11,
- 11
-};
-
-static static_codebook _44c4_s_p7_1 = {
- 2, 121,
- _vq_lengthlist__44c4_s_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44c4_s_p7_1,
- NULL,
- &_vq_auxt__44c4_s_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c4_s_p8_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c4_s_p8_0[] = {
- 1, 4, 4, 6, 6, 8, 8, 8, 8, 9, 9,10,10, 6, 5, 5,
- 7, 7, 8, 8, 9, 9,10,10,11,11, 7, 5, 5, 7, 7, 8,
- 8, 9, 9,10,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,
- 10,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,10,10,11,
- 11, 0,12,12, 9, 9, 9, 9,10,10,10,10,11,11, 0,12,
- 12, 9, 8, 9, 9,10,10,11,11,12,11, 0, 0, 0, 9,10,
- 9, 9,10,10,11,11,12,12, 0, 0, 0,10,10, 9, 9,10,
- 10,11,11,12,12, 0, 0, 0,13,13,10,10,10,11,12,12,
- 12,12, 0, 0, 0,14,14,10,10,11,11,11,11,12,12, 0,
- 0, 0, 0, 0,11,12,11,11,12,12,12,13, 0, 0, 0, 0,
- 0,12,12,11,11,12,12,13,13,
-};
-
-static float _vq_quantthresh__44c4_s_p8_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44c4_s_p8_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c4_s_p8_0 = {
- _vq_quantthresh__44c4_s_p8_0,
- _vq_quantmap__44c4_s_p8_0,
- 13,
- 13
-};
-
-static static_codebook _44c4_s_p8_0 = {
- 2, 169,
- _vq_lengthlist__44c4_s_p8_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44c4_s_p8_0,
- NULL,
- &_vq_auxt__44c4_s_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c4_s_p8_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c4_s_p8_1[] = {
- 2, 4, 4, 5, 5, 6, 5, 5, 5, 5, 6, 4, 5, 5, 5, 6,
- 5, 5, 5, 5, 6, 6, 6, 5, 5,
-};
-
-static float _vq_quantthresh__44c4_s_p8_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c4_s_p8_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c4_s_p8_1 = {
- _vq_quantthresh__44c4_s_p8_1,
- _vq_quantmap__44c4_s_p8_1,
- 5,
- 5
-};
-
-static static_codebook _44c4_s_p8_1 = {
- 2, 25,
- _vq_lengthlist__44c4_s_p8_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c4_s_p8_1,
- NULL,
- &_vq_auxt__44c4_s_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c4_s_p9_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c4_s_p9_0[] = {
- 1, 3, 3,10,10,10,10,10,10,10,10,10,10, 5, 7, 7,
- 10,10,10,10,10,10,10,10,10,10, 5, 7, 8,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10, 9, 9, 9, 9,
-};
-
-static float _vq_quantthresh__44c4_s_p9_0[] = {
- -1732.5, -1417.5, -1102.5, -787.5, -472.5, -157.5, 157.5, 472.5,
- 787.5, 1102.5, 1417.5, 1732.5,
-};
-
-static long _vq_quantmap__44c4_s_p9_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c4_s_p9_0 = {
- _vq_quantthresh__44c4_s_p9_0,
- _vq_quantmap__44c4_s_p9_0,
- 13,
- 13
-};
-
-static static_codebook _44c4_s_p9_0 = {
- 2, 169,
- _vq_lengthlist__44c4_s_p9_0,
- 1, -513964032, 1628680192, 4, 0,
- _vq_quantlist__44c4_s_p9_0,
- NULL,
- &_vq_auxt__44c4_s_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c4_s_p9_1[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__44c4_s_p9_1[] = {
- 1, 4, 4, 5, 6, 7, 7, 9, 9,11,11,12,12,12,13, 6,
- 5, 5, 6, 7, 8, 8,10,10,11,11,13,13,13,13, 6, 5,
- 5, 7, 7, 8, 8,11,10,11,11,12,13,12,13,17, 7, 7,
- 8, 8, 9, 9,11,11,12,12,12,13,15,14,17, 7, 7, 8,
- 8, 9, 9,11,10,12,12,13,13,14,13,17,11,12, 9, 9,
- 10,10,12,12,13,13,14,14,14,14,17,12,11, 9, 8,11,
- 10,11,12,13,13,13,14,14,14,17,17,17,11,11,11,11,
- 13,13,13,13,14,13,15,14,17,17,17,11,10,11, 9,13,
- 12,13,14,15,14,15,14,17,17,17,14,14,11,12,12,13,
- 14,14,16,15,15,15,17,17,17,15,15,12,11,13,11,13,
- 13,13,15,16,14,17,17,17,17,17,13,13,14,13,14,14,
- 15,15,16,15,17,17,17,17,17,14,14,14,12,14,12,16,
- 14,15,14,17,17,17,17,17,16,17,13,14,14,15,15,15,
- 17,15,17,17,17,17,17,16,17,13,14,14,14,15,17,15,
- 15,
-};
-
-static float _vq_quantthresh__44c4_s_p9_1[] = {
- -136.5, -115.5, -94.5, -73.5, -52.5, -31.5, -10.5, 10.5,
- 31.5, 52.5, 73.5, 94.5, 115.5, 136.5,
-};
-
-static long _vq_quantmap__44c4_s_p9_1[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c4_s_p9_1 = {
- _vq_quantthresh__44c4_s_p9_1,
- _vq_quantmap__44c4_s_p9_1,
- 15,
- 15
-};
-
-static static_codebook _44c4_s_p9_1 = {
- 2, 225,
- _vq_lengthlist__44c4_s_p9_1,
- 1, -520986624, 1620377600, 4, 0,
- _vq_quantlist__44c4_s_p9_1,
- NULL,
- &_vq_auxt__44c4_s_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c4_s_p9_2[] = {
- 10,
- 9,
- 11,
- 8,
- 12,
- 7,
- 13,
- 6,
- 14,
- 5,
- 15,
- 4,
- 16,
- 3,
- 17,
- 2,
- 18,
- 1,
- 19,
- 0,
- 20,
-};
-
-static long _vq_lengthlist__44c4_s_p9_2[] = {
- 3, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 9,11, 5, 5, 7, 7, 7, 7, 8, 8, 8, 8,
- 9, 9, 9, 9, 9, 9, 9, 9,10,10,11, 5, 5, 7, 7, 7,
- 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,11,
- 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,10,10,
- 10,10,10,10,11,11,11, 7, 7, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9,10,10,10,10,10,10,11,11,11, 8, 8, 8, 8,
- 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,10,10,11,11,
- 11, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,10, 9,10,10,10,
- 10,10,10,11,11,11, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9,
- 10,10,10,10,10,10,10,10,11,11,11,11,11, 8, 8, 9,
- 9, 9, 9, 9,10,10,10,10,10,10,10,10,10,11,11,11,
- 11,11, 9, 9, 9, 9, 9,10,10,10,10,10,10,10,10,10,
- 10,10,11,11,11,11,11, 9, 9, 9, 9, 9,10,10,10,10,
- 10,10,10,10,10,10,10,11,11,11,11,11, 9, 9, 9, 9,
- 10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,
- 11,11,11, 9, 9, 9,10,10,10,10,10,10,10,10,10,10,
- 10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,11,11,11,11,11,11,11,10,10, 9,
- 10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,
- 11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,
- 10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,
- 10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,
- 12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,
- 11,12,12,11,11,11,11,11,10,10,10,10,10,10,10,10,
- 10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,
- 10,10,10,10,10,10,10,10,10,
-};
-
-static float _vq_quantthresh__44c4_s_p9_2[] = {
- -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5,
- -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5,
- 6.5, 7.5, 8.5, 9.5,
-};
-
-static long _vq_quantmap__44c4_s_p9_2[] = {
- 19, 17, 15, 13, 11, 9, 7, 5,
- 3, 1, 0, 2, 4, 6, 8, 10,
- 12, 14, 16, 18, 20,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c4_s_p9_2 = {
- _vq_quantthresh__44c4_s_p9_2,
- _vq_quantmap__44c4_s_p9_2,
- 21,
- 21
-};
-
-static static_codebook _44c4_s_p9_2 = {
- 2, 441,
- _vq_lengthlist__44c4_s_p9_2,
- 1, -529268736, 1611661312, 5, 0,
- _vq_quantlist__44c4_s_p9_2,
- NULL,
- &_vq_auxt__44c4_s_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c4_s_short[] = {
- 4, 9,13,12,16,11,12,15,15,16, 4, 2,11, 5,10, 6,
- 8,11,14,14,13,11, 8,11, 7, 8,10,13,17,17,10, 4,
- 11, 5, 9, 6, 9,13,17,17,13, 9, 6, 9, 5, 5, 7,11,
- 15,17,10, 5, 7, 6, 5, 4, 7,10,15,15,10, 7, 9, 8,
- 7, 6, 7,10,14,13,13,10,11,10, 8, 7, 8,10,14,14,
- 12,11,10, 9, 6, 5, 6, 9,13,17,14,13,11,10, 6, 6,
- 6, 8,11,16,
-};
-
-static static_codebook _huff_book__44c4_s_short = {
- 2, 100,
- _huff_lengthlist__44c4_s_short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c5_s_long[] = {
- 3, 6, 9,14,11,13,12,12,12,12, 6, 3, 5, 8, 6, 8,
- 10,11,12,14, 9, 5, 4,10, 5, 7, 8, 9,11,12,13, 8,
- 10, 9, 9, 9,12,15,16,17,10, 6, 5, 9, 3, 5, 6, 8,
- 10,12,10, 8, 7, 9, 5, 5, 6, 8,10,11,10, 9, 8,11,
- 6, 6, 6, 7, 8,10,12,11, 9,13, 8, 7, 6, 6, 7, 9,
- 11,13,10,15, 9, 9, 7, 7, 7, 8,10,15,10,17,11,10,
- 9, 8, 7, 7,
-};
-
-static static_codebook _huff_book__44c5_s_long = {
- 2, 100,
- _huff_lengthlist__44c5_s_long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c5_s_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c5_s_p1_0[] = {
- 2, 4, 4, 0, 0, 0, 0, 0, 0, 4, 7, 6, 0, 0, 0, 0,
- 0, 0, 4, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0, 0,
- 0, 0, 0, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 7, 9, 8, 0, 0,
- 0, 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 7, 7, 0, 0, 0, 0,
- 0, 0, 7, 9, 8, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0, 0,
- 0, 0, 0, 9,10,11, 0, 0, 0, 0, 0, 0, 9,10,10, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 9, 8, 0, 0,
- 0, 0, 0, 0, 8,10, 9, 0, 0, 0, 0, 0, 0, 9,10,11,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 7, 7, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0,
- 0, 0, 0, 0, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 6, 9, 8, 0, 0, 0, 0, 0, 0, 9,11,10, 0,
- 0, 0, 0, 0, 0, 8, 9,10, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 9,10,10,
- 0, 0, 0, 0, 0, 0, 9,11,10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c5_s_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44c5_s_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c5_s_p1_0 = {
- _vq_quantthresh__44c5_s_p1_0,
- _vq_quantmap__44c5_s_p1_0,
- 3,
- 3
-};
-
-static static_codebook _44c5_s_p1_0 = {
- 8, 6561,
- _vq_lengthlist__44c5_s_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44c5_s_p1_0,
- NULL,
- &_vq_auxt__44c5_s_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c5_s_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c5_s_p2_0[] = {
- 2, 4, 4, 0, 0, 0, 6, 5, 0, 0, 0, 5, 5, 0, 0, 0,
- 7, 7, 0, 0, 0, 0, 0, 0, 0, 4, 6, 5, 0, 0, 0, 8,
- 7, 0, 0, 0, 8, 8, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0,
- 0, 0, 4, 5, 6, 0, 0, 0, 7, 8, 0, 0, 0, 7, 8, 0,
- 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 5, 8, 7, 0, 0, 0, 8, 8, 0, 0,
- 0, 8, 8, 0, 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 6,
- 7, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0,10,
- 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 6, 8, 7, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8,
- 0, 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 6, 7, 8, 0,
- 0, 0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0,10,10, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 7, 9, 9, 0, 0, 0,10,10, 0, 0, 0,10,10, 0, 0, 0,
- 10,10, 0, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0, 0,10,
- 10, 0, 0, 0,10,10, 0, 0, 0,10,10, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c5_s_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c5_s_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c5_s_p2_0 = {
- _vq_quantthresh__44c5_s_p2_0,
- _vq_quantmap__44c5_s_p2_0,
- 5,
- 5
-};
-
-static static_codebook _44c5_s_p2_0 = {
- 4, 625,
- _vq_lengthlist__44c5_s_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c5_s_p2_0,
- NULL,
- &_vq_auxt__44c5_s_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c5_s_p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c5_s_p3_0[] = {
- 2, 4, 3, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 6, 6, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 4, 5, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 7, 7,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 6, 6, 7, 7, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c5_s_p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c5_s_p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c5_s_p3_0 = {
- _vq_quantthresh__44c5_s_p3_0,
- _vq_quantmap__44c5_s_p3_0,
- 5,
- 5
-};
-
-static static_codebook _44c5_s_p3_0 = {
- 4, 625,
- _vq_lengthlist__44c5_s_p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c5_s_p3_0,
- NULL,
- &_vq_auxt__44c5_s_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c5_s_p4_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c5_s_p4_0[] = {
- 2, 3, 3, 6, 6, 0, 0, 0, 0, 0, 4, 4, 6, 6, 0, 0,
- 0, 0, 0, 4, 4, 6, 6, 0, 0, 0, 0, 0, 5, 5, 6, 6,
- 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0,
- 8, 7, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0,
- 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c5_s_p4_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c5_s_p4_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c5_s_p4_0 = {
- _vq_quantthresh__44c5_s_p4_0,
- _vq_quantmap__44c5_s_p4_0,
- 9,
- 9
-};
-
-static static_codebook _44c5_s_p4_0 = {
- 2, 81,
- _vq_lengthlist__44c5_s_p4_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c5_s_p4_0,
- NULL,
- &_vq_auxt__44c5_s_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c5_s_p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c5_s_p5_0[] = {
- 2, 3, 4, 5, 6, 7, 7, 9, 9, 0, 4, 4, 6, 6, 7, 7,
- 9, 9, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 6, 6, 7, 7,
- 8, 8,10,10, 0, 0, 0, 7, 7, 8, 8,10,10, 0, 0, 0,
- 7, 7, 8, 8,10,10, 0, 0, 0, 7, 8, 8, 8,10,10, 0,
- 0, 0, 9, 9, 9, 9,10,10, 0, 0, 0, 0, 0, 9, 9,10,
- 10,
-};
-
-static float _vq_quantthresh__44c5_s_p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c5_s_p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c5_s_p5_0 = {
- _vq_quantthresh__44c5_s_p5_0,
- _vq_quantmap__44c5_s_p5_0,
- 9,
- 9
-};
-
-static static_codebook _44c5_s_p5_0 = {
- 2, 81,
- _vq_lengthlist__44c5_s_p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c5_s_p5_0,
- NULL,
- &_vq_auxt__44c5_s_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c5_s_p6_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c5_s_p6_0[] = {
- 2, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,11,12,
- 12, 0, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,11,
- 12,12, 0, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,
- 11,12,12, 0, 6, 6, 7, 7, 8, 8, 9,10,10,10,11,11,
- 11,12,12,12, 0, 0, 0, 7, 7, 8, 8,10,10,10,10,11,
- 11,12,12,12,12, 0, 0, 0, 7, 7, 9, 9,10,10,10,10,
- 11,11,12,12,12,12, 0, 0, 0, 7, 7, 8, 9,10,10,10,
- 10,11,11,12,12,12,13, 0, 0, 0, 8, 8, 9, 9,10,10,
- 10,10,11,11,12,12,13,12, 0, 0, 0, 0, 0, 9, 9,10,
- 10,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 8, 8,
- 9, 9,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 8,
- 8, 9, 9,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0,
- 9, 9,10,10,11,11,11,12,12,12,13,13, 0, 0, 0, 0,
- 0, 0, 0,10,10,11,11,11,12,12,12,13,13, 0, 0, 0,
- 0, 0, 0, 0,11,11,11,11,12,12,12,13,13,13, 0, 0,
- 0, 0, 0, 0, 0,11,11,11,11,12,12,13,12,13,13, 0,
- 0, 0, 0, 0, 0, 0,11,11,12,12,12,12,13,13,13,13,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,12,12,12,12,13,13,13,
- 13,
-};
-
-static float _vq_quantthresh__44c5_s_p6_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c5_s_p6_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c5_s_p6_0 = {
- _vq_quantthresh__44c5_s_p6_0,
- _vq_quantmap__44c5_s_p6_0,
- 17,
- 17
-};
-
-static static_codebook _44c5_s_p6_0 = {
- 2, 289,
- _vq_lengthlist__44c5_s_p6_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c5_s_p6_0,
- NULL,
- &_vq_auxt__44c5_s_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c5_s_p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c5_s_p7_0[] = {
- 1, 4, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,10,
- 9, 9, 5, 7, 7,10, 9, 9,10, 9, 9, 6,10,10,10,10,
- 10,11,10,10, 6, 9, 9,10,10, 9,11,10,10, 6, 9, 9,
- 10, 9,10,11,10, 9, 7,10,10,11,11,11,11,10,10, 6,
- 9, 9,10,10, 9,10, 9, 9, 6, 9, 9,10,10,10,11, 9,
- 9,
-};
-
-static float _vq_quantthresh__44c5_s_p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44c5_s_p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c5_s_p7_0 = {
- _vq_quantthresh__44c5_s_p7_0,
- _vq_quantmap__44c5_s_p7_0,
- 3,
- 3
-};
-
-static static_codebook _44c5_s_p7_0 = {
- 4, 81,
- _vq_lengthlist__44c5_s_p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44c5_s_p7_0,
- NULL,
- &_vq_auxt__44c5_s_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c5_s_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44c5_s_p7_1[] = {
- 2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6,
- 7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8,
- 8,10, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7,
- 7, 8, 8, 8, 8, 8, 8,10,10,10, 7, 7, 8, 8, 8, 8,
- 8, 8,10,10,10, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10,
- 8, 8, 8, 8, 8, 8, 8, 8,10,10,10,10,10, 8, 8, 8,
- 8, 8, 8,10,10,10,10,10, 9, 9, 8, 8, 9, 8,10,10,
- 10,10,10, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44c5_s_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44c5_s_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c5_s_p7_1 = {
- _vq_quantthresh__44c5_s_p7_1,
- _vq_quantmap__44c5_s_p7_1,
- 11,
- 11
-};
-
-static static_codebook _44c5_s_p7_1 = {
- 2, 121,
- _vq_lengthlist__44c5_s_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44c5_s_p7_1,
- NULL,
- &_vq_auxt__44c5_s_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c5_s_p8_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c5_s_p8_0[] = {
- 1, 4, 4, 6, 6, 8, 8, 8, 8, 9, 9,10,10, 6, 5, 5,
- 7, 7, 8, 8, 9, 9,10,10,10,10, 7, 5, 5, 7, 7, 8,
- 8, 9, 9,10,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,
- 10,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,10,10,11,
- 11, 0,11,12, 9, 9, 9, 9, 9,10,10,10,11,11, 0,13,
- 12, 9, 9, 9, 9,10,10,11,11,11,11, 0, 0, 0, 9,10,
- 9, 9,10,10,11,11,12,11, 0, 0, 0,10,10, 9, 9,10,
- 10,11,11,12,12, 0, 0, 0,13,13,10,10,11,11,11,12,
- 12,12, 0, 0, 0,14,14,10,10,11,11,11,11,12,12, 0,
- 0, 0, 0, 0,12,12,11,11,12,12,13,13, 0, 0, 0, 0,
- 0,12,12,11,11,12,12,13,13,
-};
-
-static float _vq_quantthresh__44c5_s_p8_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44c5_s_p8_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c5_s_p8_0 = {
- _vq_quantthresh__44c5_s_p8_0,
- _vq_quantmap__44c5_s_p8_0,
- 13,
- 13
-};
-
-static static_codebook _44c5_s_p8_0 = {
- 2, 169,
- _vq_lengthlist__44c5_s_p8_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44c5_s_p8_0,
- NULL,
- &_vq_auxt__44c5_s_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c5_s_p8_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c5_s_p8_1[] = {
- 2, 4, 4, 5, 5, 6, 5, 5, 5, 5, 6, 4, 5, 5, 5, 6,
- 5, 5, 5, 5, 6, 6, 6, 5, 5,
-};
-
-static float _vq_quantthresh__44c5_s_p8_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c5_s_p8_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c5_s_p8_1 = {
- _vq_quantthresh__44c5_s_p8_1,
- _vq_quantmap__44c5_s_p8_1,
- 5,
- 5
-};
-
-static static_codebook _44c5_s_p8_1 = {
- 2, 25,
- _vq_lengthlist__44c5_s_p8_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c5_s_p8_1,
- NULL,
- &_vq_auxt__44c5_s_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c5_s_p9_0[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__44c5_s_p9_0[] = {
- 1, 3, 3,11,11,11,11,11,11,11,11,11,11,11,11, 5,
- 7, 7,11,11,11,11,11,11,11,11,11,11,11,11, 5, 9,
- 7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,
-};
-
-static float _vq_quantthresh__44c5_s_p9_0[] = {
- -2320.5, -1963.5, -1606.5, -1249.5, -892.5, -535.5, -178.5, 178.5,
- 535.5, 892.5, 1249.5, 1606.5, 1963.5, 2320.5,
-};
-
-static long _vq_quantmap__44c5_s_p9_0[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c5_s_p9_0 = {
- _vq_quantthresh__44c5_s_p9_0,
- _vq_quantmap__44c5_s_p9_0,
- 15,
- 15
-};
-
-static static_codebook _44c5_s_p9_0 = {
- 2, 225,
- _vq_lengthlist__44c5_s_p9_0,
- 1, -512522752, 1628852224, 4, 0,
- _vq_quantlist__44c5_s_p9_0,
- NULL,
- &_vq_auxt__44c5_s_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c5_s_p9_1[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c5_s_p9_1[] = {
- 1, 4, 4, 6, 6, 8, 7, 9, 9,10,10,11,11,12,12,13,
- 13, 6, 5, 5, 6, 6, 8, 8,10,10,11,11,12,12,13,13,
- 13,13, 6, 5, 5, 7, 7, 8, 8,10,10,11,11,12,12,13,
- 13,13,13,18, 7, 7, 8, 8, 9, 9,10,11,11,11,12,12,
- 13,13,13,14,18, 7, 7, 8, 8, 9, 9,11,10,12,12,13,
- 13,13,13,14,15,18,12,12, 9, 9,10,10,11,11,12,12,
- 13,13,13,14,14,14,18,12,12, 9, 8,10,10,11,11,12,
- 12,14,13,13,14,15,15,18,16,18,11,11,11,11,12,12,
- 13,13,13,14,14,14,14,15,17,18,17,11,10,11, 9,12,
- 13,13,13,14,14,13,14,14,14,18,18,18,13,14,11,12,
- 12,12,13,14,13,13,14,15,16,15,18,18,18,15,13,12,
- 9,12,11,13,14,14,15,14,14,16,14,18,18,18,18,18,
- 12,13,13,13,13,14,15,14,15,15,15,15,18,18,18,18,
- 17,14,12,13,11,14,12,15,14,14,15,16,15,18,18,18,
- 17,18,15,18,13,13,14,13,15,14,16,15,17,16,18,18,
- 17,18,18,15,17,14,13,14,12,14,14,15,15,15,15,18,
- 18,18,17,17,18,18,14,15,14,14,14,14,15,14,16,16,
- 17,18,18,18,18,17,17,15,15,13,13,15,13,15,13,15,
- 15,
-};
-
-static float _vq_quantthresh__44c5_s_p9_1[] = {
- -157.5, -136.5, -115.5, -94.5, -73.5, -52.5, -31.5, -10.5,
- 10.5, 31.5, 52.5, 73.5, 94.5, 115.5, 136.5, 157.5,
-};
-
-static long _vq_quantmap__44c5_s_p9_1[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c5_s_p9_1 = {
- _vq_quantthresh__44c5_s_p9_1,
- _vq_quantmap__44c5_s_p9_1,
- 17,
- 17
-};
-
-static static_codebook _44c5_s_p9_1 = {
- 2, 289,
- _vq_lengthlist__44c5_s_p9_1,
- 1, -520814592, 1620377600, 5, 0,
- _vq_quantlist__44c5_s_p9_1,
- NULL,
- &_vq_auxt__44c5_s_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c5_s_p9_2[] = {
- 10,
- 9,
- 11,
- 8,
- 12,
- 7,
- 13,
- 6,
- 14,
- 5,
- 15,
- 4,
- 16,
- 3,
- 17,
- 2,
- 18,
- 1,
- 19,
- 0,
- 20,
-};
-
-static long _vq_lengthlist__44c5_s_p9_2[] = {
- 3, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 9, 9,11, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,10,11, 5, 5, 7, 7, 7,
- 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,11,
- 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,
- 10,10,10,10,11,11,11, 7, 7, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9,10,10,11,11,11, 8, 8, 8, 8,
- 8, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,11,11,
- 11, 8, 8, 8, 8, 9, 8, 9, 9, 9, 9, 9, 9,10,10,10,
- 10,10,10,11,11,11, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,
- 9,10,10,10,10,10,10,10,11,11,11,11,11, 8, 8, 9,
- 9, 9, 9, 9, 9,10,10,10,10,10,10,10,10,11,11,11,
- 11,11, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,10,
- 10,10,11,11,11,11,11, 9, 9, 9, 9, 9, 9, 9,10,10,
- 10,10,10,10,10,10,10,11,11,11,11,11, 9, 9, 9, 9,
- 9, 9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,
- 11,11,11, 9, 9, 9, 9,10,10,10,10,10,10,10,10,10,
- 10,11,11,11,11,11,11,11,10, 9,10,10,10,10,10,10,
- 10,10,10, 9,10,10,11,11,11,11,11,11,11, 9, 9,10,
- 10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,
- 11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 11,11,11,11,11,11,11,11,11,10,10,10,10,10, 9,10,
- 10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,
- 10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,
- 11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,
- 11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,
- 10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,
- 10,10,10,10,10,10,10,10,10,
-};
-
-static float _vq_quantthresh__44c5_s_p9_2[] = {
- -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5,
- -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5,
- 6.5, 7.5, 8.5, 9.5,
-};
-
-static long _vq_quantmap__44c5_s_p9_2[] = {
- 19, 17, 15, 13, 11, 9, 7, 5,
- 3, 1, 0, 2, 4, 6, 8, 10,
- 12, 14, 16, 18, 20,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c5_s_p9_2 = {
- _vq_quantthresh__44c5_s_p9_2,
- _vq_quantmap__44c5_s_p9_2,
- 21,
- 21
-};
-
-static static_codebook _44c5_s_p9_2 = {
- 2, 441,
- _vq_lengthlist__44c5_s_p9_2,
- 1, -529268736, 1611661312, 5, 0,
- _vq_quantlist__44c5_s_p9_2,
- NULL,
- &_vq_auxt__44c5_s_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c5_s_short[] = {
- 3, 9,10,15,10,10,11,15,15,17, 4, 5, 7, 8, 7, 7,
- 9,13,15,16, 7, 6, 6,10, 6, 8, 9,12,12,16,10, 8,
- 11, 8, 8, 7,11,15,17,17, 8, 5, 5, 8, 3, 4, 6,10,
- 15,17,10, 7, 7, 7, 4, 4, 5,10,14,17,10, 9, 8, 9,
- 6, 5, 6,10,14,17,12,12,11,12, 9, 8, 8,11,14,17,
- 13,14,13,10, 7, 5, 6, 9,13,17,14,14,14,10, 7, 5,
- 6, 7,10,15,
-};
-
-static static_codebook _huff_book__44c5_s_short = {
- 2, 100,
- _huff_lengthlist__44c5_s_short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c6_s_long[] = {
- 3, 8,11,13,13,13,12,12,13,18, 6, 3, 4, 7, 9, 9,
- 11,11,13,16, 9, 4, 3, 5, 7, 7, 9,10,14,18,11, 7,
- 4, 4, 6, 6, 8,10,14,15,11, 9, 6, 6, 6, 6, 8,10,
- 13,15,10, 9, 7, 6, 6, 6, 7, 8,12,12,12,10, 9, 8,
- 7, 6, 6, 7,11,12,11,10,10, 9, 9, 7, 7, 6, 9,12,
- 12,12,13,13,13,10, 9, 8,10,12,13,14,16,16,17,14,
- 12,11,11,13,
-};
-
-static static_codebook _huff_book__44c6_s_long = {
- 2, 100,
- _huff_lengthlist__44c6_s_long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c6_s_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c6_s_p1_0[] = {
- 1, 5, 5, 0, 5, 5, 0, 5, 5, 5, 8, 7, 0, 9, 8, 0,
- 8, 8, 6, 7, 8, 0, 8, 9, 0, 8, 8, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 5, 8, 8, 0, 8, 8, 0, 8, 8, 5, 8, 8,
- 0, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
- 9, 8, 0, 8, 8, 0, 8, 8, 5, 8, 9, 0, 8, 8, 0, 8,
- 8,
-};
-
-static float _vq_quantthresh__44c6_s_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44c6_s_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c6_s_p1_0 = {
- _vq_quantthresh__44c6_s_p1_0,
- _vq_quantmap__44c6_s_p1_0,
- 3,
- 3
-};
-
-static static_codebook _44c6_s_p1_0 = {
- 4, 81,
- _vq_lengthlist__44c6_s_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44c6_s_p1_0,
- NULL,
- &_vq_auxt__44c6_s_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c6_s_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c6_s_p2_0[] = {
- 3, 5, 5, 8, 8, 0, 5, 5, 9, 9, 0, 5, 5, 9, 9, 0,
- 7, 7,10,10, 0, 0, 0,10,10, 5, 7, 7, 9, 9, 0, 8,
- 7,10, 9, 0, 8, 8,10,10, 0,10,10,11,11, 0, 0, 0,
- 11,11, 5, 7, 7, 9, 9, 0, 7, 8, 9,10, 0, 7, 8,10,
- 10, 0,10,10,11,11, 0, 0, 0,11,11, 8, 9, 9,11,10,
- 0,11,10,12,12, 0,11,11,12,12, 0,13,13,14,14, 0,
- 0, 0,14,14, 8, 9, 9,10,11, 0,10,11,12,12, 0,11,
- 11,12,12, 0,13,13,14,14, 0, 0, 0,14,14, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 5, 8, 8,11,11, 0, 7, 7,10,10,
- 0, 7, 7,10,10, 0, 9, 8,11,10, 0, 0, 0,11,11, 5,
- 7, 8,11,11, 0, 7, 7,10,10, 0, 7, 7,10,10, 0, 8,
- 9,10,11, 0, 0, 0,11,11, 9,10,10,12,12, 0,10,10,
- 12,11, 0,10,10,12,12, 0,12,12,13,13, 0, 0, 0,13,
- 13, 9,10,10,12,12, 0,10,10,11,12, 0,10,10,12,12,
- 0,12,12,13,13, 0, 0, 0,13,13, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 5, 8, 7,11,10, 0, 7, 7,10,10, 0, 7, 7,
- 10,10, 0, 8, 9,11,11, 0, 0, 0,11,10, 5, 7, 8,10,
- 11, 0, 7, 7,10,10, 0, 7, 7,10,10, 0, 9, 8,11,11,
- 0, 0, 0,11,11, 9,10,10,12,12, 0,10,10,12,12, 0,
- 10,10,12,12, 0,12,12,13,13, 0, 0, 0,13,13, 9, 9,
- 10,12,12, 0,10,10,12,12, 0,10,10,12,12, 0,12,12,
- 13,13, 0, 0, 0,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 7,10,10,13,13, 0, 9, 8,12,12, 0, 8, 9,12,12, 0,
- 10, 9,12,12, 0, 0, 0,12,12, 7,10,10,13,13, 0, 9,
- 9,12,12, 0, 9, 8,12,12, 0, 9,10,12,12, 0, 0, 0,
- 12,12,10,11,11,14,14, 0,11,10,13,13, 0,11,11,13,
- 13, 0,12,12,13,13, 0, 0, 0,13,13,10,11,11,14,14,
- 0,10,11,13,13, 0,11,11,13,13, 0,12,12,13,13, 0,
- 0, 0,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,10,
- 11,11,14,14, 0,11,11,13,13, 0,11,10,13,13, 0,12,
- 12,13,13, 0, 0, 0,13,13,10,11,11,14,14, 0,11,11,
- 13,13, 0,10,11,13,13, 0,12,12,13,13, 0, 0, 0,13,
- 13,
-};
-
-static float _vq_quantthresh__44c6_s_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c6_s_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c6_s_p2_0 = {
- _vq_quantthresh__44c6_s_p2_0,
- _vq_quantmap__44c6_s_p2_0,
- 5,
- 5
-};
-
-static static_codebook _44c6_s_p2_0 = {
- 4, 625,
- _vq_lengthlist__44c6_s_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c6_s_p2_0,
- NULL,
- &_vq_auxt__44c6_s_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c6_s_p3_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c6_s_p3_0[] = {
- 2, 4, 4, 5, 5, 7, 7, 9, 9, 0, 4, 4, 6, 6, 7, 7,
- 9, 9, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 5, 5, 6, 6,
- 8, 8,10,10, 0, 0, 0, 6, 6, 8, 8,10,10, 0, 0, 0,
- 7, 7, 8, 8,10,10, 0, 0, 0, 7, 7, 9, 9,10,10, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c6_s_p3_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c6_s_p3_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c6_s_p3_0 = {
- _vq_quantthresh__44c6_s_p3_0,
- _vq_quantmap__44c6_s_p3_0,
- 9,
- 9
-};
-
-static static_codebook _44c6_s_p3_0 = {
- 2, 81,
- _vq_lengthlist__44c6_s_p3_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c6_s_p3_0,
- NULL,
- &_vq_auxt__44c6_s_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c6_s_p4_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c6_s_p4_0[] = {
- 3, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11,
- 11, 0, 4, 4, 6, 6, 7, 7, 8, 8, 8, 9,10,10,11,11,
- 11,11, 0, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,
- 11,11,11, 0, 5, 5, 6, 6, 8, 8, 9, 9, 9, 9,10,10,
- 11,11,12,12, 0, 0, 0, 6, 6, 8, 8, 9, 9, 9, 9,10,
- 10,11,11,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9,10,10,
- 11,11,12,11,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9,10,
- 10,11,11,12,12,12,12, 0, 0, 0, 6, 6, 7, 7, 9, 9,
- 10,10,11,11,12,12,12,13, 0, 0, 0, 0, 0, 7, 7, 9,
- 9,10,10,11,11,12,12,12,13, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c6_s_p4_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c6_s_p4_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c6_s_p4_0 = {
- _vq_quantthresh__44c6_s_p4_0,
- _vq_quantmap__44c6_s_p4_0,
- 17,
- 17
-};
-
-static static_codebook _44c6_s_p4_0 = {
- 2, 289,
- _vq_lengthlist__44c6_s_p4_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c6_s_p4_0,
- NULL,
- &_vq_auxt__44c6_s_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c6_s_p5_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c6_s_p5_0[] = {
- 1, 4, 4, 5, 7, 7, 5, 7, 7, 4, 7, 7, 9,10,10,10,
- 10,10, 4, 7, 7, 9,10,10,10,10,10, 5, 9, 9, 9,11,
- 11, 9,11,11, 7,10,10,11,12,11,12,12,12, 7,10,10,
- 11,12,12,12,12,12, 6,10,10, 9,11,11,10,11,11, 7,
- 10, 9,11,12,12,11,12,11, 7,10,10,11,12,12,11,12,
- 12,
-};
-
-static float _vq_quantthresh__44c6_s_p5_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44c6_s_p5_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c6_s_p5_0 = {
- _vq_quantthresh__44c6_s_p5_0,
- _vq_quantmap__44c6_s_p5_0,
- 3,
- 3
-};
-
-static static_codebook _44c6_s_p5_0 = {
- 4, 81,
- _vq_lengthlist__44c6_s_p5_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44c6_s_p5_0,
- NULL,
- &_vq_auxt__44c6_s_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c6_s_p5_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44c6_s_p5_1[] = {
- 3, 4, 4, 6, 6, 8, 8, 8, 8, 9, 9,11, 4, 4, 6, 6,
- 8, 8, 9, 9, 9, 9,11, 4, 4, 6, 6, 8, 8, 9, 8, 9,
- 9,12, 5, 5, 6, 6, 8, 8, 9, 9, 9, 9,12,12,12, 6,
- 6, 8, 8, 9, 9, 9, 9,11,11,11, 7, 7, 8, 8, 9, 9,
- 9, 9,11,11,11, 7, 7, 8, 8, 8, 8, 9, 9,11,11,11,
- 7, 7, 8, 8, 8, 8, 9, 9,11,11,11,11,11, 8, 8, 8,
- 8, 9, 9,11,11,11,11,11, 7, 7, 8, 8, 8, 8,11,11,
- 11,11,11, 7, 7, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44c6_s_p5_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44c6_s_p5_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c6_s_p5_1 = {
- _vq_quantthresh__44c6_s_p5_1,
- _vq_quantmap__44c6_s_p5_1,
- 11,
- 11
-};
-
-static static_codebook _44c6_s_p5_1 = {
- 2, 121,
- _vq_lengthlist__44c6_s_p5_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44c6_s_p5_1,
- NULL,
- &_vq_auxt__44c6_s_p5_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c6_s_p6_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c6_s_p6_0[] = {
- 1, 4, 4, 6, 7, 8, 8, 8, 8, 9, 9,10,10, 5, 5, 5,
- 7, 7, 9, 9, 9, 9,10,10,11,11, 6, 5, 5, 7, 7, 9,
- 9, 9, 9,10,10,11,11, 0, 7, 7, 7, 7, 9, 9,10,10,
- 11,11,11,11, 0, 7, 7, 7, 7, 9, 9,10,10,11,11,12,
- 12, 0,11,11, 8, 8,10, 9,10,11,11,11,12,12, 0,12,
- 12, 8, 8,10, 9,11,11,12,11,13,13, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,
-};
-
-static float _vq_quantthresh__44c6_s_p6_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44c6_s_p6_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c6_s_p6_0 = {
- _vq_quantthresh__44c6_s_p6_0,
- _vq_quantmap__44c6_s_p6_0,
- 13,
- 13
-};
-
-static static_codebook _44c6_s_p6_0 = {
- 2, 169,
- _vq_lengthlist__44c6_s_p6_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44c6_s_p6_0,
- NULL,
- &_vq_auxt__44c6_s_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c6_s_p6_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c6_s_p6_1[] = {
- 3, 4, 4, 5, 5, 6, 4, 4, 5, 5, 6, 4, 4, 5, 4, 6,
- 5, 5, 5, 5, 6, 6, 6, 5, 5,
-};
-
-static float _vq_quantthresh__44c6_s_p6_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c6_s_p6_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c6_s_p6_1 = {
- _vq_quantthresh__44c6_s_p6_1,
- _vq_quantmap__44c6_s_p6_1,
- 5,
- 5
-};
-
-static static_codebook _44c6_s_p6_1 = {
- 2, 25,
- _vq_lengthlist__44c6_s_p6_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c6_s_p6_1,
- NULL,
- &_vq_auxt__44c6_s_p6_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c6_s_p7_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c6_s_p7_0[] = {
- 1, 4, 4, 7, 7, 8, 8, 9, 9,10,10,11,11, 5, 5, 5,
- 7, 7, 8, 8, 9, 9,11,11,12,12, 6, 5, 5, 7, 7, 9,
- 9, 9, 9,11,11,12,12,19, 7, 7, 7, 7, 9, 9,10,10,
- 11,11,12,12,19, 7, 7, 7, 7, 9, 9,10,10,11,11,12,
- 12,19,11,11, 8, 8,10,10,11,11,11,12,12,12,19,12,
- 12, 8, 8,10, 9,11,11,12,12,13,12,19,19,19,11,11,
- 10,10,11,11,12,12,13,13,19,19,19,11,11,10,10,11,
- 11,12,12,13,13,19,19,19,14,14,11,11,11,12,13,13,
- 13,13,19,19,19,15,15,11,11,12,12,13,12,14,14,19,
- 19,19,19,18,13,13,12,12,13,13,14,14,18,18,18,18,
- 18,13,12,12,12,13,13,14,14,
-};
-
-static float _vq_quantthresh__44c6_s_p7_0[] = {
- -60.5, -49.5, -38.5, -27.5, -16.5, -5.5, 5.5, 16.5,
- 27.5, 38.5, 49.5, 60.5,
-};
-
-static long _vq_quantmap__44c6_s_p7_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c6_s_p7_0 = {
- _vq_quantthresh__44c6_s_p7_0,
- _vq_quantmap__44c6_s_p7_0,
- 13,
- 13
-};
-
-static static_codebook _44c6_s_p7_0 = {
- 2, 169,
- _vq_lengthlist__44c6_s_p7_0,
- 1, -523206656, 1618345984, 4, 0,
- _vq_quantlist__44c6_s_p7_0,
- NULL,
- &_vq_auxt__44c6_s_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c6_s_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44c6_s_p7_1[] = {
- 3, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 9, 5, 5, 7, 7,
- 7, 7, 7, 7, 8, 8, 9, 5, 5, 6, 6, 7, 7, 7, 7, 7,
- 7, 9, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 9, 9, 9, 7,
- 7, 7, 7, 7, 8, 7, 8, 9, 9, 9, 7, 7, 7, 7, 8, 8,
- 8, 8, 9, 9, 9, 7, 7, 7, 7, 7, 7, 7, 7, 9, 9, 9,
- 7, 7, 8, 8, 7, 7, 8, 8, 9, 9, 9, 8, 9, 8, 8, 7,
- 7, 7, 7, 9, 9, 8, 8, 9, 8, 8, 7, 7, 8, 8, 9, 9,
- 9, 9, 8, 7, 7, 7, 7, 8, 8,
-};
-
-static float _vq_quantthresh__44c6_s_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44c6_s_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c6_s_p7_1 = {
- _vq_quantthresh__44c6_s_p7_1,
- _vq_quantmap__44c6_s_p7_1,
- 11,
- 11
-};
-
-static static_codebook _44c6_s_p7_1 = {
- 2, 121,
- _vq_lengthlist__44c6_s_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44c6_s_p7_1,
- NULL,
- &_vq_auxt__44c6_s_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c6_s_p8_0[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__44c6_s_p8_0[] = {
- 1, 4, 4, 7, 7, 8, 8, 7, 7, 9, 9, 9,10,11,11, 6,
- 5, 5, 8, 8, 9, 9, 8, 8, 9, 9,10,10,11,11, 6, 5,
- 5, 8, 8, 9, 9, 8, 8, 9, 9,10,10,11,11,17, 8, 8,
- 8, 8,10,10, 8, 9,10,10,11,11,12,11,17, 8, 8, 9,
- 9,10,10, 9, 9,10,10,11,12,12,12,17,12,13, 9, 9,
- 10,10, 9,10,10,10,11,11,13,12,17,13,13,10, 9,10,
- 10,10,10,10,11,12,11,12,12,17,17,17, 9, 9, 9, 9,
- 10,10,11,11,11,12,12,13,17,17,17, 9, 9, 9, 9,11,
- 10,11,11,12,12,12,13,17,17,17,13,13,10,10,11,11,
- 12,11,12,13,13,13,17,17,17,14,13,10, 9,11, 9,12,
- 12,12,13,13,14,17,17,17,17,17,11,12,11,11,12,12,
- 13,14,13,14,17,17,17,17,17,12,10,11, 8,12,11,13,
- 14,14,14,17,17,16,16,16,13,15,11,12,12,13,13,13,
- 14,14,16,16,16,16,16,14,13,12, 9,13,10,14,13,14,
- 13,
-};
-
-static float _vq_quantthresh__44c6_s_p8_0[] = {
- -136.5, -115.5, -94.5, -73.5, -52.5, -31.5, -10.5, 10.5,
- 31.5, 52.5, 73.5, 94.5, 115.5, 136.5,
-};
-
-static long _vq_quantmap__44c6_s_p8_0[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c6_s_p8_0 = {
- _vq_quantthresh__44c6_s_p8_0,
- _vq_quantmap__44c6_s_p8_0,
- 15,
- 15
-};
-
-static static_codebook _44c6_s_p8_0 = {
- 2, 225,
- _vq_lengthlist__44c6_s_p8_0,
- 1, -520986624, 1620377600, 4, 0,
- _vq_quantlist__44c6_s_p8_0,
- NULL,
- &_vq_auxt__44c6_s_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c6_s_p8_1[] = {
- 10,
- 9,
- 11,
- 8,
- 12,
- 7,
- 13,
- 6,
- 14,
- 5,
- 15,
- 4,
- 16,
- 3,
- 17,
- 2,
- 18,
- 1,
- 19,
- 0,
- 20,
-};
-
-static long _vq_lengthlist__44c6_s_p8_1[] = {
- 3, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9,
- 9, 8, 9, 9, 9,11, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 8,
- 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,11,
- 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9,11,10,11, 7, 7, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,11,11,11, 8, 8, 8, 8,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9, 9, 9, 9,11,11,
- 11, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,10,10, 9,10, 9,
- 10,10, 9,11,11,11, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 10,10, 9,10, 9, 9, 9, 9,11,11,11,11,11, 8, 8, 9,
- 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,10,11,11,11,
- 11,11, 9, 9, 9, 9, 9, 9,10, 9, 9, 9,10,10, 9, 9,
- 9, 9,11,11,11,11,11, 9, 9, 9, 9, 9, 9, 9,10,10,
- 9,10, 9,10,10,10,10,11,11,11,11,11, 9, 9, 9, 9,
- 9, 9,10,10,10,10, 9,10,10, 9,10, 9,11,11,11,11,
- 11,11,11, 9, 9, 9, 9,10, 9,10, 9, 9,10,10,10,10,
- 10,10,11,11,11,11,11,11, 9, 9, 9, 9,10,10,10,10,
- 9,10, 9,10,10, 9,11,11,11,11,11,11,10, 9, 9, 9,
- 9, 9,10, 9,10,10,10,10,10,10,10,11,11,11,11,11,
- 11,11, 9, 9,10,10,10,10,10,10,10,10,10,10,10,10,
- 11,11,11,11,11,11,11,11,11, 9,10, 9,10, 9,10,10,
- 10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,
- 10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,
- 11,11,11,10,10, 9,10,10,10,10, 9,10, 9,10,10,11,
- 11,11,11,11,11,11,11,11,10,10,10, 9,10,10,10,10,
- 10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,
- 10, 9,10,10,10,10,10,10,10,
-};
-
-static float _vq_quantthresh__44c6_s_p8_1[] = {
- -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5,
- -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5,
- 6.5, 7.5, 8.5, 9.5,
-};
-
-static long _vq_quantmap__44c6_s_p8_1[] = {
- 19, 17, 15, 13, 11, 9, 7, 5,
- 3, 1, 0, 2, 4, 6, 8, 10,
- 12, 14, 16, 18, 20,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c6_s_p8_1 = {
- _vq_quantthresh__44c6_s_p8_1,
- _vq_quantmap__44c6_s_p8_1,
- 21,
- 21
-};
-
-static static_codebook _44c6_s_p8_1 = {
- 2, 441,
- _vq_lengthlist__44c6_s_p8_1,
- 1, -529268736, 1611661312, 5, 0,
- _vq_quantlist__44c6_s_p8_1,
- NULL,
- &_vq_auxt__44c6_s_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c6_s_p9_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c6_s_p9_0[] = {
- 1, 4, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 6, 9, 8,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 6, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44c6_s_p9_0[] = {
- -3503.5, -2866.5, -2229.5, -1592.5, -955.5, -318.5, 318.5, 955.5,
- 1592.5, 2229.5, 2866.5, 3503.5,
-};
-
-static long _vq_quantmap__44c6_s_p9_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c6_s_p9_0 = {
- _vq_quantthresh__44c6_s_p9_0,
- _vq_quantmap__44c6_s_p9_0,
- 13,
- 13
-};
-
-static static_codebook _44c6_s_p9_0 = {
- 2, 169,
- _vq_lengthlist__44c6_s_p9_0,
- 1, -511845376, 1630791680, 4, 0,
- _vq_quantlist__44c6_s_p9_0,
- NULL,
- &_vq_auxt__44c6_s_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c6_s_p9_1[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c6_s_p9_1[] = {
- 1, 4, 4, 7, 7, 7, 7, 7, 7, 8, 9,10,11, 6, 6, 6,
- 7, 8, 8, 8, 7, 8, 9,10,11,10, 6, 5, 6, 7, 8, 8,
- 8, 8, 8, 9,10,10,11,14, 9, 8, 8, 8, 9, 8, 8, 9,
- 10,10,12,11,14, 8, 8, 9, 8, 9, 8, 8, 8,11,10,11,
- 11,14,14,13, 8, 9, 9, 9, 9,10,11,11,12,12,13,12,
- 12, 8, 7,10, 9, 9, 9,11,11,11,10,13,13,13, 8, 9,
- 9, 8,12,11,11,11,13,11,13,13,13, 9, 8, 9, 8,10,
- 10,11,10,11,10,13,13,13,12,12, 9,10,11,11,11,12,
- 13,12,13,13,13,13,12,10,10,10, 9,13,12,12,13,13,
- 13,13,13,13,12,12,10,10,12,12,13,13,13,13,13,13,
- 13,12,12,11,12,12,12,12,13,
-};
-
-static float _vq_quantthresh__44c6_s_p9_1[] = {
- -269.5, -220.5, -171.5, -122.5, -73.5, -24.5, 24.5, 73.5,
- 122.5, 171.5, 220.5, 269.5,
-};
-
-static long _vq_quantmap__44c6_s_p9_1[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c6_s_p9_1 = {
- _vq_quantthresh__44c6_s_p9_1,
- _vq_quantmap__44c6_s_p9_1,
- 13,
- 13
-};
-
-static static_codebook _44c6_s_p9_1 = {
- 2, 169,
- _vq_lengthlist__44c6_s_p9_1,
- 1, -518889472, 1622704128, 4, 0,
- _vq_quantlist__44c6_s_p9_1,
- NULL,
- &_vq_auxt__44c6_s_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c6_s_p9_2[] = {
- 24,
- 23,
- 25,
- 22,
- 26,
- 21,
- 27,
- 20,
- 28,
- 19,
- 29,
- 18,
- 30,
- 17,
- 31,
- 16,
- 32,
- 15,
- 33,
- 14,
- 34,
- 13,
- 35,
- 12,
- 36,
- 11,
- 37,
- 10,
- 38,
- 9,
- 39,
- 8,
- 40,
- 7,
- 41,
- 6,
- 42,
- 5,
- 43,
- 4,
- 44,
- 3,
- 45,
- 2,
- 46,
- 1,
- 47,
- 0,
- 48,
-};
-
-static long _vq_lengthlist__44c6_s_p9_2[] = {
- 2, 4, 3, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 7, 6, 7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7,
-};
-
-static float _vq_quantthresh__44c6_s_p9_2[] = {
- -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5,
- -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5,
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
- 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5,
- 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5,
-};
-
-static long _vq_quantmap__44c6_s_p9_2[] = {
- 47, 45, 43, 41, 39, 37, 35, 33,
- 31, 29, 27, 25, 23, 21, 19, 17,
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16, 18, 20, 22, 24, 26, 28, 30,
- 32, 34, 36, 38, 40, 42, 44, 46,
- 48,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c6_s_p9_2 = {
- _vq_quantthresh__44c6_s_p9_2,
- _vq_quantmap__44c6_s_p9_2,
- 49,
- 49
-};
-
-static static_codebook _44c6_s_p9_2 = {
- 1, 49,
- _vq_lengthlist__44c6_s_p9_2,
- 1, -526909440, 1611661312, 6, 0,
- _vq_quantlist__44c6_s_p9_2,
- NULL,
- &_vq_auxt__44c6_s_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c6_s_short[] = {
- 4, 9,11,11,13,13,17,16,17,17, 4, 4, 6, 7, 9, 9,
- 12,15,17,17, 7, 5, 4, 5, 7, 8,11,12,17,17, 9, 6,
- 4, 3, 5, 6,10,14,17,17,11, 8, 6, 4, 5, 6, 9,13,
- 17,17,11,10, 7, 5, 5, 5, 8,12,17,17,13,12, 9, 8,
- 7, 6, 8,11,17,17,13,13, 9, 6, 6, 5, 6, 9,17,17,
- 17,16,10, 8, 7, 7, 8, 9,17,17,17,17,14,12,11,11,
- 11,13,17,17,
-};
-
-static static_codebook _huff_book__44c6_s_short = {
- 2, 100,
- _huff_lengthlist__44c6_s_short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c7_s_long[] = {
- 3, 8,11,13,14,13,13,12,14,16, 6, 4, 5, 7, 9,10,
- 11,11,13,15,10, 4, 3, 5, 7, 7,10,10,14,16,11, 7,
- 4, 4, 5, 6, 8,10,13,15,12, 9, 6, 5, 5, 6, 8, 9,
- 13,15,11, 9, 7, 6, 5, 5, 6, 8,11,13,11,10, 9, 8,
- 7, 6, 6, 7,11,12,12,11,10, 9, 8, 7, 6, 6, 9,11,
- 12,12,12,12,12,10, 9, 8,10,12,12,14,15,16,16,14,
- 12,10,11,13,
-};
-
-static static_codebook _huff_book__44c7_s_long = {
- 2, 100,
- _huff_lengthlist__44c7_s_long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c7_s_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c7_s_p1_0[] = {
- 1, 5, 5, 0, 5, 5, 0, 5, 5, 6, 8, 7, 0, 9, 8, 0,
- 8, 8, 5, 7, 8, 0, 8, 9, 0, 8, 8, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 5, 8, 8, 0, 8, 8, 0, 8, 8, 5, 8, 8,
- 0, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
- 9, 8, 0, 8, 8, 0, 8, 8, 5, 8, 9, 0, 8, 8, 0, 8,
- 8,
-};
-
-static float _vq_quantthresh__44c7_s_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44c7_s_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c7_s_p1_0 = {
- _vq_quantthresh__44c7_s_p1_0,
- _vq_quantmap__44c7_s_p1_0,
- 3,
- 3
-};
-
-static static_codebook _44c7_s_p1_0 = {
- 4, 81,
- _vq_lengthlist__44c7_s_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44c7_s_p1_0,
- NULL,
- &_vq_auxt__44c7_s_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c7_s_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c7_s_p2_0[] = {
- 3, 5, 5, 8, 8, 0, 5, 5, 9, 9, 0, 5, 5, 9, 9, 0,
- 7, 7,10, 9, 0, 0, 0, 9,10, 5, 7, 7, 9, 9, 0, 8,
- 7,10, 9, 0, 8, 7,10, 9, 0,10, 9,11,11, 0, 0, 0,
- 11,11, 6, 7, 7, 9, 9, 0, 7, 8, 9,10, 0, 7, 8,10,
- 10, 0, 9, 9,11,11, 0, 0, 0,11,11, 8, 9, 9,11,10,
- 0,11,10,12,12, 0,11,11,12,12, 0,13,13,14,14, 0,
- 0, 0,14,14, 8, 9, 9,10,11, 0,10,11,11,12, 0,11,
- 11,12,12, 0,13,13,14,14, 0, 0, 0,14,14, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 5, 8, 7,11,11, 0, 7, 7,10,10,
- 0, 7, 7,10,10, 0, 9, 8,11,10, 0, 0, 0,11,11, 5,
- 7, 8,11,11, 0, 7, 7,10,10, 0, 7, 7,10,10, 0, 8,
- 9,10,11, 0, 0, 0,11,11, 9,10,10,12,12, 0,10,10,
- 12,11, 0,10,10,12,12, 0,12,12,13,13, 0, 0, 0,13,
- 13, 9,10,10,12,12, 0,10,10,11,12, 0,10,10,12,12,
- 0,12,12,13,13, 0, 0, 0,13,13, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 5, 8, 7,11,10, 0, 7, 7,10,10, 0, 7, 7,
- 10,10, 0, 9, 9,11,11, 0, 0, 0,11,10, 5, 7, 8,10,
- 11, 0, 7, 7,10,10, 0, 7, 7,10,10, 0, 9, 9,11,11,
- 0, 0, 0,10,11, 9,10, 9,12,11, 0,10,10,12,12, 0,
- 10,10,12,11, 0,12,12,13,13, 0, 0, 0,13,13, 9, 9,
- 10,11,12, 0,10,10,12,12, 0,10,10,11,12, 0,12,12,
- 13,13, 0, 0, 0,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 7, 9, 9,13,13, 0, 9, 8,12,12, 0, 8, 9,12,12, 0,
- 10, 9,12,12, 0, 0, 0,12,12, 7,10, 9,13,13, 0, 9,
- 9,12,12, 0, 9, 8,12,12, 0, 9,10,12,12, 0, 0, 0,
- 12,12,10,11,11,14,14, 0,11,10,13,12, 0,11,11,13,
- 13, 0,12,12,13,13, 0, 0, 0,13,13,10,11,11,14,14,
- 0,10,11,12,13, 0,11,11,13,13, 0,12,12,13,13, 0,
- 0, 0,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,10,
- 11,11,14,14, 0,11,11,13,13, 0,11,10,13,13, 0,12,
- 12,13,13, 0, 0, 0,13,13,10,11,11,14,14, 0,11,11,
- 13,13, 0,10,11,13,13, 0,12,12,13,13, 0, 0, 0,13,
- 13,
-};
-
-static float _vq_quantthresh__44c7_s_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c7_s_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c7_s_p2_0 = {
- _vq_quantthresh__44c7_s_p2_0,
- _vq_quantmap__44c7_s_p2_0,
- 5,
- 5
-};
-
-static static_codebook _44c7_s_p2_0 = {
- 4, 625,
- _vq_lengthlist__44c7_s_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c7_s_p2_0,
- NULL,
- &_vq_auxt__44c7_s_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c7_s_p3_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c7_s_p3_0[] = {
- 2, 4, 4, 5, 5, 7, 7, 8, 8, 0, 4, 4, 6, 6, 7, 7,
- 9, 9, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 5, 5, 6, 6,
- 8, 8,10,10, 0, 0, 0, 6, 6, 8, 8,10,10, 0, 0, 0,
- 7, 7, 9, 9,10,10, 0, 0, 0, 7, 7, 9, 9,10,10, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c7_s_p3_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c7_s_p3_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c7_s_p3_0 = {
- _vq_quantthresh__44c7_s_p3_0,
- _vq_quantmap__44c7_s_p3_0,
- 9,
- 9
-};
-
-static static_codebook _44c7_s_p3_0 = {
- 2, 81,
- _vq_lengthlist__44c7_s_p3_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c7_s_p3_0,
- NULL,
- &_vq_auxt__44c7_s_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c7_s_p4_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c7_s_p4_0[] = {
- 3, 4, 4, 6, 5, 7, 7, 7, 7, 8, 8, 9, 9,10,10,11,
- 11, 0, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9,10,10,10,
- 11,11, 0, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8,10,10,10,
- 11,11,11, 0, 5, 5, 6, 6, 8, 8, 9, 9, 9, 9,10,10,
- 11,11,12,12, 0, 0, 0, 6, 6, 8, 8, 9, 9, 9, 9,10,
- 10,11,11,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9,10,10,
- 11,11,12,12,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9,10,
- 10,11,11,12,12,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9,
- 10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 8, 8, 9,
- 9,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c7_s_p4_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c7_s_p4_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c7_s_p4_0 = {
- _vq_quantthresh__44c7_s_p4_0,
- _vq_quantmap__44c7_s_p4_0,
- 17,
- 17
-};
-
-static static_codebook _44c7_s_p4_0 = {
- 2, 289,
- _vq_lengthlist__44c7_s_p4_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c7_s_p4_0,
- NULL,
- &_vq_auxt__44c7_s_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c7_s_p5_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c7_s_p5_0[] = {
- 1, 4, 4, 5, 7, 7, 5, 7, 7, 4, 7, 7,10,11,10,10,
- 11,11, 4, 7, 7,10,10,11,10,10,11, 5,10,10, 9,12,
- 11,10,12,12, 7,11,10,12,12,12,12,13,13, 7,10,11,
- 11,12,12,12,13,13, 5,10,10,10,12,12,10,12,12, 7,
- 11,10,12,13,13,12,12,12, 7,10,11,12,13,13,12,12,
- 12,
-};
-
-static float _vq_quantthresh__44c7_s_p5_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44c7_s_p5_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c7_s_p5_0 = {
- _vq_quantthresh__44c7_s_p5_0,
- _vq_quantmap__44c7_s_p5_0,
- 3,
- 3
-};
-
-static static_codebook _44c7_s_p5_0 = {
- 4, 81,
- _vq_lengthlist__44c7_s_p5_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44c7_s_p5_0,
- NULL,
- &_vq_auxt__44c7_s_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c7_s_p5_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44c7_s_p5_1[] = {
- 3, 5, 5, 6, 6, 7, 7, 8, 8, 8, 9,12, 4, 4, 6, 6,
- 7, 7, 8, 8, 9, 9,11, 5, 5, 6, 6, 7, 7, 8, 8, 9,
- 9,12, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,12,12,12, 6,
- 6, 7, 7, 8, 8, 9, 9,12,12,12, 6, 6, 7, 7, 8, 8,
- 9, 9,12,11,11, 6, 6, 7, 7, 8, 8, 9, 9,12,12,11,
- 7, 7, 8, 8, 8, 8, 8, 8,12,12,12,11,11, 8, 8, 8,
- 8, 8, 8,12,12,12,11,11, 7, 7, 7, 7, 8, 8,12,12,
- 12,11,11, 7, 7, 7, 7, 8, 8,
-};
-
-static float _vq_quantthresh__44c7_s_p5_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44c7_s_p5_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c7_s_p5_1 = {
- _vq_quantthresh__44c7_s_p5_1,
- _vq_quantmap__44c7_s_p5_1,
- 11,
- 11
-};
-
-static static_codebook _44c7_s_p5_1 = {
- 2, 121,
- _vq_lengthlist__44c7_s_p5_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44c7_s_p5_1,
- NULL,
- &_vq_auxt__44c7_s_p5_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c7_s_p6_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c7_s_p6_0[] = {
- 1, 4, 4, 7, 7, 8, 8, 9, 9,10, 9,10,10, 5, 5, 5,
- 7, 7, 9, 9, 9, 9,10,10,11,11, 6, 5, 5, 7, 7, 9,
- 9, 9, 9,11,10,11,11, 0, 6, 6, 7, 7, 9, 9,10,10,
- 11,11,12,12, 0, 7, 7, 7, 7, 9, 9,10,10,11,11,12,
- 12, 0,11,10, 8, 8,10,10,11,11,11,12,12,12, 0,11,
- 11, 8, 8,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,
-};
-
-static float _vq_quantthresh__44c7_s_p6_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44c7_s_p6_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c7_s_p6_0 = {
- _vq_quantthresh__44c7_s_p6_0,
- _vq_quantmap__44c7_s_p6_0,
- 13,
- 13
-};
-
-static static_codebook _44c7_s_p6_0 = {
- 2, 169,
- _vq_lengthlist__44c7_s_p6_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44c7_s_p6_0,
- NULL,
- &_vq_auxt__44c7_s_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c7_s_p6_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c7_s_p6_1[] = {
- 3, 4, 4, 5, 5, 6, 4, 4, 5, 5, 6, 4, 4, 4, 5, 6,
- 5, 5, 5, 5, 6, 6, 6, 5, 5,
-};
-
-static float _vq_quantthresh__44c7_s_p6_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c7_s_p6_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c7_s_p6_1 = {
- _vq_quantthresh__44c7_s_p6_1,
- _vq_quantmap__44c7_s_p6_1,
- 5,
- 5
-};
-
-static static_codebook _44c7_s_p6_1 = {
- 2, 25,
- _vq_lengthlist__44c7_s_p6_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c7_s_p6_1,
- NULL,
- &_vq_auxt__44c7_s_p6_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c7_s_p7_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c7_s_p7_0[] = {
- 1, 4, 4, 7, 7, 8, 8, 9, 9,10,10,11,11, 5, 5, 5,
- 7, 7, 9, 8, 9, 9,11,11,12,12, 6, 5, 5, 7, 7, 9,
- 9, 9,10,11,11,12,12,20, 7, 7, 7, 7, 9, 9,10,10,
- 11,11,12,12,20, 7, 7, 7, 7, 9, 9,10,10,11,11,12,
- 12,20,11,11, 8, 8,10, 9,11,11,11,11,12,12,20,12,
- 12, 8, 8, 9, 9,11,11,12,12,12,12,20,20,20,11,11,
- 10,10,11,11,12,12,13,13,20,20,20,11,11,10,10,11,
- 11,12,12,13,13,20,20,20,14,14,11,11,11,12,13,13,
- 13,13,20,20,20,15,14,11,11,11,11,13,13,14,14,20,
- 20,20,20,19,12,12,12,12,13,13,14,14,19,19,19,19,
- 19,13,12,12,12,13,13,14,14,
-};
-
-static float _vq_quantthresh__44c7_s_p7_0[] = {
- -60.5, -49.5, -38.5, -27.5, -16.5, -5.5, 5.5, 16.5,
- 27.5, 38.5, 49.5, 60.5,
-};
-
-static long _vq_quantmap__44c7_s_p7_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c7_s_p7_0 = {
- _vq_quantthresh__44c7_s_p7_0,
- _vq_quantmap__44c7_s_p7_0,
- 13,
- 13
-};
-
-static static_codebook _44c7_s_p7_0 = {
- 2, 169,
- _vq_lengthlist__44c7_s_p7_0,
- 1, -523206656, 1618345984, 4, 0,
- _vq_quantlist__44c7_s_p7_0,
- NULL,
- &_vq_auxt__44c7_s_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c7_s_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44c7_s_p7_1[] = {
- 3, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 9, 5, 5, 6, 6,
- 7, 7, 7, 7, 8, 8, 9, 5, 5, 6, 6, 7, 7, 7, 7, 7,
- 7, 9, 6, 6, 7, 7, 7, 7, 8, 8, 7, 8, 9, 9, 9, 7,
- 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 7, 7, 7, 7, 8, 8,
- 8, 8, 9, 9, 9, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9,
- 7, 7, 8, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 7, 7, 7,
- 7, 8, 7, 9, 9, 9, 9, 9, 8, 8, 7, 7, 8, 8, 9, 9,
- 9, 9, 9, 7, 7, 7, 7, 8, 8,
-};
-
-static float _vq_quantthresh__44c7_s_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44c7_s_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c7_s_p7_1 = {
- _vq_quantthresh__44c7_s_p7_1,
- _vq_quantmap__44c7_s_p7_1,
- 11,
- 11
-};
-
-static static_codebook _44c7_s_p7_1 = {
- 2, 121,
- _vq_lengthlist__44c7_s_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44c7_s_p7_1,
- NULL,
- &_vq_auxt__44c7_s_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c7_s_p8_0[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__44c7_s_p8_0[] = {
- 1, 4, 4, 7, 7, 8, 8, 8, 8, 9, 9, 9,10,11,11, 6,
- 5, 5, 8, 8, 9, 9, 8, 8, 9, 9,10,10,11,11, 6, 5,
- 5, 8, 8, 9, 9, 8, 8, 9, 9,10,10,11,11,17, 8, 8,
- 8, 8,10, 9, 8, 9,10,10,11,11,11,11,17, 8, 8, 8,
- 8,10,10, 9, 9,10,10,11,11,12,12,17,12,13, 9, 9,
- 10,10, 9, 9,10,11,11,11,12,12,17,13,13, 9, 9,10,
- 10,10,10,10,10,11,11,12,12,17,17,17, 9, 9, 9, 9,
- 10,10,11,11,11,12,12,12,17,17,17, 9, 9, 9, 9,11,
- 10,11,12,11,12,13,12,17,17,17,13,14,10,10,10,11,
- 12,11,12,12,12,13,17,17,17,14,14,10, 9,10, 9,12,
- 12,12,12,13,13,17,17,17,17,17,11,11,11,11,11,12,
- 13,13,13,14,17,17,17,17,17,12,10,11, 9,12,11,13,
- 15,14,14,17,17,17,17,17,14,15,11,12,12,13,13,12,
- 14,14,17,16,16,16,16,15,13,12, 9,12,10,14,12,15,
- 14,
-};
-
-static float _vq_quantthresh__44c7_s_p8_0[] = {
- -136.5, -115.5, -94.5, -73.5, -52.5, -31.5, -10.5, 10.5,
- 31.5, 52.5, 73.5, 94.5, 115.5, 136.5,
-};
-
-static long _vq_quantmap__44c7_s_p8_0[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c7_s_p8_0 = {
- _vq_quantthresh__44c7_s_p8_0,
- _vq_quantmap__44c7_s_p8_0,
- 15,
- 15
-};
-
-static static_codebook _44c7_s_p8_0 = {
- 2, 225,
- _vq_lengthlist__44c7_s_p8_0,
- 1, -520986624, 1620377600, 4, 0,
- _vq_quantlist__44c7_s_p8_0,
- NULL,
- &_vq_auxt__44c7_s_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c7_s_p8_1[] = {
- 10,
- 9,
- 11,
- 8,
- 12,
- 7,
- 13,
- 6,
- 14,
- 5,
- 15,
- 4,
- 16,
- 3,
- 17,
- 2,
- 18,
- 1,
- 19,
- 0,
- 20,
-};
-
-static long _vq_lengthlist__44c7_s_p8_1[] = {
- 3, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9,
- 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 8,
- 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,11,
- 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9,11,11,11, 7, 7, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,11,11,11, 8, 8, 8, 8,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,11,11,
- 11, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,10, 9, 9, 9, 9,
- 10,10, 9,11,11,11, 8, 9, 9, 8, 9, 9, 9, 9, 9, 9,
- 9, 9,10,10, 9, 9,10, 9,11,11,11,11,11, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,11,10,11,
- 11,11, 9, 9, 9, 9, 9, 9,10, 9,10,10,10,10,10, 9,
- 9,10,11,11,11,11,11, 9, 9, 9, 9, 9, 9, 9, 9,10,
- 10, 9, 9,10,10,10,10,11,11,11,11,11, 9, 9, 9, 9,
- 9, 9, 9,10,10,10, 9,10,10,10,10, 9,11,11,10,11,
- 11,11,11, 9, 9, 9, 9,10,10,10,10,10,10,10, 9,10,
- 10,10,11,11,11,11,11,11, 9, 9, 9, 9, 9,10,10,10,
- 10,10, 9, 9,10, 9,11,10,11,11,11,11,11, 9, 9, 9,
- 9, 9,10,10, 9,10,10,10,10,10,10,11,11,11,11,11,
- 11,11,10, 9,10, 9,10,10,10,10,10,10,10,10,10, 9,
- 10,11,10,11,11,11,11,11,10, 9, 9,10,10,10,10,10,
- 10,10,10,10,10,11,11,11,11,11,11,11,10,11,10,10,
- 10,10,10,10,10,10, 9,10,10, 9,11,11,11,11,11,10,
- 11,11,11,10,10, 9, 9,10,10,10,10,10, 9,10,10,11,
- 11,11,11,11,10,11,11,11,10,10, 9, 9,10,10,10,10,
- 10,10,10,10,11,11,11,11,11,11,11,11,11,11,11, 9,
- 9, 9, 9,10,10,10,10,10,10,
-};
-
-static float _vq_quantthresh__44c7_s_p8_1[] = {
- -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5,
- -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5,
- 6.5, 7.5, 8.5, 9.5,
-};
-
-static long _vq_quantmap__44c7_s_p8_1[] = {
- 19, 17, 15, 13, 11, 9, 7, 5,
- 3, 1, 0, 2, 4, 6, 8, 10,
- 12, 14, 16, 18, 20,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c7_s_p8_1 = {
- _vq_quantthresh__44c7_s_p8_1,
- _vq_quantmap__44c7_s_p8_1,
- 21,
- 21
-};
-
-static static_codebook _44c7_s_p8_1 = {
- 2, 441,
- _vq_lengthlist__44c7_s_p8_1,
- 1, -529268736, 1611661312, 5, 0,
- _vq_quantlist__44c7_s_p8_1,
- NULL,
- &_vq_auxt__44c7_s_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c7_s_p9_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c7_s_p9_0[] = {
- 1, 4, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 9, 8,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 6, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44c7_s_p9_0[] = {
- -3503.5, -2866.5, -2229.5, -1592.5, -955.5, -318.5, 318.5, 955.5,
- 1592.5, 2229.5, 2866.5, 3503.5,
-};
-
-static long _vq_quantmap__44c7_s_p9_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c7_s_p9_0 = {
- _vq_quantthresh__44c7_s_p9_0,
- _vq_quantmap__44c7_s_p9_0,
- 13,
- 13
-};
-
-static static_codebook _44c7_s_p9_0 = {
- 2, 169,
- _vq_lengthlist__44c7_s_p9_0,
- 1, -511845376, 1630791680, 4, 0,
- _vq_quantlist__44c7_s_p9_0,
- NULL,
- &_vq_auxt__44c7_s_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c7_s_p9_1[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c7_s_p9_1[] = {
- 1, 4, 4, 7, 7, 7, 7, 7, 7, 9, 8,10,10, 6, 6, 6,
- 7, 8, 8, 8, 8, 8, 9, 9,10,11, 6, 5, 6, 8, 7, 8,
- 8, 8, 8, 9, 9,10,11,14, 9, 8, 9, 8, 9, 8, 8, 9,
- 10,10,11,11,14, 8, 9, 8, 8, 8, 9, 9, 8,12,10,11,
- 11,14,13,13, 8, 9, 9, 9, 9,10,10,12,12,12,14,14,
- 13, 8, 7,10, 9, 9,10,10,11,11,10,14,14,14, 8, 9,
- 9, 8,11,10,12,11,11,11,14,14,14, 9, 7, 9, 8,10,
- 10,11,11,11,10,14,14,14,12,12,10, 9,11,11,11,13,
- 12,13,14,14,14,12,12,10,10,11, 8,11,11,14,13,14,
- 14,14,14,14,12,13,11,12,12,11,14,13,13,13,13,13,
- 13,12,11,11, 9,12,12,12,13,
-};
-
-static float _vq_quantthresh__44c7_s_p9_1[] = {
- -269.5, -220.5, -171.5, -122.5, -73.5, -24.5, 24.5, 73.5,
- 122.5, 171.5, 220.5, 269.5,
-};
-
-static long _vq_quantmap__44c7_s_p9_1[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c7_s_p9_1 = {
- _vq_quantthresh__44c7_s_p9_1,
- _vq_quantmap__44c7_s_p9_1,
- 13,
- 13
-};
-
-static static_codebook _44c7_s_p9_1 = {
- 2, 169,
- _vq_lengthlist__44c7_s_p9_1,
- 1, -518889472, 1622704128, 4, 0,
- _vq_quantlist__44c7_s_p9_1,
- NULL,
- &_vq_auxt__44c7_s_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c7_s_p9_2[] = {
- 24,
- 23,
- 25,
- 22,
- 26,
- 21,
- 27,
- 20,
- 28,
- 19,
- 29,
- 18,
- 30,
- 17,
- 31,
- 16,
- 32,
- 15,
- 33,
- 14,
- 34,
- 13,
- 35,
- 12,
- 36,
- 11,
- 37,
- 10,
- 38,
- 9,
- 39,
- 8,
- 40,
- 7,
- 41,
- 6,
- 42,
- 5,
- 43,
- 4,
- 44,
- 3,
- 45,
- 2,
- 46,
- 1,
- 47,
- 0,
- 48,
-};
-
-static long _vq_lengthlist__44c7_s_p9_2[] = {
- 2, 4, 3, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7,
-};
-
-static float _vq_quantthresh__44c7_s_p9_2[] = {
- -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5,
- -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5,
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
- 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5,
- 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5,
-};
-
-static long _vq_quantmap__44c7_s_p9_2[] = {
- 47, 45, 43, 41, 39, 37, 35, 33,
- 31, 29, 27, 25, 23, 21, 19, 17,
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16, 18, 20, 22, 24, 26, 28, 30,
- 32, 34, 36, 38, 40, 42, 44, 46,
- 48,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c7_s_p9_2 = {
- _vq_quantthresh__44c7_s_p9_2,
- _vq_quantmap__44c7_s_p9_2,
- 49,
- 49
-};
-
-static static_codebook _44c7_s_p9_2 = {
- 1, 49,
- _vq_lengthlist__44c7_s_p9_2,
- 1, -526909440, 1611661312, 6, 0,
- _vq_quantlist__44c7_s_p9_2,
- NULL,
- &_vq_auxt__44c7_s_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c7_s_short[] = {
- 4,10,12,13,15,15,16,16,17,17, 5, 5, 7, 8, 9, 9,
- 12,17,18,18, 7, 5, 4, 5, 7, 8,10,13,18,18, 8, 6,
- 5, 4, 5, 6, 9,12,17,18,10, 9, 6, 4, 4, 5, 8,12,
- 18,17,11, 9, 7, 5, 4, 4, 6,10,17,17,13,12,10, 8,
- 6, 5, 6, 9,17,17,14,13,12, 7, 6, 5, 5, 8,16,17,
- 16,15,14, 8, 8, 7, 7, 9,14,17,17,17,17,12,11,11,
- 11,12,16,17,
-};
-
-static static_codebook _huff_book__44c7_s_short = {
- 2, 100,
- _huff_lengthlist__44c7_s_short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c8_s_long[] = {
- 3, 8,12,14,14,13,13,12,13,15, 6, 4, 6, 8,10,10,
- 11,11,13,15, 9, 5, 4, 5, 7, 8, 9,10,13,15,11, 7,
- 4, 4, 5, 6, 8, 9,13,14,12, 9, 6, 5, 5, 5, 7, 9,
- 12,14,11,10, 7, 6, 5, 4, 6, 7,11,12,11,10, 9, 8,
- 7, 5, 6, 6,10,11,12,11,10, 9, 8, 6, 6, 5, 8,10,
- 12,12,12,11,11,10, 9, 7, 8,11,12,13,14,14,15,13,
- 10, 9, 9,11,
-};
-
-static static_codebook _huff_book__44c8_s_long = {
- 2, 100,
- _huff_lengthlist__44c8_s_long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c8_s_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c8_s_p1_0[] = {
- 1, 5, 5, 0, 5, 5, 0, 5, 5, 6, 7, 7, 0, 9, 8, 0,
- 8, 8, 6, 7, 8, 0, 8, 9, 0, 8, 8, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 5, 8, 8, 0, 8, 8, 0, 8, 8, 5, 8, 8,
- 0, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
- 8, 8, 0, 8, 8, 0, 8, 7, 5, 8, 8, 0, 8, 8, 0, 7,
- 8,
-};
-
-static float _vq_quantthresh__44c8_s_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44c8_s_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c8_s_p1_0 = {
- _vq_quantthresh__44c8_s_p1_0,
- _vq_quantmap__44c8_s_p1_0,
- 3,
- 3
-};
-
-static static_codebook _44c8_s_p1_0 = {
- 4, 81,
- _vq_lengthlist__44c8_s_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44c8_s_p1_0,
- NULL,
- &_vq_auxt__44c8_s_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c8_s_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c8_s_p2_0[] = {
- 3, 5, 5, 8, 8, 0, 6, 6, 8, 8, 0, 5, 6, 8, 8, 0,
- 7, 7, 9, 9, 0, 0, 0, 9, 9, 5, 7, 6, 9, 9, 0, 7,
- 7,10, 9, 0, 7, 7,10, 9, 0, 9, 9,11,11, 0, 0, 0,
- 11,11, 5, 6, 7, 9, 9, 0, 7, 7, 9,10, 0, 7, 7, 9,
- 10, 0, 9, 9,11,11, 0, 0, 0,11,11, 8, 9, 9,11,10,
- 0,11,10,12,11, 0,10,10,12,11, 0,13,13,14,13, 0,
- 0, 0,14,13, 8, 9, 9,10,11, 0,10,11,11,12, 0,10,
- 10,12,12, 0,13,13,13,14, 0, 0, 0,13,14, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 6, 7, 7,10,10, 0, 7, 7,10,10,
- 0, 7, 7,10,10, 0, 9, 8,10,10, 0, 0, 0,10,10, 6,
- 7, 7,10,10, 0, 7, 7,10,10, 0, 7, 7,10,10, 0, 8,
- 9,10,10, 0, 0, 0,10,10, 8,10, 9,12,12, 0,10, 9,
- 12,11, 0,10,10,11,12, 0,12,11,13,12, 0, 0, 0,13,
- 13, 8, 9,10,11,12, 0, 9,10,11,12, 0,10,10,11,12,
- 0,11,12,12,13, 0, 0, 0,13,13, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 6, 8, 7,11,10, 0, 7, 7,10,10, 0, 7, 7,
- 10, 9, 0, 8, 9,10,10, 0, 0, 0,10,10, 6, 7, 8,10,
- 11, 0, 7, 7,10,10, 0, 7, 7,10,10, 0, 9, 8,10,10,
- 0, 0, 0,10,10, 8,10, 9,12,11, 0,10,10,12,11, 0,
- 10,10,12,11, 0,11,12,13,12, 0, 0, 0,13,12, 9, 9,
- 10,11,12, 0,10,10,11,12, 0,10,10,11,12, 0,12,11,
- 12,13, 0, 0, 0,12,13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 7, 9, 9,12,13, 0, 9, 8,12,11, 0, 8, 9,11,12, 0,
- 10, 9,12,11, 0, 0, 0,11,12, 7, 9, 9,13,13, 0, 9,
- 9,11,12, 0, 9, 8,12,11, 0, 9,10,11,12, 0, 0, 0,
- 12,11, 9,11,11,14,13, 0,10,10,13,12, 0,10,10,13,
- 13, 0,12,11,13,12, 0, 0, 0,13,13, 9,11,11,13,14,
- 0,10,10,12,13, 0,10,10,13,13, 0,11,12,12,13, 0,
- 0, 0,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,
- 11,11,14,13, 0,10,10,13,12, 0,10,10,13,12, 0,11,
- 12,13,13, 0, 0, 0,13,12, 9,11,11,13,14, 0,10,10,
- 13,13, 0,10,10,12,13, 0,12,11,13,13, 0, 0, 0,12,
- 13,
-};
-
-static float _vq_quantthresh__44c8_s_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c8_s_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c8_s_p2_0 = {
- _vq_quantthresh__44c8_s_p2_0,
- _vq_quantmap__44c8_s_p2_0,
- 5,
- 5
-};
-
-static static_codebook _44c8_s_p2_0 = {
- 4, 625,
- _vq_lengthlist__44c8_s_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c8_s_p2_0,
- NULL,
- &_vq_auxt__44c8_s_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c8_s_p3_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c8_s_p3_0[] = {
- 3, 3, 4, 5, 5, 7, 6, 8, 8, 0, 4, 4, 5, 5, 7, 7,
- 9, 9, 0, 4, 4, 5, 6, 7, 7, 9, 9, 0, 5, 5, 6, 6,
- 8, 8,10,10, 0, 0, 0, 6, 6, 8, 8,10,10, 0, 0, 0,
- 7, 7, 8, 8,10,10, 0, 0, 0, 7, 7, 8, 8,10,10, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c8_s_p3_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c8_s_p3_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c8_s_p3_0 = {
- _vq_quantthresh__44c8_s_p3_0,
- _vq_quantmap__44c8_s_p3_0,
- 9,
- 9
-};
-
-static static_codebook _44c8_s_p3_0 = {
- 2, 81,
- _vq_lengthlist__44c8_s_p3_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c8_s_p3_0,
- NULL,
- &_vq_auxt__44c8_s_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c8_s_p4_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c8_s_p4_0[] = {
- 3, 4, 4, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10,10,
- 10, 0, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10,10,10,
- 11,11, 0, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,
- 10,11,11, 0, 5, 5, 6, 6, 8, 8, 9, 9, 9, 9,10,10,
- 11,11,12,12, 0, 0, 0, 6, 6, 8, 8, 9, 9, 9, 9,10,
- 10,11,11,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9,10,10,
- 11,11,12,12,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9,10,
- 10,11,11,12,12,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9,
- 10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 8, 8, 9,
- 9,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c8_s_p4_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c8_s_p4_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c8_s_p4_0 = {
- _vq_quantthresh__44c8_s_p4_0,
- _vq_quantmap__44c8_s_p4_0,
- 17,
- 17
-};
-
-static static_codebook _44c8_s_p4_0 = {
- 2, 289,
- _vq_lengthlist__44c8_s_p4_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c8_s_p4_0,
- NULL,
- &_vq_auxt__44c8_s_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c8_s_p5_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c8_s_p5_0[] = {
- 1, 4, 4, 5, 7, 7, 6, 7, 7, 4, 6, 6,10,10,10,10,
- 10,10, 4, 6, 6,10,10,10,10,10,10, 5,10,10, 9,12,
- 12,10,12,12, 7,10,10,12,12,12,12,12,12, 7,10,10,
- 12,12,12,12,12,13, 6,10,10,10,12,12,11,12,12, 8,
- 10,10,12,13,12,12,12,12, 7,10,10,12,12,13,12,13,
- 12,
-};
-
-static float _vq_quantthresh__44c8_s_p5_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44c8_s_p5_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c8_s_p5_0 = {
- _vq_quantthresh__44c8_s_p5_0,
- _vq_quantmap__44c8_s_p5_0,
- 3,
- 3
-};
-
-static static_codebook _44c8_s_p5_0 = {
- 4, 81,
- _vq_lengthlist__44c8_s_p5_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44c8_s_p5_0,
- NULL,
- &_vq_auxt__44c8_s_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c8_s_p5_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44c8_s_p5_1[] = {
- 4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7,10, 4, 4, 6, 6,
- 7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8,
- 8,11, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,11,11,11, 6,
- 6, 7, 7, 8, 8, 8, 8,11,11,11, 6, 6, 7, 7, 8, 8,
- 8, 8,11,11,11, 6, 6, 7, 7, 8, 8, 8, 8,11,11,11,
- 7, 7, 7, 7, 8, 8, 8, 8,11,11,11,11,11, 7, 7, 8,
- 8, 8, 8,11,11,11,11,11, 7, 7, 7, 7, 8, 8,11,11,
- 11,11,11, 7, 7, 7, 7, 8, 8,
-};
-
-static float _vq_quantthresh__44c8_s_p5_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44c8_s_p5_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c8_s_p5_1 = {
- _vq_quantthresh__44c8_s_p5_1,
- _vq_quantmap__44c8_s_p5_1,
- 11,
- 11
-};
-
-static static_codebook _44c8_s_p5_1 = {
- 2, 121,
- _vq_lengthlist__44c8_s_p5_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44c8_s_p5_1,
- NULL,
- &_vq_auxt__44c8_s_p5_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c8_s_p6_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c8_s_p6_0[] = {
- 1, 4, 4, 7, 6, 8, 8, 9, 9,10,10,11,11, 5, 5, 5,
- 7, 7, 9, 9,10, 9,11,11,12,12, 6, 5, 5, 7, 7, 9,
- 9,10,10,11,11,12,12, 0, 6, 6, 7, 7, 9, 9,10,10,
- 11,11,12,12, 0, 7, 7, 7, 7, 9, 9,10,10,12,12,12,
- 12, 0,10,10, 8, 8,10,10,11,11,12,12,13,13, 0,11,
- 11, 8, 8,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,
-};
-
-static float _vq_quantthresh__44c8_s_p6_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44c8_s_p6_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c8_s_p6_0 = {
- _vq_quantthresh__44c8_s_p6_0,
- _vq_quantmap__44c8_s_p6_0,
- 13,
- 13
-};
-
-static static_codebook _44c8_s_p6_0 = {
- 2, 169,
- _vq_lengthlist__44c8_s_p6_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44c8_s_p6_0,
- NULL,
- &_vq_auxt__44c8_s_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c8_s_p6_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c8_s_p6_1[] = {
- 3, 4, 4, 5, 5, 5, 4, 4, 5, 5, 5, 4, 4, 5, 5, 6,
- 5, 5, 5, 5, 6, 6, 6, 5, 5,
-};
-
-static float _vq_quantthresh__44c8_s_p6_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c8_s_p6_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c8_s_p6_1 = {
- _vq_quantthresh__44c8_s_p6_1,
- _vq_quantmap__44c8_s_p6_1,
- 5,
- 5
-};
-
-static static_codebook _44c8_s_p6_1 = {
- 2, 25,
- _vq_lengthlist__44c8_s_p6_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c8_s_p6_1,
- NULL,
- &_vq_auxt__44c8_s_p6_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c8_s_p7_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c8_s_p7_0[] = {
- 1, 4, 4, 7, 7, 8, 8, 9, 9,10,10,11,11, 5, 5, 5,
- 7, 7, 9, 9,10,10,11,11,12,12, 6, 5, 5, 7, 7, 9,
- 9,10,10,11,11,12,12,20, 6, 7, 7, 7, 9, 9,10,10,
- 11,11,12,12,20, 7, 7, 7, 7, 9, 9,10,10,11,11,12,
- 12,20,11,11, 8, 8,10,10,11,11,12,12,12,12,20,12,
- 12, 8, 8,10, 9,11,11,12,12,13,13,20,20,20,11,10,
- 10,10,11,11,12,12,13,13,20,20,20,10,11,10,10,11,
- 11,12,12,13,13,20,20,20,14,15,11,11,12,12,13,13,
- 14,13,20,20,20,15,15,11,11,12,12,13,13,14,14,20,
- 20,20,20,19,13,13,12,12,13,13,14,14,19,19,19,19,
- 19,13,13,12,12,13,13,14,14,
-};
-
-static float _vq_quantthresh__44c8_s_p7_0[] = {
- -60.5, -49.5, -38.5, -27.5, -16.5, -5.5, 5.5, 16.5,
- 27.5, 38.5, 49.5, 60.5,
-};
-
-static long _vq_quantmap__44c8_s_p7_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c8_s_p7_0 = {
- _vq_quantthresh__44c8_s_p7_0,
- _vq_quantmap__44c8_s_p7_0,
- 13,
- 13
-};
-
-static static_codebook _44c8_s_p7_0 = {
- 2, 169,
- _vq_lengthlist__44c8_s_p7_0,
- 1, -523206656, 1618345984, 4, 0,
- _vq_quantlist__44c8_s_p7_0,
- NULL,
- &_vq_auxt__44c8_s_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c8_s_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44c8_s_p7_1[] = {
- 4, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 5, 5, 7, 7,
- 7, 7, 7, 7, 7, 7, 8, 5, 5, 7, 7, 7, 7, 7, 7, 7,
- 7, 8, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 7,
- 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 7, 7, 7, 7, 7, 7,
- 7, 7, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8,
- 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 7, 7, 7,
- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 8, 8,
- 8, 8, 8, 7, 7, 7, 7, 7, 7,
-};
-
-static float _vq_quantthresh__44c8_s_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44c8_s_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c8_s_p7_1 = {
- _vq_quantthresh__44c8_s_p7_1,
- _vq_quantmap__44c8_s_p7_1,
- 11,
- 11
-};
-
-static static_codebook _44c8_s_p7_1 = {
- 2, 121,
- _vq_lengthlist__44c8_s_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44c8_s_p7_1,
- NULL,
- &_vq_auxt__44c8_s_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c8_s_p8_0[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__44c8_s_p8_0[] = {
- 1, 4, 4, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11,11, 6,
- 5, 5, 7, 7, 9, 9, 8, 8,10,10,11,11,11,12, 6, 5,
- 5, 7, 7, 9, 9, 9, 8,10,10,11,10,11,12,18, 8, 8,
- 8, 8, 9, 9, 9, 9,10,10,11,11,12,12,18, 8, 8, 8,
- 8, 9, 9, 9, 9,10,10,11,11,12,13,18,12,12, 9, 9,
- 10,10, 9, 9,10,11,11,12,13,12,18,12,12, 9, 9,10,
- 10,10,10,10,11,11,12,13,13,18,18,18, 9, 9, 9, 9,
- 10,10,11,11,12,12,12,12,18,18,18, 9, 9, 9, 9,10,
- 10,11,11,12,12,13,13,18,18,18,13,13,10,10,11,11,
- 12,11,12,12,13,13,18,18,18,14,14,10, 9,11,10,12,
- 12,12,12,13,13,18,18,18,18,18,11,12,11,11,12,12,
- 13,13,14,13,18,18,18,18,18,12,11,11,10,12,11,13,
- 13,13,14,18,18,18,18,18,15,16,12,12,12,13,13,13,
- 14,14,18,17,17,17,17,16,14,12,11,12,11,13,12,15,
- 14,
-};
-
-static float _vq_quantthresh__44c8_s_p8_0[] = {
- -136.5, -115.5, -94.5, -73.5, -52.5, -31.5, -10.5, 10.5,
- 31.5, 52.5, 73.5, 94.5, 115.5, 136.5,
-};
-
-static long _vq_quantmap__44c8_s_p8_0[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c8_s_p8_0 = {
- _vq_quantthresh__44c8_s_p8_0,
- _vq_quantmap__44c8_s_p8_0,
- 15,
- 15
-};
-
-static static_codebook _44c8_s_p8_0 = {
- 2, 225,
- _vq_lengthlist__44c8_s_p8_0,
- 1, -520986624, 1620377600, 4, 0,
- _vq_quantlist__44c8_s_p8_0,
- NULL,
- &_vq_auxt__44c8_s_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c8_s_p8_1[] = {
- 10,
- 9,
- 11,
- 8,
- 12,
- 7,
- 13,
- 6,
- 14,
- 5,
- 15,
- 4,
- 16,
- 3,
- 17,
- 2,
- 18,
- 1,
- 19,
- 0,
- 20,
-};
-
-static long _vq_lengthlist__44c8_s_p8_1[] = {
- 4, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 9, 9, 9, 9,10, 6, 6, 7, 7, 8, 8, 8, 8, 9, 8,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 8,
- 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,
- 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9,10,10,10, 8, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10, 8, 8, 8, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,
- 10, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9,10,10,11, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,11,11,10,11,10, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,
- 10,10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9,10,
- 9, 9,10,11,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9,10,10,11,10,10, 9, 9, 9, 9,
- 9, 9, 9, 9,10, 9, 9, 9, 9, 9, 9, 9,11,10,11,10,
- 10,10,10, 9, 9, 9, 9, 9, 9,10, 9, 9, 9, 9, 9, 9,
- 9,11,11,11,10,10,11,10, 9, 9, 9, 9, 9, 9,10,10,
- 9, 9, 9, 9, 9, 9,10,11,10,10,10,11,10, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9,10, 9,10, 9,11,11,10,10,10,
- 10,10, 9, 9, 9,10,10, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 10,10,11,10,10,10,10,10,10, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9,10,10,11,11,10,11,10,10,10,10,10,10, 9,
- 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,
- 10,10,10, 9,10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,
- 10,10,10,10,10,10,10,10,10,10, 9, 9, 9, 9, 9, 9,
- 9, 9,10, 9,10,10,10,10,10,10,10,10,10,10,10, 9,
- 9, 9, 9,10, 9, 9,10, 9, 9,
-};
-
-static float _vq_quantthresh__44c8_s_p8_1[] = {
- -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5,
- -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5,
- 6.5, 7.5, 8.5, 9.5,
-};
-
-static long _vq_quantmap__44c8_s_p8_1[] = {
- 19, 17, 15, 13, 11, 9, 7, 5,
- 3, 1, 0, 2, 4, 6, 8, 10,
- 12, 14, 16, 18, 20,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c8_s_p8_1 = {
- _vq_quantthresh__44c8_s_p8_1,
- _vq_quantmap__44c8_s_p8_1,
- 21,
- 21
-};
-
-static static_codebook _44c8_s_p8_1 = {
- 2, 441,
- _vq_lengthlist__44c8_s_p8_1,
- 1, -529268736, 1611661312, 5, 0,
- _vq_quantlist__44c8_s_p8_1,
- NULL,
- &_vq_auxt__44c8_s_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c8_s_p9_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c8_s_p9_0[] = {
- 1, 5, 5,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10, 7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10, 6, 8,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9,
-};
-
-static float _vq_quantthresh__44c8_s_p9_0[] = {
- -6982.5, -6051.5, -5120.5, -4189.5, -3258.5, -2327.5, -1396.5, -465.5,
- 465.5, 1396.5, 2327.5, 3258.5, 4189.5, 5120.5, 6051.5, 6982.5,
-};
-
-static long _vq_quantmap__44c8_s_p9_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c8_s_p9_0 = {
- _vq_quantthresh__44c8_s_p9_0,
- _vq_quantmap__44c8_s_p9_0,
- 17,
- 17
-};
-
-static static_codebook _44c8_s_p9_0 = {
- 2, 289,
- _vq_lengthlist__44c8_s_p9_0,
- 1, -509798400, 1631393792, 5, 0,
- _vq_quantlist__44c8_s_p9_0,
- NULL,
- &_vq_auxt__44c8_s_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c8_s_p9_1[] = {
- 9,
- 8,
- 10,
- 7,
- 11,
- 6,
- 12,
- 5,
- 13,
- 4,
- 14,
- 3,
- 15,
- 2,
- 16,
- 1,
- 17,
- 0,
- 18,
-};
-
-static long _vq_lengthlist__44c8_s_p9_1[] = {
- 1, 4, 4, 7, 7, 7, 7, 7, 7, 9, 9,10,10,11,10,13,
- 12,11,12, 6, 6, 6, 8, 8, 8, 8, 8, 8, 9,10,10,10,
- 12,12,12,12,13,15, 5, 5, 5, 8, 8, 8, 8, 8, 8,10,
- 9,10,11,12,13,12,13,13,12,15, 9, 8, 9, 9, 9, 9,
- 9, 9,10,10,10,11,14,12,13,15,12,14,15, 8, 9, 9,
- 9, 9, 9, 9, 9,10,10,12,11,12,11,12,13,13,13,15,
- 13,13, 9, 9,10, 9,10,10,11,10,11,12,12,12,14,13,
- 14,15,15,13,13, 9, 8,10, 9,10,10,11,10,12,12,13,
- 13,14,13,14,15,15,15,15, 9, 9, 9, 9,10,11,12,12,
- 12,13,13,13,14,15,15,14,15,15,15, 9, 7, 9, 8,12,
- 11,11,13,12,12,13,12,14,13,13,14,15,15,15,13,13,
- 10,10,12,11,13,13,12,12,13,13,14,13,13,15,15,15,
- 15,12,13,11, 9,11,10,12,12,15,13,13,13,14,13,14,
- 13,15,15,15,15,15,12,12,11,11,12,13,15,13,13,14,
- 14,14,15,14,15,15,15,15,15,13,11,12,11,12,11,13,
- 14,13,13,14,14,13,14,15,15,15,15,15,15,15,12,12,
- 12,13,15,13,15,14,15,14,13,15,15,15,15,15,15,14,
- 15,13,13,12,11,14,12,15,13,14,14,14,13,15,15,15,
- 15,15,15,15,14,13,14,13,15,13,15,15,15,14,15,14,
- 15,15,15,15,15,15,15,14,14,14,13,13,13,15,15,15,
- 15,14,15,15,15,15,15,15,15,15,15,15,12,13,13,13,
- 14,15,15,13,15,15,15,15,15,15,15,15,15,15,15,15,
- 15,14,14,15,15,15,14,14,15,
-};
-
-static float _vq_quantthresh__44c8_s_p9_1[] = {
- -416.5, -367.5, -318.5, -269.5, -220.5, -171.5, -122.5, -73.5,
- -24.5, 24.5, 73.5, 122.5, 171.5, 220.5, 269.5, 318.5,
- 367.5, 416.5,
-};
-
-static long _vq_quantmap__44c8_s_p9_1[] = {
- 17, 15, 13, 11, 9, 7, 5, 3,
- 1, 0, 2, 4, 6, 8, 10, 12,
- 14, 16, 18,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c8_s_p9_1 = {
- _vq_quantthresh__44c8_s_p9_1,
- _vq_quantmap__44c8_s_p9_1,
- 19,
- 19
-};
-
-static static_codebook _44c8_s_p9_1 = {
- 2, 361,
- _vq_lengthlist__44c8_s_p9_1,
- 1, -518287360, 1622704128, 5, 0,
- _vq_quantlist__44c8_s_p9_1,
- NULL,
- &_vq_auxt__44c8_s_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c8_s_p9_2[] = {
- 24,
- 23,
- 25,
- 22,
- 26,
- 21,
- 27,
- 20,
- 28,
- 19,
- 29,
- 18,
- 30,
- 17,
- 31,
- 16,
- 32,
- 15,
- 33,
- 14,
- 34,
- 13,
- 35,
- 12,
- 36,
- 11,
- 37,
- 10,
- 38,
- 9,
- 39,
- 8,
- 40,
- 7,
- 41,
- 6,
- 42,
- 5,
- 43,
- 4,
- 44,
- 3,
- 45,
- 2,
- 46,
- 1,
- 47,
- 0,
- 48,
-};
-
-static long _vq_lengthlist__44c8_s_p9_2[] = {
- 3, 4, 3, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 7, 6, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7,
-};
-
-static float _vq_quantthresh__44c8_s_p9_2[] = {
- -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5,
- -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5,
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
- 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5,
- 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5,
-};
-
-static long _vq_quantmap__44c8_s_p9_2[] = {
- 47, 45, 43, 41, 39, 37, 35, 33,
- 31, 29, 27, 25, 23, 21, 19, 17,
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16, 18, 20, 22, 24, 26, 28, 30,
- 32, 34, 36, 38, 40, 42, 44, 46,
- 48,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c8_s_p9_2 = {
- _vq_quantthresh__44c8_s_p9_2,
- _vq_quantmap__44c8_s_p9_2,
- 49,
- 49
-};
-
-static static_codebook _44c8_s_p9_2 = {
- 1, 49,
- _vq_lengthlist__44c8_s_p9_2,
- 1, -526909440, 1611661312, 6, 0,
- _vq_quantlist__44c8_s_p9_2,
- NULL,
- &_vq_auxt__44c8_s_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c8_s_short[] = {
- 4,11,13,14,16,15,16,16,17,16, 5, 6, 8, 9,10, 9,
- 11,17,16,17, 6, 6, 6, 6, 7, 8, 9,14,16,17, 8, 6,
- 5, 4, 6, 7, 9,12,14,17, 9, 7, 6, 5, 5, 5, 8,11,
- 14,17,10, 9, 7, 6, 5, 3, 5, 8,13,17,12,11, 9, 8,
- 7, 4, 4, 6,14,17,13,13,12, 8, 7, 5, 4, 5,12,17,
- 17,14,15,10, 8, 7, 7, 7,11,17,17,16,17,14,12,10,
- 11,11,15,17,
-};
-
-static static_codebook _huff_book__44c8_s_short = {
- 2, 100,
- _huff_lengthlist__44c8_s_short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c9_s_long[] = {
- 3, 8,13,14,15,15,13,13,14,14, 6, 5, 8,10,12,12,
- 13,12,13,14,10, 6, 5, 6, 8, 9,11,11,13,14,13, 8,
- 5, 4, 5, 6, 9,10,13,14,14,11, 7, 5, 4, 5, 8, 9,
- 12,14,12,11, 8, 6, 5, 3, 5, 7,10,13,12,10,10, 8,
- 7, 5, 4, 6, 9,12,13,12,11,10, 9, 6, 5, 5, 7,10,
- 13,12,12,11,11, 9, 8, 7, 8,10,12,12,13,13,14,12,
- 10, 9, 9,10,
-};
-
-static static_codebook _huff_book__44c9_s_long = {
- 2, 100,
- _huff_lengthlist__44c9_s_long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c9_s_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c9_s_p1_0[] = {
- 1, 5, 5, 0, 5, 5, 0, 5, 5, 6, 8, 8, 0, 9, 8, 0,
- 8, 8, 6, 8, 8, 0, 8, 9, 0, 8, 8, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 5, 8, 8, 0, 8, 7, 0, 8, 8, 5, 8, 8,
- 0, 7, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
- 9, 8, 0, 8, 8, 0, 7, 7, 5, 8, 9, 0, 8, 8, 0, 7,
- 7,
-};
-
-static float _vq_quantthresh__44c9_s_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44c9_s_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c9_s_p1_0 = {
- _vq_quantthresh__44c9_s_p1_0,
- _vq_quantmap__44c9_s_p1_0,
- 3,
- 3
-};
-
-static static_codebook _44c9_s_p1_0 = {
- 4, 81,
- _vq_lengthlist__44c9_s_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44c9_s_p1_0,
- NULL,
- &_vq_auxt__44c9_s_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c9_s_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c9_s_p2_0[] = {
- 3, 6, 6, 8, 8, 0, 6, 6, 8, 8, 0, 5, 5, 8, 8, 0,
- 7, 7, 9, 9, 0, 0, 0, 9, 9, 6, 7, 7, 9, 8, 0, 8,
- 7, 9, 9, 0, 7, 7, 9, 9, 0, 9, 9,11,10, 0, 0, 0,
- 10,10, 6, 7, 7, 8, 9, 0, 7, 8, 9, 9, 0, 7, 7, 9,
- 9, 0, 9, 9,10,11, 0, 0, 0,10,10, 8, 9, 9,10,10,
- 0,10,10,11,11, 0,10,10,11,11, 0,12,12,13,12, 0,
- 0, 0,13,13, 8, 8, 9,10,10, 0,10,10,11,12, 0,10,
- 10,11,11, 0,12,12,13,13, 0, 0, 0,13,13, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 6, 8, 7,10,10, 0, 7, 7,10, 9,
- 0, 7, 7,10,10, 0, 9, 8,10,10, 0, 0, 0,10,10, 6,
- 7, 7,10,10, 0, 7, 7, 9,10, 0, 7, 7,10,10, 0, 8,
- 9,10,10, 0, 0, 0,10,10, 8, 9, 9,11,11, 0,10, 9,
- 11,11, 0,10,10,11,11, 0,11,11,12,12, 0, 0, 0,12,
- 12, 8, 9, 9,11,11, 0, 9,10,11,11, 0,10,10,11,11,
- 0,11,11,12,12, 0, 0, 0,12,12, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 5, 8, 7,10,10, 0, 7, 7,10,10, 0, 7, 7,
- 10, 9, 0, 8, 9,10,10, 0, 0, 0,10, 9, 5, 7, 8,10,
- 10, 0, 7, 7,10,10, 0, 7, 7, 9,10, 0, 9, 8,10,10,
- 0, 0, 0,10,10, 8, 9, 9,12,11, 0,10,10,11,11, 0,
- 10, 9,11,11, 0,11,11,12,12, 0, 0, 0,12,12, 8, 9,
- 9,11,11, 0,10,10,11,11, 0, 9,10,11,11, 0,11,11,
- 12,12, 0, 0, 0,12,12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 7, 9, 9,12,12, 0, 9, 9,11,11, 0, 8, 9,11,11, 0,
- 10, 9,12,11, 0, 0, 0,11,11, 7, 9, 9,12,12, 0, 8,
- 9,11,11, 0, 9, 8,11,11, 0, 9,10,11,11, 0, 0, 0,
- 11,11, 9,11,11,13,13, 0,10,10,12,12, 0,10,10,12,
- 12, 0,12,11,12,12, 0, 0, 0,13,13, 9,10,11,13,13,
- 0,10,10,12,12, 0,10,10,12,12, 0,11,11,12,12, 0,
- 0, 0,12,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,
- 11,10,13,13, 0,10,10,12,12, 0,10, 9,12,12, 0,11,
- 11,12,13, 0, 0, 0,12,11, 9,10,10,12,13, 0,10,10,
- 12,12, 0,10,10,12,12, 0,11,11,13,12, 0, 0, 0,12,
- 12,
-};
-
-static float _vq_quantthresh__44c9_s_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c9_s_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c9_s_p2_0 = {
- _vq_quantthresh__44c9_s_p2_0,
- _vq_quantmap__44c9_s_p2_0,
- 5,
- 5
-};
-
-static static_codebook _44c9_s_p2_0 = {
- 4, 625,
- _vq_lengthlist__44c9_s_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c9_s_p2_0,
- NULL,
- &_vq_auxt__44c9_s_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c9_s_p3_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44c9_s_p3_0[] = {
- 3, 4, 4, 5, 5, 6, 6, 8, 8, 0, 4, 4, 5, 5, 7, 6,
- 8, 8, 0, 4, 4, 5, 5, 7, 7, 8, 8, 0, 5, 5, 6, 6,
- 7, 7, 9, 9, 0, 0, 0, 6, 6, 7, 7, 9, 9, 0, 0, 0,
- 7, 7, 8, 8, 9, 9, 0, 0, 0, 7, 7, 8, 8, 9, 9, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c9_s_p3_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44c9_s_p3_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c9_s_p3_0 = {
- _vq_quantthresh__44c9_s_p3_0,
- _vq_quantmap__44c9_s_p3_0,
- 9,
- 9
-};
-
-static static_codebook _44c9_s_p3_0 = {
- 2, 81,
- _vq_lengthlist__44c9_s_p3_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44c9_s_p3_0,
- NULL,
- &_vq_auxt__44c9_s_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c9_s_p4_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44c9_s_p4_0[] = {
- 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9,10,
- 10, 0, 5, 5, 5, 5, 6, 6, 8, 7, 8, 8, 9, 9,10,10,
- 11,11, 0, 5, 5, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,
- 10,11,11, 0, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,
- 11,11,12,12, 0, 0, 0, 6, 6, 7, 7, 8, 8, 9, 9,10,
- 10,11,11,12,12, 0, 0, 0, 7, 7, 7, 7, 9, 9, 9, 9,
- 11,11,11,11,12,12, 0, 0, 0, 7, 7, 7, 8, 9, 9, 9,
- 9,11,10,11,11,12,12, 0, 0, 0, 7, 7, 7, 7, 9, 9,
- 10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 7, 7, 9,
- 9,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__44c9_s_p4_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44c9_s_p4_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c9_s_p4_0 = {
- _vq_quantthresh__44c9_s_p4_0,
- _vq_quantmap__44c9_s_p4_0,
- 17,
- 17
-};
-
-static static_codebook _44c9_s_p4_0 = {
- 2, 289,
- _vq_lengthlist__44c9_s_p4_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44c9_s_p4_0,
- NULL,
- &_vq_auxt__44c9_s_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c9_s_p5_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44c9_s_p5_0[] = {
- 1, 4, 4, 5, 7, 7, 6, 7, 7, 4, 6, 6,10,10,10,10,
- 10,10, 4, 6, 6,10,10,10,10,10,10, 5,10,10, 9,12,
- 12,10,12,12, 7,10,10,12,12,12,12,12,13, 7,10,10,
- 12,12,12,12,13,13, 6,10,10,10,12,12,11,12,12, 8,
- 10,10,12,12,12,12,12,12, 7,10,10,12,12,13,12,12,
- 12,
-};
-
-static float _vq_quantthresh__44c9_s_p5_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44c9_s_p5_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c9_s_p5_0 = {
- _vq_quantthresh__44c9_s_p5_0,
- _vq_quantmap__44c9_s_p5_0,
- 3,
- 3
-};
-
-static static_codebook _44c9_s_p5_0 = {
- 4, 81,
- _vq_lengthlist__44c9_s_p5_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44c9_s_p5_0,
- NULL,
- &_vq_auxt__44c9_s_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c9_s_p5_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44c9_s_p5_1[] = {
- 4, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7,10, 5, 5, 6, 6,
- 7, 7, 7, 7, 8, 8,10, 5, 5, 6, 6, 7, 7, 7, 7, 8,
- 8,11, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,11,11,11, 6,
- 6, 7, 7, 8, 8, 8, 8,11,11,11, 6, 6, 7, 7, 8, 8,
- 8, 8,11,11,11, 6, 6, 7, 7, 7, 7, 8, 8,11,11,11,
- 7, 7, 7, 7, 7, 7, 8, 8,11,11,11,11,11, 7, 7, 7,
- 7, 8, 8,11,11,11,11,11, 7, 7, 7, 7, 7, 7,11,11,
- 11,11,11, 7, 7, 7, 7, 7, 7,
-};
-
-static float _vq_quantthresh__44c9_s_p5_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44c9_s_p5_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c9_s_p5_1 = {
- _vq_quantthresh__44c9_s_p5_1,
- _vq_quantmap__44c9_s_p5_1,
- 11,
- 11
-};
-
-static static_codebook _44c9_s_p5_1 = {
- 2, 121,
- _vq_lengthlist__44c9_s_p5_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44c9_s_p5_1,
- NULL,
- &_vq_auxt__44c9_s_p5_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c9_s_p6_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c9_s_p6_0[] = {
- 2, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 5, 4, 4,
- 6, 6, 8, 8, 9, 9,10,10,11,11, 6, 4, 4, 6, 6, 8,
- 8, 9, 9,10,10,12,12, 0, 6, 6, 6, 6, 8, 8,10,10,
- 11,11,12,12, 0, 6, 6, 6, 6, 8, 8,10,10,11,11,12,
- 12, 0,10,10, 8, 8, 9, 9,11,11,12,12,13,13, 0,11,
- 11, 8, 8, 9,10,11,11,12,12,13,13, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,
-};
-
-static float _vq_quantthresh__44c9_s_p6_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44c9_s_p6_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c9_s_p6_0 = {
- _vq_quantthresh__44c9_s_p6_0,
- _vq_quantmap__44c9_s_p6_0,
- 13,
- 13
-};
-
-static static_codebook _44c9_s_p6_0 = {
- 2, 169,
- _vq_lengthlist__44c9_s_p6_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44c9_s_p6_0,
- NULL,
- &_vq_auxt__44c9_s_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c9_s_p6_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44c9_s_p6_1[] = {
- 4, 4, 4, 5, 5, 5, 4, 4, 5, 5, 5, 4, 4, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5,
-};
-
-static float _vq_quantthresh__44c9_s_p6_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44c9_s_p6_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c9_s_p6_1 = {
- _vq_quantthresh__44c9_s_p6_1,
- _vq_quantmap__44c9_s_p6_1,
- 5,
- 5
-};
-
-static static_codebook _44c9_s_p6_1 = {
- 2, 25,
- _vq_lengthlist__44c9_s_p6_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44c9_s_p6_1,
- NULL,
- &_vq_auxt__44c9_s_p6_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c9_s_p7_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44c9_s_p7_0[] = {
- 1, 4, 4, 7, 7, 8, 8, 9, 9,10,10,11,11, 6, 5, 5,
- 7, 7, 9, 8,10,10,11,11,12,12, 6, 5, 5, 7, 7, 9,
- 9,10,10,11,11,12,12,20, 6, 6, 7, 7, 9, 9,10,10,
- 11,11,12,12,20, 7, 7, 7, 7, 9, 9,10,10,11,11,13,
- 12,20,10,10, 8, 8, 9, 9,11,11,12,12,13,13,20,11,
- 11, 8, 8, 9, 9,11,11,12,12,13,13,20,20,20,10,10,
- 10,10,11,11,12,12,13,13,20,20,20,10,10,10,10,11,
- 11,12,12,13,13,20,20,20,14,14,11,11,12,12,13,13,
- 14,13,20,20,20,14,15,11,11,11,11,13,13,14,13,20,
- 20,20,20,19,12,12,12,12,13,13,14,14,19,19,19,19,
- 19,13,13,12,12,13,13,14,14,
-};
-
-static float _vq_quantthresh__44c9_s_p7_0[] = {
- -60.5, -49.5, -38.5, -27.5, -16.5, -5.5, 5.5, 16.5,
- 27.5, 38.5, 49.5, 60.5,
-};
-
-static long _vq_quantmap__44c9_s_p7_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c9_s_p7_0 = {
- _vq_quantthresh__44c9_s_p7_0,
- _vq_quantmap__44c9_s_p7_0,
- 13,
- 13
-};
-
-static static_codebook _44c9_s_p7_0 = {
- 2, 169,
- _vq_lengthlist__44c9_s_p7_0,
- 1, -523206656, 1618345984, 4, 0,
- _vq_quantlist__44c9_s_p7_0,
- NULL,
- &_vq_auxt__44c9_s_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c9_s_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44c9_s_p7_1[] = {
- 5, 6, 6, 6, 6, 7, 6, 7, 7, 7, 7, 8, 6, 6, 6, 6,
- 7, 7, 7, 7, 7, 7, 8, 6, 6, 6, 6, 7, 7, 7, 7, 7,
- 7, 8, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 6,
- 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 7, 7, 7, 7, 7, 7,
- 7, 7, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8,
- 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 7, 7, 7,
- 7, 7, 7, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 8, 8,
- 8, 8, 8, 7, 7, 7, 7, 7, 7,
-};
-
-static float _vq_quantthresh__44c9_s_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44c9_s_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c9_s_p7_1 = {
- _vq_quantthresh__44c9_s_p7_1,
- _vq_quantmap__44c9_s_p7_1,
- 11,
- 11
-};
-
-static static_codebook _44c9_s_p7_1 = {
- 2, 121,
- _vq_lengthlist__44c9_s_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44c9_s_p7_1,
- NULL,
- &_vq_auxt__44c9_s_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c9_s_p8_0[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__44c9_s_p8_0[] = {
- 1, 4, 4, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11,11, 6,
- 5, 5, 7, 7, 9, 9, 8, 9,10,10,11,11,12,12, 6, 5,
- 5, 7, 7, 9, 9, 9, 9,10,10,11,11,12,12,19, 7, 8,
- 8, 8, 9, 9, 9, 9,10,10,11,11,12,13,19, 8, 8, 8,
- 8, 9, 9, 9, 9,10,10,11,12,12,12,19,12,12, 9, 9,
- 9,10, 9,10,10,10,12,12,12,12,19,12,12, 9, 9,10,
- 9,10,10,11,11,12,11,13,13,19,19,19, 9, 9, 9, 9,
- 10,10,11,11,12,12,12,12,19,19,19, 9, 9, 9, 9,10,
- 10,11,11,12,12,13,13,19,19,19,13,13,10,10,10,10,
- 12,12,12,12,13,13,19,19,19,13,13,10,10,10,10,12,
- 12,12,12,13,13,19,19,19,19,19,11,12,11,11,12,12,
- 13,12,13,13,19,19,19,18,18,12,11,11,10,12,11,13,
- 13,13,14,18,18,18,18,18,15,16,12,12,13,12,13,13,
- 14,14,18,18,18,18,18,16,15,12,11,12,11,13,13,14,
- 14,
-};
-
-static float _vq_quantthresh__44c9_s_p8_0[] = {
- -136.5, -115.5, -94.5, -73.5, -52.5, -31.5, -10.5, 10.5,
- 31.5, 52.5, 73.5, 94.5, 115.5, 136.5,
-};
-
-static long _vq_quantmap__44c9_s_p8_0[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c9_s_p8_0 = {
- _vq_quantthresh__44c9_s_p8_0,
- _vq_quantmap__44c9_s_p8_0,
- 15,
- 15
-};
-
-static static_codebook _44c9_s_p8_0 = {
- 2, 225,
- _vq_lengthlist__44c9_s_p8_0,
- 1, -520986624, 1620377600, 4, 0,
- _vq_quantlist__44c9_s_p8_0,
- NULL,
- &_vq_auxt__44c9_s_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c9_s_p8_1[] = {
- 10,
- 9,
- 11,
- 8,
- 12,
- 7,
- 13,
- 6,
- 14,
- 5,
- 15,
- 4,
- 16,
- 3,
- 17,
- 2,
- 18,
- 1,
- 19,
- 0,
- 20,
-};
-
-static long _vq_lengthlist__44c9_s_p8_1[] = {
- 4, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 8,
- 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,
- 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9,10,10,10, 7, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10, 8, 8, 8, 8,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,
- 10, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9,10,10,10, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,
- 10,10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9,10,10,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,
- 10,10,10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9,10,10,10,10,10,10,10, 9, 9, 9, 9,10,10,10,10,
- 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,10, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10,
- 10,10, 9, 9, 9, 9, 9,10, 9, 9, 9, 9, 9, 9, 9, 9,
- 10,10,10,10,10,10,10,10,10, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9,10,10,10,10,10,10,10,10,10,10,10,
- 10,10, 9, 9, 9,10, 9, 9, 9, 9,10,10,10,10,10,10,
- 10,10,10, 9,10, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,
- 10,10,10,10,10,10,10,10,10,10, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9,10,10,10,10,10,10,10,10,10,10,10, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,
-};
-
-static float _vq_quantthresh__44c9_s_p8_1[] = {
- -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5,
- -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5,
- 6.5, 7.5, 8.5, 9.5,
-};
-
-static long _vq_quantmap__44c9_s_p8_1[] = {
- 19, 17, 15, 13, 11, 9, 7, 5,
- 3, 1, 0, 2, 4, 6, 8, 10,
- 12, 14, 16, 18, 20,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c9_s_p8_1 = {
- _vq_quantthresh__44c9_s_p8_1,
- _vq_quantmap__44c9_s_p8_1,
- 21,
- 21
-};
-
-static static_codebook _44c9_s_p8_1 = {
- 2, 441,
- _vq_lengthlist__44c9_s_p8_1,
- 1, -529268736, 1611661312, 5, 0,
- _vq_quantlist__44c9_s_p8_1,
- NULL,
- &_vq_auxt__44c9_s_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c9_s_p9_0[] = {
- 9,
- 8,
- 10,
- 7,
- 11,
- 6,
- 12,
- 5,
- 13,
- 4,
- 14,
- 3,
- 15,
- 2,
- 16,
- 1,
- 17,
- 0,
- 18,
-};
-
-static long _vq_lengthlist__44c9_s_p9_0[] = {
- 1, 4, 4,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10, 7, 9,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10, 7, 9,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,
-};
-
-static float _vq_quantthresh__44c9_s_p9_0[] = {
- -7913.5, -6982.5, -6051.5, -5120.5, -4189.5, -3258.5, -2327.5, -1396.5,
- -465.5, 465.5, 1396.5, 2327.5, 3258.5, 4189.5, 5120.5, 6051.5,
- 6982.5, 7913.5,
-};
-
-static long _vq_quantmap__44c9_s_p9_0[] = {
- 17, 15, 13, 11, 9, 7, 5, 3,
- 1, 0, 2, 4, 6, 8, 10, 12,
- 14, 16, 18,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c9_s_p9_0 = {
- _vq_quantthresh__44c9_s_p9_0,
- _vq_quantmap__44c9_s_p9_0,
- 19,
- 19
-};
-
-static static_codebook _44c9_s_p9_0 = {
- 2, 361,
- _vq_lengthlist__44c9_s_p9_0,
- 1, -508535424, 1631393792, 5, 0,
- _vq_quantlist__44c9_s_p9_0,
- NULL,
- &_vq_auxt__44c9_s_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c9_s_p9_1[] = {
- 9,
- 8,
- 10,
- 7,
- 11,
- 6,
- 12,
- 5,
- 13,
- 4,
- 14,
- 3,
- 15,
- 2,
- 16,
- 1,
- 17,
- 0,
- 18,
-};
-
-static long _vq_lengthlist__44c9_s_p9_1[] = {
- 1, 4, 4, 7, 7, 8, 8, 8, 8, 9,10,10,10,12,11,12,
- 13,13,12, 6, 5, 5, 8, 8, 8, 9, 8, 9,10,10,11,11,
- 12,12,14,13,13,12, 5, 5, 5, 8, 8, 9, 8, 8, 9,10,
- 10,11,11,12,12,14,12,13,13,16, 8, 8, 9, 9, 9, 9,
- 9, 9,10,10,11,12,13,13,13,13,14,14,16, 8, 8, 9,
- 9, 9, 9, 9, 9,11,11,12,11,13,13,14,13,13,13,16,
- 14,13, 9, 9, 9, 9,10,10,11,12,12,13,13,13,14,13,
- 15,14,16,13,13, 9, 8, 9, 9,10,10,12,11,13,13,14,
- 14,14,14,15,14,16,16,16, 9, 9, 9, 9,10,10,12,12,
- 12,13,13,13,15,13,15,15,16,16,16, 9, 7, 9, 8,10,
- 11,11,12,12,13,13,16,15,14,14,14,16,16,16,13,13,
- 10,10,11,11,13,15,13,14,13,14,14,13,14,14,16,16,
- 16,13,12,10, 9,11,11,12,12,14,14,13,14,14,14,14,
- 14,16,16,16,16,16,12,13,11,11,12,13,13,13,14,15,
- 14,14,16,15,16,16,16,16,16,12,11,12,12,15,13,13,
- 13,14,13,15,14,15,14,16,16,16,16,16,14,15,12,13,
- 13,12,14,15,15,14,15,14,15,13,16,16,16,16,16,16,
- 16,13,13,14,12,16,12,16,15,14,15,14,14,16,16,16,
- 16,16,16,16,15,14,14,14,15,16,16,16,16,14,16,16,
- 16,16,16,16,16,16,16,14,14,14,12,15,11,15,13,16,
- 15,16,15,16,16,16,16,16,16,16,15,16,14,14,15,13,
- 15,16,16,16,16,15,16,16,16,16,16,16,16,16,16,15,
- 15,14,13,14,16,16,14,15,16,
-};
-
-static float _vq_quantthresh__44c9_s_p9_1[] = {
- -416.5, -367.5, -318.5, -269.5, -220.5, -171.5, -122.5, -73.5,
- -24.5, 24.5, 73.5, 122.5, 171.5, 220.5, 269.5, 318.5,
- 367.5, 416.5,
-};
-
-static long _vq_quantmap__44c9_s_p9_1[] = {
- 17, 15, 13, 11, 9, 7, 5, 3,
- 1, 0, 2, 4, 6, 8, 10, 12,
- 14, 16, 18,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c9_s_p9_1 = {
- _vq_quantthresh__44c9_s_p9_1,
- _vq_quantmap__44c9_s_p9_1,
- 19,
- 19
-};
-
-static static_codebook _44c9_s_p9_1 = {
- 2, 361,
- _vq_lengthlist__44c9_s_p9_1,
- 1, -518287360, 1622704128, 5, 0,
- _vq_quantlist__44c9_s_p9_1,
- NULL,
- &_vq_auxt__44c9_s_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44c9_s_p9_2[] = {
- 24,
- 23,
- 25,
- 22,
- 26,
- 21,
- 27,
- 20,
- 28,
- 19,
- 29,
- 18,
- 30,
- 17,
- 31,
- 16,
- 32,
- 15,
- 33,
- 14,
- 34,
- 13,
- 35,
- 12,
- 36,
- 11,
- 37,
- 10,
- 38,
- 9,
- 39,
- 8,
- 40,
- 7,
- 41,
- 6,
- 42,
- 5,
- 43,
- 4,
- 44,
- 3,
- 45,
- 2,
- 46,
- 1,
- 47,
- 0,
- 48,
-};
-
-static long _vq_lengthlist__44c9_s_p9_2[] = {
- 3, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 7, 6, 6, 7, 7, 6, 7, 6, 7, 7, 7, 7, 7, 7, 7,
- 7,
-};
-
-static float _vq_quantthresh__44c9_s_p9_2[] = {
- -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5,
- -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5,
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
- 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5,
- 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5,
-};
-
-static long _vq_quantmap__44c9_s_p9_2[] = {
- 47, 45, 43, 41, 39, 37, 35, 33,
- 31, 29, 27, 25, 23, 21, 19, 17,
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16, 18, 20, 22, 24, 26, 28, 30,
- 32, 34, 36, 38, 40, 42, 44, 46,
- 48,
-};
-
-static encode_aux_threshmatch _vq_auxt__44c9_s_p9_2 = {
- _vq_quantthresh__44c9_s_p9_2,
- _vq_quantmap__44c9_s_p9_2,
- 49,
- 49
-};
-
-static static_codebook _44c9_s_p9_2 = {
- 1, 49,
- _vq_lengthlist__44c9_s_p9_2,
- 1, -526909440, 1611661312, 6, 0,
- _vq_quantlist__44c9_s_p9_2,
- NULL,
- &_vq_auxt__44c9_s_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44c9_s_short[] = {
- 5,13,17,15,16,16,18,17,18,18, 5, 7,10,12,12,12,
- 12,17,18,17, 7, 6, 7, 8, 9, 9, 9,13,17,17, 8, 6,
- 6, 5, 6, 7, 8,11,16,18, 9, 7, 7, 5, 5, 6, 7,10,
- 15,18, 9, 8, 7, 6, 5, 4, 5, 7,13,17,11,11, 9, 8,
- 7, 4, 3, 5,12,18,13,13,12,10, 7, 5, 4, 3, 8,13,
- 16,16,16,13, 8, 8, 7, 5, 8,12,15,18,17,15,11,10,
- 9, 8,10,14,
-};
-
-static static_codebook _huff_book__44c9_s_short = {
- 2, 100,
- _huff_lengthlist__44c9_s_short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c0_s_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__8c0_s_p1_0[] = {
- 1, 5, 4, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0,
- 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 5, 8, 8, 0, 0, 0, 0, 0, 0, 7, 8, 9, 0, 0, 0,
- 0, 0, 0, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 8, 8, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0,
- 0, 0, 0, 0, 7, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 8, 8, 0, 0, 0, 0,
- 0, 0, 8,10,10, 0, 0, 0, 0, 0, 0, 8, 9, 9, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,10, 9, 0, 0, 0,
- 0, 0, 0, 8, 9,11, 0, 0, 0, 0, 0, 0, 9,11,11, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9,10, 0, 0,
- 0, 0, 0, 0, 9,11,10, 0, 0, 0, 0, 0, 0, 9,11,11,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 8, 8, 0, 0, 0, 0, 0, 0, 8, 9, 9, 0, 0,
- 0, 0, 0, 0, 8, 9,10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 9,11,11, 0,
- 0, 0, 0, 0, 0, 9,10,11, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 9,10, 0, 0, 0, 0, 0, 0, 9,11,11,
- 0, 0, 0, 0, 0, 0, 8,11, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__8c0_s_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__8c0_s_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c0_s_p1_0 = {
- _vq_quantthresh__8c0_s_p1_0,
- _vq_quantmap__8c0_s_p1_0,
- 3,
- 3
-};
-
-static static_codebook _8c0_s_p1_0 = {
- 8, 6561,
- _vq_lengthlist__8c0_s_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__8c0_s_p1_0,
- NULL,
- &_vq_auxt__8c0_s_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c0_s_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__8c0_s_p2_0[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__8c0_s_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__8c0_s_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c0_s_p2_0 = {
- _vq_quantthresh__8c0_s_p2_0,
- _vq_quantmap__8c0_s_p2_0,
- 5,
- 5
-};
-
-static static_codebook _8c0_s_p2_0 = {
- 4, 625,
- _vq_lengthlist__8c0_s_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__8c0_s_p2_0,
- NULL,
- &_vq_auxt__8c0_s_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c0_s_p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__8c0_s_p3_0[] = {
- 1, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 7, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 5, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 7, 8, 8,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 7, 7, 8, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__8c0_s_p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__8c0_s_p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c0_s_p3_0 = {
- _vq_quantthresh__8c0_s_p3_0,
- _vq_quantmap__8c0_s_p3_0,
- 5,
- 5
-};
-
-static static_codebook _8c0_s_p3_0 = {
- 4, 625,
- _vq_lengthlist__8c0_s_p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__8c0_s_p3_0,
- NULL,
- &_vq_auxt__8c0_s_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c0_s_p4_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__8c0_s_p4_0[] = {
- 1, 2, 3, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0,
- 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7,
- 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
- 8, 8, 0, 0, 0, 0, 0, 0, 0, 9, 8, 0, 0, 0, 0, 0,
- 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__8c0_s_p4_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__8c0_s_p4_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c0_s_p4_0 = {
- _vq_quantthresh__8c0_s_p4_0,
- _vq_quantmap__8c0_s_p4_0,
- 9,
- 9
-};
-
-static static_codebook _8c0_s_p4_0 = {
- 2, 81,
- _vq_lengthlist__8c0_s_p4_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__8c0_s_p4_0,
- NULL,
- &_vq_auxt__8c0_s_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c0_s_p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__8c0_s_p5_0[] = {
- 1, 3, 3, 5, 5, 7, 6, 8, 8, 0, 0, 0, 7, 7, 7, 7,
- 8, 8, 0, 0, 0, 7, 7, 7, 7, 8, 9, 0, 0, 0, 8, 8,
- 8, 8, 9, 9, 0, 0, 0, 8, 8, 8, 8, 9, 9, 0, 0, 0,
- 9, 9, 8, 8,10,10, 0, 0, 0, 9, 9, 8, 8,10,10, 0,
- 0, 0,10,10, 9, 9,10,10, 0, 0, 0, 0, 0, 9, 9,10,
- 10,
-};
-
-static float _vq_quantthresh__8c0_s_p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__8c0_s_p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c0_s_p5_0 = {
- _vq_quantthresh__8c0_s_p5_0,
- _vq_quantmap__8c0_s_p5_0,
- 9,
- 9
-};
-
-static static_codebook _8c0_s_p5_0 = {
- 2, 81,
- _vq_lengthlist__8c0_s_p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__8c0_s_p5_0,
- NULL,
- &_vq_auxt__8c0_s_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c0_s_p6_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__8c0_s_p6_0[] = {
- 1, 3, 3, 6, 6, 8, 8, 9, 9, 8, 8,10, 9,10,10,11,
- 11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11,
- 11,12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,
- 11,12,11, 0, 0, 0, 8, 8, 9, 9,10,10, 9, 9,10,10,
- 11,11,12,12, 0, 0, 0, 8, 8, 9, 9,10,10, 9, 9,11,
- 10,11,11,12,12, 0, 0, 0, 9, 9, 9, 9,10,10,10,10,
- 11,11,11,12,12,12, 0, 0, 0, 9, 9, 9, 9,10,10,10,
- 10,11,11,12,12,13,13, 0, 0, 0,10,10,10,10,11,11,
- 10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0,10, 9,10,
- 11,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 9, 9,
- 10, 9,10,11,12,12,13,13,14,13, 0, 0, 0, 0, 0, 9,
- 9, 9,10,10,10,11,11,13,12,13,13, 0, 0, 0, 0, 0,
- 10,10,10,10,11,11,12,12,13,13,14,14, 0, 0, 0, 0,
- 0, 0, 0,10,10,11,11,12,12,13,13,13,14, 0, 0, 0,
- 0, 0, 0, 0,11,11,11,11,12,12,13,14,14,14, 0, 0,
- 0, 0, 0, 0, 0,11,11,11,11,12,12,13,13,14,13, 0,
- 0, 0, 0, 0, 0, 0,11,11,12,12,13,13,14,14,14,14,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,12,12,12,12,13,13,14,
- 14,
-};
-
-static float _vq_quantthresh__8c0_s_p6_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__8c0_s_p6_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c0_s_p6_0 = {
- _vq_quantthresh__8c0_s_p6_0,
- _vq_quantmap__8c0_s_p6_0,
- 17,
- 17
-};
-
-static static_codebook _8c0_s_p6_0 = {
- 2, 289,
- _vq_lengthlist__8c0_s_p6_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__8c0_s_p6_0,
- NULL,
- &_vq_auxt__8c0_s_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c0_s_p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__8c0_s_p7_0[] = {
- 1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,11, 9,10,12,
- 9,10, 4, 7, 7,10,10,10,11, 9, 9, 6,11,10,11,11,
- 12,11,11,11, 6,10,10,11,11,12,11,10,10, 6, 9,10,
- 11,11,11,11,10,10, 7,10,11,12,11,11,12,11,12, 6,
- 9, 9,10, 9, 9,11,10,10, 6, 9, 9,10,10,10,11,10,
- 10,
-};
-
-static float _vq_quantthresh__8c0_s_p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__8c0_s_p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c0_s_p7_0 = {
- _vq_quantthresh__8c0_s_p7_0,
- _vq_quantmap__8c0_s_p7_0,
- 3,
- 3
-};
-
-static static_codebook _8c0_s_p7_0 = {
- 4, 81,
- _vq_lengthlist__8c0_s_p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__8c0_s_p7_0,
- NULL,
- &_vq_auxt__8c0_s_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c0_s_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__8c0_s_p7_1[] = {
- 1, 3, 3, 6, 6, 8, 8, 9, 9, 9, 9,10,10,10, 7, 7,
- 8, 8, 9, 9, 9, 9,10,10, 9, 7, 7, 8, 8, 9, 9, 9,
- 9,10,10,10, 8, 8, 9, 9, 9, 9, 9, 9,10,10,10, 8,
- 8, 9, 9, 9, 9, 8, 9,10,10,10, 8, 8, 9, 9, 9,10,
- 10,10,10,10,10, 9, 9, 9, 9, 9, 9,10,10,11,10,11,
- 9, 9, 9, 9,10,10,10,10,11,11,11,10,10, 9, 9,10,
- 10,10, 9,11,10,10,10,10,10,10, 9, 9,10,10,11,11,
- 10,10,10, 9, 9, 9,10,10,10,
-};
-
-static float _vq_quantthresh__8c0_s_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__8c0_s_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c0_s_p7_1 = {
- _vq_quantthresh__8c0_s_p7_1,
- _vq_quantmap__8c0_s_p7_1,
- 11,
- 11
-};
-
-static static_codebook _8c0_s_p7_1 = {
- 2, 121,
- _vq_lengthlist__8c0_s_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__8c0_s_p7_1,
- NULL,
- &_vq_auxt__8c0_s_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c0_s_p8_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__8c0_s_p8_0[] = {
- 1, 4, 4, 7, 6, 7, 7, 7, 7, 8, 8, 9, 9, 7, 6, 6,
- 7, 7, 8, 8, 7, 7, 8, 9,10,10, 7, 6, 6, 7, 7, 8,
- 7, 7, 7, 9, 9,10,12, 0, 8, 8, 8, 8, 8, 9, 8, 8,
- 9, 9,10,10, 0, 8, 8, 8, 8, 8, 9, 8, 9, 9, 9,11,
- 10, 0, 0,13, 9, 8, 9, 9, 9, 9,10,10,11,11, 0,13,
- 0, 9, 9, 9, 9, 9, 9,11,10,11,11, 0, 0, 0, 8, 9,
- 10, 9,10,10,13,11,12,12, 0, 0, 0, 8, 9, 9, 9,10,
- 10,13,12,12,13, 0, 0, 0,12, 0,10,10,12,11,10,11,
- 12,12, 0, 0, 0,13,13,10,10,10,11,12, 0,13, 0, 0,
- 0, 0, 0, 0,13,11, 0,12,12,12,13,12, 0, 0, 0, 0,
- 0, 0,13,13,11,13,13,11,12,
-};
-
-static float _vq_quantthresh__8c0_s_p8_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__8c0_s_p8_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c0_s_p8_0 = {
- _vq_quantthresh__8c0_s_p8_0,
- _vq_quantmap__8c0_s_p8_0,
- 13,
- 13
-};
-
-static static_codebook _8c0_s_p8_0 = {
- 2, 169,
- _vq_lengthlist__8c0_s_p8_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__8c0_s_p8_0,
- NULL,
- &_vq_auxt__8c0_s_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c0_s_p8_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__8c0_s_p8_1[] = {
- 1, 3, 4, 5, 5, 7, 6, 6, 6, 5, 7, 7, 7, 6, 6, 7,
- 7, 7, 6, 6, 7, 7, 7, 6, 6,
-};
-
-static float _vq_quantthresh__8c0_s_p8_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__8c0_s_p8_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c0_s_p8_1 = {
- _vq_quantthresh__8c0_s_p8_1,
- _vq_quantmap__8c0_s_p8_1,
- 5,
- 5
-};
-
-static static_codebook _8c0_s_p8_1 = {
- 2, 25,
- _vq_lengthlist__8c0_s_p8_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__8c0_s_p8_1,
- NULL,
- &_vq_auxt__8c0_s_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c0_s_p9_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__8c0_s_p9_0[] = {
- 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7,
-};
-
-static float _vq_quantthresh__8c0_s_p9_0[] = {
- -157.5, 157.5,
-};
-
-static long _vq_quantmap__8c0_s_p9_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c0_s_p9_0 = {
- _vq_quantthresh__8c0_s_p9_0,
- _vq_quantmap__8c0_s_p9_0,
- 3,
- 3
-};
-
-static static_codebook _8c0_s_p9_0 = {
- 4, 81,
- _vq_lengthlist__8c0_s_p9_0,
- 1, -518803456, 1628680192, 2, 0,
- _vq_quantlist__8c0_s_p9_0,
- NULL,
- &_vq_auxt__8c0_s_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c0_s_p9_1[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__8c0_s_p9_1[] = {
- 1, 4, 4, 5, 5,10, 8,11,11,11,11,11,11,11,11, 6,
- 6, 6, 7, 6,11,10,11,11,11,11,11,11,11,11, 7, 5,
- 6, 6, 6, 8, 7,11,11,11,11,11,11,11,11,11, 7, 8,
- 8, 8, 9, 9,11,11,11,11,11,11,11,11,11, 9, 8, 7,
- 8, 9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,
-};
-
-static float _vq_quantthresh__8c0_s_p9_1[] = {
- -136.5, -115.5, -94.5, -73.5, -52.5, -31.5, -10.5, 10.5,
- 31.5, 52.5, 73.5, 94.5, 115.5, 136.5,
-};
-
-static long _vq_quantmap__8c0_s_p9_1[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c0_s_p9_1 = {
- _vq_quantthresh__8c0_s_p9_1,
- _vq_quantmap__8c0_s_p9_1,
- 15,
- 15
-};
-
-static static_codebook _8c0_s_p9_1 = {
- 2, 225,
- _vq_lengthlist__8c0_s_p9_1,
- 1, -520986624, 1620377600, 4, 0,
- _vq_quantlist__8c0_s_p9_1,
- NULL,
- &_vq_auxt__8c0_s_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c0_s_p9_2[] = {
- 10,
- 9,
- 11,
- 8,
- 12,
- 7,
- 13,
- 6,
- 14,
- 5,
- 15,
- 4,
- 16,
- 3,
- 17,
- 2,
- 18,
- 1,
- 19,
- 0,
- 20,
-};
-
-static long _vq_lengthlist__8c0_s_p9_2[] = {
- 1, 5, 5, 7, 7, 8, 7, 8, 8,10,10, 9, 9,10,10,10,
- 11,11,10,12,11,12,12,12, 9, 8, 8, 8, 8, 8, 9,10,
- 10,10,10,11,11,11,10,11,11,12,12,11,12, 8, 8, 7,
- 7, 8, 9,10,10,10, 9,10,10, 9,10,10,11,11,11,11,
- 11,11, 9, 9, 9, 9, 8, 9,10,10,11,10,10,11,11,12,
- 10,10,12,12,11,11,10, 9, 9,10, 8, 9,10,10,10, 9,
- 10,10,11,11,10,11,10,10,10,12,12,12, 9,10, 9,10,
- 9, 9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,
- 12,10,11,10,11, 9,10, 9,10, 9,10,10, 9,10,10,11,
- 10,11,11,11,11,12,11, 9,10,10,10,10,11,11,11,11,
- 11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,
- 10, 9,11,10,11, 9,10,11,10,10,10,11,11,11,11,12,
- 12,10, 9, 9,11,10, 9,12,11,10,12,12,11,11,11,11,
- 10,11,11,12,11,10,12, 9,11,10,11,10,10,11,10,11,
- 9,10,10,10,11,12,11,11,12,11,10,10,11,11, 9,10,
- 10,12,10,11,10,10,10, 9,10,10,10,10, 9,10,10,11,
- 11,11,11,12,11,10,10,10,10,11,11,10,11,11, 9,11,
- 10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,
- 11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,
- 10,11,10,10,11,11,10,12,10, 9,10,10,11,11,11,10,
- 12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,
- 12,11,11,10,10,10,12,10,10,11, 9,10,11,11,11,10,
- 10,11,10,10, 9,11,11,12,12,11,12,11,11,11,11,11,
- 11, 9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,
- 12,10,10,10,10,10, 9,12,10,10,10,10,12, 9,11,10,
- 10,11,10,12,12,10,12,12,12,10,10,10,10, 9,10,11,
- 10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,
- 10,11, 9,11,10, 9,10, 9,10,
-};
-
-static float _vq_quantthresh__8c0_s_p9_2[] = {
- -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5,
- -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5,
- 6.5, 7.5, 8.5, 9.5,
-};
-
-static long _vq_quantmap__8c0_s_p9_2[] = {
- 19, 17, 15, 13, 11, 9, 7, 5,
- 3, 1, 0, 2, 4, 6, 8, 10,
- 12, 14, 16, 18, 20,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c0_s_p9_2 = {
- _vq_quantthresh__8c0_s_p9_2,
- _vq_quantmap__8c0_s_p9_2,
- 21,
- 21
-};
-
-static static_codebook _8c0_s_p9_2 = {
- 2, 441,
- _vq_lengthlist__8c0_s_p9_2,
- 1, -529268736, 1611661312, 5, 0,
- _vq_quantlist__8c0_s_p9_2,
- NULL,
- &_vq_auxt__8c0_s_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__8c0_s_single[] = {
- 4, 5,18, 7,10, 6, 7, 8, 9,10, 5, 2,18, 5, 7, 5,
- 6, 7, 8,11,17,17,17,17,17,17,17,17,17,17, 7, 4,
- 17, 6, 9, 6, 8,10,12,15,11, 7,17, 9, 6, 6, 7, 9,
- 11,15, 6, 4,17, 6, 6, 4, 5, 8,11,16, 6, 6,17, 8,
- 6, 5, 6, 9,13,16, 8, 9,17,11, 9, 8, 8,11,13,17,
- 9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,
- 17,16,17,17,
-};
-
-static static_codebook _huff_book__8c0_s_single = {
- 2, 100,
- _huff_lengthlist__8c0_s_single,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c1_s_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__8c1_s_p1_0[] = {
- 1, 5, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0,
- 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 5, 8, 7, 0, 0, 0, 0, 0, 0, 7, 8, 9, 0, 0, 0,
- 0, 0, 0, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 7, 8, 0, 0, 0, 0, 0, 0, 7, 9, 8, 0, 0,
- 0, 0, 0, 0, 7, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 8, 8, 0, 0, 0, 0,
- 0, 0, 8, 9, 9, 0, 0, 0, 0, 0, 0, 8, 9, 9, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0, 0,
- 0, 0, 0, 8, 8,10, 0, 0, 0, 0, 0, 0, 9,10,10, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 9, 0, 0,
- 0, 0, 0, 0, 8,10, 9, 0, 0, 0, 0, 0, 0, 9,10,10,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 8, 8, 0, 0, 0, 0, 0, 0, 8, 9, 9, 0, 0,
- 0, 0, 0, 0, 8, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 9,10,10, 0,
- 0, 0, 0, 0, 0, 8, 9,10, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 9, 9, 0, 0, 0, 0, 0, 0, 9,10,10,
- 0, 0, 0, 0, 0, 0, 8,10, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__8c1_s_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__8c1_s_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c1_s_p1_0 = {
- _vq_quantthresh__8c1_s_p1_0,
- _vq_quantmap__8c1_s_p1_0,
- 3,
- 3
-};
-
-static static_codebook _8c1_s_p1_0 = {
- 8, 6561,
- _vq_lengthlist__8c1_s_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__8c1_s_p1_0,
- NULL,
- &_vq_auxt__8c1_s_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c1_s_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__8c1_s_p2_0[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__8c1_s_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__8c1_s_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c1_s_p2_0 = {
- _vq_quantthresh__8c1_s_p2_0,
- _vq_quantmap__8c1_s_p2_0,
- 5,
- 5
-};
-
-static static_codebook _8c1_s_p2_0 = {
- 4, 625,
- _vq_lengthlist__8c1_s_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__8c1_s_p2_0,
- NULL,
- &_vq_auxt__8c1_s_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c1_s_p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__8c1_s_p3_0[] = {
- 2, 4, 4, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 6, 6, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 7, 7,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 6, 6, 7, 7, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__8c1_s_p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__8c1_s_p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c1_s_p3_0 = {
- _vq_quantthresh__8c1_s_p3_0,
- _vq_quantmap__8c1_s_p3_0,
- 5,
- 5
-};
-
-static static_codebook _8c1_s_p3_0 = {
- 4, 625,
- _vq_lengthlist__8c1_s_p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__8c1_s_p3_0,
- NULL,
- &_vq_auxt__8c1_s_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c1_s_p4_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__8c1_s_p4_0[] = {
- 1, 2, 3, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0,
- 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7,
- 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
- 8, 8, 0, 0, 0, 0, 0, 0, 0, 9, 8, 0, 0, 0, 0, 0,
- 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
-};
-
-static float _vq_quantthresh__8c1_s_p4_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__8c1_s_p4_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c1_s_p4_0 = {
- _vq_quantthresh__8c1_s_p4_0,
- _vq_quantmap__8c1_s_p4_0,
- 9,
- 9
-};
-
-static static_codebook _8c1_s_p4_0 = {
- 2, 81,
- _vq_lengthlist__8c1_s_p4_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__8c1_s_p4_0,
- NULL,
- &_vq_auxt__8c1_s_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c1_s_p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__8c1_s_p5_0[] = {
- 1, 3, 3, 4, 5, 6, 6, 8, 8, 0, 0, 0, 8, 8, 7, 7,
- 9, 9, 0, 0, 0, 8, 8, 7, 7, 9, 9, 0, 0, 0, 9,10,
- 8, 8, 9, 9, 0, 0, 0,10,10, 8, 8, 9, 9, 0, 0, 0,
- 11,10, 8, 8,10,10, 0, 0, 0,11,11, 8, 8,10,10, 0,
- 0, 0,12,12, 9, 9,10,10, 0, 0, 0, 0, 0, 9, 9,10,
- 10,
-};
-
-static float _vq_quantthresh__8c1_s_p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__8c1_s_p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c1_s_p5_0 = {
- _vq_quantthresh__8c1_s_p5_0,
- _vq_quantmap__8c1_s_p5_0,
- 9,
- 9
-};
-
-static static_codebook _8c1_s_p5_0 = {
- 2, 81,
- _vq_lengthlist__8c1_s_p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__8c1_s_p5_0,
- NULL,
- &_vq_auxt__8c1_s_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c1_s_p6_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__8c1_s_p6_0[] = {
- 1, 3, 3, 5, 5, 8, 8, 8, 8, 9, 9,10,10,11,11,11,
- 11, 0, 0, 0, 8, 8, 8, 8, 9, 9, 9, 9,10,10,11,11,
- 12,12, 0, 0, 0, 8, 8, 8, 8, 9, 9, 9, 9,10,10,11,
- 11,12,12, 0, 0, 0, 9, 9, 8, 8,10,10,10,10,11,11,
- 12,12,12,12, 0, 0, 0, 9, 9, 8, 8,10,10,10,10,11,
- 11,12,12,12,12, 0, 0, 0,10,10, 9, 9,10,10,10,10,
- 11,11,12,12,13,13, 0, 0, 0,10,10, 9, 9,10,10,10,
- 10,11,11,12,12,13,13, 0, 0, 0,11,11, 9, 9,10,10,
- 10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 9, 9,10,
- 10,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 9, 9,
- 10,10,11,11,12,12,12,12,13,13, 0, 0, 0, 0, 0, 9,
- 9,10,10,11,11,12,11,12,12,13,13, 0, 0, 0, 0, 0,
- 10,10,11,11,11,11,12,12,13,12,13,13, 0, 0, 0, 0,
- 0, 0, 0,11,10,11,11,12,12,13,13,13,13, 0, 0, 0,
- 0, 0, 0, 0,11,11,12,12,12,12,13,13,13,14, 0, 0,
- 0, 0, 0, 0, 0,11,11,12,12,12,12,13,13,14,13, 0,
- 0, 0, 0, 0, 0, 0,12,12,12,12,13,13,13,13,14,14,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,12,12,13,13,13,13,14,
- 14,
-};
-
-static float _vq_quantthresh__8c1_s_p6_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__8c1_s_p6_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c1_s_p6_0 = {
- _vq_quantthresh__8c1_s_p6_0,
- _vq_quantmap__8c1_s_p6_0,
- 17,
- 17
-};
-
-static static_codebook _8c1_s_p6_0 = {
- 2, 289,
- _vq_lengthlist__8c1_s_p6_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__8c1_s_p6_0,
- NULL,
- &_vq_auxt__8c1_s_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c1_s_p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__8c1_s_p7_0[] = {
- 1, 4, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,10,
- 9, 9, 5, 7, 7,10, 9, 9,10, 9, 9, 6,10,10,10,10,
- 10,11,10,10, 6, 9, 9,10, 9,10,11,10,10, 6, 9, 9,
- 10, 9, 9,11, 9,10, 7,10,10,11,11,11,11,10,10, 6,
- 9, 9,10,10,10,11, 9, 9, 6, 9, 9,10,10,10,10, 9,
- 9,
-};
-
-static float _vq_quantthresh__8c1_s_p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__8c1_s_p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c1_s_p7_0 = {
- _vq_quantthresh__8c1_s_p7_0,
- _vq_quantmap__8c1_s_p7_0,
- 3,
- 3
-};
-
-static static_codebook _8c1_s_p7_0 = {
- 4, 81,
- _vq_lengthlist__8c1_s_p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__8c1_s_p7_0,
- NULL,
- &_vq_auxt__8c1_s_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c1_s_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__8c1_s_p7_1[] = {
- 2, 3, 3, 5, 5, 7, 7, 7, 7, 7, 7,10,10, 9, 7, 7,
- 7, 7, 8, 8, 8, 8, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8,
- 8,10,10,10, 7, 7, 7, 7, 8, 8, 8, 8,10,10,10, 7,
- 7, 7, 7, 8, 8, 8, 8,10,10,10, 8, 8, 8, 8, 8, 8,
- 8, 8,10,10,10, 8, 8, 8, 8, 8, 8, 8, 8,10,10,10,
- 8, 8, 8, 8, 8, 8, 8, 8,10,10,10,10,10, 8, 8, 8,
- 8, 8, 8,10,10,10,10,10, 8, 8, 8, 8, 8, 8,10,10,
- 10,10,10, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__8c1_s_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__8c1_s_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c1_s_p7_1 = {
- _vq_quantthresh__8c1_s_p7_1,
- _vq_quantmap__8c1_s_p7_1,
- 11,
- 11
-};
-
-static static_codebook _8c1_s_p7_1 = {
- 2, 121,
- _vq_lengthlist__8c1_s_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__8c1_s_p7_1,
- NULL,
- &_vq_auxt__8c1_s_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c1_s_p8_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__8c1_s_p8_0[] = {
- 1, 4, 4, 6, 6, 8, 8, 8, 8, 9, 9,10,10, 7, 5, 5,
- 7, 7, 8, 8, 8, 8, 9,10,11,11, 7, 5, 5, 7, 7, 8,
- 8, 9, 9,10,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,
- 9,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,10,10,11,
- 11, 0,12,12, 9, 9, 9, 9,10, 9,10,11,11,11, 0,13,
- 12, 9, 8, 9, 9,10,10,11,11,12,11, 0, 0, 0, 9, 9,
- 9, 9,10,10,11,11,12,12, 0, 0, 0,10,10, 9, 9,10,
- 10,11,11,12,12, 0, 0, 0,13,13,10,10,11,11,12,11,
- 13,12, 0, 0, 0,14,14,10,10,11,10,11,11,12,12, 0,
- 0, 0, 0, 0,12,12,11,11,12,12,13,13, 0, 0, 0, 0,
- 0,12,12,11,10,12,11,13,12,
-};
-
-static float _vq_quantthresh__8c1_s_p8_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__8c1_s_p8_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c1_s_p8_0 = {
- _vq_quantthresh__8c1_s_p8_0,
- _vq_quantmap__8c1_s_p8_0,
- 13,
- 13
-};
-
-static static_codebook _8c1_s_p8_0 = {
- 2, 169,
- _vq_lengthlist__8c1_s_p8_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__8c1_s_p8_0,
- NULL,
- &_vq_auxt__8c1_s_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c1_s_p8_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__8c1_s_p8_1[] = {
- 2, 3, 3, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6,
- 6, 6, 5, 5, 6, 6, 6, 5, 5,
-};
-
-static float _vq_quantthresh__8c1_s_p8_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__8c1_s_p8_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c1_s_p8_1 = {
- _vq_quantthresh__8c1_s_p8_1,
- _vq_quantmap__8c1_s_p8_1,
- 5,
- 5
-};
-
-static static_codebook _8c1_s_p8_1 = {
- 2, 25,
- _vq_lengthlist__8c1_s_p8_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__8c1_s_p8_1,
- NULL,
- &_vq_auxt__8c1_s_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c1_s_p9_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__8c1_s_p9_0[] = {
- 1, 3, 3,10,10,10,10,10,10,10,10,10,10, 5, 6, 6,
- 10,10,10,10,10,10,10,10,10,10, 6, 7, 8,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10, 9, 9, 9, 9,
-};
-
-static float _vq_quantthresh__8c1_s_p9_0[] = {
- -1732.5, -1417.5, -1102.5, -787.5, -472.5, -157.5, 157.5, 472.5,
- 787.5, 1102.5, 1417.5, 1732.5,
-};
-
-static long _vq_quantmap__8c1_s_p9_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c1_s_p9_0 = {
- _vq_quantthresh__8c1_s_p9_0,
- _vq_quantmap__8c1_s_p9_0,
- 13,
- 13
-};
-
-static static_codebook _8c1_s_p9_0 = {
- 2, 169,
- _vq_lengthlist__8c1_s_p9_0,
- 1, -513964032, 1628680192, 4, 0,
- _vq_quantlist__8c1_s_p9_0,
- NULL,
- &_vq_auxt__8c1_s_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c1_s_p9_1[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__8c1_s_p9_1[] = {
- 1, 4, 4, 5, 5, 7, 7, 9, 9,11,11,12,12,13,13, 6,
- 5, 5, 6, 6, 9, 9,10,10,12,12,12,13,15,14, 6, 5,
- 5, 7, 7, 9, 9,10,10,12,12,12,13,14,13,17, 7, 7,
- 8, 8,10,10,11,11,12,13,13,13,13,13,17, 7, 7, 8,
- 8,10,10,11,11,13,13,13,13,14,14,17,11,11, 9, 9,
- 11,11,12,12,12,13,13,14,15,13,17,12,12, 9, 9,11,
- 11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,
- 13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,
- 13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,
- 15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,
- 15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,
- 14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,
- 15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,
- 17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,
- 15,
-};
-
-static float _vq_quantthresh__8c1_s_p9_1[] = {
- -136.5, -115.5, -94.5, -73.5, -52.5, -31.5, -10.5, 10.5,
- 31.5, 52.5, 73.5, 94.5, 115.5, 136.5,
-};
-
-static long _vq_quantmap__8c1_s_p9_1[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c1_s_p9_1 = {
- _vq_quantthresh__8c1_s_p9_1,
- _vq_quantmap__8c1_s_p9_1,
- 15,
- 15
-};
-
-static static_codebook _8c1_s_p9_1 = {
- 2, 225,
- _vq_lengthlist__8c1_s_p9_1,
- 1, -520986624, 1620377600, 4, 0,
- _vq_quantlist__8c1_s_p9_1,
- NULL,
- &_vq_auxt__8c1_s_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8c1_s_p9_2[] = {
- 10,
- 9,
- 11,
- 8,
- 12,
- 7,
- 13,
- 6,
- 14,
- 5,
- 15,
- 4,
- 16,
- 3,
- 17,
- 2,
- 18,
- 1,
- 19,
- 0,
- 20,
-};
-
-static long _vq_lengthlist__8c1_s_p9_2[] = {
- 2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 8, 9, 9, 9,
- 9, 9, 9, 9, 9,11,11,12, 7, 7, 7, 7, 8, 8, 9, 9,
- 9, 9,10,10,10,10,10,10,10,10,11,11,11, 7, 7, 7,
- 7, 8, 8, 9, 8, 9, 9, 9, 9, 9, 9,10,10,10,10,11,
- 11,12, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9,10,10,10,10,
- 10,10,10,10,11,11,11, 7, 7, 8, 8, 8, 8, 9, 9, 9,
- 9,10,10,10,10,10,10,10,10,11,11,11, 8, 8, 8, 8,
- 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,10,10,11,11,
- 11, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,10,10,10,10,10,
- 10,10,10,11,12,11, 9, 9, 8, 9, 9, 9, 9, 9,10,10,
- 10,10,10,10,10,10,10,10,11,11,11,11,11, 8, 8, 9,
- 9, 9, 9,10,10,10,10,10,10,10,10,10,10,11,12,11,
- 12,11, 9, 9, 9, 9, 9,10,10,10,10,10,10,10,10,10,
- 10,10,11,11,11,11,11, 9, 9, 9, 9,10,10,10,10,10,
- 10,10,10,10,10,10,10,12,11,12,11,11, 9, 9, 9,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,
- 11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,
- 10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,
- 11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,
- 10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,
- 11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,
- 11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,
- 12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,
- 10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,
- 10,10,10,10,10,10,10,10,10,
-};
-
-static float _vq_quantthresh__8c1_s_p9_2[] = {
- -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5,
- -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5,
- 6.5, 7.5, 8.5, 9.5,
-};
-
-static long _vq_quantmap__8c1_s_p9_2[] = {
- 19, 17, 15, 13, 11, 9, 7, 5,
- 3, 1, 0, 2, 4, 6, 8, 10,
- 12, 14, 16, 18, 20,
-};
-
-static encode_aux_threshmatch _vq_auxt__8c1_s_p9_2 = {
- _vq_quantthresh__8c1_s_p9_2,
- _vq_quantmap__8c1_s_p9_2,
- 21,
- 21
-};
-
-static static_codebook _8c1_s_p9_2 = {
- 2, 441,
- _vq_lengthlist__8c1_s_p9_2,
- 1, -529268736, 1611661312, 5, 0,
- _vq_quantlist__8c1_s_p9_2,
- NULL,
- &_vq_auxt__8c1_s_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__8c1_s_single[] = {
- 4, 6,18, 8,11, 8, 8, 9, 9,10, 4, 4,18, 5, 9, 5,
- 6, 7, 8,10,18,18,18,18,17,17,17,17,17,17, 7, 5,
- 17, 6,11, 6, 7, 8, 9,12,12, 9,17,12, 8, 8, 9,10,
- 10,13, 7, 5,17, 6, 8, 4, 5, 6, 8,10, 6, 5,17, 6,
- 8, 5, 4, 5, 7, 9, 7, 7,17, 8, 9, 6, 5, 5, 6, 8,
- 8, 8,17, 9,11, 8, 6, 6, 6, 7, 9,10,17,12,12,10,
- 9, 7, 7, 8,
-};
-
-static static_codebook _huff_book__8c1_s_single = {
- 2, 100,
- _huff_lengthlist__8c1_s_single,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-/***** residue backends *********************************************/
-
-static vorbis_info_residue0 _residue_44_mid={
- 0,-1, -1, 10,-1,
- /* 0 1 2 3 4 5 6 7 8 */
- {0},
- {-1},
- { .5, 1.5, 1.5, 2.5, 2.5, 4.5, 8.5, 16.5, 32.5},
- { .5, .5, 999., .5, 999., 4.5, 8.5, 16.5, 32.5},
-};
-
-static vorbis_info_residue0 _residue_44_high={
- 0,-1, -1, 10,-1,
- /* 0 1 2 3 4 5 6 7 8 */
- {0},
- {-1},
- { .5, 1.5, 2.5, 4.5, 8.5, 16.5, 32.5, 71.5,157.5},
- { .5, 1.5, 2.5, 3.5, 4.5, 8.5, 16.5, 71.5,157.5},
-};
-
-static static_bookblock _resbook_44s_0={
- {
- {0},{0,0,&_44c0_s_p1_0},{0,0,&_44c0_s_p2_0},{0,0,&_44c0_s_p3_0},
- {0,0,&_44c0_s_p4_0},{0,0,&_44c0_s_p5_0},{0,0,&_44c0_s_p6_0},
- {&_44c0_s_p7_0,&_44c0_s_p7_1},{&_44c0_s_p8_0,&_44c0_s_p8_1},
- {&_44c0_s_p9_0,&_44c0_s_p9_1,&_44c0_s_p9_2}
- }
-};
-static static_bookblock _resbook_44sm_0={
- {
- {0},{0,0,&_44c0_sm_p1_0},{0,0,&_44c0_sm_p2_0},{0,0,&_44c0_sm_p3_0},
- {0,0,&_44c0_sm_p4_0},{0,0,&_44c0_sm_p5_0},{0,0,&_44c0_sm_p6_0},
- {&_44c0_sm_p7_0,&_44c0_sm_p7_1},{&_44c0_sm_p8_0,&_44c0_sm_p8_1},
- {&_44c0_sm_p9_0,&_44c0_sm_p9_1,&_44c0_sm_p9_2}
- }
-};
-static static_bookblock _resbook_44s_1={
- {
- {0},{0,0,&_44c1_s_p1_0},{0,0,&_44c1_s_p2_0},{0,0,&_44c1_s_p3_0},
- {0,0,&_44c1_s_p4_0},{0,0,&_44c1_s_p5_0},{0,0,&_44c1_s_p6_0},
- {&_44c1_s_p7_0,&_44c1_s_p7_1},{&_44c1_s_p8_0,&_44c1_s_p8_1},
- {&_44c1_s_p9_0,&_44c1_s_p9_1,&_44c1_s_p9_2}
- }
-};
-static static_bookblock _resbook_44sm_1={
- {
- {0},{0,0,&_44c1_sm_p1_0},{0,0,&_44c1_sm_p2_0},{0,0,&_44c1_sm_p3_0},
- {0,0,&_44c1_sm_p4_0},{0,0,&_44c1_sm_p5_0},{0,0,&_44c1_sm_p6_0},
- {&_44c1_sm_p7_0,&_44c1_sm_p7_1},{&_44c1_sm_p8_0,&_44c1_sm_p8_1},
- {&_44c1_sm_p9_0,&_44c1_sm_p9_1,&_44c1_sm_p9_2}
- }
-};
-static static_bookblock _resbook_44s_2={
- {
- {0},{0,0,&_44c2_s_p1_0},{0,0,&_44c2_s_p2_0},{0,0,&_44c2_s_p3_0},
- {0,0,&_44c2_s_p4_0},{0,0,&_44c2_s_p5_0},{0,0,&_44c2_s_p6_0},
- {&_44c2_s_p7_0,&_44c2_s_p7_1},{&_44c2_s_p8_0,&_44c2_s_p8_1},
- {&_44c2_s_p9_0,&_44c2_s_p9_1,&_44c2_s_p9_2}
- }
-};
-static static_bookblock _resbook_44s_3={
- {
- {0},{0,0,&_44c3_s_p1_0},{0,0,&_44c3_s_p2_0},{0,0,&_44c3_s_p3_0},
- {0,0,&_44c3_s_p4_0},{0,0,&_44c3_s_p5_0},{0,0,&_44c3_s_p6_0},
- {&_44c3_s_p7_0,&_44c3_s_p7_1},{&_44c3_s_p8_0,&_44c3_s_p8_1},
- {&_44c3_s_p9_0,&_44c3_s_p9_1,&_44c3_s_p9_2}
- }
-};
-static static_bookblock _resbook_44s_4={
- {
- {0},{0,0,&_44c4_s_p1_0},{0,0,&_44c4_s_p2_0},{0,0,&_44c4_s_p3_0},
- {0,0,&_44c4_s_p4_0},{0,0,&_44c4_s_p5_0},{0,0,&_44c4_s_p6_0},
- {&_44c4_s_p7_0,&_44c4_s_p7_1},{&_44c4_s_p8_0,&_44c4_s_p8_1},
- {&_44c4_s_p9_0,&_44c4_s_p9_1,&_44c4_s_p9_2}
- }
-};
-static static_bookblock _resbook_44s_5={
- {
- {0},{0,0,&_44c5_s_p1_0},{0,0,&_44c5_s_p2_0},{0,0,&_44c5_s_p3_0},
- {0,0,&_44c5_s_p4_0},{0,0,&_44c5_s_p5_0},{0,0,&_44c5_s_p6_0},
- {&_44c5_s_p7_0,&_44c5_s_p7_1},{&_44c5_s_p8_0,&_44c5_s_p8_1},
- {&_44c5_s_p9_0,&_44c5_s_p9_1,&_44c5_s_p9_2}
- }
-};
-static static_bookblock _resbook_44s_6={
- {
- {0},{0,0,&_44c6_s_p1_0},{0,0,&_44c6_s_p2_0},{0,0,&_44c6_s_p3_0},
- {0,0,&_44c6_s_p4_0},
- {&_44c6_s_p5_0,&_44c6_s_p5_1},
- {&_44c6_s_p6_0,&_44c6_s_p6_1},
- {&_44c6_s_p7_0,&_44c6_s_p7_1},
- {&_44c6_s_p8_0,&_44c6_s_p8_1},
- {&_44c6_s_p9_0,&_44c6_s_p9_1,&_44c6_s_p9_2}
- }
-};
-static static_bookblock _resbook_44s_7={
- {
- {0},{0,0,&_44c7_s_p1_0},{0,0,&_44c7_s_p2_0},{0,0,&_44c7_s_p3_0},
- {0,0,&_44c7_s_p4_0},
- {&_44c7_s_p5_0,&_44c7_s_p5_1},
- {&_44c7_s_p6_0,&_44c7_s_p6_1},
- {&_44c7_s_p7_0,&_44c7_s_p7_1},
- {&_44c7_s_p8_0,&_44c7_s_p8_1},
- {&_44c7_s_p9_0,&_44c7_s_p9_1,&_44c7_s_p9_2}
- }
-};
-static static_bookblock _resbook_44s_8={
- {
- {0},{0,0,&_44c8_s_p1_0},{0,0,&_44c8_s_p2_0},{0,0,&_44c8_s_p3_0},
- {0,0,&_44c8_s_p4_0},
- {&_44c8_s_p5_0,&_44c8_s_p5_1},
- {&_44c8_s_p6_0,&_44c8_s_p6_1},
- {&_44c8_s_p7_0,&_44c8_s_p7_1},
- {&_44c8_s_p8_0,&_44c8_s_p8_1},
- {&_44c8_s_p9_0,&_44c8_s_p9_1,&_44c8_s_p9_2}
- }
-};
-static static_bookblock _resbook_44s_9={
- {
- {0},{0,0,&_44c9_s_p1_0},{0,0,&_44c9_s_p2_0},{0,0,&_44c9_s_p3_0},
- {0,0,&_44c9_s_p4_0},
- {&_44c9_s_p5_0,&_44c9_s_p5_1},
- {&_44c9_s_p6_0,&_44c9_s_p6_1},
- {&_44c9_s_p7_0,&_44c9_s_p7_1},
- {&_44c9_s_p8_0,&_44c9_s_p8_1},
- {&_44c9_s_p9_0,&_44c9_s_p9_1,&_44c9_s_p9_2}
- }
-};
-
-
-static vorbis_residue_template _res_44s_0[]={
- {2,0, &_residue_44_mid,
- &_huff_book__44c0_s_short,&_huff_book__44c0_sm_short,
- &_resbook_44s_0,&_resbook_44sm_0},
-
- {2,0, &_residue_44_mid,
- &_huff_book__44c0_s_long,&_huff_book__44c0_sm_long,
- &_resbook_44s_0,&_resbook_44sm_0}
-};
-static vorbis_residue_template _res_44s_1[]={
- {2,0, &_residue_44_mid,
- &_huff_book__44c1_s_short,&_huff_book__44c1_sm_short,
- &_resbook_44s_1,&_resbook_44sm_1},
-
- {2,0, &_residue_44_mid,
- &_huff_book__44c1_s_long,&_huff_book__44c1_sm_long,
- &_resbook_44s_1,&_resbook_44sm_1}
-};
-static vorbis_residue_template _res_44s_2[]={
- {2,0, &_residue_44_mid,
- &_huff_book__44c2_s_short,&_huff_book__44c2_s_short,
- &_resbook_44s_2,&_resbook_44s_2},
-
- {2,0, &_residue_44_mid,
- &_huff_book__44c2_s_long,&_huff_book__44c2_s_long,
- &_resbook_44s_2,&_resbook_44s_2}
-};
-static vorbis_residue_template _res_44s_3[]={
- {2,0, &_residue_44_mid,
- &_huff_book__44c3_s_short,&_huff_book__44c3_s_short,
- &_resbook_44s_3,&_resbook_44s_3},
-
- {2,0, &_residue_44_mid,
- &_huff_book__44c3_s_long,&_huff_book__44c3_s_long,
- &_resbook_44s_3,&_resbook_44s_3}
-};
-static vorbis_residue_template _res_44s_4[]={
- {2,0, &_residue_44_mid,
- &_huff_book__44c4_s_short,&_huff_book__44c4_s_short,
- &_resbook_44s_4,&_resbook_44s_4},
-
- {2,0, &_residue_44_mid,
- &_huff_book__44c4_s_long,&_huff_book__44c4_s_long,
- &_resbook_44s_4,&_resbook_44s_4}
-};
-static vorbis_residue_template _res_44s_5[]={
- {2,0, &_residue_44_mid,
- &_huff_book__44c5_s_short,&_huff_book__44c5_s_short,
- &_resbook_44s_5,&_resbook_44s_5},
-
- {2,0, &_residue_44_mid,
- &_huff_book__44c5_s_long,&_huff_book__44c5_s_long,
- &_resbook_44s_5,&_resbook_44s_5}
-};
-static vorbis_residue_template _res_44s_6[]={
- {2,0, &_residue_44_high,
- &_huff_book__44c6_s_short,&_huff_book__44c6_s_short,
- &_resbook_44s_6,&_resbook_44s_6},
-
- {2,0, &_residue_44_high,
- &_huff_book__44c6_s_long,&_huff_book__44c6_s_long,
- &_resbook_44s_6,&_resbook_44s_6}
-};
-static vorbis_residue_template _res_44s_7[]={
- {2,0, &_residue_44_high,
- &_huff_book__44c7_s_short,&_huff_book__44c7_s_short,
- &_resbook_44s_7,&_resbook_44s_7},
-
- {2,0, &_residue_44_high,
- &_huff_book__44c7_s_long,&_huff_book__44c7_s_long,
- &_resbook_44s_7,&_resbook_44s_7}
-};
-static vorbis_residue_template _res_44s_8[]={
- {2,0, &_residue_44_high,
- &_huff_book__44c8_s_short,&_huff_book__44c8_s_short,
- &_resbook_44s_8,&_resbook_44s_8},
-
- {2,0, &_residue_44_high,
- &_huff_book__44c8_s_long,&_huff_book__44c8_s_long,
- &_resbook_44s_8,&_resbook_44s_8}
-};
-static vorbis_residue_template _res_44s_9[]={
- {2,0, &_residue_44_high,
- &_huff_book__44c9_s_short,&_huff_book__44c9_s_short,
- &_resbook_44s_9,&_resbook_44s_9},
-
- {2,0, &_residue_44_high,
- &_huff_book__44c9_s_long,&_huff_book__44c9_s_long,
- &_resbook_44s_9,&_resbook_44s_9}
-};
-
-static vorbis_mapping_template _mapres_template_44_stereo[]={
- { _map_nominal, _res_44s_0 }, /* 0 */
- { _map_nominal, _res_44s_1 }, /* 1 */
- { _map_nominal, _res_44s_2 }, /* 2 */
- { _map_nominal, _res_44s_3 }, /* 3 */
- { _map_nominal, _res_44s_4 }, /* 4 */
- { _map_nominal, _res_44s_5 }, /* 5 */
- { _map_nominal, _res_44s_6 }, /* 6 */
- { _map_nominal, _res_44s_7 }, /* 7 */
- { _map_nominal, _res_44s_8 }, /* 8 */
- { _map_nominal, _res_44s_9 }, /* 9 */
-};
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: key psychoacoustic settings for 44.1/48kHz
- last mod: $Id: psych_44.h,v 1.29 2003/09/02 07:32:17 xiphmont Exp $
-
- ********************************************************************/
-
-
-/* preecho trigger settings *****************************************/
-
-static vorbis_info_psy_global _psy_global_44[5]={
-
- {8, /* lines per eighth octave */
- {20.f,14.f,12.f,12.f,12.f,12.f,12.f},
- {-60.f,-30.f,-40.f,-40.f,-40.f,-40.f,-40.f}, 2,-75.f,
- -6.f,
- {99.},{{99.},{99.}},{0},{0},{{0.},{0.}}
- },
- {8, /* lines per eighth octave */
- {14.f,10.f,10.f,10.f,10.f,10.f,10.f},
- {-40.f,-30.f,-25.f,-25.f,-25.f,-25.f,-25.f}, 2,-80.f,
- -6.f,
- {99.},{{99.},{99.}},{0},{0},{{0.},{0.}}
- },
- {8, /* lines per eighth octave */
- {12.f,10.f,10.f,10.f,10.f,10.f,10.f},
- {-20.f,-20.f,-15.f,-15.f,-15.f,-15.f,-15.f}, 0,-80.f,
- -6.f,
- {99.},{{99.},{99.}},{0},{0},{{0.},{0.}}
- },
- {8, /* lines per eighth octave */
- {10.f,8.f,8.f,8.f,8.f,8.f,8.f},
- {-20.f,-15.f,-12.f,-12.f,-12.f,-12.f,-12.f}, 0,-80.f,
- -6.f,
- {99.},{{99.},{99.}},{0},{0},{{0.},{0.}}
- },
- {8, /* lines per eighth octave */
- {10.f,6.f,6.f,6.f,6.f,6.f,6.f},
- {-15.f,-15.f,-12.f,-12.f,-12.f,-12.f,-12.f}, 0,-85.f,
- -6.f,
- {99.},{{99.},{99.}},{0},{0},{{0.},{0.}}
- },
-};
-
-/* noise compander lookups * low, mid, high quality ****************/
-static compandblock _psy_compand_44[6]={
- /* sub-mode Z short */
- {{
- 0, 1, 2, 3, 4, 5, 6, 7, /* 7dB */
- 8, 9,10,11,12,13,14, 15, /* 15dB */
- 16,17,18,19,20,21,22, 23, /* 23dB */
- 24,25,26,27,28,29,30, 31, /* 31dB */
- 32,33,34,35,36,37,38, 39, /* 39dB */
- }},
- /* mode_Z nominal short*/
- {{
- 0, 1, 2, 3, 4, 5, 6, 6, /* 7dB */
- 7, 7, 7, 7, 6, 6, 6, 7, /* 15dB */
- 7, 8, 9,10,11,12,13, 14, /* 23dB */
- 15,16,17,17,17,18,18, 19, /* 31dB */
- 19,19,20,21,22,23,24, 25, /* 39dB */
- }},
- /* mode A short */
- {{
- 0, 1, 2, 3, 4, 5, 5, 5, /* 7dB */
- 6, 6, 6, 5, 4, 4, 4, 4, /* 15dB */
- 4, 4, 5, 5, 5, 6, 6, 6, /* 23dB */
- 7, 7, 7, 8, 8, 8, 9, 10, /* 31dB */
- 11,12,13,14,15,16,17, 18, /* 39dB */
- }},
- /* sub-mode Z long */
- {{
- 0, 1, 2, 3, 4, 5, 6, 7, /* 7dB */
- 8, 9,10,11,12,13,14, 15, /* 15dB */
- 16,17,18,19,20,21,22, 23, /* 23dB */
- 24,25,26,27,28,29,30, 31, /* 31dB */
- 32,33,34,35,36,37,38, 39, /* 39dB */
- }},
- /* mode_Z nominal long */
- {{
- 0, 1, 2, 3, 4, 5, 6, 7, /* 7dB */
- 8, 9,10,11,12,12,13, 13, /* 15dB */
- 13,14,14,14,15,15,15, 15, /* 23dB */
- 16,16,17,17,17,18,18, 19, /* 31dB */
- 19,19,20,21,22,23,24, 25, /* 39dB */
- }},
- /* mode A long */
- {{
- 0, 1, 2, 3, 4, 5, 6, 7, /* 7dB */
- 8, 8, 7, 6, 5, 4, 4, 4, /* 15dB */
- 4, 4, 5, 5, 5, 6, 6, 6, /* 23dB */
- 7, 7, 7, 8, 8, 8, 9, 10, /* 31dB */
- 11,12,13,14,15,16,17, 18, /* 39dB */
- }}
-};
-
-/* tonal masking curve level adjustments *************************/
-static vp_adjblock _vp_tonemask_adj_longblock[11]={
- /* adjust for mode zero */
- /* 63 125 250 500 1 2 4 8 16 */
- {{-15,-15,-15,-15,-10, -8, -4,-2, 0, 0, 0,10, 0, 0, 0, 0, 0}}, /* 0 */
- {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 5, 0, 0, 0, 0, 0}}, /* 1 */
- {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
- {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 3 */
- {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 4 */
- {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 5 */
- {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 6 */
- {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 7 */
- {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 8 */
- {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 9 */
- {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 10 */
-};
-static vp_adjblock _vp_tonemask_adj_otherblock[11]={
- /* adjust for mode zero */
- /* 63 125 250 500 1 2 4 8 16 */
- {{-20,-20,-20,-20,-14,-12,-10, -8, -4, 0, 0,10, 0, 0, 0, 0, 0}}, /* 0 */
- {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 5, 0, 0, 0, 0, 0}}, /* 1 */
- {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
- {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 3 */
- {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 4 */
- {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 5 */
- {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 6 */
- {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 7 */
- {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 8 */
- {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 9 */
- {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 10 */
-};
-
-static noise3 _psy_noisebias_trans_low[2]={
- /* 63 125 250 500 1k 2k 4k 8k 16k*/
- /* 0 */
- {{{-10,-10,-10,-10,-10, -4, 0, 0, 4, 8, 8, 8, 8, 10, 12, 14, 20},
- {-30,-30,-30,-30,-26,-20,-16, -8, -6, -6, -2, 2, 2, 4, 8, 8, 15},
- {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}},
- /* 1 */
- {{{-15,-15,-15,-15,-15,-10, -5, 0, 2, 2, 6, 6, 6, 8, 10, 12, 15},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2, 0, 0, 0, 2, 4, 10},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -6, -4, -4, -4, -2}}},
-};
-static noise3 _psy_noisebias_long_low[2]={
- /*63 125 250 500 1k 2k 4k 8k 16k*/
- /* 0 */
- {{{-10,-10,-10,-10,-10, -4, 0, 0, 0, 6, 6, 6, 6, 10, 10, 12, 20},
- {-20,-20,-20,-20,-20,-20,-10, -2, 0, 0, 0, 0, 0, 2, 4, 6, 15},
- {-20,-20,-20,-20,-20,-20,-20,-10, -6, -6, -6, -6, -6, -4, -4, -4, -2}}},
- /* 1 */
- {{{-10,-10,-10,-10,-10,-10, -8, -8, 0, 2, 4, 4, 5, 5, 5, 8, 10},
- {-20,-20,-20,-20,-20,-20,-20,-14, -8, -2, 0, 0, 0, 0, 2, 4, 10},
- {-20,-20,-20,-20,-20,-20,-20,-14, -6, -6, -6, -6, -6, -4, -4, -4, -2}}},
-};
-
-static noise3 _psy_noisebias_trans[11]={
- /* 63 125 250 500 1k 2k 4k 8k 16k*/
- /* 0 */
- {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 5, 8, 10},
- {-30,-30,-30,-30,-26,-22,-20,-14, -8, -4, 0, 0, 0, 0, 2, 4, 10},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -6, -4, -4, -4, -2}}},
- /* 1 */
- {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 5, 8, 10},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2, -2, -2, -2, 0, 2, 8},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -6, -6, -6, -4}}},
- /* 2 */
- {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 2, 2, 4, 4, 5, 6, 10},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2, -2, -2, -2, 0, 2, 6},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},
- /* 3 */
- {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 2, 2, 4, 4, 4, 5, 8},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -3, -1, 1, 6},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},
- /* 4 */
- {{{-20,-20,-20,-20,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -3, -1, 1, 5},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},
- /* 5 */
- {{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7},
- {-32,-32,-32,-32,-28,-24,-22,-16,-12, -6, -4, -4, -4, -4, -2, -1, 2},
- {-34,-34,-34,-34,-30,-24,-24,-18,-14,-12,-12,-12,-12,-10,-10, -9, -5}}},
- /* 6 */
- {{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7},
- {-32,-32,-32,-32,-28,-24,-24,-18,-14, -8, -6, -6, -6, -6, -4, -2, 1},
- {-34,-34,-34,-34,-30,-26,-24,-18,-17,-15,-15,-15,-15,-13,-13,-12, -8}}},
- /* 7 */
- {{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7},
- {-32,-32,-32,-32,-28,-24,-24,-18,-14,-12,-10, -8, -8, -8, -6, -4, 0},
- {-34,-34,-34,-34,-30,-26,-26,-24,-22,-19,-19,-19,-19,-18,-17,-16,-12}}},
- /* 8 */
- {{{-24,-24,-24,-24,-22,-20,-15,-10, -8, -2, 0, 0, 0, 1, 2, 3, 7},
- {-36,-36,-36,-36,-30,-30,-30,-24,-18,-14,-12,-10,-10,-10, -8, -6, -2},
- {-36,-36,-36,-36,-34,-30,-28,-26,-24,-24,-24,-24,-24,-24,-24,-20,-16}}},
- /* 9 */
- {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -4, -4, -4, -4, -4, -2, 2},
- {-36,-36,-36,-36,-34,-32,-32,-28,-20,-16,-16,-16,-16,-14,-12,-10, -7},
- {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-24,-20}}},
- /* 10 */
- {{{-30,-30,-30,-30,-30,-30,-30,-28,-20,-14,-14,-14,-14,-14,-14,-12,-10},
- {-40,-40,-40,-40,-40,-40,-40,-40,-35,-30,-30,-30,-30,-30,-30,-30,-20},
- {-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40}}},
-};
-
-static noise3 _psy_noisebias_long[11]={
- /*63 125 250 500 1k 2k 4k 8k 16k*/
- /* 0 */
- {{{-10,-10,-10,-10,-10,-10, -8, 2, 2, 2, 4, 4, 5, 5, 5, 8, 10},
- {-20,-20,-20,-20,-20,-20,-20,-14, -6, 0, 0, 0, 0, 0, 2, 4, 10},
- {-20,-20,-20,-20,-20,-20,-20,-14, -8, -6, -6, -6, -6, -4, -4, -4, -2}}},
- /* 1 */
- {{{-10,-10,-10,-10,-10,-10, -8, -4, 0, 2, 4, 4, 5, 5, 5, 8, 10},
- {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -2, -2, -2, -2, 0, 2, 8},
- {-20,-20,-20,-20,-20,-20,-20,-14,-10, -8, -8, -8, -8, -6, -6, -6, -4}}},
- /* 2 */
- {{{-10,-10,-10,-10,-10,-10,-10, -8, 0, 2, 2, 2, 4, 4, 5, 6, 10},
- {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -2, -2, -2, -2, 0, 2, 6},
- {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},
- /* 3 */
- {{{-10,-10,-10,-10,-10,-10,-10, -8, 0, 2, 2, 2, 4, 4, 4, 5, 8},
- {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -3, -1, 1, 6},
- {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},
- /* 4 */
- {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7},
- {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -3, -1, 1, 5},
- {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},
- /* 5 */
- {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7},
- {-22,-22,-22,-22,-22,-22,-22,-16,-12, -6, -4, -4, -4, -4, -2, -1, 2},
- {-24,-24,-24,-24,-24,-24,-24,-18,-14,-12,-12,-12,-12,-10,-10, -9, -5}}},
- /* 6 */
- {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7},
- {-24,-24,-24,-24,-24,-24,-24,-18,-14, -8, -6, -6, -6, -6, -4, -2, 1},
- {-26,-26,-26,-26,-26,-26,-26,-18,-16,-15,-15,-15,-15,-13,-13,-12, -8}}},
- /* 7 */
- {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7},
- {-24,-24,-24,-24,-24,-24,-24,-18,-14,-10, -8, -8, -8, -8, -6, -4, 0},
- {-26,-26,-26,-26,-26,-26,-26,-22,-20,-19,-19,-19,-19,-18,-17,-16,-12}}},
- /* 8 */
- {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 0, 0, 0, 0, 1, 2, 3, 7},
- {-26,-26,-26,-26,-26,-26,-26,-20,-16,-12,-10,-10,-10,-10, -8, -6, -2},
- {-28,-28,-28,-28,-28,-28,-28,-26,-24,-24,-24,-24,-24,-24,-24,-20,-16}}},
- /* 9 */
- {{{-22,-22,-22,-22,-22,-22,-22,-18,-14, -8, -4, -4, -4, -4, -4, -2, 2},
- {-26,-26,-26,-26,-26,-26,-26,-22,-18,-16,-16,-16,-16,-14,-12,-10, -7},
- {-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-24,-20}}},
- /* 10 */
- {{{-24,-24,-24,-24,-24,-24,-24,-24,-24,-18,-14,-14,-14,-14,-14,-12,-10},
- {-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-20},
- {-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40}}},
-};
-
-static noise3 _psy_noisebias_impulse[11]={
- /* 63 125 250 500 1k 2k 4k 8k 16k*/
- /* 0 */
- {{{-10,-10,-10,-10,-10, -4, 0, 0, 4, 4, 8, 8, 8, 10, 12, 14, 20},
- {-30,-30,-30,-30,-26,-22,-20,-14, -6, -2, 0, 0, 0, 0, 2, 4, 10},
- {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}},
- /* 1 */
- {{{-12,-12,-12,-12,-12, -8, -6, -4, 0, 4, 4, 4, 4, 10, 12, 14, 20},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -4, -4, -2, -2, -2, -2, 2},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8,-10,-10, -8, -8, -8, -6, -4}}},
- /* 2 */
- {{{-14,-14,-14,-14,-14,-10, -8, -6, -2, 2, 2, 2, 2, 8, 10, 10, 16},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -4, -4, -4, -2, 0},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10,-10,-10, -8, -4}}},
- /* 3 */
- {{{-14,-14,-14,-14,-14,-10, -8, -6, -2, 2, 2, 2, 2, 6, 8, 8, 14},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -4, -4, -4, -2, 0},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10,-10,-10, -8, -4}}},
- /* 4 */
- {{{-16,-16,-16,-16,-16,-12,-10, -6, -2, 0, 0, 0, 0, 4, 6, 6, 12},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -4, -4, -4, -2, 0},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10,-10,-10, -8, -4}}},
- /* 5 */
- {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 4, 6, 11},
- {-32,-32,-32,-32,-28,-24,-22,-16,-10, -6, -8, -8, -6, -6, -6, -4, -2},
- {-34,-34,-34,-34,-30,-26,-24,-18,-14,-12,-12,-12,-12,-12,-10, -9, -5}}},
- /* 6 */
- {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 4, 6, 11},
- {-34,-34,-34,-34,-30,-30,-24,-20,-12,-12,-14,-14,-10, -9, -8, -6, -4},
- {-34,-34,-34,-34,-34,-30,-26,-20,-16,-15,-15,-15,-15,-15,-13,-12, -8}}},
- /* 7 */
- {{{-22,-22,-22,-22,-22,-20,-14,-10, -6, 0, 0, 0, 0, 4, 4, 6, 11},
- {-34,-34,-34,-34,-30,-30,-24,-20,-14,-14,-16,-16,-14,-12,-10,-10,-10},
- {-34,-34,-34,-34,-32,-32,-30,-24,-20,-19,-19,-19,-19,-19,-17,-16,-12}}},
- /* 8 */
- {{{-24,-24,-24,-24,-24,-22,-14,-10, -6, -1, -1, -1, -1, 3, 3, 5, 10},
- {-34,-34,-34,-34,-30,-30,-30,-24,-20,-20,-20,-20,-20,-18,-16,-16,-14},
- {-36,-36,-36,-36,-36,-34,-28,-24,-24,-24,-24,-24,-24,-24,-24,-20,-16}}},
- /* 9 */
- {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -4, -4, -4, -4, -4, -2, 2},
- {-36,-36,-36,-36,-34,-32,-32,-30,-26,-26,-26,-26,-26,-22,-20,-20,-18},
- {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-24,-20}}},
- /* 10 */
- {{{-30,-30,-30,-30,-30,-26,-24,-24,-24,-20,-16,-16,-16,-16,-16,-14,-12},
- {-40,-40,-40,-40,-40,-40,-40,-40,-35,-30,-30,-30,-30,-30,-30,-30,-26},
- {-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40}}},
-};
-
-
-static noise3 _psy_noisebias_padding[11]={
- /* 63 125 250 500 1k 2k 4k 8k 16k*/
- /* 0 */
- {{{-10,-10,-10,-10,-10, -4, 0, 0, 4, 8, 8, 8, 8, 10, 12, 14, 20},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2, 2, 3, 6, 6, 8, 10},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -4, -4, -4, -4, -2, 0, 2}}},
- /* 1 */
- {{{-12,-12,-12,-12,-12, -8, -6, -4, 0, 4, 4, 4, 4, 10, 12, 14, 20},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, 0, 0, 0, 2, 2, 4, 8},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -6, -6, -4, -2, 0}}},
- /* 2 */
- {{{-14,-14,-14,-14,-14,-10, -8, -6, -2, 2, 2, 2, 2, 8, 10, 10, 16},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, 0, 0, 0, 2, 2, 4, 8},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -8, -6, -4, -2}}},
- /* 3 */
- {{{-14,-14,-14,-14,-14,-10, -8, -6, -2, 2, 2, 2, 2, 6, 8, 8, 14},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -1, -1, -1, 0, 0, 2, 6},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -8, -6, -4, -2}}},
- /* 4 */
- {{{-16,-16,-16,-16,-16,-12,-10, -6, -2, 0, 0, 0, 0, 4, 6, 6, 12},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -1, -1, -1, -1, 0, 2, 6},
- {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -8, -6, -4, -2}}},
- /* 5 */
- {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 6, 6, 12},
- {-32,-32,-32,-32,-28,-24,-22,-16,-12, -6, -3, -3, -3, -3, -2, 0, 4},
- {-34,-34,-34,-34,-30,-26,-24,-18,-14,-10,-10,-10,-10,-10, -8, -5, -3}}},
- /* 6 */
- {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 6, 6, 12},
- {-34,-34,-34,-34,-30,-30,-24,-20,-14, -8, -4, -4, -4, -4, -3, -1, 4},
- {-34,-34,-34,-34,-34,-30,-26,-20,-16,-13,-13,-13,-13,-13,-11, -8, -6}}},
- /* 7 */
- {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 6, 6, 12},
- {-34,-34,-34,-34,-30,-30,-30,-24,-16,-10, -8, -6, -6, -6, -5, -3, 1},
- {-34,-34,-34,-34,-32,-32,-28,-22,-18,-16,-16,-16,-16,-16,-14,-12,-10}}},
- /* 8 */
- {{{-22,-22,-22,-22,-22,-20,-14,-10, -4, 0, 0, 0, 0, 3, 5, 5, 11},
- {-34,-34,-34,-34,-30,-30,-30,-24,-16,-12,-10, -8, -8, -8, -7, -5, -2},
- {-36,-36,-36,-36,-36,-34,-28,-22,-20,-20,-20,-20,-20,-20,-20,-16,-14}}},
- /* 9 */
- {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -2, -2, -2, -2, 0, 2, 6},
- {-36,-36,-36,-36,-34,-32,-32,-24,-16,-12,-12,-12,-12,-12,-10, -8, -5},
- {-40,-40,-40,-40,-40,-40,-40,-32,-26,-24,-24,-24,-24,-24,-24,-20,-18}}},
- /* 10 */
- {{{-30,-30,-30,-30,-30,-26,-24,-24,-24,-20,-12,-12,-12,-12,-12,-10, -8},
- {-40,-40,-40,-40,-40,-40,-40,-40,-35,-30,-25,-25,-25,-25,-25,-25,-15},
- {-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40}}},
-};
-
-static noiseguard _psy_noiseguards_44[4]={
- {3,3,15},
- {3,3,15},
- {10,10,100},
- {10,10,100},
-};
-
-static int _psy_tone_suppress[11]={
- -20,-20,-20,-20,-24,-30,-40,-40,-45,-45,-45,
-};
-
-static int _psy_tone_0dB[11]={
- 90,95,95,95,95,105,105,105,105,105,105,
-};
-
-static int _psy_noise_suppress[11]={
- -20,-24,-24,-24,-24,-30,-40,-40,-45,-45,-45,
-};
-
-static vorbis_info_psy _psy_info_template={
- -1,
- -140.,-140.,
- /* tonemask att boost/decay,suppr,curves */
- {0.f,0.f,0.f}, 0.,0., -40.f, {0.},
-
- /*noisemaskp,supp, low/high window, low/hi guard, minimum */
- 1, -0.f, .5f, .5f, 0,0,0,
- {{-1},{-1},{-1}},{-1},105.f,
-
- 0,0,-1,-1,0.,
-};
-
-/* ath ****************/
-
-static int _psy_ath_floater[11]={
- -100,-100,-100,-100,-100,-105,-105,-105,-105,-110,-120,
-};
-
-static int _psy_ath_abs[11]={
- -130,-130,-130,-140,-140,-140,-140,-140,-140,-140,-150,
-};
-
-/* stereo setup. These don't map directly to quality level, there's
- an additional indirection as several of the below may be used in a
- single bitmanaged stream
-
-****************/
-
-/* various stereo possibilities */
-
-/* stereo mode by base quality level */
-static adj_stereo _psy_stereo_modes_44_low[2]={
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 */
- {{ 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 1, 0, 0, 0, 0},
- { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 4, 3},
- { 1, 2, 3, 4, 4, 4, 4, 4, 4, 5, 6, 7, 8, 8, 8},
- { 12,12.5, 13,13.5, 14,14.5, 15, 99, 99, 99, 99, 99, 99, 99, 99}},
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 */
- {{ 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 1, 0, 0, 0, 0},
- { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 4, 3},
- { 1, 2, 3, 4, 5, 5, 6, 6, 6, 6, 6, 7, 8, 8, 8},
- { 12,12.5, 13,13.5, 14,14.5, 15, 99, 99, 99, 99, 99, 99, 99, 99}},
-};
-
-static adj_stereo _psy_stereo_modes_44[11]={
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 */
- {{ 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 1, 0, 0, 0, 0},
- { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 4, 3},
- { 1, 2, 3, 4, 5, 5, 6, 6, 6, 6, 6, 7, 8, 8, 8},
- { 12,12.5, 13,13.5, 14,14.5, 15, 99, 99, 99, 99, 99, 99, 99, 99}},
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 */
- {{ 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 0, 0, 0, 0, 0},
- { 8, 8, 8, 8, 6, 6, 5, 5, 5, 5, 5, 5, 5, 4, 3},
- { 1, 2, 3, 4, 4, 5, 6, 6, 6, 6, 6, 8, 8, 8, 8},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 */
- {{ 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 0, 0, 0, 0, 0},
- { 8, 8, 8, 6, 5, 5, 5, 5, 5, 5, 5, 4, 3, 2, 1},
- { 3, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 */
- {{ 2, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0},
- { 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 1},
- { 4, 4, 5, 6, 6, 6, 6, 6, 8, 8, 10, 10, 10, 10, 10},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 */
- {{ 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 0},
- { 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 10},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 */
- {{ 2, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0},
- { 6, 6, 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 3, 3, 3, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 3, 3, 3, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 8 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 9 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 10 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
-};
-
-/* tone master attenuation by base quality mode and bitrate tweak */
-
-static att3 _psy_tone_masteratt_44_low[2]={
- {{ 34, 20, 8}, 0, 1.25}, /* 0 */
- {{ 34, 20, 8}, -2, 1.25}, /* 1 */
-};
-static att3 _psy_tone_masteratt_44[11]={
- {{ 30, 20, 8}, -2, 1.25}, /* 0 */
- {{ 25, 14, 4}, 0, 0}, /* 1 */
- {{ 20, 10, -2}, 0, 0}, /* 2 */
- {{ 20, 9, -4}, 0, 0}, /* 3 */
- {{ 20, 9, -4}, 0, 0}, /* 4 */
- {{ 20, 6, -6}, 0, 0}, /* 5 */
- {{ 20, 3, -10}, 0, 0}, /* 6 */
- {{ 18, 1, -14}, 0, 0}, /* 7 */
- {{ 18, 0, -16}, 0, 0}, /* 8 */
- {{ 18, -2, -16}, 0, 0}, /* 9 */
- {{ 12, -2, -20}, 0, 0}, /* 10 */
-};
-
-/* lowpass by mode **************/
-static double _psy_lowpass_44_low[2]={
- 15.1,15.1,
-};
-static double _psy_lowpass_44[11]={
- 15.1,15.8,16.5,17.9,20.5,48.,999.,999.,999.,999.,999.
-};
-
-/* noise normalization **********/
-
-static int _noise_start_short_44[10]={
- 16,16,16,16,32,32,9999,9999,9999,9999
-};
-static int _noise_start_long_44[10]={
- 128,128,128,256,512,512,9999,9999,9999,9999
-};
-static int _noise_part_short_44[10]={
- 8,8,8,8,8,8,8,8,8,8
-};
-static int _noise_part_long_44[10]={
- 32,32,32,32,32,32,32,32,32,32
-};
-static double _noise_thresh_44[10]={
- .2,.2,.3,.4,.5,.5,9999.,9999.,9999.,9999.,
-};
-static double _noise_thresh_44_2[2]={
- .5,.5,
-};
-
-
-static int _noise_start_short_44_low[2]={
- 32,32
-};
-static int _noise_start_long_44_low[2]={
- 256,256
-};
-
-static double rate_mapping_44_stereo_low[2]={
- 22500.,32000.
-};
-
-static double rate_mapping_44_stereo[11]={
- 32000.,40000.,48000.,56000.,64000.,
- 80000.,96000.,112000.,128000.,160000.,250001.
-};
-static double quality_mapping_44_stereo_low[2]={
- -.1,.0,
-};
-static double quality_mapping_44[11]={
- .0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1.0
-};
-
-static int blocksize_short_44_low[1]={
- 512
-};
-static int blocksize_long_44_low[1]={
- 4096
-};
-
-static int blocksize_short_44[10]={
- 256,256,256,256,256,256,256,256,256,256
-};
-static int blocksize_long_44[10]={
- 2048,2048,2048,2048,2048,2048,2048,2048,2048,2048
-};
-static double _psy_compand_short_mapping[11]={
- 1., 1., 1.3, 1.6, 2., 2., 2., 2., 2., 2., 2.
-};
-static double _psy_compand_long_mapping[11]={
- 4., 4., 4.3, 4.6, 5., 5., 5., 5., 5., 5., 5.
-};
-static double _global_mapping_44[11]={
- 1., 1., 1.5, 2., 2., 2.5, 2.7, 3.0, 3.5, 4., 4.
-};
-static double _global_mapping_44_low[2]={
- 0., 1.,
-};
-static int _floor_short_mapping_44_low[1]={
- 1,
-};
-static int _floor_long_mapping_44_low[1]={
- 8
-};
-static int _floor_short_mapping_44[10]={
- 0,0,2,2,4,5,5,5,5,5
-};
-static int _floor_long_mapping_44[10]={
- 7,7,7,7,7,7,7,7,7,7
-};
-
-ve_setup_data_template ve_setup_44_stereo={
- 10,
- rate_mapping_44_stereo,
- quality_mapping_44,
- 2,
- 40000,
- 50000,
-
- blocksize_short_44,
- blocksize_long_44,
-
- _psy_tone_masteratt_44,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_otherblock,
- _vp_tonemask_adj_longblock,
- _vp_tonemask_adj_otherblock,
-
- _psy_noiseguards_44,
- _psy_noisebias_impulse,
- _psy_noisebias_padding,
- _psy_noisebias_trans,
- _psy_noisebias_long,
- _psy_noise_suppress,
-
- _psy_compand_44,
- _psy_compand_short_mapping,
- _psy_compand_long_mapping,
-
- {_noise_start_short_44,_noise_start_long_44},
- {_noise_part_short_44,_noise_part_long_44},
- _noise_thresh_44,
-
- _psy_ath_floater,
- _psy_ath_abs,
-
- _psy_lowpass_44,
-
- _psy_global_44,
- _global_mapping_44,
- _psy_stereo_modes_44,
-
- _floor_books,
- _floor,
- _floor_short_mapping_44,
- _floor_long_mapping_44,
-
- _mapres_template_44_stereo
-};
-
-ve_setup_data_template ve_setup_44_stereo_low={
- 1,
- rate_mapping_44_stereo_low,
- quality_mapping_44_stereo_low,
- 2,
- 40000,
- 50000,
-
- blocksize_short_44_low,
- blocksize_long_44_low,
-
- _psy_tone_masteratt_44_low,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_otherblock,
- _vp_tonemask_adj_longblock,
- _vp_tonemask_adj_otherblock,
-
- _psy_noiseguards_44,
- _psy_noisebias_trans_low,
- _psy_noisebias_trans_low,
- _psy_noisebias_trans_low,
- _psy_noisebias_long_low,
- _psy_noise_suppress,
-
- _psy_compand_44,
- _psy_compand_short_mapping,
- _psy_compand_long_mapping,
-
- {_noise_start_short_44_low,_noise_start_long_44_low},
- {_noise_part_short_44,_noise_part_long_44},
- _noise_thresh_44,
-
- _psy_ath_floater,
- _psy_ath_abs,
-
- _psy_lowpass_44_low,
-
- _psy_global_44,
- _global_mapping_44_low,
- _psy_stereo_modes_44_low,
-
- _floor_books,
- _floor,
- _floor_short_mapping_44_low,
- _floor_long_mapping_44_low,
-
- _mapres_template_44_stereo
-};
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: toplevel settings for 44.1/48kHz uncoupled modes
- last mod: $Id: setup_44u.h,v 1.3 2002/07/11 06:41:05 xiphmont Exp $
-
- ********************************************************************/
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: toplevel residue templates for 32/44.1/48kHz uncoupled
- last mod: $Id: residue_44u.h,v 1.3 2002/07/11 06:41:04 xiphmont Exp $
-
- ********************************************************************/
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: static codebooks autogenerated by huff/huffbuld
- last modified: $Id: res_books_uncoupled.h,v 1.2 2002/07/11 10:27:53 xiphmont Exp $
-
- ********************************************************************/
-
-static long _vq_quantlist__16u0__p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__16u0__p1_0[] = {
- 1, 4, 4, 5, 7, 7, 5, 7, 8, 5, 8, 8, 8,10,10, 8,
- 10,11, 5, 8, 8, 8,10,10, 8,10,10, 4, 9, 9, 9,12,
- 11, 8,11,11, 8,12,11,10,12,14,10,13,13, 7,11,11,
- 10,14,12,11,14,14, 4, 9, 9, 8,11,11, 9,11,12, 7,
- 11,11,10,13,14,10,12,14, 8,11,12,10,14,14,10,13,
- 12,
-};
-
-static float _vq_quantthresh__16u0__p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__16u0__p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u0__p1_0 = {
- _vq_quantthresh__16u0__p1_0,
- _vq_quantmap__16u0__p1_0,
- 3,
- 3
-};
-
-static static_codebook _16u0__p1_0 = {
- 4, 81,
- _vq_lengthlist__16u0__p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__16u0__p1_0,
- NULL,
- &_vq_auxt__16u0__p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u0__p2_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__16u0__p2_0[] = {
- 2, 4, 4, 5, 6, 6, 5, 6, 6, 5, 7, 7, 7, 8, 9, 7,
- 8, 9, 5, 7, 7, 7, 9, 8, 7, 9, 7, 4, 7, 7, 7, 9,
- 9, 7, 8, 8, 6, 9, 8, 7, 8,11, 9,11,10, 6, 8, 9,
- 8,11, 8, 9,10,11, 4, 7, 7, 7, 8, 8, 7, 9, 9, 6,
- 9, 8, 9,11,10, 8, 8,11, 6, 8, 9, 9,10,11, 8,11,
- 8,
-};
-
-static float _vq_quantthresh__16u0__p2_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__16u0__p2_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u0__p2_0 = {
- _vq_quantthresh__16u0__p2_0,
- _vq_quantmap__16u0__p2_0,
- 3,
- 3
-};
-
-static static_codebook _16u0__p2_0 = {
- 4, 81,
- _vq_lengthlist__16u0__p2_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__16u0__p2_0,
- NULL,
- &_vq_auxt__16u0__p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u0__p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__16u0__p3_0[] = {
- 1, 5, 5, 7, 7, 6, 7, 7, 8, 8, 6, 7, 8, 8, 8, 8,
- 9, 9,11,11, 8, 9, 9,11,11, 6, 9, 8,10,10, 8,10,
- 10,11,11, 8,10,10,11,11,10,11,10,13,12, 9,11,10,
- 13,13, 6, 8, 9,10,10, 8,10,10,11,11, 8,10,10,11,
- 11, 9,10,11,13,12,10,10,11,12,12, 8,11,11,14,13,
- 10,12,11,15,13, 9,12,11,15,14,12,14,13,16,14,12,
- 13,13,17,14, 8,11,11,13,14, 9,11,12,14,15,10,11,
- 12,13,15,11,13,13,14,16,12,13,14,14,16, 5, 9, 9,
- 11,11, 9,11,11,12,12, 8,11,11,12,12,11,12,12,15,
- 14,10,12,12,15,15, 8,11,11,13,12,10,12,12,13,13,
- 10,12,12,14,13,12,12,13,14,15,11,13,13,17,16, 7,
- 11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,
- 12,15,14,11,13,13,15,14, 9,12,12,16,15,11,13,13,
- 17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,
- 17, 9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,
- 13,14,13,17,15,12,15,15,16,17, 5, 9, 9,11,11, 8,
- 11,11,13,12, 9,11,11,12,12,10,12,12,14,15,11,12,
- 12,14,14, 7,11,10,13,12,10,12,12,14,13,10,11,12,
- 13,13,11,13,13,15,16,12,12,13,15,15, 7,11,11,13,
- 13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,
- 12,13,13,15,14, 9,12,12,15,15,10,13,13,17,16,11,
- 12,13,15,15,12,15,14,18,18,13,14,14,16,17, 9,12,
- 12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,
- 17,17,13,15,14,16,15, 7,11,11,15,16,10,13,12,16,
- 17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,
- 8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,
- 17,16,17,19,14,15,15,17,16, 8,12,12,16,15,11,14,
- 13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,
- 18,18,11,15,14,18,17,13,14,15,18, 0,12,15,15, 0,
- 17,17,16,17,17,18,14,16,18,18, 0,11,14,14,17, 0,
- 12,15,14,17,19,12,15,14,18, 0,15,18,16, 0,17,14,
- 18,16,18, 0, 7,11,11,16,15,10,12,12,18,16,10,13,
- 13,16,15,13,15,14,17,17,14,16,16,19,18, 8,12,12,
- 16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,
- 18,15,16,16, 0,19, 8,12,12,16,17,11,13,13,17,17,
- 11,14,13,17,17,13,15,15,17,19,15,17,17,19, 0,11,
- 14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,
- 17, 0,18,16,16,19,17, 0,11,14,14,18,19,12,15,14,
- 17,17,13,16,14,17,16,14,17,16,18,18,15,18,15, 0,
- 18,
-};
-
-static float _vq_quantthresh__16u0__p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__16u0__p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u0__p3_0 = {
- _vq_quantthresh__16u0__p3_0,
- _vq_quantmap__16u0__p3_0,
- 5,
- 5
-};
-
-static static_codebook _16u0__p3_0 = {
- 4, 625,
- _vq_lengthlist__16u0__p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__16u0__p3_0,
- NULL,
- &_vq_auxt__16u0__p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u0__p4_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__16u0__p4_0[] = {
- 3, 5, 5, 8, 8, 6, 6, 6, 9, 9, 6, 6, 6, 9, 9, 9,
- 10, 9,11,11, 9, 9, 9,11,11, 6, 7, 7,10,10, 7, 7,
- 8,10,10, 7, 7, 8,10,10,10,10,10,11,12, 9,10,10,
- 11,12, 6, 7, 7,10,10, 7, 8, 7,10,10, 7, 8, 7,10,
- 10,10,11,10,12,11,10,10,10,13,10, 9,10,10,12,12,
- 10,11,10,14,12, 9,11,11,13,13,11,12,13,13,13,11,
- 12,12,15,13, 9,10,10,12,13, 9,11,10,12,13,10,10,
- 11,12,13,11,12,12,12,13,11,12,12,13,13, 5, 7, 7,
- 10,10, 7, 8, 8,10,10, 7, 8, 8,10,10,10,11,10,12,
- 13,10,10,11,12,12, 6, 8, 8,11,10, 7, 8, 9,10,12,
- 8, 9, 9,11,11,11,10,11,11,12,10,11,11,13,12, 7,
- 8, 8,10,11, 8, 9, 8,11,10, 8, 9, 9,11,11,10,12,
- 10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,
- 13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,
- 14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,
- 12,12,12,14,12,12,13,12,17,15, 5, 7, 7,10,10, 7,
- 8, 8,10,10, 7, 8, 8,11,10,10,10,11,12,12,10,11,
- 11,12,13, 6, 8, 8,11,10, 8, 9, 9,11,11, 7, 8, 9,
- 10,11,11,11,11,12,12,10,10,11,12,13, 6, 8, 8,10,
- 11, 8, 9, 9,11,11, 7, 9, 7,11,10,10,12,12,13,13,
- 11,11,10,13,11, 9,11,10,14,13,11,11,11,15,13,10,
- 10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,
- 11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,
- 14, 0,12,13,11,13,11, 8,10,10,13,13,10,11,11,14,
- 13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,
- 9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,
- 12,14,15,16,13,13,13,14,13, 9,11,11,12,12,10,12,
- 11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,
- 17,15,11,12,12,14,14,10,11,12,13,15,12,13,13, 0,
- 15,13,11,14,12,16,14,16,14, 0,15,11,12,12,14,16,
- 11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,
- 14,14,16,16, 8,10,10,13,13,10,11,10,13,14,10,11,
- 11,13,13,13,13,12,14,14,14,13,13,16,17, 9,10,10,
- 12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,
- 15,13,13,13,14,14, 9,10,10,13,13,10,11,12,12,14,
- 10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,
- 12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,
- 14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,
- 14,17,11,12,11,14,14,13,16,14,16, 0,14,15,11,15,
- 11,
-};
-
-static float _vq_quantthresh__16u0__p4_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__16u0__p4_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u0__p4_0 = {
- _vq_quantthresh__16u0__p4_0,
- _vq_quantmap__16u0__p4_0,
- 5,
- 5
-};
-
-static static_codebook _16u0__p4_0 = {
- 4, 625,
- _vq_lengthlist__16u0__p4_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__16u0__p4_0,
- NULL,
- &_vq_auxt__16u0__p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u0__p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__16u0__p5_0[] = {
- 1, 4, 4, 7, 7, 7, 7, 9, 9, 4, 6, 6, 8, 8, 8, 8,
- 9, 9, 4, 6, 6, 8, 8, 8, 8, 9, 9, 7, 8, 8, 9, 9,
- 9, 9,11,10, 7, 8, 8, 9, 9, 9, 9,10,11, 7, 8, 8,
- 9, 9,10,10,11,11, 7, 8, 8, 9, 9,10,10,11,11, 9,
- 9, 9,10,10,11,11,12,12, 9, 9, 9,10,10,11,11,12,
- 12,
-};
-
-static float _vq_quantthresh__16u0__p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__16u0__p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u0__p5_0 = {
- _vq_quantthresh__16u0__p5_0,
- _vq_quantmap__16u0__p5_0,
- 9,
- 9
-};
-
-static static_codebook _16u0__p5_0 = {
- 2, 81,
- _vq_lengthlist__16u0__p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__16u0__p5_0,
- NULL,
- &_vq_auxt__16u0__p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u0__p6_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__16u0__p6_0[] = {
- 1, 4, 4, 7, 7,10,10,12,12,13,13,18,17, 3, 6, 6,
- 9, 9,11,11,13,13,14,14,18,17, 3, 6, 6, 9, 9,11,
- 11,13,13,14,14,17,18, 7, 9, 9,11,11,13,13,14,14,
- 15,15, 0, 0, 7, 9, 9,11,11,13,13,14,14,15,16,19,
- 18,10,11,11,13,13,14,14,16,15,17,18, 0, 0,10,11,
- 11,13,13,14,14,15,15,16,18, 0, 0,11,13,13,14,14,
- 15,15,17,17, 0,19, 0, 0,11,13,13,14,14,14,15,16,
- 18, 0,19, 0, 0,13,14,14,15,15,18,17,18,18, 0,19,
- 0, 0,13,14,14,15,16,16,16,18,18,19, 0, 0, 0,16,
- 17,17, 0,17,19,19, 0,19, 0, 0, 0, 0,16,19,16,17,
- 18, 0,19, 0, 0, 0, 0, 0, 0,
-};
-
-static float _vq_quantthresh__16u0__p6_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__16u0__p6_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u0__p6_0 = {
- _vq_quantthresh__16u0__p6_0,
- _vq_quantmap__16u0__p6_0,
- 13,
- 13
-};
-
-static static_codebook _16u0__p6_0 = {
- 2, 169,
- _vq_lengthlist__16u0__p6_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__16u0__p6_0,
- NULL,
- &_vq_auxt__16u0__p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u0__p6_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__16u0__p6_1[] = {
- 1, 4, 5, 6, 6, 4, 6, 6, 6, 6, 4, 6, 6, 6, 6, 6,
- 6, 6, 7, 7, 6, 6, 6, 7, 7,
-};
-
-static float _vq_quantthresh__16u0__p6_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__16u0__p6_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u0__p6_1 = {
- _vq_quantthresh__16u0__p6_1,
- _vq_quantmap__16u0__p6_1,
- 5,
- 5
-};
-
-static static_codebook _16u0__p6_1 = {
- 2, 25,
- _vq_lengthlist__16u0__p6_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__16u0__p6_1,
- NULL,
- &_vq_auxt__16u0__p6_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u0__p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__16u0__p7_0[] = {
- 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7,
-};
-
-static float _vq_quantthresh__16u0__p7_0[] = {
- -157.5, 157.5,
-};
-
-static long _vq_quantmap__16u0__p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u0__p7_0 = {
- _vq_quantthresh__16u0__p7_0,
- _vq_quantmap__16u0__p7_0,
- 3,
- 3
-};
-
-static static_codebook _16u0__p7_0 = {
- 4, 81,
- _vq_lengthlist__16u0__p7_0,
- 1, -518803456, 1628680192, 2, 0,
- _vq_quantlist__16u0__p7_0,
- NULL,
- &_vq_auxt__16u0__p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u0__p7_1[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__16u0__p7_1[] = {
- 1, 5, 5, 6, 5, 9,10,11,11,10,10,10,10,10,10, 5,
- 8, 8, 8,10,10,10,10,10,10,10,10,10,10,10, 5, 8,
- 9, 9, 9,10,10,10,10,10,10,10,10,10,10, 5,10, 8,
- 10,10,10,10,10,10,10,10,10,10,10,10, 4, 8, 9,10,
- 10,10,10,10,10,10,10,10,10,10,10, 9,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10, 9,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,
-};
-
-static float _vq_quantthresh__16u0__p7_1[] = {
- -136.5, -115.5, -94.5, -73.5, -52.5, -31.5, -10.5, 10.5,
- 31.5, 52.5, 73.5, 94.5, 115.5, 136.5,
-};
-
-static long _vq_quantmap__16u0__p7_1[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u0__p7_1 = {
- _vq_quantthresh__16u0__p7_1,
- _vq_quantmap__16u0__p7_1,
- 15,
- 15
-};
-
-static static_codebook _16u0__p7_1 = {
- 2, 225,
- _vq_lengthlist__16u0__p7_1,
- 1, -520986624, 1620377600, 4, 0,
- _vq_quantlist__16u0__p7_1,
- NULL,
- &_vq_auxt__16u0__p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u0__p7_2[] = {
- 10,
- 9,
- 11,
- 8,
- 12,
- 7,
- 13,
- 6,
- 14,
- 5,
- 15,
- 4,
- 16,
- 3,
- 17,
- 2,
- 18,
- 1,
- 19,
- 0,
- 20,
-};
-
-static long _vq_lengthlist__16u0__p7_2[] = {
- 1, 6, 6, 7, 8, 7, 7,10, 9,10, 9,11,10, 9,11,10,
- 9, 9, 9, 9,10, 6, 8, 7, 9, 9, 8, 8,10,10, 9,11,
- 11,12,12,10, 9,11, 9,12,10, 9, 6, 9, 8, 9,12, 8,
- 8,11, 9,11,11,12,11,12,12,10,11,11,10,10,11, 7,
- 10, 9, 9, 9, 9, 9,10, 9,10, 9,10,10,12,10,10,10,
- 11,12,10,10, 7, 9, 9, 9,10, 9, 9,10,10, 9, 9, 9,
- 11,11,10,10,10,10, 9, 9,12, 7, 9,10, 9,11, 9,10,
- 9,10,11,11,11,10,11,12, 9,12,11,10,10,10, 7, 9,
- 9, 9, 9,10,12,10, 9,11,12,10,11,12,12,11, 9,10,
- 11,10,11, 7, 9,10,10,11,10, 9,10,11,11,11,10,12,
- 12,12,11,11,10,11,11,12, 8, 9,10,12,11,10,10,12,
- 12,12,12,12,10,11,11, 9,11,10,12,11,11, 8, 9,10,
- 10,11,12,11,11,10,10,10,12,12,12, 9,10,12,12,12,
- 12,12, 8,10,11,10,10,12, 9,11,12,12,11,12,12,12,
- 12,10,12,10,10,10,10, 8,12,11,11,11,10,10,11,12,
- 12,12,12,11,12,12,12,11,11,11,12,10, 9,10,10,12,
- 10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,
- 11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,
- 12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,
- 12,12,12,11,12,11,10,11,11,12,11,11, 9,10,10,10,
- 12,10,10,11, 9,11,12,11,12,11,12,12,10,11,10,12,
- 9, 9, 9,12,11,10,11,10,12,10,12,10,12,12,12,11,
- 11,11,11,11,10, 9,10,10,11,10,11,11,12,11,10,11,
- 12,12,12,11,11, 9,12,10,12, 9,10,12,10,10,11,10,
- 11,11,12,11,10,11,10,11,11,11,11,12,11,11,10, 9,
- 10,10,10, 9,11,11,10, 9,12,10,11,12,11,12,12,11,
- 12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,
- 10,10,12,11,10,11,11,11,10,
-};
-
-static float _vq_quantthresh__16u0__p7_2[] = {
- -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5,
- -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5,
- 6.5, 7.5, 8.5, 9.5,
-};
-
-static long _vq_quantmap__16u0__p7_2[] = {
- 19, 17, 15, 13, 11, 9, 7, 5,
- 3, 1, 0, 2, 4, 6, 8, 10,
- 12, 14, 16, 18, 20,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u0__p7_2 = {
- _vq_quantthresh__16u0__p7_2,
- _vq_quantmap__16u0__p7_2,
- 21,
- 21
-};
-
-static static_codebook _16u0__p7_2 = {
- 2, 441,
- _vq_lengthlist__16u0__p7_2,
- 1, -529268736, 1611661312, 5, 0,
- _vq_quantlist__16u0__p7_2,
- NULL,
- &_vq_auxt__16u0__p7_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__16u0__single[] = {
- 3, 5, 8, 7,14, 8, 9,19, 5, 2, 5, 5, 9, 6, 9,19,
- 8, 4, 5, 7, 8, 9,13,19, 7, 4, 6, 5, 9, 6, 9,19,
- 12, 8, 7, 9,10,11,13,19, 8, 5, 8, 6, 9, 6, 7,19,
- 8, 8,10, 7, 7, 4, 5,19,12,17,19,15,18,13,11,18,
-};
-
-static static_codebook _huff_book__16u0__single = {
- 2, 64,
- _huff_lengthlist__16u0__single,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__16u1__long[] = {
- 3, 6,10, 8,12, 8,14, 8,14,19, 5, 3, 5, 5, 7, 6,
- 11, 7,16,19, 7, 5, 6, 7, 7, 9,11,12,19,19, 6, 4,
- 7, 5, 7, 6,10, 7,18,18, 8, 6, 7, 7, 7, 7, 8, 9,
- 18,18, 7, 5, 8, 5, 7, 5, 8, 6,18,18,12, 9,10, 9,
- 9, 9, 8, 9,18,18, 8, 7,10, 6, 8, 5, 6, 4,11,18,
- 11,15,16,12,11, 8, 8, 6, 9,18,14,18,18,18,16,16,
- 16,13,16,18,
-};
-
-static static_codebook _huff_book__16u1__long = {
- 2, 100,
- _huff_lengthlist__16u1__long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u1__p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__16u1__p1_0[] = {
- 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 8, 7, 7,10,10, 7,
- 9,10, 5, 7, 8, 7,10, 9, 7,10,10, 5, 8, 8, 8,10,
- 10, 8,10,10, 7,10,10,10,11,12,10,12,13, 7,10,10,
- 9,13,11,10,12,13, 5, 8, 8, 8,10,10, 8,10,10, 7,
- 10,10,10,12,12, 9,11,12, 7,10,11,10,12,12,10,13,
- 11,
-};
-
-static float _vq_quantthresh__16u1__p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__16u1__p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u1__p1_0 = {
- _vq_quantthresh__16u1__p1_0,
- _vq_quantmap__16u1__p1_0,
- 3,
- 3
-};
-
-static static_codebook _16u1__p1_0 = {
- 4, 81,
- _vq_lengthlist__16u1__p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__16u1__p1_0,
- NULL,
- &_vq_auxt__16u1__p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u1__p2_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__16u1__p2_0[] = {
- 3, 4, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 7, 8, 6,
- 7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 7, 5, 6, 6, 6, 8,
- 8, 6, 8, 8, 6, 8, 8, 7, 7,10, 8, 9, 9, 6, 8, 8,
- 7, 9, 8, 8, 9,10, 5, 6, 6, 6, 8, 8, 7, 8, 8, 6,
- 8, 8, 8,10, 9, 7, 8, 9, 6, 8, 8, 8, 9, 9, 7,10,
- 8,
-};
-
-static float _vq_quantthresh__16u1__p2_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__16u1__p2_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u1__p2_0 = {
- _vq_quantthresh__16u1__p2_0,
- _vq_quantmap__16u1__p2_0,
- 3,
- 3
-};
-
-static static_codebook _16u1__p2_0 = {
- 4, 81,
- _vq_lengthlist__16u1__p2_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__16u1__p2_0,
- NULL,
- &_vq_auxt__16u1__p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u1__p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__16u1__p3_0[] = {
- 1, 5, 5, 8, 8, 6, 7, 7, 9, 9, 5, 7, 7, 9, 9, 9,
- 10, 9,11,11, 9, 9,10,11,11, 6, 8, 8,10,10, 8, 9,
- 10,11,11, 8, 9,10,11,11,10,11,11,12,13,10,11,11,
- 13,13, 6, 8, 8,10,10, 8,10, 9,11,11, 8,10, 9,11,
- 11,10,11,11,13,13,10,11,11,13,12, 9,11,11,14,13,
- 10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,
- 13,13,16,14, 9,11,11,13,14,10,11,12,14,14,10,12,
- 12,14,15,12,13,13,14,15,12,13,14,15,16, 5, 8, 8,
- 11,11, 8,10,10,12,12, 8,10,10,12,12,11,12,12,14,
- 14,11,12,12,14,14, 8,10,10,12,12, 9,11,12,12,13,
- 10,12,12,13,13,12,12,13,14,15,11,13,13,15,15, 7,
- 10,10,12,12, 9,12,11,13,12,10,11,12,13,13,12,13,
- 12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,
- 16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,
- 17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,
- 13,15,13,16,15,13,15,15,16,17, 5, 8, 8,11,11, 8,
- 10,10,12,12, 8,10,10,12,12,11,12,12,14,14,11,12,
- 12,14,14, 7,10,10,12,12,10,12,12,14,13, 9,11,12,
- 12,13,12,13,13,15,15,12,12,13,13,15, 7,10,10,12,
- 13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,
- 12,13,12,15,14, 9,12,12,15,14,11,13,13,15,15,11,
- 12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,
- 12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,
- 17,18,14,15,13,16,15, 8,11,11,15,14,10,12,12,16,
- 15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,
- 9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,
- 15,15,17,18,14,15,16,17,17, 9,12,12,15,15,11,14,
- 13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,
- 17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,
- 17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,
- 13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,
- 17,16,19,18, 8,11,11,14,15,10,12,12,15,15,10,12,
- 12,16,16,13,14,14,17,16,14,15,15,17,17, 9,12,12,
- 15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,
- 17,14,16,16,17,17, 9,12,12,15,16,11,13,13,16,17,
- 11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,
- 14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,
- 16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,
- 17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,
- 16,
-};
-
-static float _vq_quantthresh__16u1__p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__16u1__p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u1__p3_0 = {
- _vq_quantthresh__16u1__p3_0,
- _vq_quantmap__16u1__p3_0,
- 5,
- 5
-};
-
-static static_codebook _16u1__p3_0 = {
- 4, 625,
- _vq_lengthlist__16u1__p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__16u1__p3_0,
- NULL,
- &_vq_auxt__16u1__p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u1__p4_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__16u1__p4_0[] = {
- 4, 5, 5, 8, 8, 6, 6, 7, 9, 9, 6, 6, 6, 9, 9, 9,
- 10, 9,11,11, 9, 9,10,11,11, 6, 7, 7,10, 9, 7, 7,
- 8, 9,10, 7, 7, 8,10,10,10,10,10,10,12, 9, 9,10,
- 11,12, 6, 7, 7, 9, 9, 7, 8, 7,10,10, 7, 8, 7,10,
- 10, 9,10, 9,12,11,10,10, 9,12,10, 9,10,10,12,11,
- 10,10,10,12,12, 9,10,10,12,12,12,11,12,13,13,11,
- 11,12,12,13, 9,10,10,11,12, 9,10,10,12,12,10,10,
- 10,12,12,11,12,11,14,13,11,12,12,14,13, 5, 7, 7,
- 10,10, 7, 8, 8,10,10, 7, 8, 7,10,10,10,10,10,12,
- 12,10,10,10,12,12, 6, 8, 7,10,10, 7, 7, 9,10,11,
- 8, 9, 9,11,10,10,10,11,11,13,10,10,11,12,13, 6,
- 8, 8,10,10, 7, 9, 8,11,10, 8, 9, 9,10,11,10,11,
- 10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,
- 12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,
- 14, 9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,
- 11,12,11,14,12,12,13,13,15,14, 5, 7, 7,10,10, 7,
- 7, 8,10,10, 7, 8, 8,10,10,10,10,10,11,12,10,10,
- 10,12,12, 7, 8, 8,10,10, 8, 9, 8,11,10, 7, 8, 9,
- 10,11,10,11,11,12,12,10,10,11,11,13, 7, 7, 8,10,
- 10, 8, 8, 9,10,11, 7, 9, 7,11,10,10,11,11,13,12,
- 11,11,10,13,11, 9,10,10,12,12,10,11,11,13,12,10,
- 10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,
- 11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,
- 15,14,12,13,10,14,11, 8,10,10,12,12,10,11,10,13,
- 13, 9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,
- 9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,
- 12,13,14,15,12,13,12,15,13, 9,10,10,12,13,10,11,
- 10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,
- 14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,
- 14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,
- 11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,
- 14,14,15,15, 8,10,10,12,12, 9,10,10,12,12,10,10,
- 11,13,13,11,12,12,13,13,12,13,13,14,15, 9,10,10,
- 13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,
- 14,12,12,13,13,16, 9, 9,10,12,13,10,10,11,12,13,
- 10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,
- 12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,
- 14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,
- 14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,
- 11,
-};
-
-static float _vq_quantthresh__16u1__p4_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__16u1__p4_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u1__p4_0 = {
- _vq_quantthresh__16u1__p4_0,
- _vq_quantmap__16u1__p4_0,
- 5,
- 5
-};
-
-static static_codebook _16u1__p4_0 = {
- 4, 625,
- _vq_lengthlist__16u1__p4_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__16u1__p4_0,
- NULL,
- &_vq_auxt__16u1__p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u1__p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__16u1__p5_0[] = {
- 1, 4, 4, 7, 7, 7, 7, 9, 9, 4, 6, 6, 8, 8, 8, 8,
- 10,10, 4, 5, 6, 8, 8, 8, 8,10,10, 7, 8, 8, 9, 9,
- 9, 9,11,11, 7, 8, 8, 9, 9, 9, 9,11,11, 7, 8, 8,
- 10, 9,11,11,12,11, 7, 8, 8, 9, 9,11,11,12,12, 9,
- 10,10,11,11,12,12,13,12, 9,10,10,11,11,12,12,12,
- 13,
-};
-
-static float _vq_quantthresh__16u1__p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__16u1__p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u1__p5_0 = {
- _vq_quantthresh__16u1__p5_0,
- _vq_quantmap__16u1__p5_0,
- 9,
- 9
-};
-
-static static_codebook _16u1__p5_0 = {
- 2, 81,
- _vq_lengthlist__16u1__p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__16u1__p5_0,
- NULL,
- &_vq_auxt__16u1__p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u1__p6_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__16u1__p6_0[] = {
- 3, 4, 4, 6, 6, 7, 7, 9, 9, 4, 4, 4, 6, 6, 8, 8,
- 9, 9, 4, 4, 4, 6, 6, 7, 7, 9, 9, 6, 6, 6, 7, 7,
- 8, 8,10, 9, 6, 6, 6, 7, 7, 8, 8, 9,10, 7, 8, 7,
- 8, 8, 9, 9,10,10, 7, 8, 8, 8, 8, 9, 9,10,10, 9,
- 9, 9,10,10,10,10,11,11, 9, 9, 9,10,10,10,10,11,
- 11,
-};
-
-static float _vq_quantthresh__16u1__p6_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__16u1__p6_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u1__p6_0 = {
- _vq_quantthresh__16u1__p6_0,
- _vq_quantmap__16u1__p6_0,
- 9,
- 9
-};
-
-static static_codebook _16u1__p6_0 = {
- 2, 81,
- _vq_lengthlist__16u1__p6_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__16u1__p6_0,
- NULL,
- &_vq_auxt__16u1__p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u1__p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__16u1__p7_0[] = {
- 1, 4, 4, 4, 8, 8, 4, 8, 8, 5,11, 9, 8,12,11, 8,
- 12,11, 5,10,11, 8,11,12, 8,11,12, 4,11,11,11,14,
- 13,10,13,13, 8,14,13,12,14,16,12,16,15, 8,14,14,
- 13,16,14,12,15,16, 4,11,11,10,14,13,11,14,14, 8,
- 15,14,12,15,15,12,14,16, 8,14,14,11,16,15,12,15,
- 13,
-};
-
-static float _vq_quantthresh__16u1__p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__16u1__p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u1__p7_0 = {
- _vq_quantthresh__16u1__p7_0,
- _vq_quantmap__16u1__p7_0,
- 3,
- 3
-};
-
-static static_codebook _16u1__p7_0 = {
- 4, 81,
- _vq_lengthlist__16u1__p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__16u1__p7_0,
- NULL,
- &_vq_auxt__16u1__p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u1__p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__16u1__p7_1[] = {
- 2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 4, 6, 5, 7, 7,
- 8, 8, 8, 8, 8, 8, 4, 5, 6, 7, 7, 8, 8, 8, 8, 8,
- 8, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 6, 7, 7, 8,
- 8, 8, 8, 9, 9, 9, 9, 7, 8, 8, 8, 8, 9, 9, 9,10,
- 9,10, 7, 8, 8, 8, 8, 9, 9, 9, 9,10, 9, 8, 8, 8,
- 9, 9,10,10,10,10,10,10, 8, 8, 8, 9, 9, 9, 9,10,
- 10,10,10, 8, 8, 8, 9, 9, 9,10,10,10,10,10, 8, 8,
- 8, 9, 9,10,10,10,10,10,10,
-};
-
-static float _vq_quantthresh__16u1__p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__16u1__p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u1__p7_1 = {
- _vq_quantthresh__16u1__p7_1,
- _vq_quantmap__16u1__p7_1,
- 11,
- 11
-};
-
-static static_codebook _16u1__p7_1 = {
- 2, 121,
- _vq_lengthlist__16u1__p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__16u1__p7_1,
- NULL,
- &_vq_auxt__16u1__p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u1__p8_0[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__16u1__p8_0[] = {
- 1, 4, 4, 5, 5, 8, 8,10,10,12,12, 4, 7, 7, 8, 8,
- 9, 9,12,11,14,13, 4, 7, 7, 7, 8, 9,10,11,11,13,
- 12, 5, 8, 8, 9, 9,11,11,12,13,15,14, 5, 7, 8, 9,
- 9,11,11,13,13,17,15, 8, 9,10,11,11,12,13,17,14,
- 17,16, 8,10, 9,11,11,12,12,13,15,15,17,10,11,11,
- 12,13,14,15,15,16,16,17, 9,11,11,12,12,14,15,17,
- 15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,
- 13,14,14,15,15,16,16,15,16,
-};
-
-static float _vq_quantthresh__16u1__p8_0[] = {
- -49.5, -38.5, -27.5, -16.5, -5.5, 5.5, 16.5, 27.5,
- 38.5, 49.5,
-};
-
-static long _vq_quantmap__16u1__p8_0[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u1__p8_0 = {
- _vq_quantthresh__16u1__p8_0,
- _vq_quantmap__16u1__p8_0,
- 11,
- 11
-};
-
-static static_codebook _16u1__p8_0 = {
- 2, 121,
- _vq_lengthlist__16u1__p8_0,
- 1, -524582912, 1618345984, 4, 0,
- _vq_quantlist__16u1__p8_0,
- NULL,
- &_vq_auxt__16u1__p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u1__p8_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__16u1__p8_1[] = {
- 2, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 4, 6, 6, 7, 7,
- 8, 7, 8, 8, 8, 8, 4, 6, 6, 7, 7, 7, 7, 8, 8, 8,
- 8, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 6, 7, 7, 7,
- 7, 8, 8, 8, 8, 9, 9, 7, 7, 7, 8, 8, 8, 8, 9, 9,
- 9, 9, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 8, 8, 8,
- 8, 8, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 8, 8, 8, 9, 8, 9, 9, 9, 9, 9, 9, 8, 8,
- 8, 9, 9, 9, 9, 9, 9, 9, 9,
-};
-
-static float _vq_quantthresh__16u1__p8_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__16u1__p8_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u1__p8_1 = {
- _vq_quantthresh__16u1__p8_1,
- _vq_quantmap__16u1__p8_1,
- 11,
- 11
-};
-
-static static_codebook _16u1__p8_1 = {
- 2, 121,
- _vq_lengthlist__16u1__p8_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__16u1__p8_1,
- NULL,
- &_vq_auxt__16u1__p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u1__p9_0[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__16u1__p9_0[] = {
- 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8,
-};
-
-static float _vq_quantthresh__16u1__p9_0[] = {
- -1657.5, -1402.5, -1147.5, -892.5, -637.5, -382.5, -127.5, 127.5,
- 382.5, 637.5, 892.5, 1147.5, 1402.5, 1657.5,
-};
-
-static long _vq_quantmap__16u1__p9_0[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u1__p9_0 = {
- _vq_quantthresh__16u1__p9_0,
- _vq_quantmap__16u1__p9_0,
- 15,
- 15
-};
-
-static static_codebook _16u1__p9_0 = {
- 2, 225,
- _vq_lengthlist__16u1__p9_0,
- 1, -514071552, 1627381760, 4, 0,
- _vq_quantlist__16u1__p9_0,
- NULL,
- &_vq_auxt__16u1__p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u1__p9_1[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__16u1__p9_1[] = {
- 1, 6, 5, 9, 9,10,10, 6, 7, 9, 9,10,10,10,10, 5,
- 10, 8,10, 8,10,10, 8, 8,10, 9,10,10,10,10, 5, 8,
- 9,10,10,10,10, 8,10,10,10,10,10,10,10, 9,10,10,
- 10,10,10,10, 9, 9,10,10,10,10,10,10, 9, 9, 8, 9,
- 10,10,10, 9,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10, 8,10,10,10,10,
- 10,10,10,10,10,10,10,10,10, 6, 8, 8,10,10,10, 8,
- 10,10,10,10,10,10,10,10, 5, 8, 8,10,10,10, 9, 9,
- 10,10,10,10,10,10,10,10, 9,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9,
-};
-
-static float _vq_quantthresh__16u1__p9_1[] = {
- -110.5, -93.5, -76.5, -59.5, -42.5, -25.5, -8.5, 8.5,
- 25.5, 42.5, 59.5, 76.5, 93.5, 110.5,
-};
-
-static long _vq_quantmap__16u1__p9_1[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u1__p9_1 = {
- _vq_quantthresh__16u1__p9_1,
- _vq_quantmap__16u1__p9_1,
- 15,
- 15
-};
-
-static static_codebook _16u1__p9_1 = {
- 2, 225,
- _vq_lengthlist__16u1__p9_1,
- 1, -522338304, 1620115456, 4, 0,
- _vq_quantlist__16u1__p9_1,
- NULL,
- &_vq_auxt__16u1__p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u1__p9_2[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__16u1__p9_2[] = {
- 1, 6, 6, 7, 8, 8,11,10, 9, 9,11, 9,10, 9,11,11,
- 9, 6, 7, 6,11, 8,11, 9,10,10,11, 9,11,10,10,10,
- 11, 9, 5, 7, 7, 8, 8,10,11, 8, 8,11, 9, 9,10,11,
- 9,10,11, 8, 9, 6, 8, 8, 9, 9,10,10,11,11,11, 9,
- 11,10, 9,11, 8, 8, 8, 9, 8, 9,10,11, 9, 9,11,11,
- 10, 9, 9,11,10, 8,11, 8, 9, 8,11, 9,10, 9,10,11,
- 11,10,10, 9,10,10, 8, 8, 9,10,10,10, 9,11, 9,10,
- 11,11,11,11,10, 9,11, 9, 9,11,11,10, 8,11,11,11,
- 9,10,10,11,10,11,11, 9,11,10, 9,11,10,10,10,10,
- 9,11,10,11,10, 9, 9,10,11, 9, 8,10,11,11,10,10,
- 11, 9,11,10,11,11,10,11, 9, 9, 8,10, 8, 9,11, 9,
- 8,10,10, 9,11,10,11,10,11, 9,11, 8,10,11,11,11,
- 11,10,10,11,11,11,11,10,11,11,10, 9, 8,10,10, 9,
- 11,10,11,11,11, 9, 9, 9,11,11,11,10,10, 9, 9,10,
- 9,11,11,11,11, 8,10,11,10,11,11,10,11,11, 9, 9,
- 9,10, 9,11, 9,11,11,11,11,11,10,11,11,10,11,10,
- 11,11, 9,11,10,11,10, 9,10, 9,10,10,11,11,11,11,
- 9,10, 9,10,11,11,10,11,11,11,11,11,11,10,11,11,
- 10,
-};
-
-static float _vq_quantthresh__16u1__p9_2[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__16u1__p9_2[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u1__p9_2 = {
- _vq_quantthresh__16u1__p9_2,
- _vq_quantmap__16u1__p9_2,
- 17,
- 17
-};
-
-static static_codebook _16u1__p9_2 = {
- 2, 289,
- _vq_lengthlist__16u1__p9_2,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__16u1__p9_2,
- NULL,
- &_vq_auxt__16u1__p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__16u1__short[] = {
- 5, 7,10, 9,11,10,15,11,13,16, 6, 4, 6, 6, 7, 7,
- 10, 9,12,16,10, 6, 5, 6, 6, 7,10,11,16,16, 9, 6,
- 7, 6, 7, 7,10, 8,14,16,11, 6, 5, 4, 5, 6, 8, 9,
- 15,16, 9, 6, 6, 5, 6, 6, 9, 8,14,16,12, 7, 6, 6,
- 5, 6, 6, 7,13,16, 8, 6, 7, 6, 5, 5, 4, 4,11,16,
- 9, 8, 9, 9, 7, 7, 6, 5,13,16,14,14,16,15,16,15,
- 16,16,16,16,
-};
-
-static static_codebook _huff_book__16u1__short = {
- 2, 100,
- _huff_lengthlist__16u1__short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__16u2__long[] = {
- 5, 7,10,10,10,11,11,13,18,19, 6, 5, 5, 6, 7, 8,
- 9,12,19,19, 8, 5, 4, 4, 6, 7, 9,13,19,19, 8, 5,
- 4, 4, 5, 6, 8,12,17,19, 7, 5, 5, 4, 4, 5, 7,12,
- 18,18, 8, 7, 7, 6, 5, 5, 6,10,18,18, 9, 9, 9, 8,
- 6, 5, 6, 9,18,18,11,13,13,13, 8, 7, 7, 9,16,18,
- 13,17,18,16,11, 9, 9, 9,17,18,15,18,18,18,15,13,
- 13,14,18,18,
-};
-
-static static_codebook _huff_book__16u2__long = {
- 2, 100,
- _huff_lengthlist__16u2__long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__16u2__short[] = {
- 8,11,12,12,14,15,16,16,16,16, 9, 7, 7, 8, 9,11,
- 13,14,16,16,13, 7, 6, 6, 7, 9,12,13,15,16,15, 7,
- 6, 5, 4, 6,10,11,14,16,12, 8, 7, 4, 2, 4, 7,10,
- 14,16,11, 9, 7, 5, 3, 4, 6, 9,14,16,11,10, 9, 7,
- 5, 5, 6, 9,16,16,10,10, 9, 8, 6, 6, 7,10,16,16,
- 11,11,11,10,10,10,11,14,16,16,16,14,14,13,14,16,
- 16,16,16,16,
-};
-
-static static_codebook _huff_book__16u2__short = {
- 2, 100,
- _huff_lengthlist__16u2__short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u2_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__16u2_p1_0[] = {
- 1, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 7, 9, 9, 7,
- 9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 9, 5, 7, 7, 8, 9,
- 9, 7, 9, 9, 7, 9, 9, 9,10,10, 9,10,10, 7, 9, 9,
- 9,10,10, 9,10,11, 5, 7, 8, 8, 9, 9, 8, 9, 9, 7,
- 9, 9, 9,10,10, 9, 9,10, 7, 9, 9, 9,10,10, 9,11,
- 10,
-};
-
-static float _vq_quantthresh__16u2_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__16u2_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u2_p1_0 = {
- _vq_quantthresh__16u2_p1_0,
- _vq_quantmap__16u2_p1_0,
- 3,
- 3
-};
-
-static static_codebook _16u2_p1_0 = {
- 4, 81,
- _vq_lengthlist__16u2_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__16u2_p1_0,
- NULL,
- &_vq_auxt__16u2_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u2_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__16u2_p2_0[] = {
- 3, 5, 5, 8, 8, 5, 7, 7, 9, 9, 5, 7, 7, 9, 9, 9,
- 10, 9,11,11, 9, 9, 9,11,11, 5, 7, 7, 9, 9, 7, 8,
- 8,10,10, 7, 8, 8,10,10,10,10,10,12,12, 9,10,10,
- 11,12, 5, 7, 7, 9, 9, 7, 8, 8,10,10, 7, 8, 8,10,
- 10, 9,10,10,12,11,10,10,10,12,12, 9,10,10,12,12,
- 10,11,10,13,12, 9,10,10,12,12,12,12,12,14,14,11,
- 12,12,13,14, 9,10,10,12,12, 9,10,10,12,12,10,10,
- 10,12,12,11,12,12,14,13,12,13,12,14,14, 5, 7, 7,
- 9, 9, 7, 8, 8,10,10, 7, 8, 8,10,10,10,11,10,12,
- 12,10,10,11,12,12, 7, 8, 8,10,10, 8, 9, 9,11,11,
- 8, 9, 9,11,11,11,11,11,12,13,10,11,11,12,13, 7,
- 8, 8,10,10, 8, 9, 8,11,10, 8, 9, 9,11,11,10,11,
- 10,13,12,10,11,11,13,13, 9,11,10,13,13,10,11,11,
- 13,13,10,11,11,13,13,12,12,13,13,15,12,12,13,14,
- 15, 9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,
- 11,13,11,14,13,12,13,13,15,15, 5, 7, 7, 9, 9, 7,
- 8, 8,10,10, 7, 8, 8,10,10,10,10,10,12,12,10,10,
- 11,12,12, 7, 8, 8,10,10, 8, 9, 9,11,11, 8, 8, 9,
- 10,11,10,11,11,13,13,10,10,11,12,13, 7, 8, 8,10,
- 11, 8, 9, 9,11,11, 8, 9, 9,11,11,10,11,11,13,12,
- 11,11,11,13,12, 9,10,10,12,12,10,11,11,13,13,10,
- 10,11,12,13,12,13,13,15,14,11,11,13,12,14,10,10,
- 11,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,
- 14,14,12,13,12,14,13, 8,10, 9,12,12, 9,11,10,13,
- 13, 9,10,10,12,13,12,13,13,14,14,12,12,13,14,14,
- 9,11,10,13,13,10,11,11,13,13,10,11,11,13,13,12,
- 13,13,15,15,13,13,13,14,15, 9,10,10,12,13,10,11,
- 10,13,12,10,11,11,13,13,12,13,12,15,14,13,13,13,
- 14,15,11,12,12,15,14,12,12,13,15,15,12,13,13,15,
- 14,14,13,15,14,16,13,14,15,16,16,11,12,12,14,14,
- 11,12,12,15,14,12,13,13,15,15,13,14,13,16,14,14,
- 14,14,16,16, 8, 9, 9,12,12, 9,10,10,13,12, 9,10,
- 10,13,13,12,12,12,14,14,12,12,13,15,15, 9,10,10,
- 13,12,10,11,11,13,13,10,10,11,13,14,12,13,13,15,
- 15,12,12,13,14,15, 9,10,10,13,13,10,11,11,13,13,
- 10,11,11,13,13,12,13,13,14,14,13,14,13,15,14,11,
- 12,12,14,14,12,13,13,15,14,11,12,12,14,15,14,14,
- 14,16,15,13,12,14,14,16,11,12,13,14,15,12,13,13,
- 14,16,12,13,12,15,14,13,15,14,16,16,14,15,13,16,
- 13,
-};
-
-static float _vq_quantthresh__16u2_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__16u2_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u2_p2_0 = {
- _vq_quantthresh__16u2_p2_0,
- _vq_quantmap__16u2_p2_0,
- 5,
- 5
-};
-
-static static_codebook _16u2_p2_0 = {
- 4, 625,
- _vq_lengthlist__16u2_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__16u2_p2_0,
- NULL,
- &_vq_auxt__16u2_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u2_p3_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__16u2_p3_0[] = {
- 2, 4, 4, 6, 6, 7, 7, 9, 9, 4, 5, 5, 6, 6, 8, 7,
- 9, 9, 4, 5, 5, 6, 6, 7, 8, 9, 9, 6, 6, 6, 7, 7,
- 8, 8,10,10, 6, 6, 6, 7, 7, 8, 8, 9,10, 7, 8, 7,
- 8, 8, 9, 9,10,10, 7, 8, 8, 8, 8, 9, 9,10,10, 9,
- 9, 9,10, 9,10,10,11,11, 9, 9, 9,10,10,10,10,11,
- 11,
-};
-
-static float _vq_quantthresh__16u2_p3_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__16u2_p3_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u2_p3_0 = {
- _vq_quantthresh__16u2_p3_0,
- _vq_quantmap__16u2_p3_0,
- 9,
- 9
-};
-
-static static_codebook _16u2_p3_0 = {
- 2, 81,
- _vq_lengthlist__16u2_p3_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__16u2_p3_0,
- NULL,
- &_vq_auxt__16u2_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u2_p4_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__16u2_p4_0[] = {
- 2, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,11,11,
- 11, 5, 5, 5, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11,
- 12,11, 5, 5, 5, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,
- 11,12,12, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9,10,10,
- 11,11,12,12, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9,10,
- 10,11,11,12,12, 7, 8, 8, 8, 8, 9, 9, 9, 9,10,10,
- 11,11,12,12,12,12, 7, 8, 8, 8, 8, 9, 9, 9, 9,10,
- 10,11,11,11,12,12,12, 9, 9, 9, 9, 9, 9,10,10,10,
- 10,10,11,11,12,12,13,13, 8, 9, 9, 9, 9,10, 9,10,
- 10,10,10,11,11,12,12,13,13, 9, 9, 9, 9, 9,10,10,
- 10,10,11,11,11,12,12,12,13,13, 9, 9, 9, 9, 9,10,
- 10,10,10,11,11,12,11,12,12,13,13,10,10,10,10,10,
- 11,11,11,11,11,12,12,12,12,13,13,14,10,10,10,10,
- 10,11,11,11,11,12,11,12,12,13,12,13,13,11,11,11,
- 11,11,12,12,12,12,12,12,13,13,13,13,14,14,11,11,
- 11,11,11,12,12,12,12,12,12,13,12,13,13,14,14,11,
- 12,12,12,12,12,12,13,13,13,13,13,13,14,14,14,14,
- 11,12,12,12,12,12,12,13,13,13,13,14,13,14,14,14,
- 14,
-};
-
-static float _vq_quantthresh__16u2_p4_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__16u2_p4_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u2_p4_0 = {
- _vq_quantthresh__16u2_p4_0,
- _vq_quantmap__16u2_p4_0,
- 17,
- 17
-};
-
-static static_codebook _16u2_p4_0 = {
- 2, 289,
- _vq_lengthlist__16u2_p4_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__16u2_p4_0,
- NULL,
- &_vq_auxt__16u2_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u2_p5_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__16u2_p5_0[] = {
- 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 9, 8, 7,10, 9, 7,
- 10, 9, 5, 8, 9, 7, 9,10, 7, 9,10, 4, 9, 9, 9,11,
- 11, 8,11,11, 7,11,11,10,10,13,10,14,13, 7,11,11,
- 10,13,11,10,13,14, 5, 9, 9, 8,11,11, 9,11,11, 7,
- 11,11,10,14,13,10,12,14, 7,11,11,10,13,13,10,13,
- 10,
-};
-
-static float _vq_quantthresh__16u2_p5_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__16u2_p5_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u2_p5_0 = {
- _vq_quantthresh__16u2_p5_0,
- _vq_quantmap__16u2_p5_0,
- 3,
- 3
-};
-
-static static_codebook _16u2_p5_0 = {
- 4, 81,
- _vq_lengthlist__16u2_p5_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__16u2_p5_0,
- NULL,
- &_vq_auxt__16u2_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u2_p5_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__16u2_p5_1[] = {
- 2, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 5, 5, 5, 7, 7,
- 7, 7, 8, 8, 8, 8, 5, 5, 6, 7, 7, 7, 7, 8, 8, 8,
- 8, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 6, 7, 7, 7,
- 7, 8, 8, 8, 8, 8, 8, 7, 7, 7, 8, 8, 8, 8, 9, 9,
- 9, 9, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 8, 8, 8,
- 8, 8, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 8, 8,
- 8, 8, 8, 9, 9, 9, 9, 9, 9,
-};
-
-static float _vq_quantthresh__16u2_p5_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__16u2_p5_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u2_p5_1 = {
- _vq_quantthresh__16u2_p5_1,
- _vq_quantmap__16u2_p5_1,
- 11,
- 11
-};
-
-static static_codebook _16u2_p5_1 = {
- 2, 121,
- _vq_lengthlist__16u2_p5_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__16u2_p5_1,
- NULL,
- &_vq_auxt__16u2_p5_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u2_p6_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__16u2_p6_0[] = {
- 1, 4, 4, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 4, 6, 6,
- 8, 8, 9, 9, 9, 9,10,10,12,11, 4, 6, 6, 8, 8, 9,
- 9, 9, 9,10,10,11,12, 7, 8, 8, 9, 9,10,10,10,10,
- 12,12,13,12, 7, 8, 8, 9, 9,10,10,10,10,11,12,12,
- 12, 8, 9, 9,10,10,11,11,11,11,12,12,13,13, 8, 9,
- 9,10,10,11,11,11,11,12,13,13,13, 8, 9, 9,10,10,
- 11,11,12,12,13,13,14,14, 8, 9, 9,10,10,11,11,12,
- 12,13,13,14,14, 9,10,10,11,12,13,12,13,14,14,14,
- 14,14, 9,10,10,11,12,12,13,13,13,14,14,14,14,10,
- 11,11,12,12,13,13,14,14,15,15,15,15,10,11,11,12,
- 12,13,13,14,14,14,14,15,15,
-};
-
-static float _vq_quantthresh__16u2_p6_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__16u2_p6_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u2_p6_0 = {
- _vq_quantthresh__16u2_p6_0,
- _vq_quantmap__16u2_p6_0,
- 13,
- 13
-};
-
-static static_codebook _16u2_p6_0 = {
- 2, 169,
- _vq_lengthlist__16u2_p6_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__16u2_p6_0,
- NULL,
- &_vq_auxt__16u2_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u2_p6_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__16u2_p6_1[] = {
- 2, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 6, 6, 5, 5, 5, 6, 6,
-};
-
-static float _vq_quantthresh__16u2_p6_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__16u2_p6_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u2_p6_1 = {
- _vq_quantthresh__16u2_p6_1,
- _vq_quantmap__16u2_p6_1,
- 5,
- 5
-};
-
-static static_codebook _16u2_p6_1 = {
- 2, 25,
- _vq_lengthlist__16u2_p6_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__16u2_p6_1,
- NULL,
- &_vq_auxt__16u2_p6_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u2_p7_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__16u2_p7_0[] = {
- 1, 4, 4, 7, 7, 7, 7, 8, 8, 9, 9,10,10, 4, 6, 6,
- 9, 9, 9, 9, 9, 9,10,10,11,11, 4, 6, 6, 8, 9, 9,
- 9, 9, 9,10,11,12,11, 7, 8, 9,10,10,10,10,11,10,
- 11,12,12,13, 7, 9, 9,10,10,10,10,10,10,11,12,13,
- 13, 7, 9, 8,10,10,11,11,11,12,12,13,13,14, 7, 9,
- 9,10,10,11,11,11,12,13,13,13,13, 8, 9, 9,10,11,
- 11,12,12,12,13,13,13,13, 8, 9, 9,10,11,11,11,12,
- 12,13,13,14,14, 9,10,10,12,11,12,13,13,13,14,13,
- 13,13, 9,10,10,11,11,12,12,13,14,13,13,14,13,10,
- 11,11,12,13,14,14,14,15,14,14,14,14,10,11,11,12,
- 12,13,13,13,14,14,14,15,14,
-};
-
-static float _vq_quantthresh__16u2_p7_0[] = {
- -60.5, -49.5, -38.5, -27.5, -16.5, -5.5, 5.5, 16.5,
- 27.5, 38.5, 49.5, 60.5,
-};
-
-static long _vq_quantmap__16u2_p7_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u2_p7_0 = {
- _vq_quantthresh__16u2_p7_0,
- _vq_quantmap__16u2_p7_0,
- 13,
- 13
-};
-
-static static_codebook _16u2_p7_0 = {
- 2, 169,
- _vq_lengthlist__16u2_p7_0,
- 1, -523206656, 1618345984, 4, 0,
- _vq_quantlist__16u2_p7_0,
- NULL,
- &_vq_auxt__16u2_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u2_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__16u2_p7_1[] = {
- 3, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 5, 6, 6, 7, 7,
- 7, 7, 7, 7, 8, 8, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8,
- 8, 6, 6, 7, 7, 7, 8, 7, 8, 8, 8, 8, 6, 7, 7, 7,
- 7, 7, 7, 8, 8, 8, 8, 7, 7, 7, 7, 7, 8, 8, 8, 8,
- 8, 8, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7,
- 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 8, 8, 8, 8, 8,
- 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__16u2_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__16u2_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u2_p7_1 = {
- _vq_quantthresh__16u2_p7_1,
- _vq_quantmap__16u2_p7_1,
- 11,
- 11
-};
-
-static static_codebook _16u2_p7_1 = {
- 2, 121,
- _vq_lengthlist__16u2_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__16u2_p7_1,
- NULL,
- &_vq_auxt__16u2_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u2_p8_0[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__16u2_p8_0[] = {
- 1, 5, 5, 7, 7, 8, 8, 7, 7, 8, 8,10, 9,11,11, 4,
- 6, 6, 8, 8,10, 9, 9, 8, 9, 9,10,10,12,14, 4, 6,
- 7, 8, 9, 9,10, 9, 8, 9, 9,10,12,12,11, 7, 8, 8,
- 10,10,10,10, 9, 9,10,10,11,13,13,12, 7, 8, 8, 9,
- 11,11,10, 9, 9,11,10,12,11,11,14, 8, 9, 9,11,10,
- 11,11,10,10,11,11,13,12,14,12, 8, 9, 9,11,12,11,
- 11,10,10,12,11,12,12,12,14, 7, 8, 8, 9, 9,10,10,
- 10,11,12,11,13,13,14,12, 7, 8, 9, 9, 9,10,10,11,
- 11,11,12,12,14,14,14, 8,10, 9,10,11,11,11,11,14,
- 12,12,13,14,14,13, 9, 9, 9,10,11,11,11,12,12,12,
- 14,12,14,13,14,10,10,10,12,11,12,11,14,13,14,13,
- 14,14,13,14, 9,10,10,11,12,11,13,12,13,13,14,14,
- 14,13,14,10,13,13,12,12,11,12,14,13,14,13,14,12,
- 14,13,10,11,11,12,11,12,12,14,14,14,13,14,14,14,
- 14,
-};
-
-static float _vq_quantthresh__16u2_p8_0[] = {
- -136.5, -115.5, -94.5, -73.5, -52.5, -31.5, -10.5, 10.5,
- 31.5, 52.5, 73.5, 94.5, 115.5, 136.5,
-};
-
-static long _vq_quantmap__16u2_p8_0[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u2_p8_0 = {
- _vq_quantthresh__16u2_p8_0,
- _vq_quantmap__16u2_p8_0,
- 15,
- 15
-};
-
-static static_codebook _16u2_p8_0 = {
- 2, 225,
- _vq_lengthlist__16u2_p8_0,
- 1, -520986624, 1620377600, 4, 0,
- _vq_quantlist__16u2_p8_0,
- NULL,
- &_vq_auxt__16u2_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u2_p8_1[] = {
- 10,
- 9,
- 11,
- 8,
- 12,
- 7,
- 13,
- 6,
- 14,
- 5,
- 15,
- 4,
- 16,
- 3,
- 17,
- 2,
- 18,
- 1,
- 19,
- 0,
- 20,
-};
-
-static long _vq_lengthlist__16u2_p8_1[] = {
- 2, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,10, 9,10, 9, 9,
- 9,10,10,10,10, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9,
- 10, 9,10,10,10,10,10,10,11,10, 5, 6, 6, 7, 7, 8,
- 8, 8, 9, 9,10,10,10,10,10,10,10,10,10,10,10, 7,
- 7, 7, 8, 8, 9, 8, 9, 9,10, 9,10,10,10,10,10,10,
- 11,10,11,10, 7, 7, 7, 8, 8, 8, 9, 9, 9,10, 9,10,
- 10,10,10,10,10,10,10,10,10, 8, 8, 8, 9, 9, 9, 9,
- 10, 9,10,10,10,10,10,10,10,11,10,10,11,10, 8, 8,
- 8, 8, 9, 9, 9, 9,10,10,10,10,10,10,10,10,10,11,
- 11,10,10, 8, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,
- 11,10,11,10,11,10,11,10, 8, 9, 9, 9, 9, 9,10,10,
- 10,10,10,10,10,10,10,10,11,11,10,10,10, 9,10, 9,
- 9,10,10,10,11,10,10,10,10,10,10,10,10,11,11,11,
- 11,11, 9, 9, 9,10, 9,10,10,10,10,10,10,11,10,11,
- 10,11,11,11,11,10,10, 9,10, 9,10,10,10,10,11,10,
- 10,10,10,10,11,10,11,10,11,10,10,11, 9,10,10,10,
- 10,10,10,10,10,10,11,10,10,11,11,10,11,11,11,11,
- 11, 9, 9,10,10,10,10,10,11,10,10,11,10,10,11,10,
- 10,11,11,11,11,11, 9,10,10,10,10,10,10,10,11,10,
- 11,10,11,10,11,11,11,11,11,10,11,10,10,10,10,10,
- 10,10,10,10,11,11,11,11,11,11,11,11,11,10,11,11,
- 10,10,10,10,10,11,10,10,10,11,10,11,11,11,11,10,
- 12,11,11,11,10,10,10,10,10,10,11,10,10,10,11,11,
- 12,11,11,11,11,11,11,11,11,11,10,10,10,11,10,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,
- 10,10,11,10,11,10,10,11,11,11,11,11,11,11,11,11,
- 11,11,11,10,10,10,10,10,10,10,11,11,10,11,11,10,
- 11,11,10,11,11,11,10,11,11,
-};
-
-static float _vq_quantthresh__16u2_p8_1[] = {
- -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5,
- -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5,
- 6.5, 7.5, 8.5, 9.5,
-};
-
-static long _vq_quantmap__16u2_p8_1[] = {
- 19, 17, 15, 13, 11, 9, 7, 5,
- 3, 1, 0, 2, 4, 6, 8, 10,
- 12, 14, 16, 18, 20,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u2_p8_1 = {
- _vq_quantthresh__16u2_p8_1,
- _vq_quantmap__16u2_p8_1,
- 21,
- 21
-};
-
-static static_codebook _16u2_p8_1 = {
- 2, 441,
- _vq_lengthlist__16u2_p8_1,
- 1, -529268736, 1611661312, 5, 0,
- _vq_quantlist__16u2_p8_1,
- NULL,
- &_vq_auxt__16u2_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u2_p9_0[] = {
- 5586,
- 4655,
- 6517,
- 3724,
- 7448,
- 2793,
- 8379,
- 1862,
- 9310,
- 931,
- 10241,
- 0,
- 11172,
- 5521,
- 5651,
-};
-
-static long _vq_lengthlist__16u2_p9_0[] = {
- 1,10,10,10,10,10,10,10,10,10,10,10,10, 5, 4,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10, 4,10,10,10,10,10,10,10,10,10,10,10,10,
- 6, 6, 5,10,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9, 5,
- 5,
-};
-
-static float _vq_quantthresh__16u2_p9_0[] = {
- -5120.5, -4189.5, -3258.5, -2327.5, -1396.5, -498, -32.5, 32.5,
- 498, 1396.5, 2327.5, 3258.5, 4189.5, 5120.5,
-};
-
-static long _vq_quantmap__16u2_p9_0[] = {
- 11, 9, 7, 5, 3, 1, 13, 0,
- 14, 2, 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u2_p9_0 = {
- _vq_quantthresh__16u2_p9_0,
- _vq_quantmap__16u2_p9_0,
- 15,
- 15
-};
-
-static static_codebook _16u2_p9_0 = {
- 2, 225,
- _vq_lengthlist__16u2_p9_0,
- 1, -510275072, 1611661312, 14, 0,
- _vq_quantlist__16u2_p9_0,
- NULL,
- &_vq_auxt__16u2_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u2_p9_1[] = {
- 392,
- 343,
- 441,
- 294,
- 490,
- 245,
- 539,
- 196,
- 588,
- 147,
- 637,
- 98,
- 686,
- 49,
- 735,
- 0,
- 784,
- 388,
- 396,
-};
-
-static long _vq_lengthlist__16u2_p9_1[] = {
- 1,12,10,12,10,12,10,12,11,12,12,12,12,12,12,12,
- 12, 5, 5, 9,10,12,11,11,12,12,12,12,12,12,12,12,
- 12,12,12,12,10, 9, 9,11, 9,11,11,12,11,12,12,12,
- 12,12,12,12,12,12,12, 8, 8,10,11, 9,12,11,12,12,
- 12,12,12,12,12,12,12,12,12,12, 9, 8,10,11,12,11,
- 12,11,12,12,12,12,12,12,12,12,12,12,12, 8, 9,11,
- 11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 9,10,11,12,11,12,11,12,12,12,12,12,12,12,12,12,
- 12,12,12, 9, 9,11,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11, 5, 8, 9, 9, 8,11, 9,11,11,11,11,11,11,
- 11,11,11,11, 5, 5, 4, 8, 8, 8, 8,10, 9,10,10,11,
- 11,11,11,11,11,11,11, 5, 4,
-};
-
-static float _vq_quantthresh__16u2_p9_1[] = {
- -367.5, -318.5, -269.5, -220.5, -171.5, -122.5, -73.5, -26.5,
- -2, 2, 26.5, 73.5, 122.5, 171.5, 220.5, 269.5,
- 318.5, 367.5,
-};
-
-static long _vq_quantmap__16u2_p9_1[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 17, 0, 18, 2, 4, 6, 8, 10,
- 12, 14, 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u2_p9_1 = {
- _vq_quantthresh__16u2_p9_1,
- _vq_quantmap__16u2_p9_1,
- 19,
- 19
-};
-
-static static_codebook _16u2_p9_1 = {
- 2, 361,
- _vq_lengthlist__16u2_p9_1,
- 1, -518488064, 1611661312, 10, 0,
- _vq_quantlist__16u2_p9_1,
- NULL,
- &_vq_auxt__16u2_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__16u2_p9_2[] = {
- 24,
- 23,
- 25,
- 22,
- 26,
- 21,
- 27,
- 20,
- 28,
- 19,
- 29,
- 18,
- 30,
- 17,
- 31,
- 16,
- 32,
- 15,
- 33,
- 14,
- 34,
- 13,
- 35,
- 12,
- 36,
- 11,
- 37,
- 10,
- 38,
- 9,
- 39,
- 8,
- 40,
- 7,
- 41,
- 6,
- 42,
- 5,
- 43,
- 4,
- 44,
- 3,
- 45,
- 2,
- 46,
- 1,
- 47,
- 0,
- 48,
-};
-
-static long _vq_lengthlist__16u2_p9_2[] = {
- 1, 3, 3, 4, 7, 7, 7, 8, 7, 7, 7, 7, 8, 8, 8, 8,
- 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 9, 9, 8, 9, 9,
- 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,12,12,10,
- 11,
-};
-
-static float _vq_quantthresh__16u2_p9_2[] = {
- -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5,
- -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5,
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
- 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5,
- 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5,
-};
-
-static long _vq_quantmap__16u2_p9_2[] = {
- 47, 45, 43, 41, 39, 37, 35, 33,
- 31, 29, 27, 25, 23, 21, 19, 17,
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16, 18, 20, 22, 24, 26, 28, 30,
- 32, 34, 36, 38, 40, 42, 44, 46,
- 48,
-};
-
-static encode_aux_threshmatch _vq_auxt__16u2_p9_2 = {
- _vq_quantthresh__16u2_p9_2,
- _vq_quantmap__16u2_p9_2,
- 49,
- 49
-};
-
-static static_codebook _16u2_p9_2 = {
- 1, 49,
- _vq_lengthlist__16u2_p9_2,
- 1, -526909440, 1611661312, 6, 0,
- _vq_quantlist__16u2_p9_2,
- NULL,
- &_vq_auxt__16u2_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u0__long[] = {
- 3, 7,12,10,15,10, 9,18, 5, 2, 5, 6, 8, 7, 9,20,
- 10, 4, 4, 6, 6, 8,11,20, 9, 5, 6, 5, 7, 6, 9,20,
- 11, 7, 5, 7, 5, 7,10,20,10, 6, 7, 6, 6, 6, 8,17,
- 9, 8,10, 7, 7, 5, 5,17,11,18,19,14,13, 9, 8,19,
-};
-
-static static_codebook _huff_book__44u0__long = {
- 2, 64,
- _huff_lengthlist__44u0__long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u0__p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u0__p1_0[] = {
- 1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,11,11, 8,
- 10,11, 5, 8, 8, 8,10,10, 8,11,11, 4, 8, 8, 8,11,
- 11, 8,11,11, 8,11,11,11,13,14,11,13,14, 7,11,11,
- 10,14,12,11,13,14, 4, 8, 8, 8,11,11, 8,11,11, 8,
- 11,11,11,14,13,10,12,13, 8,11,12,11,14,14,11,14,
- 13,
-};
-
-static float _vq_quantthresh__44u0__p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u0__p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u0__p1_0 = {
- _vq_quantthresh__44u0__p1_0,
- _vq_quantmap__44u0__p1_0,
- 3,
- 3
-};
-
-static static_codebook _44u0__p1_0 = {
- 4, 81,
- _vq_lengthlist__44u0__p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u0__p1_0,
- NULL,
- &_vq_auxt__44u0__p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u0__p2_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u0__p2_0[] = {
- 2, 4, 4, 5, 6, 6, 5, 6, 6, 5, 7, 6, 7, 8, 8, 6,
- 7, 8, 5, 6, 7, 6, 8, 7, 7, 8, 8, 5, 7, 7, 7, 8,
- 8, 7, 8, 8, 7, 8, 8, 8, 9,10, 8,10,10, 6, 8, 8,
- 7,10, 8, 8,10,10, 5, 7, 7, 7, 8, 8, 7, 8, 8, 6,
- 8, 8, 8,10,10, 7, 8,10, 6, 8, 8, 8,10,10, 8,10,
- 9,
-};
-
-static float _vq_quantthresh__44u0__p2_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u0__p2_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u0__p2_0 = {
- _vq_quantthresh__44u0__p2_0,
- _vq_quantmap__44u0__p2_0,
- 3,
- 3
-};
-
-static static_codebook _44u0__p2_0 = {
- 4, 81,
- _vq_lengthlist__44u0__p2_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u0__p2_0,
- NULL,
- &_vq_auxt__44u0__p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u0__p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u0__p3_0[] = {
- 1, 5, 5, 8, 8, 5, 7, 7, 9, 9, 5, 7, 8, 9, 9, 8,
- 10, 9,12,11, 8, 9,10,11,12, 6, 8, 8,10,10, 8,10,
- 10,11,11, 8, 9,10,11,11,10,12,11,13,13,10,11,11,
- 13,13, 6, 8, 8,10,10, 8,10, 9,11,11, 8,10,10,11,
- 11,10,11,11,13,13,10,11,11,13,13, 9,11,11,15,14,
- 10,12,11,15,14,10,12,11,15,14,12,14,13,16,15,12,
- 13,13,17,15, 9,11,11,14,14,10,11,12,14,15,10,11,
- 12,14,17,12,13,14,15,16,13,13,14,15,17, 5, 8, 8,
- 11,11, 8,10,10,12,12, 8,10,10,12,12,11,12,12,15,
- 14,11,12,12,14,15, 8,10,10,13,12,10,12,12,13,13,
- 10,12,12,14,14,12,13,13,15,15,11,13,13,15,16, 7,
- 10,10,12,12, 9,12,11,14,13,10,12,12,13,14,12,13,
- 12,15,15,12,13,13,16,17,10,12,12,15,16,12,13,13,
- 17,15,11,13,13,17,16,15,15,15,17,17,13,15,16,18,
- 18, 9,12,12,15,17,11,13,12,16,16,11,13,13,16,18,
- 14,15,14,16,16,13,15,15,17,18, 5, 8, 8,11,11, 8,
- 10,10,12,12, 8,10,10,12,12,10,12,12,15,15,11,12,
- 12,14,15, 7,10,10,12,12,10,12,12,14,14, 9,11,12,
- 13,13,12,13,13,16,16,12,12,13,15,15, 8,10,10,12,
- 13,10,12,12,13,14,10,12,12,13,13,12,13,13,16,16,
- 12,13,13,15,15,10,12,12,15,16,11,13,13,17,16,11,
- 12,13,17,16,13,15,15,18,19,14,14,14,17,16,10,12,
- 12,15,15,11,13,13,15,16,11,13,13,15,17,13,15,15,
- 18,20,14,15,15,17,17, 8,11,11,15,16,10,13,12,17,
- 16,10,12,13,16,17,15,16,15,20,19,14,15,16,18,19,
- 9,12,12,15,17,11,13,14,18,18,11,13,14,17,17,16,
- 17,18,19,19,15,16,18,19,20, 9,12,12,16,16,11,14,
- 12,17,17,11,13,13,16,19,15,16,15,20,19,15,15,15,
- 19,17,12,14,14,18,19,14,15,15,19,18,13,15,15,18,
- 17,17,18,19,20, 0,15,16,17,20, 0,12,15,14,17,18,
- 13,16,14,20,20,13,16,15,19,18,16,20,17,20,19,16,
- 17,16, 0,19, 8,11,11,15,15,10,12,12,17,17,10,12,
- 13,16,16,13,14,15,17,17,15,16,17,19,19, 9,12,12,
- 16,17,11,13,13,18,16,11,13,13,16,17,14,15,16,19,
- 18,15,16,17,17,18, 9,12,12,17,16,11,14,13,16,16,
- 12,14,13,17,18,14,16,15,18,19,17,17,17,19,18,12,
- 14,14,19,17,13,15,15,17, 0,13,14,16, 0, 0,15,16,
- 16,19, 0,16,16,19,19, 0,12,15,14,19,18,13,15,15,
- 19, 0,14,16,15, 0,19,15,17,17, 0,19,17,18,17, 0,
- 19,
-};
-
-static float _vq_quantthresh__44u0__p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u0__p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u0__p3_0 = {
- _vq_quantthresh__44u0__p3_0,
- _vq_quantmap__44u0__p3_0,
- 5,
- 5
-};
-
-static static_codebook _44u0__p3_0 = {
- 4, 625,
- _vq_lengthlist__44u0__p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u0__p3_0,
- NULL,
- &_vq_auxt__44u0__p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u0__p4_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u0__p4_0[] = {
- 4, 5, 5, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 9,
- 9, 9,11,11, 9, 9, 9,11,11, 5, 7, 7, 9, 9, 7, 8,
- 8,10,10, 6, 7, 8, 9,10,10,10,10,11,12, 9,10,10,
- 11,12, 5, 7, 7, 9, 9, 6, 8, 7,10,10, 7, 8, 8,10,
- 10, 9,10,10,12,11,10,10,10,12,11, 9,10,10,12,12,
- 10,11,10,13,13, 9,10,10,13,13,12,12,12,14,14,11,
- 12,12,14,14, 9,10,10,12,12, 9,10,10,13,13,10,10,
- 10,12,13,11,12,12,14,14,12,13,12,14,14, 5, 7, 7,
- 10,10, 7, 8, 8,10,10, 7, 8, 8,10,10,10,10,10,13,
- 12,10,10,10,12,12, 7, 8, 8,11,10, 8, 8, 9,10,11,
- 8, 9, 9,11,11,10,10,11,12,13,10,11,11,13,14, 6,
- 8, 8,10,10, 7, 9, 8,11,10, 8, 9, 9,11,11,10,11,
- 10,13,11,10,11,11,13,13,10,11,10,13,13,10,10,11,
- 13,14,10,11,11,14,13,12,11,13,12,14,12,13,13,15,
- 15, 9,10,10,13,13,10,11,10,13,13,10,11,11,13,14,
- 12,13,11,15,12,12,13,13,14,15, 5, 7, 7,10, 9, 7,
- 8, 8,10,10, 7, 8, 8,10,10,10,10,10,12,12,10,10,
- 10,12,13, 6, 8, 8,10,10, 8, 9, 9,11,11, 7, 8, 9,
- 10,11,10,11,11,13,13,10,10,11,11,14, 7, 8, 8,10,
- 10, 8, 9, 9,11,11, 8, 9, 8,11,10,10,11,11,13,13,
- 10,11,10,13,11, 9,10,10,13,13,10,11,11,14,13,10,
- 10,11,12,13,13,13,13,15,14,12,11,13,12,15, 9,10,
- 11,13,13,10,11,11,13,14,10,11,10,13,13,12,13,13,
- 15,15,12,13,11,15,12, 8,10,10,13,12,10,11,11,13,
- 13, 9,10,11,13,13,13,13,13,15,15,12,13,13,15,15,
- 9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,
- 13,14,14,15,13,13,13,14,15, 9,10,10,13,13,10,11,
- 10,14,13,10,11,11,13,14,13,14,13,15,14,12,13,13,
- 14,15,11,13,13,15,14,11,11,13,14,15,12,14,13,15,
- 15,13,12,15,12,16,14,14,15,17,16,11,12,12,14,15,
- 11,13,11,15,14,12,13,13,15,15,14,14,12,17,13,14,
- 15,15,18,16, 8,10,10,13,12, 9,10,10,13,13,10,10,
- 11,13,13,12,13,13,14,14,12,13,13,15,15, 9,10,10,
- 13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,17,
- 15,12,12,13,14,16, 9,10,10,13,13,10,11,11,13,13,
- 10,11,10,14,13,13,13,13,14,15,13,14,13,15,15,11,
- 13,12,14,14,12,13,13,16,14,11,12,13,15,15,14,15,
- 16,17,18,14,12,15,14,16,11,12,13,14,15,12,13,13,
- 15,16,11,13,11,15,14,14,16,14,16,17,14,15,12,16,
- 12,
-};
-
-static float _vq_quantthresh__44u0__p4_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u0__p4_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u0__p4_0 = {
- _vq_quantthresh__44u0__p4_0,
- _vq_quantmap__44u0__p4_0,
- 5,
- 5
-};
-
-static static_codebook _44u0__p4_0 = {
- 4, 625,
- _vq_lengthlist__44u0__p4_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u0__p4_0,
- NULL,
- &_vq_auxt__44u0__p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u0__p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44u0__p5_0[] = {
- 1, 4, 4, 7, 7, 8, 8, 9, 9, 4, 6, 5, 8, 8, 8, 8,
- 10,10, 4, 5, 6, 8, 8, 8, 8,10,10, 7, 8, 8, 9, 9,
- 9, 9,11,11, 7, 8, 8, 9, 9, 9, 9,11,11, 8, 8, 8,
- 10, 9,10,11,12,12, 8, 8, 8, 9, 9,11,11,12,12, 9,
- 10,10,11,11,12,12,13,13, 9,10,10,11,11,12,12,13,
- 13,
-};
-
-static float _vq_quantthresh__44u0__p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44u0__p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u0__p5_0 = {
- _vq_quantthresh__44u0__p5_0,
- _vq_quantmap__44u0__p5_0,
- 9,
- 9
-};
-
-static static_codebook _44u0__p5_0 = {
- 2, 81,
- _vq_lengthlist__44u0__p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44u0__p5_0,
- NULL,
- &_vq_auxt__44u0__p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u0__p6_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u0__p6_0[] = {
- 1, 4, 4, 6, 6, 8, 8,10, 9,10,10,14,14, 4, 6, 5,
- 8, 8, 9, 9,10,10,11,11,14,14, 4, 5, 6, 8, 8, 9,
- 9,10,10,11,11,14,14, 7, 8, 8, 9, 9,10,10,11,11,
- 12,12,15,15, 7, 8, 8, 9, 9,10,10,11,11,12,12,14,
- 15, 9, 9, 9,10,10,11,11,12,11,12,12,15,16, 9, 9,
- 9,10,10,11,11,11,11,12,12,15,15,10,10,10,11,11,
- 12,11,12,12,13,13,16,16,10,10,10,11,11,12,12,12,
- 12,13,13,16,17,11,11,12,12,12,13,13,14,13,14,14,
- 18,17,11,11,11,12,12,12,12,13,14,14,14,18,18,14,
- 14,14,15,15,15,16,16,16,17,17, 0,19,14,14,14,15,
- 15,16,17,16,17,17,17,19, 0,
-};
-
-static float _vq_quantthresh__44u0__p6_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44u0__p6_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u0__p6_0 = {
- _vq_quantthresh__44u0__p6_0,
- _vq_quantmap__44u0__p6_0,
- 13,
- 13
-};
-
-static static_codebook _44u0__p6_0 = {
- 2, 169,
- _vq_lengthlist__44u0__p6_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44u0__p6_0,
- NULL,
- &_vq_auxt__44u0__p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u0__p6_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u0__p6_1[] = {
- 2, 4, 4, 5, 5, 4, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5,
- 6, 6, 6, 6, 5, 6, 6, 6, 6,
-};
-
-static float _vq_quantthresh__44u0__p6_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u0__p6_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u0__p6_1 = {
- _vq_quantthresh__44u0__p6_1,
- _vq_quantmap__44u0__p6_1,
- 5,
- 5
-};
-
-static static_codebook _44u0__p6_1 = {
- 2, 25,
- _vq_lengthlist__44u0__p6_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u0__p6_1,
- NULL,
- &_vq_auxt__44u0__p6_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u0__p7_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u0__p7_0[] = {
- 1, 5, 5,11,11, 9,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11, 8,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11, 9,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11, 8,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,
-};
-
-static float _vq_quantthresh__44u0__p7_0[] = {
- -253.5, -84.5, 84.5, 253.5,
-};
-
-static long _vq_quantmap__44u0__p7_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u0__p7_0 = {
- _vq_quantthresh__44u0__p7_0,
- _vq_quantmap__44u0__p7_0,
- 5,
- 5
-};
-
-static static_codebook _44u0__p7_0 = {
- 4, 625,
- _vq_lengthlist__44u0__p7_0,
- 1, -518709248, 1626677248, 3, 0,
- _vq_quantlist__44u0__p7_0,
- NULL,
- &_vq_auxt__44u0__p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u0__p7_1[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u0__p7_1[] = {
- 1, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 4, 7, 7,
- 8, 8, 8, 8, 9, 9,11,10,12,11, 4, 6, 7, 8, 8, 7,
- 8, 9, 9,10,11,12,11, 7, 8, 8, 9, 9,10,10,11,11,
- 12,11,13,13, 7, 8, 8, 9,10,10,10,11,11,12,12,12,
- 13, 7, 8, 8,10,10,12,12,13,12,16,13,13,14, 7, 8,
- 8,10,11,12,12,13,12,13,13,14,14, 8, 9,10,12,12,
- 14,13,16,15,16,16,16,15, 8,10,10,12,12,14,13,14,
- 15,16,16,15,16,10,11,12,14,14,14,14,16,13,16,15,
- 16,16,10,11,12,13,13,15,14,14,15,16,16,14,14,13,
- 14,13,15,16,16,16,15,15,16,16,16,16,11,15,14,16,
- 16,14,14,16,15,16,14,16,15,
-};
-
-static float _vq_quantthresh__44u0__p7_1[] = {
- -71.5, -58.5, -45.5, -32.5, -19.5, -6.5, 6.5, 19.5,
- 32.5, 45.5, 58.5, 71.5,
-};
-
-static long _vq_quantmap__44u0__p7_1[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u0__p7_1 = {
- _vq_quantthresh__44u0__p7_1,
- _vq_quantmap__44u0__p7_1,
- 13,
- 13
-};
-
-static static_codebook _44u0__p7_1 = {
- 2, 169,
- _vq_lengthlist__44u0__p7_1,
- 1, -523010048, 1618608128, 4, 0,
- _vq_quantlist__44u0__p7_1,
- NULL,
- &_vq_auxt__44u0__p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u0__p7_2[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u0__p7_2[] = {
- 2, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 5, 5, 6,
- 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 5, 5, 5, 7, 7, 8,
- 8, 8, 8, 9, 9, 9, 9, 6, 7, 7, 7, 8, 8, 8, 9, 9,
- 9, 9, 9, 9, 6, 7, 7, 8, 7, 8, 8, 9, 9, 9, 9, 9,
- 9, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 8, 8,
- 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 9, 9, 9, 9, 8, 9,
- 9, 9, 9, 9, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,
-};
-
-static float _vq_quantthresh__44u0__p7_2[] = {
- -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5,
- 2.5, 3.5, 4.5, 5.5,
-};
-
-static long _vq_quantmap__44u0__p7_2[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u0__p7_2 = {
- _vq_quantthresh__44u0__p7_2,
- _vq_quantmap__44u0__p7_2,
- 13,
- 13
-};
-
-static static_codebook _44u0__p7_2 = {
- 2, 169,
- _vq_lengthlist__44u0__p7_2,
- 1, -531103744, 1611661312, 4, 0,
- _vq_quantlist__44u0__p7_2,
- NULL,
- &_vq_auxt__44u0__p7_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u0__short[] = {
- 6,10,11,12,13,12,12,12, 4, 6, 6, 9, 9,10,11,13,
- 3, 4, 3, 7, 6, 8,10,15, 5, 7, 7, 9, 8, 9,11,16,
- 6, 7, 5, 8, 5, 7,10,16, 7, 8, 7, 9, 6, 7,10,16,
- 10, 6, 3, 5, 4, 5, 7,16,13, 8, 5, 7, 6, 7,10,15,
-};
-
-static static_codebook _huff_book__44u0__short = {
- 2, 64,
- _huff_lengthlist__44u0__short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u1__long[] = {
- 4, 8,13,11,14,11,10,14, 6, 3, 5, 6, 8, 7, 9,14,
- 12, 4, 3, 6, 5, 7,10,18,11, 6, 6, 6, 6, 6, 8,16,
- 13, 7, 4, 6, 4, 6, 9,19,11, 6, 6, 5, 5, 5, 7,16,
- 10, 8, 9, 7, 9, 6, 4,12,11,16,18,19,18,10, 7,11,
-};
-
-static static_codebook _huff_book__44u1__long = {
- 2, 64,
- _huff_lengthlist__44u1__long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u1__p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u1__p1_0[] = {
- 1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,11,11, 8,
- 10,11, 5, 8, 8, 8,11,10, 8,11,11, 4, 8, 8, 8,11,
- 11, 8,11,11, 8,11,11,11,13,14,11,13,14, 8,11,11,
- 10,14,11,11,13,14, 4, 8, 8, 8,11,11, 8,11,11, 7,
- 11,11,11,14,13,10,12,13, 8,11,11,11,14,14,11,14,
- 13,
-};
-
-static float _vq_quantthresh__44u1__p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u1__p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u1__p1_0 = {
- _vq_quantthresh__44u1__p1_0,
- _vq_quantmap__44u1__p1_0,
- 3,
- 3
-};
-
-static static_codebook _44u1__p1_0 = {
- 4, 81,
- _vq_lengthlist__44u1__p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u1__p1_0,
- NULL,
- &_vq_auxt__44u1__p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u1__p2_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u1__p2_0[] = {
- 2, 5, 5, 5, 6, 6, 5, 6, 6, 5, 6, 6, 7, 8, 8, 6,
- 7, 8, 5, 6, 6, 6, 8, 7, 7, 8, 8, 5, 6, 6, 7, 8,
- 8, 6, 8, 8, 7, 8, 8, 8, 9,10, 8, 9, 9, 6, 8, 8,
- 7, 9, 8, 8, 9,10, 5, 6, 6, 6, 8, 8, 7, 8, 8, 6,
- 8, 8, 8,10, 9, 7, 8, 9, 7, 8, 8, 8, 9, 9, 8,10,
- 9,
-};
-
-static float _vq_quantthresh__44u1__p2_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u1__p2_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u1__p2_0 = {
- _vq_quantthresh__44u1__p2_0,
- _vq_quantmap__44u1__p2_0,
- 3,
- 3
-};
-
-static static_codebook _44u1__p2_0 = {
- 4, 81,
- _vq_lengthlist__44u1__p2_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u1__p2_0,
- NULL,
- &_vq_auxt__44u1__p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u1__p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u1__p3_0[] = {
- 2, 5, 4, 7, 7, 5, 7, 7, 9, 8, 5, 7, 7, 8, 9, 8,
- 9, 9,11,11, 8, 9, 9,11,11, 5, 7, 7,10,10, 7, 9,
- 9,11,10, 7, 9, 9,10,10, 9,11,10,13,12, 9,10,10,
- 12,13, 5, 7, 7,10, 9, 7, 9, 9,11,10, 7, 9, 9,10,
- 11, 9,10,10,12,12,10,10,11,12,13, 8,10,10,14,13,
- 9,11,11,15,13, 9,11,11,15,13,12,14,12,16,14,12,
- 13,12,15,14, 8,10,10,13,14, 9,11,11,13,14,10,11,
- 11,13,15,12,12,13,14,15,12,13,14,14,16, 5, 7, 7,
- 10,10, 7, 9, 9,11,11, 7, 9, 9,11,12,10,11,11,14,
- 14,10,11,11,14,14, 7, 9, 9,12,12, 9,11,11,13,12,
- 9,11,11,13,13,12,12,12,14,14,11,12,13,15,15, 7,
- 9, 9,12,11, 9,11,10,12,12, 9,11,11,12,13,11,12,
- 11,14,14,11,12,12,15,16, 9,11,11,15,15,11,12,12,
- 16,15,10,12,12,16,15,14,15,15,17,16,13,14,14,17,
- 17, 9,11,11,14,15,10,12,11,15,15,10,12,12,15,17,
- 13,14,13,16,15,13,14,15,17,17, 5, 7, 7,10,10, 7,
- 9, 9,12,11, 7, 9, 9,11,12,10,11,11,14,14,10,11,
- 11,13,14, 7, 9, 9,11,12, 9,11,11,13,13, 9,10,11,
- 12,12,11,12,12,15,15,11,12,12,13,14, 7,10, 9,12,
- 12, 9,11,11,13,13, 9,11,11,12,12,11,12,12,16,15,
- 11,12,12,14,14, 9,11,11,15,14,10,12,12,16,15,10,
- 11,12,15,15,13,14,14,17,18,13,13,14,15,16, 9,11,
- 11,15,16,10,12,12,15,15,11,12,12,14,17,13,14,14,
- 17,17,14,14,14,16,18, 7,10,10,14,15,10,12,12,16,
- 15,10,11,12,16,16,14,16,15,18,17,13,15,14,17,19,
- 9,11,12,16,15,11,13,13,17,16,10,13,13,16,16,15,
- 16,16,17,19,13,15,15,17,17, 8,11,11,15,15,10,13,
- 11,16,16,10,13,13,16,17,14,16,15,18,19,13,15,15,
- 17,17,12,14,14,18,18,13,14,15,18,19,12,14,15,17,
- 18,16,18,18,19, 0,14,15,16,18,18,11,14,13,17,18,
- 12,16,14,19,19,12,15,14, 0,18,15,17,16,18,17,14,
- 17,16,18,18, 7,10,10,15,14,10,12,11,16,16,10,11,
- 12,16,16,13,15,14,19,18,14,15,16,18,18, 8,11,11,
- 15,15,10,13,12,17,16,10,12,13,16,17,14,14,15,19,
- 18,14,15,16,18, 0, 9,11,11,16,15,11,13,12,15,16,
- 11,13,13,16,16,14,15,14, 0,17,15,16,16,19,18,11,
- 14,14,18,17,12,14,15,17,17,12,13,15, 0,17,14,15,
- 16,18,17,16,17,18,17,19,11,14,13,17,19,12,15,14,
- 18,19,13,16,14, 0,19,14,17,15, 0,18,15,18,16, 0,
- 0,
-};
-
-static float _vq_quantthresh__44u1__p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u1__p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u1__p3_0 = {
- _vq_quantthresh__44u1__p3_0,
- _vq_quantmap__44u1__p3_0,
- 5,
- 5
-};
-
-static static_codebook _44u1__p3_0 = {
- 4, 625,
- _vq_lengthlist__44u1__p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u1__p3_0,
- NULL,
- &_vq_auxt__44u1__p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u1__p4_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u1__p4_0[] = {
- 4, 5, 5, 8, 8, 6, 7, 6, 9, 9, 6, 6, 7, 9, 9, 9,
- 9, 9,11,11, 9, 9, 9,11,11, 6, 7, 7, 9, 9, 7, 8,
- 8,10,10, 6, 7, 8, 9,10,10,10,10,11,12, 9, 9,10,
- 11,12, 6, 7, 7, 9, 9, 6, 8, 7,10, 9, 7, 8, 8,10,
- 10, 9,10, 9,12,11,10,10,10,12,11, 9,10,10,12,12,
- 10,10,10,13,12, 9,10,10,12,12,12,12,12,14,14,11,
- 12,12,13,14, 9,10,10,12,12, 9,10,10,13,12,10,10,
- 10,12,13,12,12,12,14,13,12,12,12,14,14, 5, 7, 7,
- 9, 9, 7, 8, 7,10,10, 7, 7, 8,10,10,10,10,10,12,
- 12,10,10,10,12,12, 7, 8, 8,10,10, 8, 8, 9,10,11,
- 8, 8, 8,11,11,10,10,11,11,13,10,11,11,12,13, 6,
- 7, 7,10,10, 7, 8, 8,11,10, 8, 8, 9,11,11,10,11,
- 10,13,11,10,11,11,13,12,10,11,10,13,12,10,10,11,
- 13,13,10,11,11,13,13,12,11,13,12,14,12,13,13,15,
- 15, 9,10,10,12,13,10,11,10,13,13,10,11,11,13,14,
- 12,13,11,14,12,12,13,13,14,15, 5, 7, 7, 9,10, 7,
- 8, 7,10,10, 7, 7, 8,10,10,10,10,10,12,12,10,10,
- 10,12,12, 6, 7, 7,10,10, 8, 9, 8,11,11, 7, 8, 8,
- 10,11,10,11,11,12,13,10,10,11,11,13, 7, 8, 8,10,
- 10, 8, 8, 8,11,11, 8, 9, 8,11,10,10,11,10,13,12,
- 10,11,10,13,12, 9,10,10,13,12,10,11,11,13,13, 9,
- 10,10,12,13,13,13,13,15,14,12,11,13,12,15,10,10,
- 11,12,13,10,11,11,13,13,10,11,10,13,13,12,13,13,
- 15,15,12,13,11,14,12, 8,10, 9,12,12, 9,10,10,13,
- 13, 9,10,10,13,13,13,13,13,14,15,12,12,12,14,14,
- 9,10,10,13,12,10,11,11,13,13,10,11,11,13,12,13,
- 13,14,14,16,12,13,13,15,14, 9,10,10,13,13,10,11,
- 10,13,13,10,11,11,13,13,13,14,12,15,14,12,13,13,
- 14,15,12,12,12,14,14,11,12,12,14,15,12,13,13,15,
- 14,14,12,15,12,16,14,14,15,17,16,11,12,12,14,14,
- 11,12,11,15,14,12,13,13,15,15,13,14,12,16,13,14,
- 14,15,17,16, 8,10,10,12,12, 9,10,10,13,12,10,10,
- 10,13,13,12,13,12,14,14,12,13,13,15,14, 9,10,10,
- 13,13,10,11,11,13,13,10,10,11,12,13,13,13,13,15,
- 15,12,12,13,14,15, 9,10,10,12,13,10,11,11,12,13,
- 10,11,10,13,13,12,13,13,14,15,13,14,13,15,14,11,
- 12,12,15,14,12,13,13,15,14,11,12,12,14,15,14,14,
- 14,17,15,13,12,15,13,16,12,12,12,14,15,12,13,13,
- 14,15,11,12,12,15,14,14,15,14,16,17,13,15,12,16,
- 12,
-};
-
-static float _vq_quantthresh__44u1__p4_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u1__p4_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u1__p4_0 = {
- _vq_quantthresh__44u1__p4_0,
- _vq_quantmap__44u1__p4_0,
- 5,
- 5
-};
-
-static static_codebook _44u1__p4_0 = {
- 4, 625,
- _vq_lengthlist__44u1__p4_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u1__p4_0,
- NULL,
- &_vq_auxt__44u1__p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u1__p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44u1__p5_0[] = {
- 1, 4, 4, 7, 7, 8, 8,10,10, 4, 6, 5, 8, 8, 8, 8,
- 10,10, 4, 5, 6, 8, 8, 8, 8,10,10, 7, 8, 7, 9, 9,
- 9, 9,11,11, 7, 8, 8, 9, 9, 9, 9,11,11, 8, 8, 8,
- 9, 9,10,11,12,12, 8, 8, 9, 9, 9,10,10,12,12,10,
- 10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,
- 13,
-};
-
-static float _vq_quantthresh__44u1__p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44u1__p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u1__p5_0 = {
- _vq_quantthresh__44u1__p5_0,
- _vq_quantmap__44u1__p5_0,
- 9,
- 9
-};
-
-static static_codebook _44u1__p5_0 = {
- 2, 81,
- _vq_lengthlist__44u1__p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44u1__p5_0,
- NULL,
- &_vq_auxt__44u1__p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u1__p6_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u1__p6_0[] = {
- 1, 4, 4, 7, 7, 9, 8,10, 9,11,10,14,13, 4, 5, 5,
- 8, 8, 9, 9,11,11,11,11,14,14, 4, 5, 5, 8, 8, 9,
- 9,10,11,11,11,14,14, 7, 8, 8, 9, 9,11,10,11,11,
- 12,12,16,15, 7, 8, 8, 9, 9,10,11,11,11,12,12,15,
- 15, 9,10,10,11,11,11,11,12,12,13,13,16,16, 9,10,
- 10,11,11,11,11,12,12,12,13,16,15,10,11,11,11,11,
- 12,12,13,13,13,13,16,17,10,11,11,11,11,12,12,12,
- 12,13,14,16,16,11,12,12,12,12,13,13,14,14,14,15,
- 18,17,11,12,12,12,12,13,13,13,14,14,15,18,18,15,
- 14,15,15,15,16,16,17,17,18,17,20,20,14,15,15,15,
- 15,16,17,17,16,18, 0,19, 0,
-};
-
-static float _vq_quantthresh__44u1__p6_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44u1__p6_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u1__p6_0 = {
- _vq_quantthresh__44u1__p6_0,
- _vq_quantmap__44u1__p6_0,
- 13,
- 13
-};
-
-static static_codebook _44u1__p6_0 = {
- 2, 169,
- _vq_lengthlist__44u1__p6_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44u1__p6_0,
- NULL,
- &_vq_auxt__44u1__p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u1__p6_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u1__p6_1[] = {
- 2, 4, 4, 5, 5, 4, 5, 5, 6, 5, 4, 5, 5, 5, 6, 5,
- 6, 5, 6, 6, 5, 5, 6, 6, 6,
-};
-
-static float _vq_quantthresh__44u1__p6_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u1__p6_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u1__p6_1 = {
- _vq_quantthresh__44u1__p6_1,
- _vq_quantmap__44u1__p6_1,
- 5,
- 5
-};
-
-static static_codebook _44u1__p6_1 = {
- 2, 25,
- _vq_lengthlist__44u1__p6_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u1__p6_1,
- NULL,
- &_vq_auxt__44u1__p6_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u1__p7_0[] = {
- 3,
- 2,
- 4,
- 1,
- 5,
- 0,
- 6,
-};
-
-static long _vq_lengthlist__44u1__p7_0[] = {
- 1, 3, 3, 9, 9, 9, 9, 5, 7, 7, 9, 9, 9, 9, 5, 6,
- 6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8,
-};
-
-static float _vq_quantthresh__44u1__p7_0[] = {
- -422.5, -253.5, -84.5, 84.5, 253.5, 422.5,
-};
-
-static long _vq_quantmap__44u1__p7_0[] = {
- 5, 3, 1, 0, 2, 4, 6,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u1__p7_0 = {
- _vq_quantthresh__44u1__p7_0,
- _vq_quantmap__44u1__p7_0,
- 7,
- 7
-};
-
-static static_codebook _44u1__p7_0 = {
- 2, 49,
- _vq_lengthlist__44u1__p7_0,
- 1, -518017024, 1626677248, 3, 0,
- _vq_quantlist__44u1__p7_0,
- NULL,
- &_vq_auxt__44u1__p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u1__p7_1[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u1__p7_1[] = {
- 1, 4, 4, 6, 6, 6, 7, 8, 8, 9, 9,11,10, 4, 7, 7,
- 8, 8, 8, 8, 9, 9,11,10,12,11, 4, 6, 7, 8, 8, 8,
- 8,10,10,10,11,12,11, 7, 8, 8, 9, 9,10,10,11,11,
- 12,12,13,13, 7, 8, 8, 9, 9,10,10,11,11,12,12,13,
- 13, 7, 8, 8,10,10,13,12,13,13,16,13,13,14, 7, 8,
- 8,10,11,12,12,13,13,14,14,14,14, 8,10,10,13,12,
- 13,13,16,14,15,15,16,15, 8,10,11,12,13,13,13,13,
- 16,15,16,16,14,10,12,13,14,15,15,14,14,14,15,16,
- 15,16,10,11,12,13,13,15,15,16,16,16,14,16,16,12,
- 13,13,15,14,15,14,15,15,14,15,16,16,11,14,14,15,
- 14,16,15,16,14,15,16,14,15,
-};
-
-static float _vq_quantthresh__44u1__p7_1[] = {
- -71.5, -58.5, -45.5, -32.5, -19.5, -6.5, 6.5, 19.5,
- 32.5, 45.5, 58.5, 71.5,
-};
-
-static long _vq_quantmap__44u1__p7_1[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u1__p7_1 = {
- _vq_quantthresh__44u1__p7_1,
- _vq_quantmap__44u1__p7_1,
- 13,
- 13
-};
-
-static static_codebook _44u1__p7_1 = {
- 2, 169,
- _vq_lengthlist__44u1__p7_1,
- 1, -523010048, 1618608128, 4, 0,
- _vq_quantlist__44u1__p7_1,
- NULL,
- &_vq_auxt__44u1__p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u1__p7_2[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u1__p7_2[] = {
- 2, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 5, 6, 6,
- 6, 7, 8, 7, 8, 8, 8, 9, 9, 9, 5, 6, 6, 7, 7, 8,
- 8, 8, 8, 8, 8, 8, 9, 6, 7, 7, 7, 7, 8, 8, 8, 9,
- 9, 9, 9, 9, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9,
- 9, 7, 8, 8, 8, 8, 8, 8, 9, 8, 9, 9, 9, 9, 7, 8,
- 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 8, 8, 9, 9, 9,
- 8, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 9, 9, 9, 8, 9,
- 9, 9, 9, 9, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,
-};
-
-static float _vq_quantthresh__44u1__p7_2[] = {
- -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5,
- 2.5, 3.5, 4.5, 5.5,
-};
-
-static long _vq_quantmap__44u1__p7_2[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u1__p7_2 = {
- _vq_quantthresh__44u1__p7_2,
- _vq_quantmap__44u1__p7_2,
- 13,
- 13
-};
-
-static static_codebook _44u1__p7_2 = {
- 2, 169,
- _vq_lengthlist__44u1__p7_2,
- 1, -531103744, 1611661312, 4, 0,
- _vq_quantlist__44u1__p7_2,
- NULL,
- &_vq_auxt__44u1__p7_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u1__short[] = {
- 7,12,12,14,16,13,12,15, 6, 9,10,13,11,11,12,12,
- 4, 5, 5, 8, 5, 7, 9,12, 6, 7, 8,10, 8, 9,11,16,
- 5, 5, 4, 7, 4, 5, 7,15, 6, 5, 5, 8, 5, 5, 6,15,
- 8, 7, 4, 7, 3, 4, 5,16,15,11, 6, 8, 5, 6, 8,16,
-};
-
-static static_codebook _huff_book__44u1__short = {
- 2, 64,
- _huff_lengthlist__44u1__short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u2__long[] = {
- 8,14,15,15,17,15,12,13,13, 3, 4, 7, 8, 7, 8,11,
- 20, 4, 3, 6, 5, 7, 9,16,15, 6, 5, 6, 6, 6, 8,15,
- 20, 7, 4, 6, 4, 5, 8,18,16, 7, 6, 6, 5, 5, 6,14,
- 11, 7, 8, 7, 7, 5, 4,10,10,13,15,16,19,10, 6,10,
-};
-
-static static_codebook _huff_book__44u2__long = {
- 2, 64,
- _huff_lengthlist__44u2__long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u2__p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u2__p1_0[] = {
- 1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,11,11, 8,
- 10,11, 5, 8, 8, 8,11,10, 8,11,11, 4, 8, 8, 8,11,
- 11, 8,11,11, 8,11,11,11,13,14,11,13,13, 8,11,11,
- 10,13,12,11,13,14, 4, 8, 8, 8,11,11, 8,11,11, 7,
- 11,11,11,14,13,10,12,13, 8,11,11,11,14,13,11,13,
- 13,
-};
-
-static float _vq_quantthresh__44u2__p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u2__p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u2__p1_0 = {
- _vq_quantthresh__44u2__p1_0,
- _vq_quantmap__44u2__p1_0,
- 3,
- 3
-};
-
-static static_codebook _44u2__p1_0 = {
- 4, 81,
- _vq_lengthlist__44u2__p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u2__p1_0,
- NULL,
- &_vq_auxt__44u2__p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u2__p2_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u2__p2_0[] = {
- 3, 4, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 8, 8, 6,
- 7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 8, 5, 6, 6, 6, 8,
- 7, 6, 7, 8, 6, 8, 8, 8, 9, 9, 8, 9, 9, 6, 8, 8,
- 7, 9, 8, 8, 9, 9, 5, 6, 6, 6, 8, 8, 6, 7, 8, 6,
- 8, 8, 8, 9, 9, 7, 8, 9, 6, 8, 8, 8, 9, 9, 8, 9,
- 9,
-};
-
-static float _vq_quantthresh__44u2__p2_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u2__p2_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u2__p2_0 = {
- _vq_quantthresh__44u2__p2_0,
- _vq_quantmap__44u2__p2_0,
- 3,
- 3
-};
-
-static static_codebook _44u2__p2_0 = {
- 4, 81,
- _vq_lengthlist__44u2__p2_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u2__p2_0,
- NULL,
- &_vq_auxt__44u2__p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u2__p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u2__p3_0[] = {
- 2, 4, 4, 8, 8, 5, 7, 7, 9, 9, 5, 7, 7, 9, 9, 8,
- 9, 9,12,12, 8, 9,10,11,12, 5, 7, 7,10,10, 7, 9,
- 9,11,10, 7, 8, 9,10,11,10,11,10,14,13, 9,10,10,
- 12,13, 5, 7, 7,10,10, 7, 9, 8,11,10, 7, 9, 9,11,
- 11, 9,10,10,13,12,10,10,11,13,13, 8,10,10,15,13,
- 10,11,11,15,13, 9,11,11,14,13,13,14,13,17,15,12,
- 13,13,15,15, 8,10,10,13,14, 9,11,11,13,14,10,11,
- 12,13,16,12,13,13,15,15,13,13,14,15,17, 5, 7, 7,
- 10,10, 7, 9, 9,11,11, 7, 9, 9,11,12,10,11,11,14,
- 14,10,11,12,14,14, 7, 9, 9,12,12, 9,11,11,13,12,
- 9,11,11,13,13,12,13,12,14,14,11,12,12,15,14, 7,
- 9, 9,12,11, 9,11,10,13,11, 9,11,11,12,13,11,12,
- 11,14,13,11,12,12,15,15,10,12,12,16,15,11,13,13,
- 16,16,10,12,12,16,16,14,14,14,17,16,13,14,14,17,
- 18, 9,11,11,14,15,10,12,11,15,15,10,12,12,15,17,
- 13,15,13,17,16,13,14,15,17,19, 5, 7, 7,10,10, 7,
- 9, 9,12,11, 7, 9, 9,11,11,10,11,11,15,14,10,11,
- 12,13,14, 7, 9, 9,12,12, 9,11,11,13,12, 8,10,11,
- 12,12,11,12,12,15,15,11,11,12,14,14, 7, 9, 9,12,
- 12, 9,11,11,13,13, 9,11,11,12,12,11,12,12,16,15,
- 11,12,13,14,14, 9,11,11,16,15,10,12,12,16,15,10,
- 11,12,14,14,13,14,15,18,17,13,13,14,16,16,10,12,
- 12,15,15,10,13,12,15,17,11,13,12,15,16,13,15,14,
- 17,18,14,15,14,15,17, 8,10,10,15,15,10,12,12,17,
- 15,10,12,12,17,16,14,16,15,17,17,13,14,15,16,16,
- 9,11,12,16,16,11,13,13,16,17,11,13,13,16,16,15,
- 16,16, 0, 0,14,15,15,19,17, 9,11,11,17,16,10,13,
- 11,16,16,11,12,12,16,17,15,16,15,19,19,14,16,15,
- 0,18,12,14,15, 0, 0,14,15,16,18,18,13,14,15,17,
- 17,16,18,18, 0, 0,15,16,16,19,18,11,14,13, 0,18,
- 13,16,13,17,17,13,15,14, 0, 0,17,17,15,19,18,14,
- 16,16,19, 0, 8,10,10,15,15,10,12,11,16,16,10,11,
- 12,17,16,14,15,15,17,18,15,15,16, 0, 0, 9,11,11,
- 15,15,11,13,12,16,18,10,12,13,17,17,13,15,15,17,
- 19,15,15,16,19,18, 9,12,11, 0,16,11,13,12,16,16,
- 11,13,13,16,17,14,16,15,19,19,15,15,16,18,18,12,
- 14,14,17,18,13,14,15,18, 0,13,14,15,18,19,15,17,
- 16, 0,19,16,15,18,17,19,12,14,14,19,19,13,15,15,
- 0,18,13,17,15,18,18,15,16,17, 0,19,17,19,18,18,
- 0,
-};
-
-static float _vq_quantthresh__44u2__p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u2__p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u2__p3_0 = {
- _vq_quantthresh__44u2__p3_0,
- _vq_quantmap__44u2__p3_0,
- 5,
- 5
-};
-
-static static_codebook _44u2__p3_0 = {
- 4, 625,
- _vq_lengthlist__44u2__p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u2__p3_0,
- NULL,
- &_vq_auxt__44u2__p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u2__p4_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u2__p4_0[] = {
- 4, 5, 5, 9, 9, 6, 7, 6, 9, 9, 6, 6, 7, 9, 9, 9,
- 10, 9,12,11, 9, 9,10,11,12, 6, 7, 7,10,10, 7, 8,
- 7,10,10, 7, 7, 8,10,10,10,10,10,12,12, 9,10,10,
- 11,12, 6, 7, 7,10,10, 7, 8, 7,10,10, 7, 7, 7,10,
- 10, 9,10,10,12,11,10,10,10,12,12, 9,10,10,13,12,
- 10,10,10,13,13,10,10,10,13,12,12,12,12,14,14,12,
- 12,12,14,14, 9,10,10,12,13, 9,10,10,13,13,10,10,
- 10,13,13,12,12,12,15,14,12,13,12,14,14, 5, 7, 7,
- 10,10, 7, 8, 7,10,10, 7, 7, 8,10,10,10,10,10,12,
- 12,10,10,10,12,12, 7, 8, 8,10,10, 8, 8, 8,10,11,
- 8, 8, 8,11,10,10,10,11,11,13,10,10,11,12,13, 6,
- 7, 7,10,10, 7, 8, 7,11,10, 8, 8, 8,10,11,10,11,
- 10,13,11,10,10,10,13,12,10,11,10,13,13,10,10,10,
- 12,13,10,11,11,13,13,12,11,13,11,14,12,13,13,14,
- 14, 9,10,10,12,13,10,10,10,13,12,10,10,11,13,13,
- 12,13,11,14,12,13,13,13,15,14, 5, 7, 7,10,10, 7,
- 7, 7,10,10, 7, 7, 8,10,10,10,10,10,12,12,10,10,
- 10,12,13, 6, 7, 7,10,10, 8, 8, 8,11,10, 7, 7, 8,
- 10,11,10,10,10,12,12,10,10,11,11,13, 7, 8, 8,10,
- 10, 7, 8, 8,10,11, 8, 8, 8,11,10,10,11,10,13,12,
- 10,11,10,13,11, 9,10,10,13,13,10,11,11,13,13,10,
- 10,10,12,13,13,13,13,14,14,12,11,13,12,14,10,10,
- 11,13,13,10,11,11,13,13,10,10,10,13,12,12,13,13,
- 14,14,12,13,11,15,12, 9,10,10,13,13,10,10,10,13,
- 13,10,10,10,13,13,13,13,13,15,15,12,13,13,14,14,
- 9,10,10,13,13,10,10,11,13,13,10,11,10,13,12,13,
- 12,13,14,15,13,13,13,15,14, 9,10,10,13,13,10,10,
- 10,13,12,10,10,11,12,13,13,13,12,15,14,13,13,13,
- 14,14,12,13,12,15,14,12,11,12,14,14,12,13,12,15,
- 14,14,12,15,12,16,14,14,15,16,16,12,12,12,14,15,
- 11,12,11,15,14,12,13,13,14,15,14,14,12,16,13,14,
- 14,15,16,16, 9,10,10,13,13,10,10,10,13,13,10,10,
- 10,13,13,12,13,12,14,14,13,13,13,15,15, 9,10,10,
- 13,13,10,11,10,13,12,10,10,10,12,13,13,13,13,14,
- 14,12,12,13,14,15, 9,10,10,13,13,10,10,11,12,13,
- 10,11,10,13,13,13,13,13,14,15,13,13,13,15,14,12,
- 12,12,15,14,12,13,12,15,14,11,11,12,14,15,14,14,
- 14,17,16,14,12,14,13,17,12,12,13,14,16,13,13,13,
- 13,15,12,12,11,14,14,14,15,14,16,16,14,14,12,16,
- 12,
-};
-
-static float _vq_quantthresh__44u2__p4_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u2__p4_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u2__p4_0 = {
- _vq_quantthresh__44u2__p4_0,
- _vq_quantmap__44u2__p4_0,
- 5,
- 5
-};
-
-static static_codebook _44u2__p4_0 = {
- 4, 625,
- _vq_lengthlist__44u2__p4_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u2__p4_0,
- NULL,
- &_vq_auxt__44u2__p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u2__p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44u2__p5_0[] = {
- 2, 4, 4, 6, 6, 7, 7, 9, 9, 4, 5, 4, 7, 7, 8, 7,
- 9, 9, 4, 4, 4, 7, 7, 7, 8, 9, 9, 6, 7, 7, 8, 8,
- 8, 9,10,10, 6, 7, 7, 8, 8, 9, 8,10,10, 7, 8, 7,
- 8, 9, 9,10,11,11, 7, 7, 8, 9, 9,10,10,11,11, 9,
- 9, 9,10,10,11,11,12,12, 9, 9, 9,10,10,11,11,12,
- 12,
-};
-
-static float _vq_quantthresh__44u2__p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44u2__p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u2__p5_0 = {
- _vq_quantthresh__44u2__p5_0,
- _vq_quantmap__44u2__p5_0,
- 9,
- 9
-};
-
-static static_codebook _44u2__p5_0 = {
- 2, 81,
- _vq_lengthlist__44u2__p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44u2__p5_0,
- NULL,
- &_vq_auxt__44u2__p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u2__p6_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u2__p6_0[] = {
- 1, 4, 4, 6, 6, 8, 8, 9,10,11,11,14,14, 4, 6, 5,
- 8, 8, 9, 9,11,11,11,11,14,14, 4, 5, 5, 8, 8, 9,
- 9,10,11,11,12,14,14, 7, 8, 8, 9, 9,11,10,11,11,
- 12,12,15,15, 7, 8, 8, 9, 9,11,11,11,11,12,12,15,
- 14, 9,10,10,11,11,11,11,12,12,13,12,16,16, 9,10,
- 10,11,11,11,11,12,12,13,13,15,16,10,11,11,11,11,
- 12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,12,
- 13,14,14,16,16,11,12,12,12,12,13,13,14,14,14,14,
- 17,17,11,12,12,12,12,13,13,14,14,15,14,18,17,15,
- 14,15,15,15,16,16,17,18,19,17,19, 0,15,15,15,15,
- 15,16,17,16,16,18,17, 0, 0,
-};
-
-static float _vq_quantthresh__44u2__p6_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44u2__p6_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u2__p6_0 = {
- _vq_quantthresh__44u2__p6_0,
- _vq_quantmap__44u2__p6_0,
- 13,
- 13
-};
-
-static static_codebook _44u2__p6_0 = {
- 2, 169,
- _vq_lengthlist__44u2__p6_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44u2__p6_0,
- NULL,
- &_vq_auxt__44u2__p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u2__p6_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u2__p6_1[] = {
- 2, 4, 4, 5, 5, 4, 5, 5, 6, 5, 4, 5, 5, 5, 5, 5,
- 6, 6, 6, 6, 5, 5, 6, 6, 6,
-};
-
-static float _vq_quantthresh__44u2__p6_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u2__p6_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u2__p6_1 = {
- _vq_quantthresh__44u2__p6_1,
- _vq_quantmap__44u2__p6_1,
- 5,
- 5
-};
-
-static static_codebook _44u2__p6_1 = {
- 2, 25,
- _vq_lengthlist__44u2__p6_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u2__p6_1,
- NULL,
- &_vq_auxt__44u2__p6_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u2__p7_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44u2__p7_0[] = {
- 1, 3, 3,10,10,10,10,10,10, 4,10,10,10,10,10,10,
- 10,10, 4,10,10,10,10,10,10,10,10,10,10, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9,
-};
-
-static float _vq_quantthresh__44u2__p7_0[] = {
- -591.5, -422.5, -253.5, -84.5, 84.5, 253.5, 422.5, 591.5,
-};
-
-static long _vq_quantmap__44u2__p7_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u2__p7_0 = {
- _vq_quantthresh__44u2__p7_0,
- _vq_quantmap__44u2__p7_0,
- 9,
- 9
-};
-
-static static_codebook _44u2__p7_0 = {
- 2, 81,
- _vq_lengthlist__44u2__p7_0,
- 1, -516612096, 1626677248, 4, 0,
- _vq_quantlist__44u2__p7_0,
- NULL,
- &_vq_auxt__44u2__p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u2__p7_1[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u2__p7_1[] = {
- 1, 4, 4, 6, 6, 7, 7, 8, 7, 9, 9,10,10, 4, 7, 6,
- 8, 8, 8, 8,10, 9,11,10,12,12, 4, 6, 7, 8, 8, 8,
- 8,10,10,11,11,12,12, 7, 8, 8,10, 9,10,10,12,11,
- 13,12,13,13, 7, 8, 8, 9, 9,10,10,11,11,13,13,14,
- 15, 7, 8, 9,10,10,12,11,14,13,13,14,14,15, 7, 8,
- 9,10,10,11,12,13,13,15,14,14,15, 8,10,10,12,11,
- 13,13,15,15,15,17,15,15, 8,10,10,11,12,14,13,14,
- 15,17,15,15,15,10,11,11,14,13,14,14,15,15,17,17,
- 16,17,10,11,12,13,13,14,14,14,15,16,15,15,17,11,
- 12,13,14,13,16,16,16,14,17,16,17,17,11,12,13,15,
- 15,15,15,16,15,15,15,15,17,
-};
-
-static float _vq_quantthresh__44u2__p7_1[] = {
- -71.5, -58.5, -45.5, -32.5, -19.5, -6.5, 6.5, 19.5,
- 32.5, 45.5, 58.5, 71.5,
-};
-
-static long _vq_quantmap__44u2__p7_1[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u2__p7_1 = {
- _vq_quantthresh__44u2__p7_1,
- _vq_quantmap__44u2__p7_1,
- 13,
- 13
-};
-
-static static_codebook _44u2__p7_1 = {
- 2, 169,
- _vq_lengthlist__44u2__p7_1,
- 1, -523010048, 1618608128, 4, 0,
- _vq_quantlist__44u2__p7_1,
- NULL,
- &_vq_auxt__44u2__p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u2__p7_2[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u2__p7_2[] = {
- 2, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 5, 6, 6,
- 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 5, 6, 6, 7, 7, 8,
- 7, 8, 8, 8, 8, 8, 8, 6, 7, 7, 7, 7, 8, 8, 8, 8,
- 9, 9, 9, 9, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9,
- 9, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 7, 8,
- 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 8, 8, 8, 9, 8,
- 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,
-};
-
-static float _vq_quantthresh__44u2__p7_2[] = {
- -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5,
- 2.5, 3.5, 4.5, 5.5,
-};
-
-static long _vq_quantmap__44u2__p7_2[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u2__p7_2 = {
- _vq_quantthresh__44u2__p7_2,
- _vq_quantmap__44u2__p7_2,
- 13,
- 13
-};
-
-static static_codebook _44u2__p7_2 = {
- 2, 169,
- _vq_lengthlist__44u2__p7_2,
- 1, -531103744, 1611661312, 4, 0,
- _vq_quantlist__44u2__p7_2,
- NULL,
- &_vq_auxt__44u2__p7_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u2__short[] = {
- 16,15,15,16,14,16,16,16,16, 9, 8,11,10,10,10,15,
- 16, 6, 3, 7, 5, 7, 9,16,16,11, 7,11, 9,10,12,16,
- 16, 9, 4, 8, 3, 5, 8,16,16,11, 6, 9, 4, 4, 7,16,
- 16,11, 5, 9, 3, 3, 5,12,16,15, 6,11, 5, 5, 6,14,
-};
-
-static static_codebook _huff_book__44u2__short = {
- 2, 64,
- _huff_lengthlist__44u2__short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u3__long[] = {
- 7,11,14,13,14,12,12,12,12, 2, 5, 8, 9, 8, 9,11,
- 17, 4, 3, 6, 5, 7, 9,15,14, 6, 6, 7, 7, 7, 8,14,
- 17, 8, 5, 7, 4, 5, 7,15,13, 7, 6, 7, 5, 5, 6,14,
- 10, 8, 8, 7, 7, 5, 4, 9,10,12,15,14,16,10, 6, 9,
-};
-
-static static_codebook _huff_book__44u3__long = {
- 2, 64,
- _huff_lengthlist__44u3__long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u3__p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u3__p1_0[] = {
- 1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,11,11, 8,
- 10,11, 5, 8, 8, 8,11,10, 8,11,11, 4, 8, 8, 8,11,
- 11, 8,11,11, 8,11,11,11,13,14,11,13,14, 7,11,11,
- 10,13,11,11,13,14, 4, 8, 8, 8,11,11, 8,11,11, 8,
- 11,11,11,14,14,10,12,14, 8,11,11,11,14,13,11,14,
- 13,
-};
-
-static float _vq_quantthresh__44u3__p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u3__p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u3__p1_0 = {
- _vq_quantthresh__44u3__p1_0,
- _vq_quantmap__44u3__p1_0,
- 3,
- 3
-};
-
-static static_codebook _44u3__p1_0 = {
- 4, 81,
- _vq_lengthlist__44u3__p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u3__p1_0,
- NULL,
- &_vq_auxt__44u3__p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u3__p2_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u3__p2_0[] = {
- 3, 4, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 8, 8, 6,
- 7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 8, 5, 6, 6, 6, 8,
- 7, 6, 8, 8, 6, 8, 8, 8, 8, 9, 8, 9, 9, 6, 8, 7,
- 7, 9, 8, 8, 9, 9, 5, 6, 6, 6, 8, 8, 6, 8, 8, 6,
- 8, 8, 8, 9, 9, 7, 8, 9, 6, 8, 8, 8, 9, 9, 8, 9,
- 8,
-};
-
-static float _vq_quantthresh__44u3__p2_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u3__p2_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u3__p2_0 = {
- _vq_quantthresh__44u3__p2_0,
- _vq_quantmap__44u3__p2_0,
- 3,
- 3
-};
-
-static static_codebook _44u3__p2_0 = {
- 4, 81,
- _vq_lengthlist__44u3__p2_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u3__p2_0,
- NULL,
- &_vq_auxt__44u3__p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u3__p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u3__p3_0[] = {
- 2, 4, 4, 8, 8, 5, 7, 7, 9, 9, 5, 7, 7, 9, 9, 8,
- 10, 9,12,12, 8, 9,10,12,12, 5, 7, 7,10,10, 7, 9,
- 9,11,11, 7, 8, 9,10,11,10,11,10,14,13, 9,10,11,
- 13,13, 5, 7, 7,10,10, 7, 9, 8,11,10, 7, 9, 9,11,
- 11, 9,10,10,13,12,10,10,11,13,14, 8,10,10,14,13,
- 10,11,11,15,13, 9,11,11,14,13,13,14,13,17,15,12,
- 13,13,17,14, 8,10,10,14,14, 9,11,11,14,15,10,11,
- 12,14,16,12,13,13,14,17,13,13,14,14,17, 5, 7, 7,
- 10,10, 7, 9, 9,11,11, 7, 9, 9,11,11,10,11,11,15,
- 14,10,11,11,15,14, 7, 9, 9,12,12, 9,11,11,13,13,
- 9,11,11,13,13,11,12,12,15,14,11,12,12,15,16, 7,
- 9, 9,12,11, 8,11,10,13,12, 9,11,11,12,13,11,12,
- 11,16,14,11,12,13,15,16,10,12,12,17,15,11,12,13,
- 16,15,11,12,12,16,16,15,15,15,16,16,13,14,15, 0,
- 17, 9,11,11,15,15,10,12,11,16,15,11,12,12,15,17,
- 13,15,13,16,15,13,15,14, 0,18, 5, 7, 7,10,10, 7,
- 9, 9,12,11, 7, 9, 9,11,11,10,11,11,14,14,10,11,
- 11,14,15, 7, 9, 9,12,11, 9,11,11,13,12, 8,10,11,
- 11,12,11,12,12,16,15,11,11,12,13,14, 7, 9, 9,12,
- 12, 9,11,11,13,13, 9,11,11,13,13,11,12,12,16,15,
- 12,12,12,15,15, 9,11,11,17,15,11,12,12,17,16,10,
- 11,12,15,15,13,14,15,18,17,13,13,14,15,15, 9,12,
- 12,15,14,11,13,12,16,16,11,12,12,15,15,13,15,14,
- 0, 0,14,15,14,16,18, 8,10,10,15,15,10,12,12,16,
- 14,10,11,11,16,16,15,16,16,18,16,13,15,14,17,18,
- 9,11,11,16,15,11,12,13,17,17,11,13,13,16,15,15,
- 16,16,18,18,14,16,15,18,17, 9,11,11,16,16,10,13,
- 12,16,16,11,12,12,16,16,14,16,16,17, 0,14,15,15,
- 18,16,12,14,14, 0, 0,14,15,16, 0, 0,14,15,15, 0,
- 0,17,17,16, 0, 0,15,16,18,17, 0,11,14,14,18, 0,
- 12,15,13, 0,18,13,15,14,18, 0,15,16,15, 0,18,15,
- 18,17, 0,18, 8,10,10,15,15,10,12,11,15,15,10,11,
- 12,15,15,13,14,15,17, 0,14,15,16,17, 0, 9,11,11,
- 15,15,11,12,12,17,15,10,12,13,16,15,13,15,15,18,
- 18,15,16,17,18,18, 9,12,11,16,16,11,13,13,16,16,
- 11,13,13,18,15,14,15,15,18, 0,16,16,17, 0,17,12,
- 13,13,18,18,13,14,14,17,18,13,14,15,18,17,17,18,
- 18, 0,18,16,16,18,16, 0,12,15,13,18,18,13,14,15,
- 18,18,13,16,14,17,18,15,17,16, 0,18,17, 0,17, 0,
- 0,
-};
-
-static float _vq_quantthresh__44u3__p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u3__p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u3__p3_0 = {
- _vq_quantthresh__44u3__p3_0,
- _vq_quantmap__44u3__p3_0,
- 5,
- 5
-};
-
-static static_codebook _44u3__p3_0 = {
- 4, 625,
- _vq_lengthlist__44u3__p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u3__p3_0,
- NULL,
- &_vq_auxt__44u3__p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u3__p4_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u3__p4_0[] = {
- 4, 6, 6, 9, 9, 6, 7, 6, 9, 9, 6, 6, 7, 9, 9, 9,
- 10, 9,12,11, 9, 9,10,11,12, 6, 7, 7, 9, 9, 7, 7,
- 7,10,10, 6, 7, 7, 9,10,10,10,10,12,12, 9, 9,10,
- 11,12, 6, 7, 7, 9, 9, 7, 7, 7,10, 9, 7, 7, 7,10,
- 10, 9,10, 9,12,11,10,10,10,12,12, 9,10,10,12,12,
- 10,10,10,13,12, 9,10,10,12,12,12,12,12,14,14,12,
- 12,12,13,14, 9,10,10,12,12, 9,10,10,12,12,10,10,
- 10,12,13,11,12,12,14,13,12,12,12,14,14, 6, 7, 7,
- 10, 9, 7, 8, 7,10,10, 7, 7, 7,10,10,10,10,10,12,
- 12,10,10,10,12,12, 7, 8, 8,10,10, 8, 8, 8,10,10,
- 7, 8, 8,10,10,10,10,11,11,13,10,10,11,12,13, 6,
- 7, 7,10,10, 7, 8, 7,10,10, 8, 8, 8,10,10,10,11,
- 10,13,11,10,10,10,12,12,10,10,10,13,12,10,10,10,
- 12,13,10,10,10,13,12,12,11,13,12,14,12,12,13,14,
- 14, 9,10,10,12,13, 9,10,10,12,12,10,10,11,12,13,
- 12,12,11,14,12,12,12,13,14,14, 6, 7, 7, 9, 9, 7,
- 7, 7,10,10, 7, 7, 8,10,10,10,10,10,12,12,10,10,
- 10,12,12, 6, 7, 7,10,10, 8, 8, 8,10,10, 7, 7, 8,
- 10,10,10,10,10,12,12,10,10,11,11,13, 7, 8, 8,10,
- 10, 7, 8, 8,10,10, 8, 8, 8,10,10,10,10,10,12,12,
- 10,11,10,13,11, 9,10,10,13,12,10,11,10,13,12, 9,
- 10,10,12,13,12,13,12,14,14,12,11,12,12,14,10,10,
- 10,12,13,10,10,11,12,13,10,10,10,12,12,12,13,12,
- 14,14,12,12,11,14,12, 9,10, 9,12,12,10,10,10,13,
- 13, 9,10,10,13,13,12,13,13,15,14,12,12,13,14,14,
- 9,10,10,13,13,10,10,10,12,13,10,10,10,13,12,13,
- 12,13,14,15,12,13,13,15,14, 9,10,10,13,12,10,10,
- 10,13,12,10,10,10,12,13,12,13,12,14,14,13,12,12,
- 14,14,12,12,12,15,14,12,11,12,14,14,12,13,12,14,
- 14,14,12,14,12,16,14,14,14,16,16,11,12,12,14,14,
- 11,12,11,15,13,12,12,12,14,15,13,14,12,16,13,14,
- 14,15,16,16, 9,10,10,12,12, 9,10,10,13,12, 9,10,
- 10,13,13,12,12,12,14,14,12,13,13,14,15, 9,10,10,
- 13,12,10,11,10,13,12,10,10,10,12,13,12,13,12,14,
- 14,12,12,13,14,15, 9,10,10,13,13,10,10,10,12,13,
- 10,10,10,13,13,12,13,13,14,15,13,13,12,14,14,11,
- 12,12,14,14,12,13,12,15,14,11,11,12,14,15,14,14,
- 14,16,16,14,12,14,13,16,12,12,12,14,15,12,12,13,
- 14,15,12,12,11,14,14,14,14,14,16,16,14,14,12,16,
- 12,
-};
-
-static float _vq_quantthresh__44u3__p4_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u3__p4_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u3__p4_0 = {
- _vq_quantthresh__44u3__p4_0,
- _vq_quantmap__44u3__p4_0,
- 5,
- 5
-};
-
-static static_codebook _44u3__p4_0 = {
- 4, 625,
- _vq_lengthlist__44u3__p4_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u3__p4_0,
- NULL,
- &_vq_auxt__44u3__p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u3__p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44u3__p5_0[] = {
- 2, 4, 4, 6, 6, 7, 7, 9, 9, 4, 5, 4, 7, 6, 8, 8,
- 9, 9, 4, 4, 4, 6, 7, 8, 8, 9, 9, 6, 7, 6, 8, 8,
- 9, 9,10,10, 6, 6, 7, 8, 8, 9, 9,10,10, 8, 8, 8,
- 9, 9,10,10,11,11, 8, 8, 8, 9, 9,10,10,11,11, 9,
- 9, 9,10,10,11,11,12,12, 9, 9,10,10,10,11,11,12,
- 12,
-};
-
-static float _vq_quantthresh__44u3__p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44u3__p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u3__p5_0 = {
- _vq_quantthresh__44u3__p5_0,
- _vq_quantmap__44u3__p5_0,
- 9,
- 9
-};
-
-static static_codebook _44u3__p5_0 = {
- 2, 81,
- _vq_lengthlist__44u3__p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44u3__p5_0,
- NULL,
- &_vq_auxt__44u3__p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u3__p6_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u3__p6_0[] = {
- 1, 4, 4, 6, 6, 8, 8, 9,10,10,11,13,14, 4, 6, 5,
- 8, 8, 9, 9,10,10,11,11,14,14, 4, 5, 6, 8, 8, 9,
- 9,10,10,11,11,14,14, 7, 8, 8, 9, 9,10,10,11,11,
- 12,12,15,15, 7, 8, 8, 9, 9,10,10,11,11,12,12,14,
- 15, 8, 9, 9,10,10,11,11,12,12,13,12,16,16, 8, 9,
- 9,10,10,11,11,12,12,12,12,16,16,10,11,10,11,11,
- 12,12,13,13,13,13,17,16,10,11,11,11,11,12,12,12,
- 12,13,13,17,17,11,11,12,12,12,13,13,13,14,14,14,
- 16,17,11,12,11,12,12,13,13,14,14,14,14,19,17,14,
- 14,14,16,15,16,16,16,17,17,17,20,19,14,15,15,15,
- 15,15,16,16,17,17,17,20,19,
-};
-
-static float _vq_quantthresh__44u3__p6_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44u3__p6_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u3__p6_0 = {
- _vq_quantthresh__44u3__p6_0,
- _vq_quantmap__44u3__p6_0,
- 13,
- 13
-};
-
-static static_codebook _44u3__p6_0 = {
- 2, 169,
- _vq_lengthlist__44u3__p6_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44u3__p6_0,
- NULL,
- &_vq_auxt__44u3__p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u3__p6_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u3__p6_1[] = {
- 2, 4, 4, 5, 5, 4, 5, 5, 6, 5, 4, 5, 5, 5, 6, 5,
- 6, 5, 6, 6, 5, 5, 6, 6, 6,
-};
-
-static float _vq_quantthresh__44u3__p6_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u3__p6_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u3__p6_1 = {
- _vq_quantthresh__44u3__p6_1,
- _vq_quantmap__44u3__p6_1,
- 5,
- 5
-};
-
-static static_codebook _44u3__p6_1 = {
- 2, 25,
- _vq_lengthlist__44u3__p6_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u3__p6_1,
- NULL,
- &_vq_auxt__44u3__p6_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u3__p7_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44u3__p7_0[] = {
- 1, 4, 4, 9, 9, 9, 9, 9, 9, 4, 9, 9, 9, 9, 9, 9,
- 9, 9, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8,
-};
-
-static float _vq_quantthresh__44u3__p7_0[] = {
- -892.5, -637.5, -382.5, -127.5, 127.5, 382.5, 637.5, 892.5,
-};
-
-static long _vq_quantmap__44u3__p7_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u3__p7_0 = {
- _vq_quantthresh__44u3__p7_0,
- _vq_quantmap__44u3__p7_0,
- 9,
- 9
-};
-
-static static_codebook _44u3__p7_0 = {
- 2, 81,
- _vq_lengthlist__44u3__p7_0,
- 1, -515907584, 1627381760, 4, 0,
- _vq_quantlist__44u3__p7_0,
- NULL,
- &_vq_auxt__44u3__p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u3__p7_1[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__44u3__p7_1[] = {
- 1, 4, 4, 6, 5, 7, 7, 9, 8,10,10,11,11,12,13, 4,
- 7, 6, 7, 7, 9, 9,10,10,11,11,14,13,14,13, 4, 6,
- 7, 7, 8, 9, 9,10,10,12,12,13,13,13,13, 6, 8, 8,
- 10, 9,11,11,12,12,13,13,14,14,15,14, 6, 8, 8, 9,
- 9,11,11,12,12,14,14,14,15,15,15, 8, 9, 9,11,10,
- 13,12,14,14,14,14,15,16,15,15, 8, 9, 9,11,11,12,
- 12,14,14,15,14,15,15,14,17, 9,10,10,13,12,14,14,
- 15,14,14,17,15,15,16,15, 9,11,11,12,13,14,14,15,
- 15,15,16,15,17,16,17,11,12,12,14,14,15,14,16,16,
- 16,15,15,17,16,16,11,12,13,14,15,15,15,15,15,16,
- 16,17,17,16,17,12,13,13,15,14,15,15,15,15,16,16,
- 16,17,17,17,13,12,14,14,15,15,15,15,16,17,17,15,
- 17,17,17,12,14,14,16,15,17,16,17,16,17,16,17,17,
- 17,17,14,13,14,15,16,17,17,17,15,17,17,17,16,17,
- 16,
-};
-
-static float _vq_quantthresh__44u3__p7_1[] = {
- -110.5, -93.5, -76.5, -59.5, -42.5, -25.5, -8.5, 8.5,
- 25.5, 42.5, 59.5, 76.5, 93.5, 110.5,
-};
-
-static long _vq_quantmap__44u3__p7_1[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u3__p7_1 = {
- _vq_quantthresh__44u3__p7_1,
- _vq_quantmap__44u3__p7_1,
- 15,
- 15
-};
-
-static static_codebook _44u3__p7_1 = {
- 2, 225,
- _vq_lengthlist__44u3__p7_1,
- 1, -522338304, 1620115456, 4, 0,
- _vq_quantlist__44u3__p7_1,
- NULL,
- &_vq_auxt__44u3__p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u3__p7_2[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44u3__p7_2[] = {
- 3, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9,10, 9, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 9, 9, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9,10,10,10, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9,10,10,10,10, 8, 8, 8, 9, 9, 9, 9, 9, 9,
- 9, 9,10,10,10,10,10,10, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9,10,10,10,10,10,10, 8, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9,10,10,10,10,10,10, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9,10,10,10,10,10,10, 9, 9, 9, 9, 9,
- 9, 9,10, 9,10,10,10,10,10,10,10,10, 9, 9, 9, 9,
- 9, 9, 9,10,10,10,10,10,10,10,10,10,10, 9, 9, 9,
- 9, 9,10,10,10,10,10,10,10,10,10,10,10,10, 9, 9,
- 9,10,10,10,10,10,10,10,10,10,10,10,10,10,10, 9,
- 9,10,10, 9,10, 9,10,10,10,10,10,10,10,10,10,10,
- 9,10, 9,10, 9,10,10,10,10,10,10,10,10,10,10,10,
- 10,
-};
-
-static float _vq_quantthresh__44u3__p7_2[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44u3__p7_2[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u3__p7_2 = {
- _vq_quantthresh__44u3__p7_2,
- _vq_quantmap__44u3__p7_2,
- 17,
- 17
-};
-
-static static_codebook _44u3__p7_2 = {
- 2, 289,
- _vq_lengthlist__44u3__p7_2,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44u3__p7_2,
- NULL,
- &_vq_auxt__44u3__p7_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u3__short[] = {
- 17,17,17,17,17,17,16,16,16,12,11,13,11,12,11,15,
- 16, 9, 4, 8, 5, 7, 9,15,16,14, 9,12,10,10,12,16,
- 16,11, 4, 9, 3, 4, 8,16,16,12, 6,10, 3, 4, 7,16,
- 16,12, 6,11, 3, 3, 4,12,16,16, 7,13, 5, 5, 6,13,
-};
-
-static static_codebook _huff_book__44u3__short = {
- 2, 64,
- _huff_lengthlist__44u3__short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u4__long[] = {
- 3, 7,11,11,12,11,11,12, 5, 3, 5, 7, 8, 8, 9,11,
- 9, 4, 4, 6, 6, 7, 9,15,10, 6, 6, 7, 7, 7, 8,14,
- 12, 7, 5, 6, 4, 5, 7,15,10, 7, 6, 7, 5, 5, 6,13,
- 9, 8, 8, 7, 7, 5, 4, 8,10,12,14,13,14,10, 5, 7,
-};
-
-static static_codebook _huff_book__44u4__long = {
- 2, 64,
- _huff_lengthlist__44u4__long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u4__p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u4__p1_0[] = {
- 1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,11,11, 8,
- 10,11, 5, 8, 8, 8,11,10, 8,11,11, 4, 8, 8, 8,11,
- 11, 8,11,11, 8,11,11,11,13,14,11,14,14, 7,11,10,
- 10,14,12,11,14,14, 4, 8, 8, 8,11,11, 8,11,11, 8,
- 11,11,11,14,14,10,12,14, 8,11,11,11,14,14,11,14,
- 13,
-};
-
-static float _vq_quantthresh__44u4__p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u4__p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u4__p1_0 = {
- _vq_quantthresh__44u4__p1_0,
- _vq_quantmap__44u4__p1_0,
- 3,
- 3
-};
-
-static static_codebook _44u4__p1_0 = {
- 4, 81,
- _vq_lengthlist__44u4__p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u4__p1_0,
- NULL,
- &_vq_auxt__44u4__p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u4__p2_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u4__p2_0[] = {
- 2, 5, 5, 5, 6, 6, 5, 6, 6, 5, 6, 6, 7, 8, 8, 6,
- 7, 8, 5, 6, 6, 6, 8, 7, 7, 8, 8, 5, 6, 6, 7, 8,
- 8, 6, 8, 8, 7, 8, 8, 8, 9,10, 8,10,10, 6, 8, 8,
- 7, 9, 8, 8, 9,10, 5, 6, 6, 6, 8, 8, 7, 8, 8, 6,
- 8, 8, 8,10, 9, 8, 8, 9, 6, 8, 8, 8,10,10, 8,10,
- 9,
-};
-
-static float _vq_quantthresh__44u4__p2_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u4__p2_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u4__p2_0 = {
- _vq_quantthresh__44u4__p2_0,
- _vq_quantmap__44u4__p2_0,
- 3,
- 3
-};
-
-static static_codebook _44u4__p2_0 = {
- 4, 81,
- _vq_lengthlist__44u4__p2_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u4__p2_0,
- NULL,
- &_vq_auxt__44u4__p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u4__p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u4__p3_0[] = {
- 2, 4, 4, 7, 7, 5, 7, 7, 9, 9, 5, 7, 7, 9, 9, 8,
- 10, 9,12,12, 8, 9, 9,12,12, 5, 7, 7,10, 9, 7, 9,
- 9,11,11, 7, 8, 9,10,11,10,11,11,13,13, 9,10,11,
- 13,13, 5, 7, 7, 9,10, 7, 9, 9,11,11, 7, 9, 9,11,
- 11, 9,11,10,13,12,10,11,11,13,13, 8,10,10,13,13,
- 10,11,11,15,13, 9,11,11,14,13,13,15,13,16,15,12,
- 13,13,15,15, 8,10,10,13,14, 9,11,11,14,14,10,11,
- 12,14,16,12,13,13,14,16,13,14,14,15,17, 5, 7, 7,
- 10,10, 7, 9, 9,11,11, 7, 9, 9,11,11,10,11,11,15,
- 14,10,11,11,14,14, 7, 9, 9,12,12, 9,11,11,13,13,
- 9,11,11,13,13,11,12,13,15,15,11,13,13,16,15, 7,
- 9, 9,11,11, 9,11,10,13,12, 9,11,12,13,13,11,13,
- 12,16,14,11,13,13,15,16,10,12,12,18,15,11,12,13,
- 16,15,11,13,13,17,16,15,15,15,17,17,14,15,16,18,
- 19, 9,11,11,15,15,10,12,11,15,16,11,13,13,15,16,
- 13,15,13,18,15,14,15,15,17,19, 5, 7, 7,10,10, 7,
- 9, 9,12,11, 7, 9, 9,11,12,10,12,11,14,14,10,11,
- 12,14,15, 7, 9, 9,11,11, 9,11,11,13,12, 9,10,11,
- 12,13,11,13,13,16,17,11,11,13,14,15, 7, 9, 9,12,
- 12, 9,11,11,13,13, 9,11,11,13,13,11,13,12,15,16,
- 11,13,13,16,15, 9,11,11,16,15,11,13,12,16,15,10,
- 12,12,16,15,14,15,16,19,17,13,14,15,15,16,10,11,
- 12,15,15,11,13,13,16,16,11,13,12,16,17,14,15,15,
- 18,17,14,16,14,16,19, 7,10,10,15,14,10,12,12,16,
- 15,10,11,11,16,15,14,16,16,19,18,13,15,14,17,17,
- 9,11,11,17,16,11,13,14,18,17,11,13,13,16,16,15,
- 16,17,19, 0,14,15,18,16,19, 9,11,11,16,15,11,13,
- 12,18,16,11,13,13,17,16,14,16,16,17,19,15,16,15,
- 18, 0,12,14,15,18,19,13,15,16,19,17,14,16,15,18,
- 0,17,16,19, 0,18,16,17,18, 0, 0,11,13,14,18,19,
- 13,15,13,19,19,14,15,15,17,17,15,17,15,19,17,16,
- 18,18,19, 0, 8,10,10,14,14,10,12,11,15,15,10,11,
- 12,15,17,13,15,15,17,16,14,15,15,18, 0, 9,11,11,
- 15,15,11,13,13,18,16,10,12,13,16,17,14,15,16,17,
- 18,14,15,17,19,19, 9,12,12,15,16,11,13,13,16,17,
- 11,14,13,19,16,14,16,15,18,19,15,16,18,19,18,12,
- 14,14,19,18,13,15,17,18,17,13,14,15,18, 0,16, 0,
- 0,18,18,16,15, 0,17,19,12,15,14,17, 0,13,15,16,
- 19,18,13,16,15, 0,19,16,18,16,19,18,17,19,16, 0,
- 19,
-};
-
-static float _vq_quantthresh__44u4__p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u4__p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u4__p3_0 = {
- _vq_quantthresh__44u4__p3_0,
- _vq_quantmap__44u4__p3_0,
- 5,
- 5
-};
-
-static static_codebook _44u4__p3_0 = {
- 4, 625,
- _vq_lengthlist__44u4__p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u4__p3_0,
- NULL,
- &_vq_auxt__44u4__p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u4__p4_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u4__p4_0[] = {
- 4, 5, 5, 8, 8, 6, 7, 6, 9, 9, 6, 6, 7, 9, 9, 9,
- 9, 9,11,11, 8, 9, 9,11,11, 6, 7, 7, 9, 9, 7, 8,
- 8,10,10, 6, 7, 8, 9,10, 9,10,10,11,12, 9, 9,10,
- 11,12, 6, 7, 7, 9, 9, 7, 8, 7,10, 9, 7, 8, 8,10,
- 10, 9,10, 9,12,11, 9,10,10,12,11, 9, 9, 9,12,11,
- 9,10,10,12,12, 9,10,10,12,12,11,12,12,13,14,11,
- 11,12,13,14, 9, 9, 9,11,12, 9,10,10,12,12, 9,10,
- 10,12,12,11,12,11,14,13,11,12,12,13,13, 5, 7, 7,
- 9, 9, 7, 8, 8,10,10, 7, 7, 8,10,10, 9,10,10,12,
- 12, 9,10,10,12,12, 7, 8, 8,10,10, 8, 8, 9,10,11,
- 8, 9, 9,11,11,10,10,11,11,13,10,10,11,12,13, 6,
- 7, 8,10,10, 7, 9, 8,11,10, 8, 8, 9,10,11,10,11,
- 10,13,11,10,11,11,13,12, 9,10,10,12,12,10,10,11,
- 12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,
- 14, 9,10,10,12,12, 9,11,10,13,12,10,11,11,13,13,
- 11,13,11,14,12,12,13,13,14,15, 5, 7, 7, 9, 9, 7,
- 8, 7,10,10, 7, 8, 8,10,10, 9,10,10,12,12, 9,10,
- 10,12,12, 6, 8, 7,10,10, 8, 9, 8,11,10, 7, 8, 9,
- 10,11,10,11,11,12,13,10,10,11,11,13, 7, 8, 8,10,
- 10, 8, 9, 9,10,11, 8, 9, 8,11,10,10,11,11,13,12,
- 10,11,10,13,11, 9,10,10,13,12,10,11,11,13,13, 9,
- 10,10,12,13,12,13,13,15,14,11,11,13,12,14, 9,10,
- 10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,
- 14,14,12,13,11,15,12, 8, 9, 9,12,12, 9,10,10,13,
- 12, 9,10,10,12,12,12,13,12,14,14,11,12,12,14,13,
- 9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,
- 13,13,14,15,12,13,13,15,14, 9,10,10,12,12, 9,11,
- 10,13,12,10,10,11,12,13,12,13,12,15,14,12,13,13,
- 14,14,11,12,12,14,13,11,11,12,13,14,12,13,13,15,
- 14,13,12,14,12,16,14,15,14,16,16,11,12,12,14,14,
- 11,12,11,15,13,12,13,13,14,15,13,14,12,16,13,14,
- 14,15,16,16, 8, 9, 9,12,12, 9,10,10,12,12, 9,10,
- 10,12,13,11,12,12,14,13,12,12,13,14,14, 9,10,10,
- 12,12,10,11,11,13,12,10,10,11,12,13,12,13,13,14,
- 14,12,12,13,14,15, 9,10,10,12,13,10,11,11,12,13,
- 10,11,10,13,13,12,13,13,14,15,12,13,13,15,14,11,
- 12,12,14,14,12,13,13,15,14,11,11,12,14,15,14,14,
- 14,17,16,13,12,14,13,16,11,12,12,13,15,12,13,13,
- 14,15,11,12,11,14,14,14,15,14,15,17,13,14,12,16,
- 12,
-};
-
-static float _vq_quantthresh__44u4__p4_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u4__p4_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u4__p4_0 = {
- _vq_quantthresh__44u4__p4_0,
- _vq_quantmap__44u4__p4_0,
- 5,
- 5
-};
-
-static static_codebook _44u4__p4_0 = {
- 4, 625,
- _vq_lengthlist__44u4__p4_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u4__p4_0,
- NULL,
- &_vq_auxt__44u4__p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u4__p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44u4__p5_0[] = {
- 2, 4, 4, 6, 6, 7, 7, 9, 9, 4, 5, 4, 7, 6, 8, 7,
- 10, 9, 4, 4, 5, 6, 7, 7, 8, 9, 9, 6, 7, 6, 8, 8,
- 8, 8,10,10, 6, 6, 7, 8, 8, 8, 9,10,10, 7, 8, 7,
- 9, 8,10,10,11,11, 7, 7, 8, 8, 9,10,10,11,11, 9,
- 10, 9,10,10,11,11,12,12, 9, 9,10,10,10,11,11,12,
- 12,
-};
-
-static float _vq_quantthresh__44u4__p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44u4__p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u4__p5_0 = {
- _vq_quantthresh__44u4__p5_0,
- _vq_quantmap__44u4__p5_0,
- 9,
- 9
-};
-
-static static_codebook _44u4__p5_0 = {
- 2, 81,
- _vq_lengthlist__44u4__p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44u4__p5_0,
- NULL,
- &_vq_auxt__44u4__p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u4__p6_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u4__p6_0[] = {
- 1, 4, 4, 6, 6, 8, 8, 9,10,10,11,13,13, 4, 6, 5,
- 8, 8, 9, 9,10,10,11,11,14,14, 4, 5, 6, 8, 8, 9,
- 9,10,10,11,11,14,14, 7, 8, 8, 9, 9,10,10,11,11,
- 12,12,15,15, 7, 8, 8, 9, 9,10,10,11,11,12,12,15,
- 15, 8, 9, 9,10,10,11,11,12,12,13,13,16,16, 8, 9,
- 9,10,10,11,11,12,12,13,13,16,16,10,10,10,11,11,
- 12,12,13,13,14,13,16,16,10,10,11,11,12,12,12,13,
- 13,13,14,16,17,11,12,11,12,12,13,13,13,14,14,14,
- 17,16,11,11,12,12,12,13,13,14,14,15,14,17,17,14,
- 14,14,15,15,16,16,17,17,17,19,19, 0,14,15,15,15,
- 15,16,16,16,17,17,19,20,20,
-};
-
-static float _vq_quantthresh__44u4__p6_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44u4__p6_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u4__p6_0 = {
- _vq_quantthresh__44u4__p6_0,
- _vq_quantmap__44u4__p6_0,
- 13,
- 13
-};
-
-static static_codebook _44u4__p6_0 = {
- 2, 169,
- _vq_lengthlist__44u4__p6_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44u4__p6_0,
- NULL,
- &_vq_auxt__44u4__p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u4__p6_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u4__p6_1[] = {
- 2, 4, 4, 5, 5, 4, 5, 5, 6, 5, 4, 5, 5, 5, 6, 5,
- 6, 5, 6, 6, 5, 5, 6, 6, 6,
-};
-
-static float _vq_quantthresh__44u4__p6_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u4__p6_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u4__p6_1 = {
- _vq_quantthresh__44u4__p6_1,
- _vq_quantmap__44u4__p6_1,
- 5,
- 5
-};
-
-static static_codebook _44u4__p6_1 = {
- 2, 25,
- _vq_lengthlist__44u4__p6_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u4__p6_1,
- NULL,
- &_vq_auxt__44u4__p6_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u4__p7_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u4__p7_0[] = {
- 1, 3, 3,11,11,11,11,11,11,11,11,11,11, 4,10, 9,
- 11,11,11,11,11,11,11,11,11,11, 4,10,10,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,
-};
-
-static float _vq_quantthresh__44u4__p7_0[] = {
- -1402.5, -1147.5, -892.5, -637.5, -382.5, -127.5, 127.5, 382.5,
- 637.5, 892.5, 1147.5, 1402.5,
-};
-
-static long _vq_quantmap__44u4__p7_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u4__p7_0 = {
- _vq_quantthresh__44u4__p7_0,
- _vq_quantmap__44u4__p7_0,
- 13,
- 13
-};
-
-static static_codebook _44u4__p7_0 = {
- 2, 169,
- _vq_lengthlist__44u4__p7_0,
- 1, -514332672, 1627381760, 4, 0,
- _vq_quantlist__44u4__p7_0,
- NULL,
- &_vq_auxt__44u4__p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u4__p7_1[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__44u4__p7_1[] = {
- 1, 4, 4, 6, 6, 7, 7, 9, 8,10,10,11,11,12,12, 4,
- 7, 6, 8, 7, 9, 9,10,10,11,10,12,11,12,12, 4, 6,
- 6, 7, 8, 9, 9,10,10,11,11,12,12,13,13, 6, 8, 8,
- 10, 9,11,10,11,11,12,12,14,13,13,13, 6, 8, 8, 9,
- 9,11,11,12,12,12,12,13,14,13,14, 8, 9, 9,11,10,
- 12,12,13,12,13,14,14,14,14,14, 8, 9, 9,10,11,12,
- 11,12,13,13,14,14,13,14,14, 9,10,10,12,12,14,13,
- 14,14,15,15,16,15,15,15, 9,10,10,11,12,13,13,13,
- 14,15,15,18,16,17,15,10,12,12,13,13,15,14,15,14,
- 16,16,16,15,16,15,10,11,11,13,13,14,14,17,16,15,
- 16,18,16,15,16,11,12,13,14,13,15,14,15,16,17,15,
- 16,16,15,16,11,12,13,14,15,14,16,15,15,16,15,15,
- 17,17,17,12,13,13,14,14,14,15,16,14,15,15,16,16,
- 16,16,12,13,13,13,14,15,15,15,14,16,16,16,16,16,
- 17,
-};
-
-static float _vq_quantthresh__44u4__p7_1[] = {
- -110.5, -93.5, -76.5, -59.5, -42.5, -25.5, -8.5, 8.5,
- 25.5, 42.5, 59.5, 76.5, 93.5, 110.5,
-};
-
-static long _vq_quantmap__44u4__p7_1[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u4__p7_1 = {
- _vq_quantthresh__44u4__p7_1,
- _vq_quantmap__44u4__p7_1,
- 15,
- 15
-};
-
-static static_codebook _44u4__p7_1 = {
- 2, 225,
- _vq_lengthlist__44u4__p7_1,
- 1, -522338304, 1620115456, 4, 0,
- _vq_quantlist__44u4__p7_1,
- NULL,
- &_vq_auxt__44u4__p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u4__p7_2[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44u4__p7_2[] = {
- 3, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 5, 6, 6, 7, 7, 8, 7, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9,10,10, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 9, 9,10,10, 8, 8, 8, 9, 9, 9, 9, 9, 9,
- 9, 9,10,10,10,10,10,10, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9,10,10,10,10,10,10, 8, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9,10,10,10,10,10,10, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9,10,10,10,10,10,10, 9, 9, 9, 9, 9,
- 9, 9,10, 9, 9,10,10,10,10,10,10,10, 9, 9, 9, 9,
- 9, 9,10, 9,10,10,10,10,10,10,10,10,10, 9, 9, 9,
- 9, 9,10,10,10,10,10,10,10,10,10,10,10,10, 9, 9,
- 9, 9, 9,10, 9,10,10,10,10,10,10,10,10,10,10, 9,
- 9, 9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 9, 9, 9,10, 9,10,10,10,10,10,10,10,10,10,10,10,
- 10,
-};
-
-static float _vq_quantthresh__44u4__p7_2[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44u4__p7_2[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u4__p7_2 = {
- _vq_quantthresh__44u4__p7_2,
- _vq_quantmap__44u4__p7_2,
- 17,
- 17
-};
-
-static static_codebook _44u4__p7_2 = {
- 2, 289,
- _vq_lengthlist__44u4__p7_2,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44u4__p7_2,
- NULL,
- &_vq_auxt__44u4__p7_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u4__short[] = {
- 3, 9,14,12,17,13,13,13, 4, 7, 8, 9,12,10,11,12,
- 6, 5, 4, 7, 6, 7, 9,14, 8, 8, 7, 9, 8, 9,10,13,
- 9, 8, 5, 7, 3, 5, 8,15, 9, 9, 6, 8, 4, 5, 7,16,
- 11,10, 6, 9, 4, 3, 6,15,17,16, 8,11, 5, 5, 7,16,
-};
-
-static static_codebook _huff_book__44u4__short = {
- 2, 64,
- _huff_lengthlist__44u4__short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u5__long[] = {
- 3, 8,13,12,14,13,16,11,12,13, 5, 4, 5, 6, 8, 9,
- 10, 9,12,12,10, 5, 4, 6, 6, 8, 9,10,14,16,10, 6,
- 6, 6, 6, 7, 9, 8,12,13,13, 7, 5, 6, 4, 6, 6, 7,
- 11,16,10, 7, 7, 7, 6, 6, 7, 7,11,14,14, 9, 8, 8,
- 5, 6, 6, 7,11,16, 9, 8, 8, 8, 6, 6, 6, 4, 7,12,
- 11,10,12,11,10, 9,10, 5, 6,10,10,13,15,15,15,15,
- 14, 8, 7, 9,
-};
-
-static static_codebook _huff_book__44u5__long = {
- 2, 100,
- _huff_lengthlist__44u5__long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u5__p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u5__p1_0[] = {
- 1, 4, 4, 5, 8, 7, 5, 7, 7, 5, 8, 8, 8,10,10, 7,
- 9,10, 5, 8, 8, 7,10, 9, 8,10,10, 4, 8, 8, 8,11,
- 10, 8,10,10, 8,11,11,10,12,13,10,13,13, 7,10,10,
- 9,13,11,10,13,13, 5, 8, 8, 8,10,10, 8,10,10, 7,
- 10,10,10,13,13,10,11,13, 8,10,11,10,13,13,10,13,
- 12,
-};
-
-static float _vq_quantthresh__44u5__p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u5__p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u5__p1_0 = {
- _vq_quantthresh__44u5__p1_0,
- _vq_quantmap__44u5__p1_0,
- 3,
- 3
-};
-
-static static_codebook _44u5__p1_0 = {
- 4, 81,
- _vq_lengthlist__44u5__p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u5__p1_0,
- NULL,
- &_vq_auxt__44u5__p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u5__p2_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u5__p2_0[] = {
- 3, 4, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 8, 8, 6,
- 7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 8, 5, 6, 6, 6, 8,
- 7, 6, 8, 8, 6, 8, 8, 8, 9, 9, 8, 9, 9, 6, 7, 8,
- 7, 9, 8, 8, 9, 9, 5, 6, 6, 6, 8, 7, 6, 8, 8, 6,
- 8, 8, 8, 9, 9, 7, 8, 9, 6, 8, 8, 8, 9, 9, 8, 9,
- 9,
-};
-
-static float _vq_quantthresh__44u5__p2_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u5__p2_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u5__p2_0 = {
- _vq_quantthresh__44u5__p2_0,
- _vq_quantmap__44u5__p2_0,
- 3,
- 3
-};
-
-static static_codebook _44u5__p2_0 = {
- 4, 81,
- _vq_lengthlist__44u5__p2_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u5__p2_0,
- NULL,
- &_vq_auxt__44u5__p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u5__p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u5__p3_0[] = {
- 2, 4, 5, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 8,
- 10, 9,12,12, 8, 9,10,12,13, 5, 7, 7,10, 9, 7, 9,
- 9,11,11, 7, 8, 9,10,11,10,11,11,13,14, 9,10,11,
- 13,13, 5, 7, 7, 9, 9, 7, 9, 8,11,10, 7, 9, 9,11,
- 11, 9,11,10,14,13,10,11,11,13,14, 8,10,10,13,13,
- 10,11,11,15,14, 9,11,11,14,14,13,15,14,18,16,12,
- 13,14,16,16, 8,10,10,13,13, 9,11,11,14,14,10,11,
- 12,14,15,12,13,13,16,16,13,14,14,15,17, 5, 7, 7,
- 10,10, 7, 9, 9,11,11, 7, 9, 9,11,11,10,11,11,15,
- 14,10,11,11,14,14, 7, 9, 9,12,11, 9,11,11,13,13,
- 9,11,11,13,13,12,12,13,15,15,11,12,13,16,15, 6,
- 9, 9,11,11, 8,11,10,13,12, 9,10,11,12,14,11,13,
- 11,16,14,11,13,13,15,16,10,11,11,15,15,11,12,13,
- 16,15,11,13,13,16,16,14,15,15,17,18,14,15,16,17,
- 18, 9,11,11,14,15,10,12,11,15,15,11,12,13,15,16,
- 13,15,13,17,15,14,15,16,18,19, 5, 7, 7,10,10, 7,
- 9, 9,11,11, 7, 9, 9,11,11,10,11,11,15,14,10,11,
- 11,14,15, 6, 9, 9,11,11, 9,11,10,13,13, 8,10,11,
- 12,13,11,13,13,15,15,11,11,13,13,15, 7, 9, 9,11,
- 12, 9,11,11,13,13, 9,11,11,13,13,11,13,12,17,16,
- 11,13,12,16,15, 9,11,11,15,14,11,13,13,16,16,10,
- 11,12,15,15,14,15,15,17,17,13,13,15,15,17,10,11,
- 12,15,15,11,13,13,16,19,11,13,12,17,17,14,16,15,
- 19,17,14,15,15,18,18, 8,10,10,14,14,10,12,11,16,
- 15, 9,11,11,15,16,14,16,15,17,17,13,14,14,18,17,
- 9,11,11,16,15,11,13,13,16,18,11,13,13,17,16,15,
- 16,17,18, 0,15,15,16, 0,18, 9,11,11,16,15,10,13,
- 12,17,15,11,13,13,16,17,14,18,15,19,18,15,16,16,
- 19,18,13,15,15,19,17,13,15,15,18,18,14,15,15,19,
- 0,17,18, 0,19,19,16,17,17, 0,18,12,14,13,18,17,
- 13,15,13,19,18,14,15,15,19,19,16,17,15, 0,17,16,
- 19,17,19,18, 8,10,10,14,14,10,11,11,15,15,10,11,
- 11,16,16,13,15,15,17,16,14,15,15,18,19, 9,11,11,
- 16,15,11,13,13,19,16,10,12,13,15,17,15,15,15,19,
- 19,15,16,16,17, 0, 9,11,11,16,16,11,13,13,16,17,
- 11,13,13,18,18,14,16,15,18,18,15,17,16,19, 0,12,
- 14,14,17,18,13,16,16,18,18,13,14,15,17, 0,16,17,
- 17, 0, 0,16,15, 0,19,17,12,15,14,17,18,14,15,16,
- 0,18,14,16,16,18, 0,16,17,17, 0, 0,17,19,17,19,
- 0,
-};
-
-static float _vq_quantthresh__44u5__p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u5__p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u5__p3_0 = {
- _vq_quantthresh__44u5__p3_0,
- _vq_quantmap__44u5__p3_0,
- 5,
- 5
-};
-
-static static_codebook _44u5__p3_0 = {
- 4, 625,
- _vq_lengthlist__44u5__p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u5__p3_0,
- NULL,
- &_vq_auxt__44u5__p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u5__p4_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u5__p4_0[] = {
- 4, 6, 6, 8, 8, 6, 7, 6, 9, 9, 6, 6, 7, 9, 9, 8,
- 9, 9,11,11, 8, 9, 9,11,11, 6, 7, 7, 9, 9, 7, 8,
- 8,10,10, 6, 7, 8, 9,10, 9,10,10,11,11, 9, 9,10,
- 11,12, 6, 7, 7, 9, 9, 6, 8, 7,10, 9, 7, 8, 8,10,
- 10, 9,10, 9,12,11, 9,10,10,12,11, 8, 9, 9,12,11,
- 9,10,10,12,12, 9,10,10,12,12,11,12,12,13,13,11,
- 11,12,12,13, 8, 9, 9,11,11, 9,10,10,12,12, 9,10,
- 10,12,12,11,12,11,13,13,11,12,12,14,13, 6, 7, 7,
- 9, 9, 7, 8, 7,10,10, 7, 7, 8, 9,10, 9,10,10,12,
- 11, 9,10,10,11,11, 7, 8, 8,10,10, 8, 8, 9,10,11,
- 8, 8, 8,11,10,10,10,11,11,12,10,10,11,12,12, 6,
- 7, 7,10,10, 7, 8, 8,11,10, 8, 8, 9,10,11,10,11,
- 10,13,11,10,10,11,12,12, 9,10,10,12,12,10,10,10,
- 12,13,10,11,11,13,13,12,11,12,11,14,12,12,13,13,
- 14, 9,10,10,12,12, 9,10,10,12,12,10,10,11,12,13,
- 11,12,11,14,12,12,12,12,14,14, 6, 7, 7, 9, 9, 7,
- 8, 7,10,10, 7, 7, 8,10,10, 9,10,10,11,11, 9,10,
- 10,12,12, 6, 7, 7,10,10, 8, 9, 8,11,10, 7, 8, 8,
- 10,11,10,10,11,12,12,10,10,11,11,13, 7, 8, 8,10,
- 10, 8, 8, 8,10,11, 8, 9, 8,11,10,10,11,10,12,12,
- 10,11,10,12,11, 9,10,10,12,12,10,11,11,13,12, 9,
- 10,10,12,12,12,12,12,14,14,11,11,12,12,14, 9,10,
- 10,12,12,10,11,11,12,12,10,10,10,12,12,12,13,12,
- 14,14,11,12,11,14,11, 8, 9, 9,11,11, 9,10,10,12,
- 12, 9,10,10,12,12,11,12,12,14,14,11,12,12,13,13,
- 9,10,10,12,12,10,10,11,12,13,10,11,10,13,12,12,
- 12,13,14,14,12,12,12,14,13, 9,10,10,12,12, 9,10,
- 10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,
- 13,14,11,12,11,14,13,11,11,12,13,14,12,13,12,14,
- 14,13,12,14,11,16,13,14,14,16,15,11,11,11,13,13,
- 11,12,11,14,13,12,12,13,14,15,12,14,12,16,12,14,
- 14,14,16,16, 8, 9, 9,11,11, 9,10,10,12,12, 9,10,
- 10,12,12,11,12,12,13,13,12,12,12,14,14, 9,10,10,
- 12,12,10,11,10,13,12, 9,10,10,12,13,12,12,12,14,
- 13,12,12,13,13,15, 9,10,10,12,12,10,10,11,12,13,
- 10,11,10,13,12,12,13,12,14,14,12,13,12,14,13,11,
- 11,11,13,13,12,13,12,14,14,11,11,12,13,14,13,14,
- 14,16,15,13,12,14,12,15,11,12,12,13,14,12,12,13,
- 14,14,11,12,11,14,13,13,14,14,15,16,13,14,11,16,
- 11,
-};
-
-static float _vq_quantthresh__44u5__p4_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u5__p4_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u5__p4_0 = {
- _vq_quantthresh__44u5__p4_0,
- _vq_quantmap__44u5__p4_0,
- 5,
- 5
-};
-
-static static_codebook _44u5__p4_0 = {
- 4, 625,
- _vq_lengthlist__44u5__p4_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u5__p4_0,
- NULL,
- &_vq_auxt__44u5__p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u5__p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44u5__p5_0[] = {
- 2, 4, 3, 6, 6, 8, 7,10,10, 3, 5, 5, 8, 7, 8, 8,
- 11,11, 3, 5, 5, 7, 8, 8, 8,10,11, 6, 8, 7, 9, 9,
- 10, 9,12,11, 7, 7, 8, 9, 9, 9,10,11,12, 8, 8, 8,
- 10, 9,11,11,13,12, 8, 8, 8, 9,10,11,12,12,13,10,
- 11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,
- 14,
-};
-
-static float _vq_quantthresh__44u5__p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44u5__p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u5__p5_0 = {
- _vq_quantthresh__44u5__p5_0,
- _vq_quantmap__44u5__p5_0,
- 9,
- 9
-};
-
-static static_codebook _44u5__p5_0 = {
- 2, 81,
- _vq_lengthlist__44u5__p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44u5__p5_0,
- NULL,
- &_vq_auxt__44u5__p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u5__p6_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44u5__p6_0[] = {
- 3, 4, 4, 5, 6, 7, 7, 9, 9, 4, 5, 4, 6, 6, 7, 7,
- 9, 9, 4, 4, 4, 6, 6, 7, 7, 9, 9, 6, 6, 6, 7, 7,
- 8, 8,10,10, 6, 6, 6, 7, 7, 8, 8,10,10, 7, 7, 7,
- 8, 8, 9, 9,10,10, 7, 7, 7, 8, 8, 9, 9,10,11, 9,
- 9, 9,10,10,11,10,11,11, 9, 9, 9,10,10,11,11,11,
- 11,
-};
-
-static float _vq_quantthresh__44u5__p6_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44u5__p6_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u5__p6_0 = {
- _vq_quantthresh__44u5__p6_0,
- _vq_quantmap__44u5__p6_0,
- 9,
- 9
-};
-
-static static_codebook _44u5__p6_0 = {
- 2, 81,
- _vq_lengthlist__44u5__p6_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44u5__p6_0,
- NULL,
- &_vq_auxt__44u5__p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u5__p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u5__p7_0[] = {
- 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 9, 8, 8,11,10, 7,
- 10,10, 5, 9, 9, 8,10,10, 8,10,11, 4, 9, 9, 9,11,
- 11, 9,12,11, 8,11,11,11,12,12,10,12,12, 7,11,11,
- 10,12,12,10,12,12, 4, 9, 9, 9,11,11, 9,11,11, 7,
- 11,11,10,12,12,10,11,12, 8,11,11,10,12,12,11,12,
- 12,
-};
-
-static float _vq_quantthresh__44u5__p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44u5__p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u5__p7_0 = {
- _vq_quantthresh__44u5__p7_0,
- _vq_quantmap__44u5__p7_0,
- 3,
- 3
-};
-
-static static_codebook _44u5__p7_0 = {
- 4, 81,
- _vq_lengthlist__44u5__p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44u5__p7_0,
- NULL,
- &_vq_auxt__44u5__p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u5__p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44u5__p7_1[] = {
- 2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 4, 5, 5, 7, 7,
- 8, 8, 9, 8, 9, 8, 4, 5, 5, 7, 7, 8, 8, 8, 9, 9,
- 9, 6, 7, 7, 8, 8, 9, 8, 9, 9, 9, 9, 6, 7, 7, 8,
- 8, 8, 9, 9, 9, 9, 9, 8, 8, 8, 9, 8, 9, 9, 9, 9,
- 9, 9, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 8, 9, 8,
- 9, 9, 9, 9,10,10,10,10, 8, 9, 9, 9, 9, 9, 9,10,
- 10,10,10, 8, 9, 9, 9, 9, 9, 9,10,10,10,10, 8, 9,
- 9, 9, 9, 9, 9,10,10,10,10,
-};
-
-static float _vq_quantthresh__44u5__p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44u5__p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u5__p7_1 = {
- _vq_quantthresh__44u5__p7_1,
- _vq_quantmap__44u5__p7_1,
- 11,
- 11
-};
-
-static static_codebook _44u5__p7_1 = {
- 2, 121,
- _vq_lengthlist__44u5__p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44u5__p7_1,
- NULL,
- &_vq_auxt__44u5__p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u5__p8_0[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44u5__p8_0[] = {
- 1, 4, 4, 6, 6, 8, 8, 9, 9,10,10, 4, 6, 6, 7, 7,
- 9, 9,10,10,11,11, 4, 6, 6, 7, 7, 9, 9,10,10,11,
- 11, 6, 8, 8, 9, 9,10,10,12,11,13,12, 6, 7, 8, 9,
- 9,10,10,11,11,12,12, 8, 9, 9,10,10,11,12,12,12,
- 14,13, 8, 9, 9,10,10,11,11,12,13,14,13,10,11,10,
- 12,12,13,13,14,13,15,14,10,11,11,12,12,12,13,13,
- 13,15,15,11,12,12,13,12,13,14,14,14,15,14,11,11,
- 12,13,13,13,14,14,14,15,15,
-};
-
-static float _vq_quantthresh__44u5__p8_0[] = {
- -49.5, -38.5, -27.5, -16.5, -5.5, 5.5, 16.5, 27.5,
- 38.5, 49.5,
-};
-
-static long _vq_quantmap__44u5__p8_0[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u5__p8_0 = {
- _vq_quantthresh__44u5__p8_0,
- _vq_quantmap__44u5__p8_0,
- 11,
- 11
-};
-
-static static_codebook _44u5__p8_0 = {
- 2, 121,
- _vq_lengthlist__44u5__p8_0,
- 1, -524582912, 1618345984, 4, 0,
- _vq_quantlist__44u5__p8_0,
- NULL,
- &_vq_auxt__44u5__p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u5__p8_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44u5__p8_1[] = {
- 3, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 5, 6, 5, 6, 6,
- 7, 7, 8, 8, 8, 8, 5, 6, 6, 6, 6, 7, 7, 8, 8, 8,
- 8, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 6, 6, 7, 7,
- 7, 7, 7, 8, 8, 8, 8, 7, 7, 7, 7, 7, 8, 8, 8, 8,
- 8, 8, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 7, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44u5__p8_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44u5__p8_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u5__p8_1 = {
- _vq_quantthresh__44u5__p8_1,
- _vq_quantmap__44u5__p8_1,
- 11,
- 11
-};
-
-static static_codebook _44u5__p8_1 = {
- 2, 121,
- _vq_lengthlist__44u5__p8_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44u5__p8_1,
- NULL,
- &_vq_auxt__44u5__p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u5__p9_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u5__p9_0[] = {
- 1, 3, 3,12,10,12,12,12,12,12,12,12,12, 3, 8, 9,
- 12,12,12,12,12,12,12,12,12,12, 4, 9, 9,12,12,12,
- 12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,
- 12,12,12,12, 9,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,
-};
-
-static float _vq_quantthresh__44u5__p9_0[] = {
- -1402.5, -1147.5, -892.5, -637.5, -382.5, -127.5, 127.5, 382.5,
- 637.5, 892.5, 1147.5, 1402.5,
-};
-
-static long _vq_quantmap__44u5__p9_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u5__p9_0 = {
- _vq_quantthresh__44u5__p9_0,
- _vq_quantmap__44u5__p9_0,
- 13,
- 13
-};
-
-static static_codebook _44u5__p9_0 = {
- 2, 169,
- _vq_lengthlist__44u5__p9_0,
- 1, -514332672, 1627381760, 4, 0,
- _vq_quantlist__44u5__p9_0,
- NULL,
- &_vq_auxt__44u5__p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u5__p9_1[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__44u5__p9_1[] = {
- 1, 4, 4, 7, 7, 8, 9, 7, 7, 8, 8, 9, 9,10,10, 5,
- 6, 6, 9, 8,10,10, 9, 8, 9, 9,10, 9,11,10, 4, 6,
- 6, 8, 9, 9,10, 8, 9, 9,10,10,10,11,10, 7, 8, 8,
- 10,10,11,11,10,10,11,11,11,11,11,11, 7, 8, 8,10,
- 10,11,11,10,10,11,11,11,11,11,12, 8, 9,10,11,10,
- 12,12,11,11,11,11,12,12,12,13, 8, 9, 9,11,11,11,
- 12,11,11,11,11,12,12,12,12, 8, 9, 9,10,10,11,11,
- 12,11,12,12,12,13,13,13, 8, 9, 9,10,10,11,11,12,
- 11,12,12,13,13,12,13, 9,10,10,11,11,12,11,12,13,
- 14,14,15,15,15,14, 9,10,10,11,11,12,12,12,12,13,
- 13,14,14,14,14, 9,10,11,12,11,12,13,14,13,14,13,
- 14,14,14,14, 9,11,11,11,11,12,13,13,13,14,13,15,
- 15,14,14,10,11,11,12,12,13,13,13,13,14,14,14,15,
- 15,15,10,11,11,12,12,12,13,13,13,15,14,15,14,14,
- 14,
-};
-
-static float _vq_quantthresh__44u5__p9_1[] = {
- -110.5, -93.5, -76.5, -59.5, -42.5, -25.5, -8.5, 8.5,
- 25.5, 42.5, 59.5, 76.5, 93.5, 110.5,
-};
-
-static long _vq_quantmap__44u5__p9_1[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u5__p9_1 = {
- _vq_quantthresh__44u5__p9_1,
- _vq_quantmap__44u5__p9_1,
- 15,
- 15
-};
-
-static static_codebook _44u5__p9_1 = {
- 2, 225,
- _vq_lengthlist__44u5__p9_1,
- 1, -522338304, 1620115456, 4, 0,
- _vq_quantlist__44u5__p9_1,
- NULL,
- &_vq_auxt__44u5__p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u5__p9_2[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44u5__p9_2[] = {
- 3, 5, 5, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,
- 9, 9, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 7, 8, 8, 8, 8, 9, 8, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9,10, 9, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9,10, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,10, 9, 9,10, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9,10, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9,10, 9, 9, 9, 9, 9,10, 9, 9, 9,
- 9, 9, 9, 9, 9, 9,10,10,10,10, 9,10,10,10,10, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,10,10,10, 9, 9, 9, 9,10,
- 9, 9, 9, 9, 9, 9, 9,10, 9,10, 9, 9, 9,10,10, 9,
- 9,
-};
-
-static float _vq_quantthresh__44u5__p9_2[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44u5__p9_2[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u5__p9_2 = {
- _vq_quantthresh__44u5__p9_2,
- _vq_quantmap__44u5__p9_2,
- 17,
- 17
-};
-
-static static_codebook _44u5__p9_2 = {
- 2, 289,
- _vq_lengthlist__44u5__p9_2,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44u5__p9_2,
- NULL,
- &_vq_auxt__44u5__p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u5__short[] = {
- 4,11,16,14,18,15,18,15,17,17, 4, 6, 9, 9,12, 9,
- 14,10,14,17, 6, 6, 5, 7, 6, 8,10,10,16,17, 7, 8,
- 7, 9, 9,10,12,12,14,17, 8, 6, 5, 7, 4, 7, 5, 7,
- 14,17, 9, 9, 8, 9, 7,10, 8,10,14,17,11, 9, 7, 9,
- 4, 7, 3, 6,15,17,11,10,10,10, 6, 9, 5, 6,14,17,
- 17,17,10,15, 4, 8, 3, 5,12,17,17,17,12,16, 7,11,
- 6, 8,16,17,
-};
-
-static static_codebook _huff_book__44u5__short = {
- 2, 100,
- _huff_lengthlist__44u5__short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u6__long[] = {
- 3, 9,14,13,15,13,16,12,12,12, 5, 4, 6, 7, 8, 9,
- 10,10,13,12,10, 5, 5, 6, 6, 9, 9,10,14,14,10, 6,
- 6, 7, 6, 8, 9, 9,13,12,13, 7, 5, 6, 4, 6, 6, 7,
- 11,15,10, 8, 7, 7, 6, 7, 7, 7,11,13,16,10, 8, 8,
- 5, 6, 4, 6,10,14, 9, 9, 9, 8, 6, 6, 5, 4, 7,11,
- 11,11,12,11,10, 9, 9, 5, 5, 9,10,13,14,14,14,14,
- 15, 8, 7, 8,
-};
-
-static static_codebook _huff_book__44u6__long = {
- 2, 100,
- _huff_lengthlist__44u6__long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u6__p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u6__p1_0[] = {
- 1, 4, 4, 4, 8, 7, 5, 7, 7, 5, 8, 8, 8,10,10, 7,
- 9,10, 5, 8, 8, 7,10, 9, 8,10,10, 5, 8, 8, 8,11,
- 10, 8,10,10, 8,11,10,10,12,13,10,13,13, 7,10,10,
- 10,13,11,10,13,13, 5, 8, 8, 8,11,10, 8,10,10, 7,
- 10,10,10,13,13, 9,11,13, 8,10,11,10,13,13,10,13,
- 12,
-};
-
-static float _vq_quantthresh__44u6__p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u6__p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u6__p1_0 = {
- _vq_quantthresh__44u6__p1_0,
- _vq_quantmap__44u6__p1_0,
- 3,
- 3
-};
-
-static static_codebook _44u6__p1_0 = {
- 4, 81,
- _vq_lengthlist__44u6__p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u6__p1_0,
- NULL,
- &_vq_auxt__44u6__p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u6__p2_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u6__p2_0[] = {
- 3, 5, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 7, 8, 6,
- 7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 7, 5, 6, 6, 6, 8,
- 7, 6, 7, 8, 6, 8, 8, 8, 8, 9, 8, 9, 9, 6, 7, 7,
- 7, 9, 8, 8, 9, 9, 5, 6, 6, 6, 8, 7, 6, 7, 8, 6,
- 7, 7, 8, 9, 9, 7, 8, 9, 6, 8, 8, 8, 9, 9, 8, 9,
- 8,
-};
-
-static float _vq_quantthresh__44u6__p2_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u6__p2_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u6__p2_0 = {
- _vq_quantthresh__44u6__p2_0,
- _vq_quantmap__44u6__p2_0,
- 3,
- 3
-};
-
-static static_codebook _44u6__p2_0 = {
- 4, 81,
- _vq_lengthlist__44u6__p2_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u6__p2_0,
- NULL,
- &_vq_auxt__44u6__p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u6__p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u6__p3_0[] = {
- 2, 4, 5, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 8,
- 10, 9,13,12, 8, 9,10,12,13, 5, 7, 7,10, 9, 7, 9,
- 9,11,11, 7, 8, 9,10,11,10,11,11,13,14, 9,10,11,
- 13,13, 5, 7, 7, 9, 9, 7, 9, 8,11,10, 7, 9, 9,11,
- 11, 9,11,10,14,13,10,11,11,14,13, 8,10,10,14,13,
- 10,12,11,15,14, 9,11,11,15,14,13,15,14,20,16,13,
- 13,14,16,16, 8,10,10,13,14, 9,11,11,14,15,10,11,
- 12,14,15,13,13,14,16,16,13,14,14,16,17, 5, 7, 7,
- 10,10, 7, 9, 9,11,11, 7, 9, 9,11,11,10,11,11,15,
- 14,10,11,11,14,14, 7, 9, 9,12,11, 9,11,11,12,13,
- 9,11,11,13,13,11,12,13,14,16,11,12,13,16,16, 6,
- 9, 8,11,11, 8,11,10,13,12, 9,10,11,12,13,11,13,
- 11,15,14,11,13,13,15,15,10,12,11,15,14,11,12,13,
- 17,16,11,13,13,16,17,14,15,16,17,17,14,15,16,20,
- 0, 9,11,11,14,15,10,13,12,16,16,11,13,13,17,17,
- 13,15,14,17,15,15,16,16, 0, 0, 5, 7, 7,10,10, 7,
- 9, 9,11,11, 7, 8, 9,11,11,10,11,11,14,14,10,11,
- 11,14,14, 6, 9, 9,11,11, 9,11,11,14,12, 8,10,11,
- 12,13,11,13,13,16,16,11,11,13,14,16, 7, 9, 9,11,
- 12, 9,11,11,13,13, 9,11,11,13,12,11,13,12,16,16,
- 12,13,12,16,14, 9,11,11,16,15,11,13,13,17,15,10,
- 12,12,15,16,14,16,16, 0,17,13,14,15,15,17,10,11,
- 12,15,15,11,13,13,17,17,11,13,13,15,16,14,15,15,
- 19,18,14,15,15,19,16, 8,10,10,14,14,10,12,11,15,
- 16,10,11,11,15,17,13,16,15,19,19,13,15,14,17,17,
- 9,11,12,15,16,11,13,13,18,19,11,13,13,16,17,16,
- 16,17, 0, 0,15,15,16, 0,19, 9,11,11,15,16,10,13,
- 12,17,15,11,13,13,16,17,14,17,15,18,17,15,16,15,
- 18, 0,13,14,15, 0,19,14,16,16, 0,17,15,16,16, 0,
- 17,16,17, 0, 0, 0,16,17,19, 0, 0,12,14,14,17,17,
- 13,15,13, 0,19,14,16,16,18,19,16,18,15,19,18,17,
- 18,17,19, 0, 8,10,10,14,13,10,11,11,16,15,10,11,
- 11,15,15,13,15,15,19,18,14,15,16, 0,18, 9,11,11,
- 15,14,11,13,13, 0,16,10,12,13,15,17,14,16,16, 0,
- 18,15,16,17,17, 0, 9,11,11,16,15,11,13,13,16,16,
- 11,14,13,18,18,15,17,15,18,17,15,16,18, 0, 0,12,
- 14,14,18,19,14,15,16, 0,18,13,14,15,18, 0,17,17,
- 17, 0, 0,16,15,18,17, 0,12,14,15,17,19,14,16,16,
- 19, 0,14,17,16, 0,18,17,19,17, 0, 0,16,18,17, 0,
- 17,
-};
-
-static float _vq_quantthresh__44u6__p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u6__p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u6__p3_0 = {
- _vq_quantthresh__44u6__p3_0,
- _vq_quantmap__44u6__p3_0,
- 5,
- 5
-};
-
-static static_codebook _44u6__p3_0 = {
- 4, 625,
- _vq_lengthlist__44u6__p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u6__p3_0,
- NULL,
- &_vq_auxt__44u6__p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u6__p4_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u6__p4_0[] = {
- 4, 6, 6, 8, 8, 6, 7, 6, 9, 9, 6, 6, 7, 9, 9, 8,
- 9, 9,11,11, 8, 9, 9,11,11, 6, 7, 7, 9, 9, 7, 8,
- 8,10,10, 6, 7, 8, 9,10, 9,10,10,11,12, 9, 9,10,
- 11,12, 6, 7, 7, 9, 9, 7, 8, 7,10, 9, 7, 8, 8,10,
- 10, 9,10, 9,12,11, 9,10,10,12,11, 8, 9, 9,11,11,
- 9,10,10,12,12, 9, 9,10,12,12,11,12,12,13,13,11,
- 11,12,12,13, 8, 9, 9,11,11, 9,10,10,12,12, 9,10,
- 10,12,12,11,12,11,13,13,11,12,12,13,13, 6, 7, 7,
- 9, 9, 7, 8, 7,10, 9, 7, 7, 8, 9,10, 9,10,10,12,
- 11, 9,10,10,11,12, 7, 8, 8,10,10, 8, 8, 9,10,10,
- 8, 8, 8,10,10,10,10,11,12,12,10,10,11,12,12, 6,
- 7, 7,10,10, 7, 8, 8,11,10, 8, 8, 9,10,11,10,11,
- 10,12,11,10,10,11,12,12, 9,10,10,12,12,10,10,11,
- 12,12,10,11,10,13,12,12,12,12,12,14,12,12,12,13,
- 14, 9,10,10,12,12, 9,10,10,12,12,10,10,11,12,13,
- 11,12,11,14,12,12,12,13,14,14, 6, 7, 7, 9, 9, 7,
- 8, 7,10, 9, 7, 7, 8,10,10, 9,10,10,12,11, 9,10,
- 10,11,12, 6, 7, 7,10,10, 8, 9, 8,11,10, 7, 8, 8,
- 10,10,10,10,11,12,12,10,10,10,11,12, 7, 8, 8,10,
- 10, 8, 8, 8,10,10, 8, 8, 8,10,10,10,11,10,12,12,
- 10,11,10,12,11, 9,10,10,12,12,10,11,10,13,12, 9,
- 10,10,12,12,12,12,12,14,14,11,11,12,12,13, 9,10,
- 10,12,12,10,11,11,12,12,10,11,10,12,12,12,12,12,
- 14,14,12,12,12,14,12, 8, 9, 9,11,11, 9,10,10,12,
- 12, 9,10,10,12,12,11,12,12,13,13,11,12,12,13,13,
- 9,10,10,12,12,10,10,11,12,13,10,11,10,12,12,12,
- 12,13,13,14,12,12,12,14,14, 9,10,10,12,12, 9,10,
- 10,12,12,10,10,10,12,12,12,12,12,14,13,12,12,12,
- 14,14,11,12,12,13,13,11,12,12,14,14,12,12,12,14,
- 14,13,12,14,12,15,13,14,14,15,15,11,11,11,13,13,
- 11,12,11,14,13,12,12,12,14,14,12,14,12,15,12,13,
- 14,14,15,16, 8, 9, 9,11,11, 9,10,10,12,12, 9,10,
- 10,12,12,11,12,12,13,13,11,12,12,13,14, 9,10,10,
- 12,12,10,11,10,13,12, 9,10,10,12,13,12,12,12,15,
- 14,12,12,13,13,14, 9,10,10,12,12,10,10,11,12,12,
- 10,11,10,12,12,12,13,12,14,14,12,13,12,14,13,11,
- 11,11,13,13,12,12,12,14,13,11,11,12,13,14,13,14,
- 14,15,15,12,12,14,12,15,11,12,12,13,14,12,12,12,
- 14,14,11,12,12,14,14,13,14,14,15,15,13,14,12,16,
- 12,
-};
-
-static float _vq_quantthresh__44u6__p4_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u6__p4_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u6__p4_0 = {
- _vq_quantthresh__44u6__p4_0,
- _vq_quantmap__44u6__p4_0,
- 5,
- 5
-};
-
-static static_codebook _44u6__p4_0 = {
- 4, 625,
- _vq_lengthlist__44u6__p4_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u6__p4_0,
- NULL,
- &_vq_auxt__44u6__p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u6__p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44u6__p5_0[] = {
- 2, 3, 3, 6, 6, 8, 8,10,10, 4, 5, 5, 8, 7, 8, 8,
- 11,11, 3, 5, 5, 7, 8, 8, 8,11,11, 6, 8, 7,10, 9,
- 10, 9,12,12, 6, 7, 8, 9,10, 9,10,12,12, 8, 8, 8,
- 10, 9,12,11,13,13, 8, 8, 8, 9,10,11,12,12,13,10,
- 11,11,12,11,13,12,14,14,10,10,11,11,12,13,13,14,
- 14,
-};
-
-static float _vq_quantthresh__44u6__p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44u6__p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u6__p5_0 = {
- _vq_quantthresh__44u6__p5_0,
- _vq_quantmap__44u6__p5_0,
- 9,
- 9
-};
-
-static static_codebook _44u6__p5_0 = {
- 2, 81,
- _vq_lengthlist__44u6__p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44u6__p5_0,
- NULL,
- &_vq_auxt__44u6__p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u6__p6_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44u6__p6_0[] = {
- 3, 4, 4, 5, 5, 7, 7, 9, 9, 4, 5, 4, 6, 6, 7, 7,
- 9, 9, 4, 4, 5, 6, 6, 7, 7, 9, 9, 5, 6, 6, 7, 7,
- 8, 8,10,10, 6, 6, 6, 7, 7, 8, 8,10,10, 7, 7, 7,
- 8, 8, 9, 9,10,10, 7, 7, 7, 8, 8, 9, 9,10,11, 9,
- 9, 9,10,10,11,11,11,11, 9, 9, 9,10,10,10,11,11,
- 11,
-};
-
-static float _vq_quantthresh__44u6__p6_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44u6__p6_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u6__p6_0 = {
- _vq_quantthresh__44u6__p6_0,
- _vq_quantmap__44u6__p6_0,
- 9,
- 9
-};
-
-static static_codebook _44u6__p6_0 = {
- 2, 81,
- _vq_lengthlist__44u6__p6_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44u6__p6_0,
- NULL,
- &_vq_auxt__44u6__p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u6__p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u6__p7_0[] = {
- 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 9, 8, 8,11,10, 8,
- 11,10, 5, 8, 9, 7,10,10, 8,10,11, 4, 9, 9, 9,12,
- 11, 9,11,12, 8,11,12,11,12,13,10,13,12, 7,12,11,
- 10,12,12,10,13,13, 4, 9, 9, 8,11,11, 9,11,12, 7,
- 12,12,10,13,13,10,12,13, 8,12,12,10,13,13,11,13,
- 12,
-};
-
-static float _vq_quantthresh__44u6__p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44u6__p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u6__p7_0 = {
- _vq_quantthresh__44u6__p7_0,
- _vq_quantmap__44u6__p7_0,
- 3,
- 3
-};
-
-static static_codebook _44u6__p7_0 = {
- 4, 81,
- _vq_lengthlist__44u6__p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44u6__p7_0,
- NULL,
- &_vq_auxt__44u6__p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u6__p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44u6__p7_1[] = {
- 3, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 4, 5, 5, 6, 6,
- 8, 7, 8, 8, 8, 8, 4, 5, 5, 6, 6, 7, 8, 8, 8, 8,
- 8, 6, 7, 6, 7, 7, 8, 8, 9, 9, 9, 9, 6, 6, 7, 7,
- 7, 8, 8, 9, 9, 9, 9, 7, 8, 7, 8, 8, 9, 9, 9, 9,
- 9, 9, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 8, 8, 8,
- 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 8, 8, 8, 9, 9, 9, 9, 9, 9,10,10, 8, 8,
- 8, 9, 9, 9, 9, 9, 9,10,10,
-};
-
-static float _vq_quantthresh__44u6__p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44u6__p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u6__p7_1 = {
- _vq_quantthresh__44u6__p7_1,
- _vq_quantmap__44u6__p7_1,
- 11,
- 11
-};
-
-static static_codebook _44u6__p7_1 = {
- 2, 121,
- _vq_lengthlist__44u6__p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44u6__p7_1,
- NULL,
- &_vq_auxt__44u6__p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u6__p8_0[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44u6__p8_0[] = {
- 1, 4, 4, 6, 6, 8, 8, 9, 9,10,10, 4, 6, 6, 7, 7,
- 9, 9,10,10,11,11, 4, 6, 6, 7, 7, 9, 9,10,10,11,
- 11, 6, 8, 8, 9, 9,10,10,11,11,12,12, 6, 8, 8, 9,
- 9,10,10,11,11,12,12, 8, 9, 9,10,10,11,11,12,12,
- 13,13, 8, 9, 9,10,10,11,11,12,12,13,13,10,10,10,
- 11,11,12,12,13,13,14,14,10,10,10,11,11,12,13,13,
- 13,14,14,11,12,12,13,13,13,13,14,14,15,14,11,11,
- 11,13,13,14,13,14,14,15,14,
-};
-
-static float _vq_quantthresh__44u6__p8_0[] = {
- -49.5, -38.5, -27.5, -16.5, -5.5, 5.5, 16.5, 27.5,
- 38.5, 49.5,
-};
-
-static long _vq_quantmap__44u6__p8_0[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u6__p8_0 = {
- _vq_quantthresh__44u6__p8_0,
- _vq_quantmap__44u6__p8_0,
- 11,
- 11
-};
-
-static static_codebook _44u6__p8_0 = {
- 2, 121,
- _vq_lengthlist__44u6__p8_0,
- 1, -524582912, 1618345984, 4, 0,
- _vq_quantlist__44u6__p8_0,
- NULL,
- &_vq_auxt__44u6__p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u6__p8_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44u6__p8_1[] = {
- 3, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 5, 6, 6, 7, 6,
- 7, 7, 7, 7, 8, 8, 5, 6, 6, 6, 7, 7, 7, 7, 7, 8,
- 8, 6, 7, 6, 7, 7, 7, 7, 8, 8, 8, 8, 6, 6, 7, 7,
- 7, 7, 7, 8, 8, 8, 8, 7, 7, 7, 7, 7, 8, 8, 8, 8,
- 8, 8, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 7, 7, 7,
- 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44u6__p8_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44u6__p8_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u6__p8_1 = {
- _vq_quantthresh__44u6__p8_1,
- _vq_quantmap__44u6__p8_1,
- 11,
- 11
-};
-
-static static_codebook _44u6__p8_1 = {
- 2, 121,
- _vq_lengthlist__44u6__p8_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44u6__p8_1,
- NULL,
- &_vq_auxt__44u6__p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u6__p9_0[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__44u6__p9_0[] = {
- 1, 3, 3,10,12,13,13,13,13,13,13,13,13,13,13, 3,
- 9, 9,13,13,13,13,13,13,13,13,13,13,12,12, 4, 9,
- 9,12,12,12,12,12,12,12,12,12,12,12,12, 9,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12, 9,11,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,
-};
-
-static float _vq_quantthresh__44u6__p9_0[] = {
- -1657.5, -1402.5, -1147.5, -892.5, -637.5, -382.5, -127.5, 127.5,
- 382.5, 637.5, 892.5, 1147.5, 1402.5, 1657.5,
-};
-
-static long _vq_quantmap__44u6__p9_0[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u6__p9_0 = {
- _vq_quantthresh__44u6__p9_0,
- _vq_quantmap__44u6__p9_0,
- 15,
- 15
-};
-
-static static_codebook _44u6__p9_0 = {
- 2, 225,
- _vq_lengthlist__44u6__p9_0,
- 1, -514071552, 1627381760, 4, 0,
- _vq_quantlist__44u6__p9_0,
- NULL,
- &_vq_auxt__44u6__p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u6__p9_1[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__44u6__p9_1[] = {
- 1, 4, 4, 7, 7, 8, 8, 7, 7, 8, 8, 9, 9, 9, 9, 5,
- 6, 6, 8, 8,10,10, 9, 9,10, 9,10, 9,10,10, 4, 6,
- 6, 8, 9,10,10, 8, 9, 9,10,10,10,10,10, 7, 9, 8,
- 10,10,11,11,10,10,11,11,11,11,12,12, 7, 8, 8,10,
- 10,11,11,10,10,10,11,11,11,11,12, 8,10,10,11,11,
- 12,12,11,11,11,11,12,12,12,13, 8, 9, 9,11,11,12,
- 12,11,11,12,12,12,12,12,12, 8, 9, 9,10,10,11,11,
- 13,12,13,12,13,13,13,13, 8, 9, 9,10,10,11,11,12,
- 12,12,12,13,12,13,12, 9,10,10,11,11,12,12,13,13,
- 14,12,13,13,14,13, 9,10,10,11,11,12,12,12,12,13,
- 13,13,13,14,14, 9,11,10,11,11,12,13,13,12,13,13,
- 15,13,14,14, 9,10,10,11,12,12,13,13,13,13,13,14,
- 14,14,14,10,11,11,12,12,13,12,13,13,14,14,14,14,
- 14,15,10,11,11,11,12,13,13,13,13,14,14,14,14,14,
- 14,
-};
-
-static float _vq_quantthresh__44u6__p9_1[] = {
- -110.5, -93.5, -76.5, -59.5, -42.5, -25.5, -8.5, 8.5,
- 25.5, 42.5, 59.5, 76.5, 93.5, 110.5,
-};
-
-static long _vq_quantmap__44u6__p9_1[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u6__p9_1 = {
- _vq_quantthresh__44u6__p9_1,
- _vq_quantmap__44u6__p9_1,
- 15,
- 15
-};
-
-static static_codebook _44u6__p9_1 = {
- 2, 225,
- _vq_lengthlist__44u6__p9_1,
- 1, -522338304, 1620115456, 4, 0,
- _vq_quantlist__44u6__p9_1,
- NULL,
- &_vq_auxt__44u6__p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u6__p9_2[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44u6__p9_2[] = {
- 3, 5, 5, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,
- 9, 9, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 9, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9,10, 9,10,10, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10, 9,10, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9,10,10, 9, 9,
- 9, 9, 9, 9, 9, 9, 9,10, 9, 9, 9,10, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,10, 9,10,10, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,10, 9,10,10, 9, 9, 9,10,
- 9,
-};
-
-static float _vq_quantthresh__44u6__p9_2[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44u6__p9_2[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u6__p9_2 = {
- _vq_quantthresh__44u6__p9_2,
- _vq_quantmap__44u6__p9_2,
- 17,
- 17
-};
-
-static static_codebook _44u6__p9_2 = {
- 2, 289,
- _vq_lengthlist__44u6__p9_2,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44u6__p9_2,
- NULL,
- &_vq_auxt__44u6__p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u6__short[] = {
- 5,11,15,14,17,14,17,15,17,17, 4, 6, 9, 9,14, 9,
- 17,10,15,17, 6, 6, 5, 7, 7, 9,11,10,15,17, 6, 8,
- 8,10, 9,11,14,13,16,17, 7, 6, 5, 7, 5, 7, 5, 8,
- 15,17, 9, 8, 8, 9, 8,10,10,11,14,17,10, 8, 7, 9,
- 4, 7, 3, 5,11,17,10,10,10,10, 6, 9, 4, 5,11,17,
- 16,16,13,15, 5,10, 4, 3, 9,16,17,17,14,17, 7,11,
- 6, 6,11,17,
-};
-
-static static_codebook _huff_book__44u6__short = {
- 2, 100,
- _huff_lengthlist__44u6__short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u7__long[] = {
- 3, 9,15,13,16,13,16,12,12,12, 5, 5, 7, 8, 8,10,
- 11,10,13,13,10, 5, 5, 6, 6, 9, 9,10,14,14, 9, 6,
- 6, 7, 6, 8, 9,10,13,12,13, 7, 5, 6, 4, 6, 6, 8,
- 12,13,11, 8, 7, 8, 6, 7, 7, 7,11,13,15,10, 8, 8,
- 5, 6, 4, 5, 9,13, 9, 9, 8, 9, 7, 7, 4, 4, 6,11,
- 11,11,12,12,10,10, 8, 5, 5, 9,10,12,13,15,13,13,
- 12, 7, 6, 8,
-};
-
-static static_codebook _huff_book__44u7__long = {
- 2, 100,
- _huff_lengthlist__44u7__long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u7__p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u7__p1_0[] = {
- 1, 4, 4, 5, 7, 7, 4, 7, 7, 5, 8, 8, 8,10,10, 7,
- 10,10, 5, 8, 8, 7,10, 9, 8,10,10, 5, 8, 8, 8,11,
- 10, 8,10,10, 8,11,10,10,12,13,11,13,13, 7,10,10,
- 10,13,11,11,13,13, 5, 8, 8, 8,11,10, 8,10,10, 7,
- 10,10,11,13,13,10,11,13, 8,11,11,10,13,13,10,13,
- 12,
-};
-
-static float _vq_quantthresh__44u7__p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u7__p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u7__p1_0 = {
- _vq_quantthresh__44u7__p1_0,
- _vq_quantmap__44u7__p1_0,
- 3,
- 3
-};
-
-static static_codebook _44u7__p1_0 = {
- 4, 81,
- _vq_lengthlist__44u7__p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u7__p1_0,
- NULL,
- &_vq_auxt__44u7__p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u7__p2_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u7__p2_0[] = {
- 3, 5, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 7, 8, 6,
- 7, 7, 5, 6, 6, 6, 7, 7, 6, 8, 8, 5, 6, 6, 6, 8,
- 7, 6, 7, 8, 6, 8, 8, 8, 9, 9, 8, 9, 9, 6, 7, 7,
- 7, 9, 8, 8, 9, 9, 5, 6, 6, 6, 8, 7, 6, 7, 8, 6,
- 7, 7, 8, 9, 9, 7, 8, 9, 6, 8, 8, 8, 9, 9, 8, 9,
- 9,
-};
-
-static float _vq_quantthresh__44u7__p2_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u7__p2_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u7__p2_0 = {
- _vq_quantthresh__44u7__p2_0,
- _vq_quantmap__44u7__p2_0,
- 3,
- 3
-};
-
-static static_codebook _44u7__p2_0 = {
- 4, 81,
- _vq_lengthlist__44u7__p2_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u7__p2_0,
- NULL,
- &_vq_auxt__44u7__p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u7__p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u7__p3_0[] = {
- 2, 5, 5, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 8,
- 9, 9,12,12, 8, 9, 9,12,12, 5, 7, 7,10, 9, 7, 9,
- 9,11,11, 6, 8, 9,10,11,10,11,11,13,14, 9,10,11,
- 13,13, 5, 7, 7, 9, 9, 6, 9, 8,11,10, 7, 9, 9,11,
- 11, 9,11,10,13,13,10,11,11,14,13, 8,10,10,14,13,
- 10,11,11,16,14, 9,11,11,14,14,13,15,14,17,16,12,
- 13,14,16,15, 8, 9,10,13,14, 9,11,11,14,14,10,11,
- 11,14,15,13,13,14,17,17,13,14,15,16,17, 5, 7, 7,
- 10,10, 7, 9, 8,11,11, 7, 8, 9,11,11,10,11,11,14,
- 14,10,11,11,14,14, 7, 9, 9,11,11, 9,11,11,13,13,
- 9,11,11,13,13,11,12,13,15,17,11,12,13,16,18, 6,
- 8, 8,11,11, 8,10,10,13,12, 9,11,11,12,13,11,13,
- 11,16,14,11,13,12,16,16,10,11,11,15,15,11,13,13,
- 16,16,11,13,13,18,16,14,14,15,17,16,14,15,17,19,
- 0, 9,11,11,14,15,10,12,12,15,17,11,13,13,15,17,
- 14,15,13, 0,15,15,17,16,18, 0, 5, 7, 7, 9,10, 7,
- 9, 9,11,11, 7, 8, 9,11,11,10,11,11,14,14,10,11,
- 11,14,14, 6, 8, 9,11,11, 9,11,11,14,13, 8,10,10,
- 11,14,11,13,13,17,15,11,12,13,14,16, 7, 9, 9,11,
- 11, 9,11,11,13,12, 9,11,11,12,13,11,13,12,15,15,
- 11,13,12,16,15, 9,11,11,15,15,11,12,13,16,15,10,
- 11,12,16,15,15,16,16, 0, 0,14,13,15,16,19, 9,11,
- 12,15,15,11,13,13,17,16,11,13,12,15,17,14,16,16,
- 18, 0,15,15,16,18,17, 8,10,10,13,14,10,11,11,15,
- 16,10,11,11,15,16,14,15,15,17,19,14,14,15,19,19,
- 9,11,11,16,15,11,13,13,17,17,11,13,13,17,17,15,
- 17,16, 0, 0,15,17,17, 0,17, 9,11,11,15,15,11,13,
- 12,16,16,11,13,13,18,17,15,16,15,19,19,14,16,18,
- 17,19,13,15,15, 0,18,14,16,17,17,18,14,16,16,19,
- 19,18,19,19, 0, 0,16,17,18,19, 0,12,14,14,16,18,
- 13,16,14, 0,19,14,16,17,19, 0,16,19,16,19,17,17,
- 18,18, 0, 0, 8,10,10,14,13, 9,11,11,15,14,10,11,
- 12,14,16,13,15,14,19,19,14,16,16,18,17, 9,11,11,
- 16,15,11,13,13, 0,17,10,12,13,15,16,15,18,16,19,
- 19,14,15,16,18,18, 9,11,12,15,15,11,13,13,17,19,
- 11,13,13,17,17,15,17,16,19,19,15,17,16, 0, 0,12,
- 14,14, 0,19,14,16,15, 0,19,13,14,16,19, 0,16,18,
- 18, 0, 0,16,16,17,17, 0,13,14,14,17, 0,14,17,16,
- 0,19,14,16,16,19,18,17,19,17, 0, 0,18,18,17, 0,
- 0,
-};
-
-static float _vq_quantthresh__44u7__p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u7__p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u7__p3_0 = {
- _vq_quantthresh__44u7__p3_0,
- _vq_quantmap__44u7__p3_0,
- 5,
- 5
-};
-
-static static_codebook _44u7__p3_0 = {
- 4, 625,
- _vq_lengthlist__44u7__p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u7__p3_0,
- NULL,
- &_vq_auxt__44u7__p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u7__p4_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u7__p4_0[] = {
- 5, 6, 6, 8, 8, 6, 7, 6, 9, 9, 6, 6, 7, 9, 9, 8,
- 9, 9,11,11, 8, 9, 9,11,11, 6, 7, 7, 9, 9, 7, 8,
- 7,10,10, 6, 7, 8, 9,10, 9,10,10,11,12, 9, 9,10,
- 11,12, 6, 7, 7, 9, 9, 6, 7, 7,10, 9, 7, 7, 8,10,
- 10, 9,10, 9,12,11, 9,10,10,12,11, 8, 9, 9,11,11,
- 9,10,10,12,12, 9,10,10,11,12,11,12,12,13,13,11,
- 11,12,12,13, 8, 9, 9,11,11, 9,10,10,12,11, 9,10,
- 10,12,12,11,12,11,13,12,11,12,12,13,14, 6, 7, 7,
- 9, 9, 7, 8, 7,10, 9, 7, 7, 8, 9,10, 9,10,10,12,
- 11, 9,10,10,11,12, 7, 8, 8,10,10, 8, 8, 8,10,10,
- 8, 8, 8,10,10,10,10,11,12,12,10,10,11,12,12, 6,
- 7, 7,10,10, 7, 8, 8,10,10, 8, 8, 8,10,11, 9,10,
- 10,12,11,10,10,11,12,12, 9,10,10,12,12,10,10,10,
- 12,12,10,11,10,12,12,12,12,12,13,14,12,12,12,13,
- 14, 9,10,10,11,12, 9,10,10,12,12,10,10,11,12,12,
- 11,12,11,14,12,12,12,12,14,14, 6, 7, 7, 9, 9, 7,
- 8, 7,10, 9, 7, 7, 8, 9,10, 9,10,10,12,11, 9,10,
- 10,11,12, 6, 7, 7,10,10, 8, 8, 8,11,10, 7, 8, 8,
- 10,10,10,10,10,12,12,10,10,10,11,12, 7, 8, 8,10,
- 10, 8, 8, 8,10,10, 8, 8, 8,10,10,10,11,10,12,12,
- 10,11,10,12,12, 9,10,10,12,12,10,11,10,13,12, 9,
- 10,10,12,12,12,12,12,14,14,11,11,12,12,14, 9,10,
- 10,12,12,10,10,10,12,12,10,11,10,12,12,12,12,12,
- 14,14,12,12,12,14,13, 8, 9, 9,11,11, 9,10,10,12,
- 12, 9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,
- 9,10,10,12,12,10,10,10,12,12,10,11,11,12,12,12,
- 12,13,14,14,12,12,12,14,14, 9,10, 9,12,12, 9,10,
- 10,12,12,10,10,11,12,12,12,12,11,14,13,12,12,12,
- 13,14,11,12,12,13,13,12,12,12,14,14,12,13,12,14,
- 14,13,13,14,13,15,14,14,14,15,15,11,11,11,13,13,
- 11,12,11,14,13,12,12,12,14,14,12,13,12,15,12,13,
- 14,14,15,15, 8, 9, 9,11,11, 9,10,10,12,12, 9,10,
- 10,12,12,11,12,12,13,13,11,12,12,13,14, 9,10,10,
- 12,11,10,10,10,12,12, 9,10,10,12,12,12,13,12,14,
- 13,11,12,12,13,14, 9,10,10,12,12,10,10,10,12,12,
- 10,11,11,12,12,12,12,12,14,14,12,13,12,14,13,11,
- 11,11,13,13,12,12,12,14,13,11,11,12,13,14,13,14,
- 14,15,15,13,12,13,12,15,11,12,12,13,14,12,12,12,
- 14,14,11,12,12,14,14,13,14,14,15,15,13,14,13,15,
- 13,
-};
-
-static float _vq_quantthresh__44u7__p4_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u7__p4_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u7__p4_0 = {
- _vq_quantthresh__44u7__p4_0,
- _vq_quantmap__44u7__p4_0,
- 5,
- 5
-};
-
-static static_codebook _44u7__p4_0 = {
- 4, 625,
- _vq_lengthlist__44u7__p4_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u7__p4_0,
- NULL,
- &_vq_auxt__44u7__p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u7__p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44u7__p5_0[] = {
- 2, 3, 3, 6, 6, 8, 8,10,10, 3, 5, 5, 8, 7, 8, 8,
- 11,11, 4, 5, 5, 7, 8, 8, 8,11,11, 6, 8, 7, 9, 9,
- 10, 9,12,12, 6, 7, 8, 9,10, 9,10,12,12, 8, 8, 8,
- 10, 9,12,11,13,13, 8, 8, 8, 9,10,11,12,13,13,10,
- 11,11,12,11,13,13,14,14,10,11,11,12,12,13,13,14,
- 14,
-};
-
-static float _vq_quantthresh__44u7__p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44u7__p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u7__p5_0 = {
- _vq_quantthresh__44u7__p5_0,
- _vq_quantmap__44u7__p5_0,
- 9,
- 9
-};
-
-static static_codebook _44u7__p5_0 = {
- 2, 81,
- _vq_lengthlist__44u7__p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44u7__p5_0,
- NULL,
- &_vq_auxt__44u7__p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u7__p6_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44u7__p6_0[] = {
- 4, 4, 4, 5, 5, 7, 7, 9, 9, 4, 4, 4, 6, 6, 7, 7,
- 9, 9, 4, 4, 5, 6, 6, 7, 7, 9, 9, 5, 6, 6, 7, 7,
- 8, 8, 9, 9, 5, 6, 6, 6, 7, 8, 8, 9, 9, 7, 7, 7,
- 8, 8, 9, 9,10,10, 7, 7, 7, 8, 8, 9, 9,10,10, 9,
- 9, 9,10, 9,10,10,11,11, 9, 9, 9, 9,10,10,10,11,
- 11,
-};
-
-static float _vq_quantthresh__44u7__p6_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44u7__p6_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u7__p6_0 = {
- _vq_quantthresh__44u7__p6_0,
- _vq_quantmap__44u7__p6_0,
- 9,
- 9
-};
-
-static static_codebook _44u7__p6_0 = {
- 2, 81,
- _vq_lengthlist__44u7__p6_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44u7__p6_0,
- NULL,
- &_vq_auxt__44u7__p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u7__p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u7__p7_0[] = {
- 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 9, 8, 8,10,10, 8,
- 10,10, 5, 8, 9, 8,10,10, 8,10,10, 4, 9, 9, 9,11,
- 12, 8,12,11, 8,12,11,11,12,13,10,13,13, 7,12,11,
- 10,13,12,10,13,13, 4, 9, 9, 8,11,12, 9,11,12, 7,
- 11,12,10,13,13,10,12,13, 8,11,12,10,13,13,10,13,
- 12,
-};
-
-static float _vq_quantthresh__44u7__p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44u7__p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u7__p7_0 = {
- _vq_quantthresh__44u7__p7_0,
- _vq_quantmap__44u7__p7_0,
- 3,
- 3
-};
-
-static static_codebook _44u7__p7_0 = {
- 4, 81,
- _vq_lengthlist__44u7__p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44u7__p7_0,
- NULL,
- &_vq_auxt__44u7__p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u7__p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44u7__p7_1[] = {
- 3, 5, 4, 6, 6, 7, 7, 8, 8, 8, 8, 5, 5, 5, 6, 6,
- 7, 7, 8, 8, 8, 8, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8,
- 8, 6, 6, 6, 7, 7, 8, 7, 8, 8, 8, 8, 6, 6, 6, 7,
- 7, 7, 8, 8, 8, 8, 8, 7, 7, 7, 8, 7, 8, 8, 9, 9,
- 9, 9, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 8, 8, 8,
- 8, 8, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 9, 9, 9,
- 9, 9, 9, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 8, 8,
- 8, 8, 8, 9, 9, 9, 9, 9, 9,
-};
-
-static float _vq_quantthresh__44u7__p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44u7__p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u7__p7_1 = {
- _vq_quantthresh__44u7__p7_1,
- _vq_quantmap__44u7__p7_1,
- 11,
- 11
-};
-
-static static_codebook _44u7__p7_1 = {
- 2, 121,
- _vq_lengthlist__44u7__p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44u7__p7_1,
- NULL,
- &_vq_auxt__44u7__p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u7__p8_0[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44u7__p8_0[] = {
- 1, 4, 4, 6, 6, 8, 8, 9, 9,10,10, 4, 6, 6, 7, 7,
- 9, 9,10,10,11,11, 4, 6, 6, 7, 7, 9, 9,10,10,11,
- 11, 6, 8, 8, 9, 9,10,10,11,11,12,12, 6, 8, 8, 9,
- 9,10,10,11,11,12,12, 8, 9, 9,10,10,11,11,12,12,
- 14,13, 8, 9, 9,10,10,11,11,12,12,13,13,10,10,10,
- 11,11,12,12,13,13,14,14,10,10,10,11,11,12,13,13,
- 13,14,14,11,12,11,13,12,13,14,14,14,15,15,11,11,
- 12,13,13,13,13,14,14,15,15,
-};
-
-static float _vq_quantthresh__44u7__p8_0[] = {
- -49.5, -38.5, -27.5, -16.5, -5.5, 5.5, 16.5, 27.5,
- 38.5, 49.5,
-};
-
-static long _vq_quantmap__44u7__p8_0[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u7__p8_0 = {
- _vq_quantthresh__44u7__p8_0,
- _vq_quantmap__44u7__p8_0,
- 11,
- 11
-};
-
-static static_codebook _44u7__p8_0 = {
- 2, 121,
- _vq_lengthlist__44u7__p8_0,
- 1, -524582912, 1618345984, 4, 0,
- _vq_quantlist__44u7__p8_0,
- NULL,
- &_vq_auxt__44u7__p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u7__p8_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44u7__p8_1[] = {
- 3, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 5, 6, 6, 7, 6,
- 7, 7, 7, 7, 8, 8, 5, 6, 6, 6, 7, 7, 7, 7, 7, 8,
- 8, 6, 7, 6, 7, 7, 7, 7, 8, 8, 8, 8, 6, 6, 7, 7,
- 7, 7, 7, 8, 8, 8, 8, 7, 7, 7, 7, 7, 8, 8, 8, 8,
- 8, 8, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 7, 7, 7,
- 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44u7__p8_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44u7__p8_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u7__p8_1 = {
- _vq_quantthresh__44u7__p8_1,
- _vq_quantmap__44u7__p8_1,
- 11,
- 11
-};
-
-static static_codebook _44u7__p8_1 = {
- 2, 121,
- _vq_lengthlist__44u7__p8_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44u7__p8_1,
- NULL,
- &_vq_auxt__44u7__p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u7__p9_0[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44u7__p9_0[] = {
- 1, 4, 4, 9, 9, 9, 9, 9, 9, 9, 9, 5, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44u7__p9_0[] = {
- -2866.5, -2229.5, -1592.5, -955.5, -318.5, 318.5, 955.5, 1592.5,
- 2229.5, 2866.5,
-};
-
-static long _vq_quantmap__44u7__p9_0[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u7__p9_0 = {
- _vq_quantthresh__44u7__p9_0,
- _vq_quantmap__44u7__p9_0,
- 11,
- 11
-};
-
-static static_codebook _44u7__p9_0 = {
- 2, 121,
- _vq_lengthlist__44u7__p9_0,
- 1, -512171520, 1630791680, 4, 0,
- _vq_quantlist__44u7__p9_0,
- NULL,
- &_vq_auxt__44u7__p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u7__p9_1[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u7__p9_1[] = {
- 1, 4, 4, 5, 5, 7, 7,10, 9,11,11,12,12, 4, 7, 6,
- 8, 8, 9, 9,11,10,13,12,13,13, 4, 6, 7, 8, 8, 9,
- 9,10,11,13,13,12,13, 5, 8, 8,10, 9,12,11,12,12,
- 13,13,15,14, 6, 8, 8,10,10,11,11,13,12,13,14,14,
- 15, 8,10,10,12,11,13,13,14,15,15,16,15,16, 8, 9,
- 10,12,12,13,13,16,15,15,15,15,15,10,11,11,14,13,
- 14,14,16,16,15,16,16,16,10,12,12,12,14,14,14,15,
- 16,15,16,15,16,11,12,12,14,14,16,16,15,16,16,16,
- 16,16,12,12,13,13,15,15,14,15,16,16,16,16,16,12,
- 14,14,15,14,16,16,16,16,16,16,16,16,13,14,13,14,
- 15,16,15,16,16,16,16,16,16,
-};
-
-static float _vq_quantthresh__44u7__p9_1[] = {
- -269.5, -220.5, -171.5, -122.5, -73.5, -24.5, 24.5, 73.5,
- 122.5, 171.5, 220.5, 269.5,
-};
-
-static long _vq_quantmap__44u7__p9_1[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u7__p9_1 = {
- _vq_quantthresh__44u7__p9_1,
- _vq_quantmap__44u7__p9_1,
- 13,
- 13
-};
-
-static static_codebook _44u7__p9_1 = {
- 2, 169,
- _vq_lengthlist__44u7__p9_1,
- 1, -518889472, 1622704128, 4, 0,
- _vq_quantlist__44u7__p9_1,
- NULL,
- &_vq_auxt__44u7__p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u7__p9_2[] = {
- 24,
- 23,
- 25,
- 22,
- 26,
- 21,
- 27,
- 20,
- 28,
- 19,
- 29,
- 18,
- 30,
- 17,
- 31,
- 16,
- 32,
- 15,
- 33,
- 14,
- 34,
- 13,
- 35,
- 12,
- 36,
- 11,
- 37,
- 10,
- 38,
- 9,
- 39,
- 8,
- 40,
- 7,
- 41,
- 6,
- 42,
- 5,
- 43,
- 4,
- 44,
- 3,
- 45,
- 2,
- 46,
- 1,
- 47,
- 0,
- 48,
-};
-
-static long _vq_lengthlist__44u7__p9_2[] = {
- 2, 4, 3, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6,
- 6, 7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8,
-};
-
-static float _vq_quantthresh__44u7__p9_2[] = {
- -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5,
- -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5,
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
- 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5,
- 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5,
-};
-
-static long _vq_quantmap__44u7__p9_2[] = {
- 47, 45, 43, 41, 39, 37, 35, 33,
- 31, 29, 27, 25, 23, 21, 19, 17,
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16, 18, 20, 22, 24, 26, 28, 30,
- 32, 34, 36, 38, 40, 42, 44, 46,
- 48,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u7__p9_2 = {
- _vq_quantthresh__44u7__p9_2,
- _vq_quantmap__44u7__p9_2,
- 49,
- 49
-};
-
-static static_codebook _44u7__p9_2 = {
- 1, 49,
- _vq_lengthlist__44u7__p9_2,
- 1, -526909440, 1611661312, 6, 0,
- _vq_quantlist__44u7__p9_2,
- NULL,
- &_vq_auxt__44u7__p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u7__short[] = {
- 6,14,18,18,18,18,17,17,17,17, 4, 8,11,12,13,11,
- 13,11,16,17, 6, 7, 8, 9, 8, 9,12, 9,14,17, 6, 9,
- 11,12,12,12,15,12,17,17, 6, 6, 6, 8, 5, 7, 7, 8,
- 14,17, 7, 9, 9,11, 8,10,10,11,14,16, 8, 7, 7, 8,
- 5, 7, 4, 5,11,17, 9, 8,10, 9, 7, 9, 4, 2, 9,16,
- 15,14,16,14, 8,14, 4, 3, 7,16,17,17,16,17, 9,15,
- 6, 5,10,17,
-};
-
-static static_codebook _huff_book__44u7__short = {
- 2, 100,
- _huff_lengthlist__44u7__short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u8__long[] = {
- 3, 9,13,13,14,13,13,13,13,14, 5, 4, 6, 8,10,12,
- 13,15,13,14, 9, 5, 3, 5, 8,10,12,14,13,13,11, 7,
- 4, 3, 5, 7,10,11,12,14,11, 9, 7, 4, 4, 6, 8,10,
- 13,14,10,11, 9, 7, 6, 6, 7, 9,12,15,12,11,11, 8,
- 7, 6, 6, 7,11,14,12,12,12,10, 8, 7, 6, 7, 9,13,
- 11,12,13,12,11, 8, 8, 7, 9,12,11,14,16,16,15,11,
- 10, 9, 9,11,
-};
-
-static static_codebook _huff_book__44u8__long = {
- 2, 100,
- _huff_lengthlist__44u8__long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u8__short[] = {
- 7,15,18,18,18,18,18,18,18,18, 4, 6, 9,10,10,11,
- 16,15,18,18, 5, 6, 6, 6, 8,10,15,15,18,18, 5, 6,
- 5, 4, 6, 9,12,15,17,18, 7, 6, 6, 5, 6, 5, 8,11,
- 15,18,10, 9, 9, 7, 4, 3, 6,10,16,17,13,12,12, 6,
- 6, 4, 5, 9,14,16,16,17,13, 5, 5, 4, 5, 8,13,16,
- 17,17,14, 7, 7, 6, 7,10,15,17,17,17,17,11,12,12,
- 12,14,17,17,
-};
-
-static static_codebook _huff_book__44u8__short = {
- 2, 100,
- _huff_lengthlist__44u8__short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u8_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u8_p1_0[] = {
- 1, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 8, 9, 9, 7,
- 8, 9, 5, 7, 7, 7, 9, 8, 8, 9, 9, 5, 7, 7, 7, 9,
- 9, 7, 9, 9, 8, 9, 9, 9,10,11, 9,10,10, 7, 9, 9,
- 9,10, 9, 9,10,11, 5, 7, 7, 7, 9, 9, 8, 9, 9, 7,
- 9, 9, 9,11,10, 9, 9,10, 8, 9, 9, 9,10,10, 9,11,
- 10,
-};
-
-static float _vq_quantthresh__44u8_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u8_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u8_p1_0 = {
- _vq_quantthresh__44u8_p1_0,
- _vq_quantmap__44u8_p1_0,
- 3,
- 3
-};
-
-static static_codebook _44u8_p1_0 = {
- 4, 81,
- _vq_lengthlist__44u8_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u8_p1_0,
- NULL,
- &_vq_auxt__44u8_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u8_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u8_p2_0[] = {
- 4, 5, 5, 8, 8, 6, 7, 6, 9, 9, 5, 6, 7, 9, 9, 8,
- 9, 9,11,11, 8, 9, 9,11,11, 6, 7, 7, 9, 9, 7, 8,
- 8,10,10, 7, 7, 8, 9,10, 9,10,10,12,12, 9, 9,10,
- 11,12, 6, 7, 7, 9, 9, 7, 8, 7,10, 9, 7, 8, 8,10,
- 10, 9,10, 9,12,11, 9,10,10,12,12, 8, 9, 9,11,11,
- 9,10,10,12,12, 9,10,10,12,12,11,12,12,13,13,11,
- 11,12,13,13, 8, 9, 9,11,11, 9,10,10,12,12, 9,10,
- 10,12,12,11,12,11,13,13,11,12,12,14,13, 5, 7, 7,
- 9, 9, 7, 8, 8,10,10, 7, 8, 8,10,10, 9,10,10,12,
- 12, 9,10,10,11,12, 7, 8, 8,10,10, 8, 9, 9,11,11,
- 8, 9, 9,10,11,10,11,11,12,12,10,10,11,12,13, 6,
- 8, 8,10,10, 7, 8, 8,11,10, 8, 8, 9,10,11,10,11,
- 10,12,11,10,11,11,12,12, 9,10,10,12,12,10,11,11,
- 13,13,10,11,11,13,13,12,12,13,13,14,12,12,13,14,
- 14, 9,10,10,12,12, 9,10,10,12,12,10,11,11,12,13,
- 11,12,11,14,12,12,12,12,14,14, 5, 7, 7, 9, 9, 7,
- 8, 8,10,10, 7, 8, 8,10,10, 9,10,10,12,11, 9,10,
- 10,12,12, 6, 8, 8,10,10, 8, 9, 8,11,10, 7, 8, 8,
- 10,11,10,11,11,13,12,10,10,11,11,13, 7, 8, 8,10,
- 10, 8, 9, 9,11,10, 8, 9, 9,11,11,10,11,10,13,12,
- 10,11,11,12,12, 9,10,10,12,12,10,11,11,13,12, 9,
- 10,10,12,12,12,13,13,14,14,11,11,12,12,14, 9,10,
- 10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,12,
- 14,14,12,13,12,14,13, 8, 9, 9,11,11, 9,10,10,12,
- 12, 9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,
- 9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,
- 13,13,14,15,12,12,13,14,14, 9,10,10,12,12, 9,11,
- 10,13,12,10,11,11,12,13,12,13,12,14,13,12,12,13,
- 14,14,11,12,12,14,14,12,12,12,14,14,12,13,13,14,
- 14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,14,
- 11,12,11,14,13,12,12,13,14,14,13,14,12,15,13,14,
- 14,14,15,16, 8, 9, 9,11,11, 9,10,10,12,12, 9,10,
- 10,12,12,11,12,12,14,13,11,12,12,13,14, 9,10,10,
- 12,12,10,11,10,13,12, 9,10,11,12,13,12,13,12,14,
- 14,12,12,13,13,14, 9,10,10,12,12,10,11,11,13,13,
- 10,11,11,13,13,12,12,12,14,14,12,13,12,15,14,11,
- 12,11,14,13,12,13,12,14,14,11,11,12,13,14,13,14,
- 14,16,15,13,12,14,13,15,11,12,12,13,14,12,13,13,
- 14,14,12,13,12,14,14,14,14,14,15,16,13,14,13,15,
- 14,
-};
-
-static float _vq_quantthresh__44u8_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u8_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u8_p2_0 = {
- _vq_quantthresh__44u8_p2_0,
- _vq_quantmap__44u8_p2_0,
- 5,
- 5
-};
-
-static static_codebook _44u8_p2_0 = {
- 4, 625,
- _vq_lengthlist__44u8_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u8_p2_0,
- NULL,
- &_vq_auxt__44u8_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u8_p3_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44u8_p3_0[] = {
- 3, 4, 4, 5, 5, 7, 7, 9, 9, 4, 5, 4, 6, 6, 7, 7,
- 9, 9, 4, 4, 5, 6, 6, 7, 7, 9, 9, 5, 6, 6, 7, 7,
- 8, 8,10,10, 6, 6, 6, 7, 7, 8, 8, 9,10, 7, 7, 7,
- 8, 8, 9, 9,11,10, 7, 7, 7, 8, 8, 9, 9,10,11, 9,
- 9, 9,10,10,11,10,12,12, 9, 9, 9,10,10,10,11,12,
- 12,
-};
-
-static float _vq_quantthresh__44u8_p3_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44u8_p3_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u8_p3_0 = {
- _vq_quantthresh__44u8_p3_0,
- _vq_quantmap__44u8_p3_0,
- 9,
- 9
-};
-
-static static_codebook _44u8_p3_0 = {
- 2, 81,
- _vq_lengthlist__44u8_p3_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44u8_p3_0,
- NULL,
- &_vq_auxt__44u8_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u8_p4_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44u8_p4_0[] = {
- 4, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8,10,10,11,11,11,
- 11, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,11,
- 12,12, 5, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,
- 11,11,12, 6, 6, 6, 7, 7, 8, 7, 9, 9, 9, 9,10,10,
- 11,11,12,12, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9,10,
- 10,11,11,12,12, 7, 7, 7, 8, 7, 9, 8, 9, 9,10, 9,
- 11,10,11,11,12,12, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9,
- 10,10,10,11,11,12,12, 8, 8, 8, 9, 9, 9, 9,10,10,
- 10,10,11,11,11,11,12,12, 8, 8, 8, 8, 9, 9, 9,10,
- 10,10,10,11,11,11,12,12,12, 9, 9, 9, 9, 9,10, 9,
- 10,10,11,10,11,11,12,12,12,12, 9, 9, 9, 9, 9, 9,
- 10,10,10,11,11,11,11,12,12,12,13,10,10,10,10,10,
- 11,10,11,11,11,11,12,12,12,12,12,13,10,10,10,10,
- 10,10,11,11,11,11,11,12,12,12,12,13,12,11,11,11,
- 11,11,11,11,12,12,12,12,12,12,12,13,13,13,11,11,
- 11,11,11,11,11,12,12,12,12,12,12,13,12,13,13,11,
- 12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,
- 12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,
- 13,
-};
-
-static float _vq_quantthresh__44u8_p4_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44u8_p4_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u8_p4_0 = {
- _vq_quantthresh__44u8_p4_0,
- _vq_quantmap__44u8_p4_0,
- 17,
- 17
-};
-
-static static_codebook _44u8_p4_0 = {
- 2, 289,
- _vq_lengthlist__44u8_p4_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44u8_p4_0,
- NULL,
- &_vq_auxt__44u8_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u8_p5_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u8_p5_0[] = {
- 1, 5, 5, 5, 7, 7, 5, 7, 7, 5, 8, 7, 7, 8, 9, 7,
- 9, 9, 5, 7, 8, 7, 9, 9, 7, 9, 8, 5, 7, 7, 8, 9,
- 9, 7, 9, 9, 7, 9, 9, 8, 9,11, 9,11,11, 7, 9, 9,
- 9,11,10, 9,11,11, 5, 7, 8, 7, 9, 9, 8, 9, 9, 7,
- 9, 9, 9,11,11, 9,10,11, 7, 9, 9, 9,11,11, 8,11,
- 9,
-};
-
-static float _vq_quantthresh__44u8_p5_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44u8_p5_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u8_p5_0 = {
- _vq_quantthresh__44u8_p5_0,
- _vq_quantmap__44u8_p5_0,
- 3,
- 3
-};
-
-static static_codebook _44u8_p5_0 = {
- 4, 81,
- _vq_lengthlist__44u8_p5_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44u8_p5_0,
- NULL,
- &_vq_auxt__44u8_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u8_p5_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44u8_p5_1[] = {
- 4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 8, 5, 6, 6, 6, 6,
- 7, 7, 7, 7, 8, 8, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8,
- 8, 6, 6, 6, 7, 7, 7, 7, 8, 7, 8, 8, 6, 6, 6, 7,
- 7, 7, 7, 7, 8, 8, 8, 7, 7, 7, 7, 7, 8, 8, 8, 8,
- 8, 8, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 7, 7, 7,
- 7, 7, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44u8_p5_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44u8_p5_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u8_p5_1 = {
- _vq_quantthresh__44u8_p5_1,
- _vq_quantmap__44u8_p5_1,
- 11,
- 11
-};
-
-static static_codebook _44u8_p5_1 = {
- 2, 121,
- _vq_lengthlist__44u8_p5_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44u8_p5_1,
- NULL,
- &_vq_auxt__44u8_p5_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u8_p6_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u8_p6_0[] = {
- 1, 4, 4, 7, 7, 8, 8, 8, 8, 9,10,10,10, 5, 6, 6,
- 7, 7, 8, 8, 9, 9,10,10,11,11, 5, 6, 6, 7, 7, 8,
- 9, 9, 9,10,10,11,11, 7, 7, 7, 8, 8, 9, 9,10,10,
- 11,11,11,11, 7, 7, 7, 8, 8, 9, 9,10,10,10,11,11,
- 11, 8, 9, 9, 9, 9,10,10,10,10,11,11,12,12, 8, 9,
- 9, 9, 9,10,10,10,11,11,11,12,12, 8, 9, 9,10,10,
- 11,10,11,11,12,12,12,12, 9, 9, 9,10,10,11,11,11,
- 11,12,12,12,12,10,10,10,11,11,11,11,12,12,12,12,
- 13,13,10,10,10,11,11,11,11,12,12,12,12,13,13,11,
- 11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,12,
- 12,12,12,12,12,13,13,13,13,
-};
-
-static float _vq_quantthresh__44u8_p6_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44u8_p6_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u8_p6_0 = {
- _vq_quantthresh__44u8_p6_0,
- _vq_quantmap__44u8_p6_0,
- 13,
- 13
-};
-
-static static_codebook _44u8_p6_0 = {
- 2, 169,
- _vq_lengthlist__44u8_p6_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44u8_p6_0,
- NULL,
- &_vq_auxt__44u8_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u8_p6_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u8_p6_1[] = {
- 3, 4, 4, 5, 5, 4, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5,
-};
-
-static float _vq_quantthresh__44u8_p6_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u8_p6_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u8_p6_1 = {
- _vq_quantthresh__44u8_p6_1,
- _vq_quantmap__44u8_p6_1,
- 5,
- 5
-};
-
-static static_codebook _44u8_p6_1 = {
- 2, 25,
- _vq_lengthlist__44u8_p6_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u8_p6_1,
- NULL,
- &_vq_auxt__44u8_p6_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u8_p7_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u8_p7_0[] = {
- 1, 4, 4, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 4, 6, 6,
- 8, 8, 9, 8, 9, 9,10,10,11,11, 4, 6, 6, 8, 8, 8,
- 9, 9, 9,10,10,11,11, 7, 8, 8, 9, 9,10,10,10,10,
- 11,11,12,12, 7, 8, 8, 9, 9,10,10,10,10,11,11,12,
- 12, 8, 9, 9,10,10,10,10,11,11,12,12,13,13, 8, 9,
- 9,10,10,10,11,11,11,12,13,13,13, 9, 9, 9,10,10,
- 11,11,12,12,13,13,14,14, 9, 9, 9,10,10,11,11,12,
- 12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,14,
- 14,14,10,10,11,11,12,12,12,13,13,13,14,14,15,11,
- 11,11,12,12,13,13,14,14,14,14,16,15,11,11,11,12,
- 12,13,13,14,14,14,14,16,15,
-};
-
-static float _vq_quantthresh__44u8_p7_0[] = {
- -60.5, -49.5, -38.5, -27.5, -16.5, -5.5, 5.5, 16.5,
- 27.5, 38.5, 49.5, 60.5,
-};
-
-static long _vq_quantmap__44u8_p7_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u8_p7_0 = {
- _vq_quantthresh__44u8_p7_0,
- _vq_quantmap__44u8_p7_0,
- 13,
- 13
-};
-
-static static_codebook _44u8_p7_0 = {
- 2, 169,
- _vq_lengthlist__44u8_p7_0,
- 1, -523206656, 1618345984, 4, 0,
- _vq_quantlist__44u8_p7_0,
- NULL,
- &_vq_auxt__44u8_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u8_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44u8_p7_1[] = {
- 4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 5, 6, 6, 7, 7,
- 7, 7, 7, 7, 7, 7, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7,
- 7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 6, 7, 7, 7,
- 7, 7, 7, 7, 7, 8, 8, 7, 7, 7, 7, 7, 7, 7, 8, 8,
- 8, 8, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 7, 7, 7,
- 7, 7, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 8, 8, 8,
- 8, 8, 8, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7,
- 7, 8, 8, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44u8_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44u8_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u8_p7_1 = {
- _vq_quantthresh__44u8_p7_1,
- _vq_quantmap__44u8_p7_1,
- 11,
- 11
-};
-
-static static_codebook _44u8_p7_1 = {
- 2, 121,
- _vq_lengthlist__44u8_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44u8_p7_1,
- NULL,
- &_vq_auxt__44u8_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u8_p8_0[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__44u8_p8_0[] = {
- 1, 4, 4, 7, 7, 8, 8, 8, 7, 9, 8,10,10,11,11, 4,
- 6, 6, 8, 8,10,10, 9, 9,10,10,11,10,12,12, 4, 6,
- 6, 8, 8, 9,10, 9, 9,10,10,11,11,11,12, 7, 8, 8,
- 10,10,11,11,11,10,11,11,13,12,13,12, 7, 8, 8,10,
- 10,11,11,10,11,11,11,12,12,13,13, 8,10, 9,11,11,
- 12,12,11,11,12,12,13,13,14,14, 8, 9, 9,11,11,12,
- 12,11,11,12,12,14,13,13,13, 8, 9, 9,11,10,12,11,
- 12,12,13,13,14,13,14,13, 8, 9, 9,11,11,11,12,12,
- 12,13,13,13,14,14,14, 9,10,10,12,11,12,12,13,13,
- 14,14,15,13,14,14, 9,10,10,11,12,12,12,13,13,14,
- 14,15,14,14,14,10,11,11,12,12,13,13,14,13,14,14,
- 15,14,15,15,10,11,11,12,12,13,13,13,14,14,14,14,
- 15,16,15,11,12,12,13,12,14,14,14,13,15,14,16,15,
- 16,15,11,12,12,13,13,13,14,14,15,15,15,15,16,15,
- 15,
-};
-
-static float _vq_quantthresh__44u8_p8_0[] = {
- -136.5, -115.5, -94.5, -73.5, -52.5, -31.5, -10.5, 10.5,
- 31.5, 52.5, 73.5, 94.5, 115.5, 136.5,
-};
-
-static long _vq_quantmap__44u8_p8_0[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u8_p8_0 = {
- _vq_quantthresh__44u8_p8_0,
- _vq_quantmap__44u8_p8_0,
- 15,
- 15
-};
-
-static static_codebook _44u8_p8_0 = {
- 2, 225,
- _vq_lengthlist__44u8_p8_0,
- 1, -520986624, 1620377600, 4, 0,
- _vq_quantlist__44u8_p8_0,
- NULL,
- &_vq_auxt__44u8_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u8_p8_1[] = {
- 10,
- 9,
- 11,
- 8,
- 12,
- 7,
- 13,
- 6,
- 14,
- 5,
- 15,
- 4,
- 16,
- 3,
- 17,
- 2,
- 18,
- 1,
- 19,
- 0,
- 20,
-};
-
-static long _vq_lengthlist__44u8_p8_1[] = {
- 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 6, 7, 6, 7, 7, 8,
- 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 7,
- 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 7, 7, 7, 8, 8, 8, 8, 9, 8, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,10, 9, 9,10, 9,10, 8, 8,
- 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9,10, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 10, 9,10,10, 9,10, 9,10, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9,10,10, 9,10,10, 9,10, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9,10,10,10,
- 10,10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,
- 10,10,10,10,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9,10, 9,10,10,10,10,10,10,10,10, 9, 9, 9, 9,
- 9, 9, 9, 9, 9,10, 9, 9,10,10,10,10,10,10,10,10,
- 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,
- 10,10,10,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9,10,10,
- 10,10,10,10,10,10,10,10,10,10,10, 9, 9, 9, 9,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,
- 10,10,10,10,10,10,10,10,10,10, 9, 9, 9, 9, 9, 9,
- 10,10, 9,10,10,10,10,10,10,10,10,10,10,10,10, 9,
- 9, 9, 9, 9, 9,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10, 9, 9, 9, 9, 9,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,
-};
-
-static float _vq_quantthresh__44u8_p8_1[] = {
- -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5,
- -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5,
- 6.5, 7.5, 8.5, 9.5,
-};
-
-static long _vq_quantmap__44u8_p8_1[] = {
- 19, 17, 15, 13, 11, 9, 7, 5,
- 3, 1, 0, 2, 4, 6, 8, 10,
- 12, 14, 16, 18, 20,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u8_p8_1 = {
- _vq_quantthresh__44u8_p8_1,
- _vq_quantmap__44u8_p8_1,
- 21,
- 21
-};
-
-static static_codebook _44u8_p8_1 = {
- 2, 441,
- _vq_lengthlist__44u8_p8_1,
- 1, -529268736, 1611661312, 5, 0,
- _vq_quantlist__44u8_p8_1,
- NULL,
- &_vq_auxt__44u8_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u8_p9_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44u8_p9_0[] = {
- 1, 4, 4, 9, 9, 9, 9, 9, 9, 5, 9, 9, 8, 8, 8, 8,
- 8, 8, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8,
-};
-
-static float _vq_quantthresh__44u8_p9_0[] = {
- -3258.5, -2327.5, -1396.5, -465.5, 465.5, 1396.5, 2327.5, 3258.5,
-};
-
-static long _vq_quantmap__44u8_p9_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u8_p9_0 = {
- _vq_quantthresh__44u8_p9_0,
- _vq_quantmap__44u8_p9_0,
- 9,
- 9
-};
-
-static static_codebook _44u8_p9_0 = {
- 2, 81,
- _vq_lengthlist__44u8_p9_0,
- 1, -511895552, 1631393792, 4, 0,
- _vq_quantlist__44u8_p9_0,
- NULL,
- &_vq_auxt__44u8_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u8_p9_1[] = {
- 9,
- 8,
- 10,
- 7,
- 11,
- 6,
- 12,
- 5,
- 13,
- 4,
- 14,
- 3,
- 15,
- 2,
- 16,
- 1,
- 17,
- 0,
- 18,
-};
-
-static long _vq_lengthlist__44u8_p9_1[] = {
- 1, 4, 4, 7, 7, 8, 8, 7, 8, 9, 9,10,10,11,11,12,
- 12,12,12, 4, 7, 6, 9, 9, 9, 9, 9, 8, 9, 9,11,10,
- 12,11,13,12,13,14, 4, 6, 6, 9, 9, 9, 9, 8, 9, 9,
- 10,10,11,12,12,12,12,13,12, 7, 9, 8,11,10,10,10,
- 10,10,11,11,12,11,14,12,13,14,14,13, 7, 8, 9,10,
- 10,10,10,10,10,11,11,12,13,13,13,14,15,15,13, 8,
- 9, 9,11,11,11,11,11,12,13,12,14,14,14,14,14,14,
- 15,13, 8, 9, 9,10,11,11,11,12,12,13,12,13,14,13,
- 15,14,15,15,15, 8, 9, 9,10,10,12,11,13,12,13,13,
- 14,14,13,15,14,15,14,14, 8, 9, 9,10,11,12,12,13,
- 13,14,14,14,14,15,15,15,12,14,14, 9,11,10,11,11,
- 14,12,13,14,15,14,14,14,14,15,15,15,15,15, 9,10,
- 11,11,12,12,13,13,14,14,14,14,15,15,14,15,15,15,
- 15,10,11,11,12,12,14,14,13,14,14,15,15,15,15,15,
- 15,15,15,15,10,11,11,12,13,13,13,14,14,15,15,14,
- 14,15,15,15,15,14,15,11,12,13,15,13,14,15,15,15,
- 15,14,15,15,15,15,15,15,15,15,11,12,12,14,14,14,
- 13,14,15,15,14,15,15,15,15,15,15,15,15,13,13,14,
- 13,13,14,14,15,14,15,15,15,15,15,15,15,15,15,15,
- 11,14,13,14,14,15,14,14,15,15,15,15,15,15,15,15,
- 15,15,15,12,12,13,14,13,13,14,15,14,15,15,15,15,
- 15,15,15,15,15,15,13,13,14,14,13,15,14,14,15,15,
- 14,15,15,15,15,15,15,15,15,
-};
-
-static float _vq_quantthresh__44u8_p9_1[] = {
- -416.5, -367.5, -318.5, -269.5, -220.5, -171.5, -122.5, -73.5,
- -24.5, 24.5, 73.5, 122.5, 171.5, 220.5, 269.5, 318.5,
- 367.5, 416.5,
-};
-
-static long _vq_quantmap__44u8_p9_1[] = {
- 17, 15, 13, 11, 9, 7, 5, 3,
- 1, 0, 2, 4, 6, 8, 10, 12,
- 14, 16, 18,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u8_p9_1 = {
- _vq_quantthresh__44u8_p9_1,
- _vq_quantmap__44u8_p9_1,
- 19,
- 19
-};
-
-static static_codebook _44u8_p9_1 = {
- 2, 361,
- _vq_lengthlist__44u8_p9_1,
- 1, -518287360, 1622704128, 5, 0,
- _vq_quantlist__44u8_p9_1,
- NULL,
- &_vq_auxt__44u8_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u8_p9_2[] = {
- 24,
- 23,
- 25,
- 22,
- 26,
- 21,
- 27,
- 20,
- 28,
- 19,
- 29,
- 18,
- 30,
- 17,
- 31,
- 16,
- 32,
- 15,
- 33,
- 14,
- 34,
- 13,
- 35,
- 12,
- 36,
- 11,
- 37,
- 10,
- 38,
- 9,
- 39,
- 8,
- 40,
- 7,
- 41,
- 6,
- 42,
- 5,
- 43,
- 4,
- 44,
- 3,
- 45,
- 2,
- 46,
- 1,
- 47,
- 0,
- 48,
-};
-
-static long _vq_lengthlist__44u8_p9_2[] = {
- 2, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7,
-};
-
-static float _vq_quantthresh__44u8_p9_2[] = {
- -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5,
- -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5,
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
- 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5,
- 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5,
-};
-
-static long _vq_quantmap__44u8_p9_2[] = {
- 47, 45, 43, 41, 39, 37, 35, 33,
- 31, 29, 27, 25, 23, 21, 19, 17,
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16, 18, 20, 22, 24, 26, 28, 30,
- 32, 34, 36, 38, 40, 42, 44, 46,
- 48,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u8_p9_2 = {
- _vq_quantthresh__44u8_p9_2,
- _vq_quantmap__44u8_p9_2,
- 49,
- 49
-};
-
-static static_codebook _44u8_p9_2 = {
- 1, 49,
- _vq_lengthlist__44u8_p9_2,
- 1, -526909440, 1611661312, 6, 0,
- _vq_quantlist__44u8_p9_2,
- NULL,
- &_vq_auxt__44u8_p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u9__long[] = {
- 3, 9,13,13,14,14,13,14,14,13, 5, 5, 9,10,12,13,
- 13,14,14,14, 9, 5, 6, 6, 8,11,12,14,14,14,11, 7,
- 5, 3, 5, 8,10,12,13,12,12,10, 7, 4, 3, 5, 8,10,
- 12,13,10,12, 9, 7, 4, 4, 6, 8,11,13,12,12,11, 9,
- 7, 5, 6, 7, 9,13,12,12,12,11, 8, 7, 6, 6, 8,12,
- 12,12,13,12,10, 9, 7, 7, 8,11,11,13,15,15,14,12,
- 10, 9, 9,10,
-};
-
-static static_codebook _huff_book__44u9__long = {
- 2, 100,
- _huff_lengthlist__44u9__long,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__44u9__short[] = {
- 10,17,18,18,18,18,18,18,18,18, 5, 8,12,13,14,13,
- 16,17,16,17, 5, 6, 8, 8,10, 9,12,16,16,17, 5, 6,
- 7, 5, 6, 9,12,15,16,16, 7, 6, 6, 4, 5, 7, 9,14,
- 15,17,10, 8, 8, 6, 6, 3, 5, 9,13,18,14,11,11,10,
- 6, 3, 4, 7,13,17,15,16,16,10, 5, 6, 4, 4, 9,13,
- 18,18,18,11, 6, 8, 5, 6,10,15,18,18,18,14,10,11,
- 9,10,16,18,
-};
-
-static static_codebook _huff_book__44u9__short = {
- 2, 100,
- _huff_lengthlist__44u9__short,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u9_p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u9_p1_0[] = {
- 1, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 8, 9, 9, 7,
- 9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 9, 5, 7, 7, 7, 9,
- 9, 7, 9, 9, 8, 9, 9, 9,10,11, 9,11,10, 7, 9, 9,
- 9,11,10, 9,10,11, 5, 7, 7, 7, 9, 9, 7, 9, 9, 7,
- 9, 9, 9,11,11, 9,10,11, 8, 9, 9, 9,10,10, 9,11,
- 10,
-};
-
-static float _vq_quantthresh__44u9_p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__44u9_p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u9_p1_0 = {
- _vq_quantthresh__44u9_p1_0,
- _vq_quantmap__44u9_p1_0,
- 3,
- 3
-};
-
-static static_codebook _44u9_p1_0 = {
- 4, 81,
- _vq_lengthlist__44u9_p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__44u9_p1_0,
- NULL,
- &_vq_auxt__44u9_p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u9_p2_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u9_p2_0[] = {
- 3, 6, 5, 8, 8, 6, 7, 7, 9, 9, 6, 7, 7, 9, 9, 8,
- 9, 9,11,10, 8, 9, 9,10,11, 6, 7, 7, 9, 9, 7, 8,
- 8,10,10, 7, 8, 8, 9,10, 9,10,10,11,11, 9, 9,10,
- 11,11, 6, 7, 7, 9, 9, 7, 8, 7,10, 9, 7, 8, 8,10,
- 10, 9,10, 9,11,11, 9,10,10,11,11, 8, 9, 9,11,11,
- 9,10,10,12,11, 9,10,10,11,11,11,12,12,13,13,11,
- 11,11,12,13, 8, 9, 9,11,11, 9,10,10,11,11, 9,10,
- 10,12,12,11,11,11,13,12,11,11,11,13,13, 6, 7, 7,
- 9, 9, 7, 8, 8,10, 9, 7, 8, 8, 9,10, 9,10,10,11,
- 11, 9,10,10,11,11, 7, 8, 8,10,10, 8, 9, 9,10,10,
- 8, 9, 9,10,10,10,10,10,12,12,10,10,10,11,12, 7,
- 8, 8,10,10, 8, 9, 8,10,10, 8, 9, 9,10,10, 9,10,
- 10,12,11,10,10,10,12,12, 9,10,10,12,11,10,10,10,
- 12,12,10,10,10,12,12,12,12,12,12,13,11,12,12,13,
- 13, 9,10,10,11,11, 9,10,10,12,11,10,10,10,12,12,
- 11,12,11,13,12,12,12,12,13,13, 6, 7, 7, 9, 9, 7,
- 8, 8,10, 9, 7, 8, 8, 9,10, 9,10,10,12,11, 9,10,
- 10,11,11, 7, 8, 8,10, 9, 8, 9, 9,11,10, 8, 8, 9,
- 10,10,10,10,10,12,12,10,10,10,11,12, 7, 8, 8,10,
- 10, 8, 9, 9,10,10, 8, 9, 9,10,10,10,10,10,12,12,
- 10,10,10,12,12, 9,10,10,11,11,10,11,10,12,12, 9,
- 10,10,11,12,11,12,12,13,13,11,11,12,11,13, 9,10,
- 10,11,12,10,10,10,12,12,10,10,10,12,12,11,12,12,
- 13,13,12,12,12,13,13, 8, 9, 9,11,11, 9,10,10,12,
- 11, 9,10,10,11,12,11,12,12,13,13,11,11,12,13,13,
- 9,10,10,12,12,10,10,10,12,12,10,11,10,12,12,12,
- 12,12,13,13,12,12,12,13,13, 9,10,10,12,11,10,10,
- 10,12,11,10,10,10,12,12,11,12,12,13,13,12,12,12,
- 13,14,11,12,12,13,13,11,12,12,13,13,11,12,12,13,
- 13,13,13,14,13,15,13,13,13,14,14,11,11,11,13,13,
- 11,12,11,13,13,11,12,12,13,13,12,13,12,14,12,13,
- 13,13,15,14, 8, 9, 9,11,11, 9,10,10,11,11, 9,10,
- 10,11,12,11,12,11,13,13,11,12,12,13,13, 9,10,10,
- 11,11,10,11,10,12,12, 9,10,10,12,12,12,12,12,13,
- 13,11,11,12,12,13, 9,10,10,12,12,10,10,11,12,12,
- 10,11,10,12,12,11,12,12,13,13,12,12,12,13,13,11,
- 11,11,13,13,11,12,12,13,13,11,11,12,13,13,13,13,
- 13,14,14,12,12,13,12,14,11,11,12,13,13,12,12,12,
- 14,13,11,12,12,13,13,13,13,13,14,14,13,13,13,14,
- 13,
-};
-
-static float _vq_quantthresh__44u9_p2_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u9_p2_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u9_p2_0 = {
- _vq_quantthresh__44u9_p2_0,
- _vq_quantmap__44u9_p2_0,
- 5,
- 5
-};
-
-static static_codebook _44u9_p2_0 = {
- 4, 625,
- _vq_lengthlist__44u9_p2_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u9_p2_0,
- NULL,
- &_vq_auxt__44u9_p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u9_p3_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__44u9_p3_0[] = {
- 3, 4, 4, 5, 5, 7, 7, 9, 8, 4, 5, 5, 6, 6, 7, 7,
- 9, 9, 4, 5, 5, 6, 6, 7, 7, 9, 9, 5, 6, 6, 7, 6,
- 8, 7, 9, 9, 5, 6, 6, 6, 7, 7, 8, 9, 9, 7, 7, 7,
- 8, 7, 9, 8,10,10, 7, 7, 7, 7, 8, 8, 9,10,10, 9,
- 9, 9, 9, 9,10,10,11,11, 9, 9, 9, 9, 9,10,10,11,
- 11,
-};
-
-static float _vq_quantthresh__44u9_p3_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__44u9_p3_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u9_p3_0 = {
- _vq_quantthresh__44u9_p3_0,
- _vq_quantmap__44u9_p3_0,
- 9,
- 9
-};
-
-static static_codebook _44u9_p3_0 = {
- 2, 81,
- _vq_lengthlist__44u9_p3_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__44u9_p3_0,
- NULL,
- &_vq_auxt__44u9_p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u9_p4_0[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__44u9_p4_0[] = {
- 4, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11,
- 11, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,10, 9,11,10,
- 12,11, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9,10,10,
- 11,11,11, 6, 6, 6, 7, 6, 7, 7, 8, 8, 9, 9,10,10,
- 11,11,12,12, 6, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9,10,
- 10,11,11,12,12, 7, 7, 7, 7, 7, 8, 8, 9, 8, 9, 9,
- 10,10,11,11,12,12, 7, 7, 7, 7, 7, 8, 8, 8, 9, 9,
- 9,10,10,11,11,12,12, 8, 8, 8, 8, 8, 9, 8, 9, 9,
- 10,10,11,10,12,11,12,12, 8, 8, 8, 8, 8, 8, 9, 9,
- 9,10,10,10,11,11,12,12,13, 8, 8, 8, 9, 9, 9, 9,
- 10,10,11,10,11,11,12,12,13,12, 8, 8, 9, 9, 9, 9,
- 9,10,10,10,11,11,11,12,12,12,13, 9,10, 9,10,10,
- 10,10,11,10,11,11,12,11,13,12,13,13, 9, 9,10,10,
- 10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,
- 11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,
- 11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,
- 12,11,12,12,12,12,12,12,13,13,13,13,14,13,14,14,
- 11,11,12,12,12,12,12,12,12,12,13,13,13,13,14,14,
- 14,
-};
-
-static float _vq_quantthresh__44u9_p4_0[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__44u9_p4_0[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u9_p4_0 = {
- _vq_quantthresh__44u9_p4_0,
- _vq_quantmap__44u9_p4_0,
- 17,
- 17
-};
-
-static static_codebook _44u9_p4_0 = {
- 2, 289,
- _vq_lengthlist__44u9_p4_0,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__44u9_p4_0,
- NULL,
- &_vq_auxt__44u9_p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u9_p5_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__44u9_p5_0[] = {
- 1, 5, 5, 5, 7, 7, 5, 7, 7, 5, 8, 7, 7, 8, 9, 7,
- 8, 9, 5, 7, 8, 7, 9, 8, 7, 9, 8, 5, 8, 8, 8, 9,
- 9, 7, 9, 9, 7, 9, 9, 8, 9,11, 9,11,10, 7, 9, 9,
- 9,11, 9, 9,10,11, 5, 7, 8, 7, 9, 9, 8, 9, 9, 7,
- 9, 9, 9,11,10, 9, 9,11, 7, 9, 9, 9,10,11, 8,11,
- 9,
-};
-
-static float _vq_quantthresh__44u9_p5_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__44u9_p5_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u9_p5_0 = {
- _vq_quantthresh__44u9_p5_0,
- _vq_quantmap__44u9_p5_0,
- 3,
- 3
-};
-
-static static_codebook _44u9_p5_0 = {
- 4, 81,
- _vq_lengthlist__44u9_p5_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__44u9_p5_0,
- NULL,
- &_vq_auxt__44u9_p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u9_p5_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44u9_p5_1[] = {
- 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6,
- 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7,
- 7, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8,
- 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 7, 7, 7,
- 7, 7, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 8, 8,
- 8, 8, 8, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 7, 7,
- 7, 7, 7, 8, 8, 8, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44u9_p5_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44u9_p5_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u9_p5_1 = {
- _vq_quantthresh__44u9_p5_1,
- _vq_quantmap__44u9_p5_1,
- 11,
- 11
-};
-
-static static_codebook _44u9_p5_1 = {
- 2, 121,
- _vq_lengthlist__44u9_p5_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44u9_p5_1,
- NULL,
- &_vq_auxt__44u9_p5_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u9_p6_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u9_p6_0[] = {
- 2, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 4, 5, 5,
- 7, 7, 8, 8, 8, 8,10,10,11,11, 4, 5, 5, 7, 7, 8,
- 8, 8, 8,10,10,11,11, 6, 7, 7, 8, 7, 8, 8, 9, 9,
- 10,10,11,11, 6, 7, 7, 8, 7, 8, 8, 9, 9,10,10,11,
- 11, 7, 8, 8, 8, 8, 9, 9, 9,10,11,11,12,12, 7, 8,
- 8, 8, 8, 9, 9,10, 9,11,11,12,12, 8, 9, 8, 9, 9,
- 10,10,10,10,11,11,12,12, 8, 8, 8, 9, 9,10, 9,10,
- 10,11,11,12,12, 9,10,10,10,10,11,11,11,11,12,12,
- 13,13, 9,10,10,10,10,11,11,11,11,12,12,13,12,10,
- 11,11,11,11,12,12,12,12,12,12,13,13,10,11,11,11,
- 11,12,12,12,12,13,12,13,13,
-};
-
-static float _vq_quantthresh__44u9_p6_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__44u9_p6_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u9_p6_0 = {
- _vq_quantthresh__44u9_p6_0,
- _vq_quantmap__44u9_p6_0,
- 13,
- 13
-};
-
-static static_codebook _44u9_p6_0 = {
- 2, 169,
- _vq_lengthlist__44u9_p6_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__44u9_p6_0,
- NULL,
- &_vq_auxt__44u9_p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u9_p6_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__44u9_p6_1[] = {
- 4, 4, 4, 5, 5, 4, 5, 4, 5, 5, 4, 4, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5,
-};
-
-static float _vq_quantthresh__44u9_p6_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__44u9_p6_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u9_p6_1 = {
- _vq_quantthresh__44u9_p6_1,
- _vq_quantmap__44u9_p6_1,
- 5,
- 5
-};
-
-static static_codebook _44u9_p6_1 = {
- 2, 25,
- _vq_lengthlist__44u9_p6_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__44u9_p6_1,
- NULL,
- &_vq_auxt__44u9_p6_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u9_p7_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__44u9_p7_0[] = {
- 1, 5, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 5, 6, 6,
- 7, 7, 8, 8, 9, 9,10,10,11,11, 5, 6, 6, 7, 7, 8,
- 8, 9, 9,10,10,11,11, 6, 7, 7, 8, 8, 9, 9,10,10,
- 11,11,12,12, 7, 7, 7, 8, 8, 9, 9,10,10,11,11,12,
- 12, 8, 8, 8, 9, 9,10,10,11,10,12,12,13,12, 8, 8,
- 8, 9, 9,10,10,11,11,12,12,12,13, 9, 9, 9,10,10,
- 11,11,12,11,13,13,13,14, 9, 9, 9,10,10,11,11,11,
- 12,13,12,13,13,10,10,10,11,11,12,12,13,12,13,13,
- 14,14,10,10,10,11,11,11,12,12,12,13,13,14,14,11,
- 11,11,12,12,13,13,13,13,14,14,15,14,11,11,11,12,
- 12,13,13,13,14,14,15,15,15,
-};
-
-static float _vq_quantthresh__44u9_p7_0[] = {
- -60.5, -49.5, -38.5, -27.5, -16.5, -5.5, 5.5, 16.5,
- 27.5, 38.5, 49.5, 60.5,
-};
-
-static long _vq_quantmap__44u9_p7_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u9_p7_0 = {
- _vq_quantthresh__44u9_p7_0,
- _vq_quantmap__44u9_p7_0,
- 13,
- 13
-};
-
-static static_codebook _44u9_p7_0 = {
- 2, 169,
- _vq_lengthlist__44u9_p7_0,
- 1, -523206656, 1618345984, 4, 0,
- _vq_quantlist__44u9_p7_0,
- NULL,
- &_vq_auxt__44u9_p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u9_p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__44u9_p7_1[] = {
- 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 7, 7,
- 7, 7, 7, 7, 7, 7, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 8, 8, 7, 7, 7, 7, 7, 7, 7, 8, 7, 8, 8, 7, 7,
- 7, 7, 7, 7, 7, 7, 8, 8, 8,
-};
-
-static float _vq_quantthresh__44u9_p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__44u9_p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u9_p7_1 = {
- _vq_quantthresh__44u9_p7_1,
- _vq_quantmap__44u9_p7_1,
- 11,
- 11
-};
-
-static static_codebook _44u9_p7_1 = {
- 2, 121,
- _vq_lengthlist__44u9_p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__44u9_p7_1,
- NULL,
- &_vq_auxt__44u9_p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u9_p8_0[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__44u9_p8_0[] = {
- 1, 4, 4, 7, 7, 8, 8, 8, 7, 9, 9,10,10,11,11, 4,
- 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,10,12,11, 4, 6,
- 6, 8, 8, 9,10, 9, 9,10,10,11,11,12,12, 7, 8, 8,
- 10,10,11,11,11,10,11,11,12,12,13,12, 7, 8, 8,10,
- 10,11,11,10,10,11,12,12,12,13,13, 8,10, 9,11,11,
- 12,12,11,12,12,12,13,13,14,14, 8, 9, 9,11,11,12,
- 12,11,12,12,13,13,13,14,14, 8, 9, 9,10,10,11,11,
- 13,12,13,13,14,14,15,14, 8, 9, 9,10,10,11,12,12,
- 13,13,13,14,14,14,15, 9,10,10,11,11,13,12,13,13,
- 14,14,15,15,15,15, 9,10,10,11,12,12,12,13,13,14,
- 15,14,15,15,15,10,11,11,12,12,13,13,14,14,15,15,
- 15,16,16,15,10,11,11,12,12,13,14,14,14,15,14,15,
- 16,16,17,11,12,12,13,13,14,14,15,14,16,15,15,16,
- 16,16,11,12,12,13,13,14,14,14,15,15,15,16,16,17,
- 16,
-};
-
-static float _vq_quantthresh__44u9_p8_0[] = {
- -136.5, -115.5, -94.5, -73.5, -52.5, -31.5, -10.5, 10.5,
- 31.5, 52.5, 73.5, 94.5, 115.5, 136.5,
-};
-
-static long _vq_quantmap__44u9_p8_0[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u9_p8_0 = {
- _vq_quantthresh__44u9_p8_0,
- _vq_quantmap__44u9_p8_0,
- 15,
- 15
-};
-
-static static_codebook _44u9_p8_0 = {
- 2, 225,
- _vq_lengthlist__44u9_p8_0,
- 1, -520986624, 1620377600, 4, 0,
- _vq_quantlist__44u9_p8_0,
- NULL,
- &_vq_auxt__44u9_p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u9_p8_1[] = {
- 10,
- 9,
- 11,
- 8,
- 12,
- 7,
- 13,
- 6,
- 14,
- 5,
- 15,
- 4,
- 16,
- 3,
- 17,
- 2,
- 18,
- 1,
- 19,
- 0,
- 20,
-};
-
-static long _vq_lengthlist__44u9_p8_1[] = {
- 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 6, 7, 7, 7, 7, 8,
- 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 7,
- 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9, 9, 8, 8,
- 8, 8, 8, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9,
- 9, 9, 9, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9,10,10,10,10, 8, 8, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9,10, 9, 9,10,10, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9, 9,10,
- 10,10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,
- 10,10,10, 9,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9,10, 9,10,10,10,10,10,10,10,10,10, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,10,10,10,
- 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9,10,10,10,10,
- 10,10,10,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 10,10,10,10,10,10,10,10,10,10,10, 9, 9, 9, 9, 9,
- 9,10, 9,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 9, 9, 9, 9, 9, 9, 9, 9,10,10, 9,10,10,10,10,10,
- 10,10,10,10,10, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10, 9, 9, 9, 9, 9, 9,
- 9,10,10,10,10,10,10,10,10,10,10,10,10,10,10, 9,
- 9, 9, 9, 9,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10, 9, 9, 9, 9, 9, 9,10,10, 9,10,10,10,
- 10,10,10,10,10,10,10,10,10,
-};
-
-static float _vq_quantthresh__44u9_p8_1[] = {
- -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5,
- -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5,
- 6.5, 7.5, 8.5, 9.5,
-};
-
-static long _vq_quantmap__44u9_p8_1[] = {
- 19, 17, 15, 13, 11, 9, 7, 5,
- 3, 1, 0, 2, 4, 6, 8, 10,
- 12, 14, 16, 18, 20,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u9_p8_1 = {
- _vq_quantthresh__44u9_p8_1,
- _vq_quantmap__44u9_p8_1,
- 21,
- 21
-};
-
-static static_codebook _44u9_p8_1 = {
- 2, 441,
- _vq_lengthlist__44u9_p8_1,
- 1, -529268736, 1611661312, 5, 0,
- _vq_quantlist__44u9_p8_1,
- NULL,
- &_vq_auxt__44u9_p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u9_p9_0[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__44u9_p9_0[] = {
- 1, 5, 5,10,10,10,10,10,10,10,10,10,10,10,10, 5,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10, 5,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9,
-};
-
-static float _vq_quantthresh__44u9_p9_0[] = {
- -6051.5, -5120.5, -4189.5, -3258.5, -2327.5, -1396.5, -465.5, 465.5,
- 1396.5, 2327.5, 3258.5, 4189.5, 5120.5, 6051.5,
-};
-
-static long _vq_quantmap__44u9_p9_0[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u9_p9_0 = {
- _vq_quantthresh__44u9_p9_0,
- _vq_quantmap__44u9_p9_0,
- 15,
- 15
-};
-
-static static_codebook _44u9_p9_0 = {
- 2, 225,
- _vq_lengthlist__44u9_p9_0,
- 1, -510036736, 1631393792, 4, 0,
- _vq_quantlist__44u9_p9_0,
- NULL,
- &_vq_auxt__44u9_p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u9_p9_1[] = {
- 9,
- 8,
- 10,
- 7,
- 11,
- 6,
- 12,
- 5,
- 13,
- 4,
- 14,
- 3,
- 15,
- 2,
- 16,
- 1,
- 17,
- 0,
- 18,
-};
-
-static long _vq_lengthlist__44u9_p9_1[] = {
- 1, 4, 4, 7, 7, 8, 8, 7, 7, 9, 9,10,10,12,11,12,
- 11,12,12, 4, 7, 6, 9, 9, 9, 9, 9, 9,10, 9,11, 9,
- 11,11,13,12,14,12, 4, 6, 6, 9, 9, 9, 9, 8, 9,10,
- 10,11,11,12,12,12,13,13,13, 7, 9, 8,11,11,11,11,
- 10,10,11,11,12,12,14,13,14,14,15,13, 7, 9, 9,10,
- 10,10,10,10,10,11,11,12,13,13,13,14,14,15,13, 8,
- 9, 9,12,10,11,11,12,11,12,12,13,13,14,14,15,16,
- 15,14, 8, 9, 9,10,11,12,11,11,12,13,12,14,14,13,
- 15,16,15,14,16, 7, 9, 9,10,10,12,11,12,13,16,13,
- 14,16,14,15,15,15,15,15, 7, 9, 9,10,11,11,12,12,
- 13,14,16,14,14,16,16,14,14,14,15, 9,10,11,12,12,
- 12,13,13,13,16,15,16,15,14,15,15,15,16,16, 9,10,
- 11,12,13,13,14,13,14,15,14,14,16,16,16,16,16,16,
- 16,10,11,11,13,13,15,13,15,13,14,16,16,16,16,16,
- 16,15,14,16,11,11,12,12,13,13,15,13,15,14,15,16,
- 16,16,16,16,16,16,16,12,13,13,13,13,15,14,15,16,
- 16,16,16,14,16,16,16,16,16,16,13,12,12,14,14,13,
- 15,14,16,15,16,16,16,16,16,16,16,16,15,12,12,13,
- 13,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,
- 12,13,13,14,15,14,14,16,16,15,16,16,16,16,16,16,
- 15,16,16,13,14,14,13,14,14,15,16,15,16,16,16,16,
- 16,16,16,16,15,16,12,13,13,14,14,14,14,16,16,16,
- 16,16,16,15,16,16,16,16,16,
-};
-
-static float _vq_quantthresh__44u9_p9_1[] = {
- -416.5, -367.5, -318.5, -269.5, -220.5, -171.5, -122.5, -73.5,
- -24.5, 24.5, 73.5, 122.5, 171.5, 220.5, 269.5, 318.5,
- 367.5, 416.5,
-};
-
-static long _vq_quantmap__44u9_p9_1[] = {
- 17, 15, 13, 11, 9, 7, 5, 3,
- 1, 0, 2, 4, 6, 8, 10, 12,
- 14, 16, 18,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u9_p9_1 = {
- _vq_quantthresh__44u9_p9_1,
- _vq_quantmap__44u9_p9_1,
- 19,
- 19
-};
-
-static static_codebook _44u9_p9_1 = {
- 2, 361,
- _vq_lengthlist__44u9_p9_1,
- 1, -518287360, 1622704128, 5, 0,
- _vq_quantlist__44u9_p9_1,
- NULL,
- &_vq_auxt__44u9_p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__44u9_p9_2[] = {
- 24,
- 23,
- 25,
- 22,
- 26,
- 21,
- 27,
- 20,
- 28,
- 19,
- 29,
- 18,
- 30,
- 17,
- 31,
- 16,
- 32,
- 15,
- 33,
- 14,
- 34,
- 13,
- 35,
- 12,
- 36,
- 11,
- 37,
- 10,
- 38,
- 9,
- 39,
- 8,
- 40,
- 7,
- 41,
- 6,
- 42,
- 5,
- 43,
- 4,
- 44,
- 3,
- 45,
- 2,
- 46,
- 1,
- 47,
- 0,
- 48,
-};
-
-static long _vq_lengthlist__44u9_p9_2[] = {
- 2, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7,
-};
-
-static float _vq_quantthresh__44u9_p9_2[] = {
- -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5,
- -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5,
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
- 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5,
- 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5,
-};
-
-static long _vq_quantmap__44u9_p9_2[] = {
- 47, 45, 43, 41, 39, 37, 35, 33,
- 31, 29, 27, 25, 23, 21, 19, 17,
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16, 18, 20, 22, 24, 26, 28, 30,
- 32, 34, 36, 38, 40, 42, 44, 46,
- 48,
-};
-
-static encode_aux_threshmatch _vq_auxt__44u9_p9_2 = {
- _vq_quantthresh__44u9_p9_2,
- _vq_quantmap__44u9_p9_2,
- 49,
- 49
-};
-
-static static_codebook _44u9_p9_2 = {
- 1, 49,
- _vq_lengthlist__44u9_p9_2,
- 1, -526909440, 1611661312, 6, 0,
- _vq_quantlist__44u9_p9_2,
- NULL,
- &_vq_auxt__44u9_p9_2,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u0__p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__8u0__p1_0[] = {
- 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 8, 8, 8,10,10, 7,
- 10,10, 5, 8, 8, 7,10,10, 8,10,10, 4, 9, 8, 8,11,
- 11, 8,11,11, 7,11,11,10,11,13,10,13,13, 7,11,11,
- 10,13,12,10,13,13, 5, 9, 8, 8,11,11, 8,11,11, 7,
- 11,11, 9,13,13,10,12,13, 7,11,11,10,13,13,10,13,
- 11,
-};
-
-static float _vq_quantthresh__8u0__p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__8u0__p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u0__p1_0 = {
- _vq_quantthresh__8u0__p1_0,
- _vq_quantmap__8u0__p1_0,
- 3,
- 3
-};
-
-static static_codebook _8u0__p1_0 = {
- 4, 81,
- _vq_lengthlist__8u0__p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__8u0__p1_0,
- NULL,
- &_vq_auxt__8u0__p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u0__p2_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__8u0__p2_0[] = {
- 2, 4, 4, 5, 6, 6, 5, 6, 6, 5, 7, 7, 6, 7, 8, 6,
- 7, 8, 5, 7, 7, 6, 8, 8, 7, 9, 7, 5, 7, 7, 7, 9,
- 9, 7, 8, 8, 6, 9, 8, 7, 7,10, 8,10,10, 6, 8, 8,
- 8,10, 8, 8,10,10, 5, 7, 7, 7, 8, 8, 7, 8, 9, 6,
- 8, 8, 8,10,10, 8, 8,10, 6, 8, 9, 8,10,10, 7,10,
- 8,
-};
-
-static float _vq_quantthresh__8u0__p2_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__8u0__p2_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u0__p2_0 = {
- _vq_quantthresh__8u0__p2_0,
- _vq_quantmap__8u0__p2_0,
- 3,
- 3
-};
-
-static static_codebook _8u0__p2_0 = {
- 4, 81,
- _vq_lengthlist__8u0__p2_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__8u0__p2_0,
- NULL,
- &_vq_auxt__8u0__p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u0__p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__8u0__p3_0[] = {
- 1, 5, 5, 7, 7, 6, 7, 7, 9, 9, 6, 7, 7, 9, 9, 8,
- 10, 9,11,11, 8, 9, 9,11,11, 6, 8, 8,10,10, 8,10,
- 10,11,11, 8,10,10,11,11,10,11,11,12,12,10,11,11,
- 12,13, 6, 8, 8,10,10, 8,10,10,11,11, 8,10,10,11,
- 11, 9,10,11,12,12,10,11,11,12,12, 8,11,11,14,13,
- 10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,
- 14,12,16,15, 8,11,11,13,14,10,11,12,13,15,10,11,
- 12,13,15,11,12,13,14,15,12,12,14,14,16, 5, 8, 8,
- 11,11, 9,11,11,12,12, 8,10,11,12,12,11,12,12,15,
- 14,11,12,12,14,14, 7,11,10,13,12,10,11,12,13,14,
- 10,12,12,14,13,12,13,13,14,15,12,13,13,15,15, 7,
- 10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,
- 12,14,14,11,13,13,15,16, 9,12,12,15,14,11,13,13,
- 15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,
- 16, 9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,
- 13,14,14,17,16,13,15,15,17,18, 5, 8, 9,11,11, 8,
- 11,11,12,12, 8,10,11,12,12,11,12,12,14,14,11,12,
- 12,14,15, 7,11,10,12,13,10,12,12,14,13,10,11,12,
- 13,14,11,13,13,15,14,12,13,13,14,15, 7,10,11,13,
- 13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,
- 12,13,13,15,14, 9,12,12,16,15,10,13,13,15,15,11,
- 13,13,17,15,12,15,15,18,17,13,14,14,15,16, 9,12,
- 12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,
- 16,16,13,15,14,17,15, 7,11,11,15,15,10,13,13,16,
- 15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,
- 9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,
- 15,16,17,19,13,15,16, 0,18, 9,12,12,16,15,11,14,
- 13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,
- 17,19,11,14,14,19,16,12,14,15, 0,18,12,16,15,18,
- 17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,
- 13,15,14,19,19,12,16,15,18,17,15,17,15, 0,16,14,
- 17,16,19, 0, 7,11,11,14,14,10,12,12,15,15,10,13,
- 13,16,15,13,15,15,17, 0,14,15,15,16,19, 9,12,12,
- 16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,
- 0,14,18,17,17,19, 9,12,12,15,16,11,13,13,15,17,
- 12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,
- 14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,
- 17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,
- 19, 0,12,14,15,19,19,14,16,16, 0,18,15,19,14,18,
- 16,
-};
-
-static float _vq_quantthresh__8u0__p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__8u0__p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u0__p3_0 = {
- _vq_quantthresh__8u0__p3_0,
- _vq_quantmap__8u0__p3_0,
- 5,
- 5
-};
-
-static static_codebook _8u0__p3_0 = {
- 4, 625,
- _vq_lengthlist__8u0__p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__8u0__p3_0,
- NULL,
- &_vq_auxt__8u0__p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u0__p4_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__8u0__p4_0[] = {
- 3, 5, 5, 8, 8, 5, 6, 7, 9, 9, 6, 7, 6, 9, 9, 9,
- 9, 9,10,11, 9, 9, 9,11,10, 6, 7, 7,10,10, 7, 7,
- 8,10,10, 7, 8, 8,10,10,10,10,10,10,11, 9,10,10,
- 11,12, 6, 7, 7,10,10, 7, 8, 8,10,10, 7, 8, 7,10,
- 10, 9,10,10,12,11,10,10,10,11,10, 9,10,10,12,11,
- 10,10,10,13,11, 9,10,10,12,12,11,11,12,12,13,11,
- 11,11,12,13, 9,10,10,12,12,10,10,11,12,12,10,10,
- 11,12,12,11,11,11,13,13,11,12,12,13,13, 5, 7, 7,
- 10,10, 7, 8, 8,10,10, 7, 8, 8,10,10,10,11,11,12,
- 12,10,11,10,12,12, 7, 8, 8,11,11, 7, 8, 9,10,11,
- 8, 9, 9,11,11,11,10,11,10,12,10,11,11,12,13, 7,
- 8, 8,10,11, 8, 9, 8,12,10, 8, 9, 9,11,12,10,11,
- 10,13,11,10,11,11,13,12, 9,11,10,13,12,10,10,11,
- 12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,
- 13, 9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,
- 12,13,11,14,12,12,12,12,14,14, 5, 7, 7,10,10, 7,
- 8, 8,10,10, 7, 8, 8,11,10,10,11,11,12,12,10,11,
- 10,12,12, 7, 8, 8,10,11, 8, 9, 9,12,11, 8, 8, 9,
- 10,11,10,11,11,12,13,11,10,11,11,13, 6, 8, 8,10,
- 11, 8, 9, 9,11,11, 7, 9, 7,11,10,10,11,11,12,12,
- 10,11,10,13,10, 9,11,10,13,12,10,12,11,13,13,10,
- 10,11,12,13,11,12,13,15,14,11,11,13,12,13, 9,10,
- 11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,
- 13,14,12,12,11,14,11, 8,10,10,12,13,10,11,11,13,
- 13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,
- 9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,
- 12,13,15,14,12,13,13,15,13, 9,10,11,12,13,10,12,
- 10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,
- 15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,
- 13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,
- 11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,
- 15,14,16,15, 8,10,10,12,12,10,10,10,12,13,10,11,
- 11,13,13,12,12,12,13,14,13,13,13,15,15, 9,10,10,
- 12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,
- 14,12,12,13,15,14, 9,10,10,13,12,10,10,12,12,13,
- 10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,
- 12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,
- 14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,
- 14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,
- 12,
-};
-
-static float _vq_quantthresh__8u0__p4_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__8u0__p4_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u0__p4_0 = {
- _vq_quantthresh__8u0__p4_0,
- _vq_quantmap__8u0__p4_0,
- 5,
- 5
-};
-
-static static_codebook _8u0__p4_0 = {
- 4, 625,
- _vq_lengthlist__8u0__p4_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__8u0__p4_0,
- NULL,
- &_vq_auxt__8u0__p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u0__p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__8u0__p5_0[] = {
- 1, 4, 4, 7, 7, 7, 7, 9, 9, 4, 6, 6, 8, 7, 8, 8,
- 10,10, 4, 6, 6, 8, 8, 8, 8,10,10, 6, 8, 8, 9, 9,
- 9, 9,11,11, 7, 8, 8, 9, 9, 9, 9,11,11, 7, 8, 8,
- 9, 9,10,10,12,11, 7, 8, 8, 9, 9,10,10,11,11, 9,
- 10,10,11,11,11,12,12,12, 9,10,10,11,11,12,12,12,
- 12,
-};
-
-static float _vq_quantthresh__8u0__p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__8u0__p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u0__p5_0 = {
- _vq_quantthresh__8u0__p5_0,
- _vq_quantmap__8u0__p5_0,
- 9,
- 9
-};
-
-static static_codebook _8u0__p5_0 = {
- 2, 81,
- _vq_lengthlist__8u0__p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__8u0__p5_0,
- NULL,
- &_vq_auxt__8u0__p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u0__p6_0[] = {
- 6,
- 5,
- 7,
- 4,
- 8,
- 3,
- 9,
- 2,
- 10,
- 1,
- 11,
- 0,
- 12,
-};
-
-static long _vq_lengthlist__8u0__p6_0[] = {
- 1, 4, 4, 7, 7, 9, 9,11,11,12,12,16,16, 3, 6, 6,
- 9, 9,11,11,12,12,13,14,18,16, 3, 6, 7, 9, 9,11,
- 11,13,12,14,14,17,16, 7, 9, 9,11,11,12,12,14,14,
- 14,14,17,16, 7, 9, 9,11,11,13,12,13,13,14,14,17,
- 0, 9,11,11,12,13,14,14,14,13,15,14,17,17, 9,11,
- 11,12,12,14,14,13,14,14,15, 0, 0,11,12,12,15,14,
- 15,14,15,14,15,16,17, 0,11,12,13,13,13,14,14,15,
- 14,15,15, 0, 0,12,14,14,15,15,14,16,15,15,17,16,
- 0,18,13,14,14,15,14,15,14,15,16,17,16, 0, 0,17,
- 17,18, 0,16,18,16, 0, 0, 0,17, 0, 0,16, 0, 0,16,
- 16, 0,15, 0,17, 0, 0, 0, 0,
-};
-
-static float _vq_quantthresh__8u0__p6_0[] = {
- -27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5,
- 12.5, 17.5, 22.5, 27.5,
-};
-
-static long _vq_quantmap__8u0__p6_0[] = {
- 11, 9, 7, 5, 3, 1, 0, 2,
- 4, 6, 8, 10, 12,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u0__p6_0 = {
- _vq_quantthresh__8u0__p6_0,
- _vq_quantmap__8u0__p6_0,
- 13,
- 13
-};
-
-static static_codebook _8u0__p6_0 = {
- 2, 169,
- _vq_lengthlist__8u0__p6_0,
- 1, -526516224, 1616117760, 4, 0,
- _vq_quantlist__8u0__p6_0,
- NULL,
- &_vq_auxt__8u0__p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u0__p6_1[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__8u0__p6_1[] = {
- 1, 4, 4, 6, 6, 4, 6, 5, 7, 7, 4, 5, 6, 7, 7, 6,
- 7, 7, 7, 7, 6, 7, 7, 7, 7,
-};
-
-static float _vq_quantthresh__8u0__p6_1[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__8u0__p6_1[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u0__p6_1 = {
- _vq_quantthresh__8u0__p6_1,
- _vq_quantmap__8u0__p6_1,
- 5,
- 5
-};
-
-static static_codebook _8u0__p6_1 = {
- 2, 25,
- _vq_lengthlist__8u0__p6_1,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__8u0__p6_1,
- NULL,
- &_vq_auxt__8u0__p6_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u0__p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__8u0__p7_0[] = {
- 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7,
-};
-
-static float _vq_quantthresh__8u0__p7_0[] = {
- -157.5, 157.5,
-};
-
-static long _vq_quantmap__8u0__p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u0__p7_0 = {
- _vq_quantthresh__8u0__p7_0,
- _vq_quantmap__8u0__p7_0,
- 3,
- 3
-};
-
-static static_codebook _8u0__p7_0 = {
- 4, 81,
- _vq_lengthlist__8u0__p7_0,
- 1, -518803456, 1628680192, 2, 0,
- _vq_quantlist__8u0__p7_0,
- NULL,
- &_vq_auxt__8u0__p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u0__p7_1[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__8u0__p7_1[] = {
- 1, 5, 5, 5, 5,10,10,11,11,11,11,11,11,11,11, 5,
- 7, 6, 8, 8, 9,10,11,11,11,11,11,11,11,11, 6, 6,
- 7, 9, 7,11,10,11,11,11,11,11,11,11,11, 5, 6, 6,
- 11, 8,11,11,11,11,11,11,11,11,11,11, 5, 6, 6, 9,
- 10,11,10,11,11,11,11,11,11,11,11, 7,10,10,11,11,
- 11,11,11,11,11,11,11,11,11,11, 7,11, 8,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,
-};
-
-static float _vq_quantthresh__8u0__p7_1[] = {
- -136.5, -115.5, -94.5, -73.5, -52.5, -31.5, -10.5, 10.5,
- 31.5, 52.5, 73.5, 94.5, 115.5, 136.5,
-};
-
-static long _vq_quantmap__8u0__p7_1[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u0__p7_1 = {
- _vq_quantthresh__8u0__p7_1,
- _vq_quantmap__8u0__p7_1,
- 15,
- 15
-};
-
-static static_codebook _8u0__p7_1 = {
- 2, 225,
- _vq_lengthlist__8u0__p7_1,
- 1, -520986624, 1620377600, 4, 0,
- _vq_quantlist__8u0__p7_1,
- NULL,
- &_vq_auxt__8u0__p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u0__p7_2[] = {
- 10,
- 9,
- 11,
- 8,
- 12,
- 7,
- 13,
- 6,
- 14,
- 5,
- 15,
- 4,
- 16,
- 3,
- 17,
- 2,
- 18,
- 1,
- 19,
- 0,
- 20,
-};
-
-static long _vq_lengthlist__8u0__p7_2[] = {
- 1, 6, 5, 7, 7, 9, 9, 9, 9,10,12,12,10,11,11,10,
- 11,11,11,10,11, 6, 8, 8, 9, 9,10,10, 9,10,11,11,
- 10,11,11,11,11,10,11,11,11,11, 6, 7, 8, 9, 9, 9,
- 10,11,10,11,12,11,10,11,11,11,11,11,11,12,10, 8,
- 9, 9,10, 9,10,10, 9,10,10,10,10,10, 9,10,10,10,
- 10, 9,10,10, 9, 9, 9, 9,10,10, 9, 9,10,10,11,10,
- 9,12,10,11,10, 9,10,10,10, 8, 9, 9,10, 9,10, 9,
- 9,10,10, 9,10, 9,11,10,10,10,10,10, 9,10, 8, 8,
- 9, 9,10, 9,11, 9, 8, 9, 9,10,11,10,10,10,11,12,
- 9, 9,11, 8, 9, 8,11,10,11,10,10, 9,11,10,10,10,
- 10,10,10,10,11,11,11,11, 8, 9, 9, 9,10,10,10,11,
- 11,12,11,12,11,10,10,10,12,11,11,11,10, 8,10, 9,
- 11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,
- 11,10, 9, 9,10,11,12,10,10,10,11,10,11,11,10,12,
- 12,10,11,10,11,12,10, 9,10,10,11,10,11,11,11,11,
- 11,12,11,11,11, 9,11,10,11,10,11,10, 9, 9,10,11,
- 11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,
- 11, 9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,
- 11,11,11,10,11,11, 9,11,10,11,11,11,10,10,10,11,
- 11,11,12,10,11,10,11,11,11,11,12, 9,11,10,11,11,
- 10,10,11,11, 9,11,11,12,10,10,10,10,10,11,11,10,
- 9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,
- 10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,
- 10,10,11,11,11,11,10,10,10,12,11,11,11,11,10, 9,
- 10,11,11,11,12,11,11,11,12,10,11,11,11, 9,10,11,
- 11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,
- 10,11, 9,10,11,11,11,11,11,10,11,11,10,12,11,11,
- 11,12,11,11,11,10,10,11,11,
-};
-
-static float _vq_quantthresh__8u0__p7_2[] = {
- -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5,
- -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5,
- 6.5, 7.5, 8.5, 9.5,
-};
-
-static long _vq_quantmap__8u0__p7_2[] = {
- 19, 17, 15, 13, 11, 9, 7, 5,
- 3, 1, 0, 2, 4, 6, 8, 10,
- 12, 14, 16, 18, 20,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u0__p7_2 = {
- _vq_quantthresh__8u0__p7_2,
- _vq_quantmap__8u0__p7_2,
- 21,
- 21
-};
-
-static static_codebook _8u0__p7_2 = {
- 2, 441,
- _vq_lengthlist__8u0__p7_2,
- 1, -529268736, 1611661312, 5, 0,
- _vq_quantlist__8u0__p7_2,
- NULL,
- &_vq_auxt__8u0__p7_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__8u0__single[] = {
- 4, 7,11, 9,12, 8, 7,10, 6, 4, 5, 5, 7, 5, 6,16,
- 9, 5, 5, 6, 7, 7, 9,16, 7, 4, 6, 5, 7, 5, 7,17,
- 10, 7, 7, 8, 7, 7, 8,18, 7, 5, 6, 4, 5, 4, 5,15,
- 7, 6, 7, 5, 6, 4, 5,15,12,13,18,12,17,11, 9,17,
-};
-
-static static_codebook _huff_book__8u0__single = {
- 2, 64,
- _huff_lengthlist__8u0__single,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u1__p1_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__8u1__p1_0[] = {
- 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 8, 8, 7, 9,10, 7,
- 9, 9, 5, 8, 8, 7,10, 9, 7, 9, 9, 5, 8, 8, 8,10,
- 10, 8,10,10, 7,10,10, 9,10,12,10,12,12, 7,10,10,
- 9,12,11,10,12,12, 5, 8, 8, 8,10,10, 8,10,10, 7,
- 10,10,10,12,12, 9,11,12, 7,10,10,10,12,12, 9,12,
- 10,
-};
-
-static float _vq_quantthresh__8u1__p1_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__8u1__p1_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u1__p1_0 = {
- _vq_quantthresh__8u1__p1_0,
- _vq_quantmap__8u1__p1_0,
- 3,
- 3
-};
-
-static static_codebook _8u1__p1_0 = {
- 4, 81,
- _vq_lengthlist__8u1__p1_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__8u1__p1_0,
- NULL,
- &_vq_auxt__8u1__p1_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u1__p2_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__8u1__p2_0[] = {
- 3, 4, 5, 5, 6, 6, 5, 6, 6, 5, 7, 6, 6, 7, 8, 6,
- 7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 7, 5, 6, 6, 7, 8,
- 8, 6, 7, 7, 6, 8, 7, 7, 7, 9, 8, 9, 9, 6, 7, 8,
- 7, 9, 7, 8, 9, 9, 5, 6, 6, 6, 7, 7, 7, 8, 8, 6,
- 8, 7, 8, 9, 9, 7, 7, 9, 6, 7, 8, 8, 9, 9, 7, 9,
- 7,
-};
-
-static float _vq_quantthresh__8u1__p2_0[] = {
- -0.5, 0.5,
-};
-
-static long _vq_quantmap__8u1__p2_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u1__p2_0 = {
- _vq_quantthresh__8u1__p2_0,
- _vq_quantmap__8u1__p2_0,
- 3,
- 3
-};
-
-static static_codebook _8u1__p2_0 = {
- 4, 81,
- _vq_lengthlist__8u1__p2_0,
- 1, -535822336, 1611661312, 2, 0,
- _vq_quantlist__8u1__p2_0,
- NULL,
- &_vq_auxt__8u1__p2_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u1__p3_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__8u1__p3_0[] = {
- 1, 5, 5, 7, 7, 6, 7, 7, 9, 9, 6, 7, 7, 9, 9, 8,
- 10, 9,11,11, 9, 9, 9,11,11, 6, 8, 8,10,10, 8,10,
- 10,11,11, 8, 9,10,11,11,10,11,11,12,12,10,11,11,
- 12,13, 6, 8, 8,10,10, 8,10, 9,11,11, 8,10, 9,11,
- 11,10,11,11,12,12,10,11,11,12,12, 9,11,11,14,13,
- 10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,
- 13,13,15,14, 8,11,11,13,14,10,11,12,13,15,10,11,
- 12,14,14,12,13,13,14,15,12,13,13,14,15, 5, 8, 8,
- 11,11, 8,10,10,12,12, 8,10,10,12,12,11,12,12,14,
- 13,11,12,12,13,14, 8,10,10,12,12, 9,11,12,13,14,
- 10,12,12,13,13,12,12,13,14,14,11,13,13,15,15, 7,
- 10,10,12,12, 9,12,11,14,12,10,11,12,13,14,12,13,
- 12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,
- 15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,
- 15, 9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,
- 13,14,13,15,14,13,14,14,17, 0, 5, 8, 8,11,11, 8,
- 10,10,12,12, 8,10,10,12,12,11,12,12,14,14,11,12,
- 12,14,14, 7,10,10,12,12,10,12,12,13,13, 9,11,12,
- 12,13,11,12,13,15,15,11,12,13,14,15, 8,10,10,12,
- 12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,
- 12,13,12,15,13, 9,12,12,14,14,11,13,13,16,15,11,
- 12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,
- 12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,
- 16,17,13,15,14,16,15, 8,11,11,14,15,10,12,12,15,
- 15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,
- 9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,
- 15,16,19,17,13,15,15, 0,17, 9,12,12,15,15,11,14,
- 13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,
- 17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,
- 18,15,15,16,15,19,14,16,16, 0, 0,11,14,14,16,17,
- 12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,
- 16,16,18,18, 7,11,11,14,14,10,12,12,15,15,10,12,
- 13,15,15,13,14,15,16,16,14,15,15,18,18, 9,12,12,
- 15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,
- 16,15,16,16,17,17, 9,12,12,15,15,11,13,13,15,17,
- 11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,
- 14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,
- 16,19,18,16,15,17,17, 0,11,14,14,17,17,12,15,15,
- 18, 0,12,15,14,18,16,14,17,17,19, 0,16,18,15, 0,
- 16,
-};
-
-static float _vq_quantthresh__8u1__p3_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__8u1__p3_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u1__p3_0 = {
- _vq_quantthresh__8u1__p3_0,
- _vq_quantmap__8u1__p3_0,
- 5,
- 5
-};
-
-static static_codebook _8u1__p3_0 = {
- 4, 625,
- _vq_lengthlist__8u1__p3_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__8u1__p3_0,
- NULL,
- &_vq_auxt__8u1__p3_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u1__p4_0[] = {
- 2,
- 1,
- 3,
- 0,
- 4,
-};
-
-static long _vq_lengthlist__8u1__p4_0[] = {
- 4, 5, 5, 9, 9, 6, 7, 7, 9, 9, 6, 7, 7, 9, 9, 9,
- 9, 9,11,11, 9, 9, 9,11,11, 6, 7, 7, 9, 9, 7, 7,
- 8, 9,10, 7, 7, 8, 9,10, 9, 9,10,10,11, 9, 9,10,
- 10,12, 6, 7, 7, 9, 9, 7, 8, 7,10, 9, 7, 8, 7,10,
- 9, 9,10, 9,12,11,10,10, 9,12,10, 9,10,10,12,11,
- 9,10,10,12,11, 9,10,10,12,12,11,11,12,12,13,11,
- 11,12,12,13, 9, 9,10,12,11, 9,10,10,12,12,10,10,
- 10,12,12,11,12,11,13,12,11,12,11,13,12, 6, 7, 7,
- 9, 9, 7, 8, 8,10,10, 7, 8, 7,10, 9,10,10,10,12,
- 12,10,10,10,12,11, 7, 8, 7,10,10, 7, 7, 9,10,11,
- 8, 9, 9,11,10,10,10,11,10,12,10,10,11,12,12, 7,
- 8, 8,10,10, 7, 9, 8,11,10, 8, 8, 9,11,11,10,11,
- 10,12,11,10,11,11,12,12, 9,10,10,12,12, 9,10,10,
- 12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,
- 14, 9,10,10,12,12, 9,11,10,12,12,10,11,11,12,12,
- 11,12,11,14,12,12,12,12,14,14, 5, 7, 7, 9, 9, 7,
- 7, 7, 9,10, 7, 8, 8,10,10,10,10,10,11,11,10,10,
- 10,12,12, 7, 8, 8,10,10, 8, 9, 8,11,10, 7, 8, 9,
- 10,11,10,10,10,11,12,10,10,11,11,13, 6, 7, 8,10,
- 10, 8, 9, 9,10,10, 7, 9, 7,11,10,10,11,10,12,12,
- 10,11,10,12,10, 9,10,10,12,12,10,11,11,13,12, 9,
- 10,10,12,12,12,12,12,14,13,11,11,12,11,14, 9,10,
- 10,11,12,10,11,11,12,13, 9,10,10,12,12,12,12,12,
- 14,13,11,12,10,14,11, 9, 9,10,11,12, 9,10,10,12,
- 12, 9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,
- 9,10, 9,12,12, 9,10,11,12,13,10,11,10,13,11,12,
- 12,13,13,14,12,12,12,13,13, 9,10,10,12,12,10,11,
- 10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,
- 13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,
- 13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,
- 10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,
- 13,14,14,14, 9,10, 9,12,12, 9,10,10,12,12,10,10,
- 10,12,12,11,11,12,12,13,12,12,12,14,14, 9,10,10,
- 12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,
- 13,12,12,13,13,14, 9,10,10,12,13,10,10,11,11,12,
- 9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,
- 12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,
- 13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,
- 13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,
- 10,
-};
-
-static float _vq_quantthresh__8u1__p4_0[] = {
- -1.5, -0.5, 0.5, 1.5,
-};
-
-static long _vq_quantmap__8u1__p4_0[] = {
- 3, 1, 0, 2, 4,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u1__p4_0 = {
- _vq_quantthresh__8u1__p4_0,
- _vq_quantmap__8u1__p4_0,
- 5,
- 5
-};
-
-static static_codebook _8u1__p4_0 = {
- 4, 625,
- _vq_lengthlist__8u1__p4_0,
- 1, -533725184, 1611661312, 3, 0,
- _vq_quantlist__8u1__p4_0,
- NULL,
- &_vq_auxt__8u1__p4_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u1__p5_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__8u1__p5_0[] = {
- 1, 4, 4, 7, 7, 7, 7, 9, 9, 4, 6, 5, 8, 7, 8, 8,
- 10,10, 4, 6, 6, 8, 8, 8, 8,10,10, 7, 8, 8, 9, 9,
- 9, 9,11,11, 7, 8, 8, 9, 9, 9, 9,11,11, 8, 8, 8,
- 9, 9,10,10,12,11, 8, 8, 8, 9, 9,10,10,11,11, 9,
- 10,10,11,11,11,11,13,12, 9,10,10,11,11,12,12,12,
- 13,
-};
-
-static float _vq_quantthresh__8u1__p5_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__8u1__p5_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u1__p5_0 = {
- _vq_quantthresh__8u1__p5_0,
- _vq_quantmap__8u1__p5_0,
- 9,
- 9
-};
-
-static static_codebook _8u1__p5_0 = {
- 2, 81,
- _vq_lengthlist__8u1__p5_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__8u1__p5_0,
- NULL,
- &_vq_auxt__8u1__p5_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u1__p6_0[] = {
- 4,
- 3,
- 5,
- 2,
- 6,
- 1,
- 7,
- 0,
- 8,
-};
-
-static long _vq_lengthlist__8u1__p6_0[] = {
- 3, 4, 4, 6, 6, 7, 7, 9, 9, 4, 4, 5, 6, 6, 7, 7,
- 9, 9, 4, 4, 4, 6, 6, 7, 7, 9, 9, 6, 6, 6, 7, 7,
- 8, 8, 9, 9, 6, 6, 6, 7, 7, 8, 8, 9, 9, 7, 7, 7,
- 8, 8, 8, 9,10,10, 7, 7, 7, 8, 8, 9, 8,10,10, 9,
- 9, 9, 9, 9,10,10,10,10, 9, 9, 9, 9, 9,10,10,10,
- 10,
-};
-
-static float _vq_quantthresh__8u1__p6_0[] = {
- -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5,
-};
-
-static long _vq_quantmap__8u1__p6_0[] = {
- 7, 5, 3, 1, 0, 2, 4, 6,
- 8,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u1__p6_0 = {
- _vq_quantthresh__8u1__p6_0,
- _vq_quantmap__8u1__p6_0,
- 9,
- 9
-};
-
-static static_codebook _8u1__p6_0 = {
- 2, 81,
- _vq_lengthlist__8u1__p6_0,
- 1, -531628032, 1611661312, 4, 0,
- _vq_quantlist__8u1__p6_0,
- NULL,
- &_vq_auxt__8u1__p6_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u1__p7_0[] = {
- 1,
- 0,
- 2,
-};
-
-static long _vq_lengthlist__8u1__p7_0[] = {
- 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 9, 9, 8,10,10, 8,
- 10,10, 5, 9, 9, 7,10,10, 8,10,10, 4,10,10, 9,12,
- 12, 9,11,11, 7,12,11,10,11,13,10,13,13, 7,12,12,
- 10,13,12,10,13,13, 4,10,10, 9,12,12, 9,12,12, 7,
- 12,12,10,13,13,10,12,13, 7,11,12,10,13,13,10,13,
- 11,
-};
-
-static float _vq_quantthresh__8u1__p7_0[] = {
- -5.5, 5.5,
-};
-
-static long _vq_quantmap__8u1__p7_0[] = {
- 1, 0, 2,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u1__p7_0 = {
- _vq_quantthresh__8u1__p7_0,
- _vq_quantmap__8u1__p7_0,
- 3,
- 3
-};
-
-static static_codebook _8u1__p7_0 = {
- 4, 81,
- _vq_lengthlist__8u1__p7_0,
- 1, -529137664, 1618345984, 2, 0,
- _vq_quantlist__8u1__p7_0,
- NULL,
- &_vq_auxt__8u1__p7_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u1__p7_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__8u1__p7_1[] = {
- 2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 4, 5, 5, 7, 7,
- 8, 8, 9, 9, 9, 9, 4, 5, 5, 7, 7, 8, 8, 9, 9, 9,
- 9, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 6, 7, 7, 8,
- 8, 8, 8, 9, 9, 9, 9, 8, 8, 8, 8, 8, 9, 9, 9, 9,
- 9, 9, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 8, 9, 9,
- 9, 9, 9, 9,10,10,10,10, 8, 9, 9, 9, 9, 9, 9,10,
- 10,10,10, 8, 9, 9, 9, 9, 9, 9,10,10,10,10, 8, 9,
- 9, 9, 9, 9, 9,10,10,10,10,
-};
-
-static float _vq_quantthresh__8u1__p7_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__8u1__p7_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u1__p7_1 = {
- _vq_quantthresh__8u1__p7_1,
- _vq_quantmap__8u1__p7_1,
- 11,
- 11
-};
-
-static static_codebook _8u1__p7_1 = {
- 2, 121,
- _vq_lengthlist__8u1__p7_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__8u1__p7_1,
- NULL,
- &_vq_auxt__8u1__p7_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u1__p8_0[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__8u1__p8_0[] = {
- 1, 4, 4, 6, 6, 8, 8,10,10,11,11, 4, 6, 6, 7, 7,
- 9, 9,11,11,13,12, 4, 6, 6, 7, 7, 9, 9,11,11,12,
- 12, 6, 7, 7, 9, 9,11,11,12,12,13,13, 6, 7, 7, 9,
- 9,11,11,12,12,13,13, 8, 9, 9,11,11,12,12,13,13,
- 14,14, 8, 9, 9,11,11,12,12,13,13,14,14, 9,11,11,
- 12,12,13,13,14,14,15,15, 9,11,11,12,12,13,13,14,
- 14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,
- 12,13,13,14,14,15,15,15,15,
-};
-
-static float _vq_quantthresh__8u1__p8_0[] = {
- -49.5, -38.5, -27.5, -16.5, -5.5, 5.5, 16.5, 27.5,
- 38.5, 49.5,
-};
-
-static long _vq_quantmap__8u1__p8_0[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u1__p8_0 = {
- _vq_quantthresh__8u1__p8_0,
- _vq_quantmap__8u1__p8_0,
- 11,
- 11
-};
-
-static static_codebook _8u1__p8_0 = {
- 2, 121,
- _vq_lengthlist__8u1__p8_0,
- 1, -524582912, 1618345984, 4, 0,
- _vq_quantlist__8u1__p8_0,
- NULL,
- &_vq_auxt__8u1__p8_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u1__p8_1[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
- 2,
- 8,
- 1,
- 9,
- 0,
- 10,
-};
-
-static long _vq_lengthlist__8u1__p8_1[] = {
- 2, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 5, 6, 6, 7, 7,
- 7, 7, 8, 8, 8, 8, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8,
- 8, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 6, 7, 7, 7,
- 7, 8, 8, 8, 8, 8, 8, 7, 7, 7, 8, 8, 8, 8, 8, 8,
- 8, 8, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 9, 8, 9, 9, 7, 8, 8, 8, 8, 8, 8, 9,
- 8, 9, 9, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 8, 8,
- 8, 8, 8, 8, 8, 9, 9, 9, 9,
-};
-
-static float _vq_quantthresh__8u1__p8_1[] = {
- -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5,
- 3.5, 4.5,
-};
-
-static long _vq_quantmap__8u1__p8_1[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u1__p8_1 = {
- _vq_quantthresh__8u1__p8_1,
- _vq_quantmap__8u1__p8_1,
- 11,
- 11
-};
-
-static static_codebook _8u1__p8_1 = {
- 2, 121,
- _vq_lengthlist__8u1__p8_1,
- 1, -531365888, 1611661312, 4, 0,
- _vq_quantlist__8u1__p8_1,
- NULL,
- &_vq_auxt__8u1__p8_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u1__p9_0[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__8u1__p9_0[] = {
- 1, 4, 4,11,11,11,11,11,11,11,11,11,11,11,11, 3,
- 11, 8,11,11,11,11,11,11,11,11,11,11,11,11, 3, 9,
- 9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,
-};
-
-static float _vq_quantthresh__8u1__p9_0[] = {
- -1657.5, -1402.5, -1147.5, -892.5, -637.5, -382.5, -127.5, 127.5,
- 382.5, 637.5, 892.5, 1147.5, 1402.5, 1657.5,
-};
-
-static long _vq_quantmap__8u1__p9_0[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u1__p9_0 = {
- _vq_quantthresh__8u1__p9_0,
- _vq_quantmap__8u1__p9_0,
- 15,
- 15
-};
-
-static static_codebook _8u1__p9_0 = {
- 2, 225,
- _vq_lengthlist__8u1__p9_0,
- 1, -514071552, 1627381760, 4, 0,
- _vq_quantlist__8u1__p9_0,
- NULL,
- &_vq_auxt__8u1__p9_0,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u1__p9_1[] = {
- 7,
- 6,
- 8,
- 5,
- 9,
- 4,
- 10,
- 3,
- 11,
- 2,
- 12,
- 1,
- 13,
- 0,
- 14,
-};
-
-static long _vq_lengthlist__8u1__p9_1[] = {
- 1, 4, 4, 7, 7, 9, 9, 7, 7, 8, 8,10,10,11,11, 4,
- 7, 7, 9, 9,10,10, 8, 8,10,10,10,11,10,11, 4, 7,
- 7, 9, 9,10,10, 8, 8,10, 9,11,11,11,11, 7, 9, 9,
- 12,12,11,12,10,10,11,10,12,11,11,11, 7, 9, 9,11,
- 11,13,12, 9, 9,11,10,11,11,12,11, 9,10,10,12,12,
- 14,14,10,10,11,12,12,11,11,11, 9,10,11,11,13,14,
- 13,10,11,11,11,12,11,12,12, 7, 8, 8,10, 9,11,10,
- 11,12,12,11,12,14,12,13, 7, 8, 8, 9,10,10,11,12,
- 12,12,11,12,12,12,13, 9, 9, 9,11,11,13,12,12,12,
- 12,11,12,12,13,12, 8,10,10,11,10,11,12,12,12,12,
- 12,12,14,12,12, 9,11,11,11,12,12,12,12,13,13,12,
- 12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,
- 12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,
- 12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,
- 13,
-};
-
-static float _vq_quantthresh__8u1__p9_1[] = {
- -110.5, -93.5, -76.5, -59.5, -42.5, -25.5, -8.5, 8.5,
- 25.5, 42.5, 59.5, 76.5, 93.5, 110.5,
-};
-
-static long _vq_quantmap__8u1__p9_1[] = {
- 13, 11, 9, 7, 5, 3, 1, 0,
- 2, 4, 6, 8, 10, 12, 14,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u1__p9_1 = {
- _vq_quantthresh__8u1__p9_1,
- _vq_quantmap__8u1__p9_1,
- 15,
- 15
-};
-
-static static_codebook _8u1__p9_1 = {
- 2, 225,
- _vq_lengthlist__8u1__p9_1,
- 1, -522338304, 1620115456, 4, 0,
- _vq_quantlist__8u1__p9_1,
- NULL,
- &_vq_auxt__8u1__p9_1,
- NULL,
- 0
-};
-
-static long _vq_quantlist__8u1__p9_2[] = {
- 8,
- 7,
- 9,
- 6,
- 10,
- 5,
- 11,
- 4,
- 12,
- 3,
- 13,
- 2,
- 14,
- 1,
- 15,
- 0,
- 16,
-};
-
-static long _vq_lengthlist__8u1__p9_2[] = {
- 2, 5, 4, 6, 6, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,
- 9, 5, 6, 6, 7, 7, 8, 8, 9, 8, 9, 9, 9, 9, 9, 9,
- 9, 9, 5, 6, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,
- 9,10,10, 9, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9,10,10, 8, 8, 8, 9, 9, 9, 9,10,10,10, 9,
- 10,10,10,10,10,10, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9,
- 10,10,10,10,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9,10,
- 10,10,10,10,10,10,10,10, 9, 9, 9, 9, 9,10,10,10,
- 10,10,10,10,10,10,10,10,10, 9, 9, 9, 9, 9, 9,10,
- 10,10,10,10,10,10,10,10,10,10, 9, 9, 9, 9, 9,10,
- 10,10,10,10,10,10,10,10,10,10,10, 9, 9, 9, 9,10,
- 10,10,10,10,10,10,10,10,10,10,10,10, 9, 9, 9, 9,
- 9,10,10,10,10,10,10,10,10,10,10,10,10, 9, 9, 9,
- 10,10,10,10,10,10,10,10,10,10,10,10,10,10, 9,10,
- 9, 9, 9,10,10,10,10,10,10,10,10,10,10,10,10, 9,
- 10, 9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 9, 9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
- 10,
-};
-
-static float _vq_quantthresh__8u1__p9_2[] = {
- -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
-};
-
-static long _vq_quantmap__8u1__p9_2[] = {
- 15, 13, 11, 9, 7, 5, 3, 1,
- 0, 2, 4, 6, 8, 10, 12, 14,
- 16,
-};
-
-static encode_aux_threshmatch _vq_auxt__8u1__p9_2 = {
- _vq_quantthresh__8u1__p9_2,
- _vq_quantmap__8u1__p9_2,
- 17,
- 17
-};
-
-static static_codebook _8u1__p9_2 = {
- 2, 289,
- _vq_lengthlist__8u1__p9_2,
- 1, -529530880, 1611661312, 5, 0,
- _vq_quantlist__8u1__p9_2,
- NULL,
- &_vq_auxt__8u1__p9_2,
- NULL,
- 0
-};
-
-static long _huff_lengthlist__8u1__single[] = {
- 4, 7,13, 9,15, 9,16, 8,10,13, 7, 5, 8, 6, 9, 7,
- 10, 7,10,11,11, 6, 7, 8, 8, 9, 9, 9,12,16, 8, 5,
- 8, 6, 8, 6, 9, 7,10,12,11, 7, 7, 7, 6, 7, 7, 7,
- 11,15, 7, 5, 8, 6, 7, 5, 7, 6, 9,13,13, 9, 9, 8,
- 6, 6, 5, 5, 9,14, 8, 6, 8, 6, 6, 4, 5, 3, 5,13,
- 9, 9,11, 8,10, 7, 8, 4, 5,12,11,16,17,15,17,12,
- 13, 8, 8,15,
-};
-
-static static_codebook _huff_book__8u1__single = {
- 2, 100,
- _huff_lengthlist__8u1__single,
- 0, 0, 0, 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- 0
-};
-
-
-/***** residue backends *********************************************/
-
-
-static vorbis_info_residue0 _residue_44_low_un={
- 0,-1, -1, 8,-1,
- {0},
- {-1},
- { .5, 1.5, 1.5, 2.5, 2.5, 4.5, 28.5},
- { -1, 25, -1, 45, -1, -1, -1}
-};
-
-static vorbis_info_residue0 _residue_44_mid_un={
- 0,-1, -1, 10,-1,
- /* 0 1 2 3 4 5 6 7 8 9 */
- {0},
- {-1},
- { .5, 1.5, 1.5, 2.5, 2.5, 4.5, 4.5, 16.5, 60.5},
- { -1, 30, -1, 50, -1, 80, -1, -1, -1}
-};
-
-static vorbis_info_residue0 _residue_44_hi_un={
- 0,-1, -1, 10,-1,
- /* 0 1 2 3 4 5 6 7 8 9 */
- {0},
- {-1},
- { .5, 1.5, 2.5, 4.5, 8.5, 16.5, 32.5, 71.5,157.5},
- { -1, -1, -1, -1, -1, -1, -1, -1, -1}
-};
-
-/* mapping conventions:
- only one submap (this would change for efficient 5.1 support for example)*/
-/* Four psychoacoustic profiles are used, one for each blocktype */
-static vorbis_info_mapping0 _map_nominal_u[2]={
- {1, {0,0}, {0}, {0}, 0,{0},{0}},
- {1, {0,0}, {1}, {1}, 0,{0},{0}}
-};
-
-static static_bookblock _resbook_44u_0={
- {
- {0},
- {0,0,&_44u0__p1_0},
- {0,0,&_44u0__p2_0},
- {0,0,&_44u0__p3_0},
- {0,0,&_44u0__p4_0},
- {0,0,&_44u0__p5_0},
- {&_44u0__p6_0,&_44u0__p6_1},
- {&_44u0__p7_0,&_44u0__p7_1,&_44u0__p7_2}
- }
-};
-static static_bookblock _resbook_44u_1={
- {
- {0},
- {0,0,&_44u1__p1_0},
- {0,0,&_44u1__p2_0},
- {0,0,&_44u1__p3_0},
- {0,0,&_44u1__p4_0},
- {0,0,&_44u1__p5_0},
- {&_44u1__p6_0,&_44u1__p6_1},
- {&_44u1__p7_0,&_44u1__p7_1,&_44u1__p7_2}
- }
-};
-static static_bookblock _resbook_44u_2={
- {
- {0},
- {0,0,&_44u2__p1_0},
- {0,0,&_44u2__p2_0},
- {0,0,&_44u2__p3_0},
- {0,0,&_44u2__p4_0},
- {0,0,&_44u2__p5_0},
- {&_44u2__p6_0,&_44u2__p6_1},
- {&_44u2__p7_0,&_44u2__p7_1,&_44u2__p7_2}
- }
-};
-static static_bookblock _resbook_44u_3={
- {
- {0},
- {0,0,&_44u3__p1_0},
- {0,0,&_44u3__p2_0},
- {0,0,&_44u3__p3_0},
- {0,0,&_44u3__p4_0},
- {0,0,&_44u3__p5_0},
- {&_44u3__p6_0,&_44u3__p6_1},
- {&_44u3__p7_0,&_44u3__p7_1,&_44u3__p7_2}
- }
-};
-static static_bookblock _resbook_44u_4={
- {
- {0},
- {0,0,&_44u4__p1_0},
- {0,0,&_44u4__p2_0},
- {0,0,&_44u4__p3_0},
- {0,0,&_44u4__p4_0},
- {0,0,&_44u4__p5_0},
- {&_44u4__p6_0,&_44u4__p6_1},
- {&_44u4__p7_0,&_44u4__p7_1,&_44u4__p7_2}
- }
-};
-static static_bookblock _resbook_44u_5={
- {
- {0},
- {0,0,&_44u5__p1_0},
- {0,0,&_44u5__p2_0},
- {0,0,&_44u5__p3_0},
- {0,0,&_44u5__p4_0},
- {0,0,&_44u5__p5_0},
- {0,0,&_44u5__p6_0},
- {&_44u5__p7_0,&_44u5__p7_1},
- {&_44u5__p8_0,&_44u5__p8_1},
- {&_44u5__p9_0,&_44u5__p9_1,&_44u5__p9_2}
- }
-};
-static static_bookblock _resbook_44u_6={
- {
- {0},
- {0,0,&_44u6__p1_0},
- {0,0,&_44u6__p2_0},
- {0,0,&_44u6__p3_0},
- {0,0,&_44u6__p4_0},
- {0,0,&_44u6__p5_0},
- {0,0,&_44u6__p6_0},
- {&_44u6__p7_0,&_44u6__p7_1},
- {&_44u6__p8_0,&_44u6__p8_1},
- {&_44u6__p9_0,&_44u6__p9_1,&_44u6__p9_2}
- }
-};
-static static_bookblock _resbook_44u_7={
- {
- {0},
- {0,0,&_44u7__p1_0},
- {0,0,&_44u7__p2_0},
- {0,0,&_44u7__p3_0},
- {0,0,&_44u7__p4_0},
- {0,0,&_44u7__p5_0},
- {0,0,&_44u7__p6_0},
- {&_44u7__p7_0,&_44u7__p7_1},
- {&_44u7__p8_0,&_44u7__p8_1},
- {&_44u7__p9_0,&_44u7__p9_1,&_44u7__p9_2}
- }
-};
-static static_bookblock _resbook_44u_8={
- {
- {0},
- {0,0,&_44u8_p1_0},
- {0,0,&_44u8_p2_0},
- {0,0,&_44u8_p3_0},
- {0,0,&_44u8_p4_0},
- {&_44u8_p5_0,&_44u8_p5_1},
- {&_44u8_p6_0,&_44u8_p6_1},
- {&_44u8_p7_0,&_44u8_p7_1},
- {&_44u8_p8_0,&_44u8_p8_1},
- {&_44u8_p9_0,&_44u8_p9_1,&_44u8_p9_2}
- }
-};
-static static_bookblock _resbook_44u_9={
- {
- {0},
- {0,0,&_44u9_p1_0},
- {0,0,&_44u9_p2_0},
- {0,0,&_44u9_p3_0},
- {0,0,&_44u9_p4_0},
- {&_44u9_p5_0,&_44u9_p5_1},
- {&_44u9_p6_0,&_44u9_p6_1},
- {&_44u9_p7_0,&_44u9_p7_1},
- {&_44u9_p8_0,&_44u9_p8_1},
- {&_44u9_p9_0,&_44u9_p9_1,&_44u9_p9_2}
- }
-};
-
-static vorbis_residue_template _res_44u_0[]={
- {1,0, &_residue_44_low_un,
- &_huff_book__44u0__short,&_huff_book__44u0__short,
- &_resbook_44u_0,&_resbook_44u_0},
-
- {1,0, &_residue_44_low_un,
- &_huff_book__44u0__long,&_huff_book__44u0__long,
- &_resbook_44u_0,&_resbook_44u_0}
-};
-static vorbis_residue_template _res_44u_1[]={
- {1,0, &_residue_44_low_un,
- &_huff_book__44u1__short,&_huff_book__44u1__short,
- &_resbook_44u_1,&_resbook_44u_1},
-
- {1,0, &_residue_44_low_un,
- &_huff_book__44u1__long,&_huff_book__44u1__long,
- &_resbook_44u_1,&_resbook_44u_1}
-};
-static vorbis_residue_template _res_44u_2[]={
- {1,0, &_residue_44_low_un,
- &_huff_book__44u2__short,&_huff_book__44u2__short,
- &_resbook_44u_2,&_resbook_44u_2},
-
- {1,0, &_residue_44_low_un,
- &_huff_book__44u2__long,&_huff_book__44u2__long,
- &_resbook_44u_2,&_resbook_44u_2}
-};
-static vorbis_residue_template _res_44u_3[]={
- {1,0, &_residue_44_low_un,
- &_huff_book__44u3__short,&_huff_book__44u3__short,
- &_resbook_44u_3,&_resbook_44u_3},
-
- {1,0, &_residue_44_low_un,
- &_huff_book__44u3__long,&_huff_book__44u3__long,
- &_resbook_44u_3,&_resbook_44u_3}
-};
-static vorbis_residue_template _res_44u_4[]={
- {1,0, &_residue_44_low_un,
- &_huff_book__44u4__short,&_huff_book__44u4__short,
- &_resbook_44u_4,&_resbook_44u_4},
-
- {1,0, &_residue_44_low_un,
- &_huff_book__44u4__long,&_huff_book__44u4__long,
- &_resbook_44u_4,&_resbook_44u_4}
-};
-
-static vorbis_residue_template _res_44u_5[]={
- {1,0, &_residue_44_mid_un,
- &_huff_book__44u5__short,&_huff_book__44u5__short,
- &_resbook_44u_5,&_resbook_44u_5},
-
- {1,0, &_residue_44_mid_un,
- &_huff_book__44u5__long,&_huff_book__44u5__long,
- &_resbook_44u_5,&_resbook_44u_5}
-};
-
-static vorbis_residue_template _res_44u_6[]={
- {1,0, &_residue_44_mid_un,
- &_huff_book__44u6__short,&_huff_book__44u6__short,
- &_resbook_44u_6,&_resbook_44u_6},
-
- {1,0, &_residue_44_mid_un,
- &_huff_book__44u6__long,&_huff_book__44u6__long,
- &_resbook_44u_6,&_resbook_44u_6}
-};
-
-static vorbis_residue_template _res_44u_7[]={
- {1,0, &_residue_44_mid_un,
- &_huff_book__44u7__short,&_huff_book__44u7__short,
- &_resbook_44u_7,&_resbook_44u_7},
-
- {1,0, &_residue_44_mid_un,
- &_huff_book__44u7__long,&_huff_book__44u7__long,
- &_resbook_44u_7,&_resbook_44u_7}
-};
-
-static vorbis_residue_template _res_44u_8[]={
- {1,0, &_residue_44_hi_un,
- &_huff_book__44u8__short,&_huff_book__44u8__short,
- &_resbook_44u_8,&_resbook_44u_8},
-
- {1,0, &_residue_44_hi_un,
- &_huff_book__44u8__long,&_huff_book__44u8__long,
- &_resbook_44u_8,&_resbook_44u_8}
-};
-static vorbis_residue_template _res_44u_9[]={
- {1,0, &_residue_44_hi_un,
- &_huff_book__44u9__short,&_huff_book__44u9__short,
- &_resbook_44u_9,&_resbook_44u_9},
-
- {1,0, &_residue_44_hi_un,
- &_huff_book__44u9__long,&_huff_book__44u9__long,
- &_resbook_44u_9,&_resbook_44u_9}
-};
-
-static vorbis_mapping_template _mapres_template_44_uncoupled[]={
- { _map_nominal_u, _res_44u_0 }, /* 0 */
- { _map_nominal_u, _res_44u_1 }, /* 1 */
- { _map_nominal_u, _res_44u_2 }, /* 2 */
- { _map_nominal_u, _res_44u_3 }, /* 3 */
- { _map_nominal_u, _res_44u_4 }, /* 4 */
- { _map_nominal_u, _res_44u_5 }, /* 5 */
- { _map_nominal_u, _res_44u_6 }, /* 6 */
- { _map_nominal_u, _res_44u_7 }, /* 7 */
- { _map_nominal_u, _res_44u_8 }, /* 8 */
- { _map_nominal_u, _res_44u_9 }, /* 9 */
-};
-
-static double rate_mapping_44_un[11]={
- 48000.,60000.,70000.,80000.,86000.,
- 96000.,110000.,120000.,140000.,160000.,240001.
-};
-
-static double rate_mapping_44_un_low[2]={
- 32000.,48000.
-};
-
-ve_setup_data_template ve_setup_44_uncoupled={
- 10,
- rate_mapping_44_un,
- quality_mapping_44,
- -1,
- 40000,
- 50000,
-
- blocksize_short_44,
- blocksize_long_44,
-
- _psy_tone_masteratt_44,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_otherblock,
- _vp_tonemask_adj_longblock,
- _vp_tonemask_adj_otherblock,
-
- _psy_noiseguards_44,
- _psy_noisebias_impulse,
- _psy_noisebias_padding,
- _psy_noisebias_trans,
- _psy_noisebias_long,
- _psy_noise_suppress,
-
- _psy_compand_44,
- _psy_compand_short_mapping,
- _psy_compand_long_mapping,
-
- {_noise_start_short_44,_noise_start_long_44},
- {_noise_part_short_44,_noise_part_long_44},
- _noise_thresh_44_2,
-
- _psy_ath_floater,
- _psy_ath_abs,
-
- _psy_lowpass_44,
-
- _psy_global_44,
- _global_mapping_44,
- NULL,
-
- _floor_books,
- _floor,
- _floor_short_mapping_44,
- _floor_long_mapping_44,
-
- _mapres_template_44_uncoupled
-};
-
-ve_setup_data_template ve_setup_44_uncoupled_low={
- 1,
- rate_mapping_44_un_low,
- quality_mapping_44_stereo_low,
- -1,
- 40000,
- 50000,
-
- blocksize_short_44_low,
- blocksize_long_44_low,
-
- _psy_tone_masteratt_44_low,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_otherblock,
- _vp_tonemask_adj_longblock,
- _vp_tonemask_adj_otherblock,
-
- _psy_noiseguards_44,
- _psy_noisebias_trans_low,
- _psy_noisebias_trans_low,
- _psy_noisebias_trans_low,
- _psy_noisebias_long_low,
- _psy_noise_suppress,
-
- _psy_compand_44,
- _psy_compand_short_mapping,
- _psy_compand_long_mapping,
-
- {_noise_start_short_44_low,_noise_start_long_44_low},
- {_noise_part_short_44,_noise_part_long_44},
- _noise_thresh_44_2,
-
- _psy_ath_floater,
- _psy_ath_abs,
-
- _psy_lowpass_44_low,
-
- _psy_global_44,
- _global_mapping_44_low,
- NULL,
-
- _floor_books,
- _floor,
- _floor_short_mapping_44_low,
- _floor_long_mapping_44_low,
-
- _mapres_template_44_uncoupled
-};
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: toplevel settings for 32kHz
- last mod: $Id: setup_32.h,v 1.4 2002/07/13 06:12:49 xiphmont Exp $
-
- ********************************************************************/
-
-static double rate_mapping_32[11]={
- 28000.,35000.,45000.,56000.,60000.,
- 75000.,90000.,100000.,115000.,150000.,190000.,
-};
-
-static double rate_mapping_32_un[11]={
- 42000.,52000.,64000.,72000.,78000.,
- 86000.,92000.,110000.,120000.,140000.,190000.,
-};
-
-static double rate_mapping_32_low[2]={
- 20000.,28000.
-};
-
-static double rate_mapping_32_un_low[2]={
- 24000.,42000.,
-};
-
-static double _psy_lowpass_32_low[2]={
- 13.,13.,
-};
-static double _psy_lowpass_32[11]={
- 13.,13.,14.,15.,99.,99.,99.,99.,99.,99.,99.
-};
-
-ve_setup_data_template ve_setup_32_stereo={
- 10,
- rate_mapping_32,
- quality_mapping_44,
- 2,
- 26000,
- 40000,
-
- blocksize_short_44,
- blocksize_long_44,
-
- _psy_tone_masteratt_44,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_otherblock,
- _vp_tonemask_adj_longblock,
- _vp_tonemask_adj_otherblock,
-
- _psy_noiseguards_44,
- _psy_noisebias_impulse,
- _psy_noisebias_padding,
- _psy_noisebias_trans,
- _psy_noisebias_long,
- _psy_noise_suppress,
-
- _psy_compand_44,
- _psy_compand_short_mapping,
- _psy_compand_long_mapping,
-
- {_noise_start_short_44,_noise_start_long_44},
- {_noise_part_short_44,_noise_part_long_44},
- _noise_thresh_44,
-
- _psy_ath_floater,
- _psy_ath_abs,
-
- _psy_lowpass_32,
-
- _psy_global_44,
- _global_mapping_44,
- _psy_stereo_modes_44,
-
- _floor_books,
- _floor,
- _floor_short_mapping_44,
- _floor_long_mapping_44,
-
- _mapres_template_44_stereo
-};
-
-ve_setup_data_template ve_setup_32_uncoupled={
- 10,
- rate_mapping_32_un,
- quality_mapping_44,
- -1,
- 26000,
- 40000,
-
- blocksize_short_44,
- blocksize_long_44,
-
- _psy_tone_masteratt_44,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_otherblock,
- _vp_tonemask_adj_longblock,
- _vp_tonemask_adj_otherblock,
-
- _psy_noiseguards_44,
- _psy_noisebias_impulse,
- _psy_noisebias_padding,
- _psy_noisebias_trans,
- _psy_noisebias_long,
- _psy_noise_suppress,
-
- _psy_compand_44,
- _psy_compand_short_mapping,
- _psy_compand_long_mapping,
-
- {_noise_start_short_44,_noise_start_long_44},
- {_noise_part_short_44,_noise_part_long_44},
- _noise_thresh_44_2,
-
- _psy_ath_floater,
- _psy_ath_abs,
-
- _psy_lowpass_32,
-
- _psy_global_44,
- _global_mapping_44,
- NULL,
-
- _floor_books,
- _floor,
- _floor_short_mapping_44,
- _floor_long_mapping_44,
-
- _mapres_template_44_uncoupled
-};
-
-ve_setup_data_template ve_setup_32_stereo_low={
- 1,
- rate_mapping_32_low,
- quality_mapping_44_stereo_low,
- 2,
- 26000,
- 40000,
-
- blocksize_short_44_low,
- blocksize_long_44_low,
-
- _psy_tone_masteratt_44_low,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_otherblock,
- _vp_tonemask_adj_longblock,
- _vp_tonemask_adj_otherblock,
-
- _psy_noiseguards_44,
- _psy_noisebias_trans_low,
- _psy_noisebias_trans_low,
- _psy_noisebias_trans_low,
- _psy_noisebias_long_low,
- _psy_noise_suppress,
-
- _psy_compand_44,
- _psy_compand_short_mapping,
- _psy_compand_long_mapping,
-
- {_noise_start_short_44_low,_noise_start_long_44_low},
- {_noise_part_short_44,_noise_part_long_44},
- _noise_thresh_44,
-
- _psy_ath_floater,
- _psy_ath_abs,
-
- _psy_lowpass_32_low,
-
- _psy_global_44,
- _global_mapping_44,
- _psy_stereo_modes_44_low,
-
- _floor_books,
- _floor,
- _floor_short_mapping_44_low,
- _floor_long_mapping_44_low,
-
- _mapres_template_44_stereo
-};
-
-
-ve_setup_data_template ve_setup_32_uncoupled_low={
- 1,
- rate_mapping_32_un_low,
- quality_mapping_44_stereo_low,
- -1,
- 26000,
- 40000,
-
- blocksize_short_44_low,
- blocksize_long_44_low,
-
- _psy_tone_masteratt_44_low,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_otherblock,
- _vp_tonemask_adj_longblock,
- _vp_tonemask_adj_otherblock,
-
- _psy_noiseguards_44,
- _psy_noisebias_trans_low,
- _psy_noisebias_trans_low,
- _psy_noisebias_trans_low,
- _psy_noisebias_long_low,
- _psy_noise_suppress,
-
- _psy_compand_44,
- _psy_compand_short_mapping,
- _psy_compand_long_mapping,
-
- {_noise_start_short_44_low,_noise_start_long_44_low},
- {_noise_part_short_44,_noise_part_long_44},
- _noise_thresh_44_2,
-
- _psy_ath_floater,
- _psy_ath_abs,
-
- _psy_lowpass_32_low,
-
- _psy_global_44,
- _global_mapping_44,
- NULL,
-
- _floor_books,
- _floor,
- _floor_short_mapping_44_low,
- _floor_long_mapping_44_low,
-
- _mapres_template_44_uncoupled
-};
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: 8kHz settings
- last mod: $Id: setup_8.h,v 1.2 2002/07/11 06:41:05 xiphmont Exp $
-
- ********************************************************************/
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: 8kHz psychoacoustic settings
- last mod: $Id: psych_8.h,v 1.3 2003/09/02 06:05:47 xiphmont Exp $
-
- ********************************************************************/
-
-static att3 _psy_tone_masteratt_8[3]={
- {{ 32, 25, 12}, 0, 0}, /* 0 */
- {{ 30, 25, 12}, 0, 0}, /* 0 */
- {{ 20, 0, -14}, 0, 0}, /* 0 */
-};
-
-static vp_adjblock _vp_tonemask_adj_8[3]={
- /* adjust for mode zero */
- /* 63 125 250 500 1 2 4 8 16 */
- {{-15,-15,-15,-15,-10,-10, -6, 0, 0, 0, 0,10, 0, 0,99,99,99}}, /* 1 */
- {{-15,-15,-15,-15,-10,-10, -6, 0, 0, 0, 0,10, 0, 0,99,99,99}}, /* 1 */
- {{-15,-15,-15,-15,-10,-10, -6, 0, 0, 0, 0, 0, 0, 0,99,99,99}}, /* 1 */
-};
-
-
-static noise3 _psy_noisebias_8[3]={
- /* 63 125 250 500 1k 2k 4k 8k 16k*/
- {{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 8, 8, 8, 10, 10, 99, 99, 99},
- {-10,-10,-10,-10, -5, -5, -5, 0, 0, 4, 4, 4, 4, 4, 99, 99, 99},
- {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, 99, 99, 99}}},
-
- {{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 8, 8, 8, 10, 10, 99, 99, 99},
- {-10,-10,-10,-10,-10,-10, -5, -5, -5, 0, 0, 0, 0, 0, 99, 99, 99},
- {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, 99, 99, 99}}},
-
- {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 99, 99, 99},
- {-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10, 99, 99, 99},
- {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24, 99, 99, 99}}},
-};
-
-/* stereo mode by base quality level */
-static adj_stereo _psy_stereo_modes_8[3]={
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */
- {{ 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
- { 6, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
- { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
- {{ 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
- { 6, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
- { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
- {{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
- { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
- { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
-};
-
-static noiseguard _psy_noiseguards_8[2]={
- {10,10,-1},
- {10,10,-1},
-};
-
-static compandblock _psy_compand_8[2]={
- {{
- 0, 1, 2, 3, 4, 5, 6, 7, /* 7dB */
- 8, 8, 9, 9,10,10,11, 11, /* 15dB */
- 12,12,13,13,14,14,15, 15, /* 23dB */
- 16,16,17,17,17,18,18, 19, /* 31dB */
- 19,19,20,21,22,23,24, 25, /* 39dB */
- }},
- {{
- 0, 1, 2, 3, 4, 5, 6, 6, /* 7dB */
- 7, 7, 6, 6, 5, 5, 4, 4, /* 15dB */
- 3, 3, 3, 4, 5, 6, 7, 8, /* 23dB */
- 9,10,11,12,13,14,15, 16, /* 31dB */
- 17,18,19,20,21,22,23, 24, /* 39dB */
- }},
-};
-
-static double _psy_lowpass_8[3]={3.,4.,4.};
-static int _noise_start_8[2]={
- 64,64,
-};
-static int _noise_part_8[2]={
- 8,8,
-};
-
-static int _psy_ath_floater_8[3]={
- -100,-100,-105,
-};
-
-static int _psy_ath_abs_8[3]={
- -130,-130,-140,
-};
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: toplevel residue templates 8/11kHz
- last mod: $Id: residue_8.h,v 1.2 2002/07/11 06:41:04 xiphmont Exp $
-
- ********************************************************************/
-
-
-/***** residue backends *********************************************/
-
-static static_bookblock _resbook_8s_0={
- {
- {0},{0,0,&_8c0_s_p1_0},{0,0,&_8c0_s_p2_0},{0,0,&_8c0_s_p3_0},
- {0,0,&_8c0_s_p4_0},{0,0,&_8c0_s_p5_0},{0,0,&_8c0_s_p6_0},
- {&_8c0_s_p7_0,&_8c0_s_p7_1},{&_8c0_s_p8_0,&_8c0_s_p8_1},
- {&_8c0_s_p9_0,&_8c0_s_p9_1,&_8c0_s_p9_2}
- }
-};
-static static_bookblock _resbook_8s_1={
- {
- {0},{0,0,&_8c1_s_p1_0},{0,0,&_8c1_s_p2_0},{0,0,&_8c1_s_p3_0},
- {0,0,&_8c1_s_p4_0},{0,0,&_8c1_s_p5_0},{0,0,&_8c1_s_p6_0},
- {&_8c1_s_p7_0,&_8c1_s_p7_1},{&_8c1_s_p8_0,&_8c1_s_p8_1},
- {&_8c1_s_p9_0,&_8c1_s_p9_1,&_8c1_s_p9_2}
- }
-};
-
-static vorbis_residue_template _res_8s_0[]={
- {2,0, &_residue_44_mid,
- &_huff_book__8c0_s_single,&_huff_book__8c0_s_single,
- &_resbook_8s_0,&_resbook_8s_0},
-};
-static vorbis_residue_template _res_8s_1[]={
- {2,0, &_residue_44_mid,
- &_huff_book__8c1_s_single,&_huff_book__8c1_s_single,
- &_resbook_8s_1,&_resbook_8s_1},
-};
-
-static vorbis_mapping_template _mapres_template_8_stereo[2]={
- { _map_nominal, _res_8s_0 }, /* 0 */
- { _map_nominal, _res_8s_1 }, /* 1 */
-};
-
-static static_bookblock _resbook_8u_0={
- {
- {0},
- {0,0,&_8u0__p1_0},
- {0,0,&_8u0__p2_0},
- {0,0,&_8u0__p3_0},
- {0,0,&_8u0__p4_0},
- {0,0,&_8u0__p5_0},
- {&_8u0__p6_0,&_8u0__p6_1},
- {&_8u0__p7_0,&_8u0__p7_1,&_8u0__p7_2}
- }
-};
-static static_bookblock _resbook_8u_1={
- {
- {0},
- {0,0,&_8u1__p1_0},
- {0,0,&_8u1__p2_0},
- {0,0,&_8u1__p3_0},
- {0,0,&_8u1__p4_0},
- {0,0,&_8u1__p5_0},
- {0,0,&_8u1__p6_0},
- {&_8u1__p7_0,&_8u1__p7_1},
- {&_8u1__p8_0,&_8u1__p8_1},
- {&_8u1__p9_0,&_8u1__p9_1,&_8u1__p9_2}
- }
-};
-
-static vorbis_residue_template _res_8u_0[]={
- {1,0, &_residue_44_low_un,
- &_huff_book__8u0__single,&_huff_book__8u0__single,
- &_resbook_8u_0,&_resbook_8u_0},
-};
-static vorbis_residue_template _res_8u_1[]={
- {1,0, &_residue_44_mid_un,
- &_huff_book__8u1__single,&_huff_book__8u1__single,
- &_resbook_8u_1,&_resbook_8u_1},
-};
-
-static vorbis_mapping_template _mapres_template_8_uncoupled[2]={
- { _map_nominal_u, _res_8u_0 }, /* 0 */
- { _map_nominal_u, _res_8u_1 }, /* 1 */
-};
-
-static int blocksize_8[2]={
- 512,512
-};
-
-static int _floor_mapping_8[2]={
- 1,1,
-};
-
-static double rate_mapping_8[3]={
- 6000.,9000.,32000.,
-};
-
-static double rate_mapping_8_uncoupled[3]={
- 8000.,14000.,42000.,
-};
-
-static double quality_mapping_8[3]={
- -.1,.0,1.
-};
-
-static double _psy_compand_8_mapping[3]={ 0., 1., 1.};
-
-static double _global_mapping_8[3]={ 1., 2., 3. };
-
-ve_setup_data_template ve_setup_8_stereo={
- 2,
- rate_mapping_8,
- quality_mapping_8,
- 2,
- 8000,
- 9000,
-
- blocksize_8,
- blocksize_8,
-
- _psy_tone_masteratt_8,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_8,
- NULL,
- _vp_tonemask_adj_8,
-
- _psy_noiseguards_8,
- _psy_noisebias_8,
- _psy_noisebias_8,
- NULL,
- NULL,
- _psy_noise_suppress,
-
- _psy_compand_8,
- _psy_compand_8_mapping,
- NULL,
-
- {_noise_start_8,_noise_start_8},
- {_noise_part_8,_noise_part_8},
- _noise_thresh_44_2,
-
- _psy_ath_floater_8,
- _psy_ath_abs_8,
-
- _psy_lowpass_8,
-
- _psy_global_44,
- _global_mapping_8,
- _psy_stereo_modes_8,
-
- _floor_books,
- _floor,
- _floor_mapping_8,
- NULL,
-
- _mapres_template_8_stereo
-};
-
-ve_setup_data_template ve_setup_8_uncoupled={
- 2,
- rate_mapping_8_uncoupled,
- quality_mapping_8,
- -1,
- 8000,
- 9000,
-
- blocksize_8,
- blocksize_8,
-
- _psy_tone_masteratt_8,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_8,
- NULL,
- _vp_tonemask_adj_8,
-
- _psy_noiseguards_8,
- _psy_noisebias_8,
- _psy_noisebias_8,
- NULL,
- NULL,
- _psy_noise_suppress,
-
- _psy_compand_8,
- _psy_compand_8_mapping,
- NULL,
-
- {_noise_start_8,_noise_start_8},
- {_noise_part_8,_noise_part_8},
- _noise_thresh_44_2,
-
- _psy_ath_floater_8,
- _psy_ath_abs_8,
-
- _psy_lowpass_8,
-
- _psy_global_44,
- _global_mapping_8,
- _psy_stereo_modes_8,
-
- _floor_books,
- _floor,
- _floor_mapping_8,
- NULL,
-
- _mapres_template_8_uncoupled
-};
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: 11kHz settings
- last mod: $Id: setup_11.h,v 1.2 2002/07/11 06:41:04 xiphmont Exp $
-
- ********************************************************************/
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: 11kHz settings
- last mod: $Id: psych_11.h,v 1.1 2002/07/10 03:04:22 xiphmont Exp $
-
- ********************************************************************/
-
-static double _psy_lowpass_11[3]={4.5,5.5,30.,};
-
-static att3 _psy_tone_masteratt_11[3]={
- {{ 30, 25, 12}, 0, 0}, /* 0 */
- {{ 30, 25, 12}, 0, 0}, /* 0 */
- {{ 20, 0, -14}, 0, 1.}, /* 0 */
-};
-
-static vp_adjblock _vp_tonemask_adj_11[3]={
- /* adjust for mode zero */
- /* 63 125 250 500 1 2 4 8 16 */
- {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0,10, 2, 0,99,99,99}}, /* 0 */
- {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0, 5, 0, 0,99,99,99}}, /* 1 */
- {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0, 0, 0, 0,99,99,99}}, /* 2 */
-};
-
-
-static noise3 _psy_noisebias_11[3]={
- /* 63 125 250 500 1k 2k 4k 8k 16k*/
- {{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 10, 10, 12, 12, 12, 99, 99, 99},
- {-15,-15,-15,-15,-10,-10, -5, 0, 0, 4, 4, 5, 5, 10, 99, 99, 99},
- {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, 99, 99, 99}}},
-
- {{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 10, 10, 12, 12, 12, 99, 99, 99},
- {-15,-15,-15,-15,-10,-10, -5, -5, -5, 0, 0, 0, 0, 0, 99, 99, 99},
- {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, 99, 99, 99}}},
-
- {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 99, 99, 99},
- {-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10, 99, 99, 99},
- {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24, 99, 99, 99}}},
-};
-
-static double _noise_thresh_11[3]={ .3,.5,.5 };
-
-static int blocksize_11[2]={
- 512,512
-};
-
-static int _floor_mapping_11[2]={
- 1,1,
-};
-
-static double rate_mapping_11[3]={
- 8000.,13000.,44000.,
-};
-
-static double rate_mapping_11_uncoupled[3]={
- 12000.,20000.,50000.,
-};
-
-static double quality_mapping_11[3]={
- -.1,.0,1.
-};
-
-ve_setup_data_template ve_setup_11_stereo={
- 2,
- rate_mapping_11,
- quality_mapping_11,
- 2,
- 9000,
- 15000,
-
- blocksize_11,
- blocksize_11,
-
- _psy_tone_masteratt_11,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_11,
- NULL,
- _vp_tonemask_adj_11,
-
- _psy_noiseguards_8,
- _psy_noisebias_11,
- _psy_noisebias_11,
- NULL,
- NULL,
- _psy_noise_suppress,
-
- _psy_compand_8,
- _psy_compand_8_mapping,
- NULL,
-
- {_noise_start_8,_noise_start_8},
- {_noise_part_8,_noise_part_8},
- _noise_thresh_11,
-
- _psy_ath_floater_8,
- _psy_ath_abs_8,
-
- _psy_lowpass_11,
-
- _psy_global_44,
- _global_mapping_8,
- _psy_stereo_modes_8,
-
- _floor_books,
- _floor,
- _floor_mapping_11,
- NULL,
-
- _mapres_template_8_stereo
-};
-
-ve_setup_data_template ve_setup_11_uncoupled={
- 2,
- rate_mapping_11_uncoupled,
- quality_mapping_11,
- -1,
- 9000,
- 15000,
-
- blocksize_11,
- blocksize_11,
-
- _psy_tone_masteratt_11,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_11,
- NULL,
- _vp_tonemask_adj_11,
-
- _psy_noiseguards_8,
- _psy_noisebias_11,
- _psy_noisebias_11,
- NULL,
- NULL,
- _psy_noise_suppress,
-
- _psy_compand_8,
- _psy_compand_8_mapping,
- NULL,
-
- {_noise_start_8,_noise_start_8},
- {_noise_part_8,_noise_part_8},
- _noise_thresh_11,
-
- _psy_ath_floater_8,
- _psy_ath_abs_8,
-
- _psy_lowpass_11,
-
- _psy_global_44,
- _global_mapping_8,
- _psy_stereo_modes_8,
-
- _floor_books,
- _floor,
- _floor_mapping_11,
- NULL,
-
- _mapres_template_8_uncoupled
-};
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: 16kHz settings
- last mod: $Id: setup_16.h,v 1.5 2002/10/11 11:14:42 xiphmont Exp $
-
- ********************************************************************/
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: 16kHz settings
- last mod: $Id: psych_16.h,v 1.3 2003/09/02 06:05:47 xiphmont Exp $
-
- ********************************************************************/
-
-/* stereo mode by base quality level */
-static adj_stereo _psy_stereo_modes_16[4]={
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */
- {{ 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
- { 6, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
- { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 4, 4},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
- {{ 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
- { 6, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
- { 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 4, 4, 4, 4},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
- {{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
- { 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
- { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
-};
-
-static double _psy_lowpass_16[4]={6.5,8,30.,99.};
-
-static att3 _psy_tone_masteratt_16[4]={
- {{ 30, 25, 12}, 0, 0}, /* 0 */
- {{ 25, 22, 12}, 0, 0}, /* 0 */
- {{ 20, 12, 0}, 0, 0}, /* 0 */
- {{ 15, 0, -14}, 0, 0}, /* 0 */
-};
-
-static vp_adjblock _vp_tonemask_adj_16[4]={
- /* adjust for mode zero */
- /* 63 125 250 500 1 2 4 8 16 */
- {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0,10, 0, 0, 0, 0, 0}}, /* 0 */
- {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0,10, 0, 0, 0, 0, 0}}, /* 1 */
- {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
- {{-30,-30,-30,-30,-30,-26,-20,-10, -5, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
-};
-
-
-static noise3 _psy_noisebias_16_short[4]={
- /* 63 125 250 500 1k 2k 4k 8k 16k*/
- {{{-15,-15,-15,-15,-15,-10,-10,-5, 4, 10, 10, 10, 10, 12, 12, 14, 20},
- {-15,-15,-15,-15,-15,-10,-10, -5, 0, 0, 4, 5, 5, 6, 8, 8, 15},
- {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
-
- {{{-15,-15,-15,-15,-15,-10,-10,-5, 4, 6, 6, 6, 6, 8, 10, 12, 20},
- {-15,-15,-15,-15,-15,-15,-15,-10, -5, -5, -5, 4, 5, 6, 8, 8, 15},
- {-30,-30,-30,-30,-30,-24,-20,-14,-10,-10,-10,-10,-10,-10,-10,-10,-10}}},
-
- {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 5, 8, 12},
- {-20,-20,-20,-20,-16,-12,-20,-14,-10,-10, -8, 0, 0, 0, 0, 2, 5},
- {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
-
- {{{-15,-15,-15,-15,-15,-12,-10, -8, -5, -5, -5, -5, -5, 0, 0, 0, 6},
- {-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10,-10,-10, -6},
- {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
-};
-
-static noise3 _psy_noisebias_16_impulse[4]={
- /* 63 125 250 500 1k 2k 4k 8k 16k*/
- {{{-15,-15,-15,-15,-15,-10,-10,-5, 4, 10, 10, 10, 10, 12, 12, 14, 20},
- {-15,-15,-15,-15,-15,-10,-10, -5, 0, 0, 4, 5, 5, 6, 8, 8, 15},
- {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
-
- {{{-15,-15,-15,-15,-15,-10,-10,-5, 4, 4, 4, 4, 5, 5, 6, 8, 15},
- {-15,-15,-15,-15,-15,-15,-15,-10, -5, -5, -5, 0, 0, 0, 0, 4, 10},
- {-30,-30,-30,-30,-30,-24,-20,-14,-10,-10,-10,-10,-10,-10,-10,-10,-10}}},
-
- {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 4, 10},
- {-20,-20,-20,-20,-16,-12,-20,-14,-10,-10,-10,-10,-10,-10,-10, -7, -5},
- {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
-
- {{{-15,-15,-15,-15,-15,-12,-10, -8, -5, -5, -5, -5, -5, 0, 0, 0, 6},
- {-30,-30,-30,-30,-26,-22,-20,-18,-18,-18,-20,-20,-20,-20,-20,-20,-16},
- {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
-};
-
-static noise3 _psy_noisebias_16[4]={
- /* 63 125 250 500 1k 2k 4k 8k 16k*/
- {{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 6, 8, 8, 10, 10, 10, 14, 20},
- {-10,-10,-10,-10,-10, -5, -2, -2, 0, 0, 0, 4, 5, 6, 8, 8, 15},
- {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
-
- {{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 6, 6, 6, 6, 8, 10, 12, 20},
- {-15,-15,-15,-15,-15,-10, -5, -5, 0, 0, 0, 4, 5, 6, 8, 8, 15},
- {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
-
- {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 5, 8, 12},
- {-20,-20,-20,-20,-16,-12,-20,-10, -5, -5, 0, 0, 0, 0, 0, 2, 5},
- {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
-
- {{{-15,-15,-15,-15,-15,-12,-10, -8, -5, -5, -5, -5, -5, 0, 0, 0, 6},
- {-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10,-10,-10, -6},
- {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
-};
-
-static double _noise_thresh_16[4]={ .3,.5,.5,.5 };
-
-static int _noise_start_16[3]={ 256,256,9999 };
-static int _noise_part_16[4]={ 8,8,8,8 };
-
-static int _psy_ath_floater_16[4]={
- -100,-100,-100,-105,
-};
-
-static int _psy_ath_abs_16[4]={
- -130,-130,-130,-140,
-};
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: toplevel residue templates 16/22kHz
- last mod: $Id: residue_16.h,v 1.3 2002/07/11 10:27:55 xiphmont Exp $
-
- ********************************************************************/
-
-/***** residue backends *********************************************/
-
-static static_bookblock _resbook_16s_0={
- {
- {0},
- {0,0,&_16c0_s_p1_0},
- {0,0,&_16c0_s_p2_0},
- {0,0,&_16c0_s_p3_0},
- {0,0,&_16c0_s_p4_0},
- {0,0,&_16c0_s_p5_0},
- {0,0,&_16c0_s_p6_0},
- {&_16c0_s_p7_0,&_16c0_s_p7_1},
- {&_16c0_s_p8_0,&_16c0_s_p8_1},
- {&_16c0_s_p9_0,&_16c0_s_p9_1,&_16c0_s_p9_2}
- }
-};
-static static_bookblock _resbook_16s_1={
- {
- {0},
- {0,0,&_16c1_s_p1_0},
- {0,0,&_16c1_s_p2_0},
- {0,0,&_16c1_s_p3_0},
- {0,0,&_16c1_s_p4_0},
- {0,0,&_16c1_s_p5_0},
- {0,0,&_16c1_s_p6_0},
- {&_16c1_s_p7_0,&_16c1_s_p7_1},
- {&_16c1_s_p8_0,&_16c1_s_p8_1},
- {&_16c1_s_p9_0,&_16c1_s_p9_1,&_16c1_s_p9_2}
- }
-};
-static static_bookblock _resbook_16s_2={
- {
- {0},
- {0,0,&_16c2_s_p1_0},
- {0,0,&_16c2_s_p2_0},
- {0,0,&_16c2_s_p3_0},
- {0,0,&_16c2_s_p4_0},
- {&_16c2_s_p5_0,&_16c2_s_p5_1},
- {&_16c2_s_p6_0,&_16c2_s_p6_1},
- {&_16c2_s_p7_0,&_16c2_s_p7_1},
- {&_16c2_s_p8_0,&_16c2_s_p8_1},
- {&_16c2_s_p9_0,&_16c2_s_p9_1,&_16c2_s_p9_2}
- }
-};
-
-static vorbis_residue_template _res_16s_0[]={
- {2,0, &_residue_44_mid,
- &_huff_book__16c0_s_single,&_huff_book__16c0_s_single,
- &_resbook_16s_0,&_resbook_16s_0},
-};
-static vorbis_residue_template _res_16s_1[]={
- {2,0, &_residue_44_mid,
- &_huff_book__16c1_s_short,&_huff_book__16c1_s_short,
- &_resbook_16s_1,&_resbook_16s_1},
-
- {2,0, &_residue_44_mid,
- &_huff_book__16c1_s_long,&_huff_book__16c1_s_long,
- &_resbook_16s_1,&_resbook_16s_1}
-};
-static vorbis_residue_template _res_16s_2[]={
- {2,0, &_residue_44_high,
- &_huff_book__16c2_s_short,&_huff_book__16c2_s_short,
- &_resbook_16s_2,&_resbook_16s_2},
-
- {2,0, &_residue_44_high,
- &_huff_book__16c2_s_long,&_huff_book__16c2_s_long,
- &_resbook_16s_2,&_resbook_16s_2}
-};
-
-static vorbis_mapping_template _mapres_template_16_stereo[3]={
- { _map_nominal, _res_16s_0 }, /* 0 */
- { _map_nominal, _res_16s_1 }, /* 1 */
- { _map_nominal, _res_16s_2 }, /* 2 */
-};
-
-static static_bookblock _resbook_16u_0={
- {
- {0},
- {0,0,&_16u0__p1_0},
- {0,0,&_16u0__p2_0},
- {0,0,&_16u0__p3_0},
- {0,0,&_16u0__p4_0},
- {0,0,&_16u0__p5_0},
- {&_16u0__p6_0,&_16u0__p6_1},
- {&_16u0__p7_0,&_16u0__p7_1,&_16u0__p7_2}
- }
-};
-static static_bookblock _resbook_16u_1={
- {
- {0},
- {0,0,&_16u1__p1_0},
- {0,0,&_16u1__p2_0},
- {0,0,&_16u1__p3_0},
- {0,0,&_16u1__p4_0},
- {0,0,&_16u1__p5_0},
- {0,0,&_16u1__p6_0},
- {&_16u1__p7_0,&_16u1__p7_1},
- {&_16u1__p8_0,&_16u1__p8_1},
- {&_16u1__p9_0,&_16u1__p9_1,&_16u1__p9_2}
- }
-};
-static static_bookblock _resbook_16u_2={
- {
- {0},
- {0,0,&_16u2_p1_0},
- {0,0,&_16u2_p2_0},
- {0,0,&_16u2_p3_0},
- {0,0,&_16u2_p4_0},
- {&_16u2_p5_0,&_16u2_p5_1},
- {&_16u2_p6_0,&_16u2_p6_1},
- {&_16u2_p7_0,&_16u2_p7_1},
- {&_16u2_p8_0,&_16u2_p8_1},
- {&_16u2_p9_0,&_16u2_p9_1,&_16u2_p9_2}
- }
-};
-
-static vorbis_residue_template _res_16u_0[]={
- {1,0, &_residue_44_low_un,
- &_huff_book__16u0__single,&_huff_book__16u0__single,
- &_resbook_16u_0,&_resbook_16u_0},
-};
-static vorbis_residue_template _res_16u_1[]={
- {1,0, &_residue_44_mid_un,
- &_huff_book__16u1__short,&_huff_book__16u1__short,
- &_resbook_16u_1,&_resbook_16u_1},
-
- {1,0, &_residue_44_mid_un,
- &_huff_book__16u1__long,&_huff_book__16u1__long,
- &_resbook_16u_1,&_resbook_16u_1}
-};
-static vorbis_residue_template _res_16u_2[]={
- {1,0, &_residue_44_hi_un,
- &_huff_book__16u2__short,&_huff_book__16u2__short,
- &_resbook_16u_2,&_resbook_16u_2},
-
- {1,0, &_residue_44_hi_un,
- &_huff_book__16u2__long,&_huff_book__16u2__long,
- &_resbook_16u_2,&_resbook_16u_2}
-};
-
-
-static vorbis_mapping_template _mapres_template_16_uncoupled[3]={
- { _map_nominal_u, _res_16u_0 }, /* 0 */
- { _map_nominal_u, _res_16u_1 }, /* 1 */
- { _map_nominal_u, _res_16u_2 }, /* 2 */
-};
-
-static int blocksize_16_short[3]={
- 1024,512,512
-};
-static int blocksize_16_long[3]={
- 1024,1024,1024
-};
-
-static int _floor_mapping_16_short[3]={
- 9,3,3
-};
-static int _floor_mapping_16[3]={
- 9,9,9
-};
-
-static double rate_mapping_16[4]={
- 12000.,20000.,44000.,86000.
-};
-
-static double rate_mapping_16_uncoupled[4]={
- 16000.,28000.,64000.,100000.
-};
-
-static double _global_mapping_16[4]={ 1., 2., 3., 4. };
-
-static double quality_mapping_16[4]={ -.1,.05,.5,1. };
-
-static double _psy_compand_16_mapping[4]={ 0., .8, 1., 1.};
-
-ve_setup_data_template ve_setup_16_stereo={
- 3,
- rate_mapping_16,
- quality_mapping_16,
- 2,
- 15000,
- 19000,
-
- blocksize_16_short,
- blocksize_16_long,
-
- _psy_tone_masteratt_16,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_16,
- _vp_tonemask_adj_16,
- _vp_tonemask_adj_16,
-
- _psy_noiseguards_8,
- _psy_noisebias_16_impulse,
- _psy_noisebias_16_short,
- _psy_noisebias_16_short,
- _psy_noisebias_16,
- _psy_noise_suppress,
-
- _psy_compand_8,
- _psy_compand_16_mapping,
- _psy_compand_16_mapping,
-
- {_noise_start_16,_noise_start_16},
- { _noise_part_16, _noise_part_16},
- _noise_thresh_16,
-
- _psy_ath_floater_16,
- _psy_ath_abs_16,
-
- _psy_lowpass_16,
-
- _psy_global_44,
- _global_mapping_16,
- _psy_stereo_modes_16,
-
- _floor_books,
- _floor,
- _floor_mapping_16_short,
- _floor_mapping_16,
-
- _mapres_template_16_stereo
-};
-
-ve_setup_data_template ve_setup_16_uncoupled={
- 3,
- rate_mapping_16_uncoupled,
- quality_mapping_16,
- -1,
- 15000,
- 19000,
-
- blocksize_16_short,
- blocksize_16_long,
-
- _psy_tone_masteratt_16,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_16,
- _vp_tonemask_adj_16,
- _vp_tonemask_adj_16,
-
- _psy_noiseguards_8,
- _psy_noisebias_16_impulse,
- _psy_noisebias_16_short,
- _psy_noisebias_16_short,
- _psy_noisebias_16,
- _psy_noise_suppress,
-
- _psy_compand_8,
- _psy_compand_16_mapping,
- _psy_compand_16_mapping,
-
- {_noise_start_16,_noise_start_16},
- { _noise_part_16, _noise_part_16},
- _noise_thresh_16,
-
- _psy_ath_floater_16,
- _psy_ath_abs_16,
-
- _psy_lowpass_16,
-
- _psy_global_44,
- _global_mapping_16,
- _psy_stereo_modes_16,
-
- _floor_books,
- _floor,
- _floor_mapping_16_short,
- _floor_mapping_16,
-
- _mapres_template_16_uncoupled
-};
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: 22kHz settings
- last mod: $Id: setup_22.h,v 1.3 2002/07/11 10:02:29 xiphmont Exp $
-
- ********************************************************************/
-
-static double rate_mapping_22[4]={
- 15000.,20000.,44000.,86000.
-};
-
-static double rate_mapping_22_uncoupled[4]={
- 16000.,28000.,50000.,90000.
-};
-
-static double _psy_lowpass_22[4]={9.5,11.,30.,99.};
-
-ve_setup_data_template ve_setup_22_stereo={
- 3,
- rate_mapping_22,
- quality_mapping_16,
- 2,
- 19000,
- 26000,
-
- blocksize_16_short,
- blocksize_16_long,
-
- _psy_tone_masteratt_16,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_16,
- _vp_tonemask_adj_16,
- _vp_tonemask_adj_16,
-
- _psy_noiseguards_8,
- _psy_noisebias_16_impulse,
- _psy_noisebias_16_short,
- _psy_noisebias_16_short,
- _psy_noisebias_16,
- _psy_noise_suppress,
-
- _psy_compand_8,
- _psy_compand_8_mapping,
- _psy_compand_8_mapping,
-
- {_noise_start_16,_noise_start_16},
- { _noise_part_16, _noise_part_16},
- _noise_thresh_16,
-
- _psy_ath_floater_16,
- _psy_ath_abs_16,
-
- _psy_lowpass_22,
-
- _psy_global_44,
- _global_mapping_16,
- _psy_stereo_modes_16,
-
- _floor_books,
- _floor,
- _floor_mapping_16_short,
- _floor_mapping_16,
-
- _mapres_template_16_stereo
-};
-
-ve_setup_data_template ve_setup_22_uncoupled={
- 3,
- rate_mapping_22_uncoupled,
- quality_mapping_16,
- -1,
- 19000,
- 26000,
-
- blocksize_16_short,
- blocksize_16_long,
-
- _psy_tone_masteratt_16,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_16,
- _vp_tonemask_adj_16,
- _vp_tonemask_adj_16,
-
- _psy_noiseguards_8,
- _psy_noisebias_16_impulse,
- _psy_noisebias_16_short,
- _psy_noisebias_16_short,
- _psy_noisebias_16,
- _psy_noise_suppress,
-
- _psy_compand_8,
- _psy_compand_8_mapping,
- _psy_compand_8_mapping,
-
- {_noise_start_16,_noise_start_16},
- { _noise_part_16, _noise_part_16},
- _noise_thresh_16,
-
- _psy_ath_floater_16,
- _psy_ath_abs_16,
-
- _psy_lowpass_22,
-
- _psy_global_44,
- _global_mapping_16,
- _psy_stereo_modes_16,
-
- _floor_books,
- _floor,
- _floor_mapping_16_short,
- _floor_mapping_16,
-
- _mapres_template_16_uncoupled
-};
-
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the XIPHOPHORUS Company http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: catch-all toplevel settings for q modes only
- last mod: $Id: setup_X.h,v 1.3 2002/07/11 06:41:05 xiphmont Exp $
-
- ********************************************************************/
-
-static double rate_mapping_X[11]={
- -1.,-1.,-1.,-1.,-1.,
- -1.,-1.,-1.,-1.,-1.,-1.
-};
-
-ve_setup_data_template ve_setup_X_stereo={
- 10,
- rate_mapping_X,
- quality_mapping_44,
- 2,
- 50000,
- 200000,
-
- blocksize_short_44,
- blocksize_long_44,
-
- _psy_tone_masteratt_44,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_otherblock,
- _vp_tonemask_adj_longblock,
- _vp_tonemask_adj_otherblock,
-
- _psy_noiseguards_44,
- _psy_noisebias_impulse,
- _psy_noisebias_padding,
- _psy_noisebias_trans,
- _psy_noisebias_long,
- _psy_noise_suppress,
-
- _psy_compand_44,
- _psy_compand_short_mapping,
- _psy_compand_long_mapping,
-
- {_noise_start_short_44,_noise_start_long_44},
- {_noise_part_short_44,_noise_part_long_44},
- _noise_thresh_44,
-
- _psy_ath_floater,
- _psy_ath_abs,
-
- _psy_lowpass_44,
-
- _psy_global_44,
- _global_mapping_44,
- _psy_stereo_modes_44,
-
- _floor_books,
- _floor,
- _floor_short_mapping_44,
- _floor_long_mapping_44,
-
- _mapres_template_44_stereo
-};
-
-ve_setup_data_template ve_setup_X_uncoupled={
- 10,
- rate_mapping_X,
- quality_mapping_44,
- -1,
- 50000,
- 200000,
-
- blocksize_short_44,
- blocksize_long_44,
-
- _psy_tone_masteratt_44,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_otherblock,
- _vp_tonemask_adj_longblock,
- _vp_tonemask_adj_otherblock,
-
- _psy_noiseguards_44,
- _psy_noisebias_impulse,
- _psy_noisebias_padding,
- _psy_noisebias_trans,
- _psy_noisebias_long,
- _psy_noise_suppress,
-
- _psy_compand_44,
- _psy_compand_short_mapping,
- _psy_compand_long_mapping,
-
- {_noise_start_short_44,_noise_start_long_44},
- {_noise_part_short_44,_noise_part_long_44},
- _noise_thresh_44_2,
-
- _psy_ath_floater,
- _psy_ath_abs,
-
- _psy_lowpass_44,
-
- _psy_global_44,
- _global_mapping_44,
- NULL,
-
- _floor_books,
- _floor,
- _floor_short_mapping_44,
- _floor_long_mapping_44,
-
- _mapres_template_44_uncoupled
-};
-
-ve_setup_data_template ve_setup_X_stereo_low={
- 1,
- rate_mapping_X,
- quality_mapping_44_stereo_low,
- 2,
- 50000,
- 200000,
-
- blocksize_short_44_low,
- blocksize_long_44_low,
-
- _psy_tone_masteratt_44_low,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_otherblock,
- _vp_tonemask_adj_longblock,
- _vp_tonemask_adj_otherblock,
-
- _psy_noiseguards_44,
- _psy_noisebias_trans_low,
- _psy_noisebias_trans_low,
- _psy_noisebias_trans_low,
- _psy_noisebias_long_low,
- _psy_noise_suppress,
-
- _psy_compand_44,
- _psy_compand_short_mapping,
- _psy_compand_long_mapping,
-
- {_noise_start_short_44_low,_noise_start_long_44_low},
- {_noise_part_short_44,_noise_part_long_44},
- _noise_thresh_44,
-
- _psy_ath_floater,
- _psy_ath_abs,
-
- _psy_lowpass_44_low,
-
- _psy_global_44,
- _global_mapping_44,
- _psy_stereo_modes_44_low,
-
- _floor_books,
- _floor,
- _floor_short_mapping_44_low,
- _floor_long_mapping_44_low,
-
- _mapres_template_44_stereo
-};
-
-
-ve_setup_data_template ve_setup_X_uncoupled_low={
- 1,
- rate_mapping_X,
- quality_mapping_44_stereo_low,
- -1,
- 50000,
- 200000,
-
- blocksize_short_44_low,
- blocksize_long_44_low,
-
- _psy_tone_masteratt_44_low,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_otherblock,
- _vp_tonemask_adj_longblock,
- _vp_tonemask_adj_otherblock,
-
- _psy_noiseguards_44,
- _psy_noisebias_trans_low,
- _psy_noisebias_trans_low,
- _psy_noisebias_trans_low,
- _psy_noisebias_long_low,
- _psy_noise_suppress,
-
- _psy_compand_44,
- _psy_compand_short_mapping,
- _psy_compand_long_mapping,
-
- {_noise_start_short_44_low,_noise_start_long_44_low},
- {_noise_part_short_44,_noise_part_long_44},
- _noise_thresh_44_2,
-
- _psy_ath_floater,
- _psy_ath_abs,
-
- _psy_lowpass_44_low,
-
- _psy_global_44,
- _global_mapping_44,
- NULL,
-
- _floor_books,
- _floor,
- _floor_short_mapping_44_low,
- _floor_long_mapping_44_low,
-
- _mapres_template_44_uncoupled
-};
-
-ve_setup_data_template ve_setup_XX_stereo={
- 2,
- rate_mapping_X,
- quality_mapping_8,
- 2,
- 0,
- 8000,
-
- blocksize_8,
- blocksize_8,
-
- _psy_tone_masteratt_8,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_8,
- NULL,
- _vp_tonemask_adj_8,
-
- _psy_noiseguards_8,
- _psy_noisebias_8,
- _psy_noisebias_8,
- NULL,
- NULL,
- _psy_noise_suppress,
-
- _psy_compand_8,
- _psy_compand_8_mapping,
- NULL,
-
- {_noise_start_8,_noise_start_8},
- {_noise_part_8,_noise_part_8},
- _noise_thresh_44_2,
-
- _psy_ath_floater_8,
- _psy_ath_abs_8,
-
- _psy_lowpass_8,
-
- _psy_global_44,
- _global_mapping_8,
- _psy_stereo_modes_8,
-
- _floor_books,
- _floor,
- _floor_mapping_8,
- NULL,
-
- _mapres_template_8_stereo
-};
-
-ve_setup_data_template ve_setup_XX_uncoupled={
- 2,
- rate_mapping_X,
- quality_mapping_8,
- -1,
- 0,
- 8000,
-
- blocksize_8,
- blocksize_8,
-
- _psy_tone_masteratt_8,
- _psy_tone_0dB,
- _psy_tone_suppress,
-
- _vp_tonemask_adj_8,
- NULL,
- _vp_tonemask_adj_8,
-
- _psy_noiseguards_8,
- _psy_noisebias_8,
- _psy_noisebias_8,
- NULL,
- NULL,
- _psy_noise_suppress,
-
- _psy_compand_8,
- _psy_compand_8_mapping,
- NULL,
-
- {_noise_start_8,_noise_start_8},
- {_noise_part_8,_noise_part_8},
- _noise_thresh_44_2,
-
- _psy_ath_floater_8,
- _psy_ath_abs_8,
-
- _psy_lowpass_8,
-
- _psy_global_44,
- _global_mapping_8,
- _psy_stereo_modes_8,
-
- _floor_books,
- _floor,
- _floor_mapping_8,
- NULL,
-
- _mapres_template_8_uncoupled
-};
-
-
-static ve_setup_data_template *setup_list[]={
- &ve_setup_44_stereo,
- &ve_setup_44_stereo_low,
- &ve_setup_44_uncoupled,
- &ve_setup_44_uncoupled_low,
-
- &ve_setup_32_stereo,
- &ve_setup_32_stereo_low,
- &ve_setup_32_uncoupled,
- &ve_setup_32_uncoupled_low,
-
- &ve_setup_22_stereo,
- &ve_setup_22_uncoupled,
- &ve_setup_16_stereo,
- &ve_setup_16_uncoupled,
-
- &ve_setup_11_stereo,
- &ve_setup_11_uncoupled,
- &ve_setup_8_stereo,
- &ve_setup_8_uncoupled,
-
- &ve_setup_X_stereo,
- &ve_setup_X_uncoupled,
- &ve_setup_X_stereo_low,
- &ve_setup_X_uncoupled_low,
- &ve_setup_XX_stereo,
- &ve_setup_XX_uncoupled,
- 0
-};
-
-static int vorbis_encode_toplevel_setup(vorbis_info *vi,int ch,long rate){
- if(vi && vi->codec_setup){
-
- vi->version=0;
- vi->channels=ch;
- vi->rate=rate;
-
- return(0);
- }
- return(OV_EINVAL);
-}
-
-static void vorbis_encode_floor_setup(vorbis_info *vi,double s,int block,
- static_codebook ***books,
- vorbis_info_floor1 *in,
- int *x){
- int i,k,is=s;
- vorbis_info_floor1 *f=_ogg_calloc(1,sizeof(*f));
- codec_setup_info *ci=vi->codec_setup;
-
- memcpy(f,in+x[is],sizeof(*f));
- /* fill in the lowpass field, even if it's temporary */
- f->n=ci->blocksizes[block]>>1;
-
- /* books */
- {
- int partitions=f->partitions;
- int maxclass=-1;
- int maxbook=-1;
- for(i=0;ipartitionclass[i]>maxclass)maxclass=f->partitionclass[i];
- for(i=0;i<=maxclass;i++){
- if(f->class_book[i]>maxbook)maxbook=f->class_book[i];
- f->class_book[i]+=ci->books;
- for(k=0;k<(1<class_subs[i]);k++){
- if(f->class_subbook[i][k]>maxbook)maxbook=f->class_subbook[i][k];
- if(f->class_subbook[i][k]>=0)f->class_subbook[i][k]+=ci->books;
- }
- }
-
- for(i=0;i<=maxbook;i++)
- ci->book_param[ci->books++]=books[x[is]][i];
- }
-
- /* for now, we're only using floor 1 */
- ci->floor_type[ci->floors]=1;
- ci->floor_param[ci->floors]=f;
- ci->floors++;
-
- return;
-}
-
-static void vorbis_encode_global_psych_setup(vorbis_info *vi,double s,
- vorbis_info_psy_global *in,
- double *x){
- int i,is=s;
- double ds=s-is;
- codec_setup_info *ci=vi->codec_setup;
- vorbis_info_psy_global *g=&ci->psy_g_param;
-
- memcpy(g,in+(int)x[is],sizeof(*g));
-
- ds=x[is]*(1.-ds)+x[is+1]*ds;
- is=(int)ds;
- ds-=is;
- if(ds==0 && is>0){
- is--;
- ds=1.;
- }
-
- /* interpolate the trigger threshholds */
- for(i=0;i<4;i++){
- g->preecho_thresh[i]=in[is].preecho_thresh[i]*(1.-ds)+in[is+1].preecho_thresh[i]*ds;
- g->postecho_thresh[i]=in[is].postecho_thresh[i]*(1.-ds)+in[is+1].postecho_thresh[i]*ds;
- }
- g->ampmax_att_per_sec=ci->hi.amplitude_track_dBpersec;
- return;
-}
-
-static void vorbis_encode_global_stereo(vorbis_info *vi,
- highlevel_encode_setup *hi,
- adj_stereo *p){
- float s=hi->stereo_point_setting;
- int i,is=s;
- double ds=s-is;
- codec_setup_info *ci=vi->codec_setup;
- vorbis_info_psy_global *g=&ci->psy_g_param;
-
- if(p){
- memcpy(g->coupling_prepointamp,p[is].pre,sizeof(*p[is].pre)*PACKETBLOBS);
- memcpy(g->coupling_postpointamp,p[is].post,sizeof(*p[is].post)*PACKETBLOBS);
-
- if(hi->managed){
- /* interpolate the kHz threshholds */
- for(i=0;icoupling_pointlimit[0][i]=kHz*1000./vi->rate*ci->blocksizes[0];
- g->coupling_pointlimit[1][i]=kHz*1000./vi->rate*ci->blocksizes[1];
- g->coupling_pkHz[i]=kHz;
-
- kHz=p[is].lowpasskHz[i]*(1.-ds)+p[is+1].lowpasskHz[i]*ds;
- g->sliding_lowpass[0][i]=kHz*1000./vi->rate*ci->blocksizes[0];
- g->sliding_lowpass[1][i]=kHz*1000./vi->rate*ci->blocksizes[1];
-
- }
- }else{
- float kHz=p[is].kHz[PACKETBLOBS/2]*(1.-ds)+p[is+1].kHz[PACKETBLOBS/2]*ds;
- for(i=0;icoupling_pointlimit[0][i]=kHz*1000./vi->rate*ci->blocksizes[0];
- g->coupling_pointlimit[1][i]=kHz*1000./vi->rate*ci->blocksizes[1];
- g->coupling_pkHz[i]=kHz;
- }
-
- kHz=p[is].lowpasskHz[PACKETBLOBS/2]*(1.-ds)+p[is+1].lowpasskHz[PACKETBLOBS/2]*ds;
- for(i=0;isliding_lowpass[0][i]=kHz*1000./vi->rate*ci->blocksizes[0];
- g->sliding_lowpass[1][i]=kHz*1000./vi->rate*ci->blocksizes[1];
- }
- }
- }else{
- for(i=0;isliding_lowpass[0][i]=ci->blocksizes[0];
- g->sliding_lowpass[1][i]=ci->blocksizes[1];
- }
- }
- return;
-}
-
-static void vorbis_encode_psyset_setup(vorbis_info *vi,double s,
- int *nn_start,
- int *nn_partition,
- double *nn_thresh,
- int block){
- codec_setup_info *ci=vi->codec_setup;
- vorbis_info_psy *p=ci->psy_param[block];
- highlevel_encode_setup *hi=&ci->hi;
- int is=s;
-
- if(block>=ci->psys)
- ci->psys=block+1;
- if(!p){
- p=_ogg_calloc(1,sizeof(*p));
- ci->psy_param[block]=p;
- }
-
- memcpy(p,&_psy_info_template,sizeof(*p));
- p->blockflag=block>>1;
-
- if(hi->noise_normalize_p){
- p->normal_channel_p=1;
- p->normal_point_p=1;
- p->normal_start=nn_start[is];
- p->normal_partition=nn_partition[is];
- p->normal_thresh=nn_thresh[is];
- }
-
- return;
-}
-
-static void vorbis_encode_tonemask_setup(vorbis_info *vi,double s,int block,
- att3 *att,
- int *max,
- vp_adjblock *in){
- int i,is=s;
- double ds=s-is;
- codec_setup_info *ci=vi->codec_setup;
- vorbis_info_psy *p=ci->psy_param[block];
-
- /* 0 and 2 are only used by bitmanagement, but there's no harm to always
- filling the values in here */
- p->tone_masteratt[0]=att[is].att[0]*(1.-ds)+att[is+1].att[0]*ds;
- p->tone_masteratt[1]=att[is].att[1]*(1.-ds)+att[is+1].att[1]*ds;
- p->tone_masteratt[2]=att[is].att[2]*(1.-ds)+att[is+1].att[2]*ds;
- p->tone_centerboost=att[is].boost*(1.-ds)+att[is+1].boost*ds;
- p->tone_decay=att[is].decay*(1.-ds)+att[is+1].decay*ds;
-
- p->max_curve_dB=max[is]*(1.-ds)+max[is+1]*ds;
-
- for(i=0;itoneatt[i]=in[is].block[i]*(1.-ds)+in[is+1].block[i]*ds;
- return;
-}
-
-
-static void vorbis_encode_compand_setup(vorbis_info *vi,double s,int block,
- compandblock *in, double *x){
- int i,is=s;
- double ds=s-is;
- codec_setup_info *ci=vi->codec_setup;
- vorbis_info_psy *p=ci->psy_param[block];
-
- ds=x[is]*(1.-ds)+x[is+1]*ds;
- is=(int)ds;
- ds-=is;
- if(ds==0 && is>0){
- is--;
- ds=1.;
- }
-
- /* interpolate the compander settings */
- for(i=0;inoisecompand[i]=in[is].data[i]*(1.-ds)+in[is+1].data[i]*ds;
- return;
-}
-
-static void vorbis_encode_peak_setup(vorbis_info *vi,double s,int block,
- int *suppress){
- int is=s;
- double ds=s-is;
- codec_setup_info *ci=vi->codec_setup;
- vorbis_info_psy *p=ci->psy_param[block];
-
- p->tone_abs_limit=suppress[is]*(1.-ds)+suppress[is+1]*ds;
-
- return;
-}
-
-static void vorbis_encode_noisebias_setup(vorbis_info *vi,double s,int block,
- int *suppress,
- noise3 *in,
- noiseguard *guard,
- double userbias){
- int i,is=s,j;
- double ds=s-is;
- codec_setup_info *ci=vi->codec_setup;
- vorbis_info_psy *p=ci->psy_param[block];
-
- p->noisemaxsupp=suppress[is]*(1.-ds)+suppress[is+1]*ds;
- p->noisewindowlomin=guard[block].lo;
- p->noisewindowhimin=guard[block].hi;
- p->noisewindowfixed=guard[block].fixed;
-
- for(j=0;jnoiseoff[j][i]=in[is].data[j][i]*(1.-ds)+in[is+1].data[j][i]*ds;
-
- /* impulse blocks may take a user specified bias to boost the
- nominal/high noise encoding depth */
- for(j=0;jnoiseoff[j][0]+6; /* the lowest it can go */
- for(i=0;inoiseoff[j][i]+=userbias;
- if(p->noiseoff[j][i]noiseoff[j][i]=min;
- }
- }
-
- return;
-}
-
-static void vorbis_encode_ath_setup(vorbis_info *vi,int block){
- codec_setup_info *ci=vi->codec_setup;
- vorbis_info_psy *p=ci->psy_param[block];
-
- p->ath_adjatt=ci->hi.ath_floating_dB;
- p->ath_maxatt=ci->hi.ath_absolute_dB;
- return;
-}
-
-
-static int book_dup_or_new(codec_setup_info *ci,static_codebook *book){
- int i;
- for(i=0;ibooks;i++)
- if(ci->book_param[i]==book)return(i);
-
- return(ci->books++);
-}
-
-static void vorbis_encode_blocksize_setup(vorbis_info *vi,double s,
- int *shortb,int *longb){
-
- codec_setup_info *ci=vi->codec_setup;
- int is=s;
-
- int blockshort=shortb[is];
- int blocklong=longb[is];
- ci->blocksizes[0]=blockshort;
- ci->blocksizes[1]=blocklong;
-
-}
-
-static void vorbis_encode_residue_setup(vorbis_info *vi,
- int number, int block,
- vorbis_residue_template *res){
-
- codec_setup_info *ci=vi->codec_setup;
- int i,n;
-
- vorbis_info_residue0 *r=ci->residue_param[number]=
- _ogg_malloc(sizeof(*r));
-
- memcpy(r,res->res,sizeof(*r));
- if(ci->residues<=number)ci->residues=number+1;
-
- switch(ci->blocksizes[block]){
- case 64:case 128:case 256:
- r->grouping=16;
- break;
- default:
- r->grouping=32;
- break;
- }
- ci->residue_type[number]=res->res_type;
-
- /* to be adjusted by lowpass/pointlimit later */
- n=r->end=ci->blocksizes[block]>>1;
- if(res->res_type==2)
- n=r->end*=vi->channels;
-
- /* fill in all the books */
- {
- int booklist=0,k;
-
- if(ci->hi.managed){
- for(i=0;ipartitions;i++)
- for(k=0;k<3;k++)
- if(res->books_base_managed->books[i][k])
- r->secondstages[i]|=(1<groupbook=book_dup_or_new(ci,res->book_aux_managed);
- ci->book_param[r->groupbook]=res->book_aux_managed;
-
- for(i=0;ipartitions;i++){
- for(k=0;k<3;k++){
- if(res->books_base_managed->books[i][k]){
- int bookid=book_dup_or_new(ci,res->books_base_managed->books[i][k]);
- r->booklist[booklist++]=bookid;
- ci->book_param[bookid]=res->books_base_managed->books[i][k];
- }
- }
- }
-
- }else{
-
- for(i=0;ipartitions;i++)
- for(k=0;k<3;k++)
- if(res->books_base->books[i][k])
- r->secondstages[i]|=(1<groupbook=book_dup_or_new(ci,res->book_aux);
- ci->book_param[r->groupbook]=res->book_aux;
-
- for(i=0;ipartitions;i++){
- for(k=0;k<3;k++){
- if(res->books_base->books[i][k]){
- int bookid=book_dup_or_new(ci,res->books_base->books[i][k]);
- r->booklist[booklist++]=bookid;
- ci->book_param[bookid]=res->books_base->books[i][k];
- }
- }
- }
- }
- }
-
- /* lowpass setup/pointlimit */
- {
- double freq=ci->hi.lowpass_kHz*1000.;
- vorbis_info_floor1 *f=ci->floor_param[block]; /* by convention */
- double nyq=vi->rate/2.;
- long blocksize=ci->blocksizes[block]>>1;
-
- /* lowpass needs to be set in the floor and the residue. */
- if(freq>nyq)freq=nyq;
- /* in the floor, the granularity can be very fine; it doesn't alter
- the encoding structure, only the samples used to fit the floor
- approximation */
- f->n=freq/nyq*blocksize;
-
- /* this res may by limited by the maximum pointlimit of the mode,
- not the lowpass. the floor is always lowpass limited. */
- if(res->limit_type){
- if(ci->hi.managed)
- freq=ci->psy_g_param.coupling_pkHz[PACKETBLOBS-1]*1000.;
- else
- freq=ci->psy_g_param.coupling_pkHz[PACKETBLOBS/2]*1000.;
- if(freq>nyq)freq=nyq;
- }
-
- /* in the residue, we're constrained, physically, by partition
- boundaries. We still lowpass 'wherever', but we have to round up
- here to next boundary, or the vorbis spec will round it *down* to
- previous boundary in encode/decode */
- if(ci->residue_type[block]==2)
- r->end=(int)((freq/nyq*blocksize*2)/r->grouping+.9)* /* round up only if we're well past */
- r->grouping;
- else
- r->end=(int)((freq/nyq*blocksize)/r->grouping+.9)* /* round up only if we're well past */
- r->grouping;
- }
-}
-
-/* we assume two maps in this encoder */
-static void vorbis_encode_map_n_res_setup(vorbis_info *vi,double s,
- vorbis_mapping_template *maps){
-
- codec_setup_info *ci=vi->codec_setup;
- int i,j,is=s,modes=2;
- vorbis_info_mapping0 *map=maps[is].map;
- vorbis_info_mode *mode=_mode_template;
- vorbis_residue_template *res=maps[is].res;
-
- if(ci->blocksizes[0]==ci->blocksizes[1])modes=1;
-
- for(i=0;imap_param[i]=_ogg_calloc(1,sizeof(*map));
- ci->mode_param[i]=_ogg_calloc(1,sizeof(*mode));
-
- memcpy(ci->mode_param[i],mode+i,sizeof(*_mode_template));
- if(i>=ci->modes)ci->modes=i+1;
-
- ci->map_type[i]=0;
- memcpy(ci->map_param[i],map+i,sizeof(*map));
- if(i>=ci->maps)ci->maps=i+1;
-
- for(j=0;j