MF_TRANSCODE_ADJUST_PROFILE_FLAGS
列挙型メンバー 2
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| MF_TRANSCODE_ADJUST_PROFILE_DEFAULT | 0 | 0x0 | Media Foundation は、オーディオストリームとビデオストリームについて、アプリケーションが指定した設定を使用します。必要な設定がアプリケーションから提供されない場合、トポロジは作成されますが、エンコードセッションは失敗します。ビデオストリームについては、フレームレートとインターレースモードの設定が変更されます。詳細については、「解説」を参照してください。 |
| MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES | 1 | 0x1 | オーディオストリームとビデオストリームの両方について、不足しているストリーム設定は入力ソースの属性をコピーすることで補われます。このフラグにより、トランスコードされた出力ファイルは入力ファイルに最も近いものになります。 |
公式ドキュメント
MF_TRANSCODE_ADJUST_PROFILE 属性に設定されるプロファイルフラグを定義します。
これらのフラグは、トポロジの構築中に MFCreateTranscodeTopology によって検査されます。これらのフラグに基づいて、MFCreateTranscodeTopology は、トポロジで使用されるエンコーダーの入力要件に合わせてストリームの構成設定を変更し、トランスコードプロファイルを調整します。
アプリケーションが指定できるストリーム設定の詳細については、トランスコード API の使用を参照してください。
解説(Remarks)
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT フラグが指定されている場合、ビデオストリームに対して次の変更が行われます。
- MFCreateTranscodeTopology の pSrc パラメーターで指定されたメディアソースのフレームレートと、アプリケーションが MF_MT_FRAME_RATE 属性で指定したフレームレートとの差が 1/1000 未満の場合、プロファイルはメディアソースのフレームレートを使用します。これは、パイプラインがその差を無視できるものと見なすためです。
- アプリケーションが MF_MT_INTERLACE_MODE 属性を設定してインターレースモードを指定していない場合、プロファイルはプログレッシブフレームを使用するように変更されます。
- MF_MT_AUDIO_NUM_CHANNELS
- MF_MT_AUDIO_SAMPLES_PER_SECOND
- MF_MT_AUDIO_BLOCK_ALIGNMENT
- MF_MT_AUDIO_AVG_BYTES_PER_SECOND
- MF_MT_AUDIO_BITS_PER_SAMPLE
入力ストリームの属性を使用してファイルをトランスコードする場合は、MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES フラグを使用します。入力ソースのストリーム属性は、MFT ノードがトポロジに挿入される前に出力メディアタイプへコピーされます。追加のストリーム属性を設定している場合、このフラグは設定済みの値を上書きしません。不足している属性のみが入力ソースの属性値で補われます。このフラグは、入力ソースと同じ形式で出力ファイルを生成したい remux (再多重化) のシナリオで役立ちます。形式変換を行う場合は、トポロジビルダーが使用すべきエンコーダーを指定するために、ストリームに対して MF_MT_SUBTYPE 属性を必ず設定してください。MF_TRANSCODE_DONOT_INSERT_ENCODER が設定されていない限り、変換ノードがトポロジに追加されます。設定されている場合、コンテンツはエンコードされません。代わりに、コンテナーが許可していれば、コンテンツは指定されたコンテナーに埋め込まれます。
たとえば、入力ソースが MP3 ファイルであるとします。コンテナーを MFTranscodeContainerType_ASF に設定し、ストリーム属性を一切設定せず、MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES フラグを設定します。この場合、生成される出力ファイルは、MP3 のメディアデータを含む ASF ファイル (.wma) になります。なお、このフラグを使用する場合、一部の入力ストリーム属性とコンテナーの種類が互換性を持たないことがあるので注意してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum MF_TRANSCODE_ADJUST_PROFILE_FLAGS : int {
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0,
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1
} MF_TRANSCODE_ADJUST_PROFILE_FLAGS;public enum MF_TRANSCODE_ADJUST_PROFILE_FLAGS : int
{
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0,
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1,
}Public Enum MF_TRANSCODE_ADJUST_PROFILE_FLAGS As Integer
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1
End Enumimport enum
class MF_TRANSCODE_ADJUST_PROFILE_FLAGS(enum.IntEnum):
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1// MF_TRANSCODE_ADJUST_PROFILE_FLAGS
pub const MF_TRANSCODE_ADJUST_PROFILE_DEFAULT: i32 = 0;
pub const MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES: i32 = 1;// MF_TRANSCODE_ADJUST_PROFILE_FLAGS
const (
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT int32 = 0
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES int32 = 1
)const
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0;
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1;// MF_TRANSCODE_ADJUST_PROFILE_FLAGS
pub const MF_TRANSCODE_ADJUST_PROFILE_DEFAULT: i32 = 0;
pub const MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES: i32 = 1;const
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT* = 0
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES* = 1enum MF_TRANSCODE_ADJUST_PROFILE_FLAGS : int {
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0,
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1,
}#define global MF_TRANSCODE_ADJUST_PROFILE_DEFAULT 0x0
#define global MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES 0x1