Ignore:
Timestamp:
24 Feb 2012, 20:22:58 (13 years ago)
Author:
poznan-univ
Message:

Poznan Tools

  • Encoding only disoccluded CUs in depended views
  • Depth based motion prediction
  • Texture QP adjustment based on depth data
  • Nonlinear depth representation
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/0.3-poznan-univ/source/App/TAppEncoder/TAppEncCfg.cpp

    r21 r28  
    341341#endif
    342342
     343#if POZNAN_DBMP
     344  ("DBMP",  m_uiDBMP,    (UInt)0, "usage of Depth-Based Motion Prediction" )
     345#endif
     346
     347#if POZNAN_ENCODE_ONLY_DISOCCLUDED_CU
     348  ("CUSkip",  m_uiUseCUSkip,    (UInt)1, "encode only disoccluded CUs in dependend view" )
     349#endif
     350
    343351  ("QpChangeFrame", m_iQpChangeFrame, PicOrderCnt(0), "start frame for QP change")
    344352  ("QpChangeOffsetVideo", m_iQpChangeOffsetVideo, 0, "QP change offset for video")
     
    350358#endif
    351359#endif
     360#if POZNAN_TEXTURE_TU_DELTA_QP_ACCORDING_TO_DEPTH
     361  ("TDdQP", m_bUseTexDqpAccordingToDepth, false, "texture TU blocks QP param modification according to depth map's values")
     362#endif
     363#if POZNAN_TEXTURE_TU_DELTA_QP_PARAM_IN_CFG_FOR_ENC
     364  ("TDdQPOffset",              m_dTexDqpAccordingToDepthOffset,       (Double)(-2.6), "texture block QP changing tool based on coresponding depth block values - offset parameter" )
     365  ("TDdQPMul",                 m_dTexDqpAccordingToDepthMul,          (Double)(1),    "texture block QP changing tool based on coresponding depth block values - multiplicative parameter" )
     366  ("TDdQPTopBottomRow",        m_iTexDqpAccordingToDepthTopBottomRow, (Int)2,         "texture block QP changing tool - top and bottom CU rows delta QP parameter" )
     367#endif
     368#if POZNAN_NONLINEAR_DEPTH
     369  ("DepthPower,-dpow",    m_fDepthPower,      (Double)1.0, "Depth power value (for non-linear processing)")
     370#endif
     371
    352372
    353373  /* Compatability with old style -1 FOO or -0 FOO options. */
     
    437457#endif
    438458
     459#if POZNAN_NONLINEAR_DEPTH
     460if (m_fDepthPower<=0)
     461  {
     462    Float fDepthQP = m_adQP[ m_adQP.size()  < 2 ? 0 : 1];
     463    m_fDepthPower = (fDepthQP-30) *0.25/20.0 + 1.25;
     464    if (m_fDepthPower<=1.0) m_fDepthPower = 1.0;
     465    // QP = 30 = 1.25
     466    // QP = 50 = 1.5
     467    if (m_fDepthPower>=1.66) m_fDepthPower = 1.66;
     468  };
     469
     470#if POZNAN_NONLINEAR_DEPTH_SEND_AS_BYTE
     471  m_fDepthPower = dequantizeDepthPower(quantizeDepthPower((Float)m_fDepthPower));
     472#endif
     473
     474#endif
     475
    439476  xCleanUpVectors();
    440477
     
    516553                                      NULL,
    517554                                      m_cRenModStrParser.getSynthViews(),
    518                                       LOG2_DISP_PREC_LUT );
     555                                      LOG2_DISP_PREC_LUT
     556#if POZNAN_NONLINEAR_DEPTH                                     
     557                                      ,m_fDepthPower
     558#endif
     559                                      );
    519560}
    520561else if ( m_bUseVSO && m_uiVSOMode != 4 )
     
    529570                                      m_pchVSOConfig,
    530571                                      NULL,
    531                                       LOG2_DISP_PREC_LUT );
     572                                      LOG2_DISP_PREC_LUT
     573#if POZNAN_NONLINEAR_DEPTH                                     
     574                                      ,m_fDepthPower
     575#endif                                     
     576                                      );
    532577}
    533578else
     
    542587    NULL,
    543588    NULL,
    544     LOG2_DISP_PREC_LUT );
     589    LOG2_DISP_PREC_LUT
     590#if POZNAN_NONLINEAR_DEPTH                                     
     591    ,m_fDepthPower
     592#endif   
     593    );
    545594}
    546595#else
     
    554603    NULL,
    555604    NULL,
    556     LOG2_DISP_PREC_LUT );
     605    LOG2_DISP_PREC_LUT
     606#if POZNAN_NONLINEAR_DEPTH                                     
     607    ,m_fDepthPower
     608#endif   
     609    );
    557610#endif
    558611
     
    665718#endif
    666719
     720#if POZNAN_DBMP
     721  xConfirmPara    ( m_uiDBMP > 1,                                                                                                       "DBMP must be less than or equal to 1" );
     722#endif
     723
     724#if POZNAN_ENCODE_ONLY_DISOCCLUDED_CU
     725  xConfirmPara    ( m_uiUseCUSkip > 1,                                                                                          "CU-Skip must be less than or equal to 1" );
     726#endif
     727
    667728#if HHI_INTERVIEW_SKIP
    668729  xConfirmPara    ( m_uiInterViewSkip > 1,                                        "RenderingSkipMode > 1 not supported" );
     
    933994#if MTK_SAO
    934995#endif
     996
     997#if POZNAN_MP
     998  printf("POZNAN_MP(1){ ");
     999
     1000#if POZNAN_MP_USE_DEPTH_MAP_GENERATION
     1001  printf("dmg=1 ");
     1002#else
     1003  printf("dmg=0 ");
     1004#endif
     1005
     1006#if POZNAN_MP_FILL
     1007  printf("fill=%d ",POZNAN_MP_FILL_TYPE);
     1008#else
     1009  printf("fill=- ");
     1010#endif
     1011
     1012#if POZNAN_DBMP
     1013  printf("DBMP:%d ", m_uiDBMP);
     1014  if(m_uiDBMP)
     1015  {   
     1016        printf("cand=%d ",POZNAN_DBMP_MERGE_POS);
     1017#if POZNAN_DBMP_CALC_PRED_DATA
     1018        printf("pr=1 ");
     1019#else
     1020        printf("pr=0 ");
     1021#endif
     1022#if POZNAN_DBMP_COMPRESS_ME_DATA
     1023        printf("comp=1 ");
     1024#else
     1025        printf("comp=0 ");
     1026#endif
     1027#if POZNAN_DBMP_USE_IN_NONANCHOR_PIC_ONLY
     1028        printf("na=1 ");
     1029#else
     1030        printf("na=0 ");
     1031#endif
     1032  }
     1033#endif
     1034  printf("} ");
     1035#endif
     1036
     1037#if POZNAN_ENCODE_ONLY_DISOCCLUDED_CU
     1038  printf("CU-Skip:%d ", m_uiUseCUSkip);
     1039#endif
     1040
    9351041  printf("\n");
    9361042  printf("TOOL CFG VIDEO  : ");
     
    9381044  printf("SAO:%d ", (m_abUseSAO [0] ? 1 : 0));
    9391045  printf("RDQ:%d ", (m_abUseRDOQ[0] ? 1 : 0) );
     1046#if POZNAN_TEXTURE_TU_DELTA_QP_ACCORDING_TO_DEPTH
     1047  printf("TDdQP:%d ", m_bUseTexDqpAccordingToDepth);
     1048#endif
     1049
    9401050  printf("\n");
    9411051
     
    9521062#if HHI_MPI
    9531063  printf("MVI:%d ", m_bUseMVI ? 1 : 0 );
     1064#endif
     1065#if POZNAN_NONLINEAR_DEPTH
     1066  printf("DepthPower:%f ", m_fDepthPower);
    9541067#endif
    9551068  printf("\n");
Note: See TracChangeset for help on using the changeset viewer.