//--------------------------------------------------------------------------- void Riff_AVI__hdrl_strl_indx::Modify_Internal () { //EntryCount int32u Entry_Count=LittleEndian2int32u(Chunk.Content.Buffer+4); bool IsChanged=false; Chunk.Content.Buffer_Offset=24; for (int32u Pos=0; Pos<Entry_Count; Pos++) { int64u Value=LittleEndian2int64u(Chunk.Content.Buffer+Chunk.Content.Buffer_Offset); /* for (std::set<void*>::iterator movi=Global->AVI__movi_Pointers.begin(); movi!=Global->AVI__movi_Pointers.end(); movi++) if (Value>=((Riff_AVI__movi*)(*movi))->Chunk.File_In_Position && Value<((Riff_AVI__movi*)(*movi))->Chunk.File_In_Position+((Riff_AVI__movi*)(*movi))->Chunk.Content.Size) { if (((Riff_AVI__movi*)(*movi))->Chunk.File_In_Position!=((Riff_AVI__movi*)(*movi))->Chunk.File_Out_Position) { Value-=((Riff_AVI__movi*)(*movi))->Chunk.File_In_Position; Value+=((Riff_AVI__movi*)(*movi))->Chunk.File_Out_Position; int64u2LittleEndian(Chunk.Content.Buffer+Chunk.Content.Buffer_Offset, Value); IsChanged=true; } break; } */ for (std::set<void*>::iterator ix=Global->AVI__movi___ix_Pointers.begin(); ix!=Global->AVI__movi___ix_Pointers.end(); ix++) if (Value==((Riff_AVI__movi___ix*)(*ix))->Chunk.File_In_Position) { if (((Riff_AVI__movi___ix*)(*ix))->Chunk.File_Out_Position!=((Riff_AVI__movi___ix*)(*ix))->Chunk.File_In_Position) { int64u2LittleEndian(Chunk.Content.Buffer+Chunk.Content.Buffer_Offset, ((Riff_AVI__movi___ix*)(*ix))->Chunk.File_Out_Position); IsChanged=true; } break; } Chunk.Content.Buffer_Offset+=16; } if (IsChanged) Chunk.Content.IsModified=true; //Chunk.Content.Size_IsModified=true; }
//--------------------------------------------------------------------------- // Little Endian - 128 bits void int128u2LittleEndian(char* List, int128u Value) { int64u2LittleEndian(List+8, Value.lo); int64u2LittleEndian(List , Value.hi); }