diff options
author | Lioncash <mathew1800@gmail.com> | 2020-10-27 07:09:17 +0100 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2020-10-27 07:16:42 +0100 |
commit | c04203b786d87ecb66811341e7ea776452664e91 (patch) | |
tree | 425b6993279146d7096d8af35287f3cc26127e40 /src/video_core/command_classes/codecs/h264.cpp | |
parent | Merge pull request #4729 from ameerj/nvdec-prod (diff) | |
download | yuzu-c04203b786d87ecb66811341e7ea776452664e91.tar yuzu-c04203b786d87ecb66811341e7ea776452664e91.tar.gz yuzu-c04203b786d87ecb66811341e7ea776452664e91.tar.bz2 yuzu-c04203b786d87ecb66811341e7ea776452664e91.tar.lz yuzu-c04203b786d87ecb66811341e7ea776452664e91.tar.xz yuzu-c04203b786d87ecb66811341e7ea776452664e91.tar.zst yuzu-c04203b786d87ecb66811341e7ea776452664e91.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/command_classes/codecs/h264.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/video_core/command_classes/codecs/h264.cpp b/src/video_core/command_classes/codecs/h264.cpp index 1a39f7b23..54a749e2b 100644 --- a/src/video_core/command_classes/codecs/h264.cpp +++ b/src/video_core/command_classes/codecs/h264.cpp @@ -18,12 +18,27 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // +#include <array> #include "common/bit_util.h" #include "video_core/command_classes/codecs/h264.h" #include "video_core/gpu.h" #include "video_core/memory_manager.h" namespace Tegra::Decoder { +namespace { +// ZigZag LUTs from libavcodec. +constexpr std::array<u8, 64> zig_zag_direct{ + 0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, + 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, + 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63, +}; + +constexpr std::array<u8, 16> zig_zag_scan{ + 0 + 0 * 4, 1 + 0 * 4, 0 + 1 * 4, 0 + 2 * 4, 1 + 1 * 4, 2 + 0 * 4, 3 + 0 * 4, 2 + 1 * 4, + 1 + 2 * 4, 0 + 3 * 4, 1 + 3 * 4, 2 + 2 * 4, 3 + 1 * 4, 3 + 2 * 4, 2 + 3 * 4, 3 + 3 * 4, +}; +} // Anonymous namespace + H264::H264(GPU& gpu_) : gpu(gpu_) {} H264::~H264() = default; |