Commit 85e4585b authored by Alberto Gonzalez's avatar Alberto Gonzalez

Commit 5 concept fork

```----------------------------------------------------------------
- Función completa
- Revisar errores buff en child
```

----------------------------------------------------------------
parent 04fd3db2
This diff is collapsed.
...@@ -232,7 +232,7 @@ struct vectorModeCostStruct { ...@@ -232,7 +232,7 @@ struct vectorModeCostStruct {
int mode; int mode;
double cost; double cost;
int threadNumber; int threadNumber;
int posPadre; int posFather;
}; };
//ALBERTO CONCEPT FORK //ALBERTO CONCEPT FORK
const int VECTOR_SIZE = 341; // TREE NODES const int VECTOR_SIZE = 341; // TREE NODES
...@@ -325,12 +325,11 @@ public: ...@@ -325,12 +325,11 @@ public:
//ALBERTO CONCEPT FORK //ALBERTO CONCEPT FORK
void createAndInitSemaphore(); void createSharedVector();
void initStructVector(); void initStructVector();
void updateFatherAndThreadNumbers(int LevelLowIndex, int LevelUpIndex, int posPadreActual, int i); void updateFatherAndThreadNumbers(int LevelLowIndex, int LevelUpIndex, int posPadreActual, int i);
//END ALBERTO CONCEPT FORK void cleanCostModeVector();
// END ALBERTO CONCEPT FORK
void setDecCuReshaperInEncCU(EncReshape* pcReshape, ChromaFormat chromaFormatIdc) void setDecCuReshaperInEncCU(EncReshape* pcReshape, ChromaFormat chromaFormatIdc)
{ {
...@@ -344,7 +343,7 @@ public: ...@@ -344,7 +343,7 @@ public:
//ALBERTO CONCEPT FORK //ALBERTO CONCEPT FORK
void compressCtuForks(CodingStructure &cs, const UnitArea &area, const unsigned ctuRsAddr, const EnumArray<int, ChannelType> &prevQP, const EnumArray<int, ChannelType> &currQP); void compressCtuForks(CodingStructure *&tempCS, CodingStructure *&bestCS, Partitioner &partitioner);
//END ALBERTO CONCEPT FORK //END ALBERTO CONCEPT FORK
/// CTU analysis function /// CTU analysis function
...@@ -380,7 +379,10 @@ protected: ...@@ -380,7 +379,10 @@ protected:
bool digits_below_or_equal(std::string a, std::string b); bool digits_below_or_equal(std::string a, std::string b);
int determinePosNodeInVectorRec(std::string posNode, std::string posSearch, int index, int counter); int determinePosNodeInVectorRec(std::string posNode, std::string posSearch, int index, int counter);
int determinePosNodeInVector(std::string posNode); int determinePosNodeInVector(std::string posNode);
//END ALBERTO CONCEPT FORK int searchFirstChildEmpty(int posFather);
int searchFirstChild(int posFather);
void reduceVector();
// END ALBERTO CONCEPT FORK
void xCheckModeSplit(CodingStructure *&tempCS, CodingStructure *&bestCS, Partitioner &pm, const EncTestMode &encTestMode, const ModeType modeTypeParent, bool &skipInterPass, double *splitRdCostBest); void xCheckModeSplit(CodingStructure *&tempCS, CodingStructure *&bestCS, Partitioner &pm, const EncTestMode &encTestMode, const ModeType modeTypeParent, bool &skipInterPass, double *splitRdCostBest);
......
...@@ -103,6 +103,13 @@ bool EncModeCtrl::nextMode( const CodingStructure &cs, Partitioner &partitioner ...@@ -103,6 +103,13 @@ bool EncModeCtrl::nextMode( const CodingStructure &cs, Partitioner &partitioner
return !m_ComprCUCtxList.back().testModes.empty(); return !m_ComprCUCtxList.back().testModes.empty();
} }
//ALBERTO CONCEPT FORK
bool EncModeCtrl::lastModeAvailable( const CodingStructure &cs, Partitioner &partitioner )
{
return !m_ComprCUCtxList.empty() && !m_ComprCUCtxList.back().testModes.empty() && m_ComprCUCtxList.back().testModes.size()==1;
}
//END ALBERTO CONCEPT FORK
EncTestMode EncModeCtrl::currTestMode() const EncTestMode EncModeCtrl::currTestMode() const
{ {
return m_ComprCUCtxList.back().testModes.back(); return m_ComprCUCtxList.back().testModes.back();
......
...@@ -326,7 +326,10 @@ public: ...@@ -326,7 +326,10 @@ public:
void init ( EncCfg *pCfg, RateCtrl *pRateCtrl, RdCost *pRdCost ); void init ( EncCfg *pCfg, RateCtrl *pRateCtrl, RdCost *pRdCost );
bool tryModeMaster ( const EncTestMode& encTestmode, const CodingStructure &cs, Partitioner& partitioner ); bool tryModeMaster ( const EncTestMode& encTestmode, const CodingStructure &cs, Partitioner& partitioner );
bool nextMode ( const CodingStructure &cs, Partitioner &partitioner ); bool nextMode ( const CodingStructure &cs, Partitioner &partitioner );
EncTestMode currTestMode () const; //ALBERTO CONCEPT FORK
bool lastModeAvailable(const CodingStructure &cs, Partitioner &partitioner);
//END ALBERTO CONCEPT FORK
EncTestMode currTestMode() const;
EncTestMode lastTestMode () const; EncTestMode lastTestMode () const;
void setEarlySkipDetected (); void setEarlySkipDetected ();
void setIsHashPerfectMatch( bool b ) { m_ComprCUCtxList.back().isHashPerfectMatch = b; } void setIsHashPerfectMatch( bool b ) { m_ComprCUCtxList.back().isHashPerfectMatch = b; }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment