Skip to content

Commit

Permalink
Fix lossless transcode artifacts
Browse files Browse the repository at this point in the history
Fixes #11044

Signed-off-by: Gavin Hurlbut <ghurlbut@mythtv.org>
  • Loading branch information
Bill authored and Beirdo committed Aug 28, 2012
1 parent 456e356 commit 9ed48cb
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions mythtv/programs/mythtranscode/mpeg2fix.cpp
Expand Up @@ -1530,7 +1530,7 @@ MPEG2frame *MPEG2fixup::FindFrameNum(int frameNum)

void MPEG2fixup::RenumberFrames(int start_pos, int delta)
{
int maxPos = vFrame.count();
int maxPos = vFrame.count() - 1;

for (int pos = start_pos; pos < maxPos; pos++)
{
Expand Down Expand Up @@ -1736,8 +1736,8 @@ int MPEG2fixup::InsertFrame(int frameNum, int64_t deltaPTS,

inc2x33(&pkt.pts, ptsIncrement * GetNbFields(spare) / 2 + initPTS);

index = vFrame.indexOf(spare);
while (index < vFrame.count() - 1 &&
index = vFrame.indexOf(spare) + 1;
while (index < vFrame.count() &&
GetFrameTypeT(vFrame.at(index)) == 'B')
spare = vFrame.at(index++);

Expand All @@ -1762,7 +1762,8 @@ int MPEG2fixup::InsertFrame(int frameNum, int64_t deltaPTS,

av_free(pkt.data);

// update frame # for all frames in this group
// update frame # for all later frames in this group
index++;
RenumberFrames(index, increment);

return increment;
Expand Down

0 comments on commit 9ed48cb

Please sign in to comment.