There is no implementation available for actually doing decoding in HW.
Showing the changes to codec/decoder/plus/src/welsDecoderExt.cpp (1 of 10 files). Show all
Unified · Split
| @@ -259,32 +259,6 @@ long CWelsDecoder::SetOption (DECODER_OPTION eOptID, void* pOption) { · 258 unmodified lines | |||
| 259 | m_pDecContext->bEndOfStreamFlag = iVal ? true : false; | 259 | m_pDecContext->bEndOfStreamFlag = iVal ? true : false; |
| 260 | 260 | ||
| 261 | return cmResultSuccess; | 261 | return cmResultSuccess; |
| 262 | } else if (eOptID == DECODER_OPTION_MODE) { | ||
| 263 | if (pOption == NULL) | ||
| 264 | return cmInitParaError; | ||
| 265 | |||
| 266 | iVal = * ((int*)pOption); | ||
| 267 | |||
| 268 | m_pDecContext->iSetMode = iVal; | ||
| 269 | if (iVal == SW_MODE) { | ||
| 270 | m_pDecContext->iDecoderOutputProperty = BUFFER_HOST; | ||
| 271 | } else { | ||
| 272 | #if !defined(__APPLE__) | ||
| 273 | m_pDecContext->iDecoderOutputProperty = BUFFER_DEVICE; | ||
| 274 | #else | ||
| 275 | m_pDecContext->iDecoderOutputProperty = BUFFER_HOST;//BUFFER_HOST;//BUFFER_DEVICE; | ||
| 276 | #endif | ||
| 277 | |||
| 278 | } | ||
| 279 | |||
| 280 | return cmResultSuccess; | ||
| 281 | } else if (eOptID == DECODER_OPTION_OUTPUT_PROPERTY) { | ||
| 282 | if (pOption == NULL) | ||
| 283 | return cmInitParaError; | ||
| 284 | |||
| 285 | iVal = * ((int*)pOption); | ||
| 286 | if (m_pDecContext->iSetMode != SW_MODE) | ||
| 287 | m_pDecContext->iDecoderOutputProperty = iVal; | ||
| 288 | } | 262 | } |
| 289 | 263 | ||
| 290 | 264 | ||
| @@ -339,19 +313,6 @@ long CWelsDecoder::GetOption (DECODER_OPTION eOptID, void* pOption) { · 48 unmodified lines | |||
| 339 | iVal = m_pDecContext->iFeedbackTidInAu; | 313 | iVal = m_pDecContext->iFeedbackTidInAu; |
| 340 | * ((int*)pOption) = iVal; | 314 | * ((int*)pOption) = iVal; |
| 341 | return cmResultSuccess; | 315 | return cmResultSuccess; |
| 342 | } else if (DECODER_OPTION_MODE == eOptID) { | ||
| 343 | if (pOption == NULL) | ||
| 344 | return cmInitParaError; | ||
| 345 | |||
| 346 | iVal = m_pDecContext->iSetMode; | ||
| 347 | |||
| 348 | * ((int*)pOption) = iVal; | ||
| 349 | return cmResultSuccess; | ||
| 350 | } else if (DECODER_OPTION_DEVICE_INFO == eOptID) { | ||
| 351 | if (pOption == NULL) | ||
| 352 | return cmInitParaError; | ||
| 353 | |||
| 354 | return cmResultSuccess; | ||
| 355 | } | 316 | } |
| 356 | 317 | ||
| 357 | return cmInitParaError; | 318 | return cmInitParaError; |
| @@ -390,7 +351,6 @@ DECODING_STATE CWelsDecoder::DecodeFrame2 (const unsigned char* kpSrc, · 32 unmodified lines | |||
| 390 | m_pDecContext->iErrorCode = dsErrorFree; //initialize at the starting of AU decoding. | 351 | m_pDecContext->iErrorCode = dsErrorFree; //initialize at the starting of AU decoding. |
| 391 | m_pDecContext->iFeedbackVclNalInAu = FEEDBACK_UNKNOWN_NAL; //initialize | 352 | m_pDecContext->iFeedbackVclNalInAu = FEEDBACK_UNKNOWN_NAL; //initialize |
| 392 | memset (pDstInfo, 0, sizeof (SBufferInfo)); | 353 | memset (pDstInfo, 0, sizeof (SBufferInfo)); |
| 393 | pDstInfo->eBufferProperty = (EBufferProperty)m_pDecContext->iDecoderOutputProperty; | ||
| 394 | 354 | ||
| 395 | #ifdef LONG_TERM_REF | 355 | #ifdef LONG_TERM_REF |
| 396 | m_pDecContext->bReferenceLostAtT0Flag = false; //initialize for LTR | 356 | m_pDecContext->bReferenceLostAtT0Flag = false; //initialize for LTR |
| @@ -406,8 +366,6 @@ DECODING_STATE CWelsDecoder::DecodeFrame2 (const unsigned char* kpSrc, · 9 unmodified lines | |||
| 406 | pDstInfo); //iErrorCode has been modified in this function | 366 | pDstInfo); //iErrorCode has been modified in this function |
| 407 | XMMREG_PROTECT_LOAD(CWelsH264Decoder); | 367 | XMMREG_PROTECT_LOAD(CWelsH264Decoder); |
| 408 | 368 | ||
| 409 | pDstInfo->eWorkMode = (EDecodeMode)m_pDecContext->iDecoderMode; | ||
| 410 | |||
| 411 | if (m_pDecContext->iErrorCode) { | 369 | if (m_pDecContext->iErrorCode) { |
| 412 | ENalUnitType eNalType = | 370 | ENalUnitType eNalType = |
| 413 | NAL_UNIT_UNSPEC_0; //for NBR, IDR frames are expected to decode as followed if error decoding an IDR currently | 371 | NAL_UNIT_UNSPEC_0; //for NBR, IDR frames are expected to decode as followed if error decoding an IDR currently |
| @@ -447,7 +405,6 @@ DECODING_STATE CWelsDecoder::DecodeFrame (const unsigned char* kpSrc, · 33 unmodified lines | |||
| 447 | DstInfo.UsrData.sSystemBuffer.iStride[1] = pStride[1]; | 405 | DstInfo.UsrData.sSystemBuffer.iStride[1] = pStride[1]; |
| 448 | DstInfo.UsrData.sSystemBuffer.iWidth = iWidth; | 406 | DstInfo.UsrData.sSystemBuffer.iWidth = iWidth; |
| 449 | DstInfo.UsrData.sSystemBuffer.iHeight = iHeight; | 407 | DstInfo.UsrData.sSystemBuffer.iHeight = iHeight; |
| 450 | DstInfo.eBufferProperty = BUFFER_HOST; | ||
| 451 | 408 | ||
| 452 | eDecState = DecodeFrame2 (kpSrc, kiSrcLen, (void**)ppDst, &DstInfo); | 409 | eDecState = DecodeFrame2 (kpSrc, kiSrcLen, (void**)ppDst, &DstInfo); |
| 453 | if (eDecState == dsErrorFree) { | 410 | if (eDecState == dsErrorFree) { |