~josejuan-sanchez/esajpip/soc

« back to all changes in this revision

Viewing changes to src/jpeg2000/image_index.cc

  • Committer: José Juan Sánchez Hernández
  • Date: 2011-10-29 11:11:16 UTC
  • Revision ID: josejuan.sanchez@gmail.com-20111029111116-6ulwo04yl0z5bl1e
Changes in Range, DataBinServer and ImageIndex.

Show diffs side-by-side

added added

removed removed

Lines of Context:
183
183
    int idx = coding_parameters->GetProgressionIndex(packet);
184
184
    segment = packet_index[idx];
185
185
 
186
 
    /****/
187
 
    //cout << dec << "[GetPacket] num_codestream: " << num_codestream << "\tidx: " << idx << "\tsegment: " << segment.length << endl;
188
 
    /****/
189
 
 
190
186
    if(offset != NULL) {
191
187
        *offset = 0;
192
188
 
207
203
  }
208
204
 
209
205
  bool ImageIndex::ReadLock(const Range& range)
210
 
  {
211
 
    bool res = true;
212
 
 
213
 
    if (hyper_links.size() <= 0)
214
 
      res = (rdwr_lock->Wait() == WAIT_OBJECT);
215
 
    else
216
 
    {
217
 
      for(int i = range.first; i <= range.last; i++)
218
 
        res = res && hyper_links[i]->ReadLock();
219
 
    }
220
 
 
221
 
    return res;
222
 
  }
223
 
 
224
 
  bool ImageIndex::ReadUnlock(const Range& range)
225
 
  {
226
 
    bool res = true;
227
 
 
228
 
    if (hyper_links.size() <= 0)
229
 
      res = rdwr_lock->Release();
230
 
    else {
231
 
      for(int i = range.first; i <= range.last; i++)
232
 
        res = res && hyper_links[i]->ReadUnlock();
233
 
    }
234
 
 
235
 
    return res;
236
 
  }
 
206
   {
 
207
     bool res = true;
 
208
 
 
209
     if (hyper_links.size() <= 0)
 
210
       res = (rdwr_lock->Wait() == WAIT_OBJECT);
 
211
     else
 
212
     {
 
213
       //for(int i = range.first; i <= range.last; i++)
 
214
       //  res = res && hyper_links[i]->ReadLock();
 
215
        for(int i = 0; i < range.Length(); i++)
 
216
         res = res && hyper_links[range.GetItem(i)]->ReadLock();
 
217
     }
 
218
 
 
219
     return res;
 
220
   }
 
221
 
 
222
   bool ImageIndex::ReadUnlock(const Range& range)
 
223
   {
 
224
     bool res = true;
 
225
 
 
226
     if (hyper_links.size() <= 0)
 
227
       res = rdwr_lock->Release();
 
228
     else {
 
229
       //for(int i = range.first; i <= range.last; i++)
 
230
       //  res = res && hyper_links[i]->ReadUnlock();
 
231
        for(int i = 0; i < range.Length(); i++)
 
232
         res = res && hyper_links[range.GetItem(i)]->ReadUnlock();
 
233
     }
 
234
 
 
235
     return res;
 
236
   }
237
237
 
238
238
}
239
239