libbpg-0.9.5

This commit is contained in:
King_DuckZ 2015-01-16 13:48:11 +01:00
parent 6e56352f86
commit 357f186837
35 changed files with 3022 additions and 2134 deletions

View file

@ -1022,7 +1022,7 @@ Bool TAppEncCfg::parseCfg( Int argc, Char* argv[] )
("SEIMasteringDisplayMinLuminance", m_masteringDisplay.minLuminance, 0u, "Specifies the mastering display minimum luminance value in units of 1/10000 candela per square metre (32-bit code value)")
("SEIMasteringDisplayPrimaries", cfg_DisplayPrimariesCode, cfg_DisplayPrimariesCode, "Mastering display primaries for all three colour planes in CIE xy coordinates in increments of 1/50000 (results in the ranges 0 to 50000 inclusive)")
("SEIMasteringDisplayWhitePoint", cfg_DisplayWhitePointCode, cfg_DisplayWhitePointCode, "Mastering display white point CIE xy coordinates in normalised increments of 1/50000 (e.g. 0.333 = 16667)")
("Verbose", m_verboseLevel, 1, "verboseLeveL")
("Verbose", m_verboseLevel, 1, "verbose level")
;
@ -1476,7 +1476,7 @@ Void TAppEncCfg::xCheckParameter()
{
xConfirmPara(bUsingGeneralRExtTools, "Combination of tools and profiles are not possible in the specified RExt profile.");
}
if (!m_intraConstraintFlag && m_bitDepthConstraint==16 && m_chromaFormatConstraint==CHROMA_444)
if (!m_intraConstraintFlag && m_bitDepthConstraint==16 && m_chromaFormatConstraint==CHROMA_444 && 0)
{
fprintf(stderr, "********************************************************************************************************\n");
fprintf(stderr, "** WARNING: The RExt constraint flags describe a non standard combination (used for development only) **\n");

View file

@ -42,6 +42,8 @@
//! \ingroup TLibEncoder
//! \{
#define SRPS_IN_SLICE 1
#if ENC_DEC_TRACE
Void xTraceSPSHeader (TComSPS *pSPS)
@ -545,16 +547,16 @@ Void TEncCavlc::codeSPS( TComSPS* pcSPS )
TComRPSList* rpsList = pcSPS->getRPSList();
TComReferencePictureSet* rps;
if (1) {
#if SRPS_IN_SLICE
WRITE_UVLC(0, "num_short_term_ref_pic_sets" );
} else {
#else
WRITE_UVLC(rpsList->getNumberOfReferencePictureSets(), "num_short_term_ref_pic_sets" );
for(Int i=0; i < rpsList->getNumberOfReferencePictureSets(); i++)
{
rps = rpsList->getReferencePictureSet(i);
codeShortTermRefPicSet(pcSPS,rps,false, i);
}
}
#endif
WRITE_FLAG( pcSPS->getLongTermRefsPresent() ? 1 : 0, "long_term_ref_pics_present_flag" );
if (pcSPS->getLongTermRefsPresent())
{
@ -776,6 +778,12 @@ Void TEncCavlc::codeSliceHeader ( TComSlice* pcSlice )
}
}
#if SRPS_IN_SLICE
{
WRITE_FLAG( 0, "short_term_ref_pic_set_sps_flag");
codeShortTermRefPicSet(pcSlice->getSPS(), rps, true, 0);
}
#else
if(pcSlice->getRPSidx() < 0)
{
WRITE_FLAG( 0, "short_term_ref_pic_set_sps_flag");
@ -794,6 +802,7 @@ Void TEncCavlc::codeSliceHeader ( TComSlice* pcSlice )
WRITE_CODE( pcSlice->getRPSidx(), numBits, "short_term_ref_pic_set_idx" );
}
}
#endif
if(pcSlice->getSPS()->getLongTermRefsPresent())
{
Int numLtrpInSH = rps->getNumberOfLongtermPictures();