bug-fixed----left length of destination buffer for writing slice bs

This commit is contained in:
huade 2015-08-19 09:05:15 +08:00
parent bf33bde15d
commit 47d6ac3b57

View File

@ -764,7 +764,7 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) {
WelsUnloadNalForSlice (pSliceBs);
int32_t iLeftBufferSize = (iSliceIdx > 0) ?
(pSliceBs->uiSize - (int32_t) (pSliceBs->sBsWrite.pCurBuf - pSliceBs->sBsWrite.pStartBuf))
(pSliceBs->uiSize - pSliceBs->uiBsPos)
: (pEncPEncCtx->iFrameBsSize - pEncPEncCtx->iPosBsBuffer);
iReturn = WriteSliceBs (pEncPEncCtx, pSliceBs->pBs,
&pSliceBs->iNalLen[0],
@ -883,7 +883,7 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) {
pEncPEncCtx->iPosBsBuffer += iSliceSize;
} else {
iReturn = WriteSliceBs (pEncPEncCtx, pSliceBs->pBs, &pSliceBs->iNalLen[0],
pSliceBs->uiSize - (int32_t) (pSliceBs->sBsWrite.pCurBuf - pSliceBs->sBsWrite.pStartBuf),
pSliceBs->uiSize - pSliceBs->uiBsPos,
iSliceIdx, iSliceSize);
if (ENC_RETURN_SUCCESS != iReturn) {
uiThrdRet = iReturn;