fix travis ci error
Showing the changes to codec/decoder/core/src/deblocking.cpp (1 of 11 files). Show all
Unified · Split
| @@ -332,13 +332,33 @@ void FilteringEdgeChromaH (SDeblockingFilter* pFilter, uint8_t* pPixCb, uint8_t* · 331 unmodified lines | ||
| 332 | 332 | int32_t iAlpha; |
| 333 | 333 | int32_t iBeta; |
| 334 | 334 | ENFORCE_STACK_ALIGN_1D (int8_t, tc, 4, 16); |
| 335 | + if (pFilter->iChromaQP[0] == pFilter->iChromaQP[1]) { | |
| 335 | 336 | |
| 336 | − GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP, pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 337 | − iBeta); | |
| 337 | + GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP[0], pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 338 | + iBeta); | |
| 339 | + | |
| 340 | + if (iAlpha | iBeta) { | |
| 341 | + TC0_TBL_LOOKUP (tc, iIndexA, pBS, 1); | |
| 342 | + pFilter->pLoopf->pfChromaDeblockingLT4Ver (pPixCb, pPixCr, iStride, iAlpha, iBeta, tc); | |
| 343 | + } | |
| 344 | + } else { | |
| 345 | + | |
| 346 | + for (int i = 0; i < 2; i++) { | |
| 347 | + | |
| 348 | + | |
| 349 | + GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP[i], pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 350 | + iBeta); | |
| 351 | + | |
| 352 | + if (iAlpha | iBeta) { | |
| 353 | + uint8_t* pPixCbCr = (i == 0) ? pPixCb : pPixCr; | |
| 354 | + TC0_TBL_LOOKUP (tc, iIndexA, pBS, 1); | |
| 355 | + pFilter->pLoopf->pfChromaDeblockingLT4Ver2 (pPixCbCr, iStride, iAlpha, iBeta, tc); | |
| 356 | + } | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + } | |
| 338 | 361 | |
| 339 | − if (iAlpha | iBeta) { | |
| 340 | − TC0_TBL_LOOKUP (tc, iIndexA, pBS, 1); | |
| 341 | − pFilter->pLoopf->pfChromaDeblockingLT4Ver (pPixCb, pPixCr, iStride, iAlpha, iBeta, tc); | |
| 342 | 362 | } |
| 343 | 363 | return; |
| 344 | 364 | } |
| @@ -348,13 +368,33 @@ void FilteringEdgeChromaV (SDeblockingFilter* pFilter, uint8_t* pPixCb, uint8_t* · 3 unmodified lines | ||
| 348 | 368 | int32_t iAlpha; |
| 349 | 369 | int32_t iBeta; |
| 350 | 370 | ENFORCE_STACK_ALIGN_1D (int8_t, tc, 4, 16); |
| 371 | + if (pFilter->iChromaQP[0] == pFilter->iChromaQP[1]) { | |
| 351 | 372 | |
| 352 | − GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP, pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 353 | − iBeta); | |
| 354 | 373 | |
| 355 | − if (iAlpha | iBeta) { | |
| 356 | − TC0_TBL_LOOKUP (tc, iIndexA, pBS, 1); | |
| 357 | − pFilter->pLoopf->pfChromaDeblockingLT4Hor (pPixCb, pPixCr, iStride, iAlpha, iBeta, tc); | |
| 374 | + GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP[0], pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 375 | + iBeta); | |
| 376 | + | |
| 377 | + if (iAlpha | iBeta) { | |
| 378 | + TC0_TBL_LOOKUP (tc, iIndexA, pBS, 1); | |
| 379 | + pFilter->pLoopf->pfChromaDeblockingLT4Hor (pPixCb, pPixCr, iStride, iAlpha, iBeta, tc); | |
| 380 | + } | |
| 381 | + | |
| 382 | + | |
| 383 | + } else { | |
| 384 | + | |
| 385 | + for (int i = 0; i < 2; i++) { | |
| 386 | + | |
| 387 | + GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP[i], pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 388 | + iBeta); | |
| 389 | + | |
| 390 | + if (iAlpha | iBeta) { | |
| 391 | + uint8_t* pPixCbCr = (i == 0) ? pPixCb : pPixCr; | |
| 392 | + TC0_TBL_LOOKUP (tc, iIndexA, pBS, 1); | |
| 393 | + pFilter->pLoopf->pfChromaDeblockingLT4Hor2 (pPixCbCr, iStride, iAlpha, iBeta, tc); | |
| 394 | + } | |
| 395 | + | |
| 396 | + | |
| 397 | + } | |
| 358 | 398 | } |
| 359 | 399 | return; |
| 360 | 400 | } |
| @@ -364,12 +404,27 @@ void FilteringEdgeChromaIntraH (SDeblockingFilter* pFilter, uint8_t* pPixCb, uin · 3 unmodified lines | ||
| 364 | 404 | int32_t iIndexA; |
| 365 | 405 | int32_t iAlpha; |
| 366 | 406 | int32_t iBeta; |
| 407 | + if (pFilter->iChromaQP[0] == pFilter->iChromaQP[1]) { | |
| 367 | 408 | |
| 368 | − GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP, pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 369 | − iBeta); | |
| 409 | + GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP[0], pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 410 | + iBeta); | |
| 370 | 411 | |
| 371 | − if (iAlpha | iBeta) { | |
| 372 | − pFilter->pLoopf->pfChromaDeblockingEQ4Ver (pPixCb, pPixCr, iStride, iAlpha, iBeta); | |
| 412 | + if (iAlpha | iBeta) { | |
| 413 | + pFilter->pLoopf->pfChromaDeblockingEQ4Ver (pPixCb, pPixCr, iStride, iAlpha, iBeta); | |
| 414 | + } | |
| 415 | + } else { | |
| 416 | + | |
| 417 | + for (int i = 0; i < 2; i++) { | |
| 418 | + | |
| 419 | + GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP[i], pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 420 | + iBeta); | |
| 421 | + | |
| 422 | + if (iAlpha | iBeta) { | |
| 423 | + uint8_t* pPixCbCr = (i == 0) ? pPixCb : pPixCr; | |
| 424 | + pFilter->pLoopf->pfChromaDeblockingEQ4Ver2 (pPixCbCr, iStride, iAlpha, iBeta); | |
| 425 | + } | |
| 426 | + | |
| 427 | + } | |
| 373 | 428 | } |
| 374 | 429 | return; |
| 375 | 430 | } |
| @@ -379,12 +434,29 @@ void FilteringEdgeChromaIntraV (SDeblockingFilter* pFilter, uint8_t* pPixCb, uin · 3 unmodified lines | ||
| 379 | 434 | int32_t iIndexA; |
| 380 | 435 | int32_t iAlpha; |
| 381 | 436 | int32_t iBeta; |
| 437 | + if (pFilter->iChromaQP[0] == pFilter->iChromaQP[1]) { // QP of cb and cr are the same | |
| 382 | 438 | |
| 383 | − GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP, pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 384 | − iBeta); | |
| 385 | 439 | |
| 386 | − if (iAlpha | iBeta) { | |
| 387 | − pFilter->pLoopf->pfChromaDeblockingEQ4Hor (pPixCb, pPixCr, iStride, iAlpha, iBeta); | |
| 440 | + | |
| 441 | + | |
| 442 | + GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP[0], pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 443 | + iBeta); | |
| 444 | + if (iAlpha | iBeta) { | |
| 445 | + pFilter->pLoopf->pfChromaDeblockingEQ4Hor (pPixCb, pPixCr, iStride, iAlpha, iBeta); | |
| 446 | + } | |
| 447 | + } else { | |
| 448 | + | |
| 449 | + for (int i = 0; i < 2; i++) { | |
| 450 | + | |
| 451 | + | |
| 452 | + GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP[i], pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 453 | + iBeta); | |
| 454 | + if (iAlpha | iBeta) { | |
| 455 | + uint8_t* pPixCbCr = (i == 0) ? pPixCb : pPixCr; | |
| 456 | + pFilter->pLoopf->pfChromaDeblockingEQ4Hor2 (pPixCbCr, iStride, iAlpha, iBeta); | |
| 457 | + } | |
| 458 | + } | |
| 459 | + | |
| 388 | 460 | } |
| 389 | 461 | return; |
| 390 | 462 | } |
| @@ -397,7 +469,8 @@ void DeblockingInterMb (PDqLayer pCurDqLayer, PDeblockingFilter pFilter, uint8_ · 6 unmodified lines | ||
| 397 | 469 | int32_t iMbY = pCurDqLayer->iMbY; |
| 398 | 470 | |
| 399 | 471 | int32_t iCurLumaQp = pCurDqLayer->pLumaQp[iMbXyIndex]; |
| 400 | − int32_t iCurChromaQp = pCurDqLayer->pChromaQp[iMbXyIndex]; | |
| 472 | + //int32_t* iCurChromaQp = pCurDqLayer->pChromaQp[iMbXyIndex]; | |
| 473 | + int8_t* pCurChromaQp = pCurDqLayer->pChromaQp[iMbXyIndex]; | |
| 401 | 474 | int32_t iLineSize = pFilter->iCsStride[0]; |
| 402 | 475 | int32_t iLineSizeUV = pFilter->iCsStride[1]; |
| 403 | 476 | |
| @@ -406,11 +479,13 @@ void DeblockingInterMb (PDqLayer pCurDqLayer, PDeblockingFilter pFilter, uint8_ · 2 unmodified lines | ||
| 406 | 479 | pDestCb = pFilter->pCsData[1] + ((iMbY * iLineSizeUV + iMbX) << 3); |
| 407 | 480 | pDestCr = pFilter->pCsData[2] + ((iMbY * iLineSizeUV + iMbX) << 3); |
| 408 | 481 | |
| 482 | +//Vertical margrin | |
| 409 | 483 | if (iBoundryFlag & LEFT_FLAG_MASK) { |
| 410 | 484 | int32_t iLeftXyIndex = iMbXyIndex - 1; |
| 411 | 485 | pFilter->iLumaQP = (iCurLumaQp + pCurDqLayer->pLumaQp[iLeftXyIndex] + 1) >> 1; |
| 412 | − pFilter->iChromaQP = (iCurChromaQp + pCurDqLayer->pChromaQp[iLeftXyIndex] + 1) >> 1; | |
| 413 | − | |
| 486 | + for (int i = 0; i < 2; i++) { | |
| 487 | + pFilter->iChromaQP[i] = (pCurChromaQp[i] + pCurDqLayer->pChromaQp[iLeftXyIndex][i] + 1) >> 1; | |
| 488 | + } | |
| 414 | 489 | if (nBS[0][0][0] == 0x04) { |
| 415 | 490 | FilteringEdgeLumaIntraV (pFilter, pDestY, iLineSize, NULL); |
| 416 | 491 | FilteringEdgeChromaIntraV (pFilter, pDestCb, pDestCr, iLineSizeUV, NULL); |
| @@ -423,7 +498,8 @@ void DeblockingInterMb (PDqLayer pCurDqLayer, PDeblockingFilter pFilter, uint8_ · 6 unmodified lines | ||
| 423 | 498 | } |
| 424 | 499 | |
| 425 | 500 | pFilter->iLumaQP = iCurLumaQp; |
| 426 | − pFilter->iChromaQP = iCurChromaQp; | |
| 501 | + pFilter->iChromaQP[0] = pCurChromaQp[0]; | |
| 502 | + pFilter->iChromaQP[1] = pCurChromaQp[1]; | |
| 427 | 503 | |
| 428 | 504 | if (* (uint32_t*)nBS[0][1] != 0) { |
| 429 | 505 | FilteringEdgeLumaV (pFilter, &pDestY[1 << 2], iLineSize, nBS[0][1]); |
| @@ -441,7 +517,9 @@ void DeblockingInterMb (PDqLayer pCurDqLayer, PDeblockingFilter pFilter, uint8_ · 11 unmodified lines | ||
| 441 | 517 | if (iBoundryFlag & TOP_FLAG_MASK) { |
| 442 | 518 | int32_t iTopXyIndex = iMbXyIndex - pCurDqLayer->iMbWidth; |
| 443 | 519 | pFilter->iLumaQP = (iCurLumaQp + pCurDqLayer->pLumaQp[iTopXyIndex] + 1) >> 1; |
| 444 | − pFilter->iChromaQP = (iCurChromaQp + pCurDqLayer->pChromaQp[iTopXyIndex] + 1) >> 1; | |
| 520 | + for (int i = 0; i < 2; i++) { | |
| 521 | + pFilter->iChromaQP[i] = (pCurChromaQp[i] + pCurDqLayer->pChromaQp[iTopXyIndex][i] + 1) >> 1; | |
| 522 | + } | |
| 445 | 523 | |
| 446 | 524 | if (nBS[1][0][0] == 0x04) { |
| 447 | 525 | FilteringEdgeLumaIntraH (pFilter, pDestY, iLineSize, NULL); |
| @@ -455,7 +533,8 @@ void DeblockingInterMb (PDqLayer pCurDqLayer, PDeblockingFilter pFilter, uint8_ · 7 unmodified lines | ||
| 455 | 533 | } |
| 456 | 534 | |
| 457 | 535 | pFilter->iLumaQP = iCurLumaQp; |
| 458 | − pFilter->iChromaQP = iCurChromaQp; | |
| 536 | + pFilter->iChromaQP[0] = pCurChromaQp[0]; | |
| 537 | + pFilter->iChromaQP[1] = pCurChromaQp[1]; | |
| 459 | 538 | |
| 460 | 539 | if (* (uint32_t*)nBS[1][1] != 0) { |
| 461 | 540 | FilteringEdgeLumaH (pFilter, &pDestY[ (1 << 2)*iLineSize], iLineSize, nBS[1][1]); |
| @@ -527,8 +606,10 @@ void FilteringEdgeChromaHV (PDqLayer pCurDqLayer, PDeblockingFilter pFilter, in · 65 unmodified lines | ||
| 527 | 606 | int32_t iMbWidth = pCurDqLayer->iMbWidth; |
| 528 | 607 | int32_t iLineSize = pFilter->iCsStride[1]; |
| 529 | 608 | |
| 530 | − uint8_t* pDestCb, *pDestCr; | |
| 531 | − int32_t iCurQp; | |
| 609 | + uint8_t* pDestCb; | |
| 610 | + uint8_t* pDestCr; | |
| 611 | + //int32_t iCurQp; | |
| 612 | + int8_t* pCurQp; | |
| 532 | 613 | int32_t iIndexA, iAlpha, iBeta; |
| 533 | 614 | |
| 534 | 615 | ENFORCE_STACK_ALIGN_1D (int8_t, iTc, 4, 16); |
| @@ -536,33 +617,76 @@ void FilteringEdgeChromaHV (PDqLayer pCurDqLayer, PDeblockingFilter pFilter, in · 1 unmodified line | ||
| 536 | 617 | |
| 537 | 618 | pDestCb = pFilter->pCsData[1] + ((iMbY * iLineSize + iMbX) << 3); |
| 538 | 619 | pDestCr = pFilter->pCsData[2] + ((iMbY * iLineSize + iMbX) << 3); |
| 539 | − iCurQp = pCurDqLayer->pChromaQp[iMbXyIndex]; | |
| 620 | + pCurQp = pCurDqLayer->pChromaQp[iMbXyIndex]; | |
| 621 | + | |
| 540 | 622 | * (uint32_t*)uiBSx4 = 0x03030303; |
| 541 | 623 | |
| 542 | − // chroma v | |
| 624 | + | |
| 625 | +// chroma v | |
| 543 | 626 | if (iBoundryFlag & LEFT_FLAG_MASK) { |
| 544 | − pFilter->iChromaQP = (iCurQp + pCurDqLayer->pChromaQp[iMbXyIndex - 1] + 1) >> 1; | |
| 627 | + | |
| 628 | + for (int i = 0; i < 2; i++) { | |
| 629 | + pFilter->iChromaQP[i] = (pCurQp[i] + pCurDqLayer->pChromaQp[iMbXyIndex - 1][i] + 1) >> 1; | |
| 630 | + | |
| 631 | + } | |
| 545 | 632 | FilteringEdgeChromaIntraV (pFilter, pDestCb, pDestCr, iLineSize, NULL); |
| 546 | 633 | } |
| 547 | 634 | |
| 548 | − pFilter->iChromaQP = iCurQp; | |
| 549 | − GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP, pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 550 | − iBeta); | |
| 551 | − if (iAlpha | iBeta) { | |
| 552 | − TC0_TBL_LOOKUP (iTc, iIndexA, uiBSx4, 1); | |
| 553 | − pFilter->pLoopf->pfChromaDeblockingLT4Hor (&pDestCb[2 << 1], &pDestCr[2 << 1], iLineSize, iAlpha, iBeta, iTc); | |
| 635 | + pFilter->iChromaQP[0] = pCurQp[0]; | |
| 636 | + pFilter->iChromaQP[1] = pCurQp[1];; | |
| 637 | + if (pFilter->iChromaQP[0] == pFilter->iChromaQP[1]) { | |
| 638 | + GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP[0], pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 639 | + iBeta); | |
| 640 | + if (iAlpha | iBeta) { | |
| 641 | + TC0_TBL_LOOKUP (iTc, iIndexA, uiBSx4, 1); | |
| 642 | + pFilter->pLoopf->pfChromaDeblockingLT4Hor (&pDestCb[2 << 1], &pDestCr[2 << 1], iLineSize, iAlpha, iBeta, iTc); | |
| 643 | + } | |
| 644 | + } else { | |
| 645 | + | |
| 646 | + for (int i = 0; i < 2; i++) { | |
| 647 | + GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP[i], pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 648 | + iBeta); | |
| 649 | + if (iAlpha | iBeta) { | |
| 650 | + uint8_t* pDestCbCr = (i == 0) ? &pDestCb[2 << 1] : &pDestCr[2 << 1]; | |
| 651 | + TC0_TBL_LOOKUP (iTc, iIndexA, uiBSx4, 1); | |
| 652 | + pFilter->pLoopf->pfChromaDeblockingLT4Hor2 (pDestCbCr, iLineSize, iAlpha, iBeta, iTc); | |
| 653 | + } | |
| 654 | + | |
| 655 | + } | |
| 554 | 656 | } |
| 555 | 657 | |
| 556 | 658 | // chroma h |
| 659 | + | |
| 557 | 660 | if (iBoundryFlag & TOP_FLAG_MASK) { |
| 558 | − pFilter->iChromaQP = (iCurQp + pCurDqLayer->pChromaQp[iMbXyIndex - iMbWidth] + 1) >> 1; | |
| 661 | + for (int i = 0; i < 2; i++) { | |
| 662 | + pFilter->iChromaQP[i] = (pCurQp[i] + pCurDqLayer->pChromaQp[iMbXyIndex - iMbWidth][i] + 1) >> 1; | |
| 663 | + } | |
| 559 | 664 | FilteringEdgeChromaIntraH (pFilter, pDestCb, pDestCr, iLineSize, NULL); |
| 560 | 665 | } |
| 561 | 666 | |
| 562 | − pFilter->iChromaQP = iCurQp; | |
| 563 | − if (iAlpha | iBeta) { | |
| 564 | − pFilter->pLoopf->pfChromaDeblockingLT4Ver (&pDestCb[ (2 << 1)*iLineSize], &pDestCr[ (2 << 1)*iLineSize], iLineSize, | |
| 565 | − iAlpha, iBeta, iTc); | |
| 667 | + pFilter->iChromaQP[0] = pCurQp[0]; | |
| 668 | + pFilter->iChromaQP[1] = pCurQp[1]; | |
| 669 | + | |
| 670 | + if (pFilter->iChromaQP[0] == pFilter->iChromaQP[1]) { | |
| 671 | + GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP[0], pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 672 | + iBeta); | |
| 673 | + if (iAlpha | iBeta) { | |
| 674 | + pFilter->pLoopf->pfChromaDeblockingLT4Ver (&pDestCb[ (2 << 1)*iLineSize], &pDestCr[ (2 << 1)*iLineSize], iLineSize, | |
| 675 | + iAlpha, iBeta, iTc); | |
| 676 | + } | |
| 677 | + } else { | |
| 678 | + for (int i = 0; i < 2; i++) { | |
| 679 | + | |
| 680 | + GET_ALPHA_BETA_FROM_QP (pFilter->iChromaQP[i], pFilter->iSliceAlphaC0Offset, pFilter->iSliceBetaOffset, iIndexA, iAlpha, | |
| 681 | + iBeta); | |
| 682 | + if (iAlpha | iBeta) { | |
| 683 | + uint8_t* pDestCbCr = (i == 0) ? &pDestCb[ (2 << 1) * iLineSize] : &pDestCr[ (2 << 1) * iLineSize]; | |
| 684 | + pFilter->pLoopf->pfChromaDeblockingLT4Ver2 (pDestCbCr, iLineSize, | |
| 685 | + iAlpha, iBeta, iTc); | |
| 686 | + } | |
| 687 | + } | |
| 688 | + | |
| 689 | + | |
| 566 | 690 | } |
| 567 | 691 | } |
| 568 | 692 | |
| @@ -706,6 +830,11 @@ void DeblockingInit (SDeblockingFunc* pFunc, int32_t iCpu) { · 137 unmodified lines | ||
| 706 | 830 | pFunc->pfChromaDeblockingLT4Hor = DeblockChromaLt4H_c; |
| 707 | 831 | pFunc->pfChromaDeblockingEQ4Hor = DeblockChromaEq4H_c; |
| 708 | 832 | |
| 833 | + pFunc->pfChromaDeblockingLT4Ver2 = DeblockChromaLt4V2_c; | |
| 834 | + pFunc->pfChromaDeblockingEQ4Ver2 = DeblockChromaEq4V2_c; | |
| 835 | + pFunc->pfChromaDeblockingLT4Hor2 = DeblockChromaLt4H2_c; | |
| 836 | + pFunc->pfChromaDeblockingEQ4Hor2 = DeblockChromaEq4H2_c; | |
| 837 | + | |
| 709 | 838 | #ifdef X86_ASM |
| 710 | 839 | if (iCpu & WELS_CPU_SSSE3) { |
| 711 | 840 | pFunc->pfLumaDeblockingLT4Ver = DeblockLumaLt4V_ssse3; |