| 1718 | } |
| 1719 | |
| 1720 | static bool ipuSETIQ(u32 val) |
| 1721 | { |
| 1722 | if ((val >> 27) & 1) |
| 1723 | { |
| 1724 | u8 (&niq)[64] = decoder.niq; |
| 1725 | |
| 1726 | for(;ipu_cmd.pos[0] < 8; ipu_cmd.pos[0]++) |
| 1727 | { |
| 1728 | if (!getBits64((u8*)niq + 8 * ipu_cmd.pos[0], 1)) return false; |
| 1729 | } |
| 1730 | |
| 1731 | IPU_LOG("Read non-intra quantization matrix from FIFO."); |
| 1732 | for (uint i = 0; i < 8; i++) |
| 1733 | { |
| 1734 | IPU_LOG("%02X %02X %02X %02X %02X %02X %02X %02X", |
| 1735 | niq[i * 8 + 0], niq[i * 8 + 1], niq[i * 8 + 2], niq[i * 8 + 3], |
| 1736 | niq[i * 8 + 4], niq[i * 8 + 5], niq[i * 8 + 6], niq[i * 8 + 7]); |
| 1737 | } |
| 1738 | } |
| 1739 | else |
| 1740 | { |
| 1741 | u8 (&iq)[64] = decoder.iq; |
| 1742 | |
| 1743 | for(;ipu_cmd.pos[0] < 8; ipu_cmd.pos[0]++) |
| 1744 | { |
| 1745 | if (!getBits64((u8*)iq + 8 * ipu_cmd.pos[0], 1)) return false; |
| 1746 | } |
| 1747 | |
| 1748 | IPU_LOG("Read intra quantization matrix from FIFO."); |
| 1749 | for (uint i = 0; i < 8; i++) |
| 1750 | { |
| 1751 | IPU_LOG("%02X %02X %02X %02X %02X %02X %02X %02X", |
| 1752 | iq[i * 8 + 0], iq[i * 8 + 1], iq[i * 8 + 2], iq[i *8 + 3], |
| 1753 | iq[i * 8 + 4], iq[i * 8 + 5], iq[i * 8 + 6], iq[i *8 + 7]); |
| 1754 | } |
| 1755 | } |
| 1756 | |
| 1757 | return true; |
| 1758 | } |
| 1759 | |
| 1760 | static bool ipuSETVQ(u32 val) |
| 1761 | { |