Skip to content

test: Update and add Dolby Vision p8.1 and p8.4 tests #8885

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 17, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,8 @@ module.exports = (config) => {
{pattern: 'test/test/assets/dash-clearkey/*', included: false},
{pattern: 'test/test/assets/dash-mpd-alternate/*', included: false},
{pattern: 'test/test/assets/dash-vr/*', included: false},
{pattern: 'test/test/assets/dv-p8-hevc/*', included: false},
{pattern: 'test/test/assets/dv-p8-1-hevc/*', included: false},
{pattern: 'test/test/assets/dv-p8-4-hevc/*', included: false},
{pattern: 'test/test/assets/dv-p10-av1/*', included: false},
{pattern: 'test/test/assets/hls-aes-256/*', included: false},
{pattern: 'test/test/assets/hls-interstitial/*', included: false},
Expand Down
59 changes: 35 additions & 24 deletions test/player_dolby_vision_integration.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,44 +76,55 @@ describe('Player Dolby Vision', () => {
await player.unload();
}

describe('P8 with fallback to HEVC', () => {
describe('P8.1 with fallback to HEVC', () => {
it('with DASH', async () => {
// This tests is flaky in Safari, so we need omit it for now.
if (deviceDetected.getBrowserEngine() ===
shaka.device.IDevice.BrowserEngine.WEBKIT) {
pending('Disabled on Safari.');
}
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.90"',
/* width= */ 640, /* height= */ 360)) {
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.b0"',
/* width= */ 854, /* height= */ 480)) {
pending('Codec HEVC is not supported by the platform.');
}
await testPlayback('/base/test/test/assets/dv-p8-hevc/manifest.mpd');
await testPlayback('/base/test/test/assets/dv-p8-1-hevc/manifest.mpd');
});

it('with master playlist (HLS)', async () => {
// This tests is flaky in Safari, so we need omit it for now.
if (deviceDetected.getBrowserEngine() ===
shaka.device.IDevice.BrowserEngine.WEBKIT) {
pending('Disabled on Safari.');
}
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.90"',
/* width= */ 640, /* height= */ 360)) {
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.b0"',
/* width= */ 854, /* height= */ 480)) {
pending('Codec HEVC is not supported by the platform.');
}
await testPlayback('/base/test/test/assets/dv-p8-hevc/master.m3u8');
await testPlayback('/base/test/test/assets/dv-p8-1-hevc/master.m3u8');
});

it('with media playlist (HLS)', async () => {
// This tests is flaky in Safari, so we need omit it for now.
if (deviceDetected.getBrowserEngine() ===
shaka.device.IDevice.BrowserEngine.WEBKIT) {
pending('Disabled on Safari.');
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.b0"',
/* width= */ 854, /* height= */ 480)) {
pending('Codec HEVC is not supported by the platform.');
}
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.90"',
/* width= */ 640, /* height= */ 360)) {
await testPlayback('/base/test/test/assets/dv-p8-1-hevc/media.m3u8');
});
});

describe('P8.4 with fallback to HEVC', () => {
it('with DASH', async () => {
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.b0"',
/* width= */ 854, /* height= */ 480)) {
pending('Codec HEVC is not supported by the platform.');
}
await testPlayback('/base/test/test/assets/dv-p8-4-hevc/manifest.mpd');
});

it('with master playlist (HLS)', async () => {
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.b0"',
/* width= */ 854, /* height= */ 480)) {
pending('Codec HEVC is not supported by the platform.');
}
await testPlayback('/base/test/test/assets/dv-p8-4-hevc/master.m3u8');
});

it('with media playlist (HLS)', async () => {
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.b0"',
/* width= */ 854, /* height= */ 480)) {
pending('Codec HEVC is not supported by the platform.');
}
await testPlayback('/base/test/test/assets/dv-p8-hevc/media.m3u8');
await testPlayback('/base/test/test/assets/dv-p8-4-hevc/media.m3u8');
});
});

Expand Down
16 changes: 16 additions & 0 deletions test/test/assets/dv-p8-1-hevc/manifest.mpd
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<MPD xmlns:scte214="urn:scte:dash:scte214-extensions" xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" minBufferTime="PT1.98S" mediaPresentationDuration="PT1M11.708S" type="static">
<Period>
<AdaptationSet mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" maxWidth="854" maxHeight="480" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:cicp:MatrixCoefficients" value="9"/>
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:cicp:ColourPrimaries" value="9"/>
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:cicp:TransferCharacteristics" value="16"/>
<Representation id="video-hvc1-dvh1-db1p-1" codecs="hvc1.2.4.L90.b0" width="854" height="480" scanType="progressive" frameRate="24" bandwidth="1064693" scte214:supplementalCodecs="dvh1.08.01" scte214:supplementalProfiles="db1p">
<BaseURL>media-video-hvc1-dvh1-db1p-1.mp4</BaseURL>
<SegmentBase indexRange="803-1266">
<Initialization range="0-802"/>
</SegmentBase>
</Representation>
</AdaptationSet>
</Period>
</MPD>
6 changes: 6 additions & 0 deletions test/test/assets/dv-p8-1-hevc/master.m3u8
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#EXTM3U
#EXT-X-VERSION:6

#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=1838396,BANDWIDTH=2452151,VIDEO-RANGE=PQ,CODECS="hvc1.2.4.L90.b0",SUPPLEMENTAL-CODECS="dvh1.08.01/db1p",RESOLUTION=854x480,FRAME-RATE=24.000
media.m3u8

Binary file not shown.
116 changes: 116 additions & 0 deletions test/test/assets/dv-p8-1-hevc/media.m3u8
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-MAP:URI="media-video-hvc1-dvh1-db1p-1.mp4",BYTERANGE="803@0"
#EXTINF:2.0,
#EXT-X-BYTERANGE:147761@1267
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:373348@149028
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:235007@522376
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:167214@757383
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:248474@924597
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:204967@1173071
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:220221@1378038
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:125162@1598259
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:420675@1723421
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:313141@2144096
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:224407@2457237
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:279462@2681644
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:268589@2961106
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:275680@3229695
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:294998@3505375
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:211946@3800373
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:360862@4012319
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:262217@4373181
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:266134@4635398
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:127815@4901532
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:308085@5029347
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:246452@5337432
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:325030@5583884
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:348980@5908914
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:322260@6257894
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:282051@6580154
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:269484@6862205
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:239549@7131689
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:281255@7371238
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:276360@7652493
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:294060@7928853
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:285026@8222913
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:258287@8507939
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:264712@8766226
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:311957@9030938
media-video-hvc1-dvh1-db1p-1.mp4
#EXTINF:1.7083333333333333,
#EXT-X-BYTERANGE:240252@9342895
media-video-hvc1-dvh1-db1p-1.mp4
#EXT-X-ENDLIST
16 changes: 16 additions & 0 deletions test/test/assets/dv-p8-4-hevc/manifest.mpd
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<MPD xmlns:scte214="urn:scte:dash:scte214-extensions" xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" minBufferTime="PT1.98S" mediaPresentationDuration="PT1M11.708S" type="static">
<Period>
<AdaptationSet mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" maxWidth="854" maxHeight="480" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:cicp:MatrixCoefficients" value="9"/>
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:cicp:ColourPrimaries" value="9"/>
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:cicp:TransferCharacteristics" value="18"/>
<Representation id="video-hvc1-dvh1-db4h-1" codecs="hvc1.2.4.L90.b0" width="854" height="480" scanType="progressive" frameRate="24" bandwidth="1216343" scte214:supplementalCodecs="dvh1.08.01" scte214:supplementalProfiles="db4h">
<BaseURL>media-video-hvc1-dvh1-db4h-1.mp4</BaseURL>
<SegmentBase indexRange="803-1266">
<Initialization range="0-802"/>
</SegmentBase>
</Representation>
</AdaptationSet>
</Period>
</MPD>
6 changes: 6 additions & 0 deletions test/test/assets/dv-p8-4-hevc/master.m3u8
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#EXTM3U
#EXT-X-VERSION:6

#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=1923345,BANDWIDTH=2596247,VIDEO-RANGE=HLG,CODECS="hvc1.2.4.L90.b0",SUPPLEMENTAL-CODECS="dvh1.08.01/db4h",RESOLUTION=854x480,FRAME-RATE=24.000
media.m3u8

Binary file not shown.
116 changes: 116 additions & 0 deletions test/test/assets/dv-p8-4-hevc/media.m3u8
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-MAP:URI="media-video-hvc1-dvh1-db4h-1.mp4",BYTERANGE="803@0"
#EXTINF:2.0,
#EXT-X-BYTERANGE:153844@1267
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:456699@155111
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:246051@611810
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:195835@857861
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:356029@1053696
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:317115@1409725
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:326891@1726840
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:278860@2053731
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:343275@2332591
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:280327@2675866
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:240732@2956193
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:285732@3196925
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:296438@3482657
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:270908@3779095
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:286894@4050003
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:266030@4336897
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:313235@4602927
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:283133@4916162
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:280634@5199295
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:156462@5479929
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:380950@5636391
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:275291@6017341
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:323806@6292632
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:288119@6616438
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:326928@6904557
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:282287@7231485
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:263574@7513772
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:257376@7777346
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:313334@8034722
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:291588@8348056
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:284188@8639644
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:297618@8923832
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:272532@9221450
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:309649@9493982
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:2.0,
#EXT-X-BYTERANGE:314188@9803631
media-video-hvc1-dvh1-db4h-1.mp4
#EXTINF:1.7083333333333333,
#EXT-X-BYTERANGE:226776@10117819
media-video-hvc1-dvh1-db4h-1.mp4
#EXT-X-ENDLIST
Binary file removed test/test/assets/dv-p8-hevc/dovi_8-video.mp4
Binary file not shown.
16 changes: 0 additions & 16 deletions test/test/assets/dv-p8-hevc/manifest.mpd

This file was deleted.

5 changes: 0 additions & 5 deletions test/test/assets/dv-p8-hevc/master.m3u8

This file was deleted.

Loading
Loading