Skip to content

st2101: initial implementation - #399

Draft
bradh wants to merge 1 commit into
WestRidgeSystems:2.xfrom
bradh:2.x_st2101
Draft

bradh wants to merge 1 commit into
WestRidgeSystems:2.xfrom
bradh:2.x_st2101

Conversation

@bradh

@bradh bradh commented May 4, 2022 •

Copy link
Copy Markdown
Collaborator

Motivation and Context

ST 2101 is way to embed the MIIS Core Identifier into the video frame (i.e. SEI message, rather than KLV metadata elementary stream), mainly intended to handle the case where video and metadata get partitioned (e.g. for a HLS/DASH/CMAF encoding).

We have an open task (#273) to add support for that, and it is partly completed. This provides the remaining work.

Description

Adds selective coding (e.g. this doesn't appear to play well with x265 encoder in ffmpeg), and viewer support to display it over in the metadata tree.

I'm not entirely sure about the viewer support. It seems like a hack because of the metadata vs video interfaces. On the other hand, it is handy to see the information in the same way in the same area.

How Has This Been Tested?

Unit tests.

Generated sample data using generator example, viewed it in the viewer.

Screenshots (if appropriate):

Note new MIIS entry in lower right:
image

That also works for the ST 0604 SEI message, although this test sample doesn't have ST 2101 data:
image

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@codecov-commenter

codecov-commenter commented May 4, 2022 •

Copy link
Copy Markdown

Codecov Report

Merging #399 (d6b2b3e) into 2.x (8cb2d63) will decrease coverage by 0.12%.
The diff coverage is 51.06%.

@@             Coverage Diff              @@
##                2.x     #399      +/-   ##
============================================
- Coverage     91.19%   91.07%   -0.13%     
- Complexity     5611     5623      +12     
============================================
  Files           609      610       +1     
  Lines         14793    14839      +46     
  Branches       1382     1387       +5     
============================================
+ Hits          13491    13515      +24     
- Misses         1267     1289      +22     
  Partials         35       35              
Flag Coverage Δ
unittests-api 98.42% <60.71%> (-0.57%) ⬇️
unittests-api-ffmpeg 16.14% <36.84%> (+0.28%) ⬆️
unittests-awt 100.00% <ø> (ø)
unittests-core 98.49% <ø> (ø)
unittests-geoid 100.00% <ø> (ø)
unittests-mimd 97.24% <ø> (ø)
unittests-st0601 99.05% <ø> (ø)
unittests-st0602 99.08% <ø> (ø)
unittests-st0805 99.17% <ø> (ø)
unittests-st0808 99.08% <ø> (ø)
unittests-st0809 99.11% <ø> (ø)
unittests-st1108 99.66% <ø> (ø)
unittests-st1206 99.59% <ø> (ø)
unittests-st1301 98.91% <ø> (ø)
unittests-st1403 100.00% <ø> (ø)
unittests-st1601 100.00% <ø> (ø)
unittests-st1602 100.00% <ø> (ø)
unittests-st1603 98.03% <ø> (ø)
unittests-st1909 99.65% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...in/java/org/jmisb/api/video/VideoDecodeThread.java 0.00% <0.00%> (ø)
.../src/main/java/org/jmisb/api/video/VideoInput.java 7.93% <0.00%> (-0.13%) ⬇️
...src/main/java/org/jmisb/api/video/VideoOutput.java 0.00% <0.00%> (ø)
...main/java/org/jmisb/api/klv/st0603/TimeStatus.java 75.55% <0.00%> (-24.45%) ⬇️
.../java/org/jmisb/api/video/CodecConfigurations.java 100.00% <100.00%> (ø)
.../src/main/java/org/jmisb/api/video/VideoFrame.java 100.00% <100.00%> (ø)
.../java/org/jmisb/api/klv/st1204/CoreIdentifier.java 97.88% <100.00%> (+0.01%) ⬆️
...java/org/jmisb/api/klv/st2101/ST2101Converter.java 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8cb2d63...d6b2b3e. Read the comment docs.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants