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 | 259 | m_pDecContext->bEndOfStreamFlag = iVal ? true : false; |
| 260 | 260 | |
| 261 | 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 | 313 | iVal = m_pDecContext->iFeedbackTidInAu; |
| 340 | 314 | * ((int*)pOption) = iVal; |
| 341 | 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 | 318 | return cmInitParaError; |
| @@ -390,7 +351,6 @@ DECODING_STATE CWelsDecoder::DecodeFrame2 (const unsigned char* kpSrc, · 32 unmodified lines | ||
| 390 | 351 | m_pDecContext->iErrorCode = dsErrorFree; //initialize at the starting of AU decoding. |
| 391 | 352 | m_pDecContext->iFeedbackVclNalInAu = FEEDBACK_UNKNOWN_NAL; //initialize |
| 392 | 353 | memset (pDstInfo, 0, sizeof (SBufferInfo)); |
| 393 | − pDstInfo->eBufferProperty = (EBufferProperty)m_pDecContext->iDecoderOutputProperty; | |
| 394 | 354 | |
| 395 | 355 | #ifdef LONG_TERM_REF |
| 396 | 356 | m_pDecContext->bReferenceLostAtT0Flag = false; //initialize for LTR |
| @@ -406,8 +366,6 @@ DECODING_STATE CWelsDecoder::DecodeFrame2 (const unsigned char* kpSrc, · 9 unmodified lines | ||
| 406 | 366 | pDstInfo); //iErrorCode has been modified in this function |
| 407 | 367 | XMMREG_PROTECT_LOAD(CWelsH264Decoder); |
| 408 | 368 | |
| 409 | − pDstInfo->eWorkMode = (EDecodeMode)m_pDecContext->iDecoderMode; | |
| 410 | − | |
| 411 | 369 | if (m_pDecContext->iErrorCode) { |
| 412 | 370 | ENalUnitType eNalType = |
| 413 | 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 | 405 | DstInfo.UsrData.sSystemBuffer.iStride[1] = pStride[1]; |
| 448 | 406 | DstInfo.UsrData.sSystemBuffer.iWidth = iWidth; |
| 449 | 407 | DstInfo.UsrData.sSystemBuffer.iHeight = iHeight; |
| 450 | − DstInfo.eBufferProperty = BUFFER_HOST; | |
| 451 | 408 | |
| 452 | 409 | eDecState = DecodeFrame2 (kpSrc, kiSrcLen, (void**)ppDst, &DstInfo); |
| 453 | 410 | if (eDecState == dsErrorFree) { |