Type the codec frame iterator's frame-bounds argument as D2CodecFrameBoundsStrc *
CODEC_DecompressAllFrames keeps a local D2CodecFrameBoundsStrc sFrameBounds and passes &sFrameBounds, cast to an integer, to CODEC_InitializeFrameIterator (call at 0060c500, in ESI) and CODEC_DecompressFrameData (call at 0060c9fc, as nCodecState), and both hand it on to CODEC_AdvanceFrameIterator. All three bodies read only its fields at their width: InitializeFrameIterator reads nWidth (0x10, 0060b4b3 MOV EAX,[ESI+0x10]) and nHeight (0x14), writes nBlockStride (0x28), nBlockCount (0x24) and nIterSteps (0x20) and checks nFrameCount (0x1c). AdvanceFrameIterator reads pFrameArray (0x4, 0060b2c1), nMinX (0x8), nMinY (0xc), nFrameCount and nBlockStride. So the three integer parameters become D2CodecFrameBoundsStrc *. DecompressFrameData's name nCodecState is a chosen name that undersells it; left to review.
Changes 3, applied together
Retype variable
win 0x0060b4b0 ESItypeint32_t→D2CodecFrameBoundsStrc *Retype variable
win 0x0060b2b0 EAXtypeint32_t→D2CodecFrameBoundsStrc *Retype variable
win 0x0060b9a0 Stack[0x4]typeint32_t→D2CodecFrameBoundsStrc *