+ {
+ break;
+ }
+ else if(!memcmp(dat, avc1_short_start_code, 3))
+ {
+ /* save offsets as we don't know if realloc will replace buffer */
+ size_t i_last = last - p_block->p_buffer;
+ size_t i_dat = dat - p_block->p_buffer;
+ size_t i_end = end - p_block->p_buffer;
+
+ p_block = block_Realloc(p_block, 0, p_block->i_buffer + 1);
+ if( !p_block )
+ return NULL;
+
+ /* restore offsets */
+ last = &p_block->p_buffer[i_last];
+ dat = &p_block->p_buffer[i_dat];
+ end = &p_block->p_buffer[i_end];
+
+ /* Shift data */
+ memmove(&dat[4], &dat[3], end - &dat[3]);
+ end++;