⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 huffsv7.cpp

📁 betaplayer的源码 tcpmp的老版本
💻 CPP
📖 第 1 页 / 共 2 页
字号:
#include "stdafx.h"voidMPC_decoder::Huffman_SV7_Decoder ( void ){    Huffman_SV7_Encoder ();    Resort_HuffTables(10, &HuffHdr[0]   , 5);    Resort_HuffTables( 4, &HuffSCFI[0]  , 0);    Resort_HuffTables(16, &HuffDSCF[0]  , 7);    Resort_HuffTables(27, &HuffQ1[0][0] , 0);    Resort_HuffTables(27, &HuffQ1[1][0] , 0);    Resort_HuffTables(25, &HuffQ2[0][0] , 0);    Resort_HuffTables(25, &HuffQ2[1][0] , 0);    Resort_HuffTables( 7, &HuffQ3[0][0] , Dc[3]);    Resort_HuffTables( 7, &HuffQ3[1][0] , Dc[3]);    Resort_HuffTables( 9, &HuffQ4[0][0] , Dc[4]);    Resort_HuffTables( 9, &HuffQ4[1][0] , Dc[4]);    Resort_HuffTables(15, &HuffQ5[0][0] , Dc[5]);    Resort_HuffTables(15, &HuffQ5[1][0] , Dc[5]);    Resort_HuffTables(31, &HuffQ6[0][0] , Dc[6]);    Resort_HuffTables(31, &HuffQ6[1][0] , Dc[6]);    Resort_HuffTables(63, &HuffQ7[0][0] , Dc[7]);    Resort_HuffTables(63, &HuffQ7[1][0] , Dc[7]);}voidMPC_decoder::Huffman_SV7_Encoder ( void ){    /***************************** SCFI *******************************/    HuffSCFI[0].Code = 2; HuffSCFI[0].Length = 3;    HuffSCFI[1].Code = 1; HuffSCFI[1].Length = 1;    HuffSCFI[2].Code = 3; HuffSCFI[2].Length = 3;    HuffSCFI[3].Code = 0; HuffSCFI[3].Length = 2;    /***************************** DSCF *******************************/    HuffDSCF[ 0].Code = 32; HuffDSCF[ 0].Length = 6;    HuffDSCF[ 1].Code =  4; HuffDSCF[ 1].Length = 5;    HuffDSCF[ 2].Code = 17; HuffDSCF[ 2].Length = 5;    HuffDSCF[ 3].Code = 30; HuffDSCF[ 3].Length = 5;    HuffDSCF[ 4].Code = 13; HuffDSCF[ 4].Length = 4;    HuffDSCF[ 5].Code =  0; HuffDSCF[ 5].Length = 3;    HuffDSCF[ 6].Code =  3; HuffDSCF[ 6].Length = 3;    HuffDSCF[ 7].Code =  9; HuffDSCF[ 7].Length = 4;    HuffDSCF[ 8].Code =  5; HuffDSCF[ 8].Length = 3;    HuffDSCF[ 9].Code =  2; HuffDSCF[ 9].Length = 3;    HuffDSCF[10].Code = 14; HuffDSCF[10].Length = 4;    HuffDSCF[11].Code =  3; HuffDSCF[11].Length = 4;    HuffDSCF[12].Code = 31; HuffDSCF[12].Length = 5;    HuffDSCF[13].Code =  5; HuffDSCF[13].Length = 5;    HuffDSCF[14].Code = 33; HuffDSCF[14].Length = 6;    HuffDSCF[15].Code = 12; HuffDSCF[15].Length = 4;    /************************* frame-header ***************************/    /***************** differential quantizer indizes *****************/    HuffHdr[0].Code =  92; HuffHdr[0].Length = 8;    HuffHdr[1].Code =  47; HuffHdr[1].Length = 7;    HuffHdr[2].Code =  10; HuffHdr[2].Length = 5;    HuffHdr[3].Code =   4; HuffHdr[3].Length = 4;    HuffHdr[4].Code =   0; HuffHdr[4].Length = 2;    HuffHdr[5].Code =   1; HuffHdr[5].Length = 1;    HuffHdr[6].Code =   3; HuffHdr[6].Length = 3;    HuffHdr[7].Code =  22; HuffHdr[7].Length = 6;    HuffHdr[8].Code = 187; HuffHdr[8].Length = 9;    HuffHdr[9].Code = 186; HuffHdr[9].Length = 9;    /********************** 3-step quantizer **************************/    /********************* 3 bundled samples **************************/    //less shaped, book 0    HuffQ1[0][ 0].Code = 54; HuffQ1[0][ 0].Length = 6;    HuffQ1[0][ 1].Code =  9; HuffQ1[0][ 1].Length = 5;    HuffQ1[0][ 2].Code = 32; HuffQ1[0][ 2].Length = 6;    HuffQ1[0][ 3].Code =  5; HuffQ1[0][ 3].Length = 5;    HuffQ1[0][ 4].Code = 10; HuffQ1[0][ 4].Length = 4;    HuffQ1[0][ 5].Code =  7; HuffQ1[0][ 5].Length = 5;    HuffQ1[0][ 6].Code = 52; HuffQ1[0][ 6].Length = 6;    HuffQ1[0][ 7].Code =  0; HuffQ1[0][ 7].Length = 5;    HuffQ1[0][ 8].Code = 35; HuffQ1[0][ 8].Length = 6;    HuffQ1[0][ 9].Code = 10; HuffQ1[0][ 9].Length = 5;    HuffQ1[0][10].Code =  6; HuffQ1[0][10].Length = 4;    HuffQ1[0][11].Code =  4; HuffQ1[0][11].Length = 5;    HuffQ1[0][12].Code = 11; HuffQ1[0][12].Length = 4;    HuffQ1[0][13].Code =  7; HuffQ1[0][13].Length = 3;    HuffQ1[0][14].Code = 12; HuffQ1[0][14].Length = 4;    HuffQ1[0][15].Code =  3; HuffQ1[0][15].Length = 5;    HuffQ1[0][16].Code =  7; HuffQ1[0][16].Length = 4;    HuffQ1[0][17].Code = 11; HuffQ1[0][17].Length = 5;    HuffQ1[0][18].Code = 34; HuffQ1[0][18].Length = 6;    HuffQ1[0][19].Code =  1; HuffQ1[0][19].Length = 5;    HuffQ1[0][20].Code = 53; HuffQ1[0][20].Length = 6;    HuffQ1[0][21].Code =  6; HuffQ1[0][21].Length = 5;    HuffQ1[0][22].Code =  9; HuffQ1[0][22].Length = 4;    HuffQ1[0][23].Code =  2; HuffQ1[0][23].Length = 5;    HuffQ1[0][24].Code = 33; HuffQ1[0][24].Length = 6;    HuffQ1[0][25].Code =  8; HuffQ1[0][25].Length = 5;    HuffQ1[0][26].Code = 55; HuffQ1[0][26].Length = 6;    //more shaped, book 1    HuffQ1[1][ 0].Code = 103; HuffQ1[1][ 0].Length = 8;    HuffQ1[1][ 1].Code =  62; HuffQ1[1][ 1].Length = 7;    HuffQ1[1][ 2].Code = 225; HuffQ1[1][ 2].Length = 9;    HuffQ1[1][ 3].Code =  55; HuffQ1[1][ 3].Length = 7;    HuffQ1[1][ 4].Code =   3; HuffQ1[1][ 4].Length = 4;    HuffQ1[1][ 5].Code =  52; HuffQ1[1][ 5].Length = 7;    HuffQ1[1][ 6].Code = 101; HuffQ1[1][ 6].Length = 8;    HuffQ1[1][ 7].Code =  60; HuffQ1[1][ 7].Length = 7;    HuffQ1[1][ 8].Code = 227; HuffQ1[1][ 8].Length = 9;    HuffQ1[1][ 9].Code =  24; HuffQ1[1][ 9].Length = 6;    HuffQ1[1][10].Code =   0; HuffQ1[1][10].Length = 4;    HuffQ1[1][11].Code =  61; HuffQ1[1][11].Length = 7;    HuffQ1[1][12].Code =   4; HuffQ1[1][12].Length = 4;    HuffQ1[1][13].Code =   1; HuffQ1[1][13].Length = 1;    HuffQ1[1][14].Code =   5; HuffQ1[1][14].Length = 4;    HuffQ1[1][15].Code =  63; HuffQ1[1][15].Length = 7;    HuffQ1[1][16].Code =   1; HuffQ1[1][16].Length = 4;    HuffQ1[1][17].Code =  59; HuffQ1[1][17].Length = 7;    HuffQ1[1][18].Code = 226; HuffQ1[1][18].Length = 9;    HuffQ1[1][19].Code =  57; HuffQ1[1][19].Length = 7;    HuffQ1[1][20].Code = 100; HuffQ1[1][20].Length = 8;    HuffQ1[1][21].Code =  53; HuffQ1[1][21].Length = 7;    HuffQ1[1][22].Code =   2; HuffQ1[1][22].Length = 4;    HuffQ1[1][23].Code =  54; HuffQ1[1][23].Length = 7;    HuffQ1[1][24].Code = 224; HuffQ1[1][24].Length = 9;    HuffQ1[1][25].Code =  58; HuffQ1[1][25].Length = 7;    HuffQ1[1][26].Code = 102; HuffQ1[1][26].Length = 8;    /********************** 5-step quantizer **************************/    /********************* 2 bundled samples **************************/    //less shaped, book 0    HuffQ2[0][ 0].Code =  89; HuffQ2[0][ 0].Length = 7;    HuffQ2[0][ 1].Code =  47; HuffQ2[0][ 1].Length = 6;    HuffQ2[0][ 2].Code =  15; HuffQ2[0][ 2].Length = 5;    HuffQ2[0][ 3].Code =   0; HuffQ2[0][ 3].Length = 5;    HuffQ2[0][ 4].Code =  91; HuffQ2[0][ 4].Length = 7;    HuffQ2[0][ 5].Code =   4; HuffQ2[0][ 5].Length = 5;    HuffQ2[0][ 6].Code =   6; HuffQ2[0][ 6].Length = 4;    HuffQ2[0][ 7].Code =  13; HuffQ2[0][ 7].Length = 4;    HuffQ2[0][ 8].Code =   4; HuffQ2[0][ 8].Length = 4;    HuffQ2[0][ 9].Code =   5; HuffQ2[0][ 9].Length = 5;    HuffQ2[0][10].Code =  20; HuffQ2[0][10].Length = 5;    HuffQ2[0][11].Code =  12; HuffQ2[0][11].Length = 4;    HuffQ2[0][12].Code =   4; HuffQ2[0][12].Length = 3;    HuffQ2[0][13].Code =  15; HuffQ2[0][13].Length = 4;    HuffQ2[0][14].Code =  14; HuffQ2[0][14].Length = 5;    HuffQ2[0][15].Code =   3; HuffQ2[0][15].Length = 5;    HuffQ2[0][16].Code =   3; HuffQ2[0][16].Length = 4;    HuffQ2[0][17].Code =  14; HuffQ2[0][17].Length = 4;    HuffQ2[0][18].Code =   5; HuffQ2[0][18].Length = 4;    HuffQ2[0][19].Code =   1; HuffQ2[0][19].Length = 5;    HuffQ2[0][20].Code =  90; HuffQ2[0][20].Length = 7;    HuffQ2[0][21].Code =   2; HuffQ2[0][21].Length = 5;    HuffQ2[0][22].Code =  21; HuffQ2[0][22].Length = 5;    HuffQ2[0][23].Code =  46; HuffQ2[0][23].Length = 6;    HuffQ2[0][24].Code =  88; HuffQ2[0][24].Length = 7;    //more shaped, book 1    HuffQ2[1][ 0].Code =  921; HuffQ2[1][ 0].Length = 10;    HuffQ2[1][ 1].Code =  113; HuffQ2[1][ 1].Length =  7;    HuffQ2[1][ 2].Code =   51; HuffQ2[1][ 2].Length =  6;    HuffQ2[1][ 3].Code =  231; HuffQ2[1][ 3].Length =  8;    HuffQ2[1][ 4].Code =  922; HuffQ2[1][ 4].Length = 10;    HuffQ2[1][ 5].Code =  104; HuffQ2[1][ 5].Length =  7;    HuffQ2[1][ 6].Code =   30; HuffQ2[1][ 6].Length =  5;    HuffQ2[1][ 7].Code =    0; HuffQ2[1][ 7].Length =  3;    HuffQ2[1][ 8].Code =   29; HuffQ2[1][ 8].Length =  5;    HuffQ2[1][ 9].Code =  105; HuffQ2[1][ 9].Length =  7;    HuffQ2[1][10].Code =   50; HuffQ2[1][10].Length =  6;    HuffQ2[1][11].Code =    1; HuffQ2[1][11].Length =  3;    HuffQ2[1][12].Code =    2; HuffQ2[1][12].Length =  2;    HuffQ2[1][13].Code =    3; HuffQ2[1][13].Length =  3;    HuffQ2[1][14].Code =   49; HuffQ2[1][14].Length =  6;    HuffQ2[1][15].Code =  107; HuffQ2[1][15].Length =  7;    HuffQ2[1][16].Code =   27; HuffQ2[1][16].Length =  5;    HuffQ2[1][17].Code =    2; HuffQ2[1][17].Length =  3;    HuffQ2[1][18].Code =   31; HuffQ2[1][18].Length =  5;    HuffQ2[1][19].Code =  112; HuffQ2[1][19].Length =  7;    HuffQ2[1][20].Code =  920; HuffQ2[1][20].Length = 10;    HuffQ2[1][21].Code =  106; HuffQ2[1][21].Length =  7;    HuffQ2[1][22].Code =   48; HuffQ2[1][22].Length =  6;    HuffQ2[1][23].Code =  114; HuffQ2[1][23].Length =  7;    HuffQ2[1][24].Code =  923; HuffQ2[1][24].Length = 10;    /********************** 7-step quantizer **************************/    /*********************** single samples ***************************/    //less shaped, book 0    HuffQ3[0][0].Code = 12; HuffQ3[0][0].Length = 4;    HuffQ3[0][1].Code =  4; HuffQ3[0][1].Length = 3;    HuffQ3[0][2].Code =  0; HuffQ3[0][2].Length = 2;    HuffQ3[0][3].Code =  1; HuffQ3[0][3].Length = 2;    HuffQ3[0][4].Code =  7; HuffQ3[0][4].Length = 3;    HuffQ3[0][5].Code =  5; HuffQ3[0][5].Length = 3;    HuffQ3[0][6].Code = 13; HuffQ3[0][6].Length = 4;    //more shaped, book 1    HuffQ3[1][0].Code = 4; HuffQ3[1][0].Length = 5;    HuffQ3[1][1].Code = 3; HuffQ3[1][1].Length = 4;    HuffQ3[1][2].Code = 2; HuffQ3[1][2].Length = 2;    HuffQ3[1][3].Code = 3; HuffQ3[1][3].Length = 2;    HuffQ3[1][4].Code = 1; HuffQ3[1][4].Length = 2;    HuffQ3[1][5].Code = 0; HuffQ3[1][5].Length = 3;    HuffQ3[1][6].Code = 5; HuffQ3[1][6].Length = 5;    /********************** 9-step quantizer **************************/    /*********************** single samples ***************************/    //less shaped, book 0    HuffQ4[0][0].Code = 5; HuffQ4[0][0].Length = 4;    HuffQ4[0][1].Code = 0; HuffQ4[0][1].Length = 3;    HuffQ4[0][2].Code = 4; HuffQ4[0][2].Length = 3;    HuffQ4[0][3].Code = 6; HuffQ4[0][3].Length = 3;    HuffQ4[0][4].Code = 7; HuffQ4[0][4].Length = 3;    HuffQ4[0][5].Code = 5; HuffQ4[0][5].Length = 3;    HuffQ4[0][6].Code = 3; HuffQ4[0][6].Length = 3;    HuffQ4[0][7].Code = 1; HuffQ4[0][7].Length = 3;    HuffQ4[0][8].Code = 4; HuffQ4[0][8].Length = 4;    //more shaped, book 1    HuffQ4[1][0].Code =  9; HuffQ4[1][0].Length = 5;    HuffQ4[1][1].Code = 12; HuffQ4[1][1].Length = 4;    HuffQ4[1][2].Code =  3; HuffQ4[1][2].Length = 3;    HuffQ4[1][3].Code =  0; HuffQ4[1][3].Length = 2;    HuffQ4[1][4].Code =  2; HuffQ4[1][4].Length = 2;    HuffQ4[1][5].Code =  7; HuffQ4[1][5].Length = 3;    HuffQ4[1][6].Code = 13; HuffQ4[1][6].Length = 4;    HuffQ4[1][7].Code =  5; HuffQ4[1][7].Length = 4;    HuffQ4[1][8].Code =  8; HuffQ4[1][8].Length = 5;    /********************* 15-step quantizer **************************/    /*********************** single samples ***************************/    //less shaped, book 0    HuffQ5[0][ 0].Code = 57; HuffQ5[0][ 0].Length = 6;    HuffQ5[0][ 1].Code = 23; HuffQ5[0][ 1].Length = 5;    HuffQ5[0][ 2].Code =  8; HuffQ5[0][ 2].Length = 4;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -