- Timestamp:
- 24 Apr 2014, 20:17:15 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-6-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r731 r735 4403 4403 4404 4404 if(!m_temp) 4405 { 4405 4406 initDs(iWidth, iHeight, m_pcCfg->getIntraPeriod()>1); 4407 } 4406 4408 4407 4409 filterImg(pcYuvSrc->getLumaAddr(), pcYuvSrc->getStride(), pcYuvDest->getLumaAddr(), pcYuvDest->getStride(), iHeight, iWidth, inputBitDepth-outputBitDepth, 0); … … 4410 4412 } 4411 4413 } 4412 const int TEncGOP::m_phase_filter_0_t0[4][13]={4414 const Int TEncGOP::m_phase_filter_0_t0[4][13]={ 4413 4415 {0, 2, -3, -9, 6, 39, 58, 39, 6, -9, -3, 2, 0}, 4414 4416 {0, 0, 0, -2, 8,-20, 116, 34, -10, 2, 0, 0, 0}, //{0, 1, -1, -8, -1, 31, 57, 47, 13, -7, -5, 1, 0}, // … … 4417 4419 }; 4418 4420 4419 const int TEncGOP::m_phase_filter_0_t1[4][13]={4421 const Int TEncGOP::m_phase_filter_0_t1[4][13]={ 4420 4422 {0, 4, 0, -12, 0, 40, 64, 40, 0, -12, 0, 4, 0}, 4421 4423 {0, 0, 0, -2, 8,-20, 116,34,-10, 2, 0, 0, 0}, //{0, 1, -1, -8, -1, 31, 57, 47, 13, -7, -5, 1, 0}, // … … 4423 4425 {0, 0, 1, -5, -7, 13, 47, 57, 31, -1, -8,-1, 1} 4424 4426 }; 4425 const int TEncGOP::m_phase_filter_0_t1_chroma[4][13]={4427 const Int TEncGOP::m_phase_filter_0_t1_chroma[4][13]={ 4426 4428 {0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0}, 4427 4429 {0, 0, 0, -2, 8,-20, 116,34,-10, 2, 0, 0, 0}, //{0, 1, -1, -8, -1, 31, 57, 47, 13, -7, -5, 1, 0}, // … … 4430 4432 }; 4431 4433 4432 const int TEncGOP::m_phase_filter_1[8][13]={4434 const Int TEncGOP::m_phase_filter_1[8][13]={ 4433 4435 {0, 0, 5, -6, -10,37, 76, 37,-10, -6, 5, 0, 0}, 4434 4436 {0, -1, 5, -3, -12,29, 75, 45, -7, -8, 5, 0, 0}, … … 4493 4495 // pad temp (vertical) 4494 4496 for (k=-(length>>1); k<0; k++) 4495 memcpy(m_temp[k], m_temp[0], width2*sizeof(int)); 4497 { 4498 memcpy(m_temp[k], m_temp[0], width2*sizeof(Int)); 4499 } 4496 4500 for (k=height1; k<(height1+(length>>1)); k++) 4497 memcpy(m_temp[k], m_temp[k-1], (width2)* sizeof(int)); 4501 { 4502 memcpy(m_temp[k], m_temp[k-1], (width2)* sizeof(Int)); 4503 } 4498 4504 4499 4505 // vertical filtering … … 4516 4522 } 4517 4523 iSum=((iSum + shift_round) >> shift2); 4518 *p_dst++ = ( short)(iSum > iMax ? iMax : (iSum < 0 ? 0 : iSum));4524 *p_dst++ = (Short)(iSum > iMax ? iMax : (iSum < 0 ? 0 : iSum)); 4519 4525 } 4520 4526 p_dst_line += iDstStride; … … 4571 4577 { 4572 4578 if (*array2D) 4579 { 4573 4580 xFree(array2D[-iPadY]-iPadX); 4581 } 4574 4582 else 4583 { 4575 4584 printf("free_mem2DintWithPad: trying to free unused memory\r\nPress Any Key\r\n"); 4585 } 4576 4586 4577 4587 free (&array2D[-iPadY]);
Note: See TracChangeset for help on using the changeset viewer.