| 776 | } |
| 777 | |
| 778 | void decoderDav1d::cacheStatistics(const Dav1dPictureWrapper &img) |
| 779 | { |
| 780 | if (!internalsSupported || !this->statisticsEnabled()) |
| 781 | return; |
| 782 | |
| 783 | DEBUG_DAV1D("decoderDav1d::cacheStatistics"); |
| 784 | |
| 785 | Av1Block * blockData = img.getBlockData(); |
| 786 | Dav1dFrameHeader *frameHeader = img.getFrameHeader(); |
| 787 | if (frameHeader == nullptr) |
| 788 | return; |
| 789 | |
| 790 | dav1dFrameInfo frameInfo(img.getFrameSize(), frameHeader->frame_type); |
| 791 | frameInfo.frameSize = img.getFrameSize(); |
| 792 | |
| 793 | const int sb_step = subBlockSize >> 2; |
| 794 | |
| 795 | for (unsigned y = 0; y < frameInfo.frameSizeAligned.height; y += sb_step) |
| 796 | for (unsigned x = 0; x < frameInfo.frameSizeAligned.width; x += sb_step) |
| 797 | parseBlockRecursive(blockData, x, y, BL_128X128, frameInfo); |
| 798 | } |
| 799 | |
| 800 | void decoderDav1d::parseBlockRecursive( |
| 801 | Av1Block *blockData, unsigned x, unsigned y, BlockLevel level, dav1dFrameInfo &frameInfo) |
no test coverage detected