media/libraries/test_data/src/test/assets/muxerdumps
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
..
audio_sample_entry_box_aac.dump Rename tests in Boxestest 2024-07-25 05:09:43 -07:00
audio_sample_entry_box_amrnb.dump Rename tests in Boxestest 2024-07-25 05:09:43 -07:00
audio_sample_entry_box_amrwb.dump Rename tests in Boxestest 2024-07-25 05:09:43 -07:00
audio_sample_entry_box_opus.dump BoxesTest: Add default format builders 2024-07-23 04:54:32 -07:00
audio_sample_entry_box_vorbis.dump Add support for Audio Vorbis codec in Mp4Muxer. 2024-07-23 07:39:26 -07:00
audio_track_tkhd_box.dump Replace setModificationTime API with setTimestampData in Mp4Muxer 2024-02-09 04:15:53 -08:00
bbb_1ch_16kHz_q10_vorbis.ogg.dump Change the default value of lastSampleDurationBehavior 2024-09-16 10:02:10 -07:00
bbb_6ch_8kHz_opus.ogg.dump Change the default value of lastSampleDurationBehavior 2024-09-16 10:02:10 -07:00
bbb_176x144_128kbps_15fps_h263.3gp.dump Format Format.frameRate to two decimal places before dumping 2024-09-18 08:14:52 -07:00
bbb_176x144_192kbps_15fps_mpeg4.mp4.dump Format Format.frameRate to two decimal places before dumping 2024-09-18 08:14:52 -07:00
bbb_642x642_768kbps_30fps_vp9.webm.dump Format Format.frameRate to two decimal places before dumping 2024-09-18 08:14:52 -07:00
bbb_800x640_768kbps_30fps_avc_non_reference_3b.mp4.dump Format Format.frameRate to two decimal places before dumping 2024-09-18 08:14:52 -07:00
bbb_800x640_768kbps_30fps_avc_pyramid_3b.mp4.dump Format Format.frameRate to two decimal places before dumping 2024-09-18 08:14:52 -07:00
bbb_800x640_768kbps_30fps_avc_pyramid_3b.mp4_fragmented.dump Parse 'max num reorder samples' values from h.264 and h.265 videos 2024-06-14 03:31:38 -07:00
bbb_800x640_768kbps_30fps_vp9.mp4.dump Format Format.frameRate to two decimal places before dumping 2024-09-18 08:14:52 -07:00
bbb_mono_8kHz_12.2kbps_amrnb.3gp.dump Change the default value of lastSampleDurationBehavior 2024-09-16 10:02:10 -07:00
bbb_mono_16kHz_23.05kbps_amrwb.3gp.dump Change the default value of lastSampleDurationBehavior 2024-09-16 10:02:10 -07:00
co64_box.dump Add missing test cases for sample table boxes 2023-02-27 18:12:57 +00:00
ctts_box.dump Box: Implement ctts box 2024-05-14 04:32:04 -07:00
dinf_box_empty.dump Change DumpableBox to dump recursively 2023-02-27 17:56:22 +00:00
ftyp_box.dump Remove adjustable ftyp functionality from Mp4Muxer 2023-04-05 15:37:39 +01:00
h265_with_metadata_track.mp4.dump Improve frame rate calculation by using media duration from mdhd box 2024-09-18 10:42:11 -07:00
hdlr_box.dump Add Mp4 boxes test cases 2023-03-30 16:57:33 +00:00
hdr10-720p.mp4.dump Format Format.frameRate to two decimal places before dumping 2024-09-18 08:14:52 -07:00
hdr10-720p.mp4_fragmented.dump Parse 'max num reorder samples' values from h.264 and h.265 videos 2024-06-14 03:31:38 -07:00
hdr10-720p.mp4_fragmented_box_structure.dump Fragmented Mp4Muxer: add support to B-frame Muxing 2024-05-22 23:07:35 -07:00
ilst_box.dump Change DumpableBox to dump recursively 2023-02-27 17:56:22 +00:00
keys_box.dump Change DumpableBox to dump recursively 2023-02-27 17:56:22 +00:00
mdhd_box.dump Replace setModificationTime API with setTimestampData in Mp4Muxer 2024-02-09 04:15:53 -08:00
mfhd_box.dump Implement fragmented MP4 (fMP4) in the Mp4Muxer 2023-12-29 03:39:38 -08:00
mp4_with_0_orientation.mp4.dump Write moov box at the start of the file if possible 2024-06-17 03:38:11 -07:00
mp4_with_90_orientation.mp4.dump Write moov box at the start of the file if possible 2024-06-17 03:38:11 -07:00
mp4_with_180_orientation.mp4.dump Write moov box at the start of the file if possible 2024-06-17 03:38:11 -07:00
mp4_with_270_orientation.mp4.dump Write moov box at the start of the file if possible 2024-06-17 03:38:11 -07:00
mp4_with_b_frame.mp4.dump Format Format.frameRate to two decimal places before dumping 2024-09-18 08:14:52 -07:00
mp4_with_b_frame_large_pts.mp4.dump Format Format.frameRate to two decimal places before dumping 2024-09-18 08:14:52 -07:00
mp4_with_different_tracks_offset.mp4.dump Format Format.frameRate to two decimal places before dumping 2024-09-18 08:14:52 -07:00
mp4_with_editable_video_tracks.mp4.dump Add support for depth/editing file format in Mp4Extractor 2024-08-14 09:55:01 -07:00
mp4_with_editable_video_tracks_in_edvd.box.dump Write sample location key when muxing editable tracks 2024-08-02 08:03:35 -07:00
mp4_with_editable_video_tracks_when_editable_track_samples_interleaved.mp4.dump Implement interleaving of editable video tracks 2024-08-20 05:28:29 -07:00
mp4_with_editable_video_tracks_without_edvd.box.dump Add support for file format for depth/editing in Mp4Muxer 2024-07-02 09:42:36 -07:00
mp4_with_float_metadata.mp4.dump Write moov box at the start of the file if possible 2024-06-17 03:38:11 -07:00
mp4_with_frame_rate.mp4.dump Write moov box at the start of the file if possible 2024-06-17 03:38:11 -07:00
mp4_with_location.mp4.dump Write moov box at the start of the file if possible 2024-06-17 03:38:11 -07:00
mp4_with_moov_at_the_end_and_free_box_at_start.mp4.dump Write moov box at the start of the file if possible 2024-06-17 03:38:11 -07:00
mp4_with_moov_at_the_end_and_no_free_box.mp4.dump Write moov box at the start of the file if possible 2024-06-17 03:38:11 -07:00
mp4_with_null_location.mp4.dump Write moov box at the start of the file if possible 2024-06-17 03:38:11 -07:00
mp4_with_primary_tracks.mp4.dump Add support for file format for depth/editing in Mp4Muxer 2024-07-02 09:42:36 -07:00
mp4_with_primary_tracks_when_editable_track_samples_interleaved.mp4.dump Implement interleaving of editable video tracks 2024-08-20 05:28:29 -07:00
mp4_with_same_tracks_offset.mp4.dump Format Format.frameRate to two decimal places before dumping 2024-09-18 08:14:52 -07:00
mp4_with_samples_and_metadata.mp4.dump Write moov box at the start of the file if possible 2024-06-17 03:38:11 -07:00
mp4_with_string_metadata.mp4.dump Write moov box at the start of the file if possible 2024-06-17 03:38:11 -07:00
mp4_with_xmp.mp4.dump Write moov box at the start of the file if possible 2024-06-17 03:38:11 -07:00
mp4_without_empty_track.mp4.dump Write moov box at the start of the file if possible 2024-06-17 03:38:11 -07:00
mvhd_box.dump Replace setModificationTime API with setTimestampData in Mp4Muxer 2024-02-09 04:15:53 -08:00
nmhd_box.dump Add Mp4 boxes test cases 2023-03-30 16:57:33 +00:00
partial_hdr10-720p.mp4.dump Format Format.frameRate to two decimal places before dumping 2024-09-18 08:14:52 -07:00
README.md Move VideoBoxesTest.java 2023-02-09 17:52:56 +00:00
sample_av1.mp4.dump Format Format.frameRate to two decimal places before dumping 2024-09-18 08:14:52 -07:00
sample_no_bframes.mp4.dump Format Format.frameRate to two decimal places before dumping 2024-09-18 08:14:52 -07:00
smhd_box.dump Add Mp4 boxes test cases 2023-03-30 16:57:33 +00:00
stco_box.dump Write "stco" box instead of "co64" for fragmented MP4 2024-01-24 09:40:20 -08:00
stsc_box.dump Add missing test cases for sample table boxes 2023-02-27 18:12:57 +00:00
stss_box.dump Add missing test cases for sample table boxes 2023-02-27 18:12:57 +00:00
stsz_box.dump Move SampleTableBoxesTest.java into third_party/.../muxer/... 2023-02-27 18:10:23 +00:00
stts_box_all_different_sample_durations.dump Move SampleTableBoxesTest.java into third_party/.../muxer/... 2023-02-27 18:10:23 +00:00
stts_box_few_same_sample_durations.dump Move SampleTableBoxesTest.java into third_party/.../muxer/... 2023-02-27 18:10:23 +00:00
stts_box_single_sample_duration.dump Move SampleTableBoxesTest.java into third_party/.../muxer/... 2023-02-27 18:10:23 +00:00
tfhd_box.dump Write sample data offset related fields in tfhd and trun box 2024-01-24 07:52:02 -08:00
trex_box.dump Implement fragmented MP4 (fMP4) in the Mp4Muxer 2023-12-29 03:39:38 -08:00
trun_box.dump Fragmented Mp4Muxer: add support to B-frame Muxing 2024-05-22 23:07:35 -07:00
trun_box_with_b_frame.dump Fragmented Mp4Muxer: add support to B-frame Muxing 2024-05-22 23:07:35 -07:00
udta_box.dump Add Mp4 boxes test cases 2023-03-30 16:57:33 +00:00
uuid_box_XMP.dump Change DumpableBox to dump recursively 2023-02-27 17:56:22 +00:00
video_sample_entry_box_av1.dump BoxesTest: Add default format builders 2024-07-23 04:54:32 -07:00
video_sample_entry_box_h263.dump Add profile and level for H263 codec. 2024-09-15 22:09:38 -07:00
video_sample_entry_box_h264.dump BoxesTest: Add default format builders 2024-07-23 04:54:32 -07:00
video_sample_entry_box_h265.dump BoxesTest: Add default format builders 2024-07-23 04:54:32 -07:00
video_sample_entry_box_h265_hdr10.dump BoxesTest: Add default format builders 2024-07-23 04:54:32 -07:00
video_sample_entry_box_mpeg4.dump BoxesTest: Add default format builders 2024-07-23 04:54:32 -07:00
video_sample_entry_box_vp09_codec_private_as_csd.dump Mp4Muxer: Add support for Vp9 codec 2024-08-15 22:34:56 -07:00
video_sample_entry_box_vp09_vpc_as_csd.dump Mp4Muxer: Add support for Vp9 codec 2024-08-15 22:34:56 -07:00
video_track_tkhd_box.dump Replace setModificationTime API with setTimestampData in Mp4Muxer 2024-02-09 04:15:53 -08:00
vmhd_box.dump Add Mp4 boxes test cases 2023-03-30 16:57:33 +00:00

Muxer dump files

To generate a new dump file or to update an existing one:

  1. Change DumpFileAsserts#DUMP_FILE_ACTION to WRITE_TO_LOCAL (for Robolectric tests) or WRITE_TO_DEVICE (for Instrumentation tests).
  2. Re-run the test.
  3. Change DumpFileAsserts#DUMP_FILE_ACTION back to COMPARE_WITH_EXISTING.