diff --git a/modules/imgcodecs/src/bitstrm.cpp b/modules/imgcodecs/src/bitstrm.cpp index 2f5b44dfeb..97df645a6d 100644 --- a/modules/imgcodecs/src/bitstrm.cpp +++ b/modules/imgcodecs/src/bitstrm.cpp @@ -175,8 +175,11 @@ void RBaseStream::setPos( int pos ) } int offset = pos % m_block_size; + int old_block_pos = m_block_pos; m_block_pos = pos - offset; m_current = m_start + offset; + if (old_block_pos != m_block_pos) + readBlock(); }