Backup/restore the xmm6-xmm15 SSE registers within asm functions on win64 Reviewed by zhiliang
Showing the changes to codec/encoder/plus/src/welsEncoderExt.cpp (1 of 24 files). Show all
Unified · Split
| @@ -138,7 +138,6 @@ CWelsH264SVCEncoder::CWelsH264SVCEncoder() · 137 unmodified lines | ||
| 138 | 138 | #endif//OUTPUT_BIT_STREAM |
| 139 | 139 | |
| 140 | 140 | InitEncoder(); |
| 141 | − XMMREG_PROTECT_INIT(CWelsH264SVCEncoder); | |
| 142 | 141 | } |
| 143 | 142 | |
| 144 | 143 | CWelsH264SVCEncoder::~CWelsH264SVCEncoder() { |
| @@ -172,7 +171,6 @@ CWelsH264SVCEncoder::~CWelsH264SVCEncoder() { · 27 unmodified lines | ||
| 172 | 171 | #endif//OUTPUT_BIT_STREAM |
| 173 | 172 | |
| 174 | 173 | Uninitialize(); |
| 175 | − XMMREG_PROTECT_UNINIT(CWelsH264SVCEncoder); | |
| 176 | 174 | } |
| 177 | 175 | |
| 178 | 176 | void CWelsH264SVCEncoder::InitEncoder (void) { |
| @@ -551,9 +549,7 @@ int CWelsH264SVCEncoder::EncodeFrameInternal(const SSourcePicture* pSrcPic, SFr · 372 unmodified lines | ||
| 551 | 549 | |
| 552 | 550 | int32_t iFrameTypeReturned = 0; |
| 553 | 551 | int32_t iFrameType = videoFrameTypeInvalid; |
| 554 | − XMMREG_PROTECT_STORE(CWelsH264SVCEncoder); | |
| 555 | 552 | const int32_t kiEncoderReturn = WelsEncoderEncodeExt (m_pEncContext, pBsInfo, pSrcPic); |
| 556 | − XMMREG_PROTECT_LOAD(CWelsH264SVCEncoder); | |
| 557 | 553 | |
| 558 | 554 | if(kiEncoderReturn == ENC_RETURN_MEMALLOCERR) { |
| 559 | 555 | WelsUninitEncoderExt (&m_pEncContext); |