Skip to content

SG-44494: Add read support for HEVC elementary streams - #1345

Open
stfnylim wants to merge 3 commits into
AcademySoftwareFoundation:mainfrom
stfnylim:h_265
Open

SG-44494: Add read support for HEVC elementary streams#1345
stfnylim wants to merge 3 commits into
AcademySoftwareFoundation:mainfrom
stfnylim:h_265

Conversation

@stfnylim

Copy link
Copy Markdown

Linked issues

Summarize your change.

This adds support for reading raw HEVC/H.265 elementary streams, including files with .265, .h265, and .hevc extensions.

Describe the reason for the change.

Some HEVC files are raw elementary streams rather than container formats like MOV or MP4. These files can be missing the timing information RV normally relies on, such as duration, frame count, and packet timestamps. When that happens, RV may not be able to determine playback timing or step through frames correctly.

This change adds a fallback path for those streams: RV can count the video packets to determine the frame count, and it can synthesize packet timestamps from the detected frame rate when the stream does not provide timestamps itself.

Describe what you have tested and on which operating system.

Tested on Windows using the existing Visual Studio 2022 Release|x64 build tree.

I ran:

  • git diff --check
  • MovieFFMpeg.vcxproj build in Release|x64

The MovieFFMpeg target built successfully with 0 warnings and 0 errors.

Add a list of changes, and note any that might need special attention during the review.

  • Added detection for raw HEVC elementary streams.
  • Added .265, .h265, and .hevc as read-only movie formats.
  • Added fallback frame counting when FFmpeg does not report a usable duration or frame count.
  • Added synthetic PTS/DTS values for HEVC packets that do not include timestamps.
  • Adjusted seeking for raw HEVC streams without timing metadata so it restarts from the beginning.

One thing worth looking at during review is the packet-counting fallback. It only applies to raw HEVC streams where timing metadata is missing, but it does scan the stream once during initialization.

@linux-foundation-easycla

linux-foundation-easycla Bot commented Jul 10, 2026

Copy link
Copy Markdown

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: stfnylim / name: stfnylim (f9585d8)

Signed-off-by: stfnylim <stfnylim@gmail.com>
@bernie-laberge bernie-laberge changed the title Add read support for HEVC elementary streams SG-44494: Add read support for HEVC elementary streams Jul 23, 2026
@bernie-laberge bernie-laberge added the PR: Acknowledged New PR has been acknowledge by the TSC label Jul 23, 2026
@eloisebrosseau eloisebrosseau added the community Contribution from the Open RV Community label Jul 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community Contribution from the Open RV Community PR: Acknowledged New PR has been acknowledge by the TSC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants