Win32 API 日本語リファレンス
ホームMedia.MediaFoundation › MF_TRANSCODE_ADJUST_PROFILE_FLAGS

MF_TRANSCODE_ADJUST_PROFILE_FLAGS

列挙型
基底型i4

メンバー 2

名前10進16進説明
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT00x0Media Foundation は、オーディオストリームとビデオストリームについて、アプリケーションが指定した設定を使用します。必要な設定がアプリケーションから提供されない場合、トポロジは作成されますが、エンコードセッションは失敗します。ビデオストリームについては、フレームレートとインターレースモードの設定が変更されます。詳細については、「解説」を参照してください。
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES10x1オーディオストリームとビデオストリームの両方について、不足しているストリーム設定は入力ソースの属性をコピーすることで補われます。このフラグにより、トランスコードされた出力ファイルは入力ファイルに最も近いものになります。

公式ドキュメント

MF_TRANSCODE_ADJUST_PROFILE 属性に設定されるプロファイルフラグを定義します。

これらのフラグは、トポロジの構築中に MFCreateTranscodeTopology によって検査されます。これらのフラグに基づいて、MFCreateTranscodeTopology は、トポロジで使用されるエンコーダーの入力要件に合わせてストリームの構成設定を変更し、トランスコードプロファイルを調整します。

アプリケーションが指定できるストリーム設定の詳細については、トランスコード API の使用を参照してください。

解説(Remarks)

MF_TRANSCODE_ADJUST_PROFILE_DEFAULT フラグが指定されている場合、ビデオストリームに対して次の変更が行われます。

MF_TRANSCODE_ADJUST_PROFILE_DEFAULT フラグを使用する場合は、アプリケーションが必要なオーディオストリームおよびビデオストリームの属性を指定する必要があります。オーディオストリームで必要な属性は次のとおりです。 ビデオストリームで必要な属性は次のとおりです。 これらの属性が設定されていない場合、MFCreateTranscodeTopology はトポロジを作成しますが、Media Session はエンコードされたファイルの生成に失敗します。失敗を示すコードは、トポロジ内の MFT ノードによって異なります。たとえば、アプリケーションがフレームサイズを設定していない場合、WMV エンコーダーはコンテンツのエンコードに失敗し、アプリケーションは Media Session を通じて MF_E_INVALIDMEDIATYPE エラーコードを受け取ります。

入力ストリームの属性を使用してファイルをトランスコードする場合は、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 の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 Enum
import 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* = 1
enum 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