Ticket #11044: 384-TranscodeFixes.fortrac.patch

File 384-TranscodeFixes.fortrac.patch, 1.2 KB (added by anonymous, 12 years ago)
  • mythtv/programs/mythtranscode/mpeg2fix.cpp

    old new MPEG2frame *MPEG2fixup::FindFrameNum(int 
    15211521
    15221522void MPEG2fixup::RenumberFrames(int start_pos, int delta)
    15231523{
    1524     int maxPos = vFrame.count();
     1524    int maxPos = vFrame.count()-1;
    15251525   
    15261526    for (int pos = start_pos; pos < maxPos; pos++)
    15271527    {
    int MPEG2fixup::InsertFrame(int frameNum 
    17271727   
    17281728    inc2x33(&pkt.pts, ptsIncrement * GetNbFields(spare) / 2 + initPTS);
    17291729
    1730     index = vFrame.indexOf(spare);
    1731     while (index < vFrame.count() - 1 &&
     1730    index = vFrame.indexOf(spare) + 1;
     1731    while (index < vFrame.count() &&
    17321732           GetFrameTypeT(vFrame.at(index)) == 'B')
    17331733        spare = vFrame.at(index++);
    17341734
    int MPEG2fixup::InsertFrame(int frameNum 
    17531753
    17541754    av_free(pkt.data);
    17551755
    1756     // update frame # for all frames in this group
     1756    // update frame # for all later frames in this group
     1757    index++;
    17571758    RenumberFrames(index, increment);
    17581759
    17591760    return increment;