The POINT:FRAMES parameter is a single signed integer value that records the number of 3D data frames that are recorded in the C3D file. Note that when the 3D data has been derived from a video based system this value does not necessarily correspond to the number of video frames in the original recording.
As a signed integer, this parameter has a possible range of –32768 to +32767 but since the FRAMES parameter is always a positive number, the maximum frame count is 32767. Since there is no reason to store negative values for this parameter, the range can be extended by interpreting this parameter as an unsigned integer with a range of 0 to +65535. The use of an unsigned value for the FRAMES parameter would be flagged if the parameter returned a negative value when read as a signed integer.
The POINT:FRAMES parameter value is not stored in the C3D file header. However, the frame numbers of the first and last 3D frames are stored words 4 and 5 of the C3D file header – as a result, the POINT:FRAMES parameter value should always be identical to the value:
last_frame – first_frame +1
Note that if the parameter POINT:FRAMES is interpreted as an unsigned integer than it will be necessary to interpret the header frame numbers as unsigned integers.