Merge pull request #1950 from mstorsjo/remove-tabs

Remove tabs fom copyright headers, def files, public header code examples and SIMD function pointer assignments
This commit is contained in:
sijchen 2015-05-15 14:07:47 +08:00
commit 1d1b4f1d30
126 changed files with 588 additions and 588 deletions

View File

@ -77,40 +77,40 @@ typedef unsigned char bool;
* //decoder declaration
* ISVCDecoder *pSvcDecoder;
* //input: encoded bitstream start position; should include start code prefix
* unsigned char *pBuf =...;
* unsigned char *pBuf =...;
* //input: encoded bit stream length; should include the size of start code prefix
* int iSize =...;
* int iSize =...;
* //output: [0~2] for Y,U,V buffer for Decoding only
* unsigned char *pData[3] =...;
* unsigned char *pData[3] =...;
* //in-out: for Decoding only: declare and initialize the output buffer info, this should never co-exist with Parsing only
* SBufferInfo sDstBufInfo;
* memset(&sDstBufInfo, 0, sizeof(SBufferInfo));
* memset(&sDstBufInfo, 0, sizeof(SBufferInfo));
* //in-out: for Parsing only: declare and initialize the output bitstream buffer info for parse only, this should never co-exist with Decoding only
* SParserBsInfo sDstParseInfo;
* memset(&sDstParseInfo, 0, sizeof(SParserBsInfo));
* sDstParseInfo.pDstBuff = new unsigned char[PARSE_SIZE]; //In Parsing only, allocate enough buffer to save transcoded bitstream for a frame
* memset(&sDstParseInfo, 0, sizeof(SParserBsInfo));
* sDstParseInfo.pDstBuff = new unsigned char[PARSE_SIZE]; //In Parsing only, allocate enough buffer to save transcoded bitstream for a frame
*
* @endcode
*
* Step 2:decoder creation
* Step 2:decoder creation
* @code
* CreateDecoder(pSvcDecoder);
* @endcode
*
* Step 3:declare required parameter, used to differentiate Decoding only and Parsing only
* Step 3:declare required parameter, used to differentiate Decoding only and Parsing only
* @code
* SDecodingParam sDecParam = {0};
* sDecParam.sVideoProperty.eVideoBsType = VIDEO_BITSTREAM_AVC;
* sDecParam.sVideoProperty.eVideoBsType = VIDEO_BITSTREAM_AVC;
* //for Parsing only, the assignment is mandatory
* sDecParam.bParseOnly = true;
* @endcode
*
* Step 4:initialize the parameter and decoder context, allocate memory
* Step 4:initialize the parameter and decoder context, allocate memory
* @code
* Initialize(&sDecParam);
* @endcode
*
* Step 5:do actual decoding process in slice level;
* Step 5:do actual decoding process in slice level;
* this can be done in a loop until data ends
* @code
* //for Decoding only
@ -120,8 +120,8 @@ typedef unsigned char bool;
* //for Parsing only
* iRet = DecodeParser(pBuf, iSize, &sDstParseInfo);
* //decode failed
* If (iRet != 0){
* RequestIDR or something like that.
* If (iRet != 0){
* RequestIDR or something like that.
* }
* //for Decoding only, pData can be used for render.
* if (sDstBufInfo.iBufferStatus==1){
@ -137,12 +137,12 @@ typedef unsigned char bool;
* judge iRet, sDstBufInfo.iBufferStatus ...
* @endcode
*
* Step 6:uninitialize the decoder and memory free
* Step 6:uninitialize the decoder and memory free
* @code
* Uninitialize();
* @endcode
*
* Step 7:destroy the decoder
* Step 7:destroy the decoder
* @code
* DestroyDecoder();
* @endcode

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file WelsThreadLib.h
* \file WelsThreadLib.h
*
* \brief Interfaces introduced in thread programming
* \brief Interfaces introduced in thread programming
*
* \date 11/17/2009 Created
* \date 11/17/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file cpu.h
* \file cpu.h
*
* \brief CPU feature compatibility detection
* \brief CPU feature compatibility detection
*
* \date 04/29/2009 Created
* \date 04/29/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file cpu_core.h
* \file cpu_core.h
*
* \brief cpu core feature detection
* \brief cpu core feature detection
*
* \date 4/24/2009 Created
* \date 4/24/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file crt_util_safe_x.h
* \file crt_util_safe_x.h
*
* \brief Safe CRT like util for cross platfroms support
* \brief Safe CRT like util for cross platfroms support
*
* \date 06/04/2010 Created
* \date 06/04/2010 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file expand_pic.h
* \file expand_pic.h
*
* \brief Interface for expanding reconstructed picture to be used for reference
* \brief Interface for expanding reconstructed picture to be used for reference
*
* \date 06/08/2009
* \date 06/08/2009
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file golomb_common.h
* \file golomb_common.h
*
* \brief Exponential Golomb entropy coding/decoding routine
* \brief Exponential Golomb entropy coding/decoding routine
*
* \date 03/12/2015 Created
* \date 03/12/2015 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file intra_pred_common.h
* \file intra_pred_common.h
*
* \brief interfaces for intra predictor about 16x16.
* \brief interfaces for intra predictor about 16x16.
*
* \date 4/2/2014 Created
* \date 4/2/2014 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file macros.h
* \file macros.h
*
* \brief MACRO based tool utilization
* \brief MACRO based tool utilization
*
* \date 3/13/2009 Created
* \date 3/13/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file measure_time.h
* \file measure_time.h
*
* \brief time cost measure utilization
* \brief time cost measure utilization
*
* \date 04/28/2009 Created
* \date 04/28/2009 Created
*
*************************************************************************************
*/

View File

@ -29,10 +29,10 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \brief Tool kits for decoder
* ( malloc, realloc, free, log output and PSNR calculation and so on )
* \brief Tool kits for decoder
* ( malloc, realloc, free, log output and PSNR calculation and so on )
*
* \date 03/10/2009 Created
* \date 03/10/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file WelsThreadLib.c
* \file WelsThreadLib.c
*
* \brief Interfaces introduced in thread programming
* \brief Interfaces introduced in thread programming
*
* \date 11/17/2009 Created
* \date 11/17/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file copy_mb.cpp
* \file copy_mb.cpp
*
* \brief copy MB YUV data
* \brief copy MB YUV data
*
* \date 2014.04.14 Created
* \date 2014.04.14 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file cpu.cpp
* \file cpu.cpp
*
* \brief CPU compatibility detection
* \brief CPU compatibility detection
*
* \date 04/29/2009 Created
* \date 04/29/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file crt_utils_safe_x.cpp
* \file crt_utils_safe_x.cpp
*
* \brief common tool/function utilization
* \brief common tool/function utilization
*
* \date 03/10/2009 Created
* \date 03/10/2009 Created
*
*************************************************************************************
*/

View File

@ -115,27 +115,27 @@ static inline void ExpandPictureChroma_c (uint8_t* pDst, const int32_t kiStride,
}
void InitExpandPictureFunc (SExpandPicFunc* pExpandPicFunc, const uint32_t kuiCPUFlag) {
pExpandPicFunc->pfExpandLumaPicture = ExpandPictureLuma_c;
pExpandPicFunc->pfExpandChromaPicture[0] = ExpandPictureChroma_c;
pExpandPicFunc->pfExpandChromaPicture[1] = ExpandPictureChroma_c;
pExpandPicFunc->pfExpandLumaPicture = ExpandPictureLuma_c;
pExpandPicFunc->pfExpandChromaPicture[0] = ExpandPictureChroma_c;
pExpandPicFunc->pfExpandChromaPicture[1] = ExpandPictureChroma_c;
#if defined(X86_ASM)
if ((kuiCPUFlag & WELS_CPU_SSE2) == WELS_CPU_SSE2) {
pExpandPicFunc->pfExpandLumaPicture = ExpandPictureLuma_sse2;
pExpandPicFunc->pfExpandLumaPicture = ExpandPictureLuma_sse2;
pExpandPicFunc->pfExpandChromaPicture[0] = ExpandPictureChromaUnalign_sse2;
pExpandPicFunc->pfExpandChromaPicture[1] = ExpandPictureChromaAlign_sse2;
}
#endif//X86_ASM
#if defined(HAVE_NEON)
if (kuiCPUFlag & WELS_CPU_NEON) {
pExpandPicFunc->pfExpandLumaPicture = ExpandPictureLuma_neon;
pExpandPicFunc->pfExpandLumaPicture = ExpandPictureLuma_neon;
pExpandPicFunc->pfExpandChromaPicture[0] = ExpandPictureChroma_neon;
pExpandPicFunc->pfExpandChromaPicture[1] = ExpandPictureChroma_neon;
}
#endif//HAVE_NEON
#if defined(HAVE_NEON_AARCH64)
if (kuiCPUFlag & WELS_CPU_NEON) {
pExpandPicFunc->pfExpandLumaPicture = ExpandPictureLuma_AArch64_neon;
pExpandPicFunc->pfExpandLumaPicture = ExpandPictureLuma_AArch64_neon;
pExpandPicFunc->pfExpandChromaPicture[0] = ExpandPictureChroma_AArch64_neon;
pExpandPicFunc->pfExpandChromaPicture[1] = ExpandPictureChroma_AArch64_neon;
}

View File

@ -29,13 +29,13 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file get_intra_predictor.c
* \file get_intra_predictor.c
*
* \brief implementation for get intra predictor about 16x16, 4x4, chroma.
* \brief implementation for get intra predictor about 16x16, 4x4, chroma.
*
* \date 4/2/2009 Created
* 9/14/2009 C level based optimization with high performance gained.
* [const, using ST32/ST64 to replace memset, memcpy and memmove etc.]
* \date 4/2/2009 Created
* 9/14/2009 C level based optimization with high performance gained.
* [const, using ST32/ST64 to replace memset, memcpy and memmove etc.]
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file mc.c
* \file mc.c
*
* \brief Interfaces implementation for motion compensation
* \brief Interfaces implementation for motion compensation
*
* \date 03/17/2009 Created
* \date 03/17/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file sample.c
* \file sample.c
*
* \brief compute SAD and SATD
* \brief compute SAD and SATD
*
* \date 2009.06.02 Created
* \date 2009.06.02 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file utils.c
* \file utils.c
*
* \brief common tool/function utilization
* \brief common tool/function utilization
*
* \date 03/10/2009 Created
* \date 03/10/2009 Created
*
*************************************************************************************
*/

View File

@ -28,11 +28,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* \file d3d9_utils.h
* \file d3d9_utils.h
*
* \brief interface of d3d9 render module
* \brief interface of d3d9 render module
*
* \date Created 12/14/2010
* \date Created 12/14/2010
*
* \description : 1. Rendering in Vista and upper : D3D9Ex method, support host memory / shared surface input
* 2. Rendering in XP : D3D9 method w/o device lost handling, support host memory input

View File

@ -28,7 +28,7 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* h264dec.cpp: Wels Decoder Console Implementation file
* h264dec.cpp: Wels Decoder Console Implementation file
*/
#if defined (_WIN32)

View File

@ -28,11 +28,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* \file au_parser.h
* \file au_parser.h
*
* \brief Interfaces introduced in Access Unit level based parser
* \brief Interfaces introduced in Access Unit level based parser
*
* \date 03/10/2009 Created
* \date 03/10/2009 Created
*
*************************************************************************************
*/

View File

@ -28,11 +28,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* \file cabac_decoder.h
* \file cabac_decoder.h
*
* \brief Interfaces introduced for cabac decoder
* \brief Interfaces introduced for cabac decoder
*
* \date 10/10/2014 Created
* \date 10/10/2014 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file deblocking.h
* \file deblocking.h
*
* \brief Interfaces introduced in frame deblocking filtering
* \brief Interfaces introduced in frame deblocking filtering
*
* \date 05/14/2009 Created
* \date 05/14/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file golomb.h
* \file golomb.h
*
* \brief Exponential Golomb entropy coding/decoding routine
* \brief Exponential Golomb entropy coding/decoding routine
*
* \date 03/13/2009 Created
* \date 03/13/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file decoder.h
* \file decoder.h
*
* \brief Interfaces introduced in decoder system architecture
* \brief Interfaces introduced in decoder system architecture
*
* \date 03/10/2009 Created
* \date 03/10/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file decoder_context.h
* \file decoder_context.h
*
* \brief mainly interface introduced in Wels decoder side
* \brief mainly interface introduced in Wels decoder side
*
* \date 3/4/2009 Created
* \date 3/4/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file error_code.h
* \file error_code.h
*
* \brief Error codes used in Wels decoder side
* \brief Error codes used in Wels decoder side
*
* \date 3/4/2009 Created
* \date 3/4/2009 Created
*
*************************************************************************************
*/

View File

@ -28,11 +28,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* \file error_concealment.h
* \file error_concealment.h
*
* \brief Interfaces introduced for error concealment
* \brief Interfaces introduced for error concealment
*
* \date 04/14/2014 Created
* \date 04/14/2014 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file fmo.h
* \file fmo.h
*
* \brief Flexible Macroblock Ordering implementation
* \brief Flexible Macroblock Ordering implementation
*
* \date 2/4/2009 Created
* \date 2/4/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file get_intra_predictor.h
* \file get_intra_predictor.h
*
* \brief interfaces for get intra predictor about 16x16, 4x4, chroma.
* \brief interfaces for get intra predictor about 16x16, 4x4, chroma.
*
* \date 4/2/2009 Created
* \date 4/2/2009 Created
*
*************************************************************************************
*/

View File

@ -29,7 +29,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file manage_dec_ref.h
* \file manage_dec_ref.h
*
* Abstract
* Interface for managing reference picture

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file mv_pred.h
* \file mv_pred.h
*
* \brief Get MV predictor and update motion vector of mb cache
* \brief Get MV predictor and update motion vector of mb cache
*
* \date 05/22/2009 Created
* \date 05/22/2009 Created
*
*************************************************************************************
*/

View File

@ -28,11 +28,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* \file parse_mb_syn_cabac.h
* \file parse_mb_syn_cabac.h
*
* \brief cabac parse for syntax elements
* \brief cabac parse for syntax elements
*
* \date 10/10/2014 Created
* \date 10/10/2014 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file parse_mb_syn_cavlc.h
* \file parse_mb_syn_cavlc.h
*
* \brief Parsing all syntax elements of mb and decoding residual with cavlc
* \brief Parsing all syntax elements of mb and decoding residual with cavlc
*
* \date 03/17/2009 Created
* \date 03/17/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file rec_mb.h
* \file rec_mb.h
*
* \brief interfaces for all macroblock decoding process after mb syntax parsing and residual decoding with cavlc.
* \brief interfaces for all macroblock decoding process after mb syntax parsing and residual decoding with cavlc.
*
* \date 3/4/2009 Created
* \date 3/4/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file au_parser.c
* \file au_parser.c
*
* \brief Interfaces introduced in Access Unit level based parser
* \brief Interfaces introduced in Access Unit level based parser
*
* \date 03/10/2009 Created
* \date 03/10/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file bit_stream.cpp
* \file bit_stream.cpp
*
* \brief Reading / writing bit-stream
* \brief Reading / writing bit-stream
*
* \date 03/10/2009 Created
* \date 03/10/2009 Created
*
*************************************************************************************
*/

View File

@ -28,7 +28,7 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* cabac_decoder.cpp: deals with cabac state transition and related functions
* cabac_decoder.cpp: deals with cabac state transition and related functions
*/
#include "cabac_decoder.h"
namespace WelsDec {

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file deblocking.c
* \file deblocking.c
*
* \brief Interfaces introduced in frame deblocking filtering
* \brief Interfaces introduced in frame deblocking filtering
*
* \date 08/02/2010
* \date 08/02/2010
*
*************************************************************************************
*/
@ -941,59 +941,59 @@ void WelsDeblockingFilterSlice (PWelsDecoderContext pCtx, PDeblockingFilterMbFun
*/
void DeblockingInit (SDeblockingFunc* pFunc, int32_t iCpu) {
pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_c;
pFunc->pfLumaDeblockingEQ4Ver = DeblockLumaEq4V_c;
pFunc->pfLumaDeblockingLT4Hor = DeblockLumaLt4H_c;
pFunc->pfLumaDeblockingEQ4Hor = DeblockLumaEq4H_c;
pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_c;
pFunc->pfLumaDeblockingEQ4Ver = DeblockLumaEq4V_c;
pFunc->pfLumaDeblockingLT4Hor = DeblockLumaLt4H_c;
pFunc->pfLumaDeblockingEQ4Hor = DeblockLumaEq4H_c;
pFunc->pfChromaDeblockingLT4Ver = DeblockChromaLt4V_c;
pFunc->pfChromaDeblockingEQ4Ver = DeblockChromaEq4V_c;
pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_c;
pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_c;
pFunc->pfChromaDeblockingLT4Ver = DeblockChromaLt4V_c;
pFunc->pfChromaDeblockingEQ4Ver = DeblockChromaEq4V_c;
pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_c;
pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_c;
pFunc->pfChromaDeblockingLT4Ver2 = DeblockChromaLt4V2_c;
pFunc->pfChromaDeblockingEQ4Ver2 = DeblockChromaEq4V2_c;
pFunc->pfChromaDeblockingLT4Hor2 = DeblockChromaLt4H2_c;
pFunc->pfChromaDeblockingEQ4Hor2 = DeblockChromaEq4H2_c;
pFunc->pfChromaDeblockingLT4Ver2 = DeblockChromaLt4V2_c;
pFunc->pfChromaDeblockingEQ4Ver2 = DeblockChromaEq4V2_c;
pFunc->pfChromaDeblockingLT4Hor2 = DeblockChromaLt4H2_c;
pFunc->pfChromaDeblockingEQ4Hor2 = DeblockChromaEq4H2_c;
#ifdef X86_ASM
if (iCpu & WELS_CPU_SSSE3) {
pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_ssse3;
pFunc->pfLumaDeblockingEQ4Ver = DeblockLumaEq4V_ssse3;
pFunc->pfLumaDeblockingLT4Hor = DeblockLumaLt4H_ssse3;
pFunc->pfLumaDeblockingEQ4Hor = DeblockLumaEq4H_ssse3;
pFunc->pfChromaDeblockingLT4Ver = DeblockChromaLt4V_ssse3;
pFunc->pfChromaDeblockingEQ4Ver = DeblockChromaEq4V_ssse3;
pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_ssse3;
pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_ssse3;
pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_ssse3;
pFunc->pfLumaDeblockingEQ4Ver = DeblockLumaEq4V_ssse3;
pFunc->pfLumaDeblockingLT4Hor = DeblockLumaLt4H_ssse3;
pFunc->pfLumaDeblockingEQ4Hor = DeblockLumaEq4H_ssse3;
pFunc->pfChromaDeblockingLT4Ver = DeblockChromaLt4V_ssse3;
pFunc->pfChromaDeblockingEQ4Ver = DeblockChromaEq4V_ssse3;
pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_ssse3;
pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_ssse3;
}
#endif
#if defined(HAVE_NEON)
if (iCpu & WELS_CPU_NEON) {
pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_neon;
pFunc->pfLumaDeblockingEQ4Ver = DeblockLumaEq4V_neon;
pFunc->pfLumaDeblockingLT4Hor = DeblockLumaLt4H_neon;
pFunc->pfLumaDeblockingEQ4Hor = DeblockLumaEq4H_neon;
pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_neon;
pFunc->pfLumaDeblockingEQ4Ver = DeblockLumaEq4V_neon;
pFunc->pfLumaDeblockingLT4Hor = DeblockLumaLt4H_neon;
pFunc->pfLumaDeblockingEQ4Hor = DeblockLumaEq4H_neon;
pFunc->pfChromaDeblockingLT4Ver = DeblockChromaLt4V_neon;
pFunc->pfChromaDeblockingEQ4Ver = DeblockChromaEq4V_neon;
pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_neon;
pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_neon;
pFunc->pfChromaDeblockingLT4Ver = DeblockChromaLt4V_neon;
pFunc->pfChromaDeblockingEQ4Ver = DeblockChromaEq4V_neon;
pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_neon;
pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_neon;
}
#endif
#if defined(HAVE_NEON_AARCH64)
if (iCpu & WELS_CPU_NEON) {
pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_AArch64_neon;
pFunc->pfLumaDeblockingEQ4Ver = DeblockLumaEq4V_AArch64_neon;
pFunc->pfLumaDeblockingLT4Hor = DeblockLumaLt4H_AArch64_neon;
pFunc->pfLumaDeblockingEQ4Hor = DeblockLumaEq4H_AArch64_neon;
pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_AArch64_neon;
pFunc->pfLumaDeblockingEQ4Ver = DeblockLumaEq4V_AArch64_neon;
pFunc->pfLumaDeblockingLT4Hor = DeblockLumaLt4H_AArch64_neon;
pFunc->pfLumaDeblockingEQ4Hor = DeblockLumaEq4H_AArch64_neon;
pFunc->pfChromaDeblockingLT4Ver = DeblockChromaLt4V_AArch64_neon;
pFunc->pfChromaDeblockingEQ4Ver = DeblockChromaEq4V_AArch64_neon;
pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_AArch64_neon;
pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_AArch64_neon;
pFunc->pfChromaDeblockingLT4Ver = DeblockChromaLt4V_AArch64_neon;
pFunc->pfChromaDeblockingEQ4Ver = DeblockChromaEq4V_AArch64_neon;
pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_AArch64_neon;
pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_AArch64_neon;
}
#endif
}

View File

@ -2001,31 +2001,31 @@ int32_t WelsDecodeMbCavlcPSlice (PWelsDecoderContext pCtx, PNalUnit pNalCur, uin
}
void WelsBlockFuncInit (SBlockFunc* pFunc, int32_t iCpu) {
pFunc->pWelsSetNonZeroCountFunc = WelsNonZeroCount_c;
pFunc->pWelsBlockZero16x16Func = WelsBlockZero16x16_c;
pFunc->pWelsBlockZero8x8Func = WelsBlockZero8x8_c;
pFunc->pWelsSetNonZeroCountFunc = WelsNonZeroCount_c;
pFunc->pWelsBlockZero16x16Func = WelsBlockZero16x16_c;
pFunc->pWelsBlockZero8x8Func = WelsBlockZero8x8_c;
#ifdef HAVE_NEON
if (iCpu & WELS_CPU_NEON) {
pFunc->pWelsSetNonZeroCountFunc = WelsNonZeroCount_neon;
pFunc->pWelsBlockZero16x16Func = WelsBlockZero16x16_neon;
pFunc->pWelsBlockZero8x8Func = WelsBlockZero8x8_neon;
pFunc->pWelsSetNonZeroCountFunc = WelsNonZeroCount_neon;
pFunc->pWelsBlockZero16x16Func = WelsBlockZero16x16_neon;
pFunc->pWelsBlockZero8x8Func = WelsBlockZero8x8_neon;
}
#endif
#ifdef HAVE_NEON_AARCH64
if (iCpu & WELS_CPU_NEON) {
pFunc->pWelsSetNonZeroCountFunc = WelsNonZeroCount_AArch64_neon;
pFunc->pWelsBlockZero16x16Func = WelsBlockZero16x16_AArch64_neon;
pFunc->pWelsBlockZero8x8Func = WelsBlockZero8x8_AArch64_neon;
pFunc->pWelsSetNonZeroCountFunc = WelsNonZeroCount_AArch64_neon;
pFunc->pWelsBlockZero16x16Func = WelsBlockZero16x16_AArch64_neon;
pFunc->pWelsBlockZero8x8Func = WelsBlockZero8x8_AArch64_neon;
}
#endif
#if defined(X86_ASM)
if (iCpu & WELS_CPU_SSE2) {
pFunc->pWelsSetNonZeroCountFunc = WelsNonZeroCount_sse2;
pFunc->pWelsBlockZero16x16Func = WelsBlockZero16x16_sse2;
pFunc->pWelsBlockZero8x8Func = WelsBlockZero8x8_sse2;
pFunc->pWelsSetNonZeroCountFunc = WelsNonZeroCount_sse2;
pFunc->pWelsBlockZero16x16Func = WelsBlockZero16x16_sse2;
pFunc->pWelsBlockZero8x8Func = WelsBlockZero8x8_sse2;
}
#endif

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file decoder.c
* \file decoder.c
*
* \brief Interfaces implementation introduced in decoder system architecture
* \brief Interfaces implementation introduced in decoder system architecture
*
* \date 03/10/2009 Created
* \date 03/10/2009 Created
*
*************************************************************************************
*/
@ -885,13 +885,13 @@ void AssignFuncPointerForRec (PWelsDecoderContext pCtx) {
pCtx->pGetIChromaPredFunc[C_PRED_DC_T ] = WelsIChromaPredDcTop_c;
pCtx->pGetIChromaPredFunc[C_PRED_DC_128] = WelsIChromaPredDcNA_c;
pCtx->pIdctResAddPredFunc = IdctResAddPred_c;
pCtx->pIdctResAddPredFunc = IdctResAddPred_c;
pCtx->pIdctResAddPredFunc8x8 = IdctResAddPred8x8_c;
pCtx->pIdctResAddPredFunc8x8 = IdctResAddPred8x8_c;
#if defined(HAVE_NEON)
if (pCtx->uiCpuFlag & WELS_CPU_NEON) {
pCtx->pIdctResAddPredFunc = IdctResAddPred_neon;
pCtx->pIdctResAddPredFunc = IdctResAddPred_neon;
pCtx->pGetI16x16LumaPredFunc[I16_PRED_DC] = WelsDecoderI16x16LumaPredDc_neon;
pCtx->pGetI16x16LumaPredFunc[I16_PRED_P] = WelsDecoderI16x16LumaPredPlane_neon;
@ -916,7 +916,7 @@ void AssignFuncPointerForRec (PWelsDecoderContext pCtx) {
#if defined(HAVE_NEON_AARCH64)
if (pCtx->uiCpuFlag & WELS_CPU_NEON) {
pCtx->pIdctResAddPredFunc = IdctResAddPred_AArch64_neon;
pCtx->pIdctResAddPredFunc = IdctResAddPred_AArch64_neon;
pCtx->pGetI16x16LumaPredFunc[I16_PRED_DC] = WelsDecoderI16x16LumaPredDc_AArch64_neon;
pCtx->pGetI16x16LumaPredFunc[I16_PRED_P] = WelsDecoderI16x16LumaPredPlane_AArch64_neon;
@ -946,7 +946,7 @@ void AssignFuncPointerForRec (PWelsDecoderContext pCtx) {
#if defined(X86_ASM)
if (pCtx->uiCpuFlag & WELS_CPU_MMXEXT) {
pCtx->pIdctResAddPredFunc = IdctResAddPred_mmx;
pCtx->pIdctResAddPredFunc = IdctResAddPred_mmx;
///////mmx code opt---
pCtx->pGetIChromaPredFunc[C_PRED_H] = WelsDecoderIChromaPredH_mmx;

View File

@ -28,7 +28,7 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* decoder_core.c: Wels decoder framework core implementation
* decoder_core.c: Wels decoder framework core implementation
*/
#include "decoder_core.h"

View File

@ -28,7 +28,7 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* error_concealment.cpp: Wels decoder error concealment implementation
* error_concealment.cpp: Wels decoder error concealment implementation
*/
#include "error_code.h"
@ -64,15 +64,15 @@ void InitErrorCon (PWelsDecoderContext pCtx) {
#if defined(HAVE_NEON)
if (pCtx->uiCpuFlag & WELS_CPU_NEON) {
pCtx->sCopyFunc.pCopyLumaFunc = WelsCopy16x16_neon; //aligned
pCtx->sCopyFunc.pCopyChromaFunc = WelsCopy8x8_neon; //aligned
pCtx->sCopyFunc.pCopyLumaFunc = WelsCopy16x16_neon; //aligned
pCtx->sCopyFunc.pCopyChromaFunc = WelsCopy8x8_neon; //aligned
}
#endif //HAVE_NEON
#if defined(HAVE_NEON_AARCH64)
if (pCtx->uiCpuFlag & WELS_CPU_NEON) {
pCtx->sCopyFunc.pCopyLumaFunc = WelsCopy16x16_AArch64_neon; //aligned
pCtx->sCopyFunc.pCopyChromaFunc = WelsCopy8x8_AArch64_neon; //aligned
pCtx->sCopyFunc.pCopyLumaFunc = WelsCopy16x16_AArch64_neon; //aligned
pCtx->sCopyFunc.pCopyChromaFunc = WelsCopy8x8_AArch64_neon; //aligned
}
#endif //HAVE_NEON_AARCH64
} //TODO add more methods here

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file fmo.c
* \file fmo.c
*
* \brief Flexible Macroblock Ordering implementation
* \brief Flexible Macroblock Ordering implementation
*
* \date 2/4/2009 Created
* \date 2/4/2009 Created
*
*************************************************************************************
*/

View File

@ -29,13 +29,13 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file get_intra_predictor.c
* \file get_intra_predictor.c
*
* \brief implementation for get intra predictor about 16x16, 4x4, chroma.
* \brief implementation for get intra predictor about 16x16, 4x4, chroma.
*
* \date 4/2/2009 Created
* 9/14/2009 C level based optimization with high performance gained.
* [const, using ST32/ST64 to replace memset, memcpy and memmove etc.]
* \date 4/2/2009 Created
* 9/14/2009 C level based optimization with high performance gained.
* [const, using ST32/ST64 to replace memset, memcpy and memmove etc.]
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file mv_pred.c
* \file mv_pred.c
*
* \brief Get MV predictor and update motion vector of mb cache
* \brief Get MV predictor and update motion vector of mb cache
*
* \date 05/22/2009 Created
* \date 05/22/2009 Created
*
*************************************************************************************
*/

View File

@ -28,7 +28,7 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* parse_mb_syn_cabac.cpp: cabac parse for syntax elements
* parse_mb_syn_cabac.cpp: cabac parse for syntax elements
*/
#include "parse_mb_syn_cabac.h"
#include "mv_pred.h"

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file parse_mb_syn_cavlc.c
* \file parse_mb_syn_cavlc.c
*
* \brief Interfaces implementation for parsing the syntax of MB
* \brief Interfaces implementation for parsing the syntax of MB
*
* \date 03/17/2009 Created
* \date 03/17/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file pic_queue.c
* \file pic_queue.c
*
* \brief Recycled piture queue implementation
* \brief Recycled piture queue implementation
*
* \date 03/13/2009 Created
* \date 03/13/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file rec_mb.c
* \file rec_mb.c
*
* \brief implementation for all macroblock decoding process after mb syntax parsing and residual decoding with cavlc.
* \brief implementation for all macroblock decoding process after mb syntax parsing and residual decoding with cavlc.
*
* \date 3/18/2009 Created
* \date 3/18/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file common.h
* \file common.h
*
* \brief common flag definitions
* \brief common flag definitions
*
* \date 7/6/2009 Created
* \date 7/6/2009 Created
*
*************************************************************************************
*/

View File

@ -29,12 +29,12 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file au_set.h
* \file au_set.h
*
* \brief Interfaces introduced in Access Unit level based writer
* \brief Interfaces introduced in Access Unit level based writer
*
* \date 05/18/2009 Created
* 05/21/2009 Added init_sps and init_pps
* \date 05/18/2009 Created
* 05/21/2009 Added init_sps and init_pps
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file deblocking.h
* \file deblocking.h
*
* \brief Interfaces introduced in frame deblocking filtering
* \brief Interfaces introduced in frame deblocking filtering
*
* \date 08/03/2009 Created
* \date 08/03/2009 Created
*
*************************************************************************************
*/

View File

@ -29,13 +29,13 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file dq_map.h
* \file dq_map.h
*
* \brief Dependency Quality layer IDC mapping for cross layer selection and jumpping.
* DQ layer idc map for svc encoding, might be a better scheme than that of design before,
* can aware idc of referencing layer and that idc of successive layer to be coded
* \brief Dependency Quality layer IDC mapping for cross layer selection and jumpping.
* DQ layer idc map for svc encoding, might be a better scheme than that of design before,
* can aware idc of referencing layer and that idc of successive layer to be coded
*
* \date 4/22/2009 Created
* \date 4/22/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file encoder.h
* \file encoder.h
*
* \brief core encoder
* \brief core encoder
*
* \date 5/14/2009
* \date 5/14/2009
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file encoder_context.h
* \file encoder_context.h
*
* \brief Main pData to be operated over Wels encoder all modules
* \brief Main pData to be operated over Wels encoder all modules
*
* \date 2/4/2009 Created
* \date 2/4/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file extern.h
* \file extern.h
*
* \brief extern interfaces between core and plus of wels encoder
* \brief extern interfaces between core and plus of wels encoder
*
* \date 4/21/2009 Created
* \date 4/21/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file get_intra_predictor.h
* \file get_intra_predictor.h
*
* \brief interfaces for get intra predictor about 16x16, 4x4, chroma.
* \brief interfaces for get intra predictor about 16x16, 4x4, chroma.
*
* \date 4/2/2009 Created
* \date 4/2/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file md.h
* \file md.h
*
* \brief mode decision
* \brief mode decision
*
* \date 2009.5.14 Created
* \date 2009.5.14 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file mt_defs.h
* \file mt_defs.h
*
* \brief Main macros for multiple threading implementation
* \brief Main macros for multiple threading implementation
*
* \date 2/26/2010 Created
* \date 2/26/2010 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file mv_pred.h
* \file mv_pred.h
*
* \brief Get MV predictor and update motion vector of mb cache
* \brief Get MV predictor and update motion vector of mb cache
*
* \date 05/22/2009 Created
* \date 05/22/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file nal_encap.h
* \file nal_encap.h
*
* \brief NAL pRawNal pData encapsulation
* \brief NAL pRawNal pData encapsulation
*
* \date 2/4/2009 Created
* \date 2/4/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file param_svc.h
* \file param_svc.h
*
* \brief Configurable parameters in H.264/SVC Encoder
* \brief Configurable parameters in H.264/SVC Encoder
*
* \date 4/20/2009 Created
* \date 4/20/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file picture_handle.h
* \file picture_handle.h
*
* \brief picture pData handling
* \brief picture pData handling
*
* \date 5/20/2009 Created
* \date 5/20/2009 Created
*
*************************************************************************************/
#if !defined(WELS_ENCODER_PICTURE_HANDLE_H__)

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file property.h
* \file property.h
*
* \brief CODE name, library module and corresponding version are included
* \brief CODE name, library module and corresponding version are included
*
* \date 03/10/2009 Created
* \date 03/10/2009 Created
*
*************************************************************************************
*/

View File

@ -35,8 +35,8 @@
* Interface for managing reference picture in svc encoder side
*
* History
* 09/01/2008 Created
* 08/07/2009 Ported
* 09/01/2008 Created
* 08/07/2009 Ported
*
*****************************************************************************/
#if !defined(REFERENCE_PICTURE_LIST_MANAGEMENT_SVC_H__)

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file set_mb_syn_cabac.h
* \file set_mb_syn_cabac.h
*
* \brief Seting all syntax elements of mb and encoding residual with cabac
* \brief Seting all syntax elements of mb and encoding residual with cabac
*
* \date 09/27/2014 Created
* \date 09/27/2014 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file set_mb_syn_cavlc.h
* \file set_mb_syn_cavlc.h
*
* \brief Seting all syntax elements of mb and decoding residual with cavlc
* \brief Seting all syntax elements of mb and decoding residual with cavlc
*
* \date 05/19/2009 Created
* \date 05/19/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file slice_multi_threading.c
* \file slice_multi_threading.c
*
* \brief slice based multiple threading
* \brief slice based multiple threading
*
* \date 04/16/2010 Created
* \date 04/16/2010 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file stat.h
* \file stat.h
*
* \brief statistical pData information
* \brief statistical pData information
*
* \date 4/22/2009 Created
* \date 4/22/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file svc_base_layer_md.h
* \file svc_base_layer_md.h
*
* \brief mode decision
* \brief mode decision
*
* \date 2009.08.10 Created
* \date 2009.08.10 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file svc_enc_golomb.h
* \file svc_enc_golomb.h
*
* \brief Exponential Golomb entropy coding routine
* \brief Exponential Golomb entropy coding routine
*
* \date 03/13/2009 Created
* \date 03/13/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file slice_segment.h
* \file slice_segment.h
*
* \brief SSlice segment routine (Single slice/multiple slice/fmo arrangement exclusive)
* \brief SSlice segment routine (Single slice/multiple slice/fmo arrangement exclusive)
*
* \date 2/4/2009 Created
* \date 2/4/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file encode_mb.h
* \file encode_mb.h
*
* \brief interface for mb encoding
* \brief interface for mb encoding
*
* \date 5/21/2009 Created
* \date 5/21/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file svc_encode_slice.h
* \file svc_encode_slice.h
*
* \brief svc encoding slice
* \brief svc encoding slice
*
* \date 2009.07.27 Created
* \date 2009.07.27 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file svc_mode_decision.h
* \file svc_mode_decision.h
*
* \brief SVC Spatial Enhancement Layer MD
* \brief SVC Spatial Enhancement Layer MD
*
* \date 2009.7.29 Created
* \date 2009.7.29 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file svc_set_mb_syn.h
* \file svc_set_mb_syn.h
*
* \brief Seting all syntax elements of mb and encoding residual with cavlc and cabac
* \brief Seting all syntax elements of mb and encoding residual with cavlc and cabac
*
* \date 2009.8.12 Created
* \date 2009.8.12 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file svc_set_mb_syn_cavlc.h
* \file svc_set_mb_syn_cavlc.h
*
* \brief Seting all syntax elements of mb and decoding residual with cavlc
* \brief Seting all syntax elements of mb and decoding residual with cavlc
*
* \date 2009.8.12 Created
* \date 2009.8.12 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file wels_preprocess.h
* \file wels_preprocess.h
*
* \brief interface of video pre-process plugins
* \brief interface of video pre-process plugins
*
* \date 03/15/2011
* \date 03/15/2011
*
* \description : this class is designed as an interface to unify video pre-processing
* class implement sets such as denoise,colorspace conversion etc...

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file au_set.c
* \file au_set.c
*
* \brief Interfaces introduced in Access Unit level based writer
* \brief Interfaces introduced in Access Unit level based writer
*
* \date 05/18/2009 Created
* \date 05/18/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file deblocking.c
* \file deblocking.c
*
* \brief Interfaces introduced in frame deblocking filtering
* \brief Interfaces introduced in frame deblocking filtering
*
* \date 08/03/2009 Created
* \date 08/03/2009 Created
*
*************************************************************************************
*/
@ -794,64 +794,64 @@ void WelsBlockFuncInit (PSetNoneZeroCountZeroFunc* pfSetNZCZero, int32_t iCpu)
}
void DeblockingInit (DeblockingFunc* pFunc, int32_t iCpu) {
pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_c;
pFunc->pfLumaDeblockingEQ4Ver = DeblockLumaEq4V_c;
pFunc->pfLumaDeblockingLT4Hor = DeblockLumaLt4H_c;
pFunc->pfLumaDeblockingEQ4Hor = DeblockLumaEq4H_c;
pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_c;
pFunc->pfLumaDeblockingEQ4Ver = DeblockLumaEq4V_c;
pFunc->pfLumaDeblockingLT4Hor = DeblockLumaLt4H_c;
pFunc->pfLumaDeblockingEQ4Hor = DeblockLumaEq4H_c;
pFunc->pfChromaDeblockingLT4Ver = DeblockChromaLt4V_c;
pFunc->pfChromaDeblockingEQ4Ver = DeblockChromaEq4V_c;
pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_c;
pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_c;
pFunc->pfChromaDeblockingLT4Ver = DeblockChromaLt4V_c;
pFunc->pfChromaDeblockingEQ4Ver = DeblockChromaEq4V_c;
pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_c;
pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_c;
pFunc->pfDeblockingBSCalc = DeblockingBSCalc_c;
pFunc->pfDeblockingBSCalc = DeblockingBSCalc_c;
#ifdef X86_ASM
if (iCpu & WELS_CPU_SSSE3) {
pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_ssse3;
pFunc->pfLumaDeblockingEQ4Ver = DeblockLumaEq4V_ssse3;
pFunc->pfLumaDeblockingLT4Hor = DeblockLumaLt4H_ssse3;
pFunc->pfLumaDeblockingEQ4Hor = DeblockLumaEq4H_ssse3;
pFunc->pfChromaDeblockingLT4Ver = DeblockChromaLt4V_ssse3;
pFunc->pfChromaDeblockingEQ4Ver = DeblockChromaEq4V_ssse3;
pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_ssse3;
pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_ssse3;
pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_ssse3;
pFunc->pfLumaDeblockingEQ4Ver = DeblockLumaEq4V_ssse3;
pFunc->pfLumaDeblockingLT4Hor = DeblockLumaLt4H_ssse3;
pFunc->pfLumaDeblockingEQ4Hor = DeblockLumaEq4H_ssse3;
pFunc->pfChromaDeblockingLT4Ver = DeblockChromaLt4V_ssse3;
pFunc->pfChromaDeblockingEQ4Ver = DeblockChromaEq4V_ssse3;
pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_ssse3;
pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_ssse3;
}
#endif
#if defined(HAVE_NEON)
if (iCpu & WELS_CPU_NEON) {
pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_neon;
pFunc->pfLumaDeblockingEQ4Ver = DeblockLumaEq4V_neon;
pFunc->pfLumaDeblockingLT4Hor = DeblockLumaLt4H_neon;
pFunc->pfLumaDeblockingEQ4Hor = DeblockLumaEq4H_neon;
pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_neon;
pFunc->pfLumaDeblockingEQ4Ver = DeblockLumaEq4V_neon;
pFunc->pfLumaDeblockingLT4Hor = DeblockLumaLt4H_neon;
pFunc->pfLumaDeblockingEQ4Hor = DeblockLumaEq4H_neon;
pFunc->pfChromaDeblockingLT4Ver = DeblockChromaLt4V_neon;
pFunc->pfChromaDeblockingEQ4Ver = DeblockChromaEq4V_neon;
pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_neon;
pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_neon;
pFunc->pfChromaDeblockingLT4Ver = DeblockChromaLt4V_neon;
pFunc->pfChromaDeblockingEQ4Ver = DeblockChromaEq4V_neon;
pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_neon;
pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_neon;
#if defined(SINGLE_REF_FRAME)
pFunc->pfDeblockingBSCalc = DeblockingBSCalc_neon;
pFunc->pfDeblockingBSCalc = DeblockingBSCalc_neon;
#endif
}
#endif
#if defined(HAVE_NEON_AARCH64)
if (iCpu & WELS_CPU_NEON) {
pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_AArch64_neon;
pFunc->pfLumaDeblockingEQ4Ver = DeblockLumaEq4V_AArch64_neon;
pFunc->pfLumaDeblockingLT4Hor = DeblockLumaLt4H_AArch64_neon;
pFunc->pfLumaDeblockingEQ4Hor = DeblockLumaEq4H_AArch64_neon;
pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_AArch64_neon;
pFunc->pfLumaDeblockingEQ4Ver = DeblockLumaEq4V_AArch64_neon;
pFunc->pfLumaDeblockingLT4Hor = DeblockLumaLt4H_AArch64_neon;
pFunc->pfLumaDeblockingEQ4Hor = DeblockLumaEq4H_AArch64_neon;
pFunc->pfChromaDeblockingLT4Ver = DeblockChromaLt4V_AArch64_neon;
pFunc->pfChromaDeblockingEQ4Ver = DeblockChromaEq4V_AArch64_neon;
pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_AArch64_neon;
pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_AArch64_neon;
pFunc->pfChromaDeblockingLT4Ver = DeblockChromaLt4V_AArch64_neon;
pFunc->pfChromaDeblockingEQ4Ver = DeblockChromaEq4V_AArch64_neon;
pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_AArch64_neon;
pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_AArch64_neon;
#if defined(SINGLE_REF_FRAME)
pFunc->pfDeblockingBSCalc = DeblockingBSCalc_AArch64_neon;
pFunc->pfDeblockingBSCalc = DeblockingBSCalc_AArch64_neon;
#endif
}
#endif

View File

@ -249,49 +249,49 @@ void WelsGetEncBlockStrideOffset (int32_t* pBlock, const int32_t kiStrideY, cons
}
void WelsInitReconstructionFuncs (SWelsFuncPtrList* pFuncList, uint32_t uiCpuFlag) {
pFuncList->pfDequantization4x4 = WelsDequant4x4_c;
pFuncList->pfDequantizationFour4x4 = WelsDequantFour4x4_c;
pFuncList->pfDequantizationIHadamard4x4 = WelsDequantIHadamard4x4_c;
pFuncList->pfDequantization4x4 = WelsDequant4x4_c;
pFuncList->pfDequantizationFour4x4 = WelsDequantFour4x4_c;
pFuncList->pfDequantizationIHadamard4x4 = WelsDequantIHadamard4x4_c;
pFuncList->pfIDctT4 = WelsIDctT4Rec_c;
pFuncList->pfIDctFourT4 = WelsIDctFourT4Rec_c;
pFuncList->pfIDctI16x16Dc = WelsIDctRecI16x16Dc_c;
pFuncList->pfIDctT4 = WelsIDctT4Rec_c;
pFuncList->pfIDctFourT4 = WelsIDctFourT4Rec_c;
pFuncList->pfIDctI16x16Dc = WelsIDctRecI16x16Dc_c;
#if defined(X86_ASM)
if (uiCpuFlag & WELS_CPU_MMXEXT) {
pFuncList->pfIDctT4 = WelsIDctT4Rec_mmx;
pFuncList->pfIDctT4 = WelsIDctT4Rec_mmx;
}
if (uiCpuFlag & WELS_CPU_SSE2) {
pFuncList->pfDequantization4x4 = WelsDequant4x4_sse2;
pFuncList->pfDequantizationFour4x4 = WelsDequantFour4x4_sse2;
pFuncList->pfDequantizationIHadamard4x4 = WelsDequantIHadamard4x4_sse2;
pFuncList->pfDequantization4x4 = WelsDequant4x4_sse2;
pFuncList->pfDequantizationFour4x4 = WelsDequantFour4x4_sse2;
pFuncList->pfDequantizationIHadamard4x4 = WelsDequantIHadamard4x4_sse2;
pFuncList->pfIDctFourT4 = WelsIDctFourT4Rec_sse2;
pFuncList->pfIDctI16x16Dc = WelsIDctRecI16x16Dc_sse2;
pFuncList->pfIDctFourT4 = WelsIDctFourT4Rec_sse2;
pFuncList->pfIDctI16x16Dc = WelsIDctRecI16x16Dc_sse2;
}
#endif//X86_ASM
#if defined(HAVE_NEON)
if (uiCpuFlag & WELS_CPU_NEON) {
pFuncList->pfDequantization4x4 = WelsDequant4x4_neon;
pFuncList->pfDequantizationFour4x4 = WelsDequantFour4x4_neon;
pFuncList->pfDequantizationIHadamard4x4 = WelsDequantIHadamard4x4_neon;
pFuncList->pfDequantization4x4 = WelsDequant4x4_neon;
pFuncList->pfDequantizationFour4x4 = WelsDequantFour4x4_neon;
pFuncList->pfDequantizationIHadamard4x4 = WelsDequantIHadamard4x4_neon;
pFuncList->pfIDctFourT4 = WelsIDctFourT4Rec_neon;
pFuncList->pfIDctT4 = WelsIDctT4Rec_neon;
pFuncList->pfIDctI16x16Dc = WelsIDctRecI16x16Dc_neon;
pFuncList->pfIDctFourT4 = WelsIDctFourT4Rec_neon;
pFuncList->pfIDctT4 = WelsIDctT4Rec_neon;
pFuncList->pfIDctI16x16Dc = WelsIDctRecI16x16Dc_neon;
}
#endif
#if defined(HAVE_NEON_AARCH64)
if (uiCpuFlag & WELS_CPU_NEON) {
pFuncList->pfDequantization4x4 = WelsDequant4x4_AArch64_neon;
pFuncList->pfDequantizationFour4x4 = WelsDequantFour4x4_AArch64_neon;
pFuncList->pfDequantizationIHadamard4x4 = WelsDequantIHadamard4x4_AArch64_neon;
pFuncList->pfDequantization4x4 = WelsDequant4x4_AArch64_neon;
pFuncList->pfDequantizationFour4x4 = WelsDequantFour4x4_AArch64_neon;
pFuncList->pfDequantizationIHadamard4x4 = WelsDequantIHadamard4x4_AArch64_neon;
pFuncList->pfIDctFourT4 = WelsIDctFourT4Rec_AArch64_neon;
pFuncList->pfIDctT4 = WelsIDctT4Rec_AArch64_neon;
pFuncList->pfIDctI16x16Dc = WelsIDctRecI16x16Dc_AArch64_neon;
pFuncList->pfIDctFourT4 = WelsIDctFourT4Rec_AArch64_neon;
pFuncList->pfIDctT4 = WelsIDctT4Rec_AArch64_neon;
pFuncList->pfIDctI16x16Dc = WelsIDctRecI16x16Dc_AArch64_neon;
}
#endif
}

View File

@ -462,63 +462,63 @@ int32_t WelsHadamardQuant2x2Skip_AArch64_neon (int16_t* pRes, int16_t iFF, int1
}
#endif
void WelsInitEncodingFuncs (SWelsFuncPtrList* pFuncList, uint32_t uiCpuFlag) {
pFuncList->pfCopy8x8Aligned = WelsCopy8x8_c;
pFuncList->pfCopy16x16Aligned =
pFuncList->pfCopy16x16NotAligned = WelsCopy16x16_c;
pFuncList->pfCopy16x8NotAligned = WelsCopy16x8_c;
pFuncList->pfCopy8x16Aligned = WelsCopy8x16_c;
pFuncList->pfCopy8x8Aligned = WelsCopy8x8_c;
pFuncList->pfCopy16x16Aligned =
pFuncList->pfCopy16x16NotAligned = WelsCopy16x16_c;
pFuncList->pfCopy16x8NotAligned = WelsCopy16x8_c;
pFuncList->pfCopy8x16Aligned = WelsCopy8x16_c;
pFuncList->pfQuantizationHadamard2x2 = WelsHadamardQuant2x2_c;
pFuncList->pfQuantizationHadamard2x2Skip = WelsHadamardQuant2x2Skip_c;
pFuncList->pfTransformHadamard4x4Dc = WelsHadamardT4Dc_c;
pFuncList->pfQuantizationHadamard2x2 = WelsHadamardQuant2x2_c;
pFuncList->pfQuantizationHadamard2x2Skip = WelsHadamardQuant2x2Skip_c;
pFuncList->pfTransformHadamard4x4Dc = WelsHadamardT4Dc_c;
pFuncList->pfDctT4 = WelsDctT4_c;
pFuncList->pfDctFourT4 = WelsDctFourT4_c;
pFuncList->pfDctT4 = WelsDctT4_c;
pFuncList->pfDctFourT4 = WelsDctFourT4_c;
pFuncList->pfScan4x4 = WelsScan4x4DcAc_c;
pFuncList->pfScan4x4Ac = WelsScan4x4Ac_c;
pFuncList->pfCalculateSingleCtr4x4 = WelsCalculateSingleCtr4x4_c;
pFuncList->pfScan4x4 = WelsScan4x4DcAc_c;
pFuncList->pfScan4x4Ac = WelsScan4x4Ac_c;
pFuncList->pfCalculateSingleCtr4x4 = WelsCalculateSingleCtr4x4_c;
pFuncList->pfGetNoneZeroCount = WelsGetNoneZeroCount_c;
pFuncList->pfGetNoneZeroCount = WelsGetNoneZeroCount_c;
pFuncList->pfQuantization4x4 = WelsQuant4x4_c;
pFuncList->pfQuantizationDc4x4 = WelsQuant4x4Dc_c;
pFuncList->pfQuantizationFour4x4 = WelsQuantFour4x4_c;
pFuncList->pfQuantizationFour4x4Max = WelsQuantFour4x4Max_c;
pFuncList->pfQuantization4x4 = WelsQuant4x4_c;
pFuncList->pfQuantizationDc4x4 = WelsQuant4x4Dc_c;
pFuncList->pfQuantizationFour4x4 = WelsQuantFour4x4_c;
pFuncList->pfQuantizationFour4x4Max = WelsQuantFour4x4Max_c;
#if defined(X86_ASM)
if (uiCpuFlag & WELS_CPU_MMXEXT) {
pFuncList->pfQuantizationHadamard2x2 = WelsHadamardQuant2x2_mmx;
pFuncList->pfQuantizationHadamard2x2Skip = WelsHadamardQuant2x2Skip_mmx;
pFuncList->pfQuantizationHadamard2x2 = WelsHadamardQuant2x2_mmx;
pFuncList->pfQuantizationHadamard2x2Skip = WelsHadamardQuant2x2Skip_mmx;
pFuncList->pfDctT4 = WelsDctT4_mmx;
pFuncList->pfDctT4 = WelsDctT4_mmx;
pFuncList->pfCopy8x8Aligned = WelsCopy8x8_mmx;
pFuncList->pfCopy8x16Aligned = WelsCopy8x16_mmx;
pFuncList->pfCopy8x8Aligned = WelsCopy8x8_mmx;
pFuncList->pfCopy8x16Aligned = WelsCopy8x16_mmx;
}
if (uiCpuFlag & WELS_CPU_SSE2) {
pFuncList->pfGetNoneZeroCount = WelsGetNoneZeroCount_sse2;
pFuncList->pfTransformHadamard4x4Dc = WelsHadamardT4Dc_sse2;
pFuncList->pfGetNoneZeroCount = WelsGetNoneZeroCount_sse2;
pFuncList->pfTransformHadamard4x4Dc = WelsHadamardT4Dc_sse2;
pFuncList->pfQuantization4x4 = WelsQuant4x4_sse2;
pFuncList->pfQuantizationDc4x4 = WelsQuant4x4Dc_sse2;
pFuncList->pfQuantizationFour4x4 = WelsQuantFour4x4_sse2;
pFuncList->pfQuantizationFour4x4Max = WelsQuantFour4x4Max_sse2;
pFuncList->pfQuantization4x4 = WelsQuant4x4_sse2;
pFuncList->pfQuantizationDc4x4 = WelsQuant4x4Dc_sse2;
pFuncList->pfQuantizationFour4x4 = WelsQuantFour4x4_sse2;
pFuncList->pfQuantizationFour4x4Max = WelsQuantFour4x4Max_sse2;
pFuncList->pfCopy16x16Aligned = WelsCopy16x16_sse2;
pFuncList->pfCopy16x16NotAligned = WelsCopy16x16NotAligned_sse2;
pFuncList->pfCopy16x8NotAligned = WelsCopy16x8NotAligned_sse2;
pFuncList->pfCopy16x16Aligned = WelsCopy16x16_sse2;
pFuncList->pfCopy16x16NotAligned = WelsCopy16x16NotAligned_sse2;
pFuncList->pfCopy16x8NotAligned = WelsCopy16x8NotAligned_sse2;
pFuncList->pfScan4x4 = WelsScan4x4DcAc_sse2;
pFuncList->pfScan4x4Ac = WelsScan4x4Ac_sse2;
pFuncList->pfCalculateSingleCtr4x4 = WelsCalculateSingleCtr4x4_sse2;
pFuncList->pfScan4x4 = WelsScan4x4DcAc_sse2;
pFuncList->pfScan4x4Ac = WelsScan4x4Ac_sse2;
pFuncList->pfCalculateSingleCtr4x4 = WelsCalculateSingleCtr4x4_sse2;
pFuncList->pfDctFourT4 = WelsDctFourT4_sse2;
pFuncList->pfDctFourT4 = WelsDctFourT4_sse2;
}
//#ifndef MACOS
if (uiCpuFlag & WELS_CPU_SSSE3) {
pFuncList->pfScan4x4 = WelsScan4x4DcAc_ssse3;
pFuncList->pfScan4x4 = WelsScan4x4DcAc_ssse3;
}
//#endif//MACOS
@ -527,47 +527,47 @@ void WelsInitEncodingFuncs (SWelsFuncPtrList* pFuncList, uint32_t uiCpuFlag) {
#if defined(HAVE_NEON)
if (uiCpuFlag & WELS_CPU_NEON) {
pFuncList->pfQuantizationHadamard2x2 = WelsHadamardQuant2x2_neon;
pFuncList->pfQuantizationHadamard2x2Skip = WelsHadamardQuant2x2Skip_neon;
pFuncList->pfDctT4 = WelsDctT4_neon;
pFuncList->pfCopy8x8Aligned = WelsCopy8x8_neon;
pFuncList->pfCopy8x16Aligned = WelsCopy8x16_neon;
pFuncList->pfQuantizationHadamard2x2 = WelsHadamardQuant2x2_neon;
pFuncList->pfQuantizationHadamard2x2Skip = WelsHadamardQuant2x2Skip_neon;
pFuncList->pfDctT4 = WelsDctT4_neon;
pFuncList->pfCopy8x8Aligned = WelsCopy8x8_neon;
pFuncList->pfCopy8x16Aligned = WelsCopy8x16_neon;
pFuncList->pfGetNoneZeroCount = WelsGetNoneZeroCount_neon;
pFuncList->pfTransformHadamard4x4Dc = WelsHadamardT4Dc_neon;
pFuncList->pfGetNoneZeroCount = WelsGetNoneZeroCount_neon;
pFuncList->pfTransformHadamard4x4Dc = WelsHadamardT4Dc_neon;
pFuncList->pfQuantization4x4 = WelsQuant4x4_neon;
pFuncList->pfQuantizationDc4x4 = WelsQuant4x4Dc_neon;
pFuncList->pfQuantizationFour4x4 = WelsQuantFour4x4_neon;
pFuncList->pfQuantizationFour4x4Max = WelsQuantFour4x4Max_neon;
pFuncList->pfQuantization4x4 = WelsQuant4x4_neon;
pFuncList->pfQuantizationDc4x4 = WelsQuant4x4Dc_neon;
pFuncList->pfQuantizationFour4x4 = WelsQuantFour4x4_neon;
pFuncList->pfQuantizationFour4x4Max = WelsQuantFour4x4Max_neon;
pFuncList->pfCopy16x16Aligned = WelsCopy16x16_neon;
pFuncList->pfCopy16x16NotAligned = WelsCopy16x16NotAligned_neon;
pFuncList->pfCopy16x8NotAligned = WelsCopy16x8NotAligned_neon;
pFuncList->pfDctFourT4 = WelsDctFourT4_neon;
pFuncList->pfCopy16x16Aligned = WelsCopy16x16_neon;
pFuncList->pfCopy16x16NotAligned = WelsCopy16x16NotAligned_neon;
pFuncList->pfCopy16x8NotAligned = WelsCopy16x8NotAligned_neon;
pFuncList->pfDctFourT4 = WelsDctFourT4_neon;
}
#endif
#if defined(HAVE_NEON_AARCH64)
if (uiCpuFlag & WELS_CPU_NEON) {
pFuncList->pfQuantizationHadamard2x2 = WelsHadamardQuant2x2_AArch64_neon;
pFuncList->pfQuantizationHadamard2x2Skip = WelsHadamardQuant2x2Skip_AArch64_neon;
pFuncList->pfDctT4 = WelsDctT4_AArch64_neon;
pFuncList->pfCopy8x8Aligned = WelsCopy8x8_AArch64_neon;
pFuncList->pfCopy8x16Aligned = WelsCopy8x16_AArch64_neon;
pFuncList->pfQuantizationHadamard2x2 = WelsHadamardQuant2x2_AArch64_neon;
pFuncList->pfQuantizationHadamard2x2Skip = WelsHadamardQuant2x2Skip_AArch64_neon;
pFuncList->pfDctT4 = WelsDctT4_AArch64_neon;
pFuncList->pfCopy8x8Aligned = WelsCopy8x8_AArch64_neon;
pFuncList->pfCopy8x16Aligned = WelsCopy8x16_AArch64_neon;
pFuncList->pfGetNoneZeroCount = WelsGetNoneZeroCount_AArch64_neon;
pFuncList->pfTransformHadamard4x4Dc = WelsHadamardT4Dc_AArch64_neon;
pFuncList->pfGetNoneZeroCount = WelsGetNoneZeroCount_AArch64_neon;
pFuncList->pfTransformHadamard4x4Dc = WelsHadamardT4Dc_AArch64_neon;
pFuncList->pfQuantization4x4 = WelsQuant4x4_AArch64_neon;
pFuncList->pfQuantizationDc4x4 = WelsQuant4x4Dc_AArch64_neon;
pFuncList->pfQuantizationFour4x4 = WelsQuantFour4x4_AArch64_neon;
pFuncList->pfQuantizationFour4x4Max = WelsQuantFour4x4Max_AArch64_neon;
pFuncList->pfQuantization4x4 = WelsQuant4x4_AArch64_neon;
pFuncList->pfQuantizationDc4x4 = WelsQuant4x4Dc_AArch64_neon;
pFuncList->pfQuantizationFour4x4 = WelsQuantFour4x4_AArch64_neon;
pFuncList->pfQuantizationFour4x4Max = WelsQuantFour4x4Max_AArch64_neon;
pFuncList->pfCopy16x16Aligned = WelsCopy16x16_AArch64_neon;
pFuncList->pfCopy16x16NotAligned = WelsCopy16x16NotAligned_AArch64_neon;
pFuncList->pfCopy16x8NotAligned = WelsCopy16x8NotAligned_AArch64_neon;
pFuncList->pfDctFourT4 = WelsDctFourT4_AArch64_neon;
pFuncList->pfCopy16x16Aligned = WelsCopy16x16_AArch64_neon;
pFuncList->pfCopy16x16NotAligned = WelsCopy16x16NotAligned_AArch64_neon;
pFuncList->pfCopy16x8NotAligned = WelsCopy16x8NotAligned_AArch64_neon;
pFuncList->pfDctFourT4 = WelsDctFourT4_AArch64_neon;
}
#endif
}

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file encoder.c
* \file encoder.c
*
* \brief core encoder
* \brief core encoder
*
* \date 5/14/2009 Created
* \date 5/14/2009 Created
*
*************************************************************************************
*/
@ -159,33 +159,33 @@ int32_t InitFunctionPointers (sWelsEncCtx* pEncCtx, SWelsSvcCodingParam* pParam,
bool bScreenContent = (SCREEN_CONTENT_REAL_TIME == pParam->iUsageType);
/* Functionality utilization of CPU instructions dependency */
pFuncList->pfSetMemZeroSize8 = WelsSetMemZero_c; // confirmed_safe_unsafe_usage
pFuncList->pfSetMemZeroSize64Aligned16 = WelsSetMemZero_c; // confirmed_safe_unsafe_usage
pFuncList->pfSetMemZeroSize64 = WelsSetMemZero_c; // confirmed_safe_unsafe_usage
pFuncList->pfSetMemZeroSize8 = WelsSetMemZero_c; // confirmed_safe_unsafe_usage
pFuncList->pfSetMemZeroSize64Aligned16 = WelsSetMemZero_c; // confirmed_safe_unsafe_usage
pFuncList->pfSetMemZeroSize64 = WelsSetMemZero_c; // confirmed_safe_unsafe_usage
#if defined(X86_ASM)
if (uiCpuFlag & WELS_CPU_MMXEXT) {
pFuncList->pfSetMemZeroSize8 = WelsSetMemZeroSize8_mmx; // confirmed_safe_unsafe_usage
pFuncList->pfSetMemZeroSize64Aligned16 = WelsSetMemZeroSize64_mmx; // confirmed_safe_unsafe_usage
pFuncList->pfSetMemZeroSize64 = WelsSetMemZeroSize64_mmx; // confirmed_safe_unsafe_usage
pFuncList->pfSetMemZeroSize8 = WelsSetMemZeroSize8_mmx; // confirmed_safe_unsafe_usage
pFuncList->pfSetMemZeroSize64Aligned16 = WelsSetMemZeroSize64_mmx; // confirmed_safe_unsafe_usage
pFuncList->pfSetMemZeroSize64 = WelsSetMemZeroSize64_mmx; // confirmed_safe_unsafe_usage
}
if (uiCpuFlag & WELS_CPU_SSE2) {
pFuncList->pfSetMemZeroSize64Aligned16 = WelsSetMemZeroAligned64_sse2; // confirmed_safe_unsafe_usage
pFuncList->pfSetMemZeroSize64Aligned16 = WelsSetMemZeroAligned64_sse2; // confirmed_safe_unsafe_usage
}
#endif//X86_ASM
#if defined(HAVE_NEON)
if (uiCpuFlag & WELS_CPU_NEON) {
pFuncList->pfSetMemZeroSize8 = WelsSetMemZero_neon;
pFuncList->pfSetMemZeroSize64Aligned16 = WelsSetMemZero_neon;
pFuncList->pfSetMemZeroSize64 = WelsSetMemZero_neon;
pFuncList->pfSetMemZeroSize8 = WelsSetMemZero_neon;
pFuncList->pfSetMemZeroSize64Aligned16 = WelsSetMemZero_neon;
pFuncList->pfSetMemZeroSize64 = WelsSetMemZero_neon;
}
#endif
#if defined(HAVE_NEON_AARCH64)
if (uiCpuFlag & WELS_CPU_NEON) {
pFuncList->pfSetMemZeroSize8 = WelsSetMemZero_AArch64_neon;
pFuncList->pfSetMemZeroSize64Aligned16 = WelsSetMemZero_AArch64_neon;
pFuncList->pfSetMemZeroSize64 = WelsSetMemZero_AArch64_neon;
pFuncList->pfSetMemZeroSize8 = WelsSetMemZero_AArch64_neon;
pFuncList->pfSetMemZeroSize64Aligned16 = WelsSetMemZero_AArch64_neon;
pFuncList->pfSetMemZeroSize64 = WelsSetMemZero_AArch64_neon;
}
#endif

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file encoder_ext.c
* \file encoder_ext.c
*
* \brief core encoder for SVC
* \brief core encoder for SVC
*
* \date 7/24/2009 Created
* \date 7/24/2009 Created
*
*************************************************************************************
*/

View File

@ -29,13 +29,13 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file get_intra_predictor.c
* \file get_intra_predictor.c
*
* \brief implementation for get intra predictor about 16x16, 4x4, chroma.
* \brief implementation for get intra predictor about 16x16, 4x4, chroma.
*
* \date 4/2/2009 Created
* 9/14/2009 C level based optimization with high performance gained.
* [const, using ST32/ST64 to replace memset, memcpy and memmove etc.]
* \date 4/2/2009 Created
* 9/14/2009 C level based optimization with high performance gained.
* [const, using ST32/ST64 to replace memset, memcpy and memmove etc.]
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file md.c
* \file md.c
*
* \brief mode decision
* \brief mode decision
*
* \date 2009.05.14 Created
* \date 2009.05.14 Created
*
*************************************************************************************
*/
@ -475,21 +475,21 @@ int32_t AnalysisVaaInfoIntra_c (uint8_t* pDataY, const int32_t kiLineSize) {
// for pfGetVarianceFromIntraVaa function ptr adaptive by CPU features, 6/7/2010
void InitIntraAnalysisVaaInfo (SWelsFuncPtrList* pFuncList, const uint32_t kuiCpuFlag) {
pFuncList->pfGetVarianceFromIntraVaa = AnalysisVaaInfoIntra_c;
pFuncList->pfGetMbSignFromInterVaa = MdInterAnalysisVaaInfo_c;
pFuncList->pfUpdateMbMv = UpdateMbMv_c;
pFuncList->pfGetVarianceFromIntraVaa = AnalysisVaaInfoIntra_c;
pFuncList->pfGetMbSignFromInterVaa = MdInterAnalysisVaaInfo_c;
pFuncList->pfUpdateMbMv = UpdateMbMv_c;
#if defined(X86_ASM)
if ((kuiCpuFlag & WELS_CPU_SSE2) == WELS_CPU_SSE2) {
pFuncList->pfGetVarianceFromIntraVaa = AnalysisVaaInfoIntra_sse2;
pFuncList->pfGetMbSignFromInterVaa = MdInterAnalysisVaaInfo_sse2;
pFuncList->pfUpdateMbMv = UpdateMbMv_sse2;
pFuncList->pfGetVarianceFromIntraVaa = AnalysisVaaInfoIntra_sse2;
pFuncList->pfGetMbSignFromInterVaa = MdInterAnalysisVaaInfo_sse2;
pFuncList->pfUpdateMbMv = UpdateMbMv_sse2;
}
if ((kuiCpuFlag & WELS_CPU_SSSE3) == WELS_CPU_SSSE3) {
pFuncList->pfGetVarianceFromIntraVaa = AnalysisVaaInfoIntra_ssse3;
pFuncList->pfGetVarianceFromIntraVaa = AnalysisVaaInfoIntra_ssse3;
}
if ((kuiCpuFlag & WELS_CPU_SSE41) == WELS_CPU_SSE41) {
pFuncList->pfGetMbSignFromInterVaa = MdInterAnalysisVaaInfo_sse41;
pFuncList->pfGetMbSignFromInterVaa = MdInterAnalysisVaaInfo_sse41;
}
#endif//X86_ASM
}

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file mv_pred.c
* \file mv_pred.c
*
* \brief Get MV predictor and update motion vector of mb cache
* \brief Get MV predictor and update motion vector of mb cache
*
* \date 05/22/2009 Created
* \date 05/22/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file nal_encap.c
* \file nal_encap.c
*
* \brief NAL pRawNal pData encapsulation
* \brief NAL pRawNal pData encapsulation
*
* \date 5/25/2009 Created
* \date 5/25/2009 Created
*
*************************************************************************************/
#include "nal_encap.h"

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file picture_handle.c
* \file picture_handle.c
*
* \brief picture pData handling
* \brief picture pData handling
*
* \date 5/20/2009 Created
* \date 5/20/2009 Created
*
*************************************************************************************/
#include "picture_handle.h"

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file property.c
* \file property.c
*
* \brief CODE name, library module and corresponding version are included
* \brief CODE name, library module and corresponding version are included
*
* \date 03/10/2009 Created
* \date 03/10/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file sample.c
* \file sample.c
*
* \brief compute SAD and SATD
* \brief compute SAD and SATD
*
* \date 2009.06.02 Created
* \date 2009.06.02 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file set_mb_syn_cabac.cpp
* \file set_mb_syn_cabac.cpp
*
* \brief cabac coding engine
* \brief cabac coding engine
*
* \date 10/11/2014 Created
* \date 10/11/2014 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file set_mb_syn_cavlc.h
* \file set_mb_syn_cavlc.h
*
* \brief Seting all syntax elements of mb and decoding residual with cavlc
* \brief Seting all syntax elements of mb and decoding residual with cavlc
*
* \date 05/19/2009 Created
* \date 05/19/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file slice_multi_threading.h
* \file slice_multi_threading.h
*
* \brief pSlice based multiple threading
* \brief pSlice based multiple threading
*
* \date 04/16/2010 Created
* \date 04/16/2010 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file svc_base_layer_md.c
* \file svc_base_layer_md.c
*
* \brief mode decision
* \brief mode decision
*
* \date 2009.08.10 Created
* \date 2009.08.10 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file slice_segment.c
* \file slice_segment.c
*
* \brief SSlice segment routine (Single slice/multiple slice/fmo arrangement exclusive)
* \brief SSlice segment routine (Single slice/multiple slice/fmo arrangement exclusive)
*
* \date 2/4/2009 Created
* \date 2/4/2009 Created
*
*************************************************************************************
*/

View File

@ -29,11 +29,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file encode_mb.c
* \file encode_mb.c
*
* \brief Implementaion for pCurMb encoding
* \brief Implementaion for pCurMb encoding
*
* \date 05/19/2009 Created
* \date 05/19/2009 Created
*************************************************************************************
*/

Some files were not shown because too many files have changed in this diff Show More