Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

libva lacks a way for user/app to get the actual parameter sets supported by the HW before encoding begins

オープン
#893 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
活発
技術スタック
c
領域
api

調査の方向性

Start by reviewing the VA_ENC_PACKED_HEADER_SEQUENCE flow and the existing dummy-encode approach described in the issue, then examine how libva exposes encoder options to drivers. Done means reaching agreement on an API method that lets applications obtain the driver's HEVC parameter sets before the first frame, with the behavior documented and validated across relevant drivers.

索引モデルが issue の本文から書いたものです。

説明

As the title suggests, libva currently assumes that the VA_ENC_PACKED_HEADER_SEQUENCE written by the user or application is fully compatible with the actual bitstream encoded by the hardware. However, in practice, this assumption does not hold true for hardware other than Intel QuickSync.

Starting with FFmpeg 8.0, the MP4 muxer strips in-band parameter sets from videos using the HEVC codec_tag hvc1, leaving only the incompatible VA_ENC_PACKED_HEADER_SEQUENCE written by FFmpeg.
https://github.com/FFmpeg/FFmpeg/commit/f0051604c7f131582e6fa97febd77069e1d87032

This causes decoding failures for the encoded video. Affected players include, but are not limited to, Safari, Chrome, Firefox, FFplay, and MPC-BE. The affected videos cannot be used in HLS fMP4 segments (which is why hvc1 is needed).

Matroska/MKV files also require AV_CODEC_FLAG_GLOBAL_HEADER, so similar issues arise there as well.

Mesa/AMD developer have provided a suggestion:

What would be a good solution is to have an option to only get the encoded headers, eg. a new flag that will disable slice output. App would do the exact same calls as when encoding a frame, except set this new flag. But then again, this is just like a dummy encode which apps can do today and it will work with all drivers. Since it's only needed once at the start of the session, the overhead of one encode job is probably not a big deal.

Could libva consider adding a method to obtain HEVC parameter sets from the vaapi driver before encoding the first frame?

Thanks in advance! @XinfengZhang @nowrep

主要言語
C
スター
790
フォーク
316
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

intel/libva のほかの issue

intel/libva の issue をすべて見る

似ている issue

C の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。