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:
commit
1d1b4f1d30
@ -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
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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.]
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -29,7 +29,7 @@
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*
|
||||
* \file manage_dec_ref.h
|
||||
* \file manage_dec_ref.h
|
||||
*
|
||||
* Abstract
|
||||
* Interface for managing reference picture
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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 {
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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.]
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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__)
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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__)
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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...
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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.]
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
@ -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
Loading…
x
Reference in New Issue
Block a user