*** TEncTop_orig.cpp	2013-08-20 09:46:04.000000000 +0100
--- TEncTop.cpp	2013-08-20 09:51:26.000000000 +0100
***************
*** 441,452 ****
      Pel * pcTopFieldU =  pcTopField->getPicYuvOrg()->getCbAddr();
      Pel * pcTopFieldV =  pcTopField->getPicYuvOrg()->getCrAddr();
      
-     // compute image characteristics
-     if ( getUseAdaptiveQP() )
-     {
-       m_cPreanalyzer.xPreanalyze( dynamic_cast<TEncPic*>( pcTopField ) );
-     }
-     
      /* -- Defield -- */
      
      bool isTop = isTff;
--- 441,446 ----
***************
*** 455,460 ****
--- 449,460 ----
      separateFields(PicBufU + nPadChroma + (nStride >> 1)*nPadChroma, pcTopFieldU, nStride >> 1, nWidth >> 1, nHeight >> 1, isTop);
      separateFields(PicBufV + nPadChroma + (nStride >> 1)*nPadChroma, pcTopFieldV, nStride >> 1, nWidth >> 1, nHeight >> 1, isTop);
      
+     // compute image characteristics
+     if ( getUseAdaptiveQP() )
+     {
+       m_cPreanalyzer.xPreanalyze( dynamic_cast<TEncPic*>( pcTopField ) );
+     }
+ 
    }
    
    if (m_iPOCLast == 0) // compress field 0
***************
*** 504,515 ****
      Pel * pcBottomFieldU =  pcBottomField->getPicYuvOrg()->getCbAddr();
      Pel * pcBottomFieldV =  pcBottomField->getPicYuvOrg()->getCrAddr();
      
-     // Compute image characteristics
-     if ( getUseAdaptiveQP() )
-     {
-       m_cPreanalyzer.xPreanalyze( dynamic_cast<TEncPic*>( pcBottomField ) );
-     }
-     
      /* -- Defield -- */
      
      bool isTop = !isTff;
--- 504,509 ----
***************
*** 517,523 ****
--- 511,524 ----
      separateFields(PicBufY + nPadLuma + nStride*nPadLuma, pcBottomFieldY, nStride, nWidth, nHeight, isTop);
      separateFields(PicBufU + nPadChroma + (nStride >> 1)*nPadChroma, pcBottomFieldU, nStride >> 1, nWidth >> 1, nHeight >> 1, isTop);
      separateFields(PicBufV + nPadChroma + (nStride >> 1)*nPadChroma, pcBottomFieldV, nStride >> 1, nWidth >> 1, nHeight >> 1, isTop);
+ 
      
+     // Compute image characteristics
+     if ( getUseAdaptiveQP() )
+     {
+       m_cPreanalyzer.xPreanalyze( dynamic_cast<TEncPic*>( pcBottomField ) );
+     }
+ 
    }
    
    if ( ( !(m_iNumPicRcvd) || (!flush && m_iPOCLast != 1 && m_iNumPicRcvd != m_iGOPSize && m_iGOPSize)) )
