public static unsafe void DumpMacroBlock(MACROBLOCKD macroBlock, int macroBlockIndex) { Debug.WriteLine($"MacroBlock {macroBlockIndex}:"); Debug.Write("eobs: "); for (int i = 0; i < macroBlock.eobs.Length; i++) { Debug.Write($"{macroBlock.eobs[i]}, "); } Debug.WriteLine(""); Debug.WriteLine($"y: {DebugProbeHexStr.ToHexStr(macroBlock.dst.y_buffer, macroBlock.dst.y_width)}"); Debug.WriteLine($"u: {DebugProbeHexStr.ToHexStr(macroBlock.dst.u_buffer, macroBlock.dst.uv_width)}"); Debug.WriteLine($"v: {DebugProbeHexStr.ToHexStr(macroBlock.dst.v_buffer, macroBlock.dst.uv_width)}"); Debug.WriteLine(""); }
public static unsafe void DumpAboveAndLeft(byte[] above, byte[] left) { string aboveHex = null; fixed(byte *pAbove = above) { aboveHex = DebugProbeHexStr.ToHexStr(pAbove + 3, 9); } string leftHex = null; fixed(byte *pLeft = left) { leftHex = DebugProbeHexStr.ToHexStr(pLeft, 4); } Debug.WriteLine($"above={aboveHex},left={leftHex}"); }
public static unsafe void DumpYSubBlock(int index, byte *dst, int stride) { Debug.WriteLine($"y[{index}]: {DebugProbeHexStr.ToHexStr(dst, stride)}"); }