从JEM-2.0版本开始,JEM使用了第三方库。HM-16.6-JEM-2.0及之后版本的软件的文件夹下,相比于HM-16.6-JEM-1.0多出了一个文件夹extlib,文件夹extlib包含了一个名为Eigen的文件夹。Eigen文件夹装的是Eigen库,里面的每一个文件的开头用注释的方式介绍了这个库:
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2009 Keir Mierle <mierle@gmail.com>
// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2011 Timothy E. Holy <tim.holy@gmail.com >
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
整个软件只在TLibCommon/TComTrQuant.cpp中使用了Eigen库:
#include "../../extlib/Eigen/Dense"
新技术signal dependent transform(SDT)做KLT正反变换的时候会用到Eigen库里的数据类型和函数。