https://github.com/Microsoft/DirectXTex/blob/master/DirectXTex/Shaders/BC7Encode.hlsl
In block_package1, when fixup index is 6:
block.w = (get_color_index(15) << 29) | (get_color_index(14) << 26) | (get_color_index(13) << 23) |
(get_color_index(12) << 20) | (get_color_index(11) << 17) | (get_color_index(10) << 14) |
(get_color_index(9) << 11) | (get_color_index(8) << 8) |
(get_color_index(7) << 6) | (get_color_index(6) << 4) | get_color_index(5);
Indexes 6 and 7 are shifted 1 bit higher than they should be. 6 and 7 should be 2 bits apart, and all others 3 bits apart, but index 5 is given 4 bits and index 7 is given 2.
https://github.com/Microsoft/DirectXTex/blob/master/DirectXTex/Shaders/BC7Encode.hlsl
In block_package1, when fixup index is 6:
Indexes 6 and 7 are shifted 1 bit higher than they should be. 6 and 7 should be 2 bits apart, and all others 3 bits apart, but index 5 is given 4 bits and index 7 is given 2.