#include "AliHLTDataDeflaterHuffman.h"
#include "AliHLTHuffman.h"
#include "TObjArray.h"
#include "TList.h"
#include "TString.h"
#include "TFile.h"
#include <memory>
#include <algorithm>
#include <iostream>
ClassImp(AliHLTDataDeflaterHuffman)
AliHLTDataDeflaterHuffman::AliHLTDataDeflaterHuffman(bool bTrainingMode)
: AliHLTDataDeflater()
, fReferenceLength()
, fHuffmanCoders()
, fHuffmanCoderList(NULL)
, fTrainingMode(bTrainingMode)
{
if (bTrainingMode) {
HLTInfo("using DataDeflaterHuffman in training mode");
}
}
AliHLTDataDeflaterHuffman::~AliHLTDataDeflaterHuffman()
{
if (fHuffmanCoderList) delete fHuffmanCoderList;
fHuffmanCoderList=NULL;
Clear();
}
int AliHLTDataDeflaterHuffman::AddParameterDefinition(const char* name, unsigned bitLength, unsigned refLength)
{
if (IsTrainingMode())
return AddTrainingParameter(name, bitLength);
if (!name) return -EINVAL;
if (!fHuffmanCoderList) return -ENODEV;
TObject* pObj=fHuffmanCoderList->FindObject(name);
if (!pObj) {
HLTError("can not find decoder of id '%s'", name);
return -ENOENT;
}
AliHLTHuffman* pHuffman=dynamic_cast<AliHLTHuffman*>(pObj);
if (!pHuffman) {
HLTError("object %s has wrong type, expected AliHLTHuffman", name);
return -EBADF;
}
if (pHuffman->GetMaxBits()!=bitLength) {
HLTError("mismatch in bitlengt: can not use decoder %s of length %d for encoding of %d bits", pHuffman->GetName(), pHuffman->GetMaxBits(), bitLength);
return -EPERM;
}
fReferenceLength.push_back(refLength);
fHuffmanCoders.push_back(pHuffman);
int memberId=fHuffmanCoders.size()-1;
if (DoStatistics()) {
AddHistogram(memberId, name, bitLength);
}
return memberId;
}
int AliHLTDataDeflaterHuffman::InitDecoders(TList* decoderlist)
{
if (!decoderlist) return -EINVAL;
if (!fHuffmanCoderList) {
fHuffmanCoderList=new TList;
} else {
if (fHuffmanCoderList->GetEntries()>0 && fHuffmanCoderList->IsOwner()) {
HLTWarning("list of decoders owns already %d object(s), but disabling ownership now because of new external pointers");
}
}
if (!fHuffmanCoderList) return -ENOMEM;
fHuffmanCoderList->SetOwner(kFALSE);
TIter next(decoderlist);
TObject* pObj=NULL;
while ((pObj=next())!=NULL) {
if (dynamic_cast<AliHLTHuffman*>(pObj)==NULL) continue;
if (fHuffmanCoderList->FindObject(pObj->GetName())) {
HLTError("duplicate entry of name '%s'", pObj->GetName());
return -EEXIST;
}
fHuffmanCoderList->Add(pObj);
}
return fHuffmanCoderList->GetEntries();
}
bool AliHLTDataDeflaterHuffman::OutputParameterBits( int memberId, AliHLTUInt64_t const & value )
{
if (IsTrainingMode())
return AddTrainingValue(memberId, value);
if (memberId>=(int)fHuffmanCoders.size()) {
return false;
}
AliHLTUInt64_t length = 0;
const std::bitset<64>& v=fHuffmanCoders[memberId]->Encode((value>fHuffmanCoders[memberId]->GetMaxValue())?fHuffmanCoders[memberId]->GetMaxValue():value, length);
if (DoStatistics()) {
float weight=0.0;
unsigned parameterLength=fHuffmanCoders[memberId]->GetMaxBits();
if (memberId<(int)fReferenceLength.size() && fReferenceLength[memberId]>0)
parameterLength=fReferenceLength[memberId];
if (parameterLength>0) {
weight=length;
weight/=parameterLength;
}
FillStatistics(memberId, value, length, weight);
}
if (length>0) {
return OutputBits(v, length);
}
return false;
}
int AliHLTDataDeflaterHuffman::AddTrainingParameter(const char* name, unsigned bitLength)
{
if (!fHuffmanCoderList) {
fHuffmanCoderList=new TList;
if (!fHuffmanCoderList) return -ENOMEM;
fHuffmanCoderList->SetOwner();
} else if (!fHuffmanCoderList->IsOwner()) {
if (fHuffmanCoderList->GetEntries()>0) {
HLTWarning("skip setting ownership because list contains already %d object(s), possible memory leak at cleanup");
} else {
fHuffmanCoderList->SetOwner();
}
}
AliHLTHuffman* pHuffman=new AliHLTHuffman(name, bitLength);
if (!pHuffman) return -ENOMEM;
fHuffmanCoderList->Add(pHuffman);
fHuffmanCoders.push_back(pHuffman);
return fHuffmanCoders.size()-1;
}
bool AliHLTDataDeflaterHuffman::AddTrainingValue( int memberId, AliHLTUInt64_t const & value )
{
if (memberId>=(int)fHuffmanCoders.size()) {
return false;
}
return fHuffmanCoders[memberId]->AddTrainingValue(value);
}
const TList* AliHLTDataDeflaterHuffman::GenerateHuffmanTree()
{
for (unsigned i=0; i<fHuffmanCoders.size(); i++) {
if (!fHuffmanCoders[i]->GenerateHuffmanTree()) {
HLTError("failed to generate huffman tree for parameter %s", fHuffmanCoders[i]->GetName());
}
}
return fHuffmanCoderList;
}
void AliHLTDataDeflaterHuffman::Clear(Option_t * option)
{
AliHLTDataDeflater::Clear(option);
}
void AliHLTDataDeflaterHuffman::Print(Option_t *option) const
{
Print(cout, option);
}
void AliHLTDataDeflaterHuffman::Print(ostream& out, Option_t * ) const
{
out << "AliHLTDataDeflaterHuffman:" << endl;
for (vector<AliHLTHuffman*>::const_iterator it=fHuffmanCoders.begin();
it!=fHuffmanCoders.end(); it++) {
(*it)->Print("short"); cout << endl;
}
if (fHuffmanCoders.size()==0 && fHuffmanCoderList && fHuffmanCoderList->GetEntries()>0) {
TIter next(fHuffmanCoderList);
TObject* pObj=NULL;
while ((pObj=next())) {
pObj->Print("short"); cout << endl;
}
}
}
TObject *AliHLTDataDeflaterHuffman::FindObject(const char *name) const
{
if (strcmp(name, "DeflaterConfiguration")==0) {
for (unsigned i=0; i<fHuffmanCoders.size(); i++) {
if (!fHuffmanCoders[i]->GenerateHuffmanTree()) {
HLTError("generation of huffman tree for parameter '%s' failed", fHuffmanCoders[i]->GetName());
return NULL;
}
if (!fHuffmanCoders[i]->CheckConsistency()) {
HLTError("consistency check of huffman tree for parameter '%s' failed", fHuffmanCoders[i]->GetName());
}
}
return fHuffmanCoderList;
}
return NULL;
}
void AliHLTDataDeflaterHuffman::SaveAs(const char *filename, Option_t *option) const
{
TString remainingOptions;
bool bWriteHuffmanConf=false;
TString strOption(option);
std::auto_ptr<TObjArray> tokens(strOption.Tokenize(" "));
if (tokens.get()) {
for (int i=0; i<tokens->GetEntriesFast(); i++) {
if (!tokens->At(i)) continue;
const char* key="";
TString arg=tokens->At(i)->GetName();
key="huffmanconf";
if (arg.BeginsWith(key)) {
bWriteHuffmanConf=true;
continue;
}
if (!remainingOptions.IsNull()) remainingOptions+=" ";
remainingOptions+=arg;
}
}
if (bWriteHuffmanConf) {
std::auto_ptr<TFile> output(TFile::Open(filename, "RECREATE"));
if (!output.get() || output->IsZombie()) {
HLTError("can not open file %s from writing", filename);
return;
}
if (!fHuffmanCoderList || fHuffmanCoderList->GetEntries()==0) {
HLTError("no huffman instances available for writing");
return;
}
for (unsigned i=0; i<fHuffmanCoders.size(); i++) {
if (!fHuffmanCoders[i]->GenerateHuffmanTree()) {
HLTError("generation of huffman tree for parameter '%s' failed", fHuffmanCoders[i]->GetName());
}
}
output->cd();
fHuffmanCoderList->Write("DeflaterConfiguration", TObject::kSingleKey);
output->Close();
return;
}
return AliHLTDataDeflater::SaveAs(filename, remainingOptions);
}
ostream& operator<<(ostream &out, const AliHLTDataDeflaterHuffman& me)
{
me.Print(out);
return out;
}
AliHLTDataDeflaterHuffman.cxx:1 AliHLTDataDeflaterHuffman.cxx:2 AliHLTDataDeflaterHuffman.cxx:3 AliHLTDataDeflaterHuffman.cxx:4 AliHLTDataDeflaterHuffman.cxx:5 AliHLTDataDeflaterHuffman.cxx:6 AliHLTDataDeflaterHuffman.cxx:7 AliHLTDataDeflaterHuffman.cxx:8 AliHLTDataDeflaterHuffman.cxx:9 AliHLTDataDeflaterHuffman.cxx:10 AliHLTDataDeflaterHuffman.cxx:11 AliHLTDataDeflaterHuffman.cxx:12 AliHLTDataDeflaterHuffman.cxx:13 AliHLTDataDeflaterHuffman.cxx:14 AliHLTDataDeflaterHuffman.cxx:15 AliHLTDataDeflaterHuffman.cxx:16 AliHLTDataDeflaterHuffman.cxx:17 AliHLTDataDeflaterHuffman.cxx:18 AliHLTDataDeflaterHuffman.cxx:19 AliHLTDataDeflaterHuffman.cxx:20 AliHLTDataDeflaterHuffman.cxx:21 AliHLTDataDeflaterHuffman.cxx:22 AliHLTDataDeflaterHuffman.cxx:23 AliHLTDataDeflaterHuffman.cxx:24 AliHLTDataDeflaterHuffman.cxx:25 AliHLTDataDeflaterHuffman.cxx:26 AliHLTDataDeflaterHuffman.cxx:27 AliHLTDataDeflaterHuffman.cxx:28 AliHLTDataDeflaterHuffman.cxx:29 AliHLTDataDeflaterHuffman.cxx:30 AliHLTDataDeflaterHuffman.cxx:31 AliHLTDataDeflaterHuffman.cxx:32 AliHLTDataDeflaterHuffman.cxx:33 AliHLTDataDeflaterHuffman.cxx:34 AliHLTDataDeflaterHuffman.cxx:35 AliHLTDataDeflaterHuffman.cxx:36 AliHLTDataDeflaterHuffman.cxx:37 AliHLTDataDeflaterHuffman.cxx:38 AliHLTDataDeflaterHuffman.cxx:39 AliHLTDataDeflaterHuffman.cxx:40 AliHLTDataDeflaterHuffman.cxx:41 AliHLTDataDeflaterHuffman.cxx:42 AliHLTDataDeflaterHuffman.cxx:43 AliHLTDataDeflaterHuffman.cxx:44 AliHLTDataDeflaterHuffman.cxx:45 AliHLTDataDeflaterHuffman.cxx:46 AliHLTDataDeflaterHuffman.cxx:47 AliHLTDataDeflaterHuffman.cxx:48 AliHLTDataDeflaterHuffman.cxx:49 AliHLTDataDeflaterHuffman.cxx:50 AliHLTDataDeflaterHuffman.cxx:51 AliHLTDataDeflaterHuffman.cxx:52 AliHLTDataDeflaterHuffman.cxx:53 AliHLTDataDeflaterHuffman.cxx:54 AliHLTDataDeflaterHuffman.cxx:55 AliHLTDataDeflaterHuffman.cxx:56 AliHLTDataDeflaterHuffman.cxx:57 AliHLTDataDeflaterHuffman.cxx:58 AliHLTDataDeflaterHuffman.cxx:59 AliHLTDataDeflaterHuffman.cxx:60 AliHLTDataDeflaterHuffman.cxx:61 AliHLTDataDeflaterHuffman.cxx:62 AliHLTDataDeflaterHuffman.cxx:63 AliHLTDataDeflaterHuffman.cxx:64 AliHLTDataDeflaterHuffman.cxx:65 AliHLTDataDeflaterHuffman.cxx:66 AliHLTDataDeflaterHuffman.cxx:67 AliHLTDataDeflaterHuffman.cxx:68 AliHLTDataDeflaterHuffman.cxx:69 AliHLTDataDeflaterHuffman.cxx:70 AliHLTDataDeflaterHuffman.cxx:71 AliHLTDataDeflaterHuffman.cxx:72 AliHLTDataDeflaterHuffman.cxx:73 AliHLTDataDeflaterHuffman.cxx:74 AliHLTDataDeflaterHuffman.cxx:75 AliHLTDataDeflaterHuffman.cxx:76 AliHLTDataDeflaterHuffman.cxx:77 AliHLTDataDeflaterHuffman.cxx:78 AliHLTDataDeflaterHuffman.cxx:79 AliHLTDataDeflaterHuffman.cxx:80 AliHLTDataDeflaterHuffman.cxx:81 AliHLTDataDeflaterHuffman.cxx:82 AliHLTDataDeflaterHuffman.cxx:83 AliHLTDataDeflaterHuffman.cxx:84 AliHLTDataDeflaterHuffman.cxx:85 AliHLTDataDeflaterHuffman.cxx:86 AliHLTDataDeflaterHuffman.cxx:87 AliHLTDataDeflaterHuffman.cxx:88 AliHLTDataDeflaterHuffman.cxx:89 AliHLTDataDeflaterHuffman.cxx:90 AliHLTDataDeflaterHuffman.cxx:91 AliHLTDataDeflaterHuffman.cxx:92 AliHLTDataDeflaterHuffman.cxx:93 AliHLTDataDeflaterHuffman.cxx:94 AliHLTDataDeflaterHuffman.cxx:95 AliHLTDataDeflaterHuffman.cxx:96 AliHLTDataDeflaterHuffman.cxx:97 AliHLTDataDeflaterHuffman.cxx:98 AliHLTDataDeflaterHuffman.cxx:99 AliHLTDataDeflaterHuffman.cxx:100 AliHLTDataDeflaterHuffman.cxx:101 AliHLTDataDeflaterHuffman.cxx:102 AliHLTDataDeflaterHuffman.cxx:103 AliHLTDataDeflaterHuffman.cxx:104 AliHLTDataDeflaterHuffman.cxx:105 AliHLTDataDeflaterHuffman.cxx:106 AliHLTDataDeflaterHuffman.cxx:107 AliHLTDataDeflaterHuffman.cxx:108 AliHLTDataDeflaterHuffman.cxx:109 AliHLTDataDeflaterHuffman.cxx:110 AliHLTDataDeflaterHuffman.cxx:111 AliHLTDataDeflaterHuffman.cxx:112 AliHLTDataDeflaterHuffman.cxx:113 AliHLTDataDeflaterHuffman.cxx:114 AliHLTDataDeflaterHuffman.cxx:115 AliHLTDataDeflaterHuffman.cxx:116 AliHLTDataDeflaterHuffman.cxx:117 AliHLTDataDeflaterHuffman.cxx:118 AliHLTDataDeflaterHuffman.cxx:119 AliHLTDataDeflaterHuffman.cxx:120 AliHLTDataDeflaterHuffman.cxx:121 AliHLTDataDeflaterHuffman.cxx:122 AliHLTDataDeflaterHuffman.cxx:123 AliHLTDataDeflaterHuffman.cxx:124 AliHLTDataDeflaterHuffman.cxx:125 AliHLTDataDeflaterHuffman.cxx:126 AliHLTDataDeflaterHuffman.cxx:127 AliHLTDataDeflaterHuffman.cxx:128 AliHLTDataDeflaterHuffman.cxx:129 AliHLTDataDeflaterHuffman.cxx:130 AliHLTDataDeflaterHuffman.cxx:131 AliHLTDataDeflaterHuffman.cxx:132 AliHLTDataDeflaterHuffman.cxx:133 AliHLTDataDeflaterHuffman.cxx:134 AliHLTDataDeflaterHuffman.cxx:135 AliHLTDataDeflaterHuffman.cxx:136 AliHLTDataDeflaterHuffman.cxx:137 AliHLTDataDeflaterHuffman.cxx:138 AliHLTDataDeflaterHuffman.cxx:139 AliHLTDataDeflaterHuffman.cxx:140 AliHLTDataDeflaterHuffman.cxx:141 AliHLTDataDeflaterHuffman.cxx:142 AliHLTDataDeflaterHuffman.cxx:143 AliHLTDataDeflaterHuffman.cxx:144 AliHLTDataDeflaterHuffman.cxx:145 AliHLTDataDeflaterHuffman.cxx:146 AliHLTDataDeflaterHuffman.cxx:147 AliHLTDataDeflaterHuffman.cxx:148 AliHLTDataDeflaterHuffman.cxx:149 AliHLTDataDeflaterHuffman.cxx:150 AliHLTDataDeflaterHuffman.cxx:151 AliHLTDataDeflaterHuffman.cxx:152 AliHLTDataDeflaterHuffman.cxx:153 AliHLTDataDeflaterHuffman.cxx:154 AliHLTDataDeflaterHuffman.cxx:155 AliHLTDataDeflaterHuffman.cxx:156 AliHLTDataDeflaterHuffman.cxx:157 AliHLTDataDeflaterHuffman.cxx:158 AliHLTDataDeflaterHuffman.cxx:159 AliHLTDataDeflaterHuffman.cxx:160 AliHLTDataDeflaterHuffman.cxx:161 AliHLTDataDeflaterHuffman.cxx:162 AliHLTDataDeflaterHuffman.cxx:163 AliHLTDataDeflaterHuffman.cxx:164 AliHLTDataDeflaterHuffman.cxx:165 AliHLTDataDeflaterHuffman.cxx:166 AliHLTDataDeflaterHuffman.cxx:167 AliHLTDataDeflaterHuffman.cxx:168 AliHLTDataDeflaterHuffman.cxx:169 AliHLTDataDeflaterHuffman.cxx:170 AliHLTDataDeflaterHuffman.cxx:171 AliHLTDataDeflaterHuffman.cxx:172 AliHLTDataDeflaterHuffman.cxx:173 AliHLTDataDeflaterHuffman.cxx:174 AliHLTDataDeflaterHuffman.cxx:175 AliHLTDataDeflaterHuffman.cxx:176 AliHLTDataDeflaterHuffman.cxx:177 AliHLTDataDeflaterHuffman.cxx:178 AliHLTDataDeflaterHuffman.cxx:179 AliHLTDataDeflaterHuffman.cxx:180 AliHLTDataDeflaterHuffman.cxx:181 AliHLTDataDeflaterHuffman.cxx:182 AliHLTDataDeflaterHuffman.cxx:183 AliHLTDataDeflaterHuffman.cxx:184 AliHLTDataDeflaterHuffman.cxx:185 AliHLTDataDeflaterHuffman.cxx:186 AliHLTDataDeflaterHuffman.cxx:187 AliHLTDataDeflaterHuffman.cxx:188 AliHLTDataDeflaterHuffman.cxx:189 AliHLTDataDeflaterHuffman.cxx:190 AliHLTDataDeflaterHuffman.cxx:191 AliHLTDataDeflaterHuffman.cxx:192 AliHLTDataDeflaterHuffman.cxx:193 AliHLTDataDeflaterHuffman.cxx:194 AliHLTDataDeflaterHuffman.cxx:195 AliHLTDataDeflaterHuffman.cxx:196 AliHLTDataDeflaterHuffman.cxx:197 AliHLTDataDeflaterHuffman.cxx:198 AliHLTDataDeflaterHuffman.cxx:199 AliHLTDataDeflaterHuffman.cxx:200 AliHLTDataDeflaterHuffman.cxx:201 AliHLTDataDeflaterHuffman.cxx:202 AliHLTDataDeflaterHuffman.cxx:203 AliHLTDataDeflaterHuffman.cxx:204 AliHLTDataDeflaterHuffman.cxx:205 AliHLTDataDeflaterHuffman.cxx:206 AliHLTDataDeflaterHuffman.cxx:207 AliHLTDataDeflaterHuffman.cxx:208 AliHLTDataDeflaterHuffman.cxx:209 AliHLTDataDeflaterHuffman.cxx:210 AliHLTDataDeflaterHuffman.cxx:211 AliHLTDataDeflaterHuffman.cxx:212 AliHLTDataDeflaterHuffman.cxx:213 AliHLTDataDeflaterHuffman.cxx:214 AliHLTDataDeflaterHuffman.cxx:215 AliHLTDataDeflaterHuffman.cxx:216 AliHLTDataDeflaterHuffman.cxx:217 AliHLTDataDeflaterHuffman.cxx:218 AliHLTDataDeflaterHuffman.cxx:219 AliHLTDataDeflaterHuffman.cxx:220 AliHLTDataDeflaterHuffman.cxx:221 AliHLTDataDeflaterHuffman.cxx:222 AliHLTDataDeflaterHuffman.cxx:223 AliHLTDataDeflaterHuffman.cxx:224 AliHLTDataDeflaterHuffman.cxx:225 AliHLTDataDeflaterHuffman.cxx:226 AliHLTDataDeflaterHuffman.cxx:227 AliHLTDataDeflaterHuffman.cxx:228 AliHLTDataDeflaterHuffman.cxx:229 AliHLTDataDeflaterHuffman.cxx:230 AliHLTDataDeflaterHuffman.cxx:231 AliHLTDataDeflaterHuffman.cxx:232 AliHLTDataDeflaterHuffman.cxx:233 AliHLTDataDeflaterHuffman.cxx:234 AliHLTDataDeflaterHuffman.cxx:235 AliHLTDataDeflaterHuffman.cxx:236 AliHLTDataDeflaterHuffman.cxx:237 AliHLTDataDeflaterHuffman.cxx:238 AliHLTDataDeflaterHuffman.cxx:239 AliHLTDataDeflaterHuffman.cxx:240 AliHLTDataDeflaterHuffman.cxx:241 AliHLTDataDeflaterHuffman.cxx:242 AliHLTDataDeflaterHuffman.cxx:243 AliHLTDataDeflaterHuffman.cxx:244 AliHLTDataDeflaterHuffman.cxx:245 AliHLTDataDeflaterHuffman.cxx:246 AliHLTDataDeflaterHuffman.cxx:247 AliHLTDataDeflaterHuffman.cxx:248 AliHLTDataDeflaterHuffman.cxx:249 AliHLTDataDeflaterHuffman.cxx:250 AliHLTDataDeflaterHuffman.cxx:251 AliHLTDataDeflaterHuffman.cxx:252 AliHLTDataDeflaterHuffman.cxx:253 AliHLTDataDeflaterHuffman.cxx:254 AliHLTDataDeflaterHuffman.cxx:255 AliHLTDataDeflaterHuffman.cxx:256 AliHLTDataDeflaterHuffman.cxx:257 AliHLTDataDeflaterHuffman.cxx:258 AliHLTDataDeflaterHuffman.cxx:259 AliHLTDataDeflaterHuffman.cxx:260 AliHLTDataDeflaterHuffman.cxx:261 AliHLTDataDeflaterHuffman.cxx:262 AliHLTDataDeflaterHuffman.cxx:263 AliHLTDataDeflaterHuffman.cxx:264 AliHLTDataDeflaterHuffman.cxx:265 AliHLTDataDeflaterHuffman.cxx:266 AliHLTDataDeflaterHuffman.cxx:267 AliHLTDataDeflaterHuffman.cxx:268 AliHLTDataDeflaterHuffman.cxx:269 AliHLTDataDeflaterHuffman.cxx:270 AliHLTDataDeflaterHuffman.cxx:271 AliHLTDataDeflaterHuffman.cxx:272 AliHLTDataDeflaterHuffman.cxx:273 AliHLTDataDeflaterHuffman.cxx:274 AliHLTDataDeflaterHuffman.cxx:275 AliHLTDataDeflaterHuffman.cxx:276 AliHLTDataDeflaterHuffman.cxx:277 AliHLTDataDeflaterHuffman.cxx:278 AliHLTDataDeflaterHuffman.cxx:279 AliHLTDataDeflaterHuffman.cxx:280 AliHLTDataDeflaterHuffman.cxx:281 AliHLTDataDeflaterHuffman.cxx:282 AliHLTDataDeflaterHuffman.cxx:283 AliHLTDataDeflaterHuffman.cxx:284 AliHLTDataDeflaterHuffman.cxx:285 AliHLTDataDeflaterHuffman.cxx:286 AliHLTDataDeflaterHuffman.cxx:287 AliHLTDataDeflaterHuffman.cxx:288 AliHLTDataDeflaterHuffman.cxx:289 AliHLTDataDeflaterHuffman.cxx:290 AliHLTDataDeflaterHuffman.cxx:291 AliHLTDataDeflaterHuffman.cxx:292 AliHLTDataDeflaterHuffman.cxx:293 AliHLTDataDeflaterHuffman.cxx:294 AliHLTDataDeflaterHuffman.cxx:295 AliHLTDataDeflaterHuffman.cxx:296 AliHLTDataDeflaterHuffman.cxx:297 AliHLTDataDeflaterHuffman.cxx:298 AliHLTDataDeflaterHuffman.cxx:299 AliHLTDataDeflaterHuffman.cxx:300 AliHLTDataDeflaterHuffman.cxx:301 AliHLTDataDeflaterHuffman.cxx:302 AliHLTDataDeflaterHuffman.cxx:303 AliHLTDataDeflaterHuffman.cxx:304 AliHLTDataDeflaterHuffman.cxx:305 AliHLTDataDeflaterHuffman.cxx:306 AliHLTDataDeflaterHuffman.cxx:307 AliHLTDataDeflaterHuffman.cxx:308 AliHLTDataDeflaterHuffman.cxx:309 AliHLTDataDeflaterHuffman.cxx:310 AliHLTDataDeflaterHuffman.cxx:311 AliHLTDataDeflaterHuffman.cxx:312