media3/libraries
rohks ecb0024a0b Improve frame rate calculation by using media duration from mdhd box
- Added logic to parse media duration from the `mdhd` box for accurate frame rate calculation.
- Fallbacks to track duration from `tkhd` when `mdhd` contains invalid or missing data.
- Avoids incorrect frame rate calculations in MP4 files with an edit list (`elst`) box.
- Adds frame rate calculations for partially fragmented MP4 files.
- Verified accuracy with tools like `mediainfo` and `ffprobe`.

Issue: androidx/media#1531

**Note**: The slight difference in frame rate values in dump files that aren’t MP4s with an edit list or fragmented MP4s isn’t due to differences in `tkhd` and `mdhd` duration values (which should be identical for non-edited or non-fragmented files). Rather, it’s because they are calculated using different timescales. The `mvhd` box defines a global movie timescale, which is used for the track's `tkhd` duration. Meanwhile, each track’s `mdhd` box defines its own timescale specific to its content type, which we now use for more accurate frame rate calculation.

PiperOrigin-RevId: 676046744
2024-09-18 10:42:11 -07:00
..
2024-09-18 04:47:39 -07:00
2024-09-18 04:47:39 -07:00
2024-08-07 12:28:25 -07:00
2024-07-24 16:17:00 +01:00
2024-07-24 16:17:00 +01:00
2024-07-24 16:17:00 +01:00
2024-09-18 04:47:39 -07:00
2024-08-07 12:28:25 -07:00
2024-07-24 16:17:00 +01:00
2024-09-18 04:47:39 -07:00
2024-09-18 04:47:39 -07:00