📄 umc_vc1_dec_seq.cpp
字号:
&pContext->m_vlcTbl->MVDIFF_PB_TABLES[0]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_Progressive_MV_Diff_tbl1,
&pContext->m_vlcTbl->MVDIFF_PB_TABLES[1]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_Progressive_MV_Diff_tbl2,
&pContext->m_vlcTbl->MVDIFF_PB_TABLES[2]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_Progressive_MV_Diff_tbl3,
&pContext->m_vlcTbl->MVDIFF_PB_TABLES[3]))
return 0;
//TTMB PB TABLES
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_LowRateTTMB,
&pContext->m_vlcTbl->TTMB_PB_TABLES[0]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_MediumRateTTMB,
&pContext->m_vlcTbl->TTMB_PB_TABLES[1]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_HighRateTTMB,
&pContext->m_vlcTbl->TTMB_PB_TABLES[2]))
return 0;
//TTBLK PB TABLES
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_LowRateTTBLK,
&pContext->m_vlcTbl->TTBLK_PB_TABLES[0]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_MediumRateTTBLK,
&pContext->m_vlcTbl->TTBLK_PB_TABLES[1]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_HighRateTTBLK,
&pContext->m_vlcTbl->TTBLK_PB_TABLES[2]))
return 0;
//SUB BLOCK PATTERN
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_HighRateSBP,
&pContext->m_vlcTbl->SBP_PB_TABLES[0]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_MediumRateSBP,
&pContext->m_vlcTbl->SBP_PB_TABLES[1]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_LowRateSBP,
&pContext->m_vlcTbl->SBP_PB_TABLES[2]))
return 0;
return 1;
}
Ipp32s InitInterlacedTables (VC1Context* pContext)
{
//MB MODE
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_4MV_MB_Mode_PBPic_Table0,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FRAME_TABLES[0]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_4MV_MB_Mode_PBPic_Table1,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FRAME_TABLES[1]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_4MV_MB_Mode_PBPic_Table2,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FRAME_TABLES[2]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_4MV_MB_Mode_PBPic_Table3,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FRAME_TABLES[3]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_Non4MV_MB_Mode_PBPic_Table0,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FRAME_TABLES[4]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_Non4MV_MB_Mode_PBPic_Table1,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FRAME_TABLES[5]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_Non4MV_MB_Mode_PBPic_Table2,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FRAME_TABLES[6]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_Non4MV_MB_Mode_PBPic_Table3,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FRAME_TABLES[7]))
return 0;
//MV TABLES
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedMVDifTable0,
&pContext->m_vlcTbl->MV_INTERLACE_TABLES[0]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedMVDifTable1,
&pContext->m_vlcTbl->MV_INTERLACE_TABLES[1]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedMVDifTable2,
&pContext->m_vlcTbl->MV_INTERLACE_TABLES[2]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedMVDifTable3,
&pContext->m_vlcTbl->MV_INTERLACE_TABLES[3]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedMVDifTable4,
&pContext->m_vlcTbl->MV_INTERLACE_TABLES[4]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedMVDifTable5,
&pContext->m_vlcTbl->MV_INTERLACE_TABLES[5]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedMVDifTable6,
&pContext->m_vlcTbl->MV_INTERLACE_TABLES[6]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedMVDifTable7,
&pContext->m_vlcTbl->MV_INTERLACE_TABLES[7]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedMVDifTable8,
&pContext->m_vlcTbl->MV_INTERLACE_TABLES[8]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedMVDifTable9,
&pContext->m_vlcTbl->MV_INTERLACE_TABLES[9]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedMVDifTable10,
&pContext->m_vlcTbl->MV_INTERLACE_TABLES[10]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedMVDifTable11,
&pContext->m_vlcTbl->MV_INTERLACE_TABLES[11]))
return 0;
//CBPCY
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedCBPCYTable0,
&pContext->m_vlcTbl->CBPCY_PB_INTERLACE_TABLES[0]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedCBPCYTable1,
&pContext->m_vlcTbl->CBPCY_PB_INTERLACE_TABLES[1]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedCBPCYTable2,
&pContext->m_vlcTbl->CBPCY_PB_INTERLACE_TABLES[2]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedCBPCYTable3,
&pContext->m_vlcTbl->CBPCY_PB_INTERLACE_TABLES[3]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedCBPCYTable4,
&pContext->m_vlcTbl->CBPCY_PB_INTERLACE_TABLES[4]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedCBPCYTable5,
&pContext->m_vlcTbl->CBPCY_PB_INTERLACE_TABLES[5]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedCBPCYTable6,
&pContext->m_vlcTbl->CBPCY_PB_INTERLACE_TABLES[6]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_InterlacedCBPCYTable7,
&pContext->m_vlcTbl->CBPCY_PB_INTERLACE_TABLES[7]))
return 0;
//2 MV BLOCK PATTERN P,B PICTURES
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_MV2BlockPatternTable0,
&pContext->m_vlcTbl->MV2BP_TABLES[0]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_MV2BlockPatternTable1,
&pContext->m_vlcTbl->MV2BP_TABLES[1]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_MV2BlockPatternTable2,
&pContext->m_vlcTbl->MV2BP_TABLES[2]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_MV2BlockPatternTable3,
&pContext->m_vlcTbl->MV2BP_TABLES[3]))
return 0;
//4 MV BLOCK PATTERN
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_MV4BlockPatternTable0,
&pContext->m_vlcTbl->MV4BP_TABLES[0]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_MV4BlockPatternTable1,
&pContext->m_vlcTbl->MV4BP_TABLES[1]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_MV4BlockPatternTable2,
&pContext->m_vlcTbl->MV4BP_TABLES[2]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_MV4BlockPatternTable3,
&pContext->m_vlcTbl->MV4BP_TABLES[3]))
return 0;
//MB MODE TABLES
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_1MV_MB_ModeTable0,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FIELD_TABLES[0]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_1MV_MB_ModeTable1,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FIELD_TABLES[1]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_1MV_MB_ModeTable2,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FIELD_TABLES[2]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_1MV_MB_ModeTable3,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FIELD_TABLES[3]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_1MV_MB_ModeTable4,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FIELD_TABLES[4]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_1MV_MB_ModeTable5,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FIELD_TABLES[5]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_1MV_MB_ModeTable6,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FIELD_TABLES[6]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_1MV_MB_ModeTable7,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FIELD_TABLES[7]))
return 0;
//MIXEDMV MB TABLES
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_Mixed_MV_MB_ModeTable0,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FIELD_MIXED_TABLES[0]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_Mixed_MV_MB_ModeTable1,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FIELD_MIXED_TABLES[1]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_Mixed_MV_MB_ModeTable2,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FIELD_MIXED_TABLES[2]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_Mixed_MV_MB_ModeTable3,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FIELD_MIXED_TABLES[3]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_Mixed_MV_MB_ModeTable4,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FIELD_MIXED_TABLES[4]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_Mixed_MV_MB_ModeTable5,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FIELD_MIXED_TABLES[5]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_Mixed_MV_MB_ModeTable6,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FIELD_MIXED_TABLES[6]))
return 0;
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_Mixed_MV_MB_ModeTable7,
&pContext->m_vlcTbl->MBMODE_INTERLACE_FIELD_MIXED_TABLES[7]))
return 0;
//REFDIST
if (ippStsNoErr != ippiHuffmanTableInitAlloc_32s(
VC1_FieldRefdistTable,
&pContext->m_vlcTbl->REFDIST_TABLE))
return 0;
return 1;
}
Ipp32s InitTables(VC1Context* pContext)
{
ippStaticInit();
if(!InitCommonTables(pContext))
return 0;
if(pContext->m_seqLayerHeader->INTERLACE)
if(!InitInterlacedTables(pContext))
return 0;
return 1;
}
void FreeTables(VC1Context* pContext)
{
Ipp32s i;
if(pContext->m_vlcTbl->m_pLowMotionLumaDCDiff)
{
ippiHuffmanTableFree_32s(pContext->m_vlcTbl->m_pLowMotionLumaDCDiff);
pContext->m_vlcTbl->m_pLowMotionLumaDCDiff = NULL;
}
if(pContext->m_vlcTbl->m_pHighMotionLumaDCDiff)
{
ippiHuffmanTableFree_32s(pContext->m_vlcTbl->m_pHighMotionLumaDCDiff);
pContext->m_vlcTbl->m_pHighMotionLumaDCDiff = NULL;
}
if(pContext->m_vlcTbl->m_pLowMotionChromaDCDiff)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -