| 394 | } |
| 395 | |
| 396 | void uncompressed_header::mark_ref_frames(int idLen, |
| 397 | std::shared_ptr<sequence_header_obu> seqHeader, |
| 398 | GlobalDecodingValues & decValues) |
| 399 | { |
| 400 | unsigned int diffLen = seqHeader->delta_frame_id_length_minus_2 + 2; |
| 401 | for (unsigned int i = 0; i < NUM_REF_FRAMES; i++) |
| 402 | { |
| 403 | if (current_frame_id > (unsigned int)(1 << diffLen)) |
| 404 | { |
| 405 | if (decValues.RefFrameId[i] > (int)current_frame_id || |
| 406 | decValues.RefFrameId[i] < ((int)current_frame_id - (1 << diffLen))) |
| 407 | decValues.RefValid[i] = 0; |
| 408 | } |
| 409 | else |
| 410 | { |
| 411 | if (decValues.RefFrameId[i] > (int)current_frame_id && |
| 412 | decValues.RefFrameId[i] < (int)((1 << idLen) + current_frame_id - (1 << diffLen))) |
| 413 | decValues.RefValid[i] = 0; |
| 414 | } |
| 415 | } |
| 416 | } |
| 417 | |
| 418 | int uncompressed_header::get_qindex(bool ignoreDeltaQ, int segmentId) const |
| 419 | { |