Skip to content

Commit

Permalink
feat(client-medialive): Added MinQP as a Rate Control option for H264…
Browse files Browse the repository at this point in the history
… and H265 encodes.
  • Loading branch information
awstools committed Sep 3, 2024
1 parent 202fdf2 commit c4db70b
Show file tree
Hide file tree
Showing 11 changed files with 62 additions and 0 deletions.
4 changes: 4 additions & 0 deletions clients/client-medialive/src/commands/CreateChannelCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -804,6 +804,7 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met
* Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required
* Prefix: "STRING_VALUE",
* },
* MinQp: Number("int"),
* },
* H265Settings: { // H265Settings
* AdaptiveQuantization: "AUTO" || "HIGH" || "HIGHER" || "LOW" || "MAX" || "MEDIUM" || "OFF",
Expand Down Expand Up @@ -860,6 +861,7 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met
* TilePadding: "NONE" || "PADDED",
* TileWidth: Number("int"),
* TreeblockSize: "AUTO" || "TREE_SIZE_32X32",
* MinQp: Number("int"),
* },
* Mpeg2Settings: { // Mpeg2Settings
* AdaptiveQuantization: "AUTO" || "HIGH" || "LOW" || "MEDIUM" || "OFF",
Expand Down Expand Up @@ -1850,6 +1852,7 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met
* // Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required
* // Prefix: "STRING_VALUE",
* // },
* // MinQp: Number("int"),
* // },
* // H265Settings: { // H265Settings
* // AdaptiveQuantization: "AUTO" || "HIGH" || "HIGHER" || "LOW" || "MAX" || "MEDIUM" || "OFF",
Expand Down Expand Up @@ -1906,6 +1909,7 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met
* // TilePadding: "NONE" || "PADDED",
* // TileWidth: Number("int"),
* // TreeblockSize: "AUTO" || "TREE_SIZE_32X32",
* // MinQp: Number("int"),
* // },
* // Mpeg2Settings: { // Mpeg2Settings
* // AdaptiveQuantization: "AUTO" || "HIGH" || "LOW" || "MEDIUM" || "OFF",
Expand Down
2 changes: 2 additions & 0 deletions clients/client-medialive/src/commands/DeleteChannelCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -815,6 +815,7 @@ export interface DeleteChannelCommandOutput extends DeleteChannelResponse, __Met
* // Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required
* // Prefix: "STRING_VALUE",
* // },
* // MinQp: Number("int"),
* // },
* // H265Settings: { // H265Settings
* // AdaptiveQuantization: "AUTO" || "HIGH" || "HIGHER" || "LOW" || "MAX" || "MEDIUM" || "OFF",
Expand Down Expand Up @@ -871,6 +872,7 @@ export interface DeleteChannelCommandOutput extends DeleteChannelResponse, __Met
* // TilePadding: "NONE" || "PADDED",
* // TileWidth: Number("int"),
* // TreeblockSize: "AUTO" || "TREE_SIZE_32X32",
* // MinQp: Number("int"),
* // },
* // Mpeg2Settings: { // Mpeg2Settings
* // AdaptiveQuantization: "AUTO" || "HIGH" || "LOW" || "MEDIUM" || "OFF",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -815,6 +815,7 @@ export interface DescribeChannelCommandOutput extends DescribeChannelResponse, _
* // Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required
* // Prefix: "STRING_VALUE",
* // },
* // MinQp: Number("int"),
* // },
* // H265Settings: { // H265Settings
* // AdaptiveQuantization: "AUTO" || "HIGH" || "HIGHER" || "LOW" || "MAX" || "MEDIUM" || "OFF",
Expand Down Expand Up @@ -871,6 +872,7 @@ export interface DescribeChannelCommandOutput extends DescribeChannelResponse, _
* // TilePadding: "NONE" || "PADDED",
* // TileWidth: Number("int"),
* // TreeblockSize: "AUTO" || "TREE_SIZE_32X32",
* // MinQp: Number("int"),
* // },
* // Mpeg2Settings: { // Mpeg2Settings
* // AdaptiveQuantization: "AUTO" || "HIGH" || "LOW" || "MEDIUM" || "OFF",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -818,6 +818,7 @@ export interface RestartChannelPipelinesCommandOutput extends RestartChannelPipe
* // Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required
* // Prefix: "STRING_VALUE",
* // },
* // MinQp: Number("int"),
* // },
* // H265Settings: { // H265Settings
* // AdaptiveQuantization: "AUTO" || "HIGH" || "HIGHER" || "LOW" || "MAX" || "MEDIUM" || "OFF",
Expand Down Expand Up @@ -874,6 +875,7 @@ export interface RestartChannelPipelinesCommandOutput extends RestartChannelPipe
* // TilePadding: "NONE" || "PADDED",
* // TileWidth: Number("int"),
* // TreeblockSize: "AUTO" || "TREE_SIZE_32X32",
* // MinQp: Number("int"),
* // },
* // Mpeg2Settings: { // Mpeg2Settings
* // AdaptiveQuantization: "AUTO" || "HIGH" || "LOW" || "MEDIUM" || "OFF",
Expand Down
2 changes: 2 additions & 0 deletions clients/client-medialive/src/commands/StartChannelCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -815,6 +815,7 @@ export interface StartChannelCommandOutput extends StartChannelResponse, __Metad
* // Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required
* // Prefix: "STRING_VALUE",
* // },
* // MinQp: Number("int"),
* // },
* // H265Settings: { // H265Settings
* // AdaptiveQuantization: "AUTO" || "HIGH" || "HIGHER" || "LOW" || "MAX" || "MEDIUM" || "OFF",
Expand Down Expand Up @@ -871,6 +872,7 @@ export interface StartChannelCommandOutput extends StartChannelResponse, __Metad
* // TilePadding: "NONE" || "PADDED",
* // TileWidth: Number("int"),
* // TreeblockSize: "AUTO" || "TREE_SIZE_32X32",
* // MinQp: Number("int"),
* // },
* // Mpeg2Settings: { // Mpeg2Settings
* // AdaptiveQuantization: "AUTO" || "HIGH" || "LOW" || "MEDIUM" || "OFF",
Expand Down
2 changes: 2 additions & 0 deletions clients/client-medialive/src/commands/StopChannelCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -815,6 +815,7 @@ export interface StopChannelCommandOutput extends StopChannelResponse, __Metadat
* // Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required
* // Prefix: "STRING_VALUE",
* // },
* // MinQp: Number("int"),
* // },
* // H265Settings: { // H265Settings
* // AdaptiveQuantization: "AUTO" || "HIGH" || "HIGHER" || "LOW" || "MAX" || "MEDIUM" || "OFF",
Expand Down Expand Up @@ -871,6 +872,7 @@ export interface StopChannelCommandOutput extends StopChannelResponse, __Metadat
* // TilePadding: "NONE" || "PADDED",
* // TileWidth: Number("int"),
* // TreeblockSize: "AUTO" || "TREE_SIZE_32X32",
* // MinQp: Number("int"),
* // },
* // Mpeg2Settings: { // Mpeg2Settings
* // AdaptiveQuantization: "AUTO" || "HIGH" || "LOW" || "MEDIUM" || "OFF",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -839,6 +839,7 @@ export interface UpdateChannelClassCommandOutput extends UpdateChannelClassRespo
* // Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required
* // Prefix: "STRING_VALUE",
* // },
* // MinQp: Number("int"),
* // },
* // H265Settings: { // H265Settings
* // AdaptiveQuantization: "AUTO" || "HIGH" || "HIGHER" || "LOW" || "MAX" || "MEDIUM" || "OFF",
Expand Down Expand Up @@ -895,6 +896,7 @@ export interface UpdateChannelClassCommandOutput extends UpdateChannelClassRespo
* // TilePadding: "NONE" || "PADDED",
* // TileWidth: Number("int"),
* // TreeblockSize: "AUTO" || "TREE_SIZE_32X32",
* // MinQp: Number("int"),
* // },
* // Mpeg2Settings: { // Mpeg2Settings
* // AdaptiveQuantization: "AUTO" || "HIGH" || "LOW" || "MEDIUM" || "OFF",
Expand Down
4 changes: 4 additions & 0 deletions clients/client-medialive/src/commands/UpdateChannelCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -804,6 +804,7 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met
* Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required
* Prefix: "STRING_VALUE",
* },
* MinQp: Number("int"),
* },
* H265Settings: { // H265Settings
* AdaptiveQuantization: "AUTO" || "HIGH" || "HIGHER" || "LOW" || "MAX" || "MEDIUM" || "OFF",
Expand Down Expand Up @@ -860,6 +861,7 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met
* TilePadding: "NONE" || "PADDED",
* TileWidth: Number("int"),
* TreeblockSize: "AUTO" || "TREE_SIZE_32X32",
* MinQp: Number("int"),
* },
* Mpeg2Settings: { // Mpeg2Settings
* AdaptiveQuantization: "AUTO" || "HIGH" || "LOW" || "MEDIUM" || "OFF",
Expand Down Expand Up @@ -1835,6 +1837,7 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met
* // Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required
* // Prefix: "STRING_VALUE",
* // },
* // MinQp: Number("int"),
* // },
* // H265Settings: { // H265Settings
* // AdaptiveQuantization: "AUTO" || "HIGH" || "HIGHER" || "LOW" || "MAX" || "MEDIUM" || "OFF",
Expand Down Expand Up @@ -1891,6 +1894,7 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met
* // TilePadding: "NONE" || "PADDED",
* // TileWidth: Number("int"),
* // TreeblockSize: "AUTO" || "TREE_SIZE_32X32",
* // MinQp: Number("int"),
* // },
* // Mpeg2Settings: { // Mpeg2Settings
* // AdaptiveQuantization: "AUTO" || "HIGH" || "LOW" || "MEDIUM" || "OFF",
Expand Down
14 changes: 14 additions & 0 deletions clients/client-medialive/src/models/models_1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3926,6 +3926,13 @@ export interface H264Settings {
* @public
*/
TimecodeBurninSettings?: TimecodeBurninSettings;

/**
* Sets the minimum QP. If you aren't familiar with quantization adjustment, leave the field empty. MediaLive will
* apply an appropriate value.
* @public
*/
MinQp?: number;
}

/**
Expand Down Expand Up @@ -4494,6 +4501,13 @@ export interface H265Settings {
* @public
*/
TreeblockSize?: H265TreeblockSize;

/**
* Sets the minimum QP. If you aren't familiar with quantization adjustment, leave the field empty. MediaLive will
* apply an appropriate value.
* @public
*/
MinQp?: number;
}

/**
Expand Down
4 changes: 4 additions & 0 deletions clients/client-medialive/src/protocols/Aws_restJson1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6259,6 +6259,7 @@ const se_H264Settings = (input: H264Settings, context: __SerdeContext): any => {
lookAheadRateControl: [, , `LookAheadRateControl`],
maxBitrate: [, , `MaxBitrate`],
minIInterval: [, , `MinIInterval`],
minQp: [, , `MinQp`],
numRefFrames: [, , `NumRefFrames`],
parControl: [, , `ParControl`],
parDenominator: [, , `ParDenominator`],
Expand Down Expand Up @@ -6326,6 +6327,7 @@ const se_H265Settings = (input: H265Settings, context: __SerdeContext): any => {
lookAheadRateControl: [, , `LookAheadRateControl`],
maxBitrate: [, , `MaxBitrate`],
minIInterval: [, , `MinIInterval`],
minQp: [, , `MinQp`],
mvOverPictureBoundaries: [, , `MvOverPictureBoundaries`],
mvTemporalPredictor: [, , `MvTemporalPredictor`],
parDenominator: [, , `ParDenominator`],
Expand Down Expand Up @@ -9746,6 +9748,7 @@ const de_H264Settings = (output: any, context: __SerdeContext): H264Settings =>
LookAheadRateControl: [, __expectString, `lookAheadRateControl`],
MaxBitrate: [, __expectInt32, `maxBitrate`],
MinIInterval: [, __expectInt32, `minIInterval`],
MinQp: [, __expectInt32, `minQp`],
NumRefFrames: [, __expectInt32, `numRefFrames`],
ParControl: [, __expectString, `parControl`],
ParDenominator: [, __expectInt32, `parDenominator`],
Expand Down Expand Up @@ -9813,6 +9816,7 @@ const de_H265Settings = (output: any, context: __SerdeContext): H265Settings =>
LookAheadRateControl: [, __expectString, `lookAheadRateControl`],
MaxBitrate: [, __expectInt32, `maxBitrate`],
MinIInterval: [, __expectInt32, `minIInterval`],
MinQp: [, __expectInt32, `minQp`],
MvOverPictureBoundaries: [, __expectString, `mvOverPictureBoundaries`],
MvTemporalPredictor: [, __expectString, `mvTemporalPredictor`],
ParDenominator: [, __expectInt32, `parDenominator`],
Expand Down
24 changes: 24 additions & 0 deletions codegen/sdk-codegen/aws-models/medialive.json
Original file line number Diff line number Diff line change
Expand Up @@ -13304,6 +13304,13 @@
"smithy.api#documentation": "Timecode burn-in settings",
"smithy.api#jsonName": "timecodeBurninSettings"
}
},
"MinQp": {
"target": "com.amazonaws.medialive#__integerMin1Max51",
"traits": {
"smithy.api#documentation": "Sets the minimum QP. If you aren't familiar with quantization adjustment, leave the field empty. MediaLive will\napply an appropriate value.",
"smithy.api#jsonName": "minQp"
}
}
},
"traits": {
Expand Down Expand Up @@ -14094,6 +14101,13 @@
"smithy.api#documentation": "Select the tree block size used for encoding. If you enter \"auto\", the encoder will pick the best size. If you are setting up the picture as a tile, you must set this to 32x32. In all other configurations, you typically enter \"auto\".",
"smithy.api#jsonName": "treeblockSize"
}
},
"MinQp": {
"target": "com.amazonaws.medialive#__integerMin1Max51",
"traits": {
"smithy.api#documentation": "Sets the minimum QP. If you aren't familiar with quantization adjustment, leave the field empty. MediaLive will\napply an appropriate value.",
"smithy.api#jsonName": "minQp"
}
}
},
"traits": {
Expand Down Expand Up @@ -31621,6 +31635,16 @@
}
}
},
"com.amazonaws.medialive#__integerMin1Max51": {
"type": "integer",
"traits": {
"smithy.api#documentation": "Placeholder documentation for __integerMin1Max51",
"smithy.api#range": {
"min": 1,
"max": 51
}
}
},
"com.amazonaws.medialive#__integerMin1Max6": {
"type": "integer",
"traits": {
Expand Down

0 comments on commit c4db70b

Please sign in to comment.