Also mark packets as being freeable when P frames are encountered but use the frame they reference for freeing. Allows for better handling of sections with few/no key frames.

This commit is contained in:
Moritz Bunkus 2004-01-31 09:08:28 +00:00
parent c26dda5b04
commit 0f9cd0b2a7
2 changed files with 9 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2004-01-31 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Improved some internal memory freeing decisions. This
should help with files/sections in which are only few keyframes.
2004-01-30 Moritz Bunkus <moritz@bunkus.org> 2004-01-30 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Changed the two-pass splitting into a one-pass * mkvmerge: Changed the two-pass splitting into a one-pass

View File

@ -490,6 +490,10 @@ int cluster_helper_c::render() {
timecode_offset), timecode_offset),
*data_buffer, *bref_packet->group, *data_buffer, *bref_packet->group,
lacing_type); lacing_type);
// All packets with an ID smaller than the referenced packet's ID
// are not needed anymore. Be happy!
free_ref(pack->bref, pack->source);
} }
} else { // This is a key frame. No references. } else { // This is a key frame. No references.