Skip to content

Conversation

evdokimovs
Copy link

@evdokimovs evdokimovs commented Jan 29, 2024

Synopsis

We want to use HW acceleration for the video when it possible. For this purpose was introduced PeerConnectionFactory.videoEncoders and PeerConnectionFactory.videoDecoders APIs which provides information about available codecs and their HW acceleration capability. But at this moment this API is not implemented on iOS, so this PR implements them.

Firstly, this PR was conceived mainly as HW acceleration implementation of VP9 codec for iOS devices, but it was discovered that VP8/VP9 codecs are not officially supported on this devices. There is undocumented feature mostly exclusively added for the YouTube iOS app which adds support for VP9 codec HW decoding, but it looks not very promising for us, because there is no evidence that someone used it elsewhere and it can lead to the problems while publishing to App Store. But here is repo with some more info about it: https://github.com/PoomSmart/YTUHD

Solution

Implement PeerConnectionFactory.videoEncoders and PeerConnectionFactory.videoDecoders API on iOS side using VTIsHardwareDecodeSupported.

Checklist

  • Created PR:
    • In draft mode
    • Name contains issue reference
    • Has type and k:: labels applied
    • Has assignee
  • Before review:
    • Documentation is updated (if required)
    • Tests are updated (if required)
    • Changes conform code style
    • CHANGELOG entry is added (if required)
    • FCM (final commit message) is posted or updated
    • Draft mode is removed
  • Review is completed and changes are approved
    • FCM (final commit message) is approved
  • Before merge:
    • Milestone is set
    • PR's name and description are correct and up-to-date
    • All temporary labels are removed

@evdokimovs evdokimovs added k::api Related to API (application interface) platform::ios Specific to iOS platform feature New feature or request k::performance Related to performance labels Jan 29, 2024
@evdokimovs evdokimovs self-assigned this Jan 29, 2024
@evdokimovs
Copy link
Author

FCM

Implement video codec HW acceleration probing on iOS (#148)

@evdokimovs evdokimovs marked this pull request as ready for review January 29, 2024 15:24
@evdokimovs evdokimovs requested a review from alexlapa January 29, 2024 15:24
@tyranron tyranron force-pushed the main branch 2 times, most recently from 1e3fbb1 to 92d8d05 Compare April 4, 2025 11:39
@alexlapa alexlapa removed their request for review July 7, 2025 10:25
# Conflicts:
#	CHANGELOG.md
#	ios/Classes/proxy/PeerConnectionFactoryProxy.swift
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request k::api Related to API (application interface) k::performance Related to performance platform::ios Specific to iOS platform

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants