[PR #1735] [CLOSED] [FIX ]Captions fail to extract on HEVC video stream #1690 #2457

Open
opened 2026-01-29 17:22:15 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/CCExtractor/ccextractor/pull/1735
Author: @trufio465-bot
Created: 8/23/2025
Status: Closed

Base: masterHead: FIX]-Captions-fail-to-extract-on-HEVC-video-stream-#1690


📝 Commits (3)

  • 4791a9b Add support for HEVC video stream in caption extraction
  • 4090cc5 Merge branch 'CCExtractor:master' into FIX]-Captions-fail-to-extract-on-HEVC-video-stream-#1690
  • ed22419 Update ccx_common_constants.h

📊 Changes

7 files changed (+36 additions, -12 deletions)

View changed files

📝 src/lib_ccx/ccx_common_constants.h (+9 -7)
📝 src/lib_ccx/general_loop.c (+5 -0)
📝 src/lib_ccx/sequencing.c (+1 -1)
📝 src/lib_ccx/ts_functions.c (+15 -2)
📝 src/lib_ccx/ts_info.c (+3 -1)
📝 src/lib_ccx/ts_tables.c (+2 -1)
📝 src/rust/lib_ccxr/src/common/constants.rs (+1 -0)

📄 Description

[FIX]

In raising this pull request, I confirm the following (please check boxes):

  • I have read and understood the contributors guide.
  • I have checked that another pull request for this purpose does not exist.
  • I have considered, and confirmed that this submission will be valuable to others.
  • I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
  • I give this submission freely, and claim no ownership to its content.
  • I have mentioned this change in the changelog.

My familiarity with the project is as follows (check one):

  • I have never used CCExtractor.
  • I have used CCExtractor just a couple of times.
  • I absolutely love CCExtractor, but have not contributed previously.
  • I am an active contributor to CCExtractor.

This PR fixes an issue where CCExtractor failed to extract EIA-608 captions from HEVC (H.265) transport streams.

Problem:
CCExtractor's transport stream parser did not recognize HEVC (stream type 0x24) as a valid video stream type capable of carrying embedded captions. This resulted in "No captions were found in input" for HEVC files, even when captions were present and playable in other media players.

Solution:
Comprehensive HEVC support has been added across the codebase:

  1. Defined CCX_STREAM_TYPE_VIDEO_HEVC (0x24) and CCX_HEVC buffer type.
  2. Updated the TS parser to recognize HEVC streams during PMT processing and caption detection.
  3. Integrated HEVC streams into the existing AVC (H.264) caption processing pipeline, as both use similar SEI mechanisms for caption embedding.
  4. Ensured HEVC streams are correctly handled in stream information, buffer management, and sequencing logic.
  5. Updated Rust bindings for consistency.

Impact:
CCExtractor can now successfully detect and extract EIA-608 captions from HEVC transport stream files.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/CCExtractor/ccextractor/pull/1735 **Author:** [@trufio465-bot](https://github.com/trufio465-bot) **Created:** 8/23/2025 **Status:** ❌ Closed **Base:** `master` ← **Head:** `FIX]-Captions-fail-to-extract-on-HEVC-video-stream-#1690` --- ### 📝 Commits (3) - [`4791a9b`](https://github.com/CCExtractor/ccextractor/commit/4791a9b8801ef70d2587d6559ed728681c556506) Add support for HEVC video stream in caption extraction - [`4090cc5`](https://github.com/CCExtractor/ccextractor/commit/4090cc5b3970887e954e90d66b45131400331c0c) Merge branch 'CCExtractor:master' into FIX]-Captions-fail-to-extract-on-HEVC-video-stream-#1690 - [`ed22419`](https://github.com/CCExtractor/ccextractor/commit/ed22419c8f2c669e278ef0bb4ec44ced283caa2f) Update ccx_common_constants.h ### 📊 Changes **7 files changed** (+36 additions, -12 deletions) <details> <summary>View changed files</summary> 📝 `src/lib_ccx/ccx_common_constants.h` (+9 -7) 📝 `src/lib_ccx/general_loop.c` (+5 -0) 📝 `src/lib_ccx/sequencing.c` (+1 -1) 📝 `src/lib_ccx/ts_functions.c` (+15 -2) 📝 `src/lib_ccx/ts_info.c` (+3 -1) 📝 `src/lib_ccx/ts_tables.c` (+2 -1) 📝 `src/rust/lib_ccxr/src/common/constants.rs` (+1 -0) </details> ### 📄 Description **[FIX]** **In raising this pull request, I confirm the following (please check boxes):** - [x] I have read and understood the [contributors guide](https://github.com/CCExtractor/ccextractor/blob/master/.github/CONTRIBUTING.md). - [x] I have checked that another pull request for this purpose does not exist. - [x] I have considered, and confirmed that this submission will be valuable to others. - [x] I accept that this submission may not be used, and the pull request closed at the will of the maintainer. - [x] I give this submission freely, and claim no ownership to its content. - [ ] **I have mentioned this change in the [changelog](https://github.com/CCExtractor/ccextractor/blob/master/docs/CHANGES.TXT).** **My familiarity with the project is as follows (check one):** - [ ] I have never used CCExtractor. - [x] I have used CCExtractor just a couple of times. - [ ] I absolutely love CCExtractor, but have not contributed previously. - [ ] I am an active contributor to CCExtractor. --- This PR fixes an issue where CCExtractor failed to extract EIA-608 captions from HEVC (H.265) transport streams. **Problem:** CCExtractor's transport stream parser did not recognize HEVC (stream type 0x24) as a valid video stream type capable of carrying embedded captions. This resulted in "No captions were found in input" for HEVC files, even when captions were present and playable in other media players. **Solution:** Comprehensive HEVC support has been added across the codebase: 1. Defined `CCX_STREAM_TYPE_VIDEO_HEVC` (0x24) and `CCX_HEVC` buffer type. 2. Updated the TS parser to recognize HEVC streams during PMT processing and caption detection. 3. Integrated HEVC streams into the existing AVC (H.264) caption processing pipeline, as both use similar SEI mechanisms for caption embedding. 4. Ensured HEVC streams are correctly handled in stream information, buffer management, and sequencing logic. 5. Updated Rust bindings for consistency. **Impact:** CCExtractor can now successfully detect and extract EIA-608 captions from HEVC transport stream files. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 17:22:15 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ccextractor#2457