| 676 | } |
| 677 | |
| 678 | uint64 ProcessRGB( const uint8* src ) |
| 679 | { |
| 680 | uint64 d = CheckSolid( src ); |
| 681 | if( d != 0 ) return d; |
| 682 | |
| 683 | v4i a[8]; |
| 684 | uint err[4] = {}; |
| 685 | PrepareAverages( a, src, err ); |
| 686 | size_t idx = GetLeastError( err, 4 ); |
| 687 | EncodeAverages( d, a, idx ); |
| 688 | |
| 689 | #if defined __SSE4_1__ && !defined REFERENCE_IMPLEMENTATION |
| 690 | uint32 terr[2][8] = {}; |
| 691 | #else |
| 692 | uint64 terr[2][8] = {}; |
| 693 | #endif |
| 694 | uint16 tsel[16][8]; |
| 695 | const uint32* id = g_id[idx]; |
| 696 | FindBestFit( terr, tsel, a, id, src ); |
| 697 | |
| 698 | return FixByteOrder( EncodeSelectors( d, terr, tsel, id ) ); |
| 699 | } |
| 700 | |
| 701 | uint64 ProcessRGB_ETC2( const uint8* src ) |
| 702 | { |
nothing calls this directly
no test coverage detected