github.com/aavshr/aws-sdk-go@v1.41.3/service/mediaconvert/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package mediaconvert
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opAssociateCertificate = "AssociateCertificate"
    17  
    18  // AssociateCertificateRequest generates a "aws/request.Request" representing the
    19  // client's request for the AssociateCertificate operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See AssociateCertificate for more information on using the AssociateCertificate
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the AssociateCertificateRequest method.
    34  //    req, resp := client.AssociateCertificateRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/AssociateCertificate
    42  func (c *MediaConvert) AssociateCertificateRequest(input *AssociateCertificateInput) (req *request.Request, output *AssociateCertificateOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAssociateCertificate,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/2017-08-29/certificates",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AssociateCertificateInput{}
    51  	}
    52  
    53  	output = &AssociateCertificateOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	return
    57  }
    58  
    59  // AssociateCertificate API operation for AWS Elemental MediaConvert.
    60  //
    61  // Associates an AWS Certificate Manager (ACM) Amazon Resource Name (ARN) with
    62  // AWS Elemental MediaConvert.
    63  //
    64  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    65  // with awserr.Error's Code and Message methods to get detailed information about
    66  // the error.
    67  //
    68  // See the AWS API reference guide for AWS Elemental MediaConvert's
    69  // API operation AssociateCertificate for usage and error information.
    70  //
    71  // Returned Error Types:
    72  //   * BadRequestException
    73  //
    74  //   * InternalServerErrorException
    75  //
    76  //   * ForbiddenException
    77  //
    78  //   * NotFoundException
    79  //
    80  //   * TooManyRequestsException
    81  //
    82  //   * ConflictException
    83  //
    84  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/AssociateCertificate
    85  func (c *MediaConvert) AssociateCertificate(input *AssociateCertificateInput) (*AssociateCertificateOutput, error) {
    86  	req, out := c.AssociateCertificateRequest(input)
    87  	return out, req.Send()
    88  }
    89  
    90  // AssociateCertificateWithContext is the same as AssociateCertificate with the addition of
    91  // the ability to pass a context and additional request options.
    92  //
    93  // See AssociateCertificate for details on how to use this API operation.
    94  //
    95  // The context must be non-nil and will be used for request cancellation. If
    96  // the context is nil a panic will occur. In the future the SDK may create
    97  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    98  // for more information on using Contexts.
    99  func (c *MediaConvert) AssociateCertificateWithContext(ctx aws.Context, input *AssociateCertificateInput, opts ...request.Option) (*AssociateCertificateOutput, error) {
   100  	req, out := c.AssociateCertificateRequest(input)
   101  	req.SetContext(ctx)
   102  	req.ApplyOptions(opts...)
   103  	return out, req.Send()
   104  }
   105  
   106  const opCancelJob = "CancelJob"
   107  
   108  // CancelJobRequest generates a "aws/request.Request" representing the
   109  // client's request for the CancelJob operation. The "output" return
   110  // value will be populated with the request's response once the request completes
   111  // successfully.
   112  //
   113  // Use "Send" method on the returned Request to send the API call to the service.
   114  // the "output" return value is not valid until after Send returns without error.
   115  //
   116  // See CancelJob for more information on using the CancelJob
   117  // API call, and error handling.
   118  //
   119  // This method is useful when you want to inject custom logic or configuration
   120  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   121  //
   122  //
   123  //    // Example sending a request using the CancelJobRequest method.
   124  //    req, resp := client.CancelJobRequest(params)
   125  //
   126  //    err := req.Send()
   127  //    if err == nil { // resp is now filled
   128  //        fmt.Println(resp)
   129  //    }
   130  //
   131  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CancelJob
   132  func (c *MediaConvert) CancelJobRequest(input *CancelJobInput) (req *request.Request, output *CancelJobOutput) {
   133  	op := &request.Operation{
   134  		Name:       opCancelJob,
   135  		HTTPMethod: "DELETE",
   136  		HTTPPath:   "/2017-08-29/jobs/{id}",
   137  	}
   138  
   139  	if input == nil {
   140  		input = &CancelJobInput{}
   141  	}
   142  
   143  	output = &CancelJobOutput{}
   144  	req = c.newRequest(op, input, output)
   145  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   146  	return
   147  }
   148  
   149  // CancelJob API operation for AWS Elemental MediaConvert.
   150  //
   151  // Permanently cancel a job. Once you have canceled a job, you can't start it
   152  // again.
   153  //
   154  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   155  // with awserr.Error's Code and Message methods to get detailed information about
   156  // the error.
   157  //
   158  // See the AWS API reference guide for AWS Elemental MediaConvert's
   159  // API operation CancelJob for usage and error information.
   160  //
   161  // Returned Error Types:
   162  //   * BadRequestException
   163  //
   164  //   * InternalServerErrorException
   165  //
   166  //   * ForbiddenException
   167  //
   168  //   * NotFoundException
   169  //
   170  //   * TooManyRequestsException
   171  //
   172  //   * ConflictException
   173  //
   174  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CancelJob
   175  func (c *MediaConvert) CancelJob(input *CancelJobInput) (*CancelJobOutput, error) {
   176  	req, out := c.CancelJobRequest(input)
   177  	return out, req.Send()
   178  }
   179  
   180  // CancelJobWithContext is the same as CancelJob with the addition of
   181  // the ability to pass a context and additional request options.
   182  //
   183  // See CancelJob for details on how to use this API operation.
   184  //
   185  // The context must be non-nil and will be used for request cancellation. If
   186  // the context is nil a panic will occur. In the future the SDK may create
   187  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   188  // for more information on using Contexts.
   189  func (c *MediaConvert) CancelJobWithContext(ctx aws.Context, input *CancelJobInput, opts ...request.Option) (*CancelJobOutput, error) {
   190  	req, out := c.CancelJobRequest(input)
   191  	req.SetContext(ctx)
   192  	req.ApplyOptions(opts...)
   193  	return out, req.Send()
   194  }
   195  
   196  const opCreateJob = "CreateJob"
   197  
   198  // CreateJobRequest generates a "aws/request.Request" representing the
   199  // client's request for the CreateJob operation. The "output" return
   200  // value will be populated with the request's response once the request completes
   201  // successfully.
   202  //
   203  // Use "Send" method on the returned Request to send the API call to the service.
   204  // the "output" return value is not valid until after Send returns without error.
   205  //
   206  // See CreateJob for more information on using the CreateJob
   207  // API call, and error handling.
   208  //
   209  // This method is useful when you want to inject custom logic or configuration
   210  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   211  //
   212  //
   213  //    // Example sending a request using the CreateJobRequest method.
   214  //    req, resp := client.CreateJobRequest(params)
   215  //
   216  //    err := req.Send()
   217  //    if err == nil { // resp is now filled
   218  //        fmt.Println(resp)
   219  //    }
   220  //
   221  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateJob
   222  func (c *MediaConvert) CreateJobRequest(input *CreateJobInput) (req *request.Request, output *CreateJobOutput) {
   223  	op := &request.Operation{
   224  		Name:       opCreateJob,
   225  		HTTPMethod: "POST",
   226  		HTTPPath:   "/2017-08-29/jobs",
   227  	}
   228  
   229  	if input == nil {
   230  		input = &CreateJobInput{}
   231  	}
   232  
   233  	output = &CreateJobOutput{}
   234  	req = c.newRequest(op, input, output)
   235  	return
   236  }
   237  
   238  // CreateJob API operation for AWS Elemental MediaConvert.
   239  //
   240  // Create a new transcoding job. For information about jobs and job settings,
   241  // see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
   242  //
   243  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   244  // with awserr.Error's Code and Message methods to get detailed information about
   245  // the error.
   246  //
   247  // See the AWS API reference guide for AWS Elemental MediaConvert's
   248  // API operation CreateJob for usage and error information.
   249  //
   250  // Returned Error Types:
   251  //   * BadRequestException
   252  //
   253  //   * InternalServerErrorException
   254  //
   255  //   * ForbiddenException
   256  //
   257  //   * NotFoundException
   258  //
   259  //   * TooManyRequestsException
   260  //
   261  //   * ConflictException
   262  //
   263  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateJob
   264  func (c *MediaConvert) CreateJob(input *CreateJobInput) (*CreateJobOutput, error) {
   265  	req, out := c.CreateJobRequest(input)
   266  	return out, req.Send()
   267  }
   268  
   269  // CreateJobWithContext is the same as CreateJob with the addition of
   270  // the ability to pass a context and additional request options.
   271  //
   272  // See CreateJob for details on how to use this API operation.
   273  //
   274  // The context must be non-nil and will be used for request cancellation. If
   275  // the context is nil a panic will occur. In the future the SDK may create
   276  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   277  // for more information on using Contexts.
   278  func (c *MediaConvert) CreateJobWithContext(ctx aws.Context, input *CreateJobInput, opts ...request.Option) (*CreateJobOutput, error) {
   279  	req, out := c.CreateJobRequest(input)
   280  	req.SetContext(ctx)
   281  	req.ApplyOptions(opts...)
   282  	return out, req.Send()
   283  }
   284  
   285  const opCreateJobTemplate = "CreateJobTemplate"
   286  
   287  // CreateJobTemplateRequest generates a "aws/request.Request" representing the
   288  // client's request for the CreateJobTemplate operation. The "output" return
   289  // value will be populated with the request's response once the request completes
   290  // successfully.
   291  //
   292  // Use "Send" method on the returned Request to send the API call to the service.
   293  // the "output" return value is not valid until after Send returns without error.
   294  //
   295  // See CreateJobTemplate for more information on using the CreateJobTemplate
   296  // API call, and error handling.
   297  //
   298  // This method is useful when you want to inject custom logic or configuration
   299  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   300  //
   301  //
   302  //    // Example sending a request using the CreateJobTemplateRequest method.
   303  //    req, resp := client.CreateJobTemplateRequest(params)
   304  //
   305  //    err := req.Send()
   306  //    if err == nil { // resp is now filled
   307  //        fmt.Println(resp)
   308  //    }
   309  //
   310  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateJobTemplate
   311  func (c *MediaConvert) CreateJobTemplateRequest(input *CreateJobTemplateInput) (req *request.Request, output *CreateJobTemplateOutput) {
   312  	op := &request.Operation{
   313  		Name:       opCreateJobTemplate,
   314  		HTTPMethod: "POST",
   315  		HTTPPath:   "/2017-08-29/jobTemplates",
   316  	}
   317  
   318  	if input == nil {
   319  		input = &CreateJobTemplateInput{}
   320  	}
   321  
   322  	output = &CreateJobTemplateOutput{}
   323  	req = c.newRequest(op, input, output)
   324  	return
   325  }
   326  
   327  // CreateJobTemplate API operation for AWS Elemental MediaConvert.
   328  //
   329  // Create a new job template. For information about job templates see the User
   330  // Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
   331  //
   332  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   333  // with awserr.Error's Code and Message methods to get detailed information about
   334  // the error.
   335  //
   336  // See the AWS API reference guide for AWS Elemental MediaConvert's
   337  // API operation CreateJobTemplate for usage and error information.
   338  //
   339  // Returned Error Types:
   340  //   * BadRequestException
   341  //
   342  //   * InternalServerErrorException
   343  //
   344  //   * ForbiddenException
   345  //
   346  //   * NotFoundException
   347  //
   348  //   * TooManyRequestsException
   349  //
   350  //   * ConflictException
   351  //
   352  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateJobTemplate
   353  func (c *MediaConvert) CreateJobTemplate(input *CreateJobTemplateInput) (*CreateJobTemplateOutput, error) {
   354  	req, out := c.CreateJobTemplateRequest(input)
   355  	return out, req.Send()
   356  }
   357  
   358  // CreateJobTemplateWithContext is the same as CreateJobTemplate with the addition of
   359  // the ability to pass a context and additional request options.
   360  //
   361  // See CreateJobTemplate for details on how to use this API operation.
   362  //
   363  // The context must be non-nil and will be used for request cancellation. If
   364  // the context is nil a panic will occur. In the future the SDK may create
   365  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   366  // for more information on using Contexts.
   367  func (c *MediaConvert) CreateJobTemplateWithContext(ctx aws.Context, input *CreateJobTemplateInput, opts ...request.Option) (*CreateJobTemplateOutput, error) {
   368  	req, out := c.CreateJobTemplateRequest(input)
   369  	req.SetContext(ctx)
   370  	req.ApplyOptions(opts...)
   371  	return out, req.Send()
   372  }
   373  
   374  const opCreatePreset = "CreatePreset"
   375  
   376  // CreatePresetRequest generates a "aws/request.Request" representing the
   377  // client's request for the CreatePreset operation. The "output" return
   378  // value will be populated with the request's response once the request completes
   379  // successfully.
   380  //
   381  // Use "Send" method on the returned Request to send the API call to the service.
   382  // the "output" return value is not valid until after Send returns without error.
   383  //
   384  // See CreatePreset for more information on using the CreatePreset
   385  // API call, and error handling.
   386  //
   387  // This method is useful when you want to inject custom logic or configuration
   388  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   389  //
   390  //
   391  //    // Example sending a request using the CreatePresetRequest method.
   392  //    req, resp := client.CreatePresetRequest(params)
   393  //
   394  //    err := req.Send()
   395  //    if err == nil { // resp is now filled
   396  //        fmt.Println(resp)
   397  //    }
   398  //
   399  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreatePreset
   400  func (c *MediaConvert) CreatePresetRequest(input *CreatePresetInput) (req *request.Request, output *CreatePresetOutput) {
   401  	op := &request.Operation{
   402  		Name:       opCreatePreset,
   403  		HTTPMethod: "POST",
   404  		HTTPPath:   "/2017-08-29/presets",
   405  	}
   406  
   407  	if input == nil {
   408  		input = &CreatePresetInput{}
   409  	}
   410  
   411  	output = &CreatePresetOutput{}
   412  	req = c.newRequest(op, input, output)
   413  	return
   414  }
   415  
   416  // CreatePreset API operation for AWS Elemental MediaConvert.
   417  //
   418  // Create a new preset. For information about job templates see the User Guide
   419  // at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
   420  //
   421  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   422  // with awserr.Error's Code and Message methods to get detailed information about
   423  // the error.
   424  //
   425  // See the AWS API reference guide for AWS Elemental MediaConvert's
   426  // API operation CreatePreset for usage and error information.
   427  //
   428  // Returned Error Types:
   429  //   * BadRequestException
   430  //
   431  //   * InternalServerErrorException
   432  //
   433  //   * ForbiddenException
   434  //
   435  //   * NotFoundException
   436  //
   437  //   * TooManyRequestsException
   438  //
   439  //   * ConflictException
   440  //
   441  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreatePreset
   442  func (c *MediaConvert) CreatePreset(input *CreatePresetInput) (*CreatePresetOutput, error) {
   443  	req, out := c.CreatePresetRequest(input)
   444  	return out, req.Send()
   445  }
   446  
   447  // CreatePresetWithContext is the same as CreatePreset with the addition of
   448  // the ability to pass a context and additional request options.
   449  //
   450  // See CreatePreset for details on how to use this API operation.
   451  //
   452  // The context must be non-nil and will be used for request cancellation. If
   453  // the context is nil a panic will occur. In the future the SDK may create
   454  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   455  // for more information on using Contexts.
   456  func (c *MediaConvert) CreatePresetWithContext(ctx aws.Context, input *CreatePresetInput, opts ...request.Option) (*CreatePresetOutput, error) {
   457  	req, out := c.CreatePresetRequest(input)
   458  	req.SetContext(ctx)
   459  	req.ApplyOptions(opts...)
   460  	return out, req.Send()
   461  }
   462  
   463  const opCreateQueue = "CreateQueue"
   464  
   465  // CreateQueueRequest generates a "aws/request.Request" representing the
   466  // client's request for the CreateQueue operation. The "output" return
   467  // value will be populated with the request's response once the request completes
   468  // successfully.
   469  //
   470  // Use "Send" method on the returned Request to send the API call to the service.
   471  // the "output" return value is not valid until after Send returns without error.
   472  //
   473  // See CreateQueue for more information on using the CreateQueue
   474  // API call, and error handling.
   475  //
   476  // This method is useful when you want to inject custom logic or configuration
   477  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   478  //
   479  //
   480  //    // Example sending a request using the CreateQueueRequest method.
   481  //    req, resp := client.CreateQueueRequest(params)
   482  //
   483  //    err := req.Send()
   484  //    if err == nil { // resp is now filled
   485  //        fmt.Println(resp)
   486  //    }
   487  //
   488  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateQueue
   489  func (c *MediaConvert) CreateQueueRequest(input *CreateQueueInput) (req *request.Request, output *CreateQueueOutput) {
   490  	op := &request.Operation{
   491  		Name:       opCreateQueue,
   492  		HTTPMethod: "POST",
   493  		HTTPPath:   "/2017-08-29/queues",
   494  	}
   495  
   496  	if input == nil {
   497  		input = &CreateQueueInput{}
   498  	}
   499  
   500  	output = &CreateQueueOutput{}
   501  	req = c.newRequest(op, input, output)
   502  	return
   503  }
   504  
   505  // CreateQueue API operation for AWS Elemental MediaConvert.
   506  //
   507  // Create a new transcoding queue. For information about queues, see Working
   508  // With Queues in the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html
   509  //
   510  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   511  // with awserr.Error's Code and Message methods to get detailed information about
   512  // the error.
   513  //
   514  // See the AWS API reference guide for AWS Elemental MediaConvert's
   515  // API operation CreateQueue for usage and error information.
   516  //
   517  // Returned Error Types:
   518  //   * BadRequestException
   519  //
   520  //   * InternalServerErrorException
   521  //
   522  //   * ForbiddenException
   523  //
   524  //   * NotFoundException
   525  //
   526  //   * TooManyRequestsException
   527  //
   528  //   * ConflictException
   529  //
   530  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateQueue
   531  func (c *MediaConvert) CreateQueue(input *CreateQueueInput) (*CreateQueueOutput, error) {
   532  	req, out := c.CreateQueueRequest(input)
   533  	return out, req.Send()
   534  }
   535  
   536  // CreateQueueWithContext is the same as CreateQueue with the addition of
   537  // the ability to pass a context and additional request options.
   538  //
   539  // See CreateQueue for details on how to use this API operation.
   540  //
   541  // The context must be non-nil and will be used for request cancellation. If
   542  // the context is nil a panic will occur. In the future the SDK may create
   543  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   544  // for more information on using Contexts.
   545  func (c *MediaConvert) CreateQueueWithContext(ctx aws.Context, input *CreateQueueInput, opts ...request.Option) (*CreateQueueOutput, error) {
   546  	req, out := c.CreateQueueRequest(input)
   547  	req.SetContext(ctx)
   548  	req.ApplyOptions(opts...)
   549  	return out, req.Send()
   550  }
   551  
   552  const opDeleteJobTemplate = "DeleteJobTemplate"
   553  
   554  // DeleteJobTemplateRequest generates a "aws/request.Request" representing the
   555  // client's request for the DeleteJobTemplate operation. The "output" return
   556  // value will be populated with the request's response once the request completes
   557  // successfully.
   558  //
   559  // Use "Send" method on the returned Request to send the API call to the service.
   560  // the "output" return value is not valid until after Send returns without error.
   561  //
   562  // See DeleteJobTemplate for more information on using the DeleteJobTemplate
   563  // API call, and error handling.
   564  //
   565  // This method is useful when you want to inject custom logic or configuration
   566  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   567  //
   568  //
   569  //    // Example sending a request using the DeleteJobTemplateRequest method.
   570  //    req, resp := client.DeleteJobTemplateRequest(params)
   571  //
   572  //    err := req.Send()
   573  //    if err == nil { // resp is now filled
   574  //        fmt.Println(resp)
   575  //    }
   576  //
   577  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeleteJobTemplate
   578  func (c *MediaConvert) DeleteJobTemplateRequest(input *DeleteJobTemplateInput) (req *request.Request, output *DeleteJobTemplateOutput) {
   579  	op := &request.Operation{
   580  		Name:       opDeleteJobTemplate,
   581  		HTTPMethod: "DELETE",
   582  		HTTPPath:   "/2017-08-29/jobTemplates/{name}",
   583  	}
   584  
   585  	if input == nil {
   586  		input = &DeleteJobTemplateInput{}
   587  	}
   588  
   589  	output = &DeleteJobTemplateOutput{}
   590  	req = c.newRequest(op, input, output)
   591  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   592  	return
   593  }
   594  
   595  // DeleteJobTemplate API operation for AWS Elemental MediaConvert.
   596  //
   597  // Permanently delete a job template you have created.
   598  //
   599  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   600  // with awserr.Error's Code and Message methods to get detailed information about
   601  // the error.
   602  //
   603  // See the AWS API reference guide for AWS Elemental MediaConvert's
   604  // API operation DeleteJobTemplate for usage and error information.
   605  //
   606  // Returned Error Types:
   607  //   * BadRequestException
   608  //
   609  //   * InternalServerErrorException
   610  //
   611  //   * ForbiddenException
   612  //
   613  //   * NotFoundException
   614  //
   615  //   * TooManyRequestsException
   616  //
   617  //   * ConflictException
   618  //
   619  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeleteJobTemplate
   620  func (c *MediaConvert) DeleteJobTemplate(input *DeleteJobTemplateInput) (*DeleteJobTemplateOutput, error) {
   621  	req, out := c.DeleteJobTemplateRequest(input)
   622  	return out, req.Send()
   623  }
   624  
   625  // DeleteJobTemplateWithContext is the same as DeleteJobTemplate with the addition of
   626  // the ability to pass a context and additional request options.
   627  //
   628  // See DeleteJobTemplate for details on how to use this API operation.
   629  //
   630  // The context must be non-nil and will be used for request cancellation. If
   631  // the context is nil a panic will occur. In the future the SDK may create
   632  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   633  // for more information on using Contexts.
   634  func (c *MediaConvert) DeleteJobTemplateWithContext(ctx aws.Context, input *DeleteJobTemplateInput, opts ...request.Option) (*DeleteJobTemplateOutput, error) {
   635  	req, out := c.DeleteJobTemplateRequest(input)
   636  	req.SetContext(ctx)
   637  	req.ApplyOptions(opts...)
   638  	return out, req.Send()
   639  }
   640  
   641  const opDeletePolicy = "DeletePolicy"
   642  
   643  // DeletePolicyRequest generates a "aws/request.Request" representing the
   644  // client's request for the DeletePolicy operation. The "output" return
   645  // value will be populated with the request's response once the request completes
   646  // successfully.
   647  //
   648  // Use "Send" method on the returned Request to send the API call to the service.
   649  // the "output" return value is not valid until after Send returns without error.
   650  //
   651  // See DeletePolicy for more information on using the DeletePolicy
   652  // API call, and error handling.
   653  //
   654  // This method is useful when you want to inject custom logic or configuration
   655  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   656  //
   657  //
   658  //    // Example sending a request using the DeletePolicyRequest method.
   659  //    req, resp := client.DeletePolicyRequest(params)
   660  //
   661  //    err := req.Send()
   662  //    if err == nil { // resp is now filled
   663  //        fmt.Println(resp)
   664  //    }
   665  //
   666  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeletePolicy
   667  func (c *MediaConvert) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Request, output *DeletePolicyOutput) {
   668  	op := &request.Operation{
   669  		Name:       opDeletePolicy,
   670  		HTTPMethod: "DELETE",
   671  		HTTPPath:   "/2017-08-29/policy",
   672  	}
   673  
   674  	if input == nil {
   675  		input = &DeletePolicyInput{}
   676  	}
   677  
   678  	output = &DeletePolicyOutput{}
   679  	req = c.newRequest(op, input, output)
   680  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   681  	return
   682  }
   683  
   684  // DeletePolicy API operation for AWS Elemental MediaConvert.
   685  //
   686  // Permanently delete a policy that you created.
   687  //
   688  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   689  // with awserr.Error's Code and Message methods to get detailed information about
   690  // the error.
   691  //
   692  // See the AWS API reference guide for AWS Elemental MediaConvert's
   693  // API operation DeletePolicy for usage and error information.
   694  //
   695  // Returned Error Types:
   696  //   * BadRequestException
   697  //
   698  //   * InternalServerErrorException
   699  //
   700  //   * ForbiddenException
   701  //
   702  //   * NotFoundException
   703  //
   704  //   * TooManyRequestsException
   705  //
   706  //   * ConflictException
   707  //
   708  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeletePolicy
   709  func (c *MediaConvert) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error) {
   710  	req, out := c.DeletePolicyRequest(input)
   711  	return out, req.Send()
   712  }
   713  
   714  // DeletePolicyWithContext is the same as DeletePolicy with the addition of
   715  // the ability to pass a context and additional request options.
   716  //
   717  // See DeletePolicy for details on how to use this API operation.
   718  //
   719  // The context must be non-nil and will be used for request cancellation. If
   720  // the context is nil a panic will occur. In the future the SDK may create
   721  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   722  // for more information on using Contexts.
   723  func (c *MediaConvert) DeletePolicyWithContext(ctx aws.Context, input *DeletePolicyInput, opts ...request.Option) (*DeletePolicyOutput, error) {
   724  	req, out := c.DeletePolicyRequest(input)
   725  	req.SetContext(ctx)
   726  	req.ApplyOptions(opts...)
   727  	return out, req.Send()
   728  }
   729  
   730  const opDeletePreset = "DeletePreset"
   731  
   732  // DeletePresetRequest generates a "aws/request.Request" representing the
   733  // client's request for the DeletePreset operation. The "output" return
   734  // value will be populated with the request's response once the request completes
   735  // successfully.
   736  //
   737  // Use "Send" method on the returned Request to send the API call to the service.
   738  // the "output" return value is not valid until after Send returns without error.
   739  //
   740  // See DeletePreset for more information on using the DeletePreset
   741  // API call, and error handling.
   742  //
   743  // This method is useful when you want to inject custom logic or configuration
   744  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   745  //
   746  //
   747  //    // Example sending a request using the DeletePresetRequest method.
   748  //    req, resp := client.DeletePresetRequest(params)
   749  //
   750  //    err := req.Send()
   751  //    if err == nil { // resp is now filled
   752  //        fmt.Println(resp)
   753  //    }
   754  //
   755  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeletePreset
   756  func (c *MediaConvert) DeletePresetRequest(input *DeletePresetInput) (req *request.Request, output *DeletePresetOutput) {
   757  	op := &request.Operation{
   758  		Name:       opDeletePreset,
   759  		HTTPMethod: "DELETE",
   760  		HTTPPath:   "/2017-08-29/presets/{name}",
   761  	}
   762  
   763  	if input == nil {
   764  		input = &DeletePresetInput{}
   765  	}
   766  
   767  	output = &DeletePresetOutput{}
   768  	req = c.newRequest(op, input, output)
   769  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   770  	return
   771  }
   772  
   773  // DeletePreset API operation for AWS Elemental MediaConvert.
   774  //
   775  // Permanently delete a preset you have created.
   776  //
   777  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   778  // with awserr.Error's Code and Message methods to get detailed information about
   779  // the error.
   780  //
   781  // See the AWS API reference guide for AWS Elemental MediaConvert's
   782  // API operation DeletePreset for usage and error information.
   783  //
   784  // Returned Error Types:
   785  //   * BadRequestException
   786  //
   787  //   * InternalServerErrorException
   788  //
   789  //   * ForbiddenException
   790  //
   791  //   * NotFoundException
   792  //
   793  //   * TooManyRequestsException
   794  //
   795  //   * ConflictException
   796  //
   797  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeletePreset
   798  func (c *MediaConvert) DeletePreset(input *DeletePresetInput) (*DeletePresetOutput, error) {
   799  	req, out := c.DeletePresetRequest(input)
   800  	return out, req.Send()
   801  }
   802  
   803  // DeletePresetWithContext is the same as DeletePreset with the addition of
   804  // the ability to pass a context and additional request options.
   805  //
   806  // See DeletePreset for details on how to use this API operation.
   807  //
   808  // The context must be non-nil and will be used for request cancellation. If
   809  // the context is nil a panic will occur. In the future the SDK may create
   810  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   811  // for more information on using Contexts.
   812  func (c *MediaConvert) DeletePresetWithContext(ctx aws.Context, input *DeletePresetInput, opts ...request.Option) (*DeletePresetOutput, error) {
   813  	req, out := c.DeletePresetRequest(input)
   814  	req.SetContext(ctx)
   815  	req.ApplyOptions(opts...)
   816  	return out, req.Send()
   817  }
   818  
   819  const opDeleteQueue = "DeleteQueue"
   820  
   821  // DeleteQueueRequest generates a "aws/request.Request" representing the
   822  // client's request for the DeleteQueue operation. The "output" return
   823  // value will be populated with the request's response once the request completes
   824  // successfully.
   825  //
   826  // Use "Send" method on the returned Request to send the API call to the service.
   827  // the "output" return value is not valid until after Send returns without error.
   828  //
   829  // See DeleteQueue for more information on using the DeleteQueue
   830  // API call, and error handling.
   831  //
   832  // This method is useful when you want to inject custom logic or configuration
   833  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   834  //
   835  //
   836  //    // Example sending a request using the DeleteQueueRequest method.
   837  //    req, resp := client.DeleteQueueRequest(params)
   838  //
   839  //    err := req.Send()
   840  //    if err == nil { // resp is now filled
   841  //        fmt.Println(resp)
   842  //    }
   843  //
   844  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeleteQueue
   845  func (c *MediaConvert) DeleteQueueRequest(input *DeleteQueueInput) (req *request.Request, output *DeleteQueueOutput) {
   846  	op := &request.Operation{
   847  		Name:       opDeleteQueue,
   848  		HTTPMethod: "DELETE",
   849  		HTTPPath:   "/2017-08-29/queues/{name}",
   850  	}
   851  
   852  	if input == nil {
   853  		input = &DeleteQueueInput{}
   854  	}
   855  
   856  	output = &DeleteQueueOutput{}
   857  	req = c.newRequest(op, input, output)
   858  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   859  	return
   860  }
   861  
   862  // DeleteQueue API operation for AWS Elemental MediaConvert.
   863  //
   864  // Permanently delete a queue you have created.
   865  //
   866  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   867  // with awserr.Error's Code and Message methods to get detailed information about
   868  // the error.
   869  //
   870  // See the AWS API reference guide for AWS Elemental MediaConvert's
   871  // API operation DeleteQueue for usage and error information.
   872  //
   873  // Returned Error Types:
   874  //   * BadRequestException
   875  //
   876  //   * InternalServerErrorException
   877  //
   878  //   * ForbiddenException
   879  //
   880  //   * NotFoundException
   881  //
   882  //   * TooManyRequestsException
   883  //
   884  //   * ConflictException
   885  //
   886  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeleteQueue
   887  func (c *MediaConvert) DeleteQueue(input *DeleteQueueInput) (*DeleteQueueOutput, error) {
   888  	req, out := c.DeleteQueueRequest(input)
   889  	return out, req.Send()
   890  }
   891  
   892  // DeleteQueueWithContext is the same as DeleteQueue with the addition of
   893  // the ability to pass a context and additional request options.
   894  //
   895  // See DeleteQueue for details on how to use this API operation.
   896  //
   897  // The context must be non-nil and will be used for request cancellation. If
   898  // the context is nil a panic will occur. In the future the SDK may create
   899  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   900  // for more information on using Contexts.
   901  func (c *MediaConvert) DeleteQueueWithContext(ctx aws.Context, input *DeleteQueueInput, opts ...request.Option) (*DeleteQueueOutput, error) {
   902  	req, out := c.DeleteQueueRequest(input)
   903  	req.SetContext(ctx)
   904  	req.ApplyOptions(opts...)
   905  	return out, req.Send()
   906  }
   907  
   908  const opDescribeEndpoints = "DescribeEndpoints"
   909  
   910  // DescribeEndpointsRequest generates a "aws/request.Request" representing the
   911  // client's request for the DescribeEndpoints operation. The "output" return
   912  // value will be populated with the request's response once the request completes
   913  // successfully.
   914  //
   915  // Use "Send" method on the returned Request to send the API call to the service.
   916  // the "output" return value is not valid until after Send returns without error.
   917  //
   918  // See DescribeEndpoints for more information on using the DescribeEndpoints
   919  // API call, and error handling.
   920  //
   921  // This method is useful when you want to inject custom logic or configuration
   922  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   923  //
   924  //
   925  //    // Example sending a request using the DescribeEndpointsRequest method.
   926  //    req, resp := client.DescribeEndpointsRequest(params)
   927  //
   928  //    err := req.Send()
   929  //    if err == nil { // resp is now filled
   930  //        fmt.Println(resp)
   931  //    }
   932  //
   933  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DescribeEndpoints
   934  func (c *MediaConvert) DescribeEndpointsRequest(input *DescribeEndpointsInput) (req *request.Request, output *DescribeEndpointsOutput) {
   935  	op := &request.Operation{
   936  		Name:       opDescribeEndpoints,
   937  		HTTPMethod: "POST",
   938  		HTTPPath:   "/2017-08-29/endpoints",
   939  		Paginator: &request.Paginator{
   940  			InputTokens:     []string{"NextToken"},
   941  			OutputTokens:    []string{"NextToken"},
   942  			LimitToken:      "MaxResults",
   943  			TruncationToken: "",
   944  		},
   945  	}
   946  
   947  	if input == nil {
   948  		input = &DescribeEndpointsInput{}
   949  	}
   950  
   951  	output = &DescribeEndpointsOutput{}
   952  	req = c.newRequest(op, input, output)
   953  	return
   954  }
   955  
   956  // DescribeEndpoints API operation for AWS Elemental MediaConvert.
   957  //
   958  // Send an request with an empty body to the regional API endpoint to get your
   959  // account API endpoint.
   960  //
   961  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   962  // with awserr.Error's Code and Message methods to get detailed information about
   963  // the error.
   964  //
   965  // See the AWS API reference guide for AWS Elemental MediaConvert's
   966  // API operation DescribeEndpoints for usage and error information.
   967  //
   968  // Returned Error Types:
   969  //   * BadRequestException
   970  //
   971  //   * InternalServerErrorException
   972  //
   973  //   * ForbiddenException
   974  //
   975  //   * NotFoundException
   976  //
   977  //   * TooManyRequestsException
   978  //
   979  //   * ConflictException
   980  //
   981  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DescribeEndpoints
   982  func (c *MediaConvert) DescribeEndpoints(input *DescribeEndpointsInput) (*DescribeEndpointsOutput, error) {
   983  	req, out := c.DescribeEndpointsRequest(input)
   984  	return out, req.Send()
   985  }
   986  
   987  // DescribeEndpointsWithContext is the same as DescribeEndpoints with the addition of
   988  // the ability to pass a context and additional request options.
   989  //
   990  // See DescribeEndpoints for details on how to use this API operation.
   991  //
   992  // The context must be non-nil and will be used for request cancellation. If
   993  // the context is nil a panic will occur. In the future the SDK may create
   994  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   995  // for more information on using Contexts.
   996  func (c *MediaConvert) DescribeEndpointsWithContext(ctx aws.Context, input *DescribeEndpointsInput, opts ...request.Option) (*DescribeEndpointsOutput, error) {
   997  	req, out := c.DescribeEndpointsRequest(input)
   998  	req.SetContext(ctx)
   999  	req.ApplyOptions(opts...)
  1000  	return out, req.Send()
  1001  }
  1002  
  1003  // DescribeEndpointsPages iterates over the pages of a DescribeEndpoints operation,
  1004  // calling the "fn" function with the response data for each page. To stop
  1005  // iterating, return false from the fn function.
  1006  //
  1007  // See DescribeEndpoints method for more information on how to use this operation.
  1008  //
  1009  // Note: This operation can generate multiple requests to a service.
  1010  //
  1011  //    // Example iterating over at most 3 pages of a DescribeEndpoints operation.
  1012  //    pageNum := 0
  1013  //    err := client.DescribeEndpointsPages(params,
  1014  //        func(page *mediaconvert.DescribeEndpointsOutput, lastPage bool) bool {
  1015  //            pageNum++
  1016  //            fmt.Println(page)
  1017  //            return pageNum <= 3
  1018  //        })
  1019  //
  1020  func (c *MediaConvert) DescribeEndpointsPages(input *DescribeEndpointsInput, fn func(*DescribeEndpointsOutput, bool) bool) error {
  1021  	return c.DescribeEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
  1022  }
  1023  
  1024  // DescribeEndpointsPagesWithContext same as DescribeEndpointsPages except
  1025  // it takes a Context and allows setting request options on the pages.
  1026  //
  1027  // The context must be non-nil and will be used for request cancellation. If
  1028  // the context is nil a panic will occur. In the future the SDK may create
  1029  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1030  // for more information on using Contexts.
  1031  func (c *MediaConvert) DescribeEndpointsPagesWithContext(ctx aws.Context, input *DescribeEndpointsInput, fn func(*DescribeEndpointsOutput, bool) bool, opts ...request.Option) error {
  1032  	p := request.Pagination{
  1033  		NewRequest: func() (*request.Request, error) {
  1034  			var inCpy *DescribeEndpointsInput
  1035  			if input != nil {
  1036  				tmp := *input
  1037  				inCpy = &tmp
  1038  			}
  1039  			req, _ := c.DescribeEndpointsRequest(inCpy)
  1040  			req.SetContext(ctx)
  1041  			req.ApplyOptions(opts...)
  1042  			return req, nil
  1043  		},
  1044  	}
  1045  
  1046  	for p.Next() {
  1047  		if !fn(p.Page().(*DescribeEndpointsOutput), !p.HasNextPage()) {
  1048  			break
  1049  		}
  1050  	}
  1051  
  1052  	return p.Err()
  1053  }
  1054  
  1055  const opDisassociateCertificate = "DisassociateCertificate"
  1056  
  1057  // DisassociateCertificateRequest generates a "aws/request.Request" representing the
  1058  // client's request for the DisassociateCertificate operation. The "output" return
  1059  // value will be populated with the request's response once the request completes
  1060  // successfully.
  1061  //
  1062  // Use "Send" method on the returned Request to send the API call to the service.
  1063  // the "output" return value is not valid until after Send returns without error.
  1064  //
  1065  // See DisassociateCertificate for more information on using the DisassociateCertificate
  1066  // API call, and error handling.
  1067  //
  1068  // This method is useful when you want to inject custom logic or configuration
  1069  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1070  //
  1071  //
  1072  //    // Example sending a request using the DisassociateCertificateRequest method.
  1073  //    req, resp := client.DisassociateCertificateRequest(params)
  1074  //
  1075  //    err := req.Send()
  1076  //    if err == nil { // resp is now filled
  1077  //        fmt.Println(resp)
  1078  //    }
  1079  //
  1080  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DisassociateCertificate
  1081  func (c *MediaConvert) DisassociateCertificateRequest(input *DisassociateCertificateInput) (req *request.Request, output *DisassociateCertificateOutput) {
  1082  	op := &request.Operation{
  1083  		Name:       opDisassociateCertificate,
  1084  		HTTPMethod: "DELETE",
  1085  		HTTPPath:   "/2017-08-29/certificates/{arn}",
  1086  	}
  1087  
  1088  	if input == nil {
  1089  		input = &DisassociateCertificateInput{}
  1090  	}
  1091  
  1092  	output = &DisassociateCertificateOutput{}
  1093  	req = c.newRequest(op, input, output)
  1094  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1095  	return
  1096  }
  1097  
  1098  // DisassociateCertificate API operation for AWS Elemental MediaConvert.
  1099  //
  1100  // Removes an association between the Amazon Resource Name (ARN) of an AWS Certificate
  1101  // Manager (ACM) certificate and an AWS Elemental MediaConvert resource.
  1102  //
  1103  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1104  // with awserr.Error's Code and Message methods to get detailed information about
  1105  // the error.
  1106  //
  1107  // See the AWS API reference guide for AWS Elemental MediaConvert's
  1108  // API operation DisassociateCertificate for usage and error information.
  1109  //
  1110  // Returned Error Types:
  1111  //   * BadRequestException
  1112  //
  1113  //   * InternalServerErrorException
  1114  //
  1115  //   * ForbiddenException
  1116  //
  1117  //   * NotFoundException
  1118  //
  1119  //   * TooManyRequestsException
  1120  //
  1121  //   * ConflictException
  1122  //
  1123  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DisassociateCertificate
  1124  func (c *MediaConvert) DisassociateCertificate(input *DisassociateCertificateInput) (*DisassociateCertificateOutput, error) {
  1125  	req, out := c.DisassociateCertificateRequest(input)
  1126  	return out, req.Send()
  1127  }
  1128  
  1129  // DisassociateCertificateWithContext is the same as DisassociateCertificate with the addition of
  1130  // the ability to pass a context and additional request options.
  1131  //
  1132  // See DisassociateCertificate for details on how to use this API operation.
  1133  //
  1134  // The context must be non-nil and will be used for request cancellation. If
  1135  // the context is nil a panic will occur. In the future the SDK may create
  1136  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1137  // for more information on using Contexts.
  1138  func (c *MediaConvert) DisassociateCertificateWithContext(ctx aws.Context, input *DisassociateCertificateInput, opts ...request.Option) (*DisassociateCertificateOutput, error) {
  1139  	req, out := c.DisassociateCertificateRequest(input)
  1140  	req.SetContext(ctx)
  1141  	req.ApplyOptions(opts...)
  1142  	return out, req.Send()
  1143  }
  1144  
  1145  const opGetJob = "GetJob"
  1146  
  1147  // GetJobRequest generates a "aws/request.Request" representing the
  1148  // client's request for the GetJob operation. The "output" return
  1149  // value will be populated with the request's response once the request completes
  1150  // successfully.
  1151  //
  1152  // Use "Send" method on the returned Request to send the API call to the service.
  1153  // the "output" return value is not valid until after Send returns without error.
  1154  //
  1155  // See GetJob for more information on using the GetJob
  1156  // API call, and error handling.
  1157  //
  1158  // This method is useful when you want to inject custom logic or configuration
  1159  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1160  //
  1161  //
  1162  //    // Example sending a request using the GetJobRequest method.
  1163  //    req, resp := client.GetJobRequest(params)
  1164  //
  1165  //    err := req.Send()
  1166  //    if err == nil { // resp is now filled
  1167  //        fmt.Println(resp)
  1168  //    }
  1169  //
  1170  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetJob
  1171  func (c *MediaConvert) GetJobRequest(input *GetJobInput) (req *request.Request, output *GetJobOutput) {
  1172  	op := &request.Operation{
  1173  		Name:       opGetJob,
  1174  		HTTPMethod: "GET",
  1175  		HTTPPath:   "/2017-08-29/jobs/{id}",
  1176  	}
  1177  
  1178  	if input == nil {
  1179  		input = &GetJobInput{}
  1180  	}
  1181  
  1182  	output = &GetJobOutput{}
  1183  	req = c.newRequest(op, input, output)
  1184  	return
  1185  }
  1186  
  1187  // GetJob API operation for AWS Elemental MediaConvert.
  1188  //
  1189  // Retrieve the JSON for a specific completed transcoding job.
  1190  //
  1191  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1192  // with awserr.Error's Code and Message methods to get detailed information about
  1193  // the error.
  1194  //
  1195  // See the AWS API reference guide for AWS Elemental MediaConvert's
  1196  // API operation GetJob for usage and error information.
  1197  //
  1198  // Returned Error Types:
  1199  //   * BadRequestException
  1200  //
  1201  //   * InternalServerErrorException
  1202  //
  1203  //   * ForbiddenException
  1204  //
  1205  //   * NotFoundException
  1206  //
  1207  //   * TooManyRequestsException
  1208  //
  1209  //   * ConflictException
  1210  //
  1211  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetJob
  1212  func (c *MediaConvert) GetJob(input *GetJobInput) (*GetJobOutput, error) {
  1213  	req, out := c.GetJobRequest(input)
  1214  	return out, req.Send()
  1215  }
  1216  
  1217  // GetJobWithContext is the same as GetJob with the addition of
  1218  // the ability to pass a context and additional request options.
  1219  //
  1220  // See GetJob for details on how to use this API operation.
  1221  //
  1222  // The context must be non-nil and will be used for request cancellation. If
  1223  // the context is nil a panic will occur. In the future the SDK may create
  1224  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1225  // for more information on using Contexts.
  1226  func (c *MediaConvert) GetJobWithContext(ctx aws.Context, input *GetJobInput, opts ...request.Option) (*GetJobOutput, error) {
  1227  	req, out := c.GetJobRequest(input)
  1228  	req.SetContext(ctx)
  1229  	req.ApplyOptions(opts...)
  1230  	return out, req.Send()
  1231  }
  1232  
  1233  const opGetJobTemplate = "GetJobTemplate"
  1234  
  1235  // GetJobTemplateRequest generates a "aws/request.Request" representing the
  1236  // client's request for the GetJobTemplate operation. The "output" return
  1237  // value will be populated with the request's response once the request completes
  1238  // successfully.
  1239  //
  1240  // Use "Send" method on the returned Request to send the API call to the service.
  1241  // the "output" return value is not valid until after Send returns without error.
  1242  //
  1243  // See GetJobTemplate for more information on using the GetJobTemplate
  1244  // API call, and error handling.
  1245  //
  1246  // This method is useful when you want to inject custom logic or configuration
  1247  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1248  //
  1249  //
  1250  //    // Example sending a request using the GetJobTemplateRequest method.
  1251  //    req, resp := client.GetJobTemplateRequest(params)
  1252  //
  1253  //    err := req.Send()
  1254  //    if err == nil { // resp is now filled
  1255  //        fmt.Println(resp)
  1256  //    }
  1257  //
  1258  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetJobTemplate
  1259  func (c *MediaConvert) GetJobTemplateRequest(input *GetJobTemplateInput) (req *request.Request, output *GetJobTemplateOutput) {
  1260  	op := &request.Operation{
  1261  		Name:       opGetJobTemplate,
  1262  		HTTPMethod: "GET",
  1263  		HTTPPath:   "/2017-08-29/jobTemplates/{name}",
  1264  	}
  1265  
  1266  	if input == nil {
  1267  		input = &GetJobTemplateInput{}
  1268  	}
  1269  
  1270  	output = &GetJobTemplateOutput{}
  1271  	req = c.newRequest(op, input, output)
  1272  	return
  1273  }
  1274  
  1275  // GetJobTemplate API operation for AWS Elemental MediaConvert.
  1276  //
  1277  // Retrieve the JSON for a specific job template.
  1278  //
  1279  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1280  // with awserr.Error's Code and Message methods to get detailed information about
  1281  // the error.
  1282  //
  1283  // See the AWS API reference guide for AWS Elemental MediaConvert's
  1284  // API operation GetJobTemplate for usage and error information.
  1285  //
  1286  // Returned Error Types:
  1287  //   * BadRequestException
  1288  //
  1289  //   * InternalServerErrorException
  1290  //
  1291  //   * ForbiddenException
  1292  //
  1293  //   * NotFoundException
  1294  //
  1295  //   * TooManyRequestsException
  1296  //
  1297  //   * ConflictException
  1298  //
  1299  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetJobTemplate
  1300  func (c *MediaConvert) GetJobTemplate(input *GetJobTemplateInput) (*GetJobTemplateOutput, error) {
  1301  	req, out := c.GetJobTemplateRequest(input)
  1302  	return out, req.Send()
  1303  }
  1304  
  1305  // GetJobTemplateWithContext is the same as GetJobTemplate with the addition of
  1306  // the ability to pass a context and additional request options.
  1307  //
  1308  // See GetJobTemplate for details on how to use this API operation.
  1309  //
  1310  // The context must be non-nil and will be used for request cancellation. If
  1311  // the context is nil a panic will occur. In the future the SDK may create
  1312  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1313  // for more information on using Contexts.
  1314  func (c *MediaConvert) GetJobTemplateWithContext(ctx aws.Context, input *GetJobTemplateInput, opts ...request.Option) (*GetJobTemplateOutput, error) {
  1315  	req, out := c.GetJobTemplateRequest(input)
  1316  	req.SetContext(ctx)
  1317  	req.ApplyOptions(opts...)
  1318  	return out, req.Send()
  1319  }
  1320  
  1321  const opGetPolicy = "GetPolicy"
  1322  
  1323  // GetPolicyRequest generates a "aws/request.Request" representing the
  1324  // client's request for the GetPolicy operation. The "output" return
  1325  // value will be populated with the request's response once the request completes
  1326  // successfully.
  1327  //
  1328  // Use "Send" method on the returned Request to send the API call to the service.
  1329  // the "output" return value is not valid until after Send returns without error.
  1330  //
  1331  // See GetPolicy for more information on using the GetPolicy
  1332  // API call, and error handling.
  1333  //
  1334  // This method is useful when you want to inject custom logic or configuration
  1335  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1336  //
  1337  //
  1338  //    // Example sending a request using the GetPolicyRequest method.
  1339  //    req, resp := client.GetPolicyRequest(params)
  1340  //
  1341  //    err := req.Send()
  1342  //    if err == nil { // resp is now filled
  1343  //        fmt.Println(resp)
  1344  //    }
  1345  //
  1346  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetPolicy
  1347  func (c *MediaConvert) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, output *GetPolicyOutput) {
  1348  	op := &request.Operation{
  1349  		Name:       opGetPolicy,
  1350  		HTTPMethod: "GET",
  1351  		HTTPPath:   "/2017-08-29/policy",
  1352  	}
  1353  
  1354  	if input == nil {
  1355  		input = &GetPolicyInput{}
  1356  	}
  1357  
  1358  	output = &GetPolicyOutput{}
  1359  	req = c.newRequest(op, input, output)
  1360  	return
  1361  }
  1362  
  1363  // GetPolicy API operation for AWS Elemental MediaConvert.
  1364  //
  1365  // Retrieve the JSON for your policy.
  1366  //
  1367  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1368  // with awserr.Error's Code and Message methods to get detailed information about
  1369  // the error.
  1370  //
  1371  // See the AWS API reference guide for AWS Elemental MediaConvert's
  1372  // API operation GetPolicy for usage and error information.
  1373  //
  1374  // Returned Error Types:
  1375  //   * BadRequestException
  1376  //
  1377  //   * InternalServerErrorException
  1378  //
  1379  //   * ForbiddenException
  1380  //
  1381  //   * NotFoundException
  1382  //
  1383  //   * TooManyRequestsException
  1384  //
  1385  //   * ConflictException
  1386  //
  1387  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetPolicy
  1388  func (c *MediaConvert) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) {
  1389  	req, out := c.GetPolicyRequest(input)
  1390  	return out, req.Send()
  1391  }
  1392  
  1393  // GetPolicyWithContext is the same as GetPolicy with the addition of
  1394  // the ability to pass a context and additional request options.
  1395  //
  1396  // See GetPolicy for details on how to use this API operation.
  1397  //
  1398  // The context must be non-nil and will be used for request cancellation. If
  1399  // the context is nil a panic will occur. In the future the SDK may create
  1400  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1401  // for more information on using Contexts.
  1402  func (c *MediaConvert) GetPolicyWithContext(ctx aws.Context, input *GetPolicyInput, opts ...request.Option) (*GetPolicyOutput, error) {
  1403  	req, out := c.GetPolicyRequest(input)
  1404  	req.SetContext(ctx)
  1405  	req.ApplyOptions(opts...)
  1406  	return out, req.Send()
  1407  }
  1408  
  1409  const opGetPreset = "GetPreset"
  1410  
  1411  // GetPresetRequest generates a "aws/request.Request" representing the
  1412  // client's request for the GetPreset operation. The "output" return
  1413  // value will be populated with the request's response once the request completes
  1414  // successfully.
  1415  //
  1416  // Use "Send" method on the returned Request to send the API call to the service.
  1417  // the "output" return value is not valid until after Send returns without error.
  1418  //
  1419  // See GetPreset for more information on using the GetPreset
  1420  // API call, and error handling.
  1421  //
  1422  // This method is useful when you want to inject custom logic or configuration
  1423  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1424  //
  1425  //
  1426  //    // Example sending a request using the GetPresetRequest method.
  1427  //    req, resp := client.GetPresetRequest(params)
  1428  //
  1429  //    err := req.Send()
  1430  //    if err == nil { // resp is now filled
  1431  //        fmt.Println(resp)
  1432  //    }
  1433  //
  1434  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetPreset
  1435  func (c *MediaConvert) GetPresetRequest(input *GetPresetInput) (req *request.Request, output *GetPresetOutput) {
  1436  	op := &request.Operation{
  1437  		Name:       opGetPreset,
  1438  		HTTPMethod: "GET",
  1439  		HTTPPath:   "/2017-08-29/presets/{name}",
  1440  	}
  1441  
  1442  	if input == nil {
  1443  		input = &GetPresetInput{}
  1444  	}
  1445  
  1446  	output = &GetPresetOutput{}
  1447  	req = c.newRequest(op, input, output)
  1448  	return
  1449  }
  1450  
  1451  // GetPreset API operation for AWS Elemental MediaConvert.
  1452  //
  1453  // Retrieve the JSON for a specific preset.
  1454  //
  1455  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1456  // with awserr.Error's Code and Message methods to get detailed information about
  1457  // the error.
  1458  //
  1459  // See the AWS API reference guide for AWS Elemental MediaConvert's
  1460  // API operation GetPreset for usage and error information.
  1461  //
  1462  // Returned Error Types:
  1463  //   * BadRequestException
  1464  //
  1465  //   * InternalServerErrorException
  1466  //
  1467  //   * ForbiddenException
  1468  //
  1469  //   * NotFoundException
  1470  //
  1471  //   * TooManyRequestsException
  1472  //
  1473  //   * ConflictException
  1474  //
  1475  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetPreset
  1476  func (c *MediaConvert) GetPreset(input *GetPresetInput) (*GetPresetOutput, error) {
  1477  	req, out := c.GetPresetRequest(input)
  1478  	return out, req.Send()
  1479  }
  1480  
  1481  // GetPresetWithContext is the same as GetPreset with the addition of
  1482  // the ability to pass a context and additional request options.
  1483  //
  1484  // See GetPreset for details on how to use this API operation.
  1485  //
  1486  // The context must be non-nil and will be used for request cancellation. If
  1487  // the context is nil a panic will occur. In the future the SDK may create
  1488  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1489  // for more information on using Contexts.
  1490  func (c *MediaConvert) GetPresetWithContext(ctx aws.Context, input *GetPresetInput, opts ...request.Option) (*GetPresetOutput, error) {
  1491  	req, out := c.GetPresetRequest(input)
  1492  	req.SetContext(ctx)
  1493  	req.ApplyOptions(opts...)
  1494  	return out, req.Send()
  1495  }
  1496  
  1497  const opGetQueue = "GetQueue"
  1498  
  1499  // GetQueueRequest generates a "aws/request.Request" representing the
  1500  // client's request for the GetQueue operation. The "output" return
  1501  // value will be populated with the request's response once the request completes
  1502  // successfully.
  1503  //
  1504  // Use "Send" method on the returned Request to send the API call to the service.
  1505  // the "output" return value is not valid until after Send returns without error.
  1506  //
  1507  // See GetQueue for more information on using the GetQueue
  1508  // API call, and error handling.
  1509  //
  1510  // This method is useful when you want to inject custom logic or configuration
  1511  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1512  //
  1513  //
  1514  //    // Example sending a request using the GetQueueRequest method.
  1515  //    req, resp := client.GetQueueRequest(params)
  1516  //
  1517  //    err := req.Send()
  1518  //    if err == nil { // resp is now filled
  1519  //        fmt.Println(resp)
  1520  //    }
  1521  //
  1522  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetQueue
  1523  func (c *MediaConvert) GetQueueRequest(input *GetQueueInput) (req *request.Request, output *GetQueueOutput) {
  1524  	op := &request.Operation{
  1525  		Name:       opGetQueue,
  1526  		HTTPMethod: "GET",
  1527  		HTTPPath:   "/2017-08-29/queues/{name}",
  1528  	}
  1529  
  1530  	if input == nil {
  1531  		input = &GetQueueInput{}
  1532  	}
  1533  
  1534  	output = &GetQueueOutput{}
  1535  	req = c.newRequest(op, input, output)
  1536  	return
  1537  }
  1538  
  1539  // GetQueue API operation for AWS Elemental MediaConvert.
  1540  //
  1541  // Retrieve the JSON for a specific queue.
  1542  //
  1543  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1544  // with awserr.Error's Code and Message methods to get detailed information about
  1545  // the error.
  1546  //
  1547  // See the AWS API reference guide for AWS Elemental MediaConvert's
  1548  // API operation GetQueue for usage and error information.
  1549  //
  1550  // Returned Error Types:
  1551  //   * BadRequestException
  1552  //
  1553  //   * InternalServerErrorException
  1554  //
  1555  //   * ForbiddenException
  1556  //
  1557  //   * NotFoundException
  1558  //
  1559  //   * TooManyRequestsException
  1560  //
  1561  //   * ConflictException
  1562  //
  1563  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetQueue
  1564  func (c *MediaConvert) GetQueue(input *GetQueueInput) (*GetQueueOutput, error) {
  1565  	req, out := c.GetQueueRequest(input)
  1566  	return out, req.Send()
  1567  }
  1568  
  1569  // GetQueueWithContext is the same as GetQueue with the addition of
  1570  // the ability to pass a context and additional request options.
  1571  //
  1572  // See GetQueue for details on how to use this API operation.
  1573  //
  1574  // The context must be non-nil and will be used for request cancellation. If
  1575  // the context is nil a panic will occur. In the future the SDK may create
  1576  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1577  // for more information on using Contexts.
  1578  func (c *MediaConvert) GetQueueWithContext(ctx aws.Context, input *GetQueueInput, opts ...request.Option) (*GetQueueOutput, error) {
  1579  	req, out := c.GetQueueRequest(input)
  1580  	req.SetContext(ctx)
  1581  	req.ApplyOptions(opts...)
  1582  	return out, req.Send()
  1583  }
  1584  
  1585  const opListJobTemplates = "ListJobTemplates"
  1586  
  1587  // ListJobTemplatesRequest generates a "aws/request.Request" representing the
  1588  // client's request for the ListJobTemplates operation. The "output" return
  1589  // value will be populated with the request's response once the request completes
  1590  // successfully.
  1591  //
  1592  // Use "Send" method on the returned Request to send the API call to the service.
  1593  // the "output" return value is not valid until after Send returns without error.
  1594  //
  1595  // See ListJobTemplates for more information on using the ListJobTemplates
  1596  // API call, and error handling.
  1597  //
  1598  // This method is useful when you want to inject custom logic or configuration
  1599  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1600  //
  1601  //
  1602  //    // Example sending a request using the ListJobTemplatesRequest method.
  1603  //    req, resp := client.ListJobTemplatesRequest(params)
  1604  //
  1605  //    err := req.Send()
  1606  //    if err == nil { // resp is now filled
  1607  //        fmt.Println(resp)
  1608  //    }
  1609  //
  1610  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListJobTemplates
  1611  func (c *MediaConvert) ListJobTemplatesRequest(input *ListJobTemplatesInput) (req *request.Request, output *ListJobTemplatesOutput) {
  1612  	op := &request.Operation{
  1613  		Name:       opListJobTemplates,
  1614  		HTTPMethod: "GET",
  1615  		HTTPPath:   "/2017-08-29/jobTemplates",
  1616  		Paginator: &request.Paginator{
  1617  			InputTokens:     []string{"NextToken"},
  1618  			OutputTokens:    []string{"NextToken"},
  1619  			LimitToken:      "MaxResults",
  1620  			TruncationToken: "",
  1621  		},
  1622  	}
  1623  
  1624  	if input == nil {
  1625  		input = &ListJobTemplatesInput{}
  1626  	}
  1627  
  1628  	output = &ListJobTemplatesOutput{}
  1629  	req = c.newRequest(op, input, output)
  1630  	return
  1631  }
  1632  
  1633  // ListJobTemplates API operation for AWS Elemental MediaConvert.
  1634  //
  1635  // Retrieve a JSON array of up to twenty of your job templates. This will return
  1636  // the templates themselves, not just a list of them. To retrieve the next twenty
  1637  // templates, use the nextToken string returned with the array
  1638  //
  1639  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1640  // with awserr.Error's Code and Message methods to get detailed information about
  1641  // the error.
  1642  //
  1643  // See the AWS API reference guide for AWS Elemental MediaConvert's
  1644  // API operation ListJobTemplates for usage and error information.
  1645  //
  1646  // Returned Error Types:
  1647  //   * BadRequestException
  1648  //
  1649  //   * InternalServerErrorException
  1650  //
  1651  //   * ForbiddenException
  1652  //
  1653  //   * NotFoundException
  1654  //
  1655  //   * TooManyRequestsException
  1656  //
  1657  //   * ConflictException
  1658  //
  1659  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListJobTemplates
  1660  func (c *MediaConvert) ListJobTemplates(input *ListJobTemplatesInput) (*ListJobTemplatesOutput, error) {
  1661  	req, out := c.ListJobTemplatesRequest(input)
  1662  	return out, req.Send()
  1663  }
  1664  
  1665  // ListJobTemplatesWithContext is the same as ListJobTemplates with the addition of
  1666  // the ability to pass a context and additional request options.
  1667  //
  1668  // See ListJobTemplates for details on how to use this API operation.
  1669  //
  1670  // The context must be non-nil and will be used for request cancellation. If
  1671  // the context is nil a panic will occur. In the future the SDK may create
  1672  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1673  // for more information on using Contexts.
  1674  func (c *MediaConvert) ListJobTemplatesWithContext(ctx aws.Context, input *ListJobTemplatesInput, opts ...request.Option) (*ListJobTemplatesOutput, error) {
  1675  	req, out := c.ListJobTemplatesRequest(input)
  1676  	req.SetContext(ctx)
  1677  	req.ApplyOptions(opts...)
  1678  	return out, req.Send()
  1679  }
  1680  
  1681  // ListJobTemplatesPages iterates over the pages of a ListJobTemplates operation,
  1682  // calling the "fn" function with the response data for each page. To stop
  1683  // iterating, return false from the fn function.
  1684  //
  1685  // See ListJobTemplates method for more information on how to use this operation.
  1686  //
  1687  // Note: This operation can generate multiple requests to a service.
  1688  //
  1689  //    // Example iterating over at most 3 pages of a ListJobTemplates operation.
  1690  //    pageNum := 0
  1691  //    err := client.ListJobTemplatesPages(params,
  1692  //        func(page *mediaconvert.ListJobTemplatesOutput, lastPage bool) bool {
  1693  //            pageNum++
  1694  //            fmt.Println(page)
  1695  //            return pageNum <= 3
  1696  //        })
  1697  //
  1698  func (c *MediaConvert) ListJobTemplatesPages(input *ListJobTemplatesInput, fn func(*ListJobTemplatesOutput, bool) bool) error {
  1699  	return c.ListJobTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
  1700  }
  1701  
  1702  // ListJobTemplatesPagesWithContext same as ListJobTemplatesPages except
  1703  // it takes a Context and allows setting request options on the pages.
  1704  //
  1705  // The context must be non-nil and will be used for request cancellation. If
  1706  // the context is nil a panic will occur. In the future the SDK may create
  1707  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1708  // for more information on using Contexts.
  1709  func (c *MediaConvert) ListJobTemplatesPagesWithContext(ctx aws.Context, input *ListJobTemplatesInput, fn func(*ListJobTemplatesOutput, bool) bool, opts ...request.Option) error {
  1710  	p := request.Pagination{
  1711  		NewRequest: func() (*request.Request, error) {
  1712  			var inCpy *ListJobTemplatesInput
  1713  			if input != nil {
  1714  				tmp := *input
  1715  				inCpy = &tmp
  1716  			}
  1717  			req, _ := c.ListJobTemplatesRequest(inCpy)
  1718  			req.SetContext(ctx)
  1719  			req.ApplyOptions(opts...)
  1720  			return req, nil
  1721  		},
  1722  	}
  1723  
  1724  	for p.Next() {
  1725  		if !fn(p.Page().(*ListJobTemplatesOutput), !p.HasNextPage()) {
  1726  			break
  1727  		}
  1728  	}
  1729  
  1730  	return p.Err()
  1731  }
  1732  
  1733  const opListJobs = "ListJobs"
  1734  
  1735  // ListJobsRequest generates a "aws/request.Request" representing the
  1736  // client's request for the ListJobs operation. The "output" return
  1737  // value will be populated with the request's response once the request completes
  1738  // successfully.
  1739  //
  1740  // Use "Send" method on the returned Request to send the API call to the service.
  1741  // the "output" return value is not valid until after Send returns without error.
  1742  //
  1743  // See ListJobs for more information on using the ListJobs
  1744  // API call, and error handling.
  1745  //
  1746  // This method is useful when you want to inject custom logic or configuration
  1747  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1748  //
  1749  //
  1750  //    // Example sending a request using the ListJobsRequest method.
  1751  //    req, resp := client.ListJobsRequest(params)
  1752  //
  1753  //    err := req.Send()
  1754  //    if err == nil { // resp is now filled
  1755  //        fmt.Println(resp)
  1756  //    }
  1757  //
  1758  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListJobs
  1759  func (c *MediaConvert) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) {
  1760  	op := &request.Operation{
  1761  		Name:       opListJobs,
  1762  		HTTPMethod: "GET",
  1763  		HTTPPath:   "/2017-08-29/jobs",
  1764  		Paginator: &request.Paginator{
  1765  			InputTokens:     []string{"NextToken"},
  1766  			OutputTokens:    []string{"NextToken"},
  1767  			LimitToken:      "MaxResults",
  1768  			TruncationToken: "",
  1769  		},
  1770  	}
  1771  
  1772  	if input == nil {
  1773  		input = &ListJobsInput{}
  1774  	}
  1775  
  1776  	output = &ListJobsOutput{}
  1777  	req = c.newRequest(op, input, output)
  1778  	return
  1779  }
  1780  
  1781  // ListJobs API operation for AWS Elemental MediaConvert.
  1782  //
  1783  // Retrieve a JSON array of up to twenty of your most recently created jobs.
  1784  // This array includes in-process, completed, and errored jobs. This will return
  1785  // the jobs themselves, not just a list of the jobs. To retrieve the twenty
  1786  // next most recent jobs, use the nextToken string returned with the array.
  1787  //
  1788  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1789  // with awserr.Error's Code and Message methods to get detailed information about
  1790  // the error.
  1791  //
  1792  // See the AWS API reference guide for AWS Elemental MediaConvert's
  1793  // API operation ListJobs for usage and error information.
  1794  //
  1795  // Returned Error Types:
  1796  //   * BadRequestException
  1797  //
  1798  //   * InternalServerErrorException
  1799  //
  1800  //   * ForbiddenException
  1801  //
  1802  //   * NotFoundException
  1803  //
  1804  //   * TooManyRequestsException
  1805  //
  1806  //   * ConflictException
  1807  //
  1808  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListJobs
  1809  func (c *MediaConvert) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) {
  1810  	req, out := c.ListJobsRequest(input)
  1811  	return out, req.Send()
  1812  }
  1813  
  1814  // ListJobsWithContext is the same as ListJobs with the addition of
  1815  // the ability to pass a context and additional request options.
  1816  //
  1817  // See ListJobs for details on how to use this API operation.
  1818  //
  1819  // The context must be non-nil and will be used for request cancellation. If
  1820  // the context is nil a panic will occur. In the future the SDK may create
  1821  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1822  // for more information on using Contexts.
  1823  func (c *MediaConvert) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) {
  1824  	req, out := c.ListJobsRequest(input)
  1825  	req.SetContext(ctx)
  1826  	req.ApplyOptions(opts...)
  1827  	return out, req.Send()
  1828  }
  1829  
  1830  // ListJobsPages iterates over the pages of a ListJobs operation,
  1831  // calling the "fn" function with the response data for each page. To stop
  1832  // iterating, return false from the fn function.
  1833  //
  1834  // See ListJobs method for more information on how to use this operation.
  1835  //
  1836  // Note: This operation can generate multiple requests to a service.
  1837  //
  1838  //    // Example iterating over at most 3 pages of a ListJobs operation.
  1839  //    pageNum := 0
  1840  //    err := client.ListJobsPages(params,
  1841  //        func(page *mediaconvert.ListJobsOutput, lastPage bool) bool {
  1842  //            pageNum++
  1843  //            fmt.Println(page)
  1844  //            return pageNum <= 3
  1845  //        })
  1846  //
  1847  func (c *MediaConvert) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error {
  1848  	return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn)
  1849  }
  1850  
  1851  // ListJobsPagesWithContext same as ListJobsPages except
  1852  // it takes a Context and allows setting request options on the pages.
  1853  //
  1854  // The context must be non-nil and will be used for request cancellation. If
  1855  // the context is nil a panic will occur. In the future the SDK may create
  1856  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1857  // for more information on using Contexts.
  1858  func (c *MediaConvert) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error {
  1859  	p := request.Pagination{
  1860  		NewRequest: func() (*request.Request, error) {
  1861  			var inCpy *ListJobsInput
  1862  			if input != nil {
  1863  				tmp := *input
  1864  				inCpy = &tmp
  1865  			}
  1866  			req, _ := c.ListJobsRequest(inCpy)
  1867  			req.SetContext(ctx)
  1868  			req.ApplyOptions(opts...)
  1869  			return req, nil
  1870  		},
  1871  	}
  1872  
  1873  	for p.Next() {
  1874  		if !fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) {
  1875  			break
  1876  		}
  1877  	}
  1878  
  1879  	return p.Err()
  1880  }
  1881  
  1882  const opListPresets = "ListPresets"
  1883  
  1884  // ListPresetsRequest generates a "aws/request.Request" representing the
  1885  // client's request for the ListPresets operation. The "output" return
  1886  // value will be populated with the request's response once the request completes
  1887  // successfully.
  1888  //
  1889  // Use "Send" method on the returned Request to send the API call to the service.
  1890  // the "output" return value is not valid until after Send returns without error.
  1891  //
  1892  // See ListPresets for more information on using the ListPresets
  1893  // API call, and error handling.
  1894  //
  1895  // This method is useful when you want to inject custom logic or configuration
  1896  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1897  //
  1898  //
  1899  //    // Example sending a request using the ListPresetsRequest method.
  1900  //    req, resp := client.ListPresetsRequest(params)
  1901  //
  1902  //    err := req.Send()
  1903  //    if err == nil { // resp is now filled
  1904  //        fmt.Println(resp)
  1905  //    }
  1906  //
  1907  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListPresets
  1908  func (c *MediaConvert) ListPresetsRequest(input *ListPresetsInput) (req *request.Request, output *ListPresetsOutput) {
  1909  	op := &request.Operation{
  1910  		Name:       opListPresets,
  1911  		HTTPMethod: "GET",
  1912  		HTTPPath:   "/2017-08-29/presets",
  1913  		Paginator: &request.Paginator{
  1914  			InputTokens:     []string{"NextToken"},
  1915  			OutputTokens:    []string{"NextToken"},
  1916  			LimitToken:      "MaxResults",
  1917  			TruncationToken: "",
  1918  		},
  1919  	}
  1920  
  1921  	if input == nil {
  1922  		input = &ListPresetsInput{}
  1923  	}
  1924  
  1925  	output = &ListPresetsOutput{}
  1926  	req = c.newRequest(op, input, output)
  1927  	return
  1928  }
  1929  
  1930  // ListPresets API operation for AWS Elemental MediaConvert.
  1931  //
  1932  // Retrieve a JSON array of up to twenty of your presets. This will return the
  1933  // presets themselves, not just a list of them. To retrieve the next twenty
  1934  // presets, use the nextToken string returned with the array.
  1935  //
  1936  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1937  // with awserr.Error's Code and Message methods to get detailed information about
  1938  // the error.
  1939  //
  1940  // See the AWS API reference guide for AWS Elemental MediaConvert's
  1941  // API operation ListPresets for usage and error information.
  1942  //
  1943  // Returned Error Types:
  1944  //   * BadRequestException
  1945  //
  1946  //   * InternalServerErrorException
  1947  //
  1948  //   * ForbiddenException
  1949  //
  1950  //   * NotFoundException
  1951  //
  1952  //   * TooManyRequestsException
  1953  //
  1954  //   * ConflictException
  1955  //
  1956  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListPresets
  1957  func (c *MediaConvert) ListPresets(input *ListPresetsInput) (*ListPresetsOutput, error) {
  1958  	req, out := c.ListPresetsRequest(input)
  1959  	return out, req.Send()
  1960  }
  1961  
  1962  // ListPresetsWithContext is the same as ListPresets with the addition of
  1963  // the ability to pass a context and additional request options.
  1964  //
  1965  // See ListPresets for details on how to use this API operation.
  1966  //
  1967  // The context must be non-nil and will be used for request cancellation. If
  1968  // the context is nil a panic will occur. In the future the SDK may create
  1969  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1970  // for more information on using Contexts.
  1971  func (c *MediaConvert) ListPresetsWithContext(ctx aws.Context, input *ListPresetsInput, opts ...request.Option) (*ListPresetsOutput, error) {
  1972  	req, out := c.ListPresetsRequest(input)
  1973  	req.SetContext(ctx)
  1974  	req.ApplyOptions(opts...)
  1975  	return out, req.Send()
  1976  }
  1977  
  1978  // ListPresetsPages iterates over the pages of a ListPresets operation,
  1979  // calling the "fn" function with the response data for each page. To stop
  1980  // iterating, return false from the fn function.
  1981  //
  1982  // See ListPresets method for more information on how to use this operation.
  1983  //
  1984  // Note: This operation can generate multiple requests to a service.
  1985  //
  1986  //    // Example iterating over at most 3 pages of a ListPresets operation.
  1987  //    pageNum := 0
  1988  //    err := client.ListPresetsPages(params,
  1989  //        func(page *mediaconvert.ListPresetsOutput, lastPage bool) bool {
  1990  //            pageNum++
  1991  //            fmt.Println(page)
  1992  //            return pageNum <= 3
  1993  //        })
  1994  //
  1995  func (c *MediaConvert) ListPresetsPages(input *ListPresetsInput, fn func(*ListPresetsOutput, bool) bool) error {
  1996  	return c.ListPresetsPagesWithContext(aws.BackgroundContext(), input, fn)
  1997  }
  1998  
  1999  // ListPresetsPagesWithContext same as ListPresetsPages except
  2000  // it takes a Context and allows setting request options on the pages.
  2001  //
  2002  // The context must be non-nil and will be used for request cancellation. If
  2003  // the context is nil a panic will occur. In the future the SDK may create
  2004  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2005  // for more information on using Contexts.
  2006  func (c *MediaConvert) ListPresetsPagesWithContext(ctx aws.Context, input *ListPresetsInput, fn func(*ListPresetsOutput, bool) bool, opts ...request.Option) error {
  2007  	p := request.Pagination{
  2008  		NewRequest: func() (*request.Request, error) {
  2009  			var inCpy *ListPresetsInput
  2010  			if input != nil {
  2011  				tmp := *input
  2012  				inCpy = &tmp
  2013  			}
  2014  			req, _ := c.ListPresetsRequest(inCpy)
  2015  			req.SetContext(ctx)
  2016  			req.ApplyOptions(opts...)
  2017  			return req, nil
  2018  		},
  2019  	}
  2020  
  2021  	for p.Next() {
  2022  		if !fn(p.Page().(*ListPresetsOutput), !p.HasNextPage()) {
  2023  			break
  2024  		}
  2025  	}
  2026  
  2027  	return p.Err()
  2028  }
  2029  
  2030  const opListQueues = "ListQueues"
  2031  
  2032  // ListQueuesRequest generates a "aws/request.Request" representing the
  2033  // client's request for the ListQueues operation. The "output" return
  2034  // value will be populated with the request's response once the request completes
  2035  // successfully.
  2036  //
  2037  // Use "Send" method on the returned Request to send the API call to the service.
  2038  // the "output" return value is not valid until after Send returns without error.
  2039  //
  2040  // See ListQueues for more information on using the ListQueues
  2041  // API call, and error handling.
  2042  //
  2043  // This method is useful when you want to inject custom logic or configuration
  2044  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2045  //
  2046  //
  2047  //    // Example sending a request using the ListQueuesRequest method.
  2048  //    req, resp := client.ListQueuesRequest(params)
  2049  //
  2050  //    err := req.Send()
  2051  //    if err == nil { // resp is now filled
  2052  //        fmt.Println(resp)
  2053  //    }
  2054  //
  2055  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListQueues
  2056  func (c *MediaConvert) ListQueuesRequest(input *ListQueuesInput) (req *request.Request, output *ListQueuesOutput) {
  2057  	op := &request.Operation{
  2058  		Name:       opListQueues,
  2059  		HTTPMethod: "GET",
  2060  		HTTPPath:   "/2017-08-29/queues",
  2061  		Paginator: &request.Paginator{
  2062  			InputTokens:     []string{"NextToken"},
  2063  			OutputTokens:    []string{"NextToken"},
  2064  			LimitToken:      "MaxResults",
  2065  			TruncationToken: "",
  2066  		},
  2067  	}
  2068  
  2069  	if input == nil {
  2070  		input = &ListQueuesInput{}
  2071  	}
  2072  
  2073  	output = &ListQueuesOutput{}
  2074  	req = c.newRequest(op, input, output)
  2075  	return
  2076  }
  2077  
  2078  // ListQueues API operation for AWS Elemental MediaConvert.
  2079  //
  2080  // Retrieve a JSON array of up to twenty of your queues. This will return the
  2081  // queues themselves, not just a list of them. To retrieve the next twenty queues,
  2082  // use the nextToken string returned with the array.
  2083  //
  2084  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2085  // with awserr.Error's Code and Message methods to get detailed information about
  2086  // the error.
  2087  //
  2088  // See the AWS API reference guide for AWS Elemental MediaConvert's
  2089  // API operation ListQueues for usage and error information.
  2090  //
  2091  // Returned Error Types:
  2092  //   * BadRequestException
  2093  //
  2094  //   * InternalServerErrorException
  2095  //
  2096  //   * ForbiddenException
  2097  //
  2098  //   * NotFoundException
  2099  //
  2100  //   * TooManyRequestsException
  2101  //
  2102  //   * ConflictException
  2103  //
  2104  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListQueues
  2105  func (c *MediaConvert) ListQueues(input *ListQueuesInput) (*ListQueuesOutput, error) {
  2106  	req, out := c.ListQueuesRequest(input)
  2107  	return out, req.Send()
  2108  }
  2109  
  2110  // ListQueuesWithContext is the same as ListQueues with the addition of
  2111  // the ability to pass a context and additional request options.
  2112  //
  2113  // See ListQueues for details on how to use this API operation.
  2114  //
  2115  // The context must be non-nil and will be used for request cancellation. If
  2116  // the context is nil a panic will occur. In the future the SDK may create
  2117  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2118  // for more information on using Contexts.
  2119  func (c *MediaConvert) ListQueuesWithContext(ctx aws.Context, input *ListQueuesInput, opts ...request.Option) (*ListQueuesOutput, error) {
  2120  	req, out := c.ListQueuesRequest(input)
  2121  	req.SetContext(ctx)
  2122  	req.ApplyOptions(opts...)
  2123  	return out, req.Send()
  2124  }
  2125  
  2126  // ListQueuesPages iterates over the pages of a ListQueues operation,
  2127  // calling the "fn" function with the response data for each page. To stop
  2128  // iterating, return false from the fn function.
  2129  //
  2130  // See ListQueues method for more information on how to use this operation.
  2131  //
  2132  // Note: This operation can generate multiple requests to a service.
  2133  //
  2134  //    // Example iterating over at most 3 pages of a ListQueues operation.
  2135  //    pageNum := 0
  2136  //    err := client.ListQueuesPages(params,
  2137  //        func(page *mediaconvert.ListQueuesOutput, lastPage bool) bool {
  2138  //            pageNum++
  2139  //            fmt.Println(page)
  2140  //            return pageNum <= 3
  2141  //        })
  2142  //
  2143  func (c *MediaConvert) ListQueuesPages(input *ListQueuesInput, fn func(*ListQueuesOutput, bool) bool) error {
  2144  	return c.ListQueuesPagesWithContext(aws.BackgroundContext(), input, fn)
  2145  }
  2146  
  2147  // ListQueuesPagesWithContext same as ListQueuesPages except
  2148  // it takes a Context and allows setting request options on the pages.
  2149  //
  2150  // The context must be non-nil and will be used for request cancellation. If
  2151  // the context is nil a panic will occur. In the future the SDK may create
  2152  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2153  // for more information on using Contexts.
  2154  func (c *MediaConvert) ListQueuesPagesWithContext(ctx aws.Context, input *ListQueuesInput, fn func(*ListQueuesOutput, bool) bool, opts ...request.Option) error {
  2155  	p := request.Pagination{
  2156  		NewRequest: func() (*request.Request, error) {
  2157  			var inCpy *ListQueuesInput
  2158  			if input != nil {
  2159  				tmp := *input
  2160  				inCpy = &tmp
  2161  			}
  2162  			req, _ := c.ListQueuesRequest(inCpy)
  2163  			req.SetContext(ctx)
  2164  			req.ApplyOptions(opts...)
  2165  			return req, nil
  2166  		},
  2167  	}
  2168  
  2169  	for p.Next() {
  2170  		if !fn(p.Page().(*ListQueuesOutput), !p.HasNextPage()) {
  2171  			break
  2172  		}
  2173  	}
  2174  
  2175  	return p.Err()
  2176  }
  2177  
  2178  const opListTagsForResource = "ListTagsForResource"
  2179  
  2180  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  2181  // client's request for the ListTagsForResource operation. The "output" return
  2182  // value will be populated with the request's response once the request completes
  2183  // successfully.
  2184  //
  2185  // Use "Send" method on the returned Request to send the API call to the service.
  2186  // the "output" return value is not valid until after Send returns without error.
  2187  //
  2188  // See ListTagsForResource for more information on using the ListTagsForResource
  2189  // API call, and error handling.
  2190  //
  2191  // This method is useful when you want to inject custom logic or configuration
  2192  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2193  //
  2194  //
  2195  //    // Example sending a request using the ListTagsForResourceRequest method.
  2196  //    req, resp := client.ListTagsForResourceRequest(params)
  2197  //
  2198  //    err := req.Send()
  2199  //    if err == nil { // resp is now filled
  2200  //        fmt.Println(resp)
  2201  //    }
  2202  //
  2203  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListTagsForResource
  2204  func (c *MediaConvert) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  2205  	op := &request.Operation{
  2206  		Name:       opListTagsForResource,
  2207  		HTTPMethod: "GET",
  2208  		HTTPPath:   "/2017-08-29/tags/{arn}",
  2209  	}
  2210  
  2211  	if input == nil {
  2212  		input = &ListTagsForResourceInput{}
  2213  	}
  2214  
  2215  	output = &ListTagsForResourceOutput{}
  2216  	req = c.newRequest(op, input, output)
  2217  	return
  2218  }
  2219  
  2220  // ListTagsForResource API operation for AWS Elemental MediaConvert.
  2221  //
  2222  // Retrieve the tags for a MediaConvert resource.
  2223  //
  2224  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2225  // with awserr.Error's Code and Message methods to get detailed information about
  2226  // the error.
  2227  //
  2228  // See the AWS API reference guide for AWS Elemental MediaConvert's
  2229  // API operation ListTagsForResource for usage and error information.
  2230  //
  2231  // Returned Error Types:
  2232  //   * BadRequestException
  2233  //
  2234  //   * InternalServerErrorException
  2235  //
  2236  //   * ForbiddenException
  2237  //
  2238  //   * NotFoundException
  2239  //
  2240  //   * TooManyRequestsException
  2241  //
  2242  //   * ConflictException
  2243  //
  2244  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListTagsForResource
  2245  func (c *MediaConvert) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  2246  	req, out := c.ListTagsForResourceRequest(input)
  2247  	return out, req.Send()
  2248  }
  2249  
  2250  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  2251  // the ability to pass a context and additional request options.
  2252  //
  2253  // See ListTagsForResource for details on how to use this API operation.
  2254  //
  2255  // The context must be non-nil and will be used for request cancellation. If
  2256  // the context is nil a panic will occur. In the future the SDK may create
  2257  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2258  // for more information on using Contexts.
  2259  func (c *MediaConvert) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  2260  	req, out := c.ListTagsForResourceRequest(input)
  2261  	req.SetContext(ctx)
  2262  	req.ApplyOptions(opts...)
  2263  	return out, req.Send()
  2264  }
  2265  
  2266  const opPutPolicy = "PutPolicy"
  2267  
  2268  // PutPolicyRequest generates a "aws/request.Request" representing the
  2269  // client's request for the PutPolicy operation. The "output" return
  2270  // value will be populated with the request's response once the request completes
  2271  // successfully.
  2272  //
  2273  // Use "Send" method on the returned Request to send the API call to the service.
  2274  // the "output" return value is not valid until after Send returns without error.
  2275  //
  2276  // See PutPolicy for more information on using the PutPolicy
  2277  // API call, and error handling.
  2278  //
  2279  // This method is useful when you want to inject custom logic or configuration
  2280  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2281  //
  2282  //
  2283  //    // Example sending a request using the PutPolicyRequest method.
  2284  //    req, resp := client.PutPolicyRequest(params)
  2285  //
  2286  //    err := req.Send()
  2287  //    if err == nil { // resp is now filled
  2288  //        fmt.Println(resp)
  2289  //    }
  2290  //
  2291  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/PutPolicy
  2292  func (c *MediaConvert) PutPolicyRequest(input *PutPolicyInput) (req *request.Request, output *PutPolicyOutput) {
  2293  	op := &request.Operation{
  2294  		Name:       opPutPolicy,
  2295  		HTTPMethod: "PUT",
  2296  		HTTPPath:   "/2017-08-29/policy",
  2297  	}
  2298  
  2299  	if input == nil {
  2300  		input = &PutPolicyInput{}
  2301  	}
  2302  
  2303  	output = &PutPolicyOutput{}
  2304  	req = c.newRequest(op, input, output)
  2305  	return
  2306  }
  2307  
  2308  // PutPolicy API operation for AWS Elemental MediaConvert.
  2309  //
  2310  // Create or change your policy. For more information about policies, see the
  2311  // user guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
  2312  //
  2313  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2314  // with awserr.Error's Code and Message methods to get detailed information about
  2315  // the error.
  2316  //
  2317  // See the AWS API reference guide for AWS Elemental MediaConvert's
  2318  // API operation PutPolicy for usage and error information.
  2319  //
  2320  // Returned Error Types:
  2321  //   * BadRequestException
  2322  //
  2323  //   * InternalServerErrorException
  2324  //
  2325  //   * ForbiddenException
  2326  //
  2327  //   * NotFoundException
  2328  //
  2329  //   * TooManyRequestsException
  2330  //
  2331  //   * ConflictException
  2332  //
  2333  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/PutPolicy
  2334  func (c *MediaConvert) PutPolicy(input *PutPolicyInput) (*PutPolicyOutput, error) {
  2335  	req, out := c.PutPolicyRequest(input)
  2336  	return out, req.Send()
  2337  }
  2338  
  2339  // PutPolicyWithContext is the same as PutPolicy with the addition of
  2340  // the ability to pass a context and additional request options.
  2341  //
  2342  // See PutPolicy for details on how to use this API operation.
  2343  //
  2344  // The context must be non-nil and will be used for request cancellation. If
  2345  // the context is nil a panic will occur. In the future the SDK may create
  2346  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2347  // for more information on using Contexts.
  2348  func (c *MediaConvert) PutPolicyWithContext(ctx aws.Context, input *PutPolicyInput, opts ...request.Option) (*PutPolicyOutput, error) {
  2349  	req, out := c.PutPolicyRequest(input)
  2350  	req.SetContext(ctx)
  2351  	req.ApplyOptions(opts...)
  2352  	return out, req.Send()
  2353  }
  2354  
  2355  const opTagResource = "TagResource"
  2356  
  2357  // TagResourceRequest generates a "aws/request.Request" representing the
  2358  // client's request for the TagResource operation. The "output" return
  2359  // value will be populated with the request's response once the request completes
  2360  // successfully.
  2361  //
  2362  // Use "Send" method on the returned Request to send the API call to the service.
  2363  // the "output" return value is not valid until after Send returns without error.
  2364  //
  2365  // See TagResource for more information on using the TagResource
  2366  // API call, and error handling.
  2367  //
  2368  // This method is useful when you want to inject custom logic or configuration
  2369  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2370  //
  2371  //
  2372  //    // Example sending a request using the TagResourceRequest method.
  2373  //    req, resp := client.TagResourceRequest(params)
  2374  //
  2375  //    err := req.Send()
  2376  //    if err == nil { // resp is now filled
  2377  //        fmt.Println(resp)
  2378  //    }
  2379  //
  2380  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/TagResource
  2381  func (c *MediaConvert) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  2382  	op := &request.Operation{
  2383  		Name:       opTagResource,
  2384  		HTTPMethod: "POST",
  2385  		HTTPPath:   "/2017-08-29/tags",
  2386  	}
  2387  
  2388  	if input == nil {
  2389  		input = &TagResourceInput{}
  2390  	}
  2391  
  2392  	output = &TagResourceOutput{}
  2393  	req = c.newRequest(op, input, output)
  2394  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2395  	return
  2396  }
  2397  
  2398  // TagResource API operation for AWS Elemental MediaConvert.
  2399  //
  2400  // Add tags to a MediaConvert queue, preset, or job template. For information
  2401  // about tagging, see the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/tagging-resources.html
  2402  //
  2403  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2404  // with awserr.Error's Code and Message methods to get detailed information about
  2405  // the error.
  2406  //
  2407  // See the AWS API reference guide for AWS Elemental MediaConvert's
  2408  // API operation TagResource for usage and error information.
  2409  //
  2410  // Returned Error Types:
  2411  //   * BadRequestException
  2412  //
  2413  //   * InternalServerErrorException
  2414  //
  2415  //   * ForbiddenException
  2416  //
  2417  //   * NotFoundException
  2418  //
  2419  //   * TooManyRequestsException
  2420  //
  2421  //   * ConflictException
  2422  //
  2423  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/TagResource
  2424  func (c *MediaConvert) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  2425  	req, out := c.TagResourceRequest(input)
  2426  	return out, req.Send()
  2427  }
  2428  
  2429  // TagResourceWithContext is the same as TagResource with the addition of
  2430  // the ability to pass a context and additional request options.
  2431  //
  2432  // See TagResource for details on how to use this API operation.
  2433  //
  2434  // The context must be non-nil and will be used for request cancellation. If
  2435  // the context is nil a panic will occur. In the future the SDK may create
  2436  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2437  // for more information on using Contexts.
  2438  func (c *MediaConvert) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  2439  	req, out := c.TagResourceRequest(input)
  2440  	req.SetContext(ctx)
  2441  	req.ApplyOptions(opts...)
  2442  	return out, req.Send()
  2443  }
  2444  
  2445  const opUntagResource = "UntagResource"
  2446  
  2447  // UntagResourceRequest generates a "aws/request.Request" representing the
  2448  // client's request for the UntagResource operation. The "output" return
  2449  // value will be populated with the request's response once the request completes
  2450  // successfully.
  2451  //
  2452  // Use "Send" method on the returned Request to send the API call to the service.
  2453  // the "output" return value is not valid until after Send returns without error.
  2454  //
  2455  // See UntagResource for more information on using the UntagResource
  2456  // API call, and error handling.
  2457  //
  2458  // This method is useful when you want to inject custom logic or configuration
  2459  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2460  //
  2461  //
  2462  //    // Example sending a request using the UntagResourceRequest method.
  2463  //    req, resp := client.UntagResourceRequest(params)
  2464  //
  2465  //    err := req.Send()
  2466  //    if err == nil { // resp is now filled
  2467  //        fmt.Println(resp)
  2468  //    }
  2469  //
  2470  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UntagResource
  2471  func (c *MediaConvert) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  2472  	op := &request.Operation{
  2473  		Name:       opUntagResource,
  2474  		HTTPMethod: "PUT",
  2475  		HTTPPath:   "/2017-08-29/tags/{arn}",
  2476  	}
  2477  
  2478  	if input == nil {
  2479  		input = &UntagResourceInput{}
  2480  	}
  2481  
  2482  	output = &UntagResourceOutput{}
  2483  	req = c.newRequest(op, input, output)
  2484  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2485  	return
  2486  }
  2487  
  2488  // UntagResource API operation for AWS Elemental MediaConvert.
  2489  //
  2490  // Remove tags from a MediaConvert queue, preset, or job template. For information
  2491  // about tagging, see the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/tagging-resources.html
  2492  //
  2493  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2494  // with awserr.Error's Code and Message methods to get detailed information about
  2495  // the error.
  2496  //
  2497  // See the AWS API reference guide for AWS Elemental MediaConvert's
  2498  // API operation UntagResource for usage and error information.
  2499  //
  2500  // Returned Error Types:
  2501  //   * BadRequestException
  2502  //
  2503  //   * InternalServerErrorException
  2504  //
  2505  //   * ForbiddenException
  2506  //
  2507  //   * NotFoundException
  2508  //
  2509  //   * TooManyRequestsException
  2510  //
  2511  //   * ConflictException
  2512  //
  2513  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UntagResource
  2514  func (c *MediaConvert) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  2515  	req, out := c.UntagResourceRequest(input)
  2516  	return out, req.Send()
  2517  }
  2518  
  2519  // UntagResourceWithContext is the same as UntagResource with the addition of
  2520  // the ability to pass a context and additional request options.
  2521  //
  2522  // See UntagResource for details on how to use this API operation.
  2523  //
  2524  // The context must be non-nil and will be used for request cancellation. If
  2525  // the context is nil a panic will occur. In the future the SDK may create
  2526  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2527  // for more information on using Contexts.
  2528  func (c *MediaConvert) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  2529  	req, out := c.UntagResourceRequest(input)
  2530  	req.SetContext(ctx)
  2531  	req.ApplyOptions(opts...)
  2532  	return out, req.Send()
  2533  }
  2534  
  2535  const opUpdateJobTemplate = "UpdateJobTemplate"
  2536  
  2537  // UpdateJobTemplateRequest generates a "aws/request.Request" representing the
  2538  // client's request for the UpdateJobTemplate operation. The "output" return
  2539  // value will be populated with the request's response once the request completes
  2540  // successfully.
  2541  //
  2542  // Use "Send" method on the returned Request to send the API call to the service.
  2543  // the "output" return value is not valid until after Send returns without error.
  2544  //
  2545  // See UpdateJobTemplate for more information on using the UpdateJobTemplate
  2546  // API call, and error handling.
  2547  //
  2548  // This method is useful when you want to inject custom logic or configuration
  2549  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2550  //
  2551  //
  2552  //    // Example sending a request using the UpdateJobTemplateRequest method.
  2553  //    req, resp := client.UpdateJobTemplateRequest(params)
  2554  //
  2555  //    err := req.Send()
  2556  //    if err == nil { // resp is now filled
  2557  //        fmt.Println(resp)
  2558  //    }
  2559  //
  2560  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdateJobTemplate
  2561  func (c *MediaConvert) UpdateJobTemplateRequest(input *UpdateJobTemplateInput) (req *request.Request, output *UpdateJobTemplateOutput) {
  2562  	op := &request.Operation{
  2563  		Name:       opUpdateJobTemplate,
  2564  		HTTPMethod: "PUT",
  2565  		HTTPPath:   "/2017-08-29/jobTemplates/{name}",
  2566  	}
  2567  
  2568  	if input == nil {
  2569  		input = &UpdateJobTemplateInput{}
  2570  	}
  2571  
  2572  	output = &UpdateJobTemplateOutput{}
  2573  	req = c.newRequest(op, input, output)
  2574  	return
  2575  }
  2576  
  2577  // UpdateJobTemplate API operation for AWS Elemental MediaConvert.
  2578  //
  2579  // Modify one of your existing job templates.
  2580  //
  2581  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2582  // with awserr.Error's Code and Message methods to get detailed information about
  2583  // the error.
  2584  //
  2585  // See the AWS API reference guide for AWS Elemental MediaConvert's
  2586  // API operation UpdateJobTemplate for usage and error information.
  2587  //
  2588  // Returned Error Types:
  2589  //   * BadRequestException
  2590  //
  2591  //   * InternalServerErrorException
  2592  //
  2593  //   * ForbiddenException
  2594  //
  2595  //   * NotFoundException
  2596  //
  2597  //   * TooManyRequestsException
  2598  //
  2599  //   * ConflictException
  2600  //
  2601  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdateJobTemplate
  2602  func (c *MediaConvert) UpdateJobTemplate(input *UpdateJobTemplateInput) (*UpdateJobTemplateOutput, error) {
  2603  	req, out := c.UpdateJobTemplateRequest(input)
  2604  	return out, req.Send()
  2605  }
  2606  
  2607  // UpdateJobTemplateWithContext is the same as UpdateJobTemplate with the addition of
  2608  // the ability to pass a context and additional request options.
  2609  //
  2610  // See UpdateJobTemplate for details on how to use this API operation.
  2611  //
  2612  // The context must be non-nil and will be used for request cancellation. If
  2613  // the context is nil a panic will occur. In the future the SDK may create
  2614  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2615  // for more information on using Contexts.
  2616  func (c *MediaConvert) UpdateJobTemplateWithContext(ctx aws.Context, input *UpdateJobTemplateInput, opts ...request.Option) (*UpdateJobTemplateOutput, error) {
  2617  	req, out := c.UpdateJobTemplateRequest(input)
  2618  	req.SetContext(ctx)
  2619  	req.ApplyOptions(opts...)
  2620  	return out, req.Send()
  2621  }
  2622  
  2623  const opUpdatePreset = "UpdatePreset"
  2624  
  2625  // UpdatePresetRequest generates a "aws/request.Request" representing the
  2626  // client's request for the UpdatePreset operation. The "output" return
  2627  // value will be populated with the request's response once the request completes
  2628  // successfully.
  2629  //
  2630  // Use "Send" method on the returned Request to send the API call to the service.
  2631  // the "output" return value is not valid until after Send returns without error.
  2632  //
  2633  // See UpdatePreset for more information on using the UpdatePreset
  2634  // API call, and error handling.
  2635  //
  2636  // This method is useful when you want to inject custom logic or configuration
  2637  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2638  //
  2639  //
  2640  //    // Example sending a request using the UpdatePresetRequest method.
  2641  //    req, resp := client.UpdatePresetRequest(params)
  2642  //
  2643  //    err := req.Send()
  2644  //    if err == nil { // resp is now filled
  2645  //        fmt.Println(resp)
  2646  //    }
  2647  //
  2648  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdatePreset
  2649  func (c *MediaConvert) UpdatePresetRequest(input *UpdatePresetInput) (req *request.Request, output *UpdatePresetOutput) {
  2650  	op := &request.Operation{
  2651  		Name:       opUpdatePreset,
  2652  		HTTPMethod: "PUT",
  2653  		HTTPPath:   "/2017-08-29/presets/{name}",
  2654  	}
  2655  
  2656  	if input == nil {
  2657  		input = &UpdatePresetInput{}
  2658  	}
  2659  
  2660  	output = &UpdatePresetOutput{}
  2661  	req = c.newRequest(op, input, output)
  2662  	return
  2663  }
  2664  
  2665  // UpdatePreset API operation for AWS Elemental MediaConvert.
  2666  //
  2667  // Modify one of your existing presets.
  2668  //
  2669  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2670  // with awserr.Error's Code and Message methods to get detailed information about
  2671  // the error.
  2672  //
  2673  // See the AWS API reference guide for AWS Elemental MediaConvert's
  2674  // API operation UpdatePreset for usage and error information.
  2675  //
  2676  // Returned Error Types:
  2677  //   * BadRequestException
  2678  //
  2679  //   * InternalServerErrorException
  2680  //
  2681  //   * ForbiddenException
  2682  //
  2683  //   * NotFoundException
  2684  //
  2685  //   * TooManyRequestsException
  2686  //
  2687  //   * ConflictException
  2688  //
  2689  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdatePreset
  2690  func (c *MediaConvert) UpdatePreset(input *UpdatePresetInput) (*UpdatePresetOutput, error) {
  2691  	req, out := c.UpdatePresetRequest(input)
  2692  	return out, req.Send()
  2693  }
  2694  
  2695  // UpdatePresetWithContext is the same as UpdatePreset with the addition of
  2696  // the ability to pass a context and additional request options.
  2697  //
  2698  // See UpdatePreset for details on how to use this API operation.
  2699  //
  2700  // The context must be non-nil and will be used for request cancellation. If
  2701  // the context is nil a panic will occur. In the future the SDK may create
  2702  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2703  // for more information on using Contexts.
  2704  func (c *MediaConvert) UpdatePresetWithContext(ctx aws.Context, input *UpdatePresetInput, opts ...request.Option) (*UpdatePresetOutput, error) {
  2705  	req, out := c.UpdatePresetRequest(input)
  2706  	req.SetContext(ctx)
  2707  	req.ApplyOptions(opts...)
  2708  	return out, req.Send()
  2709  }
  2710  
  2711  const opUpdateQueue = "UpdateQueue"
  2712  
  2713  // UpdateQueueRequest generates a "aws/request.Request" representing the
  2714  // client's request for the UpdateQueue operation. The "output" return
  2715  // value will be populated with the request's response once the request completes
  2716  // successfully.
  2717  //
  2718  // Use "Send" method on the returned Request to send the API call to the service.
  2719  // the "output" return value is not valid until after Send returns without error.
  2720  //
  2721  // See UpdateQueue for more information on using the UpdateQueue
  2722  // API call, and error handling.
  2723  //
  2724  // This method is useful when you want to inject custom logic or configuration
  2725  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2726  //
  2727  //
  2728  //    // Example sending a request using the UpdateQueueRequest method.
  2729  //    req, resp := client.UpdateQueueRequest(params)
  2730  //
  2731  //    err := req.Send()
  2732  //    if err == nil { // resp is now filled
  2733  //        fmt.Println(resp)
  2734  //    }
  2735  //
  2736  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdateQueue
  2737  func (c *MediaConvert) UpdateQueueRequest(input *UpdateQueueInput) (req *request.Request, output *UpdateQueueOutput) {
  2738  	op := &request.Operation{
  2739  		Name:       opUpdateQueue,
  2740  		HTTPMethod: "PUT",
  2741  		HTTPPath:   "/2017-08-29/queues/{name}",
  2742  	}
  2743  
  2744  	if input == nil {
  2745  		input = &UpdateQueueInput{}
  2746  	}
  2747  
  2748  	output = &UpdateQueueOutput{}
  2749  	req = c.newRequest(op, input, output)
  2750  	return
  2751  }
  2752  
  2753  // UpdateQueue API operation for AWS Elemental MediaConvert.
  2754  //
  2755  // Modify one of your existing queues.
  2756  //
  2757  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2758  // with awserr.Error's Code and Message methods to get detailed information about
  2759  // the error.
  2760  //
  2761  // See the AWS API reference guide for AWS Elemental MediaConvert's
  2762  // API operation UpdateQueue for usage and error information.
  2763  //
  2764  // Returned Error Types:
  2765  //   * BadRequestException
  2766  //
  2767  //   * InternalServerErrorException
  2768  //
  2769  //   * ForbiddenException
  2770  //
  2771  //   * NotFoundException
  2772  //
  2773  //   * TooManyRequestsException
  2774  //
  2775  //   * ConflictException
  2776  //
  2777  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdateQueue
  2778  func (c *MediaConvert) UpdateQueue(input *UpdateQueueInput) (*UpdateQueueOutput, error) {
  2779  	req, out := c.UpdateQueueRequest(input)
  2780  	return out, req.Send()
  2781  }
  2782  
  2783  // UpdateQueueWithContext is the same as UpdateQueue with the addition of
  2784  // the ability to pass a context and additional request options.
  2785  //
  2786  // See UpdateQueue for details on how to use this API operation.
  2787  //
  2788  // The context must be non-nil and will be used for request cancellation. If
  2789  // the context is nil a panic will occur. In the future the SDK may create
  2790  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2791  // for more information on using Contexts.
  2792  func (c *MediaConvert) UpdateQueueWithContext(ctx aws.Context, input *UpdateQueueInput, opts ...request.Option) (*UpdateQueueOutput, error) {
  2793  	req, out := c.UpdateQueueRequest(input)
  2794  	req.SetContext(ctx)
  2795  	req.ApplyOptions(opts...)
  2796  	return out, req.Send()
  2797  }
  2798  
  2799  // Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
  2800  // the value AAC. The service accepts one of two mutually exclusive groups of
  2801  // AAC settings--VBR and CBR. To select one of these modes, set the value of
  2802  // Bitrate control mode (rateControlMode) to "VBR" or "CBR". In VBR mode, you
  2803  // control the audio quality with the setting VBR quality (vbrQuality). In CBR
  2804  // mode, you use the setting Bitrate (bitrate). Defaults and valid values depend
  2805  // on the rate control mode.
  2806  type AacSettings struct {
  2807  	_ struct{} `type:"structure"`
  2808  
  2809  	// Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio
  2810  	// + audio description (AD) as a stereo pair. The value for AudioType will be
  2811  	// set to 3, which signals to downstream systems that this stream contains "broadcaster
  2812  	// mixed AD". Note that the input received by the encoder must contain pre-mixed
  2813  	// audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD,
  2814  	// the encoder ignores any values you provide in AudioType and FollowInputAudioType.
  2815  	// Choose NORMAL when the input does not contain pre-mixed audio + audio description
  2816  	// (AD). In this case, the encoder will use any values you provide for AudioType
  2817  	// and FollowInputAudioType.
  2818  	AudioDescriptionBroadcasterMix *string `locationName:"audioDescriptionBroadcasterMix" type:"string" enum:"AacAudioDescriptionBroadcasterMix"`
  2819  
  2820  	// Specify the average bitrate in bits per second. The set of valid values for
  2821  	// this setting is: 6000, 8000, 10000, 12000, 14000, 16000, 20000, 24000, 28000,
  2822  	// 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000,
  2823  	// 192000, 224000, 256000, 288000, 320000, 384000, 448000, 512000, 576000, 640000,
  2824  	// 768000, 896000, 1024000. The value you set is also constrained by the values
  2825  	// that you choose for Profile (codecProfile), Bitrate control mode (codingMode),
  2826  	// and Sample rate (sampleRate). Default values depend on Bitrate control mode
  2827  	// and Profile.
  2828  	Bitrate *int64 `locationName:"bitrate" min:"6000" type:"integer"`
  2829  
  2830  	// AAC Profile.
  2831  	CodecProfile *string `locationName:"codecProfile" type:"string" enum:"AacCodecProfile"`
  2832  
  2833  	// Mono (Audio Description), Mono, Stereo, or 5.1 channel layout. Valid values
  2834  	// depend on rate control mode and profile. "1.0 - Audio Description (Receiver
  2835  	// Mix)" setting receives a stereo description plus control track and emits
  2836  	// a mono AAC encode of the description track, with control data emitted in
  2837  	// the PES header as per ETSI TS 101 154 Annex E.
  2838  	CodingMode *string `locationName:"codingMode" type:"string" enum:"AacCodingMode"`
  2839  
  2840  	// Rate Control Mode.
  2841  	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"AacRateControlMode"`
  2842  
  2843  	// Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output,
  2844  	// you must choose "No container" for the output container.
  2845  	RawFormat *string `locationName:"rawFormat" type:"string" enum:"AacRawFormat"`
  2846  
  2847  	// Sample rate in Hz. Valid values depend on rate control mode and profile.
  2848  	SampleRate *int64 `locationName:"sampleRate" min:"8000" type:"integer"`
  2849  
  2850  	// Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream
  2851  	// containers.
  2852  	Specification *string `locationName:"specification" type:"string" enum:"AacSpecification"`
  2853  
  2854  	// VBR Quality Level - Only used if rate_control_mode is VBR.
  2855  	VbrQuality *string `locationName:"vbrQuality" type:"string" enum:"AacVbrQuality"`
  2856  }
  2857  
  2858  // String returns the string representation.
  2859  //
  2860  // API parameter values that are decorated as "sensitive" in the API will not
  2861  // be included in the string output. The member name will be present, but the
  2862  // value will be replaced with "sensitive".
  2863  func (s AacSettings) String() string {
  2864  	return awsutil.Prettify(s)
  2865  }
  2866  
  2867  // GoString returns the string representation.
  2868  //
  2869  // API parameter values that are decorated as "sensitive" in the API will not
  2870  // be included in the string output. The member name will be present, but the
  2871  // value will be replaced with "sensitive".
  2872  func (s AacSettings) GoString() string {
  2873  	return s.String()
  2874  }
  2875  
  2876  // Validate inspects the fields of the type to determine if they are valid.
  2877  func (s *AacSettings) Validate() error {
  2878  	invalidParams := request.ErrInvalidParams{Context: "AacSettings"}
  2879  	if s.Bitrate != nil && *s.Bitrate < 6000 {
  2880  		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 6000))
  2881  	}
  2882  	if s.SampleRate != nil && *s.SampleRate < 8000 {
  2883  		invalidParams.Add(request.NewErrParamMinValue("SampleRate", 8000))
  2884  	}
  2885  
  2886  	if invalidParams.Len() > 0 {
  2887  		return invalidParams
  2888  	}
  2889  	return nil
  2890  }
  2891  
  2892  // SetAudioDescriptionBroadcasterMix sets the AudioDescriptionBroadcasterMix field's value.
  2893  func (s *AacSettings) SetAudioDescriptionBroadcasterMix(v string) *AacSettings {
  2894  	s.AudioDescriptionBroadcasterMix = &v
  2895  	return s
  2896  }
  2897  
  2898  // SetBitrate sets the Bitrate field's value.
  2899  func (s *AacSettings) SetBitrate(v int64) *AacSettings {
  2900  	s.Bitrate = &v
  2901  	return s
  2902  }
  2903  
  2904  // SetCodecProfile sets the CodecProfile field's value.
  2905  func (s *AacSettings) SetCodecProfile(v string) *AacSettings {
  2906  	s.CodecProfile = &v
  2907  	return s
  2908  }
  2909  
  2910  // SetCodingMode sets the CodingMode field's value.
  2911  func (s *AacSettings) SetCodingMode(v string) *AacSettings {
  2912  	s.CodingMode = &v
  2913  	return s
  2914  }
  2915  
  2916  // SetRateControlMode sets the RateControlMode field's value.
  2917  func (s *AacSettings) SetRateControlMode(v string) *AacSettings {
  2918  	s.RateControlMode = &v
  2919  	return s
  2920  }
  2921  
  2922  // SetRawFormat sets the RawFormat field's value.
  2923  func (s *AacSettings) SetRawFormat(v string) *AacSettings {
  2924  	s.RawFormat = &v
  2925  	return s
  2926  }
  2927  
  2928  // SetSampleRate sets the SampleRate field's value.
  2929  func (s *AacSettings) SetSampleRate(v int64) *AacSettings {
  2930  	s.SampleRate = &v
  2931  	return s
  2932  }
  2933  
  2934  // SetSpecification sets the Specification field's value.
  2935  func (s *AacSettings) SetSpecification(v string) *AacSettings {
  2936  	s.Specification = &v
  2937  	return s
  2938  }
  2939  
  2940  // SetVbrQuality sets the VbrQuality field's value.
  2941  func (s *AacSettings) SetVbrQuality(v string) *AacSettings {
  2942  	s.VbrQuality = &v
  2943  	return s
  2944  }
  2945  
  2946  // Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
  2947  // the value AC3.
  2948  type Ac3Settings struct {
  2949  	_ struct{} `type:"structure"`
  2950  
  2951  	// Specify the average bitrate in bits per second. Valid bitrates depend on
  2952  	// the coding mode.
  2953  	Bitrate *int64 `locationName:"bitrate" min:"64000" type:"integer"`
  2954  
  2955  	// Specify the bitstream mode for the AC-3 stream that the encoder emits. For
  2956  	// more information about the AC3 bitstream mode, see ATSC A/52-2012 (Annex
  2957  	// E).
  2958  	BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Ac3BitstreamMode"`
  2959  
  2960  	// Dolby Digital coding mode. Determines number of channels.
  2961  	CodingMode *string `locationName:"codingMode" type:"string" enum:"Ac3CodingMode"`
  2962  
  2963  	// Sets the dialnorm for the output. If blank and input audio is Dolby Digital,
  2964  	// dialnorm will be passed through.
  2965  	Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"`
  2966  
  2967  	// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
  2968  	// uses when encoding the metadata in the Dolby Digital stream for the line
  2969  	// operating mode. Related setting: When you use this setting, MediaConvert
  2970  	// ignores any value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile).
  2971  	// For information about the Dolby Digital DRC operating modes and profiles,
  2972  	// see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
  2973  	DynamicRangeCompressionLine *string `locationName:"dynamicRangeCompressionLine" type:"string" enum:"Ac3DynamicRangeCompressionLine"`
  2974  
  2975  	// When you want to add Dolby dynamic range compression (DRC) signaling to your
  2976  	// output stream, we recommend that you use the mode-specific settings instead
  2977  	// of Dynamic range compression profile (DynamicRangeCompressionProfile). The
  2978  	// mode-specific settings are Dynamic range compression profile, line mode (dynamicRangeCompressionLine)
  2979  	// and Dynamic range compression profile, RF mode (dynamicRangeCompressionRf).
  2980  	// Note that when you specify values for all three settings, MediaConvert ignores
  2981  	// the value of this setting in favor of the mode-specific settings. If you
  2982  	// do use this setting instead of the mode-specific settings, choose None (NONE)
  2983  	// to leave out DRC signaling. Keep the default Film standard (FILM_STANDARD)
  2984  	// to set the profile to Dolby's film standard profile for all operating modes.
  2985  	DynamicRangeCompressionProfile *string `locationName:"dynamicRangeCompressionProfile" type:"string" enum:"Ac3DynamicRangeCompressionProfile"`
  2986  
  2987  	// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
  2988  	// uses when encoding the metadata in the Dolby Digital stream for the RF operating
  2989  	// mode. Related setting: When you use this setting, MediaConvert ignores any
  2990  	// value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile).
  2991  	// For information about the Dolby Digital DRC operating modes and profiles,
  2992  	// see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
  2993  	DynamicRangeCompressionRf *string `locationName:"dynamicRangeCompressionRf" type:"string" enum:"Ac3DynamicRangeCompressionRf"`
  2994  
  2995  	// Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only
  2996  	// valid with 3_2_LFE coding mode.
  2997  	LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Ac3LfeFilter"`
  2998  
  2999  	// When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+,
  3000  	// or DolbyE decoder that supplied this audio data. If audio was not supplied
  3001  	// from one of these streams, then the static metadata settings will be used.
  3002  	MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Ac3MetadataControl"`
  3003  
  3004  	// This value is always 48000. It represents the sample rate in Hz.
  3005  	SampleRate *int64 `locationName:"sampleRate" min:"48000" type:"integer"`
  3006  }
  3007  
  3008  // String returns the string representation.
  3009  //
  3010  // API parameter values that are decorated as "sensitive" in the API will not
  3011  // be included in the string output. The member name will be present, but the
  3012  // value will be replaced with "sensitive".
  3013  func (s Ac3Settings) String() string {
  3014  	return awsutil.Prettify(s)
  3015  }
  3016  
  3017  // GoString returns the string representation.
  3018  //
  3019  // API parameter values that are decorated as "sensitive" in the API will not
  3020  // be included in the string output. The member name will be present, but the
  3021  // value will be replaced with "sensitive".
  3022  func (s Ac3Settings) GoString() string {
  3023  	return s.String()
  3024  }
  3025  
  3026  // Validate inspects the fields of the type to determine if they are valid.
  3027  func (s *Ac3Settings) Validate() error {
  3028  	invalidParams := request.ErrInvalidParams{Context: "Ac3Settings"}
  3029  	if s.Bitrate != nil && *s.Bitrate < 64000 {
  3030  		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 64000))
  3031  	}
  3032  	if s.Dialnorm != nil && *s.Dialnorm < 1 {
  3033  		invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1))
  3034  	}
  3035  	if s.SampleRate != nil && *s.SampleRate < 48000 {
  3036  		invalidParams.Add(request.NewErrParamMinValue("SampleRate", 48000))
  3037  	}
  3038  
  3039  	if invalidParams.Len() > 0 {
  3040  		return invalidParams
  3041  	}
  3042  	return nil
  3043  }
  3044  
  3045  // SetBitrate sets the Bitrate field's value.
  3046  func (s *Ac3Settings) SetBitrate(v int64) *Ac3Settings {
  3047  	s.Bitrate = &v
  3048  	return s
  3049  }
  3050  
  3051  // SetBitstreamMode sets the BitstreamMode field's value.
  3052  func (s *Ac3Settings) SetBitstreamMode(v string) *Ac3Settings {
  3053  	s.BitstreamMode = &v
  3054  	return s
  3055  }
  3056  
  3057  // SetCodingMode sets the CodingMode field's value.
  3058  func (s *Ac3Settings) SetCodingMode(v string) *Ac3Settings {
  3059  	s.CodingMode = &v
  3060  	return s
  3061  }
  3062  
  3063  // SetDialnorm sets the Dialnorm field's value.
  3064  func (s *Ac3Settings) SetDialnorm(v int64) *Ac3Settings {
  3065  	s.Dialnorm = &v
  3066  	return s
  3067  }
  3068  
  3069  // SetDynamicRangeCompressionLine sets the DynamicRangeCompressionLine field's value.
  3070  func (s *Ac3Settings) SetDynamicRangeCompressionLine(v string) *Ac3Settings {
  3071  	s.DynamicRangeCompressionLine = &v
  3072  	return s
  3073  }
  3074  
  3075  // SetDynamicRangeCompressionProfile sets the DynamicRangeCompressionProfile field's value.
  3076  func (s *Ac3Settings) SetDynamicRangeCompressionProfile(v string) *Ac3Settings {
  3077  	s.DynamicRangeCompressionProfile = &v
  3078  	return s
  3079  }
  3080  
  3081  // SetDynamicRangeCompressionRf sets the DynamicRangeCompressionRf field's value.
  3082  func (s *Ac3Settings) SetDynamicRangeCompressionRf(v string) *Ac3Settings {
  3083  	s.DynamicRangeCompressionRf = &v
  3084  	return s
  3085  }
  3086  
  3087  // SetLfeFilter sets the LfeFilter field's value.
  3088  func (s *Ac3Settings) SetLfeFilter(v string) *Ac3Settings {
  3089  	s.LfeFilter = &v
  3090  	return s
  3091  }
  3092  
  3093  // SetMetadataControl sets the MetadataControl field's value.
  3094  func (s *Ac3Settings) SetMetadataControl(v string) *Ac3Settings {
  3095  	s.MetadataControl = &v
  3096  	return s
  3097  }
  3098  
  3099  // SetSampleRate sets the SampleRate field's value.
  3100  func (s *Ac3Settings) SetSampleRate(v int64) *Ac3Settings {
  3101  	s.SampleRate = &v
  3102  	return s
  3103  }
  3104  
  3105  // Accelerated transcoding can significantly speed up jobs with long, visually
  3106  // complex content.
  3107  type AccelerationSettings struct {
  3108  	_ struct{} `type:"structure"`
  3109  
  3110  	// Specify the conditions when the service will run your job with accelerated
  3111  	// transcoding.
  3112  	//
  3113  	// Mode is a required field
  3114  	Mode *string `locationName:"mode" type:"string" required:"true" enum:"AccelerationMode"`
  3115  }
  3116  
  3117  // String returns the string representation.
  3118  //
  3119  // API parameter values that are decorated as "sensitive" in the API will not
  3120  // be included in the string output. The member name will be present, but the
  3121  // value will be replaced with "sensitive".
  3122  func (s AccelerationSettings) String() string {
  3123  	return awsutil.Prettify(s)
  3124  }
  3125  
  3126  // GoString returns the string representation.
  3127  //
  3128  // API parameter values that are decorated as "sensitive" in the API will not
  3129  // be included in the string output. The member name will be present, but the
  3130  // value will be replaced with "sensitive".
  3131  func (s AccelerationSettings) GoString() string {
  3132  	return s.String()
  3133  }
  3134  
  3135  // Validate inspects the fields of the type to determine if they are valid.
  3136  func (s *AccelerationSettings) Validate() error {
  3137  	invalidParams := request.ErrInvalidParams{Context: "AccelerationSettings"}
  3138  	if s.Mode == nil {
  3139  		invalidParams.Add(request.NewErrParamRequired("Mode"))
  3140  	}
  3141  
  3142  	if invalidParams.Len() > 0 {
  3143  		return invalidParams
  3144  	}
  3145  	return nil
  3146  }
  3147  
  3148  // SetMode sets the Mode field's value.
  3149  func (s *AccelerationSettings) SetMode(v string) *AccelerationSettings {
  3150  	s.Mode = &v
  3151  	return s
  3152  }
  3153  
  3154  // Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
  3155  // the value AIFF.
  3156  type AiffSettings struct {
  3157  	_ struct{} `type:"structure"`
  3158  
  3159  	// Specify Bit depth (BitDepth), in bits per sample, to choose the encoding
  3160  	// quality for this audio track.
  3161  	BitDepth *int64 `locationName:"bitDepth" min:"16" type:"integer"`
  3162  
  3163  	// Specify the number of channels in this output audio track. Valid values are
  3164  	// 1 and even numbers up to 64. For example, 1, 2, 4, 6, and so on, up to 64.
  3165  	Channels *int64 `locationName:"channels" min:"1" type:"integer"`
  3166  
  3167  	// Sample rate in hz.
  3168  	SampleRate *int64 `locationName:"sampleRate" min:"8000" type:"integer"`
  3169  }
  3170  
  3171  // String returns the string representation.
  3172  //
  3173  // API parameter values that are decorated as "sensitive" in the API will not
  3174  // be included in the string output. The member name will be present, but the
  3175  // value will be replaced with "sensitive".
  3176  func (s AiffSettings) String() string {
  3177  	return awsutil.Prettify(s)
  3178  }
  3179  
  3180  // GoString returns the string representation.
  3181  //
  3182  // API parameter values that are decorated as "sensitive" in the API will not
  3183  // be included in the string output. The member name will be present, but the
  3184  // value will be replaced with "sensitive".
  3185  func (s AiffSettings) GoString() string {
  3186  	return s.String()
  3187  }
  3188  
  3189  // Validate inspects the fields of the type to determine if they are valid.
  3190  func (s *AiffSettings) Validate() error {
  3191  	invalidParams := request.ErrInvalidParams{Context: "AiffSettings"}
  3192  	if s.BitDepth != nil && *s.BitDepth < 16 {
  3193  		invalidParams.Add(request.NewErrParamMinValue("BitDepth", 16))
  3194  	}
  3195  	if s.Channels != nil && *s.Channels < 1 {
  3196  		invalidParams.Add(request.NewErrParamMinValue("Channels", 1))
  3197  	}
  3198  	if s.SampleRate != nil && *s.SampleRate < 8000 {
  3199  		invalidParams.Add(request.NewErrParamMinValue("SampleRate", 8000))
  3200  	}
  3201  
  3202  	if invalidParams.Len() > 0 {
  3203  		return invalidParams
  3204  	}
  3205  	return nil
  3206  }
  3207  
  3208  // SetBitDepth sets the BitDepth field's value.
  3209  func (s *AiffSettings) SetBitDepth(v int64) *AiffSettings {
  3210  	s.BitDepth = &v
  3211  	return s
  3212  }
  3213  
  3214  // SetChannels sets the Channels field's value.
  3215  func (s *AiffSettings) SetChannels(v int64) *AiffSettings {
  3216  	s.Channels = &v
  3217  	return s
  3218  }
  3219  
  3220  // SetSampleRate sets the SampleRate field's value.
  3221  func (s *AiffSettings) SetSampleRate(v int64) *AiffSettings {
  3222  	s.SampleRate = &v
  3223  	return s
  3224  }
  3225  
  3226  // Settings for ancillary captions source.
  3227  type AncillarySourceSettings struct {
  3228  	_ struct{} `type:"structure"`
  3229  
  3230  	// Specify whether this set of input captions appears in your outputs in both
  3231  	// 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes
  3232  	// the captions data in two ways: it passes the 608 data through using the 608
  3233  	// compatibility bytes fields of the 708 wrapper, and it also translates the
  3234  	// 608 data into 708.
  3235  	Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"AncillaryConvert608To708"`
  3236  
  3237  	// Specifies the 608 channel number in the ancillary data track from which to
  3238  	// extract captions. Unused for passthrough.
  3239  	SourceAncillaryChannelNumber *int64 `locationName:"sourceAncillaryChannelNumber" min:"1" type:"integer"`
  3240  
  3241  	// By default, the service terminates any unterminated captions at the end of
  3242  	// each input. If you want the caption to continue onto your next input, disable
  3243  	// this setting.
  3244  	TerminateCaptions *string `locationName:"terminateCaptions" type:"string" enum:"AncillaryTerminateCaptions"`
  3245  }
  3246  
  3247  // String returns the string representation.
  3248  //
  3249  // API parameter values that are decorated as "sensitive" in the API will not
  3250  // be included in the string output. The member name will be present, but the
  3251  // value will be replaced with "sensitive".
  3252  func (s AncillarySourceSettings) String() string {
  3253  	return awsutil.Prettify(s)
  3254  }
  3255  
  3256  // GoString returns the string representation.
  3257  //
  3258  // API parameter values that are decorated as "sensitive" in the API will not
  3259  // be included in the string output. The member name will be present, but the
  3260  // value will be replaced with "sensitive".
  3261  func (s AncillarySourceSettings) GoString() string {
  3262  	return s.String()
  3263  }
  3264  
  3265  // Validate inspects the fields of the type to determine if they are valid.
  3266  func (s *AncillarySourceSettings) Validate() error {
  3267  	invalidParams := request.ErrInvalidParams{Context: "AncillarySourceSettings"}
  3268  	if s.SourceAncillaryChannelNumber != nil && *s.SourceAncillaryChannelNumber < 1 {
  3269  		invalidParams.Add(request.NewErrParamMinValue("SourceAncillaryChannelNumber", 1))
  3270  	}
  3271  
  3272  	if invalidParams.Len() > 0 {
  3273  		return invalidParams
  3274  	}
  3275  	return nil
  3276  }
  3277  
  3278  // SetConvert608To708 sets the Convert608To708 field's value.
  3279  func (s *AncillarySourceSettings) SetConvert608To708(v string) *AncillarySourceSettings {
  3280  	s.Convert608To708 = &v
  3281  	return s
  3282  }
  3283  
  3284  // SetSourceAncillaryChannelNumber sets the SourceAncillaryChannelNumber field's value.
  3285  func (s *AncillarySourceSettings) SetSourceAncillaryChannelNumber(v int64) *AncillarySourceSettings {
  3286  	s.SourceAncillaryChannelNumber = &v
  3287  	return s
  3288  }
  3289  
  3290  // SetTerminateCaptions sets the TerminateCaptions field's value.
  3291  func (s *AncillarySourceSettings) SetTerminateCaptions(v string) *AncillarySourceSettings {
  3292  	s.TerminateCaptions = &v
  3293  	return s
  3294  }
  3295  
  3296  // Associates the Amazon Resource Name (ARN) of an AWS Certificate Manager (ACM)
  3297  // certificate with an AWS Elemental MediaConvert resource.
  3298  type AssociateCertificateInput struct {
  3299  	_ struct{} `type:"structure"`
  3300  
  3301  	// The ARN of the ACM certificate that you want to associate with your MediaConvert
  3302  	// resource.
  3303  	//
  3304  	// Arn is a required field
  3305  	Arn *string `locationName:"arn" type:"string" required:"true"`
  3306  }
  3307  
  3308  // String returns the string representation.
  3309  //
  3310  // API parameter values that are decorated as "sensitive" in the API will not
  3311  // be included in the string output. The member name will be present, but the
  3312  // value will be replaced with "sensitive".
  3313  func (s AssociateCertificateInput) String() string {
  3314  	return awsutil.Prettify(s)
  3315  }
  3316  
  3317  // GoString returns the string representation.
  3318  //
  3319  // API parameter values that are decorated as "sensitive" in the API will not
  3320  // be included in the string output. The member name will be present, but the
  3321  // value will be replaced with "sensitive".
  3322  func (s AssociateCertificateInput) GoString() string {
  3323  	return s.String()
  3324  }
  3325  
  3326  // Validate inspects the fields of the type to determine if they are valid.
  3327  func (s *AssociateCertificateInput) Validate() error {
  3328  	invalidParams := request.ErrInvalidParams{Context: "AssociateCertificateInput"}
  3329  	if s.Arn == nil {
  3330  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  3331  	}
  3332  
  3333  	if invalidParams.Len() > 0 {
  3334  		return invalidParams
  3335  	}
  3336  	return nil
  3337  }
  3338  
  3339  // SetArn sets the Arn field's value.
  3340  func (s *AssociateCertificateInput) SetArn(v string) *AssociateCertificateInput {
  3341  	s.Arn = &v
  3342  	return s
  3343  }
  3344  
  3345  // Successful association of Certificate Manager Amazon Resource Name (ARN)
  3346  // with Mediaconvert returns an OK message.
  3347  type AssociateCertificateOutput struct {
  3348  	_ struct{} `type:"structure" nopayload:"true"`
  3349  }
  3350  
  3351  // String returns the string representation.
  3352  //
  3353  // API parameter values that are decorated as "sensitive" in the API will not
  3354  // be included in the string output. The member name will be present, but the
  3355  // value will be replaced with "sensitive".
  3356  func (s AssociateCertificateOutput) String() string {
  3357  	return awsutil.Prettify(s)
  3358  }
  3359  
  3360  // GoString returns the string representation.
  3361  //
  3362  // API parameter values that are decorated as "sensitive" in the API will not
  3363  // be included in the string output. The member name will be present, but the
  3364  // value will be replaced with "sensitive".
  3365  func (s AssociateCertificateOutput) GoString() string {
  3366  	return s.String()
  3367  }
  3368  
  3369  // When you mimic a multi-channel audio layout with multiple mono-channel tracks,
  3370  // you can tag each channel layout manually. For example, you would tag the
  3371  // tracks that contain your left, right, and center audio with Left (L), Right
  3372  // (R), and Center (C), respectively. When you don't specify a value, MediaConvert
  3373  // labels your track as Center (C) by default. To use audio layout tagging,
  3374  // your output must be in a QuickTime (.mov) container; your audio codec must
  3375  // be AAC, WAV, or AIFF; and you must set up your audio track to have only one
  3376  // channel.
  3377  type AudioChannelTaggingSettings struct {
  3378  	_ struct{} `type:"structure"`
  3379  
  3380  	// You can add a tag for this mono-channel audio track to mimic its placement
  3381  	// in a multi-channel layout. For example, if this track is the left surround
  3382  	// channel, choose Left surround (LS).
  3383  	ChannelTag *string `locationName:"channelTag" type:"string" enum:"AudioChannelTag"`
  3384  }
  3385  
  3386  // String returns the string representation.
  3387  //
  3388  // API parameter values that are decorated as "sensitive" in the API will not
  3389  // be included in the string output. The member name will be present, but the
  3390  // value will be replaced with "sensitive".
  3391  func (s AudioChannelTaggingSettings) String() string {
  3392  	return awsutil.Prettify(s)
  3393  }
  3394  
  3395  // GoString returns the string representation.
  3396  //
  3397  // API parameter values that are decorated as "sensitive" in the API will not
  3398  // be included in the string output. The member name will be present, but the
  3399  // value will be replaced with "sensitive".
  3400  func (s AudioChannelTaggingSettings) GoString() string {
  3401  	return s.String()
  3402  }
  3403  
  3404  // SetChannelTag sets the ChannelTag field's value.
  3405  func (s *AudioChannelTaggingSettings) SetChannelTag(v string) *AudioChannelTaggingSettings {
  3406  	s.ChannelTag = &v
  3407  	return s
  3408  }
  3409  
  3410  // Settings related to audio encoding. The settings in this group vary depending
  3411  // on the value that you choose for your audio codec.
  3412  type AudioCodecSettings struct {
  3413  	_ struct{} `type:"structure"`
  3414  
  3415  	// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
  3416  	// the value AAC. The service accepts one of two mutually exclusive groups of
  3417  	// AAC settings--VBR and CBR. To select one of these modes, set the value of
  3418  	// Bitrate control mode (rateControlMode) to "VBR" or "CBR". In VBR mode, you
  3419  	// control the audio quality with the setting VBR quality (vbrQuality). In CBR
  3420  	// mode, you use the setting Bitrate (bitrate). Defaults and valid values depend
  3421  	// on the rate control mode.
  3422  	AacSettings *AacSettings `locationName:"aacSettings" type:"structure"`
  3423  
  3424  	// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
  3425  	// the value AC3.
  3426  	Ac3Settings *Ac3Settings `locationName:"ac3Settings" type:"structure"`
  3427  
  3428  	// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
  3429  	// the value AIFF.
  3430  	AiffSettings *AiffSettings `locationName:"aiffSettings" type:"structure"`
  3431  
  3432  	// Choose the audio codec for this output. Note that the option Dolby Digital
  3433  	// passthrough (PASSTHROUGH) applies only to Dolby Digital and Dolby Digital
  3434  	// Plus audio inputs. Make sure that you choose a codec that's supported with
  3435  	// your output container: https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#reference-codecs-containers-output-audio
  3436  	// For audio-only outputs, make sure that both your input audio codec and your
  3437  	// output audio codec are supported for audio-only workflows. For more information,
  3438  	// see: https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers-input.html#reference-codecs-containers-input-audio-only
  3439  	// and https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#audio-only-output
  3440  	Codec *string `locationName:"codec" type:"string" enum:"AudioCodec"`
  3441  
  3442  	// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
  3443  	// the value EAC3_ATMOS.
  3444  	Eac3AtmosSettings *Eac3AtmosSettings `locationName:"eac3AtmosSettings" type:"structure"`
  3445  
  3446  	// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
  3447  	// the value EAC3.
  3448  	Eac3Settings *Eac3Settings `locationName:"eac3Settings" type:"structure"`
  3449  
  3450  	// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
  3451  	// the value MP2.
  3452  	Mp2Settings *Mp2Settings `locationName:"mp2Settings" type:"structure"`
  3453  
  3454  	// Required when you set Codec, under AudioDescriptions>CodecSettings, to the
  3455  	// value MP3.
  3456  	Mp3Settings *Mp3Settings `locationName:"mp3Settings" type:"structure"`
  3457  
  3458  	// Required when you set Codec, under AudioDescriptions>CodecSettings, to the
  3459  	// value OPUS.
  3460  	OpusSettings *OpusSettings `locationName:"opusSettings" type:"structure"`
  3461  
  3462  	// Required when you set Codec, under AudioDescriptions>CodecSettings, to the
  3463  	// value Vorbis.
  3464  	VorbisSettings *VorbisSettings `locationName:"vorbisSettings" type:"structure"`
  3465  
  3466  	// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
  3467  	// the value WAV.
  3468  	WavSettings *WavSettings `locationName:"wavSettings" type:"structure"`
  3469  }
  3470  
  3471  // String returns the string representation.
  3472  //
  3473  // API parameter values that are decorated as "sensitive" in the API will not
  3474  // be included in the string output. The member name will be present, but the
  3475  // value will be replaced with "sensitive".
  3476  func (s AudioCodecSettings) String() string {
  3477  	return awsutil.Prettify(s)
  3478  }
  3479  
  3480  // GoString returns the string representation.
  3481  //
  3482  // API parameter values that are decorated as "sensitive" in the API will not
  3483  // be included in the string output. The member name will be present, but the
  3484  // value will be replaced with "sensitive".
  3485  func (s AudioCodecSettings) GoString() string {
  3486  	return s.String()
  3487  }
  3488  
  3489  // Validate inspects the fields of the type to determine if they are valid.
  3490  func (s *AudioCodecSettings) Validate() error {
  3491  	invalidParams := request.ErrInvalidParams{Context: "AudioCodecSettings"}
  3492  	if s.AacSettings != nil {
  3493  		if err := s.AacSettings.Validate(); err != nil {
  3494  			invalidParams.AddNested("AacSettings", err.(request.ErrInvalidParams))
  3495  		}
  3496  	}
  3497  	if s.Ac3Settings != nil {
  3498  		if err := s.Ac3Settings.Validate(); err != nil {
  3499  			invalidParams.AddNested("Ac3Settings", err.(request.ErrInvalidParams))
  3500  		}
  3501  	}
  3502  	if s.AiffSettings != nil {
  3503  		if err := s.AiffSettings.Validate(); err != nil {
  3504  			invalidParams.AddNested("AiffSettings", err.(request.ErrInvalidParams))
  3505  		}
  3506  	}
  3507  	if s.Eac3AtmosSettings != nil {
  3508  		if err := s.Eac3AtmosSettings.Validate(); err != nil {
  3509  			invalidParams.AddNested("Eac3AtmosSettings", err.(request.ErrInvalidParams))
  3510  		}
  3511  	}
  3512  	if s.Eac3Settings != nil {
  3513  		if err := s.Eac3Settings.Validate(); err != nil {
  3514  			invalidParams.AddNested("Eac3Settings", err.(request.ErrInvalidParams))
  3515  		}
  3516  	}
  3517  	if s.Mp2Settings != nil {
  3518  		if err := s.Mp2Settings.Validate(); err != nil {
  3519  			invalidParams.AddNested("Mp2Settings", err.(request.ErrInvalidParams))
  3520  		}
  3521  	}
  3522  	if s.Mp3Settings != nil {
  3523  		if err := s.Mp3Settings.Validate(); err != nil {
  3524  			invalidParams.AddNested("Mp3Settings", err.(request.ErrInvalidParams))
  3525  		}
  3526  	}
  3527  	if s.OpusSettings != nil {
  3528  		if err := s.OpusSettings.Validate(); err != nil {
  3529  			invalidParams.AddNested("OpusSettings", err.(request.ErrInvalidParams))
  3530  		}
  3531  	}
  3532  	if s.VorbisSettings != nil {
  3533  		if err := s.VorbisSettings.Validate(); err != nil {
  3534  			invalidParams.AddNested("VorbisSettings", err.(request.ErrInvalidParams))
  3535  		}
  3536  	}
  3537  	if s.WavSettings != nil {
  3538  		if err := s.WavSettings.Validate(); err != nil {
  3539  			invalidParams.AddNested("WavSettings", err.(request.ErrInvalidParams))
  3540  		}
  3541  	}
  3542  
  3543  	if invalidParams.Len() > 0 {
  3544  		return invalidParams
  3545  	}
  3546  	return nil
  3547  }
  3548  
  3549  // SetAacSettings sets the AacSettings field's value.
  3550  func (s *AudioCodecSettings) SetAacSettings(v *AacSettings) *AudioCodecSettings {
  3551  	s.AacSettings = v
  3552  	return s
  3553  }
  3554  
  3555  // SetAc3Settings sets the Ac3Settings field's value.
  3556  func (s *AudioCodecSettings) SetAc3Settings(v *Ac3Settings) *AudioCodecSettings {
  3557  	s.Ac3Settings = v
  3558  	return s
  3559  }
  3560  
  3561  // SetAiffSettings sets the AiffSettings field's value.
  3562  func (s *AudioCodecSettings) SetAiffSettings(v *AiffSettings) *AudioCodecSettings {
  3563  	s.AiffSettings = v
  3564  	return s
  3565  }
  3566  
  3567  // SetCodec sets the Codec field's value.
  3568  func (s *AudioCodecSettings) SetCodec(v string) *AudioCodecSettings {
  3569  	s.Codec = &v
  3570  	return s
  3571  }
  3572  
  3573  // SetEac3AtmosSettings sets the Eac3AtmosSettings field's value.
  3574  func (s *AudioCodecSettings) SetEac3AtmosSettings(v *Eac3AtmosSettings) *AudioCodecSettings {
  3575  	s.Eac3AtmosSettings = v
  3576  	return s
  3577  }
  3578  
  3579  // SetEac3Settings sets the Eac3Settings field's value.
  3580  func (s *AudioCodecSettings) SetEac3Settings(v *Eac3Settings) *AudioCodecSettings {
  3581  	s.Eac3Settings = v
  3582  	return s
  3583  }
  3584  
  3585  // SetMp2Settings sets the Mp2Settings field's value.
  3586  func (s *AudioCodecSettings) SetMp2Settings(v *Mp2Settings) *AudioCodecSettings {
  3587  	s.Mp2Settings = v
  3588  	return s
  3589  }
  3590  
  3591  // SetMp3Settings sets the Mp3Settings field's value.
  3592  func (s *AudioCodecSettings) SetMp3Settings(v *Mp3Settings) *AudioCodecSettings {
  3593  	s.Mp3Settings = v
  3594  	return s
  3595  }
  3596  
  3597  // SetOpusSettings sets the OpusSettings field's value.
  3598  func (s *AudioCodecSettings) SetOpusSettings(v *OpusSettings) *AudioCodecSettings {
  3599  	s.OpusSettings = v
  3600  	return s
  3601  }
  3602  
  3603  // SetVorbisSettings sets the VorbisSettings field's value.
  3604  func (s *AudioCodecSettings) SetVorbisSettings(v *VorbisSettings) *AudioCodecSettings {
  3605  	s.VorbisSettings = v
  3606  	return s
  3607  }
  3608  
  3609  // SetWavSettings sets the WavSettings field's value.
  3610  func (s *AudioCodecSettings) SetWavSettings(v *WavSettings) *AudioCodecSettings {
  3611  	s.WavSettings = v
  3612  	return s
  3613  }
  3614  
  3615  // Settings related to one audio tab on the MediaConvert console. In your job
  3616  // JSON, an instance of AudioDescription is equivalent to one audio tab in the
  3617  // console. Usually, one audio tab corresponds to one output audio track. Depending
  3618  // on how you set up your input audio selectors and whether you use audio selector
  3619  // groups, one audio tab can correspond to a group of output audio tracks.
  3620  type AudioDescription struct {
  3621  	_ struct{} `type:"structure"`
  3622  
  3623  	// When you mimic a multi-channel audio layout with multiple mono-channel tracks,
  3624  	// you can tag each channel layout manually. For example, you would tag the
  3625  	// tracks that contain your left, right, and center audio with Left (L), Right
  3626  	// (R), and Center (C), respectively. When you don't specify a value, MediaConvert
  3627  	// labels your track as Center (C) by default. To use audio layout tagging,
  3628  	// your output must be in a QuickTime (.mov) container; your audio codec must
  3629  	// be AAC, WAV, or AIFF; and you must set up your audio track to have only one
  3630  	// channel.
  3631  	AudioChannelTaggingSettings *AudioChannelTaggingSettings `locationName:"audioChannelTaggingSettings" type:"structure"`
  3632  
  3633  	// Advanced audio normalization settings. Ignore these settings unless you need
  3634  	// to comply with a loudness standard.
  3635  	AudioNormalizationSettings *AudioNormalizationSettings `locationName:"audioNormalizationSettings" type:"structure"`
  3636  
  3637  	// Specifies which audio data to use from each input. In the simplest case,
  3638  	// specify an "Audio Selector":#inputs-audio_selector by name based on its order
  3639  	// within each input. For example if you specify "Audio Selector 3", then the
  3640  	// third audio selector will be used from each input. If an input does not have
  3641  	// an "Audio Selector 3", then the audio selector marked as "default" in that
  3642  	// input will be used. If there is no audio selector marked as "default", silence
  3643  	// will be inserted for the duration of that input. Alternatively, an "Audio
  3644  	// Selector Group":#inputs-audio_selector_group name may be specified, with
  3645  	// similar default/silence behavior. If no audio_source_name is specified, then
  3646  	// "Audio Selector 1" will be chosen automatically.
  3647  	AudioSourceName *string `locationName:"audioSourceName" type:"string"`
  3648  
  3649  	// Applies only if Follow Input Audio Type is unchecked (false). A number between
  3650  	// 0 and 255. The following are defined in ISO-IEC 13818-1: 0 = Undefined, 1
  3651  	// = Clean Effects, 2 = Hearing Impaired, 3 = Visually Impaired Commentary,
  3652  	// 4-255 = Reserved.
  3653  	AudioType *int64 `locationName:"audioType" type:"integer"`
  3654  
  3655  	// When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then
  3656  	// that value is passed through to the output. If the input contains no ISO
  3657  	// 639 audio_type, the value in Audio Type is included in the output. Otherwise
  3658  	// the value in Audio Type is included in the output. Note that this field and
  3659  	// audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD.
  3660  	AudioTypeControl *string `locationName:"audioTypeControl" type:"string" enum:"AudioTypeControl"`
  3661  
  3662  	// Settings related to audio encoding. The settings in this group vary depending
  3663  	// on the value that you choose for your audio codec.
  3664  	CodecSettings *AudioCodecSettings `locationName:"codecSettings" type:"structure"`
  3665  
  3666  	// Specify the language for this audio output track. The service puts this language
  3667  	// code into your output audio track when you set Language code control (AudioLanguageCodeControl)
  3668  	// to Use configured (USE_CONFIGURED). The service also uses your specified
  3669  	// custom language code when you set Language code control (AudioLanguageCodeControl)
  3670  	// to Follow input (FOLLOW_INPUT), but your input file doesn't specify a language
  3671  	// code. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming
  3672  	// outputs, you can also use any other code in the full RFC-5646 specification.
  3673  	// Streaming outputs are those that are in one of the following output groups:
  3674  	// CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming.
  3675  	CustomLanguageCode *string `locationName:"customLanguageCode" type:"string"`
  3676  
  3677  	// Indicates the language of the audio output track. The ISO 639 language specified
  3678  	// in the 'Language Code' drop down will be used when 'Follow Input Language
  3679  	// Code' is not selected or when 'Follow Input Language Code' is selected but
  3680  	// there is no ISO 639 language code specified by the input.
  3681  	LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"`
  3682  
  3683  	// Specify which source for language code takes precedence for this audio track.
  3684  	// When you choose Follow input (FOLLOW_INPUT), the service uses the language
  3685  	// code from the input track if it's present. If there's no languge code on
  3686  	// the input track, the service uses the code that you specify in the setting
  3687  	// Language code (languageCode or customLanguageCode). When you choose Use configured
  3688  	// (USE_CONFIGURED), the service uses the language code that you specify.
  3689  	LanguageCodeControl *string `locationName:"languageCodeControl" type:"string" enum:"AudioLanguageCodeControl"`
  3690  
  3691  	// Advanced audio remixing settings.
  3692  	RemixSettings *RemixSettings `locationName:"remixSettings" type:"structure"`
  3693  
  3694  	// Specify a label for this output audio stream. For example, "English", "Director
  3695  	// commentary", or "track_2". For streaming outputs, MediaConvert passes this
  3696  	// information into destination manifests for display on the end-viewer's player
  3697  	// device. For outputs in other output groups, the service ignores this setting.
  3698  	StreamName *string `locationName:"streamName" type:"string"`
  3699  }
  3700  
  3701  // String returns the string representation.
  3702  //
  3703  // API parameter values that are decorated as "sensitive" in the API will not
  3704  // be included in the string output. The member name will be present, but the
  3705  // value will be replaced with "sensitive".
  3706  func (s AudioDescription) String() string {
  3707  	return awsutil.Prettify(s)
  3708  }
  3709  
  3710  // GoString returns the string representation.
  3711  //
  3712  // API parameter values that are decorated as "sensitive" in the API will not
  3713  // be included in the string output. The member name will be present, but the
  3714  // value will be replaced with "sensitive".
  3715  func (s AudioDescription) GoString() string {
  3716  	return s.String()
  3717  }
  3718  
  3719  // Validate inspects the fields of the type to determine if they are valid.
  3720  func (s *AudioDescription) Validate() error {
  3721  	invalidParams := request.ErrInvalidParams{Context: "AudioDescription"}
  3722  	if s.AudioNormalizationSettings != nil {
  3723  		if err := s.AudioNormalizationSettings.Validate(); err != nil {
  3724  			invalidParams.AddNested("AudioNormalizationSettings", err.(request.ErrInvalidParams))
  3725  		}
  3726  	}
  3727  	if s.CodecSettings != nil {
  3728  		if err := s.CodecSettings.Validate(); err != nil {
  3729  			invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams))
  3730  		}
  3731  	}
  3732  	if s.RemixSettings != nil {
  3733  		if err := s.RemixSettings.Validate(); err != nil {
  3734  			invalidParams.AddNested("RemixSettings", err.(request.ErrInvalidParams))
  3735  		}
  3736  	}
  3737  
  3738  	if invalidParams.Len() > 0 {
  3739  		return invalidParams
  3740  	}
  3741  	return nil
  3742  }
  3743  
  3744  // SetAudioChannelTaggingSettings sets the AudioChannelTaggingSettings field's value.
  3745  func (s *AudioDescription) SetAudioChannelTaggingSettings(v *AudioChannelTaggingSettings) *AudioDescription {
  3746  	s.AudioChannelTaggingSettings = v
  3747  	return s
  3748  }
  3749  
  3750  // SetAudioNormalizationSettings sets the AudioNormalizationSettings field's value.
  3751  func (s *AudioDescription) SetAudioNormalizationSettings(v *AudioNormalizationSettings) *AudioDescription {
  3752  	s.AudioNormalizationSettings = v
  3753  	return s
  3754  }
  3755  
  3756  // SetAudioSourceName sets the AudioSourceName field's value.
  3757  func (s *AudioDescription) SetAudioSourceName(v string) *AudioDescription {
  3758  	s.AudioSourceName = &v
  3759  	return s
  3760  }
  3761  
  3762  // SetAudioType sets the AudioType field's value.
  3763  func (s *AudioDescription) SetAudioType(v int64) *AudioDescription {
  3764  	s.AudioType = &v
  3765  	return s
  3766  }
  3767  
  3768  // SetAudioTypeControl sets the AudioTypeControl field's value.
  3769  func (s *AudioDescription) SetAudioTypeControl(v string) *AudioDescription {
  3770  	s.AudioTypeControl = &v
  3771  	return s
  3772  }
  3773  
  3774  // SetCodecSettings sets the CodecSettings field's value.
  3775  func (s *AudioDescription) SetCodecSettings(v *AudioCodecSettings) *AudioDescription {
  3776  	s.CodecSettings = v
  3777  	return s
  3778  }
  3779  
  3780  // SetCustomLanguageCode sets the CustomLanguageCode field's value.
  3781  func (s *AudioDescription) SetCustomLanguageCode(v string) *AudioDescription {
  3782  	s.CustomLanguageCode = &v
  3783  	return s
  3784  }
  3785  
  3786  // SetLanguageCode sets the LanguageCode field's value.
  3787  func (s *AudioDescription) SetLanguageCode(v string) *AudioDescription {
  3788  	s.LanguageCode = &v
  3789  	return s
  3790  }
  3791  
  3792  // SetLanguageCodeControl sets the LanguageCodeControl field's value.
  3793  func (s *AudioDescription) SetLanguageCodeControl(v string) *AudioDescription {
  3794  	s.LanguageCodeControl = &v
  3795  	return s
  3796  }
  3797  
  3798  // SetRemixSettings sets the RemixSettings field's value.
  3799  func (s *AudioDescription) SetRemixSettings(v *RemixSettings) *AudioDescription {
  3800  	s.RemixSettings = v
  3801  	return s
  3802  }
  3803  
  3804  // SetStreamName sets the StreamName field's value.
  3805  func (s *AudioDescription) SetStreamName(v string) *AudioDescription {
  3806  	s.StreamName = &v
  3807  	return s
  3808  }
  3809  
  3810  // Advanced audio normalization settings. Ignore these settings unless you need
  3811  // to comply with a loudness standard.
  3812  type AudioNormalizationSettings struct {
  3813  	_ struct{} `type:"structure"`
  3814  
  3815  	// Choose one of the following audio normalization algorithms: ITU-R BS.1770-1:
  3816  	// Ungated loudness. A measurement of ungated average loudness for an entire
  3817  	// piece of content, suitable for measurement of short-form content under ATSC
  3818  	// recommendation A/85. Supports up to 5.1 audio channels. ITU-R BS.1770-2:
  3819  	// Gated loudness. A measurement of gated average loudness compliant with the
  3820  	// requirements of EBU-R128. Supports up to 5.1 audio channels. ITU-R BS.1770-3:
  3821  	// Modified peak. The same loudness measurement algorithm as 1770-2, with an
  3822  	// updated true peak measurement. ITU-R BS.1770-4: Higher channel count. Allows
  3823  	// for more audio channels than the other algorithms, including configurations
  3824  	// such as 7.1.
  3825  	Algorithm *string `locationName:"algorithm" type:"string" enum:"AudioNormalizationAlgorithm"`
  3826  
  3827  	// When enabled the output audio is corrected using the chosen algorithm. If
  3828  	// disabled, the audio will be measured but not adjusted.
  3829  	AlgorithmControl *string `locationName:"algorithmControl" type:"string" enum:"AudioNormalizationAlgorithmControl"`
  3830  
  3831  	// Content measuring above this level will be corrected to the target level.
  3832  	// Content measuring below this level will not be corrected.
  3833  	CorrectionGateLevel *int64 `locationName:"correctionGateLevel" type:"integer"`
  3834  
  3835  	// If set to LOG, log each output's audio track loudness to a CSV file.
  3836  	LoudnessLogging *string `locationName:"loudnessLogging" type:"string" enum:"AudioNormalizationLoudnessLogging"`
  3837  
  3838  	// If set to TRUE_PEAK, calculate and log the TruePeak for each output's audio
  3839  	// track loudness.
  3840  	PeakCalculation *string `locationName:"peakCalculation" type:"string" enum:"AudioNormalizationPeakCalculation"`
  3841  
  3842  	// When you use Audio normalization (AudioNormalizationSettings), optionally
  3843  	// use this setting to specify a target loudness. If you don't specify a value
  3844  	// here, the encoder chooses a value for you, based on the algorithm that you
  3845  	// choose for Algorithm (algorithm). If you choose algorithm 1770-1, the encoder
  3846  	// will choose -24 LKFS; otherwise, the encoder will choose -23 LKFS.
  3847  	TargetLkfs *float64 `locationName:"targetLkfs" type:"double"`
  3848  }
  3849  
  3850  // String returns the string representation.
  3851  //
  3852  // API parameter values that are decorated as "sensitive" in the API will not
  3853  // be included in the string output. The member name will be present, but the
  3854  // value will be replaced with "sensitive".
  3855  func (s AudioNormalizationSettings) String() string {
  3856  	return awsutil.Prettify(s)
  3857  }
  3858  
  3859  // GoString returns the string representation.
  3860  //
  3861  // API parameter values that are decorated as "sensitive" in the API will not
  3862  // be included in the string output. The member name will be present, but the
  3863  // value will be replaced with "sensitive".
  3864  func (s AudioNormalizationSettings) GoString() string {
  3865  	return s.String()
  3866  }
  3867  
  3868  // Validate inspects the fields of the type to determine if they are valid.
  3869  func (s *AudioNormalizationSettings) Validate() error {
  3870  	invalidParams := request.ErrInvalidParams{Context: "AudioNormalizationSettings"}
  3871  	if s.CorrectionGateLevel != nil && *s.CorrectionGateLevel < -70 {
  3872  		invalidParams.Add(request.NewErrParamMinValue("CorrectionGateLevel", -70))
  3873  	}
  3874  
  3875  	if invalidParams.Len() > 0 {
  3876  		return invalidParams
  3877  	}
  3878  	return nil
  3879  }
  3880  
  3881  // SetAlgorithm sets the Algorithm field's value.
  3882  func (s *AudioNormalizationSettings) SetAlgorithm(v string) *AudioNormalizationSettings {
  3883  	s.Algorithm = &v
  3884  	return s
  3885  }
  3886  
  3887  // SetAlgorithmControl sets the AlgorithmControl field's value.
  3888  func (s *AudioNormalizationSettings) SetAlgorithmControl(v string) *AudioNormalizationSettings {
  3889  	s.AlgorithmControl = &v
  3890  	return s
  3891  }
  3892  
  3893  // SetCorrectionGateLevel sets the CorrectionGateLevel field's value.
  3894  func (s *AudioNormalizationSettings) SetCorrectionGateLevel(v int64) *AudioNormalizationSettings {
  3895  	s.CorrectionGateLevel = &v
  3896  	return s
  3897  }
  3898  
  3899  // SetLoudnessLogging sets the LoudnessLogging field's value.
  3900  func (s *AudioNormalizationSettings) SetLoudnessLogging(v string) *AudioNormalizationSettings {
  3901  	s.LoudnessLogging = &v
  3902  	return s
  3903  }
  3904  
  3905  // SetPeakCalculation sets the PeakCalculation field's value.
  3906  func (s *AudioNormalizationSettings) SetPeakCalculation(v string) *AudioNormalizationSettings {
  3907  	s.PeakCalculation = &v
  3908  	return s
  3909  }
  3910  
  3911  // SetTargetLkfs sets the TargetLkfs field's value.
  3912  func (s *AudioNormalizationSettings) SetTargetLkfs(v float64) *AudioNormalizationSettings {
  3913  	s.TargetLkfs = &v
  3914  	return s
  3915  }
  3916  
  3917  // Use Audio selectors (AudioSelectors) to specify a track or set of tracks
  3918  // from the input that you will use in your outputs. You can use multiple Audio
  3919  // selectors per input.
  3920  type AudioSelector struct {
  3921  	_ struct{} `type:"structure"`
  3922  
  3923  	// Selects a specific language code from within an audio source, using the ISO
  3924  	// 639-2 or ISO 639-3 three-letter language code
  3925  	CustomLanguageCode *string `locationName:"customLanguageCode" min:"3" type:"string"`
  3926  
  3927  	// Enable this setting on one audio selector to set it as the default for the
  3928  	// job. The service uses this default for outputs where it can't find the specified
  3929  	// input audio. If you don't set a default, those outputs have no audio.
  3930  	DefaultSelection *string `locationName:"defaultSelection" type:"string" enum:"AudioDefaultSelection"`
  3931  
  3932  	// Specifies audio data from an external file source.
  3933  	ExternalAudioFileInput *string `locationName:"externalAudioFileInput" type:"string"`
  3934  
  3935  	// Settings specific to audio sources in an HLS alternate rendition group. Specify
  3936  	// the properties (renditionGroupId, renditionName or renditionLanguageCode)
  3937  	// to identify the unique audio track among the alternative rendition groups
  3938  	// present in the HLS manifest. If no unique track is found, or multiple tracks
  3939  	// match the properties provided, the job fails. If no properties in hlsRenditionGroupSettings
  3940  	// are specified, the default audio track within the video segment is chosen.
  3941  	// If there is no audio within video segment, the alternative audio with DEFAULT=YES
  3942  	// is chosen instead.
  3943  	HlsRenditionGroupSettings *HlsRenditionGroupSettings `locationName:"hlsRenditionGroupSettings" type:"structure"`
  3944  
  3945  	// Selects a specific language code from within an audio source.
  3946  	LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"`
  3947  
  3948  	// Specifies a time delta in milliseconds to offset the audio from the input
  3949  	// video.
  3950  	Offset *int64 `locationName:"offset" type:"integer"`
  3951  
  3952  	// Selects a specific PID from within an audio source (e.g. 257 selects PID
  3953  	// 0x101).
  3954  	Pids []*int64 `locationName:"pids" type:"list"`
  3955  
  3956  	// Use this setting for input streams that contain Dolby E, to have the service
  3957  	// extract specific program data from the track. To select multiple programs,
  3958  	// create multiple selectors with the same Track and different Program numbers.
  3959  	// In the console, this setting is visible when you set Selector type to Track.
  3960  	// Choose the program number from the dropdown list. If you are sending a JSON
  3961  	// file, provide the program ID, which is part of the audio metadata. If your
  3962  	// input file has incorrect metadata, you can choose All channels instead of
  3963  	// a program number to have the service ignore the program IDs and include all
  3964  	// the programs in the track.
  3965  	ProgramSelection *int64 `locationName:"programSelection" type:"integer"`
  3966  
  3967  	// Use these settings to reorder the audio channels of one input to match those
  3968  	// of another input. This allows you to combine the two files into a single
  3969  	// output, one after the other.
  3970  	RemixSettings *RemixSettings `locationName:"remixSettings" type:"structure"`
  3971  
  3972  	// Specifies the type of the audio selector.
  3973  	SelectorType *string `locationName:"selectorType" type:"string" enum:"AudioSelectorType"`
  3974  
  3975  	// Identify a track from the input audio to include in this selector by entering
  3976  	// the track index number. To include several tracks in a single audio selector,
  3977  	// specify multiple tracks as follows. Using the console, enter a comma-separated
  3978  	// list. For examle, type "1,2,3" to include tracks 1 through 3. Specifying
  3979  	// directly in your JSON job file, provide the track numbers in an array. For
  3980  	// example, "tracks": [1,2,3].
  3981  	Tracks []*int64 `locationName:"tracks" type:"list"`
  3982  }
  3983  
  3984  // String returns the string representation.
  3985  //
  3986  // API parameter values that are decorated as "sensitive" in the API will not
  3987  // be included in the string output. The member name will be present, but the
  3988  // value will be replaced with "sensitive".
  3989  func (s AudioSelector) String() string {
  3990  	return awsutil.Prettify(s)
  3991  }
  3992  
  3993  // GoString returns the string representation.
  3994  //
  3995  // API parameter values that are decorated as "sensitive" in the API will not
  3996  // be included in the string output. The member name will be present, but the
  3997  // value will be replaced with "sensitive".
  3998  func (s AudioSelector) GoString() string {
  3999  	return s.String()
  4000  }
  4001  
  4002  // Validate inspects the fields of the type to determine if they are valid.
  4003  func (s *AudioSelector) Validate() error {
  4004  	invalidParams := request.ErrInvalidParams{Context: "AudioSelector"}
  4005  	if s.CustomLanguageCode != nil && len(*s.CustomLanguageCode) < 3 {
  4006  		invalidParams.Add(request.NewErrParamMinLen("CustomLanguageCode", 3))
  4007  	}
  4008  	if s.Offset != nil && *s.Offset < -2.147483648e+09 {
  4009  		invalidParams.Add(request.NewErrParamMinValue("Offset", -2.147483648e+09))
  4010  	}
  4011  	if s.RemixSettings != nil {
  4012  		if err := s.RemixSettings.Validate(); err != nil {
  4013  			invalidParams.AddNested("RemixSettings", err.(request.ErrInvalidParams))
  4014  		}
  4015  	}
  4016  
  4017  	if invalidParams.Len() > 0 {
  4018  		return invalidParams
  4019  	}
  4020  	return nil
  4021  }
  4022  
  4023  // SetCustomLanguageCode sets the CustomLanguageCode field's value.
  4024  func (s *AudioSelector) SetCustomLanguageCode(v string) *AudioSelector {
  4025  	s.CustomLanguageCode = &v
  4026  	return s
  4027  }
  4028  
  4029  // SetDefaultSelection sets the DefaultSelection field's value.
  4030  func (s *AudioSelector) SetDefaultSelection(v string) *AudioSelector {
  4031  	s.DefaultSelection = &v
  4032  	return s
  4033  }
  4034  
  4035  // SetExternalAudioFileInput sets the ExternalAudioFileInput field's value.
  4036  func (s *AudioSelector) SetExternalAudioFileInput(v string) *AudioSelector {
  4037  	s.ExternalAudioFileInput = &v
  4038  	return s
  4039  }
  4040  
  4041  // SetHlsRenditionGroupSettings sets the HlsRenditionGroupSettings field's value.
  4042  func (s *AudioSelector) SetHlsRenditionGroupSettings(v *HlsRenditionGroupSettings) *AudioSelector {
  4043  	s.HlsRenditionGroupSettings = v
  4044  	return s
  4045  }
  4046  
  4047  // SetLanguageCode sets the LanguageCode field's value.
  4048  func (s *AudioSelector) SetLanguageCode(v string) *AudioSelector {
  4049  	s.LanguageCode = &v
  4050  	return s
  4051  }
  4052  
  4053  // SetOffset sets the Offset field's value.
  4054  func (s *AudioSelector) SetOffset(v int64) *AudioSelector {
  4055  	s.Offset = &v
  4056  	return s
  4057  }
  4058  
  4059  // SetPids sets the Pids field's value.
  4060  func (s *AudioSelector) SetPids(v []*int64) *AudioSelector {
  4061  	s.Pids = v
  4062  	return s
  4063  }
  4064  
  4065  // SetProgramSelection sets the ProgramSelection field's value.
  4066  func (s *AudioSelector) SetProgramSelection(v int64) *AudioSelector {
  4067  	s.ProgramSelection = &v
  4068  	return s
  4069  }
  4070  
  4071  // SetRemixSettings sets the RemixSettings field's value.
  4072  func (s *AudioSelector) SetRemixSettings(v *RemixSettings) *AudioSelector {
  4073  	s.RemixSettings = v
  4074  	return s
  4075  }
  4076  
  4077  // SetSelectorType sets the SelectorType field's value.
  4078  func (s *AudioSelector) SetSelectorType(v string) *AudioSelector {
  4079  	s.SelectorType = &v
  4080  	return s
  4081  }
  4082  
  4083  // SetTracks sets the Tracks field's value.
  4084  func (s *AudioSelector) SetTracks(v []*int64) *AudioSelector {
  4085  	s.Tracks = v
  4086  	return s
  4087  }
  4088  
  4089  // Use audio selector groups to combine multiple sidecar audio inputs so that
  4090  // you can assign them to a single output audio tab (AudioDescription). Note
  4091  // that, if you're working with embedded audio, it's simpler to assign multiple
  4092  // input tracks into a single audio selector rather than use an audio selector
  4093  // group.
  4094  type AudioSelectorGroup struct {
  4095  	_ struct{} `type:"structure"`
  4096  
  4097  	// Name of an Audio Selector within the same input to include in the group.
  4098  	// Audio selector names are standardized, based on their order within the input
  4099  	// (e.g., "Audio Selector 1"). The audio selector name parameter can be repeated
  4100  	// to add any number of audio selectors to the group.
  4101  	AudioSelectorNames []*string `locationName:"audioSelectorNames" type:"list"`
  4102  }
  4103  
  4104  // String returns the string representation.
  4105  //
  4106  // API parameter values that are decorated as "sensitive" in the API will not
  4107  // be included in the string output. The member name will be present, but the
  4108  // value will be replaced with "sensitive".
  4109  func (s AudioSelectorGroup) String() string {
  4110  	return awsutil.Prettify(s)
  4111  }
  4112  
  4113  // GoString returns the string representation.
  4114  //
  4115  // API parameter values that are decorated as "sensitive" in the API will not
  4116  // be included in the string output. The member name will be present, but the
  4117  // value will be replaced with "sensitive".
  4118  func (s AudioSelectorGroup) GoString() string {
  4119  	return s.String()
  4120  }
  4121  
  4122  // SetAudioSelectorNames sets the AudioSelectorNames field's value.
  4123  func (s *AudioSelectorGroup) SetAudioSelectorNames(v []*string) *AudioSelectorGroup {
  4124  	s.AudioSelectorNames = v
  4125  	return s
  4126  }
  4127  
  4128  // Use automated ABR to have MediaConvert set up the renditions in your ABR
  4129  // package for you automatically, based on characteristics of your input video.
  4130  // This feature optimizes video quality while minimizing the overall size of
  4131  // your ABR package.
  4132  type AutomatedAbrSettings struct {
  4133  	_ struct{} `type:"structure"`
  4134  
  4135  	// Optional. The maximum target bit rate used in your automated ABR stack. Use
  4136  	// this value to set an upper limit on the bandwidth consumed by the highest-quality
  4137  	// rendition. This is the rendition that is delivered to viewers with the fastest
  4138  	// internet connections. If you don't specify a value, MediaConvert uses 8,000,000
  4139  	// (8 mb/s) by default.
  4140  	MaxAbrBitrate *int64 `locationName:"maxAbrBitrate" min:"100000" type:"integer"`
  4141  
  4142  	// Optional. The maximum number of renditions that MediaConvert will create
  4143  	// in your automated ABR stack. The number of renditions is determined automatically,
  4144  	// based on analysis of each job, but will never exceed this limit. When you
  4145  	// set this to Auto in the console, which is equivalent to excluding it from
  4146  	// your JSON job specification, MediaConvert defaults to a limit of 15.
  4147  	MaxRenditions *int64 `locationName:"maxRenditions" min:"3" type:"integer"`
  4148  
  4149  	// Optional. The minimum target bitrate used in your automated ABR stack. Use
  4150  	// this value to set a lower limit on the bitrate of video delivered to viewers
  4151  	// with slow internet connections. If you don't specify a value, MediaConvert
  4152  	// uses 600,000 (600 kb/s) by default.
  4153  	MinAbrBitrate *int64 `locationName:"minAbrBitrate" min:"100000" type:"integer"`
  4154  }
  4155  
  4156  // String returns the string representation.
  4157  //
  4158  // API parameter values that are decorated as "sensitive" in the API will not
  4159  // be included in the string output. The member name will be present, but the
  4160  // value will be replaced with "sensitive".
  4161  func (s AutomatedAbrSettings) String() string {
  4162  	return awsutil.Prettify(s)
  4163  }
  4164  
  4165  // GoString returns the string representation.
  4166  //
  4167  // API parameter values that are decorated as "sensitive" in the API will not
  4168  // be included in the string output. The member name will be present, but the
  4169  // value will be replaced with "sensitive".
  4170  func (s AutomatedAbrSettings) GoString() string {
  4171  	return s.String()
  4172  }
  4173  
  4174  // Validate inspects the fields of the type to determine if they are valid.
  4175  func (s *AutomatedAbrSettings) Validate() error {
  4176  	invalidParams := request.ErrInvalidParams{Context: "AutomatedAbrSettings"}
  4177  	if s.MaxAbrBitrate != nil && *s.MaxAbrBitrate < 100000 {
  4178  		invalidParams.Add(request.NewErrParamMinValue("MaxAbrBitrate", 100000))
  4179  	}
  4180  	if s.MaxRenditions != nil && *s.MaxRenditions < 3 {
  4181  		invalidParams.Add(request.NewErrParamMinValue("MaxRenditions", 3))
  4182  	}
  4183  	if s.MinAbrBitrate != nil && *s.MinAbrBitrate < 100000 {
  4184  		invalidParams.Add(request.NewErrParamMinValue("MinAbrBitrate", 100000))
  4185  	}
  4186  
  4187  	if invalidParams.Len() > 0 {
  4188  		return invalidParams
  4189  	}
  4190  	return nil
  4191  }
  4192  
  4193  // SetMaxAbrBitrate sets the MaxAbrBitrate field's value.
  4194  func (s *AutomatedAbrSettings) SetMaxAbrBitrate(v int64) *AutomatedAbrSettings {
  4195  	s.MaxAbrBitrate = &v
  4196  	return s
  4197  }
  4198  
  4199  // SetMaxRenditions sets the MaxRenditions field's value.
  4200  func (s *AutomatedAbrSettings) SetMaxRenditions(v int64) *AutomatedAbrSettings {
  4201  	s.MaxRenditions = &v
  4202  	return s
  4203  }
  4204  
  4205  // SetMinAbrBitrate sets the MinAbrBitrate field's value.
  4206  func (s *AutomatedAbrSettings) SetMinAbrBitrate(v int64) *AutomatedAbrSettings {
  4207  	s.MinAbrBitrate = &v
  4208  	return s
  4209  }
  4210  
  4211  // Use automated encoding to have MediaConvert choose your encoding settings
  4212  // for you, based on characteristics of your input video.
  4213  type AutomatedEncodingSettings struct {
  4214  	_ struct{} `type:"structure"`
  4215  
  4216  	// Use automated ABR to have MediaConvert set up the renditions in your ABR
  4217  	// package for you automatically, based on characteristics of your input video.
  4218  	// This feature optimizes video quality while minimizing the overall size of
  4219  	// your ABR package.
  4220  	AbrSettings *AutomatedAbrSettings `locationName:"abrSettings" type:"structure"`
  4221  }
  4222  
  4223  // String returns the string representation.
  4224  //
  4225  // API parameter values that are decorated as "sensitive" in the API will not
  4226  // be included in the string output. The member name will be present, but the
  4227  // value will be replaced with "sensitive".
  4228  func (s AutomatedEncodingSettings) String() string {
  4229  	return awsutil.Prettify(s)
  4230  }
  4231  
  4232  // GoString returns the string representation.
  4233  //
  4234  // API parameter values that are decorated as "sensitive" in the API will not
  4235  // be included in the string output. The member name will be present, but the
  4236  // value will be replaced with "sensitive".
  4237  func (s AutomatedEncodingSettings) GoString() string {
  4238  	return s.String()
  4239  }
  4240  
  4241  // Validate inspects the fields of the type to determine if they are valid.
  4242  func (s *AutomatedEncodingSettings) Validate() error {
  4243  	invalidParams := request.ErrInvalidParams{Context: "AutomatedEncodingSettings"}
  4244  	if s.AbrSettings != nil {
  4245  		if err := s.AbrSettings.Validate(); err != nil {
  4246  			invalidParams.AddNested("AbrSettings", err.(request.ErrInvalidParams))
  4247  		}
  4248  	}
  4249  
  4250  	if invalidParams.Len() > 0 {
  4251  		return invalidParams
  4252  	}
  4253  	return nil
  4254  }
  4255  
  4256  // SetAbrSettings sets the AbrSettings field's value.
  4257  func (s *AutomatedEncodingSettings) SetAbrSettings(v *AutomatedAbrSettings) *AutomatedEncodingSettings {
  4258  	s.AbrSettings = v
  4259  	return s
  4260  }
  4261  
  4262  // Settings for quality-defined variable bitrate encoding with the H.265 codec.
  4263  // Use these settings only when you set QVBR for Rate control mode (RateControlMode).
  4264  type Av1QvbrSettings struct {
  4265  	_ struct{} `type:"structure"`
  4266  
  4267  	// Use this setting only when you set Rate control mode (RateControlMode) to
  4268  	// QVBR. Specify the target quality level for this output. MediaConvert determines
  4269  	// the right number of bits to use for each part of the video to maintain the
  4270  	// video quality that you specify. When you keep the default value, AUTO, MediaConvert
  4271  	// picks a quality level for you, based on characteristics of your input video.
  4272  	// If you prefer to specify a quality level, specify a number from 1 through
  4273  	// 10. Use higher numbers for greater quality. Level 10 results in nearly lossless
  4274  	// compression. The quality level for most broadcast-quality transcodes is between
  4275  	// 6 and 9. Optionally, to specify a value between whole numbers, also provide
  4276  	// a value for the setting qvbrQualityLevelFineTune. For example, if you want
  4277  	// your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune
  4278  	// to .33.
  4279  	QvbrQualityLevel *int64 `locationName:"qvbrQualityLevel" min:"1" type:"integer"`
  4280  
  4281  	// Optional. Specify a value here to set the QVBR quality to a level that is
  4282  	// between whole numbers. For example, if you want your QVBR quality level to
  4283  	// be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune to .33.
  4284  	// MediaConvert rounds your QVBR quality level to the nearest third of a whole
  4285  	// number. For example, if you set qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune
  4286  	// to .25, your actual QVBR quality level is 7.33.
  4287  	QvbrQualityLevelFineTune *float64 `locationName:"qvbrQualityLevelFineTune" type:"double"`
  4288  }
  4289  
  4290  // String returns the string representation.
  4291  //
  4292  // API parameter values that are decorated as "sensitive" in the API will not
  4293  // be included in the string output. The member name will be present, but the
  4294  // value will be replaced with "sensitive".
  4295  func (s Av1QvbrSettings) String() string {
  4296  	return awsutil.Prettify(s)
  4297  }
  4298  
  4299  // GoString returns the string representation.
  4300  //
  4301  // API parameter values that are decorated as "sensitive" in the API will not
  4302  // be included in the string output. The member name will be present, but the
  4303  // value will be replaced with "sensitive".
  4304  func (s Av1QvbrSettings) GoString() string {
  4305  	return s.String()
  4306  }
  4307  
  4308  // Validate inspects the fields of the type to determine if they are valid.
  4309  func (s *Av1QvbrSettings) Validate() error {
  4310  	invalidParams := request.ErrInvalidParams{Context: "Av1QvbrSettings"}
  4311  	if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 {
  4312  		invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1))
  4313  	}
  4314  
  4315  	if invalidParams.Len() > 0 {
  4316  		return invalidParams
  4317  	}
  4318  	return nil
  4319  }
  4320  
  4321  // SetQvbrQualityLevel sets the QvbrQualityLevel field's value.
  4322  func (s *Av1QvbrSettings) SetQvbrQualityLevel(v int64) *Av1QvbrSettings {
  4323  	s.QvbrQualityLevel = &v
  4324  	return s
  4325  }
  4326  
  4327  // SetQvbrQualityLevelFineTune sets the QvbrQualityLevelFineTune field's value.
  4328  func (s *Av1QvbrSettings) SetQvbrQualityLevelFineTune(v float64) *Av1QvbrSettings {
  4329  	s.QvbrQualityLevelFineTune = &v
  4330  	return s
  4331  }
  4332  
  4333  // Required when you set Codec, under VideoDescription>CodecSettings to the
  4334  // value AV1.
  4335  type Av1Settings struct {
  4336  	_ struct{} `type:"structure"`
  4337  
  4338  	// Specify the strength of any adaptive quantization filters that you enable.
  4339  	// The value that you choose here applies to Spatial adaptive quantization (spatialAdaptiveQuantization).
  4340  	AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"Av1AdaptiveQuantization"`
  4341  
  4342  	// If you are using the console, use the Framerate setting to specify the frame
  4343  	// rate for this output. If you want to keep the same frame rate as the input
  4344  	// video, choose Follow source. If you want to do frame rate conversion, choose
  4345  	// a frame rate from the dropdown list or choose Custom. The framerates shown
  4346  	// in the dropdown list are decimal approximations of fractions. If you choose
  4347  	// Custom, specify your frame rate as a fraction. If you are creating your transcoding
  4348  	// job specification as a JSON file without the console, use FramerateControl
  4349  	// to specify which value the service uses for the frame rate for this output.
  4350  	// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
  4351  	// from the input. Choose SPECIFIED if you want the service to use the frame
  4352  	// rate you specify in the settings FramerateNumerator and FramerateDenominator.
  4353  	FramerateControl *string `locationName:"framerateControl" type:"string" enum:"Av1FramerateControl"`
  4354  
  4355  	// Choose the method that you want MediaConvert to use when increasing or decreasing
  4356  	// the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
  4357  	// simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
  4358  	// you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
  4359  	// smooth picture, but might introduce undesirable video artifacts. For complex
  4360  	// frame rate conversions, especially if your source video has already been
  4361  	// converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
  4362  	// motion-compensated interpolation. FrameFormer chooses the best conversion
  4363  	// method frame by frame. Note that using FrameFormer increases the transcoding
  4364  	// time and incurs a significant add-on cost.
  4365  	FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"Av1FramerateConversionAlgorithm"`
  4366  
  4367  	// When you use the API for transcode jobs that use frame rate conversion, specify
  4368  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
  4369  	// FramerateDenominator to specify the denominator of this fraction. In this
  4370  	// example, use 1001 for the value of FramerateDenominator. When you use the
  4371  	// console for transcode jobs that use frame rate conversion, provide the value
  4372  	// as a decimal number for Framerate. In this example, specify 23.976.
  4373  	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
  4374  
  4375  	// When you use the API for transcode jobs that use frame rate conversion, specify
  4376  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
  4377  	// FramerateNumerator to specify the numerator of this fraction. In this example,
  4378  	// use 24000 for the value of FramerateNumerator. When you use the console for
  4379  	// transcode jobs that use frame rate conversion, provide the value as a decimal
  4380  	// number for Framerate. In this example, specify 23.976.
  4381  	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"`
  4382  
  4383  	// Specify the GOP length (keyframe interval) in frames. With AV1, MediaConvert
  4384  	// doesn't support GOP length in seconds. This value must be greater than zero
  4385  	// and preferably equal to 1 + ((numberBFrames + 1) * x), where x is an integer
  4386  	// value.
  4387  	GopSize *float64 `locationName:"gopSize" type:"double"`
  4388  
  4389  	// Maximum bitrate in bits/second. For example, enter five megabits per second
  4390  	// as 5000000. Required when Rate control mode is QVBR.
  4391  	MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"`
  4392  
  4393  	// Specify from the number of B-frames, in the range of 0-15. For AV1 encoding,
  4394  	// we recommend using 7 or 15. Choose a larger number for a lower bitrate and
  4395  	// smaller file size; choose a smaller number for better video quality.
  4396  	NumberBFramesBetweenReferenceFrames *int64 `locationName:"numberBFramesBetweenReferenceFrames" type:"integer"`
  4397  
  4398  	// Settings for quality-defined variable bitrate encoding with the H.265 codec.
  4399  	// Use these settings only when you set QVBR for Rate control mode (RateControlMode).
  4400  	QvbrSettings *Av1QvbrSettings `locationName:"qvbrSettings" type:"structure"`
  4401  
  4402  	// 'With AV1 outputs, for rate control mode, MediaConvert supports only quality-defined
  4403  	// variable bitrate (QVBR). You can''t use CBR or VBR.'
  4404  	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"Av1RateControlMode"`
  4405  
  4406  	// Specify the number of slices per picture. This value must be 1, 2, 4, 8,
  4407  	// 16, or 32. For progressive pictures, this value must be less than or equal
  4408  	// to the number of macroblock rows. For interlaced pictures, this value must
  4409  	// be less than or equal to half the number of macroblock rows.
  4410  	Slices *int64 `locationName:"slices" min:"1" type:"integer"`
  4411  
  4412  	// Keep the default value, Enabled (ENABLED), to adjust quantization within
  4413  	// each frame based on spatial variation of content complexity. When you enable
  4414  	// this feature, the encoder uses fewer bits on areas that can sustain more
  4415  	// distortion with no noticeable visual degradation and uses more bits on areas
  4416  	// where any small distortion will be noticeable. For example, complex textured
  4417  	// blocks are encoded with fewer bits and smooth textured blocks are encoded
  4418  	// with more bits. Enabling this feature will almost always improve your video
  4419  	// quality. Note, though, that this feature doesn't take into account where
  4420  	// the viewer's attention is likely to be. If viewers are likely to be focusing
  4421  	// their attention on a part of the screen with a lot of complex texture, you
  4422  	// might choose to disable this feature. Related setting: When you enable spatial
  4423  	// adaptive quantization, set the value for Adaptive quantization (adaptiveQuantization)
  4424  	// depending on your content. For homogeneous content, such as cartoons and
  4425  	// video games, set it to Low. For content with a wider variety of textures,
  4426  	// set it to High or Higher.
  4427  	SpatialAdaptiveQuantization *string `locationName:"spatialAdaptiveQuantization" type:"string" enum:"Av1SpatialAdaptiveQuantization"`
  4428  }
  4429  
  4430  // String returns the string representation.
  4431  //
  4432  // API parameter values that are decorated as "sensitive" in the API will not
  4433  // be included in the string output. The member name will be present, but the
  4434  // value will be replaced with "sensitive".
  4435  func (s Av1Settings) String() string {
  4436  	return awsutil.Prettify(s)
  4437  }
  4438  
  4439  // GoString returns the string representation.
  4440  //
  4441  // API parameter values that are decorated as "sensitive" in the API will not
  4442  // be included in the string output. The member name will be present, but the
  4443  // value will be replaced with "sensitive".
  4444  func (s Av1Settings) GoString() string {
  4445  	return s.String()
  4446  }
  4447  
  4448  // Validate inspects the fields of the type to determine if they are valid.
  4449  func (s *Av1Settings) Validate() error {
  4450  	invalidParams := request.ErrInvalidParams{Context: "Av1Settings"}
  4451  	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
  4452  		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
  4453  	}
  4454  	if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 {
  4455  		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1))
  4456  	}
  4457  	if s.MaxBitrate != nil && *s.MaxBitrate < 1000 {
  4458  		invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000))
  4459  	}
  4460  	if s.Slices != nil && *s.Slices < 1 {
  4461  		invalidParams.Add(request.NewErrParamMinValue("Slices", 1))
  4462  	}
  4463  	if s.QvbrSettings != nil {
  4464  		if err := s.QvbrSettings.Validate(); err != nil {
  4465  			invalidParams.AddNested("QvbrSettings", err.(request.ErrInvalidParams))
  4466  		}
  4467  	}
  4468  
  4469  	if invalidParams.Len() > 0 {
  4470  		return invalidParams
  4471  	}
  4472  	return nil
  4473  }
  4474  
  4475  // SetAdaptiveQuantization sets the AdaptiveQuantization field's value.
  4476  func (s *Av1Settings) SetAdaptiveQuantization(v string) *Av1Settings {
  4477  	s.AdaptiveQuantization = &v
  4478  	return s
  4479  }
  4480  
  4481  // SetFramerateControl sets the FramerateControl field's value.
  4482  func (s *Av1Settings) SetFramerateControl(v string) *Av1Settings {
  4483  	s.FramerateControl = &v
  4484  	return s
  4485  }
  4486  
  4487  // SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value.
  4488  func (s *Av1Settings) SetFramerateConversionAlgorithm(v string) *Av1Settings {
  4489  	s.FramerateConversionAlgorithm = &v
  4490  	return s
  4491  }
  4492  
  4493  // SetFramerateDenominator sets the FramerateDenominator field's value.
  4494  func (s *Av1Settings) SetFramerateDenominator(v int64) *Av1Settings {
  4495  	s.FramerateDenominator = &v
  4496  	return s
  4497  }
  4498  
  4499  // SetFramerateNumerator sets the FramerateNumerator field's value.
  4500  func (s *Av1Settings) SetFramerateNumerator(v int64) *Av1Settings {
  4501  	s.FramerateNumerator = &v
  4502  	return s
  4503  }
  4504  
  4505  // SetGopSize sets the GopSize field's value.
  4506  func (s *Av1Settings) SetGopSize(v float64) *Av1Settings {
  4507  	s.GopSize = &v
  4508  	return s
  4509  }
  4510  
  4511  // SetMaxBitrate sets the MaxBitrate field's value.
  4512  func (s *Av1Settings) SetMaxBitrate(v int64) *Av1Settings {
  4513  	s.MaxBitrate = &v
  4514  	return s
  4515  }
  4516  
  4517  // SetNumberBFramesBetweenReferenceFrames sets the NumberBFramesBetweenReferenceFrames field's value.
  4518  func (s *Av1Settings) SetNumberBFramesBetweenReferenceFrames(v int64) *Av1Settings {
  4519  	s.NumberBFramesBetweenReferenceFrames = &v
  4520  	return s
  4521  }
  4522  
  4523  // SetQvbrSettings sets the QvbrSettings field's value.
  4524  func (s *Av1Settings) SetQvbrSettings(v *Av1QvbrSettings) *Av1Settings {
  4525  	s.QvbrSettings = v
  4526  	return s
  4527  }
  4528  
  4529  // SetRateControlMode sets the RateControlMode field's value.
  4530  func (s *Av1Settings) SetRateControlMode(v string) *Av1Settings {
  4531  	s.RateControlMode = &v
  4532  	return s
  4533  }
  4534  
  4535  // SetSlices sets the Slices field's value.
  4536  func (s *Av1Settings) SetSlices(v int64) *Av1Settings {
  4537  	s.Slices = &v
  4538  	return s
  4539  }
  4540  
  4541  // SetSpatialAdaptiveQuantization sets the SpatialAdaptiveQuantization field's value.
  4542  func (s *Av1Settings) SetSpatialAdaptiveQuantization(v string) *Av1Settings {
  4543  	s.SpatialAdaptiveQuantization = &v
  4544  	return s
  4545  }
  4546  
  4547  // Use ad avail blanking settings to specify your output content during SCTE-35
  4548  // triggered ad avails. You can blank your video or overlay it with an image.
  4549  // MediaConvert also removes any audio and embedded captions during the ad avail.
  4550  // For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/ad-avail-blanking.html.
  4551  type AvailBlanking struct {
  4552  	_ struct{} `type:"structure"`
  4553  
  4554  	// Blanking image to be used. Leave empty for solid black. Only bmp and png
  4555  	// images are supported.
  4556  	AvailBlankingImage *string `locationName:"availBlankingImage" min:"14" type:"string"`
  4557  }
  4558  
  4559  // String returns the string representation.
  4560  //
  4561  // API parameter values that are decorated as "sensitive" in the API will not
  4562  // be included in the string output. The member name will be present, but the
  4563  // value will be replaced with "sensitive".
  4564  func (s AvailBlanking) String() string {
  4565  	return awsutil.Prettify(s)
  4566  }
  4567  
  4568  // GoString returns the string representation.
  4569  //
  4570  // API parameter values that are decorated as "sensitive" in the API will not
  4571  // be included in the string output. The member name will be present, but the
  4572  // value will be replaced with "sensitive".
  4573  func (s AvailBlanking) GoString() string {
  4574  	return s.String()
  4575  }
  4576  
  4577  // Validate inspects the fields of the type to determine if they are valid.
  4578  func (s *AvailBlanking) Validate() error {
  4579  	invalidParams := request.ErrInvalidParams{Context: "AvailBlanking"}
  4580  	if s.AvailBlankingImage != nil && len(*s.AvailBlankingImage) < 14 {
  4581  		invalidParams.Add(request.NewErrParamMinLen("AvailBlankingImage", 14))
  4582  	}
  4583  
  4584  	if invalidParams.Len() > 0 {
  4585  		return invalidParams
  4586  	}
  4587  	return nil
  4588  }
  4589  
  4590  // SetAvailBlankingImage sets the AvailBlankingImage field's value.
  4591  func (s *AvailBlanking) SetAvailBlankingImage(v string) *AvailBlanking {
  4592  	s.AvailBlankingImage = &v
  4593  	return s
  4594  }
  4595  
  4596  // Required when you choose AVC-Intra for your output video codec. For more
  4597  // information about the AVC-Intra settings, see the relevant specification.
  4598  // For detailed information about SD and HD in AVC-Intra, see https://ieeexplore.ieee.org/document/7290936.
  4599  // For information about 4K/2K in AVC-Intra, see https://pro-av.panasonic.net/en/avc-ultra/AVC-ULTRAoverview.pdf.
  4600  type AvcIntraSettings struct {
  4601  	_ struct{} `type:"structure"`
  4602  
  4603  	// Specify the AVC-Intra class of your output. The AVC-Intra class selection
  4604  	// determines the output video bit rate depending on the frame rate of the output.
  4605  	// Outputs with higher class values have higher bitrates and improved image
  4606  	// quality. Note that for Class 4K/2K, MediaConvert supports only 4:2:2 chroma
  4607  	// subsampling.
  4608  	AvcIntraClass *string `locationName:"avcIntraClass" type:"string" enum:"AvcIntraClass"`
  4609  
  4610  	// Optional when you set AVC-Intra class (avcIntraClass) to Class 4K/2K (CLASS_4K_2K).
  4611  	// When you set AVC-Intra class to a different value, this object isn't allowed.
  4612  	AvcIntraUhdSettings *AvcIntraUhdSettings `locationName:"avcIntraUhdSettings" type:"structure"`
  4613  
  4614  	// If you are using the console, use the Framerate setting to specify the frame
  4615  	// rate for this output. If you want to keep the same frame rate as the input
  4616  	// video, choose Follow source. If you want to do frame rate conversion, choose
  4617  	// a frame rate from the dropdown list or choose Custom. The framerates shown
  4618  	// in the dropdown list are decimal approximations of fractions. If you choose
  4619  	// Custom, specify your frame rate as a fraction. If you are creating your transcoding
  4620  	// job specification as a JSON file without the console, use FramerateControl
  4621  	// to specify which value the service uses for the frame rate for this output.
  4622  	// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
  4623  	// from the input. Choose SPECIFIED if you want the service to use the frame
  4624  	// rate you specify in the settings FramerateNumerator and FramerateDenominator.
  4625  	FramerateControl *string `locationName:"framerateControl" type:"string" enum:"AvcIntraFramerateControl"`
  4626  
  4627  	// Choose the method that you want MediaConvert to use when increasing or decreasing
  4628  	// the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
  4629  	// simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
  4630  	// you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
  4631  	// smooth picture, but might introduce undesirable video artifacts. For complex
  4632  	// frame rate conversions, especially if your source video has already been
  4633  	// converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
  4634  	// motion-compensated interpolation. FrameFormer chooses the best conversion
  4635  	// method frame by frame. Note that using FrameFormer increases the transcoding
  4636  	// time and incurs a significant add-on cost.
  4637  	FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"AvcIntraFramerateConversionAlgorithm"`
  4638  
  4639  	// When you use the API for transcode jobs that use frame rate conversion, specify
  4640  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
  4641  	// FramerateDenominator to specify the denominator of this fraction. In this
  4642  	// example, use 1001 for the value of FramerateDenominator. When you use the
  4643  	// console for transcode jobs that use frame rate conversion, provide the value
  4644  	// as a decimal number for Framerate. In this example, specify 23.976.
  4645  	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
  4646  
  4647  	// When you use the API for transcode jobs that use frame rate conversion, specify
  4648  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
  4649  	// FramerateNumerator to specify the numerator of this fraction. In this example,
  4650  	// use 24000 for the value of FramerateNumerator. When you use the console for
  4651  	// transcode jobs that use frame rate conversion, provide the value as a decimal
  4652  	// number for Framerate. In this example, specify 23.976.
  4653  	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"24" type:"integer"`
  4654  
  4655  	// Choose the scan line type for the output. Keep the default value, Progressive
  4656  	// (PROGRESSIVE) to create a progressive output, regardless of the scan type
  4657  	// of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD)
  4658  	// to create an output that's interlaced with the same field polarity throughout.
  4659  	// Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD)
  4660  	// to produce outputs with the same field polarity as the source. For jobs that
  4661  	// have multiple inputs, the output field polarity might change over the course
  4662  	// of the output. Follow behavior depends on the input scan type. If the source
  4663  	// is interlaced, the output will be interlaced with the same polarity as the
  4664  	// source. If the source is progressive, the output will be interlaced with
  4665  	// top field bottom field first, depending on which of the Follow options you
  4666  	// choose.
  4667  	InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"AvcIntraInterlaceMode"`
  4668  
  4669  	// Use this setting for interlaced outputs, when your output frame rate is half
  4670  	// of your input frame rate. In this situation, choose Optimized interlacing
  4671  	// (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this
  4672  	// case, each progressive frame from the input corresponds to an interlaced
  4673  	// field in the output. Keep the default value, Basic interlacing (INTERLACED),
  4674  	// for all other output frame rates. With basic interlacing, MediaConvert performs
  4675  	// any frame rate conversion first and then interlaces the frames. When you
  4676  	// choose Optimized interlacing and you set your output frame rate to a value
  4677  	// that isn't suitable for optimized interlacing, MediaConvert automatically
  4678  	// falls back to basic interlacing. Required settings: To use optimized interlacing,
  4679  	// you must set Telecine (telecine) to None (NONE) or Soft (SOFT). You can't
  4680  	// use optimized interlacing for hard telecine outputs. You must also set Interlace
  4681  	// mode (interlaceMode) to a value other than Progressive (PROGRESSIVE).
  4682  	ScanTypeConversionMode *string `locationName:"scanTypeConversionMode" type:"string" enum:"AvcIntraScanTypeConversionMode"`
  4683  
  4684  	// Ignore this setting unless your input frame rate is 23.976 or 24 frames per
  4685  	// second (fps). Enable slow PAL to create a 25 fps output. When you enable
  4686  	// slow PAL, MediaConvert relabels the video frames to 25 fps and resamples
  4687  	// your audio to keep it synchronized with the video. Note that enabling this
  4688  	// setting will slightly reduce the duration of your video. Required settings:
  4689  	// You must also set Framerate to 25. In your JSON job specification, set (framerateControl)
  4690  	// to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to
  4691  	// 1.
  4692  	SlowPal *string `locationName:"slowPal" type:"string" enum:"AvcIntraSlowPal"`
  4693  
  4694  	// When you do frame rate conversion from 23.976 frames per second (fps) to
  4695  	// 29.97 fps, and your output scan type is interlaced, you can optionally enable
  4696  	// hard telecine (HARD) to create a smoother picture. When you keep the default
  4697  	// value, None (NONE), MediaConvert does a standard frame rate conversion to
  4698  	// 29.97 without doing anything with the field polarity to create a smoother
  4699  	// picture.
  4700  	Telecine *string `locationName:"telecine" type:"string" enum:"AvcIntraTelecine"`
  4701  }
  4702  
  4703  // String returns the string representation.
  4704  //
  4705  // API parameter values that are decorated as "sensitive" in the API will not
  4706  // be included in the string output. The member name will be present, but the
  4707  // value will be replaced with "sensitive".
  4708  func (s AvcIntraSettings) String() string {
  4709  	return awsutil.Prettify(s)
  4710  }
  4711  
  4712  // GoString returns the string representation.
  4713  //
  4714  // API parameter values that are decorated as "sensitive" in the API will not
  4715  // be included in the string output. The member name will be present, but the
  4716  // value will be replaced with "sensitive".
  4717  func (s AvcIntraSettings) GoString() string {
  4718  	return s.String()
  4719  }
  4720  
  4721  // Validate inspects the fields of the type to determine if they are valid.
  4722  func (s *AvcIntraSettings) Validate() error {
  4723  	invalidParams := request.ErrInvalidParams{Context: "AvcIntraSettings"}
  4724  	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
  4725  		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
  4726  	}
  4727  	if s.FramerateNumerator != nil && *s.FramerateNumerator < 24 {
  4728  		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 24))
  4729  	}
  4730  
  4731  	if invalidParams.Len() > 0 {
  4732  		return invalidParams
  4733  	}
  4734  	return nil
  4735  }
  4736  
  4737  // SetAvcIntraClass sets the AvcIntraClass field's value.
  4738  func (s *AvcIntraSettings) SetAvcIntraClass(v string) *AvcIntraSettings {
  4739  	s.AvcIntraClass = &v
  4740  	return s
  4741  }
  4742  
  4743  // SetAvcIntraUhdSettings sets the AvcIntraUhdSettings field's value.
  4744  func (s *AvcIntraSettings) SetAvcIntraUhdSettings(v *AvcIntraUhdSettings) *AvcIntraSettings {
  4745  	s.AvcIntraUhdSettings = v
  4746  	return s
  4747  }
  4748  
  4749  // SetFramerateControl sets the FramerateControl field's value.
  4750  func (s *AvcIntraSettings) SetFramerateControl(v string) *AvcIntraSettings {
  4751  	s.FramerateControl = &v
  4752  	return s
  4753  }
  4754  
  4755  // SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value.
  4756  func (s *AvcIntraSettings) SetFramerateConversionAlgorithm(v string) *AvcIntraSettings {
  4757  	s.FramerateConversionAlgorithm = &v
  4758  	return s
  4759  }
  4760  
  4761  // SetFramerateDenominator sets the FramerateDenominator field's value.
  4762  func (s *AvcIntraSettings) SetFramerateDenominator(v int64) *AvcIntraSettings {
  4763  	s.FramerateDenominator = &v
  4764  	return s
  4765  }
  4766  
  4767  // SetFramerateNumerator sets the FramerateNumerator field's value.
  4768  func (s *AvcIntraSettings) SetFramerateNumerator(v int64) *AvcIntraSettings {
  4769  	s.FramerateNumerator = &v
  4770  	return s
  4771  }
  4772  
  4773  // SetInterlaceMode sets the InterlaceMode field's value.
  4774  func (s *AvcIntraSettings) SetInterlaceMode(v string) *AvcIntraSettings {
  4775  	s.InterlaceMode = &v
  4776  	return s
  4777  }
  4778  
  4779  // SetScanTypeConversionMode sets the ScanTypeConversionMode field's value.
  4780  func (s *AvcIntraSettings) SetScanTypeConversionMode(v string) *AvcIntraSettings {
  4781  	s.ScanTypeConversionMode = &v
  4782  	return s
  4783  }
  4784  
  4785  // SetSlowPal sets the SlowPal field's value.
  4786  func (s *AvcIntraSettings) SetSlowPal(v string) *AvcIntraSettings {
  4787  	s.SlowPal = &v
  4788  	return s
  4789  }
  4790  
  4791  // SetTelecine sets the Telecine field's value.
  4792  func (s *AvcIntraSettings) SetTelecine(v string) *AvcIntraSettings {
  4793  	s.Telecine = &v
  4794  	return s
  4795  }
  4796  
  4797  // Optional when you set AVC-Intra class (avcIntraClass) to Class 4K/2K (CLASS_4K_2K).
  4798  // When you set AVC-Intra class to a different value, this object isn't allowed.
  4799  type AvcIntraUhdSettings struct {
  4800  	_ struct{} `type:"structure"`
  4801  
  4802  	// Optional. Use Quality tuning level (qualityTuningLevel) to choose how many
  4803  	// transcoding passes MediaConvert does with your video. When you choose Multi-pass
  4804  	// (MULTI_PASS), your video quality is better and your output bitrate is more
  4805  	// accurate. That is, the actual bitrate of your output is closer to the target
  4806  	// bitrate defined in the specification. When you choose Single-pass (SINGLE_PASS),
  4807  	// your encoding time is faster. The default behavior is Single-pass (SINGLE_PASS).
  4808  	QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"AvcIntraUhdQualityTuningLevel"`
  4809  }
  4810  
  4811  // String returns the string representation.
  4812  //
  4813  // API parameter values that are decorated as "sensitive" in the API will not
  4814  // be included in the string output. The member name will be present, but the
  4815  // value will be replaced with "sensitive".
  4816  func (s AvcIntraUhdSettings) String() string {
  4817  	return awsutil.Prettify(s)
  4818  }
  4819  
  4820  // GoString returns the string representation.
  4821  //
  4822  // API parameter values that are decorated as "sensitive" in the API will not
  4823  // be included in the string output. The member name will be present, but the
  4824  // value will be replaced with "sensitive".
  4825  func (s AvcIntraUhdSettings) GoString() string {
  4826  	return s.String()
  4827  }
  4828  
  4829  // SetQualityTuningLevel sets the QualityTuningLevel field's value.
  4830  func (s *AvcIntraUhdSettings) SetQualityTuningLevel(v string) *AvcIntraUhdSettings {
  4831  	s.QualityTuningLevel = &v
  4832  	return s
  4833  }
  4834  
  4835  type BadRequestException struct {
  4836  	_            struct{}                  `type:"structure"`
  4837  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4838  
  4839  	Message_ *string `locationName:"message" type:"string"`
  4840  }
  4841  
  4842  // String returns the string representation.
  4843  //
  4844  // API parameter values that are decorated as "sensitive" in the API will not
  4845  // be included in the string output. The member name will be present, but the
  4846  // value will be replaced with "sensitive".
  4847  func (s BadRequestException) String() string {
  4848  	return awsutil.Prettify(s)
  4849  }
  4850  
  4851  // GoString returns the string representation.
  4852  //
  4853  // API parameter values that are decorated as "sensitive" in the API will not
  4854  // be included in the string output. The member name will be present, but the
  4855  // value will be replaced with "sensitive".
  4856  func (s BadRequestException) GoString() string {
  4857  	return s.String()
  4858  }
  4859  
  4860  func newErrorBadRequestException(v protocol.ResponseMetadata) error {
  4861  	return &BadRequestException{
  4862  		RespMetadata: v,
  4863  	}
  4864  }
  4865  
  4866  // Code returns the exception type name.
  4867  func (s *BadRequestException) Code() string {
  4868  	return "BadRequestException"
  4869  }
  4870  
  4871  // Message returns the exception's message.
  4872  func (s *BadRequestException) Message() string {
  4873  	if s.Message_ != nil {
  4874  		return *s.Message_
  4875  	}
  4876  	return ""
  4877  }
  4878  
  4879  // OrigErr always returns nil, satisfies awserr.Error interface.
  4880  func (s *BadRequestException) OrigErr() error {
  4881  	return nil
  4882  }
  4883  
  4884  func (s *BadRequestException) Error() string {
  4885  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4886  }
  4887  
  4888  // Status code returns the HTTP status code for the request's response error.
  4889  func (s *BadRequestException) StatusCode() int {
  4890  	return s.RespMetadata.StatusCode
  4891  }
  4892  
  4893  // RequestID returns the service's response RequestID for request.
  4894  func (s *BadRequestException) RequestID() string {
  4895  	return s.RespMetadata.RequestID
  4896  }
  4897  
  4898  // Settings related to burn-in captions. Set up burn-in captions in the same
  4899  // output as your video. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/burn-in-output-captions.html.
  4900  // When you work directly in your JSON job specification, include this object
  4901  // and any required children when you set destinationType to BURN_IN.
  4902  type BurninDestinationSettings struct {
  4903  	_ struct{} `type:"structure"`
  4904  
  4905  	// If no explicit x_position or y_position is provided, setting alignment to
  4906  	// centered will place the captions at the bottom center of the output. Similarly,
  4907  	// setting a left alignment will align captions to the bottom left of the output.
  4908  	// If x and y positions are given in conjunction with the alignment parameter,
  4909  	// the font will be justified (either left or centered) relative to those coordinates.
  4910  	// This option is not valid for source captions that are STL, 608/embedded or
  4911  	// teletext. These source settings are already pre-defined by the caption stream.
  4912  	// All burn-in and DVB-Sub font settings must match.
  4913  	Alignment *string `locationName:"alignment" type:"string" enum:"BurninSubtitleAlignment"`
  4914  
  4915  	// Ignore this setting unless your input captions are STL, any type of 608,
  4916  	// teletext, or TTML, and your output captions are burned in. Specify how the
  4917  	// service applies the color specified in the setting Font color (BurninSubtitleFontColor).
  4918  	// By default, this color is white. When you choose WHITE_TEXT_ONLY, the service
  4919  	// uses the specified font color only for text that is white in the input. When
  4920  	// you choose ALL_TEXT, the service uses the specified font color for all output
  4921  	// captions text. If you leave both settings at their default value, your output
  4922  	// font color is the same as your input font color.
  4923  	ApplyFontColor *string `locationName:"applyFontColor" type:"string" enum:"BurninSubtitleApplyFontColor"`
  4924  
  4925  	// Specifies the color of the rectangle behind the captions.All burn-in and
  4926  	// DVB-Sub font settings must match.
  4927  	BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"BurninSubtitleBackgroundColor"`
  4928  
  4929  	// Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent.
  4930  	// Leaving this parameter blank is equivalent to setting it to 0 (transparent).
  4931  	// All burn-in and DVB-Sub font settings must match.
  4932  	BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"`
  4933  
  4934  	// Specify the font that you want the service to use for your burn in captions
  4935  	// when your input captions specify a font that MediaConvert doesn't support.
  4936  	// When you keep the default value, Best match (BEST_MATCH), MediaConvert uses
  4937  	// a supported font that most closely matches the font that your input captions
  4938  	// specify. When there are multiple unsupported fonts in your input captions,
  4939  	// MediaConvert matches each font with the supported font that matches best.
  4940  	// When you explicitly choose a replacement font, MediaConvert uses that font
  4941  	// to replace all unsupported fonts from your input.
  4942  	FallbackFont *string `locationName:"fallbackFont" type:"string" enum:"BurninSubtitleFallbackFont"`
  4943  
  4944  	// Specifies the color of the burned-in captions. This option is not valid for
  4945  	// source captions that are STL, 608/embedded or teletext. These source settings
  4946  	// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
  4947  	// settings must match.
  4948  	FontColor *string `locationName:"fontColor" type:"string" enum:"BurninSubtitleFontColor"`
  4949  
  4950  	// Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.All
  4951  	// burn-in and DVB-Sub font settings must match.
  4952  	FontOpacity *int64 `locationName:"fontOpacity" type:"integer"`
  4953  
  4954  	// Font resolution in DPI (dots per inch); default is 96 dpi.All burn-in and
  4955  	// DVB-Sub font settings must match.
  4956  	FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"`
  4957  
  4958  	// Provide the font script, using an ISO 15924 script code, if the LanguageCode
  4959  	// is not sufficient for determining the script type. Where LanguageCode or
  4960  	// CustomLanguageCode is sufficient, use "AUTOMATIC" or leave unset. This is
  4961  	// used to help determine the appropriate font for rendering burn-in captions.
  4962  	FontScript *string `locationName:"fontScript" type:"string" enum:"FontScript"`
  4963  
  4964  	// A positive integer indicates the exact font size in points. Set to 0 for
  4965  	// automatic font size selection. All burn-in and DVB-Sub font settings must
  4966  	// match.
  4967  	FontSize *int64 `locationName:"fontSize" type:"integer"`
  4968  
  4969  	// Ignore this setting unless your BurninSubtitleFontColor setting is HEX. Format
  4970  	// is six or eight hexidecimal digits, representing the red, green, and blue
  4971  	// components, with the two extra digits used for an optional alpha value. For
  4972  	// example a value of 1122AABB is a red value of 0x11, a green value of 0x22,
  4973  	// a blue value of 0xAA, and an alpha value of 0xBB.
  4974  	HexFontColor *string `locationName:"hexFontColor" min:"6" type:"string"`
  4975  
  4976  	// Specifies font outline color. This option is not valid for source captions
  4977  	// that are either 608/embedded or teletext. These source settings are already
  4978  	// pre-defined by the caption stream. All burn-in and DVB-Sub font settings
  4979  	// must match.
  4980  	OutlineColor *string `locationName:"outlineColor" type:"string" enum:"BurninSubtitleOutlineColor"`
  4981  
  4982  	// Specifies font outline size in pixels. This option is not valid for source
  4983  	// captions that are either 608/embedded or teletext. These source settings
  4984  	// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
  4985  	// settings must match.
  4986  	OutlineSize *int64 `locationName:"outlineSize" type:"integer"`
  4987  
  4988  	// Specifies the color of the shadow cast by the captions.All burn-in and DVB-Sub
  4989  	// font settings must match.
  4990  	ShadowColor *string `locationName:"shadowColor" type:"string" enum:"BurninSubtitleShadowColor"`
  4991  
  4992  	// Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving
  4993  	// this parameter blank is equivalent to setting it to 0 (transparent). All
  4994  	// burn-in and DVB-Sub font settings must match.
  4995  	ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"`
  4996  
  4997  	// Specifies the horizontal offset of the shadow relative to the captions in
  4998  	// pixels. A value of -2 would result in a shadow offset 2 pixels to the left.
  4999  	// All burn-in and DVB-Sub font settings must match.
  5000  	ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"`
  5001  
  5002  	// Specifies the vertical offset of the shadow relative to the captions in pixels.
  5003  	// A value of -2 would result in a shadow offset 2 pixels above the text. All
  5004  	// burn-in and DVB-Sub font settings must match.
  5005  	ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"`
  5006  
  5007  	// Ignore this setting unless your output captions are burned in. Choose which
  5008  	// set of style and position values the service applies to your output captions.
  5009  	// When you choose ENABLED, the service uses the input style and position information
  5010  	// from your input. When you choose DISABLED, the service uses any style values
  5011  	// that you specify in your output settings. If you don't specify values, the
  5012  	// service uses default style and position values. When you choose DISABLED,
  5013  	// the service ignores all style and position values from your input.
  5014  	StylePassthrough *string `locationName:"stylePassthrough" type:"string" enum:"BurnInSubtitleStylePassthrough"`
  5015  
  5016  	// Only applies to jobs with input captions in Teletext or STL formats. Specify
  5017  	// whether the spacing between letters in your captions is set by the captions
  5018  	// grid or varies depending on letter width. Choose fixed grid to conform to
  5019  	// the spacing specified in the captions file more accurately. Choose proportional
  5020  	// to make the text easier to read if the captions are closed caption.
  5021  	TeletextSpacing *string `locationName:"teletextSpacing" type:"string" enum:"BurninSubtitleTeletextSpacing"`
  5022  
  5023  	// Specifies the horizontal position of the caption relative to the left side
  5024  	// of the output in pixels. A value of 10 would result in the captions starting
  5025  	// 10 pixels from the left of the output. If no explicit x_position is provided,
  5026  	// the horizontal caption position will be determined by the alignment parameter.
  5027  	// This option is not valid for source captions that are STL, 608/embedded or
  5028  	// teletext. These source settings are already pre-defined by the caption stream.
  5029  	// All burn-in and DVB-Sub font settings must match.
  5030  	XPosition *int64 `locationName:"xPosition" type:"integer"`
  5031  
  5032  	// Specifies the vertical position of the caption relative to the top of the
  5033  	// output in pixels. A value of 10 would result in the captions starting 10
  5034  	// pixels from the top of the output. If no explicit y_position is provided,
  5035  	// the caption will be positioned towards the bottom of the output. This option
  5036  	// is not valid for source captions that are STL, 608/embedded or teletext.
  5037  	// These source settings are already pre-defined by the caption stream. All
  5038  	// burn-in and DVB-Sub font settings must match.
  5039  	YPosition *int64 `locationName:"yPosition" type:"integer"`
  5040  }
  5041  
  5042  // String returns the string representation.
  5043  //
  5044  // API parameter values that are decorated as "sensitive" in the API will not
  5045  // be included in the string output. The member name will be present, but the
  5046  // value will be replaced with "sensitive".
  5047  func (s BurninDestinationSettings) String() string {
  5048  	return awsutil.Prettify(s)
  5049  }
  5050  
  5051  // GoString returns the string representation.
  5052  //
  5053  // API parameter values that are decorated as "sensitive" in the API will not
  5054  // be included in the string output. The member name will be present, but the
  5055  // value will be replaced with "sensitive".
  5056  func (s BurninDestinationSettings) GoString() string {
  5057  	return s.String()
  5058  }
  5059  
  5060  // Validate inspects the fields of the type to determine if they are valid.
  5061  func (s *BurninDestinationSettings) Validate() error {
  5062  	invalidParams := request.ErrInvalidParams{Context: "BurninDestinationSettings"}
  5063  	if s.FontResolution != nil && *s.FontResolution < 96 {
  5064  		invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96))
  5065  	}
  5066  	if s.HexFontColor != nil && len(*s.HexFontColor) < 6 {
  5067  		invalidParams.Add(request.NewErrParamMinLen("HexFontColor", 6))
  5068  	}
  5069  	if s.ShadowXOffset != nil && *s.ShadowXOffset < -2.147483648e+09 {
  5070  		invalidParams.Add(request.NewErrParamMinValue("ShadowXOffset", -2.147483648e+09))
  5071  	}
  5072  	if s.ShadowYOffset != nil && *s.ShadowYOffset < -2.147483648e+09 {
  5073  		invalidParams.Add(request.NewErrParamMinValue("ShadowYOffset", -2.147483648e+09))
  5074  	}
  5075  
  5076  	if invalidParams.Len() > 0 {
  5077  		return invalidParams
  5078  	}
  5079  	return nil
  5080  }
  5081  
  5082  // SetAlignment sets the Alignment field's value.
  5083  func (s *BurninDestinationSettings) SetAlignment(v string) *BurninDestinationSettings {
  5084  	s.Alignment = &v
  5085  	return s
  5086  }
  5087  
  5088  // SetApplyFontColor sets the ApplyFontColor field's value.
  5089  func (s *BurninDestinationSettings) SetApplyFontColor(v string) *BurninDestinationSettings {
  5090  	s.ApplyFontColor = &v
  5091  	return s
  5092  }
  5093  
  5094  // SetBackgroundColor sets the BackgroundColor field's value.
  5095  func (s *BurninDestinationSettings) SetBackgroundColor(v string) *BurninDestinationSettings {
  5096  	s.BackgroundColor = &v
  5097  	return s
  5098  }
  5099  
  5100  // SetBackgroundOpacity sets the BackgroundOpacity field's value.
  5101  func (s *BurninDestinationSettings) SetBackgroundOpacity(v int64) *BurninDestinationSettings {
  5102  	s.BackgroundOpacity = &v
  5103  	return s
  5104  }
  5105  
  5106  // SetFallbackFont sets the FallbackFont field's value.
  5107  func (s *BurninDestinationSettings) SetFallbackFont(v string) *BurninDestinationSettings {
  5108  	s.FallbackFont = &v
  5109  	return s
  5110  }
  5111  
  5112  // SetFontColor sets the FontColor field's value.
  5113  func (s *BurninDestinationSettings) SetFontColor(v string) *BurninDestinationSettings {
  5114  	s.FontColor = &v
  5115  	return s
  5116  }
  5117  
  5118  // SetFontOpacity sets the FontOpacity field's value.
  5119  func (s *BurninDestinationSettings) SetFontOpacity(v int64) *BurninDestinationSettings {
  5120  	s.FontOpacity = &v
  5121  	return s
  5122  }
  5123  
  5124  // SetFontResolution sets the FontResolution field's value.
  5125  func (s *BurninDestinationSettings) SetFontResolution(v int64) *BurninDestinationSettings {
  5126  	s.FontResolution = &v
  5127  	return s
  5128  }
  5129  
  5130  // SetFontScript sets the FontScript field's value.
  5131  func (s *BurninDestinationSettings) SetFontScript(v string) *BurninDestinationSettings {
  5132  	s.FontScript = &v
  5133  	return s
  5134  }
  5135  
  5136  // SetFontSize sets the FontSize field's value.
  5137  func (s *BurninDestinationSettings) SetFontSize(v int64) *BurninDestinationSettings {
  5138  	s.FontSize = &v
  5139  	return s
  5140  }
  5141  
  5142  // SetHexFontColor sets the HexFontColor field's value.
  5143  func (s *BurninDestinationSettings) SetHexFontColor(v string) *BurninDestinationSettings {
  5144  	s.HexFontColor = &v
  5145  	return s
  5146  }
  5147  
  5148  // SetOutlineColor sets the OutlineColor field's value.
  5149  func (s *BurninDestinationSettings) SetOutlineColor(v string) *BurninDestinationSettings {
  5150  	s.OutlineColor = &v
  5151  	return s
  5152  }
  5153  
  5154  // SetOutlineSize sets the OutlineSize field's value.
  5155  func (s *BurninDestinationSettings) SetOutlineSize(v int64) *BurninDestinationSettings {
  5156  	s.OutlineSize = &v
  5157  	return s
  5158  }
  5159  
  5160  // SetShadowColor sets the ShadowColor field's value.
  5161  func (s *BurninDestinationSettings) SetShadowColor(v string) *BurninDestinationSettings {
  5162  	s.ShadowColor = &v
  5163  	return s
  5164  }
  5165  
  5166  // SetShadowOpacity sets the ShadowOpacity field's value.
  5167  func (s *BurninDestinationSettings) SetShadowOpacity(v int64) *BurninDestinationSettings {
  5168  	s.ShadowOpacity = &v
  5169  	return s
  5170  }
  5171  
  5172  // SetShadowXOffset sets the ShadowXOffset field's value.
  5173  func (s *BurninDestinationSettings) SetShadowXOffset(v int64) *BurninDestinationSettings {
  5174  	s.ShadowXOffset = &v
  5175  	return s
  5176  }
  5177  
  5178  // SetShadowYOffset sets the ShadowYOffset field's value.
  5179  func (s *BurninDestinationSettings) SetShadowYOffset(v int64) *BurninDestinationSettings {
  5180  	s.ShadowYOffset = &v
  5181  	return s
  5182  }
  5183  
  5184  // SetStylePassthrough sets the StylePassthrough field's value.
  5185  func (s *BurninDestinationSettings) SetStylePassthrough(v string) *BurninDestinationSettings {
  5186  	s.StylePassthrough = &v
  5187  	return s
  5188  }
  5189  
  5190  // SetTeletextSpacing sets the TeletextSpacing field's value.
  5191  func (s *BurninDestinationSettings) SetTeletextSpacing(v string) *BurninDestinationSettings {
  5192  	s.TeletextSpacing = &v
  5193  	return s
  5194  }
  5195  
  5196  // SetXPosition sets the XPosition field's value.
  5197  func (s *BurninDestinationSettings) SetXPosition(v int64) *BurninDestinationSettings {
  5198  	s.XPosition = &v
  5199  	return s
  5200  }
  5201  
  5202  // SetYPosition sets the YPosition field's value.
  5203  func (s *BurninDestinationSettings) SetYPosition(v int64) *BurninDestinationSettings {
  5204  	s.YPosition = &v
  5205  	return s
  5206  }
  5207  
  5208  // Cancel a job by sending a request with the job ID
  5209  type CancelJobInput struct {
  5210  	_ struct{} `type:"structure" nopayload:"true"`
  5211  
  5212  	// The Job ID of the job to be cancelled.
  5213  	//
  5214  	// Id is a required field
  5215  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  5216  }
  5217  
  5218  // String returns the string representation.
  5219  //
  5220  // API parameter values that are decorated as "sensitive" in the API will not
  5221  // be included in the string output. The member name will be present, but the
  5222  // value will be replaced with "sensitive".
  5223  func (s CancelJobInput) String() string {
  5224  	return awsutil.Prettify(s)
  5225  }
  5226  
  5227  // GoString returns the string representation.
  5228  //
  5229  // API parameter values that are decorated as "sensitive" in the API will not
  5230  // be included in the string output. The member name will be present, but the
  5231  // value will be replaced with "sensitive".
  5232  func (s CancelJobInput) GoString() string {
  5233  	return s.String()
  5234  }
  5235  
  5236  // Validate inspects the fields of the type to determine if they are valid.
  5237  func (s *CancelJobInput) Validate() error {
  5238  	invalidParams := request.ErrInvalidParams{Context: "CancelJobInput"}
  5239  	if s.Id == nil {
  5240  		invalidParams.Add(request.NewErrParamRequired("Id"))
  5241  	}
  5242  	if s.Id != nil && len(*s.Id) < 1 {
  5243  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  5244  	}
  5245  
  5246  	if invalidParams.Len() > 0 {
  5247  		return invalidParams
  5248  	}
  5249  	return nil
  5250  }
  5251  
  5252  // SetId sets the Id field's value.
  5253  func (s *CancelJobInput) SetId(v string) *CancelJobInput {
  5254  	s.Id = &v
  5255  	return s
  5256  }
  5257  
  5258  // A cancel job request will receive a response with an empty body.
  5259  type CancelJobOutput struct {
  5260  	_ struct{} `type:"structure" nopayload:"true"`
  5261  }
  5262  
  5263  // String returns the string representation.
  5264  //
  5265  // API parameter values that are decorated as "sensitive" in the API will not
  5266  // be included in the string output. The member name will be present, but the
  5267  // value will be replaced with "sensitive".
  5268  func (s CancelJobOutput) String() string {
  5269  	return awsutil.Prettify(s)
  5270  }
  5271  
  5272  // GoString returns the string representation.
  5273  //
  5274  // API parameter values that are decorated as "sensitive" in the API will not
  5275  // be included in the string output. The member name will be present, but the
  5276  // value will be replaced with "sensitive".
  5277  func (s CancelJobOutput) GoString() string {
  5278  	return s.String()
  5279  }
  5280  
  5281  // This object holds groups of settings related to captions for one output.
  5282  // For each output that has captions, include one instance of CaptionDescriptions.
  5283  type CaptionDescription struct {
  5284  	_ struct{} `type:"structure"`
  5285  
  5286  	// Specifies which "Caption Selector":#inputs-caption_selector to use from each
  5287  	// input when generating captions. The name should be of the format "Caption
  5288  	// Selector ", which denotes that the Nth Caption Selector will be used from
  5289  	// each input.
  5290  	CaptionSelectorName *string `locationName:"captionSelectorName" min:"1" type:"string"`
  5291  
  5292  	// Specify the language for this captions output track. For most captions output
  5293  	// formats, the encoder puts this language information in the output captions
  5294  	// metadata. If your output captions format is DVB-Sub or Burn in, the encoder
  5295  	// uses this language information when automatically selecting the font script
  5296  	// for rendering the captions text. For all outputs, you can use an ISO 639-2
  5297  	// or ISO 639-3 code. For streaming outputs, you can also use any other code
  5298  	// in the full RFC-5646 specification. Streaming outputs are those that are
  5299  	// in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft
  5300  	// Smooth Streaming.
  5301  	CustomLanguageCode *string `locationName:"customLanguageCode" type:"string"`
  5302  
  5303  	// Settings related to one captions tab on the MediaConvert console. In your
  5304  	// job JSON, an instance of captions DestinationSettings is equivalent to one
  5305  	// captions tab in the console. Usually, one captions tab corresponds to one
  5306  	// output captions track. Depending on your output captions format, one tab
  5307  	// might correspond to a set of output captions tracks. For more information,
  5308  	// see https://docs.aws.amazon.com/mediaconvert/latest/ug/including-captions.html.
  5309  	DestinationSettings *CaptionDestinationSettings `locationName:"destinationSettings" type:"structure"`
  5310  
  5311  	// Specify the language of this captions output track. For most captions output
  5312  	// formats, the encoder puts this language information in the output captions
  5313  	// metadata. If your output captions format is DVB-Sub or Burn in, the encoder
  5314  	// uses this language information to choose the font language for rendering
  5315  	// the captions text.
  5316  	LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"`
  5317  
  5318  	// Specify a label for this set of output captions. For example, "English",
  5319  	// "Director commentary", or "track_2". For streaming outputs, MediaConvert
  5320  	// passes this information into destination manifests for display on the end-viewer's
  5321  	// player device. For outputs in other output groups, the service ignores this
  5322  	// setting.
  5323  	LanguageDescription *string `locationName:"languageDescription" type:"string"`
  5324  }
  5325  
  5326  // String returns the string representation.
  5327  //
  5328  // API parameter values that are decorated as "sensitive" in the API will not
  5329  // be included in the string output. The member name will be present, but the
  5330  // value will be replaced with "sensitive".
  5331  func (s CaptionDescription) String() string {
  5332  	return awsutil.Prettify(s)
  5333  }
  5334  
  5335  // GoString returns the string representation.
  5336  //
  5337  // API parameter values that are decorated as "sensitive" in the API will not
  5338  // be included in the string output. The member name will be present, but the
  5339  // value will be replaced with "sensitive".
  5340  func (s CaptionDescription) GoString() string {
  5341  	return s.String()
  5342  }
  5343  
  5344  // Validate inspects the fields of the type to determine if they are valid.
  5345  func (s *CaptionDescription) Validate() error {
  5346  	invalidParams := request.ErrInvalidParams{Context: "CaptionDescription"}
  5347  	if s.CaptionSelectorName != nil && len(*s.CaptionSelectorName) < 1 {
  5348  		invalidParams.Add(request.NewErrParamMinLen("CaptionSelectorName", 1))
  5349  	}
  5350  	if s.DestinationSettings != nil {
  5351  		if err := s.DestinationSettings.Validate(); err != nil {
  5352  			invalidParams.AddNested("DestinationSettings", err.(request.ErrInvalidParams))
  5353  		}
  5354  	}
  5355  
  5356  	if invalidParams.Len() > 0 {
  5357  		return invalidParams
  5358  	}
  5359  	return nil
  5360  }
  5361  
  5362  // SetCaptionSelectorName sets the CaptionSelectorName field's value.
  5363  func (s *CaptionDescription) SetCaptionSelectorName(v string) *CaptionDescription {
  5364  	s.CaptionSelectorName = &v
  5365  	return s
  5366  }
  5367  
  5368  // SetCustomLanguageCode sets the CustomLanguageCode field's value.
  5369  func (s *CaptionDescription) SetCustomLanguageCode(v string) *CaptionDescription {
  5370  	s.CustomLanguageCode = &v
  5371  	return s
  5372  }
  5373  
  5374  // SetDestinationSettings sets the DestinationSettings field's value.
  5375  func (s *CaptionDescription) SetDestinationSettings(v *CaptionDestinationSettings) *CaptionDescription {
  5376  	s.DestinationSettings = v
  5377  	return s
  5378  }
  5379  
  5380  // SetLanguageCode sets the LanguageCode field's value.
  5381  func (s *CaptionDescription) SetLanguageCode(v string) *CaptionDescription {
  5382  	s.LanguageCode = &v
  5383  	return s
  5384  }
  5385  
  5386  // SetLanguageDescription sets the LanguageDescription field's value.
  5387  func (s *CaptionDescription) SetLanguageDescription(v string) *CaptionDescription {
  5388  	s.LanguageDescription = &v
  5389  	return s
  5390  }
  5391  
  5392  // Caption Description for preset
  5393  type CaptionDescriptionPreset struct {
  5394  	_ struct{} `type:"structure"`
  5395  
  5396  	// Specify the language for this captions output track. For most captions output
  5397  	// formats, the encoder puts this language information in the output captions
  5398  	// metadata. If your output captions format is DVB-Sub or Burn in, the encoder
  5399  	// uses this language information when automatically selecting the font script
  5400  	// for rendering the captions text. For all outputs, you can use an ISO 639-2
  5401  	// or ISO 639-3 code. For streaming outputs, you can also use any other code
  5402  	// in the full RFC-5646 specification. Streaming outputs are those that are
  5403  	// in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft
  5404  	// Smooth Streaming.
  5405  	CustomLanguageCode *string `locationName:"customLanguageCode" type:"string"`
  5406  
  5407  	// Settings related to one captions tab on the MediaConvert console. In your
  5408  	// job JSON, an instance of captions DestinationSettings is equivalent to one
  5409  	// captions tab in the console. Usually, one captions tab corresponds to one
  5410  	// output captions track. Depending on your output captions format, one tab
  5411  	// might correspond to a set of output captions tracks. For more information,
  5412  	// see https://docs.aws.amazon.com/mediaconvert/latest/ug/including-captions.html.
  5413  	DestinationSettings *CaptionDestinationSettings `locationName:"destinationSettings" type:"structure"`
  5414  
  5415  	// Specify the language of this captions output track. For most captions output
  5416  	// formats, the encoder puts this language information in the output captions
  5417  	// metadata. If your output captions format is DVB-Sub or Burn in, the encoder
  5418  	// uses this language information to choose the font language for rendering
  5419  	// the captions text.
  5420  	LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"`
  5421  
  5422  	// Specify a label for this set of output captions. For example, "English",
  5423  	// "Director commentary", or "track_2". For streaming outputs, MediaConvert
  5424  	// passes this information into destination manifests for display on the end-viewer's
  5425  	// player device. For outputs in other output groups, the service ignores this
  5426  	// setting.
  5427  	LanguageDescription *string `locationName:"languageDescription" type:"string"`
  5428  }
  5429  
  5430  // String returns the string representation.
  5431  //
  5432  // API parameter values that are decorated as "sensitive" in the API will not
  5433  // be included in the string output. The member name will be present, but the
  5434  // value will be replaced with "sensitive".
  5435  func (s CaptionDescriptionPreset) String() string {
  5436  	return awsutil.Prettify(s)
  5437  }
  5438  
  5439  // GoString returns the string representation.
  5440  //
  5441  // API parameter values that are decorated as "sensitive" in the API will not
  5442  // be included in the string output. The member name will be present, but the
  5443  // value will be replaced with "sensitive".
  5444  func (s CaptionDescriptionPreset) GoString() string {
  5445  	return s.String()
  5446  }
  5447  
  5448  // Validate inspects the fields of the type to determine if they are valid.
  5449  func (s *CaptionDescriptionPreset) Validate() error {
  5450  	invalidParams := request.ErrInvalidParams{Context: "CaptionDescriptionPreset"}
  5451  	if s.DestinationSettings != nil {
  5452  		if err := s.DestinationSettings.Validate(); err != nil {
  5453  			invalidParams.AddNested("DestinationSettings", err.(request.ErrInvalidParams))
  5454  		}
  5455  	}
  5456  
  5457  	if invalidParams.Len() > 0 {
  5458  		return invalidParams
  5459  	}
  5460  	return nil
  5461  }
  5462  
  5463  // SetCustomLanguageCode sets the CustomLanguageCode field's value.
  5464  func (s *CaptionDescriptionPreset) SetCustomLanguageCode(v string) *CaptionDescriptionPreset {
  5465  	s.CustomLanguageCode = &v
  5466  	return s
  5467  }
  5468  
  5469  // SetDestinationSettings sets the DestinationSettings field's value.
  5470  func (s *CaptionDescriptionPreset) SetDestinationSettings(v *CaptionDestinationSettings) *CaptionDescriptionPreset {
  5471  	s.DestinationSettings = v
  5472  	return s
  5473  }
  5474  
  5475  // SetLanguageCode sets the LanguageCode field's value.
  5476  func (s *CaptionDescriptionPreset) SetLanguageCode(v string) *CaptionDescriptionPreset {
  5477  	s.LanguageCode = &v
  5478  	return s
  5479  }
  5480  
  5481  // SetLanguageDescription sets the LanguageDescription field's value.
  5482  func (s *CaptionDescriptionPreset) SetLanguageDescription(v string) *CaptionDescriptionPreset {
  5483  	s.LanguageDescription = &v
  5484  	return s
  5485  }
  5486  
  5487  // Settings related to one captions tab on the MediaConvert console. In your
  5488  // job JSON, an instance of captions DestinationSettings is equivalent to one
  5489  // captions tab in the console. Usually, one captions tab corresponds to one
  5490  // output captions track. Depending on your output captions format, one tab
  5491  // might correspond to a set of output captions tracks. For more information,
  5492  // see https://docs.aws.amazon.com/mediaconvert/latest/ug/including-captions.html.
  5493  type CaptionDestinationSettings struct {
  5494  	_ struct{} `type:"structure"`
  5495  
  5496  	// Settings related to burn-in captions. Set up burn-in captions in the same
  5497  	// output as your video. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/burn-in-output-captions.html.
  5498  	// When you work directly in your JSON job specification, include this object
  5499  	// and any required children when you set destinationType to BURN_IN.
  5500  	BurninDestinationSettings *BurninDestinationSettings `locationName:"burninDestinationSettings" type:"structure"`
  5501  
  5502  	// Specify the format for this set of captions on this output. The default format
  5503  	// is embedded without SCTE-20. Note that your choice of video output container
  5504  	// constrains your choice of output captions format. For more information, see
  5505  	// https://docs.aws.amazon.com/mediaconvert/latest/ug/captions-support-tables.html.
  5506  	// If you are using SCTE-20 and you want to create an output that complies with
  5507  	// the SCTE-43 spec, choose SCTE-20 plus embedded (SCTE20_PLUS_EMBEDDED). To
  5508  	// create a non-compliant output where the embedded captions come first, choose
  5509  	// Embedded plus SCTE-20 (EMBEDDED_PLUS_SCTE20).
  5510  	DestinationType *string `locationName:"destinationType" type:"string" enum:"CaptionDestinationType"`
  5511  
  5512  	// Settings related to DVB-Sub captions. Set up DVB-Sub captions in the same
  5513  	// output as your video. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/dvb-sub-output-captions.html.
  5514  	// When you work directly in your JSON job specification, include this object
  5515  	// and any required children when you set destinationType to DVB_SUB.
  5516  	DvbSubDestinationSettings *DvbSubDestinationSettings `locationName:"dvbSubDestinationSettings" type:"structure"`
  5517  
  5518  	// Settings related to CEA/EIA-608 and CEA/EIA-708 (also called embedded or
  5519  	// ancillary) captions. Set up embedded captions in the same output as your
  5520  	// video. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/embedded-output-captions.html.
  5521  	// When you work directly in your JSON job specification, include this object
  5522  	// and any required children when you set destinationType to EMBEDDED, EMBEDDED_PLUS_SCTE20,
  5523  	// or SCTE20_PLUS_EMBEDDED.
  5524  	EmbeddedDestinationSettings *EmbeddedDestinationSettings `locationName:"embeddedDestinationSettings" type:"structure"`
  5525  
  5526  	// Settings related to IMSC captions. IMSC is a sidecar format that holds captions
  5527  	// in a file that is separate from the video container. Set up sidecar captions
  5528  	// in the same output group, but different output from your video. For more
  5529  	// information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/ttml-and-webvtt-output-captions.html.
  5530  	// When you work directly in your JSON job specification, include this object
  5531  	// and any required children when you set destinationType to IMSC.
  5532  	ImscDestinationSettings *ImscDestinationSettings `locationName:"imscDestinationSettings" type:"structure"`
  5533  
  5534  	// Settings related to SCC captions. SCC is a sidecar format that holds captions
  5535  	// in a file that is separate from the video container. Set up sidecar captions
  5536  	// in the same output group, but different output from your video. For more
  5537  	// information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/scc-srt-output-captions.html.
  5538  	// When you work directly in your JSON job specification, include this object
  5539  	// and any required children when you set destinationType to SCC.
  5540  	SccDestinationSettings *SccDestinationSettings `locationName:"sccDestinationSettings" type:"structure"`
  5541  
  5542  	// SRT Destination Settings
  5543  	SrtDestinationSettings *SrtDestinationSettings `locationName:"srtDestinationSettings" type:"structure"`
  5544  
  5545  	// Settings related to teletext captions. Set up teletext captions in the same
  5546  	// output as your video. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/teletext-output-captions.html.
  5547  	// When you work directly in your JSON job specification, include this object
  5548  	// and any required children when you set destinationType to TELETEXT.
  5549  	TeletextDestinationSettings *TeletextDestinationSettings `locationName:"teletextDestinationSettings" type:"structure"`
  5550  
  5551  	// Settings related to TTML captions. TTML is a sidecar format that holds captions
  5552  	// in a file that is separate from the video container. Set up sidecar captions
  5553  	// in the same output group, but different output from your video. For more
  5554  	// information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/ttml-and-webvtt-output-captions.html.
  5555  	// When you work directly in your JSON job specification, include this object
  5556  	// and any required children when you set destinationType to TTML.
  5557  	TtmlDestinationSettings *TtmlDestinationSettings `locationName:"ttmlDestinationSettings" type:"structure"`
  5558  
  5559  	// WEBVTT Destination Settings
  5560  	WebvttDestinationSettings *WebvttDestinationSettings `locationName:"webvttDestinationSettings" type:"structure"`
  5561  }
  5562  
  5563  // String returns the string representation.
  5564  //
  5565  // API parameter values that are decorated as "sensitive" in the API will not
  5566  // be included in the string output. The member name will be present, but the
  5567  // value will be replaced with "sensitive".
  5568  func (s CaptionDestinationSettings) String() string {
  5569  	return awsutil.Prettify(s)
  5570  }
  5571  
  5572  // GoString returns the string representation.
  5573  //
  5574  // API parameter values that are decorated as "sensitive" in the API will not
  5575  // be included in the string output. The member name will be present, but the
  5576  // value will be replaced with "sensitive".
  5577  func (s CaptionDestinationSettings) GoString() string {
  5578  	return s.String()
  5579  }
  5580  
  5581  // Validate inspects the fields of the type to determine if they are valid.
  5582  func (s *CaptionDestinationSettings) Validate() error {
  5583  	invalidParams := request.ErrInvalidParams{Context: "CaptionDestinationSettings"}
  5584  	if s.BurninDestinationSettings != nil {
  5585  		if err := s.BurninDestinationSettings.Validate(); err != nil {
  5586  			invalidParams.AddNested("BurninDestinationSettings", err.(request.ErrInvalidParams))
  5587  		}
  5588  	}
  5589  	if s.DvbSubDestinationSettings != nil {
  5590  		if err := s.DvbSubDestinationSettings.Validate(); err != nil {
  5591  			invalidParams.AddNested("DvbSubDestinationSettings", err.(request.ErrInvalidParams))
  5592  		}
  5593  	}
  5594  	if s.EmbeddedDestinationSettings != nil {
  5595  		if err := s.EmbeddedDestinationSettings.Validate(); err != nil {
  5596  			invalidParams.AddNested("EmbeddedDestinationSettings", err.(request.ErrInvalidParams))
  5597  		}
  5598  	}
  5599  	if s.TeletextDestinationSettings != nil {
  5600  		if err := s.TeletextDestinationSettings.Validate(); err != nil {
  5601  			invalidParams.AddNested("TeletextDestinationSettings", err.(request.ErrInvalidParams))
  5602  		}
  5603  	}
  5604  
  5605  	if invalidParams.Len() > 0 {
  5606  		return invalidParams
  5607  	}
  5608  	return nil
  5609  }
  5610  
  5611  // SetBurninDestinationSettings sets the BurninDestinationSettings field's value.
  5612  func (s *CaptionDestinationSettings) SetBurninDestinationSettings(v *BurninDestinationSettings) *CaptionDestinationSettings {
  5613  	s.BurninDestinationSettings = v
  5614  	return s
  5615  }
  5616  
  5617  // SetDestinationType sets the DestinationType field's value.
  5618  func (s *CaptionDestinationSettings) SetDestinationType(v string) *CaptionDestinationSettings {
  5619  	s.DestinationType = &v
  5620  	return s
  5621  }
  5622  
  5623  // SetDvbSubDestinationSettings sets the DvbSubDestinationSettings field's value.
  5624  func (s *CaptionDestinationSettings) SetDvbSubDestinationSettings(v *DvbSubDestinationSettings) *CaptionDestinationSettings {
  5625  	s.DvbSubDestinationSettings = v
  5626  	return s
  5627  }
  5628  
  5629  // SetEmbeddedDestinationSettings sets the EmbeddedDestinationSettings field's value.
  5630  func (s *CaptionDestinationSettings) SetEmbeddedDestinationSettings(v *EmbeddedDestinationSettings) *CaptionDestinationSettings {
  5631  	s.EmbeddedDestinationSettings = v
  5632  	return s
  5633  }
  5634  
  5635  // SetImscDestinationSettings sets the ImscDestinationSettings field's value.
  5636  func (s *CaptionDestinationSettings) SetImscDestinationSettings(v *ImscDestinationSettings) *CaptionDestinationSettings {
  5637  	s.ImscDestinationSettings = v
  5638  	return s
  5639  }
  5640  
  5641  // SetSccDestinationSettings sets the SccDestinationSettings field's value.
  5642  func (s *CaptionDestinationSettings) SetSccDestinationSettings(v *SccDestinationSettings) *CaptionDestinationSettings {
  5643  	s.SccDestinationSettings = v
  5644  	return s
  5645  }
  5646  
  5647  // SetSrtDestinationSettings sets the SrtDestinationSettings field's value.
  5648  func (s *CaptionDestinationSettings) SetSrtDestinationSettings(v *SrtDestinationSettings) *CaptionDestinationSettings {
  5649  	s.SrtDestinationSettings = v
  5650  	return s
  5651  }
  5652  
  5653  // SetTeletextDestinationSettings sets the TeletextDestinationSettings field's value.
  5654  func (s *CaptionDestinationSettings) SetTeletextDestinationSettings(v *TeletextDestinationSettings) *CaptionDestinationSettings {
  5655  	s.TeletextDestinationSettings = v
  5656  	return s
  5657  }
  5658  
  5659  // SetTtmlDestinationSettings sets the TtmlDestinationSettings field's value.
  5660  func (s *CaptionDestinationSettings) SetTtmlDestinationSettings(v *TtmlDestinationSettings) *CaptionDestinationSettings {
  5661  	s.TtmlDestinationSettings = v
  5662  	return s
  5663  }
  5664  
  5665  // SetWebvttDestinationSettings sets the WebvttDestinationSettings field's value.
  5666  func (s *CaptionDestinationSettings) SetWebvttDestinationSettings(v *WebvttDestinationSettings) *CaptionDestinationSettings {
  5667  	s.WebvttDestinationSettings = v
  5668  	return s
  5669  }
  5670  
  5671  // Use captions selectors to specify the captions data from your input that
  5672  // you use in your outputs. You can use up to 20 captions selectors per input.
  5673  type CaptionSelector struct {
  5674  	_ struct{} `type:"structure"`
  5675  
  5676  	// The specific language to extract from source, using the ISO 639-2 or ISO
  5677  	// 639-3 three-letter language code. If input is SCTE-27, complete this field
  5678  	// and/or PID to select the caption language to extract. If input is DVB-Sub
  5679  	// and output is Burn-in or SMPTE-TT, complete this field and/or PID to select
  5680  	// the caption language to extract. If input is DVB-Sub that is being passed
  5681  	// through, omit this field (and PID field); there is no way to extract a specific
  5682  	// language with pass-through captions.
  5683  	CustomLanguageCode *string `locationName:"customLanguageCode" min:"3" type:"string"`
  5684  
  5685  	// The specific language to extract from source. If input is SCTE-27, complete
  5686  	// this field and/or PID to select the caption language to extract. If input
  5687  	// is DVB-Sub and output is Burn-in or SMPTE-TT, complete this field and/or
  5688  	// PID to select the caption language to extract. If input is DVB-Sub that is
  5689  	// being passed through, omit this field (and PID field); there is no way to
  5690  	// extract a specific language with pass-through captions.
  5691  	LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"`
  5692  
  5693  	// If your input captions are SCC, TTML, STL, SMI, SRT, or IMSC in an xml file,
  5694  	// specify the URI of the input captions source file. If your input captions
  5695  	// are IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings.
  5696  	SourceSettings *CaptionSourceSettings `locationName:"sourceSettings" type:"structure"`
  5697  }
  5698  
  5699  // String returns the string representation.
  5700  //
  5701  // API parameter values that are decorated as "sensitive" in the API will not
  5702  // be included in the string output. The member name will be present, but the
  5703  // value will be replaced with "sensitive".
  5704  func (s CaptionSelector) String() string {
  5705  	return awsutil.Prettify(s)
  5706  }
  5707  
  5708  // GoString returns the string representation.
  5709  //
  5710  // API parameter values that are decorated as "sensitive" in the API will not
  5711  // be included in the string output. The member name will be present, but the
  5712  // value will be replaced with "sensitive".
  5713  func (s CaptionSelector) GoString() string {
  5714  	return s.String()
  5715  }
  5716  
  5717  // Validate inspects the fields of the type to determine if they are valid.
  5718  func (s *CaptionSelector) Validate() error {
  5719  	invalidParams := request.ErrInvalidParams{Context: "CaptionSelector"}
  5720  	if s.CustomLanguageCode != nil && len(*s.CustomLanguageCode) < 3 {
  5721  		invalidParams.Add(request.NewErrParamMinLen("CustomLanguageCode", 3))
  5722  	}
  5723  	if s.SourceSettings != nil {
  5724  		if err := s.SourceSettings.Validate(); err != nil {
  5725  			invalidParams.AddNested("SourceSettings", err.(request.ErrInvalidParams))
  5726  		}
  5727  	}
  5728  
  5729  	if invalidParams.Len() > 0 {
  5730  		return invalidParams
  5731  	}
  5732  	return nil
  5733  }
  5734  
  5735  // SetCustomLanguageCode sets the CustomLanguageCode field's value.
  5736  func (s *CaptionSelector) SetCustomLanguageCode(v string) *CaptionSelector {
  5737  	s.CustomLanguageCode = &v
  5738  	return s
  5739  }
  5740  
  5741  // SetLanguageCode sets the LanguageCode field's value.
  5742  func (s *CaptionSelector) SetLanguageCode(v string) *CaptionSelector {
  5743  	s.LanguageCode = &v
  5744  	return s
  5745  }
  5746  
  5747  // SetSourceSettings sets the SourceSettings field's value.
  5748  func (s *CaptionSelector) SetSourceSettings(v *CaptionSourceSettings) *CaptionSelector {
  5749  	s.SourceSettings = v
  5750  	return s
  5751  }
  5752  
  5753  // Ignore this setting unless your input captions format is SCC. To have the
  5754  // service compensate for differing frame rates between your input captions
  5755  // and input video, specify the frame rate of the captions file. Specify this
  5756  // value as a fraction, using the settings Framerate numerator (framerateNumerator)
  5757  // and Framerate denominator (framerateDenominator). For example, you might
  5758  // specify 24 / 1 for 24 fps, 25 / 1 for 25 fps, 24000 / 1001 for 23.976 fps,
  5759  // or 30000 / 1001 for 29.97 fps.
  5760  type CaptionSourceFramerate struct {
  5761  	_ struct{} `type:"structure"`
  5762  
  5763  	// Specify the denominator of the fraction that represents the frame rate for
  5764  	// the setting Caption source frame rate (CaptionSourceFramerate). Use this
  5765  	// setting along with the setting Framerate numerator (framerateNumerator).
  5766  	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
  5767  
  5768  	// Specify the numerator of the fraction that represents the frame rate for
  5769  	// the setting Caption source frame rate (CaptionSourceFramerate). Use this
  5770  	// setting along with the setting Framerate denominator (framerateDenominator).
  5771  	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"`
  5772  }
  5773  
  5774  // String returns the string representation.
  5775  //
  5776  // API parameter values that are decorated as "sensitive" in the API will not
  5777  // be included in the string output. The member name will be present, but the
  5778  // value will be replaced with "sensitive".
  5779  func (s CaptionSourceFramerate) String() string {
  5780  	return awsutil.Prettify(s)
  5781  }
  5782  
  5783  // GoString returns the string representation.
  5784  //
  5785  // API parameter values that are decorated as "sensitive" in the API will not
  5786  // be included in the string output. The member name will be present, but the
  5787  // value will be replaced with "sensitive".
  5788  func (s CaptionSourceFramerate) GoString() string {
  5789  	return s.String()
  5790  }
  5791  
  5792  // Validate inspects the fields of the type to determine if they are valid.
  5793  func (s *CaptionSourceFramerate) Validate() error {
  5794  	invalidParams := request.ErrInvalidParams{Context: "CaptionSourceFramerate"}
  5795  	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
  5796  		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
  5797  	}
  5798  	if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 {
  5799  		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1))
  5800  	}
  5801  
  5802  	if invalidParams.Len() > 0 {
  5803  		return invalidParams
  5804  	}
  5805  	return nil
  5806  }
  5807  
  5808  // SetFramerateDenominator sets the FramerateDenominator field's value.
  5809  func (s *CaptionSourceFramerate) SetFramerateDenominator(v int64) *CaptionSourceFramerate {
  5810  	s.FramerateDenominator = &v
  5811  	return s
  5812  }
  5813  
  5814  // SetFramerateNumerator sets the FramerateNumerator field's value.
  5815  func (s *CaptionSourceFramerate) SetFramerateNumerator(v int64) *CaptionSourceFramerate {
  5816  	s.FramerateNumerator = &v
  5817  	return s
  5818  }
  5819  
  5820  // If your input captions are SCC, TTML, STL, SMI, SRT, or IMSC in an xml file,
  5821  // specify the URI of the input captions source file. If your input captions
  5822  // are IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings.
  5823  type CaptionSourceSettings struct {
  5824  	_ struct{} `type:"structure"`
  5825  
  5826  	// Settings for ancillary captions source.
  5827  	AncillarySourceSettings *AncillarySourceSettings `locationName:"ancillarySourceSettings" type:"structure"`
  5828  
  5829  	// DVB Sub Source Settings
  5830  	DvbSubSourceSettings *DvbSubSourceSettings `locationName:"dvbSubSourceSettings" type:"structure"`
  5831  
  5832  	// Settings for embedded captions Source
  5833  	EmbeddedSourceSettings *EmbeddedSourceSettings `locationName:"embeddedSourceSettings" type:"structure"`
  5834  
  5835  	// If your input captions are SCC, SMI, SRT, STL, TTML, WebVTT, or IMSC 1.1
  5836  	// in an xml file, specify the URI of the input caption source file. If your
  5837  	// caption source is IMSC in an IMF package, use TrackSourceSettings instead
  5838  	// of FileSoureSettings.
  5839  	FileSourceSettings *FileSourceSettings `locationName:"fileSourceSettings" type:"structure"`
  5840  
  5841  	// Use Source (SourceType) to identify the format of your input captions. The
  5842  	// service cannot auto-detect caption format.
  5843  	SourceType *string `locationName:"sourceType" type:"string" enum:"CaptionSourceType"`
  5844  
  5845  	// Settings specific to Teletext caption sources, including Page number.
  5846  	TeletextSourceSettings *TeletextSourceSettings `locationName:"teletextSourceSettings" type:"structure"`
  5847  
  5848  	// Settings specific to caption sources that are specified by track number.
  5849  	// Currently, this is only IMSC captions in an IMF package. If your caption
  5850  	// source is IMSC 1.1 in a separate xml file, use FileSourceSettings instead
  5851  	// of TrackSourceSettings.
  5852  	TrackSourceSettings *TrackSourceSettings `locationName:"trackSourceSettings" type:"structure"`
  5853  
  5854  	// Settings specific to WebVTT sources in HLS alternative rendition group. Specify
  5855  	// the properties (renditionGroupId, renditionName or renditionLanguageCode)
  5856  	// to identify the unique subtitle track among the alternative rendition groups
  5857  	// present in the HLS manifest. If no unique track is found, or multiple tracks
  5858  	// match the specified properties, the job fails. If there is only one subtitle
  5859  	// track in the rendition group, the settings can be left empty and the default
  5860  	// subtitle track will be chosen. If your caption source is a sidecar file,
  5861  	// use FileSourceSettings instead of WebvttHlsSourceSettings.
  5862  	WebvttHlsSourceSettings *WebvttHlsSourceSettings `locationName:"webvttHlsSourceSettings" type:"structure"`
  5863  }
  5864  
  5865  // String returns the string representation.
  5866  //
  5867  // API parameter values that are decorated as "sensitive" in the API will not
  5868  // be included in the string output. The member name will be present, but the
  5869  // value will be replaced with "sensitive".
  5870  func (s CaptionSourceSettings) String() string {
  5871  	return awsutil.Prettify(s)
  5872  }
  5873  
  5874  // GoString returns the string representation.
  5875  //
  5876  // API parameter values that are decorated as "sensitive" in the API will not
  5877  // be included in the string output. The member name will be present, but the
  5878  // value will be replaced with "sensitive".
  5879  func (s CaptionSourceSettings) GoString() string {
  5880  	return s.String()
  5881  }
  5882  
  5883  // Validate inspects the fields of the type to determine if they are valid.
  5884  func (s *CaptionSourceSettings) Validate() error {
  5885  	invalidParams := request.ErrInvalidParams{Context: "CaptionSourceSettings"}
  5886  	if s.AncillarySourceSettings != nil {
  5887  		if err := s.AncillarySourceSettings.Validate(); err != nil {
  5888  			invalidParams.AddNested("AncillarySourceSettings", err.(request.ErrInvalidParams))
  5889  		}
  5890  	}
  5891  	if s.DvbSubSourceSettings != nil {
  5892  		if err := s.DvbSubSourceSettings.Validate(); err != nil {
  5893  			invalidParams.AddNested("DvbSubSourceSettings", err.(request.ErrInvalidParams))
  5894  		}
  5895  	}
  5896  	if s.EmbeddedSourceSettings != nil {
  5897  		if err := s.EmbeddedSourceSettings.Validate(); err != nil {
  5898  			invalidParams.AddNested("EmbeddedSourceSettings", err.(request.ErrInvalidParams))
  5899  		}
  5900  	}
  5901  	if s.FileSourceSettings != nil {
  5902  		if err := s.FileSourceSettings.Validate(); err != nil {
  5903  			invalidParams.AddNested("FileSourceSettings", err.(request.ErrInvalidParams))
  5904  		}
  5905  	}
  5906  	if s.TeletextSourceSettings != nil {
  5907  		if err := s.TeletextSourceSettings.Validate(); err != nil {
  5908  			invalidParams.AddNested("TeletextSourceSettings", err.(request.ErrInvalidParams))
  5909  		}
  5910  	}
  5911  	if s.TrackSourceSettings != nil {
  5912  		if err := s.TrackSourceSettings.Validate(); err != nil {
  5913  			invalidParams.AddNested("TrackSourceSettings", err.(request.ErrInvalidParams))
  5914  		}
  5915  	}
  5916  
  5917  	if invalidParams.Len() > 0 {
  5918  		return invalidParams
  5919  	}
  5920  	return nil
  5921  }
  5922  
  5923  // SetAncillarySourceSettings sets the AncillarySourceSettings field's value.
  5924  func (s *CaptionSourceSettings) SetAncillarySourceSettings(v *AncillarySourceSettings) *CaptionSourceSettings {
  5925  	s.AncillarySourceSettings = v
  5926  	return s
  5927  }
  5928  
  5929  // SetDvbSubSourceSettings sets the DvbSubSourceSettings field's value.
  5930  func (s *CaptionSourceSettings) SetDvbSubSourceSettings(v *DvbSubSourceSettings) *CaptionSourceSettings {
  5931  	s.DvbSubSourceSettings = v
  5932  	return s
  5933  }
  5934  
  5935  // SetEmbeddedSourceSettings sets the EmbeddedSourceSettings field's value.
  5936  func (s *CaptionSourceSettings) SetEmbeddedSourceSettings(v *EmbeddedSourceSettings) *CaptionSourceSettings {
  5937  	s.EmbeddedSourceSettings = v
  5938  	return s
  5939  }
  5940  
  5941  // SetFileSourceSettings sets the FileSourceSettings field's value.
  5942  func (s *CaptionSourceSettings) SetFileSourceSettings(v *FileSourceSettings) *CaptionSourceSettings {
  5943  	s.FileSourceSettings = v
  5944  	return s
  5945  }
  5946  
  5947  // SetSourceType sets the SourceType field's value.
  5948  func (s *CaptionSourceSettings) SetSourceType(v string) *CaptionSourceSettings {
  5949  	s.SourceType = &v
  5950  	return s
  5951  }
  5952  
  5953  // SetTeletextSourceSettings sets the TeletextSourceSettings field's value.
  5954  func (s *CaptionSourceSettings) SetTeletextSourceSettings(v *TeletextSourceSettings) *CaptionSourceSettings {
  5955  	s.TeletextSourceSettings = v
  5956  	return s
  5957  }
  5958  
  5959  // SetTrackSourceSettings sets the TrackSourceSettings field's value.
  5960  func (s *CaptionSourceSettings) SetTrackSourceSettings(v *TrackSourceSettings) *CaptionSourceSettings {
  5961  	s.TrackSourceSettings = v
  5962  	return s
  5963  }
  5964  
  5965  // SetWebvttHlsSourceSettings sets the WebvttHlsSourceSettings field's value.
  5966  func (s *CaptionSourceSettings) SetWebvttHlsSourceSettings(v *WebvttHlsSourceSettings) *CaptionSourceSettings {
  5967  	s.WebvttHlsSourceSettings = v
  5968  	return s
  5969  }
  5970  
  5971  // Channel mapping (ChannelMapping) contains the group of fields that hold the
  5972  // remixing value for each channel, in dB. Specify remix values to indicate
  5973  // how much of the content from your input audio channel you want in your output
  5974  // audio channels. Each instance of the InputChannels or InputChannelsFineTune
  5975  // array specifies these values for one output channel. Use one instance of
  5976  // this array for each output channel. In the console, each array corresponds
  5977  // to a column in the graphical depiction of the mapping matrix. The rows of
  5978  // the graphical matrix correspond to input channels. Valid values are within
  5979  // the range from -60 (mute) through 6. A setting of 0 passes the input channel
  5980  // unchanged to the output channel (no attenuation or amplification). Use InputChannels
  5981  // or InputChannelsFineTune to specify your remix values. Don't use both.
  5982  type ChannelMapping struct {
  5983  	_ struct{} `type:"structure"`
  5984  
  5985  	// In your JSON job specification, include one child of OutputChannels for each
  5986  	// audio channel that you want in your output. Each child should contain one
  5987  	// instance of InputChannels or InputChannelsFineTune.
  5988  	OutputChannels []*OutputChannelMapping `locationName:"outputChannels" type:"list"`
  5989  }
  5990  
  5991  // String returns the string representation.
  5992  //
  5993  // API parameter values that are decorated as "sensitive" in the API will not
  5994  // be included in the string output. The member name will be present, but the
  5995  // value will be replaced with "sensitive".
  5996  func (s ChannelMapping) String() string {
  5997  	return awsutil.Prettify(s)
  5998  }
  5999  
  6000  // GoString returns the string representation.
  6001  //
  6002  // API parameter values that are decorated as "sensitive" in the API will not
  6003  // be included in the string output. The member name will be present, but the
  6004  // value will be replaced with "sensitive".
  6005  func (s ChannelMapping) GoString() string {
  6006  	return s.String()
  6007  }
  6008  
  6009  // SetOutputChannels sets the OutputChannels field's value.
  6010  func (s *ChannelMapping) SetOutputChannels(v []*OutputChannelMapping) *ChannelMapping {
  6011  	s.OutputChannels = v
  6012  	return s
  6013  }
  6014  
  6015  // Specify the details for each pair of HLS and DASH additional manifests that
  6016  // you want the service to generate for this CMAF output group. Each pair of
  6017  // manifests can reference a different subset of outputs in the group.
  6018  type CmafAdditionalManifest struct {
  6019  	_ struct{} `type:"structure"`
  6020  
  6021  	// Specify a name modifier that the service adds to the name of this manifest
  6022  	// to make it different from the file names of the other main manifests in the
  6023  	// output group. For example, say that the default main manifest for your HLS
  6024  	// group is film-name.m3u8. If you enter "-no-premium" for this setting, then
  6025  	// the file name the service generates for this top-level manifest is film-name-no-premium.m3u8.
  6026  	// For HLS output groups, specify a manifestNameModifier that is different from
  6027  	// the nameModifier of the output. The service uses the output name modifier
  6028  	// to create unique names for the individual variant manifests.
  6029  	ManifestNameModifier *string `locationName:"manifestNameModifier" min:"1" type:"string"`
  6030  
  6031  	// Specify the outputs that you want this additional top-level manifest to reference.
  6032  	SelectedOutputs []*string `locationName:"selectedOutputs" type:"list"`
  6033  }
  6034  
  6035  // String returns the string representation.
  6036  //
  6037  // API parameter values that are decorated as "sensitive" in the API will not
  6038  // be included in the string output. The member name will be present, but the
  6039  // value will be replaced with "sensitive".
  6040  func (s CmafAdditionalManifest) String() string {
  6041  	return awsutil.Prettify(s)
  6042  }
  6043  
  6044  // GoString returns the string representation.
  6045  //
  6046  // API parameter values that are decorated as "sensitive" in the API will not
  6047  // be included in the string output. The member name will be present, but the
  6048  // value will be replaced with "sensitive".
  6049  func (s CmafAdditionalManifest) GoString() string {
  6050  	return s.String()
  6051  }
  6052  
  6053  // Validate inspects the fields of the type to determine if they are valid.
  6054  func (s *CmafAdditionalManifest) Validate() error {
  6055  	invalidParams := request.ErrInvalidParams{Context: "CmafAdditionalManifest"}
  6056  	if s.ManifestNameModifier != nil && len(*s.ManifestNameModifier) < 1 {
  6057  		invalidParams.Add(request.NewErrParamMinLen("ManifestNameModifier", 1))
  6058  	}
  6059  
  6060  	if invalidParams.Len() > 0 {
  6061  		return invalidParams
  6062  	}
  6063  	return nil
  6064  }
  6065  
  6066  // SetManifestNameModifier sets the ManifestNameModifier field's value.
  6067  func (s *CmafAdditionalManifest) SetManifestNameModifier(v string) *CmafAdditionalManifest {
  6068  	s.ManifestNameModifier = &v
  6069  	return s
  6070  }
  6071  
  6072  // SetSelectedOutputs sets the SelectedOutputs field's value.
  6073  func (s *CmafAdditionalManifest) SetSelectedOutputs(v []*string) *CmafAdditionalManifest {
  6074  	s.SelectedOutputs = v
  6075  	return s
  6076  }
  6077  
  6078  // Settings for CMAF encryption
  6079  type CmafEncryptionSettings struct {
  6080  	_ struct{} `type:"structure"`
  6081  
  6082  	// This is a 128-bit, 16-byte hex value represented by a 32-character text string.
  6083  	// If this parameter is not set then the Initialization Vector will follow the
  6084  	// segment number by default.
  6085  	ConstantInitializationVector *string `locationName:"constantInitializationVector" min:"32" type:"string"`
  6086  
  6087  	// Specify the encryption scheme that you want the service to use when encrypting
  6088  	// your CMAF segments. Choose AES-CBC subsample (SAMPLE-AES) or AES_CTR (AES-CTR).
  6089  	EncryptionMethod *string `locationName:"encryptionMethod" type:"string" enum:"CmafEncryptionType"`
  6090  
  6091  	// When you use DRM with CMAF outputs, choose whether the service writes the
  6092  	// 128-bit encryption initialization vector in the HLS and DASH manifests.
  6093  	InitializationVectorInManifest *string `locationName:"initializationVectorInManifest" type:"string" enum:"CmafInitializationVectorInManifest"`
  6094  
  6095  	// If your output group type is CMAF, use these settings when doing DRM encryption
  6096  	// with a SPEKE-compliant key provider. If your output group type is HLS, DASH,
  6097  	// or Microsoft Smooth, use the SpekeKeyProvider settings instead.
  6098  	SpekeKeyProvider *SpekeKeyProviderCmaf `locationName:"spekeKeyProvider" type:"structure"`
  6099  
  6100  	// Use these settings to set up encryption with a static key provider.
  6101  	StaticKeyProvider *StaticKeyProvider `locationName:"staticKeyProvider" type:"structure"`
  6102  
  6103  	// Specify whether your DRM encryption key is static or from a key provider
  6104  	// that follows the SPEKE standard. For more information about SPEKE, see https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.html.
  6105  	Type *string `locationName:"type" type:"string" enum:"CmafKeyProviderType"`
  6106  }
  6107  
  6108  // String returns the string representation.
  6109  //
  6110  // API parameter values that are decorated as "sensitive" in the API will not
  6111  // be included in the string output. The member name will be present, but the
  6112  // value will be replaced with "sensitive".
  6113  func (s CmafEncryptionSettings) String() string {
  6114  	return awsutil.Prettify(s)
  6115  }
  6116  
  6117  // GoString returns the string representation.
  6118  //
  6119  // API parameter values that are decorated as "sensitive" in the API will not
  6120  // be included in the string output. The member name will be present, but the
  6121  // value will be replaced with "sensitive".
  6122  func (s CmafEncryptionSettings) GoString() string {
  6123  	return s.String()
  6124  }
  6125  
  6126  // Validate inspects the fields of the type to determine if they are valid.
  6127  func (s *CmafEncryptionSettings) Validate() error {
  6128  	invalidParams := request.ErrInvalidParams{Context: "CmafEncryptionSettings"}
  6129  	if s.ConstantInitializationVector != nil && len(*s.ConstantInitializationVector) < 32 {
  6130  		invalidParams.Add(request.NewErrParamMinLen("ConstantInitializationVector", 32))
  6131  	}
  6132  
  6133  	if invalidParams.Len() > 0 {
  6134  		return invalidParams
  6135  	}
  6136  	return nil
  6137  }
  6138  
  6139  // SetConstantInitializationVector sets the ConstantInitializationVector field's value.
  6140  func (s *CmafEncryptionSettings) SetConstantInitializationVector(v string) *CmafEncryptionSettings {
  6141  	s.ConstantInitializationVector = &v
  6142  	return s
  6143  }
  6144  
  6145  // SetEncryptionMethod sets the EncryptionMethod field's value.
  6146  func (s *CmafEncryptionSettings) SetEncryptionMethod(v string) *CmafEncryptionSettings {
  6147  	s.EncryptionMethod = &v
  6148  	return s
  6149  }
  6150  
  6151  // SetInitializationVectorInManifest sets the InitializationVectorInManifest field's value.
  6152  func (s *CmafEncryptionSettings) SetInitializationVectorInManifest(v string) *CmafEncryptionSettings {
  6153  	s.InitializationVectorInManifest = &v
  6154  	return s
  6155  }
  6156  
  6157  // SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
  6158  func (s *CmafEncryptionSettings) SetSpekeKeyProvider(v *SpekeKeyProviderCmaf) *CmafEncryptionSettings {
  6159  	s.SpekeKeyProvider = v
  6160  	return s
  6161  }
  6162  
  6163  // SetStaticKeyProvider sets the StaticKeyProvider field's value.
  6164  func (s *CmafEncryptionSettings) SetStaticKeyProvider(v *StaticKeyProvider) *CmafEncryptionSettings {
  6165  	s.StaticKeyProvider = v
  6166  	return s
  6167  }
  6168  
  6169  // SetType sets the Type field's value.
  6170  func (s *CmafEncryptionSettings) SetType(v string) *CmafEncryptionSettings {
  6171  	s.Type = &v
  6172  	return s
  6173  }
  6174  
  6175  // Settings related to your CMAF output package. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/outputs-file-ABR.html.
  6176  // When you work directly in your JSON job specification, include this object
  6177  // and any required children when you set Type, under OutputGroupSettings, to
  6178  // CMAF_GROUP_SETTINGS.
  6179  type CmafGroupSettings struct {
  6180  	_ struct{} `type:"structure"`
  6181  
  6182  	// By default, the service creates one top-level .m3u8 HLS manifest and one
  6183  	// top -level .mpd DASH manifest for each CMAF output group in your job. These
  6184  	// default manifests reference every output in the output group. To create additional
  6185  	// top-level manifests that reference a subset of the outputs in the output
  6186  	// group, specify a list of them here. For each additional manifest that you
  6187  	// specify, the service creates one HLS manifest and one DASH manifest.
  6188  	AdditionalManifests []*CmafAdditionalManifest `locationName:"additionalManifests" type:"list"`
  6189  
  6190  	// A partial URI prefix that will be put in the manifest file at the top level
  6191  	// BaseURL element. Can be used if streams are delivered from a different URL
  6192  	// than the manifest file.
  6193  	BaseUrl *string `locationName:"baseUrl" type:"string"`
  6194  
  6195  	// Disable this setting only when your workflow requires the #EXT-X-ALLOW-CACHE:no
  6196  	// tag. Otherwise, keep the default value Enabled (ENABLED) and control caching
  6197  	// in your video distribution set up. For example, use the Cache-Control http
  6198  	// header.
  6199  	ClientCache *string `locationName:"clientCache" type:"string" enum:"CmafClientCache"`
  6200  
  6201  	// Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist
  6202  	// generation.
  6203  	CodecSpecification *string `locationName:"codecSpecification" type:"string" enum:"CmafCodecSpecification"`
  6204  
  6205  	// Use Destination (Destination) to specify the S3 output location and the output
  6206  	// filename base. Destination accepts format identifiers. If you do not specify
  6207  	// the base filename in the URI, the service will use the filename of the input
  6208  	// file. If your job has multiple inputs, the service uses the filename of the
  6209  	// first input file.
  6210  	Destination *string `locationName:"destination" type:"string"`
  6211  
  6212  	// Settings associated with the destination. Will vary based on the type of
  6213  	// destination
  6214  	DestinationSettings *DestinationSettings `locationName:"destinationSettings" type:"structure"`
  6215  
  6216  	// DRM settings.
  6217  	Encryption *CmafEncryptionSettings `locationName:"encryption" type:"structure"`
  6218  
  6219  	// Specify the length, in whole seconds, of the mp4 fragments. When you don't
  6220  	// specify a value, MediaConvert defaults to 2. Related setting: Use Fragment
  6221  	// length control (FragmentLengthControl) to specify whether the encoder enforces
  6222  	// this value strictly.
  6223  	FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer"`
  6224  
  6225  	// Specify whether MediaConvert generates images for trick play. Keep the default
  6226  	// value, None (NONE), to not generate any images. Choose Thumbnail (THUMBNAIL)
  6227  	// to generate tiled thumbnails. Choose Thumbnail and full frame (THUMBNAIL_AND_FULLFRAME)
  6228  	// to generate tiled thumbnails and full-resolution images of single frames.
  6229  	// When you enable Write HLS manifest (WriteHlsManifest), MediaConvert creates
  6230  	// a child manifest for each set of images that you generate and adds corresponding
  6231  	// entries to the parent manifest. When you enable Write DASH manifest (WriteDashManifest),
  6232  	// MediaConvert adds an entry in the .mpd manifest for each set of images that
  6233  	// you generate. A common application for these images is Roku trick mode. The
  6234  	// thumbnails and full-frame images that MediaConvert creates with this feature
  6235  	// are compatible with this Roku specification: https://developer.roku.com/docs/developer-program/media-playback/trick-mode/hls-and-dash.md
  6236  	ImageBasedTrickPlay *string `locationName:"imageBasedTrickPlay" type:"string" enum:"CmafImageBasedTrickPlay"`
  6237  
  6238  	// Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED
  6239  	ImageBasedTrickPlaySettings *CmafImageBasedTrickPlaySettings `locationName:"imageBasedTrickPlaySettings" type:"structure"`
  6240  
  6241  	// When set to GZIP, compresses HLS playlist.
  6242  	ManifestCompression *string `locationName:"manifestCompression" type:"string" enum:"CmafManifestCompression"`
  6243  
  6244  	// Indicates whether the output manifest should use floating point values for
  6245  	// segment duration.
  6246  	ManifestDurationFormat *string `locationName:"manifestDurationFormat" type:"string" enum:"CmafManifestDurationFormat"`
  6247  
  6248  	// Minimum time of initially buffered media that is needed to ensure smooth
  6249  	// playout.
  6250  	MinBufferTime *int64 `locationName:"minBufferTime" type:"integer"`
  6251  
  6252  	// Keep this setting at the default value of 0, unless you are troubleshooting
  6253  	// a problem with how devices play back the end of your video asset. If you
  6254  	// know that player devices are hanging on the final segment of your video because
  6255  	// the length of your final segment is too short, use this setting to specify
  6256  	// a minimum final segment length, in seconds. Choose a value that is greater
  6257  	// than or equal to 1 and less than your segment length. When you specify a
  6258  	// value for this setting, the encoder will combine any final segment that is
  6259  	// shorter than the length that you specify with the previous segment. For example,
  6260  	// your segment length is 3 seconds and your final segment is .5 seconds without
  6261  	// a minimum final segment length; when you set the minimum final segment length
  6262  	// to 1, your final segment is 3.5 seconds.
  6263  	MinFinalSegmentLength *float64 `locationName:"minFinalSegmentLength" type:"double"`
  6264  
  6265  	// Specify whether your DASH profile is on-demand or main. When you choose Main
  6266  	// profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011
  6267  	// in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE),
  6268  	// the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd.
  6269  	// When you choose On-demand, you must also set the output group setting Segment
  6270  	// control (SegmentControl) to Single file (SINGLE_FILE).
  6271  	MpdProfile *string `locationName:"mpdProfile" type:"string" enum:"CmafMpdProfile"`
  6272  
  6273  	// Use this setting only when your output video stream has B-frames, which causes
  6274  	// the initial presentation time stamp (PTS) to be offset from the initial decode
  6275  	// time stamp (DTS). Specify how MediaConvert handles PTS when writing time
  6276  	// stamps in output DASH manifests. Choose Match initial PTS (MATCH_INITIAL_PTS)
  6277  	// when you want MediaConvert to use the initial PTS as the first time stamp
  6278  	// in the manifest. Choose Zero-based (ZERO_BASED) to have MediaConvert ignore
  6279  	// the initial PTS in the video stream and instead write the initial time stamp
  6280  	// as zero in the manifest. For outputs that don't have B-frames, the time stamps
  6281  	// in your DASH manifests start at zero regardless of your choice here.
  6282  	PtsOffsetHandlingForBFrames *string `locationName:"ptsOffsetHandlingForBFrames" type:"string" enum:"CmafPtsOffsetHandlingForBFrames"`
  6283  
  6284  	// When set to SINGLE_FILE, a single output file is generated, which is internally
  6285  	// segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES,
  6286  	// separate segment files will be created.
  6287  	SegmentControl *string `locationName:"segmentControl" type:"string" enum:"CmafSegmentControl"`
  6288  
  6289  	// Specify the length, in whole seconds, of each segment. When you don't specify
  6290  	// a value, MediaConvert defaults to 10. Related settings: Use Segment length
  6291  	// control (SegmentLengthControl) to specify whether the encoder enforces this
  6292  	// value strictly. Use Segment control (CmafSegmentControl) to specify whether
  6293  	// MediaConvert creates separate segment files or one content file that has
  6294  	// metadata to mark the segment boundaries.
  6295  	SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer"`
  6296  
  6297  	// Specify how you want MediaConvert to determine the segment length. Choose
  6298  	// Exact (EXACT) to have the encoder use the exact length that you specify with
  6299  	// the setting Segment length (SegmentLength). This might result in extra I-frames.
  6300  	// Choose Multiple of GOP (GOP_MULTIPLE) to have the encoder round up the segment
  6301  	// lengths to match the next GOP boundary.
  6302  	SegmentLengthControl *string `locationName:"segmentLengthControl" type:"string" enum:"CmafSegmentLengthControl"`
  6303  
  6304  	// Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag
  6305  	// of variant manifest.
  6306  	StreamInfResolution *string `locationName:"streamInfResolution" type:"string" enum:"CmafStreamInfResolution"`
  6307  
  6308  	// When set to LEGACY, the segment target duration is always rounded up to the
  6309  	// nearest integer value above its current value in seconds. When set to SPEC\\_COMPLIANT,
  6310  	// the segment target duration is rounded up to the nearest integer value if
  6311  	// fraction seconds are greater than or equal to 0.5 (>= 0.5) and rounded down
  6312  	// if less than 0.5 (< 0.5). You may need to use LEGACY if your client needs
  6313  	// to ensure that the target duration is always longer than the actual duration
  6314  	// of the segment. Some older players may experience interrupted playback when
  6315  	// the actual duration of a track in a segment is longer than the target duration.
  6316  	TargetDurationCompatibilityMode *string `locationName:"targetDurationCompatibilityMode" type:"string" enum:"CmafTargetDurationCompatibilityMode"`
  6317  
  6318  	// When set to ENABLED, a DASH MPD manifest will be generated for this output.
  6319  	WriteDashManifest *string `locationName:"writeDashManifest" type:"string" enum:"CmafWriteDASHManifest"`
  6320  
  6321  	// When set to ENABLED, an Apple HLS manifest will be generated for this output.
  6322  	WriteHlsManifest *string `locationName:"writeHlsManifest" type:"string" enum:"CmafWriteHLSManifest"`
  6323  
  6324  	// When you enable Precise segment duration in DASH manifests (writeSegmentTimelineInRepresentation),
  6325  	// your DASH manifest shows precise segment durations. The segment duration
  6326  	// information appears inside the SegmentTimeline element, inside SegmentTemplate
  6327  	// at the Representation level. When this feature isn't enabled, the segment
  6328  	// durations in your DASH manifest are approximate. The segment duration information
  6329  	// appears in the duration attribute of the SegmentTemplate element.
  6330  	WriteSegmentTimelineInRepresentation *string `locationName:"writeSegmentTimelineInRepresentation" type:"string" enum:"CmafWriteSegmentTimelineInRepresentation"`
  6331  }
  6332  
  6333  // String returns the string representation.
  6334  //
  6335  // API parameter values that are decorated as "sensitive" in the API will not
  6336  // be included in the string output. The member name will be present, but the
  6337  // value will be replaced with "sensitive".
  6338  func (s CmafGroupSettings) String() string {
  6339  	return awsutil.Prettify(s)
  6340  }
  6341  
  6342  // GoString returns the string representation.
  6343  //
  6344  // API parameter values that are decorated as "sensitive" in the API will not
  6345  // be included in the string output. The member name will be present, but the
  6346  // value will be replaced with "sensitive".
  6347  func (s CmafGroupSettings) GoString() string {
  6348  	return s.String()
  6349  }
  6350  
  6351  // Validate inspects the fields of the type to determine if they are valid.
  6352  func (s *CmafGroupSettings) Validate() error {
  6353  	invalidParams := request.ErrInvalidParams{Context: "CmafGroupSettings"}
  6354  	if s.FragmentLength != nil && *s.FragmentLength < 1 {
  6355  		invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1))
  6356  	}
  6357  	if s.SegmentLength != nil && *s.SegmentLength < 1 {
  6358  		invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1))
  6359  	}
  6360  	if s.AdditionalManifests != nil {
  6361  		for i, v := range s.AdditionalManifests {
  6362  			if v == nil {
  6363  				continue
  6364  			}
  6365  			if err := v.Validate(); err != nil {
  6366  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalManifests", i), err.(request.ErrInvalidParams))
  6367  			}
  6368  		}
  6369  	}
  6370  	if s.Encryption != nil {
  6371  		if err := s.Encryption.Validate(); err != nil {
  6372  			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
  6373  		}
  6374  	}
  6375  	if s.ImageBasedTrickPlaySettings != nil {
  6376  		if err := s.ImageBasedTrickPlaySettings.Validate(); err != nil {
  6377  			invalidParams.AddNested("ImageBasedTrickPlaySettings", err.(request.ErrInvalidParams))
  6378  		}
  6379  	}
  6380  
  6381  	if invalidParams.Len() > 0 {
  6382  		return invalidParams
  6383  	}
  6384  	return nil
  6385  }
  6386  
  6387  // SetAdditionalManifests sets the AdditionalManifests field's value.
  6388  func (s *CmafGroupSettings) SetAdditionalManifests(v []*CmafAdditionalManifest) *CmafGroupSettings {
  6389  	s.AdditionalManifests = v
  6390  	return s
  6391  }
  6392  
  6393  // SetBaseUrl sets the BaseUrl field's value.
  6394  func (s *CmafGroupSettings) SetBaseUrl(v string) *CmafGroupSettings {
  6395  	s.BaseUrl = &v
  6396  	return s
  6397  }
  6398  
  6399  // SetClientCache sets the ClientCache field's value.
  6400  func (s *CmafGroupSettings) SetClientCache(v string) *CmafGroupSettings {
  6401  	s.ClientCache = &v
  6402  	return s
  6403  }
  6404  
  6405  // SetCodecSpecification sets the CodecSpecification field's value.
  6406  func (s *CmafGroupSettings) SetCodecSpecification(v string) *CmafGroupSettings {
  6407  	s.CodecSpecification = &v
  6408  	return s
  6409  }
  6410  
  6411  // SetDestination sets the Destination field's value.
  6412  func (s *CmafGroupSettings) SetDestination(v string) *CmafGroupSettings {
  6413  	s.Destination = &v
  6414  	return s
  6415  }
  6416  
  6417  // SetDestinationSettings sets the DestinationSettings field's value.
  6418  func (s *CmafGroupSettings) SetDestinationSettings(v *DestinationSettings) *CmafGroupSettings {
  6419  	s.DestinationSettings = v
  6420  	return s
  6421  }
  6422  
  6423  // SetEncryption sets the Encryption field's value.
  6424  func (s *CmafGroupSettings) SetEncryption(v *CmafEncryptionSettings) *CmafGroupSettings {
  6425  	s.Encryption = v
  6426  	return s
  6427  }
  6428  
  6429  // SetFragmentLength sets the FragmentLength field's value.
  6430  func (s *CmafGroupSettings) SetFragmentLength(v int64) *CmafGroupSettings {
  6431  	s.FragmentLength = &v
  6432  	return s
  6433  }
  6434  
  6435  // SetImageBasedTrickPlay sets the ImageBasedTrickPlay field's value.
  6436  func (s *CmafGroupSettings) SetImageBasedTrickPlay(v string) *CmafGroupSettings {
  6437  	s.ImageBasedTrickPlay = &v
  6438  	return s
  6439  }
  6440  
  6441  // SetImageBasedTrickPlaySettings sets the ImageBasedTrickPlaySettings field's value.
  6442  func (s *CmafGroupSettings) SetImageBasedTrickPlaySettings(v *CmafImageBasedTrickPlaySettings) *CmafGroupSettings {
  6443  	s.ImageBasedTrickPlaySettings = v
  6444  	return s
  6445  }
  6446  
  6447  // SetManifestCompression sets the ManifestCompression field's value.
  6448  func (s *CmafGroupSettings) SetManifestCompression(v string) *CmafGroupSettings {
  6449  	s.ManifestCompression = &v
  6450  	return s
  6451  }
  6452  
  6453  // SetManifestDurationFormat sets the ManifestDurationFormat field's value.
  6454  func (s *CmafGroupSettings) SetManifestDurationFormat(v string) *CmafGroupSettings {
  6455  	s.ManifestDurationFormat = &v
  6456  	return s
  6457  }
  6458  
  6459  // SetMinBufferTime sets the MinBufferTime field's value.
  6460  func (s *CmafGroupSettings) SetMinBufferTime(v int64) *CmafGroupSettings {
  6461  	s.MinBufferTime = &v
  6462  	return s
  6463  }
  6464  
  6465  // SetMinFinalSegmentLength sets the MinFinalSegmentLength field's value.
  6466  func (s *CmafGroupSettings) SetMinFinalSegmentLength(v float64) *CmafGroupSettings {
  6467  	s.MinFinalSegmentLength = &v
  6468  	return s
  6469  }
  6470  
  6471  // SetMpdProfile sets the MpdProfile field's value.
  6472  func (s *CmafGroupSettings) SetMpdProfile(v string) *CmafGroupSettings {
  6473  	s.MpdProfile = &v
  6474  	return s
  6475  }
  6476  
  6477  // SetPtsOffsetHandlingForBFrames sets the PtsOffsetHandlingForBFrames field's value.
  6478  func (s *CmafGroupSettings) SetPtsOffsetHandlingForBFrames(v string) *CmafGroupSettings {
  6479  	s.PtsOffsetHandlingForBFrames = &v
  6480  	return s
  6481  }
  6482  
  6483  // SetSegmentControl sets the SegmentControl field's value.
  6484  func (s *CmafGroupSettings) SetSegmentControl(v string) *CmafGroupSettings {
  6485  	s.SegmentControl = &v
  6486  	return s
  6487  }
  6488  
  6489  // SetSegmentLength sets the SegmentLength field's value.
  6490  func (s *CmafGroupSettings) SetSegmentLength(v int64) *CmafGroupSettings {
  6491  	s.SegmentLength = &v
  6492  	return s
  6493  }
  6494  
  6495  // SetSegmentLengthControl sets the SegmentLengthControl field's value.
  6496  func (s *CmafGroupSettings) SetSegmentLengthControl(v string) *CmafGroupSettings {
  6497  	s.SegmentLengthControl = &v
  6498  	return s
  6499  }
  6500  
  6501  // SetStreamInfResolution sets the StreamInfResolution field's value.
  6502  func (s *CmafGroupSettings) SetStreamInfResolution(v string) *CmafGroupSettings {
  6503  	s.StreamInfResolution = &v
  6504  	return s
  6505  }
  6506  
  6507  // SetTargetDurationCompatibilityMode sets the TargetDurationCompatibilityMode field's value.
  6508  func (s *CmafGroupSettings) SetTargetDurationCompatibilityMode(v string) *CmafGroupSettings {
  6509  	s.TargetDurationCompatibilityMode = &v
  6510  	return s
  6511  }
  6512  
  6513  // SetWriteDashManifest sets the WriteDashManifest field's value.
  6514  func (s *CmafGroupSettings) SetWriteDashManifest(v string) *CmafGroupSettings {
  6515  	s.WriteDashManifest = &v
  6516  	return s
  6517  }
  6518  
  6519  // SetWriteHlsManifest sets the WriteHlsManifest field's value.
  6520  func (s *CmafGroupSettings) SetWriteHlsManifest(v string) *CmafGroupSettings {
  6521  	s.WriteHlsManifest = &v
  6522  	return s
  6523  }
  6524  
  6525  // SetWriteSegmentTimelineInRepresentation sets the WriteSegmentTimelineInRepresentation field's value.
  6526  func (s *CmafGroupSettings) SetWriteSegmentTimelineInRepresentation(v string) *CmafGroupSettings {
  6527  	s.WriteSegmentTimelineInRepresentation = &v
  6528  	return s
  6529  }
  6530  
  6531  // Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED
  6532  type CmafImageBasedTrickPlaySettings struct {
  6533  	_ struct{} `type:"structure"`
  6534  
  6535  	// The cadence MediaConvert follows for generating thumbnails. If set to FOLLOW_IFRAME,
  6536  	// MediaConvert generates thumbnails for each IDR frame in the output (matching
  6537  	// the GOP cadence). If set to FOLLOW_CUSTOM, MediaConvert generates thumbnails
  6538  	// according to the interval you specify in thumbnailInterval.
  6539  	IntervalCadence *string `locationName:"intervalCadence" type:"string" enum:"CmafIntervalCadence"`
  6540  
  6541  	// Height of each thumbnail within each tile image, in pixels. Leave blank to
  6542  	// maintain aspect ratio with thumbnail width. If following the aspect ratio
  6543  	// would lead to a total tile height greater than 4096, then the job will be
  6544  	// rejected. Must be divisible by 2.
  6545  	ThumbnailHeight *int64 `locationName:"thumbnailHeight" min:"2" type:"integer"`
  6546  
  6547  	// Enter the interval, in seconds, that MediaConvert uses to generate thumbnails.
  6548  	// If the interval you enter doesn't align with the output frame rate, MediaConvert
  6549  	// automatically rounds the interval to align with the output frame rate. For
  6550  	// example, if the output frame rate is 29.97 frames per second and you enter
  6551  	// 5, MediaConvert uses a 150 frame interval to generate thumbnails.
  6552  	ThumbnailInterval *float64 `locationName:"thumbnailInterval" type:"double"`
  6553  
  6554  	// Width of each thumbnail within each tile image, in pixels. Default is 312.
  6555  	// Must be divisible by 8.
  6556  	ThumbnailWidth *int64 `locationName:"thumbnailWidth" min:"8" type:"integer"`
  6557  
  6558  	// Number of thumbnails in each column of a tile image. Set a value between
  6559  	// 2 and 2048. Must be divisible by 2.
  6560  	TileHeight *int64 `locationName:"tileHeight" min:"1" type:"integer"`
  6561  
  6562  	// Number of thumbnails in each row of a tile image. Set a value between 1 and
  6563  	// 512.
  6564  	TileWidth *int64 `locationName:"tileWidth" min:"1" type:"integer"`
  6565  }
  6566  
  6567  // String returns the string representation.
  6568  //
  6569  // API parameter values that are decorated as "sensitive" in the API will not
  6570  // be included in the string output. The member name will be present, but the
  6571  // value will be replaced with "sensitive".
  6572  func (s CmafImageBasedTrickPlaySettings) String() string {
  6573  	return awsutil.Prettify(s)
  6574  }
  6575  
  6576  // GoString returns the string representation.
  6577  //
  6578  // API parameter values that are decorated as "sensitive" in the API will not
  6579  // be included in the string output. The member name will be present, but the
  6580  // value will be replaced with "sensitive".
  6581  func (s CmafImageBasedTrickPlaySettings) GoString() string {
  6582  	return s.String()
  6583  }
  6584  
  6585  // Validate inspects the fields of the type to determine if they are valid.
  6586  func (s *CmafImageBasedTrickPlaySettings) Validate() error {
  6587  	invalidParams := request.ErrInvalidParams{Context: "CmafImageBasedTrickPlaySettings"}
  6588  	if s.ThumbnailHeight != nil && *s.ThumbnailHeight < 2 {
  6589  		invalidParams.Add(request.NewErrParamMinValue("ThumbnailHeight", 2))
  6590  	}
  6591  	if s.ThumbnailWidth != nil && *s.ThumbnailWidth < 8 {
  6592  		invalidParams.Add(request.NewErrParamMinValue("ThumbnailWidth", 8))
  6593  	}
  6594  	if s.TileHeight != nil && *s.TileHeight < 1 {
  6595  		invalidParams.Add(request.NewErrParamMinValue("TileHeight", 1))
  6596  	}
  6597  	if s.TileWidth != nil && *s.TileWidth < 1 {
  6598  		invalidParams.Add(request.NewErrParamMinValue("TileWidth", 1))
  6599  	}
  6600  
  6601  	if invalidParams.Len() > 0 {
  6602  		return invalidParams
  6603  	}
  6604  	return nil
  6605  }
  6606  
  6607  // SetIntervalCadence sets the IntervalCadence field's value.
  6608  func (s *CmafImageBasedTrickPlaySettings) SetIntervalCadence(v string) *CmafImageBasedTrickPlaySettings {
  6609  	s.IntervalCadence = &v
  6610  	return s
  6611  }
  6612  
  6613  // SetThumbnailHeight sets the ThumbnailHeight field's value.
  6614  func (s *CmafImageBasedTrickPlaySettings) SetThumbnailHeight(v int64) *CmafImageBasedTrickPlaySettings {
  6615  	s.ThumbnailHeight = &v
  6616  	return s
  6617  }
  6618  
  6619  // SetThumbnailInterval sets the ThumbnailInterval field's value.
  6620  func (s *CmafImageBasedTrickPlaySettings) SetThumbnailInterval(v float64) *CmafImageBasedTrickPlaySettings {
  6621  	s.ThumbnailInterval = &v
  6622  	return s
  6623  }
  6624  
  6625  // SetThumbnailWidth sets the ThumbnailWidth field's value.
  6626  func (s *CmafImageBasedTrickPlaySettings) SetThumbnailWidth(v int64) *CmafImageBasedTrickPlaySettings {
  6627  	s.ThumbnailWidth = &v
  6628  	return s
  6629  }
  6630  
  6631  // SetTileHeight sets the TileHeight field's value.
  6632  func (s *CmafImageBasedTrickPlaySettings) SetTileHeight(v int64) *CmafImageBasedTrickPlaySettings {
  6633  	s.TileHeight = &v
  6634  	return s
  6635  }
  6636  
  6637  // SetTileWidth sets the TileWidth field's value.
  6638  func (s *CmafImageBasedTrickPlaySettings) SetTileWidth(v int64) *CmafImageBasedTrickPlaySettings {
  6639  	s.TileWidth = &v
  6640  	return s
  6641  }
  6642  
  6643  // These settings relate to the fragmented MP4 container for the segments in
  6644  // your CMAF outputs.
  6645  type CmfcSettings struct {
  6646  	_ struct{} `type:"structure"`
  6647  
  6648  	// Specify this setting only when your output will be consumed by a downstream
  6649  	// repackaging workflow that is sensitive to very small duration differences
  6650  	// between video and audio. For this situation, choose Match video duration
  6651  	// (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default
  6652  	// codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration,
  6653  	// MediaConvert pads the output audio streams with silence or trims them to
  6654  	// ensure that the total duration of each audio stream is at least as long as
  6655  	// the total duration of the video stream. After padding or trimming, the audio
  6656  	// stream duration is no more than one frame longer than the video stream. MediaConvert
  6657  	// applies audio padding or trimming only to the end of the last segment of
  6658  	// the output. For unsegmented outputs, MediaConvert adds padding only to the
  6659  	// end of the file. When you keep the default value, any minor discrepancies
  6660  	// between audio and video duration will depend on your output audio codec.
  6661  	AudioDuration *string `locationName:"audioDuration" type:"string" enum:"CmfcAudioDuration"`
  6662  
  6663  	// Specify the audio rendition group for this audio rendition. Specify up to
  6664  	// one value for each audio output in your output group. This value appears
  6665  	// in your HLS parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the
  6666  	// value for the GROUP-ID attribute. For example, if you specify "audio_aac_1"
  6667  	// for Audio group ID, it appears in your manifest like this: #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1".
  6668  	// Related setting: To associate the rendition group that this audio track belongs
  6669  	// to with a video rendition, include the same value that you provide here for
  6670  	// that video output's setting Audio rendition sets (audioRenditionSets).
  6671  	AudioGroupId *string `locationName:"audioGroupId" type:"string"`
  6672  
  6673  	// List the audio rendition groups that you want included with this video rendition.
  6674  	// Use a comma-separated list. For example, say you want to include the audio
  6675  	// rendition groups that have the audio group IDs "audio_aac_1" and "audio_dolby".
  6676  	// Then you would specify this value: "audio_aac_1, audio_dolby". Related setting:
  6677  	// The rendition groups that you include in your comma-separated list should
  6678  	// all match values that you specify in the setting Audio group ID (AudioGroupId)
  6679  	// for audio renditions in the same output group as this video rendition. Default
  6680  	// behavior: If you don't specify anything here and for Audio group ID, MediaConvert
  6681  	// puts each audio variant in its own audio rendition group and associates it
  6682  	// with every video variant. Each value in your list appears in your HLS parent
  6683  	// manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO attribute.
  6684  	// To continue the previous example, say that the file name for the child manifest
  6685  	// for your video rendition is "amazing_video_1.m3u8". Then, in your parent
  6686  	// manifest, each value will appear on separate lines, like this: #EXT-X-STREAM-INF:AUDIO="audio_aac_1"...
  6687  	// amazing_video_1.m3u8 #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8
  6688  	AudioRenditionSets *string `locationName:"audioRenditionSets" type:"string"`
  6689  
  6690  	// Use this setting to control the values that MediaConvert puts in your HLS
  6691  	// parent playlist to control how the client player selects which audio track
  6692  	// to play. The other options for this setting determine the values that MediaConvert
  6693  	// writes for the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry
  6694  	// for the audio variant. For more information about these attributes, see the
  6695  	// Apple documentation article https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist.
  6696  	// Choose Alternate audio, auto select, default (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT)
  6697  	// to set DEFAULT=YES and AUTOSELECT=YES. Choose this value for only one variant
  6698  	// in your output group. Choose Alternate audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT)
  6699  	// to set DEFAULT=NO and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select
  6700  	// to set DEFAULT=NO and AUTOSELECT=NO. When you don't specify a value for this
  6701  	// setting, MediaConvert defaults to Alternate audio, auto select, default.
  6702  	// When there is more than one variant in your output group, you must explicitly
  6703  	// choose a value for this setting.
  6704  	AudioTrackType *string `locationName:"audioTrackType" type:"string" enum:"CmfcAudioTrackType"`
  6705  
  6706  	// Specify whether to flag this audio track as descriptive video service (DVS)
  6707  	// in your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes
  6708  	// the parameter CHARACTERISTICS="public.accessibility.describes-video" in the
  6709  	// EXT-X-MEDIA entry for this track. When you keep the default choice, Don't
  6710  	// flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can
  6711  	// help with accessibility on Apple devices. For more information, see the Apple
  6712  	// documentation.
  6713  	DescriptiveVideoServiceFlag *string `locationName:"descriptiveVideoServiceFlag" type:"string" enum:"CmfcDescriptiveVideoServiceFlag"`
  6714  
  6715  	// Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest
  6716  	// that lists only the I-frames for this rendition, in addition to your regular
  6717  	// manifest for this rendition. You might use this manifest as part of a workflow
  6718  	// that creates preview functions for your video. MediaConvert adds both the
  6719  	// I-frame only child manifest and the regular child manifest to the parent
  6720  	// manifest. When you don't need the I-frame only child manifest, keep the default
  6721  	// value Exclude (EXCLUDE).
  6722  	IFrameOnlyManifest *string `locationName:"iFrameOnlyManifest" type:"string" enum:"CmfcIFrameOnlyManifest"`
  6723  
  6724  	// Use this setting only when you specify SCTE-35 markers from ESAM. Choose
  6725  	// INSERT to put SCTE-35 markers in this output at the insertion points that
  6726  	// you specify in an ESAM XML document. Provide the document in the setting
  6727  	// SCC XML (sccXml).
  6728  	Scte35Esam *string `locationName:"scte35Esam" type:"string" enum:"CmfcScte35Esam"`
  6729  
  6730  	// Ignore this setting unless you have SCTE-35 markers in your input video file.
  6731  	// Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear
  6732  	// in your input to also appear in this output. Choose None (NONE) if you don't
  6733  	// want those SCTE-35 markers in this output.
  6734  	Scte35Source *string `locationName:"scte35Source" type:"string" enum:"CmfcScte35Source"`
  6735  }
  6736  
  6737  // String returns the string representation.
  6738  //
  6739  // API parameter values that are decorated as "sensitive" in the API will not
  6740  // be included in the string output. The member name will be present, but the
  6741  // value will be replaced with "sensitive".
  6742  func (s CmfcSettings) String() string {
  6743  	return awsutil.Prettify(s)
  6744  }
  6745  
  6746  // GoString returns the string representation.
  6747  //
  6748  // API parameter values that are decorated as "sensitive" in the API will not
  6749  // be included in the string output. The member name will be present, but the
  6750  // value will be replaced with "sensitive".
  6751  func (s CmfcSettings) GoString() string {
  6752  	return s.String()
  6753  }
  6754  
  6755  // SetAudioDuration sets the AudioDuration field's value.
  6756  func (s *CmfcSettings) SetAudioDuration(v string) *CmfcSettings {
  6757  	s.AudioDuration = &v
  6758  	return s
  6759  }
  6760  
  6761  // SetAudioGroupId sets the AudioGroupId field's value.
  6762  func (s *CmfcSettings) SetAudioGroupId(v string) *CmfcSettings {
  6763  	s.AudioGroupId = &v
  6764  	return s
  6765  }
  6766  
  6767  // SetAudioRenditionSets sets the AudioRenditionSets field's value.
  6768  func (s *CmfcSettings) SetAudioRenditionSets(v string) *CmfcSettings {
  6769  	s.AudioRenditionSets = &v
  6770  	return s
  6771  }
  6772  
  6773  // SetAudioTrackType sets the AudioTrackType field's value.
  6774  func (s *CmfcSettings) SetAudioTrackType(v string) *CmfcSettings {
  6775  	s.AudioTrackType = &v
  6776  	return s
  6777  }
  6778  
  6779  // SetDescriptiveVideoServiceFlag sets the DescriptiveVideoServiceFlag field's value.
  6780  func (s *CmfcSettings) SetDescriptiveVideoServiceFlag(v string) *CmfcSettings {
  6781  	s.DescriptiveVideoServiceFlag = &v
  6782  	return s
  6783  }
  6784  
  6785  // SetIFrameOnlyManifest sets the IFrameOnlyManifest field's value.
  6786  func (s *CmfcSettings) SetIFrameOnlyManifest(v string) *CmfcSettings {
  6787  	s.IFrameOnlyManifest = &v
  6788  	return s
  6789  }
  6790  
  6791  // SetScte35Esam sets the Scte35Esam field's value.
  6792  func (s *CmfcSettings) SetScte35Esam(v string) *CmfcSettings {
  6793  	s.Scte35Esam = &v
  6794  	return s
  6795  }
  6796  
  6797  // SetScte35Source sets the Scte35Source field's value.
  6798  func (s *CmfcSettings) SetScte35Source(v string) *CmfcSettings {
  6799  	s.Scte35Source = &v
  6800  	return s
  6801  }
  6802  
  6803  // Settings for color correction.
  6804  type ColorCorrector struct {
  6805  	_ struct{} `type:"structure"`
  6806  
  6807  	// Brightness level.
  6808  	Brightness *int64 `locationName:"brightness" min:"1" type:"integer"`
  6809  
  6810  	// Specify the color space you want for this output. The service supports conversion
  6811  	// between HDR formats, between SDR formats, from SDR to HDR, and from HDR to
  6812  	// SDR. SDR to HDR conversion doesn't upgrade the dynamic range. The converted
  6813  	// video has an HDR format, but visually appears the same as an unconverted
  6814  	// output. HDR to SDR conversion uses Elemental tone mapping technology to approximate
  6815  	// the outcome of manually regrading from HDR to SDR.
  6816  	ColorSpaceConversion *string `locationName:"colorSpaceConversion" type:"string" enum:"ColorSpaceConversion"`
  6817  
  6818  	// Contrast level.
  6819  	Contrast *int64 `locationName:"contrast" min:"1" type:"integer"`
  6820  
  6821  	// Use these settings when you convert to the HDR 10 color space. Specify the
  6822  	// SMPTE ST 2086 Mastering Display Color Volume static metadata that you want
  6823  	// signaled in the output. These values don't affect the pixel values that are
  6824  	// encoded in the video stream. They are intended to help the downstream video
  6825  	// player display content in a way that reflects the intentions of the the content
  6826  	// creator. When you set Color space conversion (ColorSpaceConversion) to HDR
  6827  	// 10 (FORCE_HDR10), these settings are required. You must set values for Max
  6828  	// frame average light level (maxFrameAverageLightLevel) and Max content light
  6829  	// level (maxContentLightLevel); these settings don't have a default value.
  6830  	// The default values for the other HDR 10 metadata settings are defined by
  6831  	// the P3D65 color space. For more information about MediaConvert HDR jobs,
  6832  	// see https://docs.aws.amazon.com/console/mediaconvert/hdr.
  6833  	Hdr10Metadata *Hdr10Metadata `locationName:"hdr10Metadata" type:"structure"`
  6834  
  6835  	// Hue in degrees.
  6836  	Hue *int64 `locationName:"hue" type:"integer"`
  6837  
  6838  	// Specify the video color sample range for this output. To create a full range
  6839  	// output, you must start with a full range YUV input and keep the default value,
  6840  	// None (NONE). To create a limited range output from a full range input, choose
  6841  	// Limited range (LIMITED_RANGE_SQUEEZE). With RGB inputs, your output is always
  6842  	// limited range, regardless of your choice here. When you create a limited
  6843  	// range output from a full range input, MediaConvert limits the active pixel
  6844  	// values in a way that depends on the output's bit depth: 8-bit outputs contain
  6845  	// only values from 16 through 235 and 10-bit outputs contain only values from
  6846  	// 64 through 940. With this conversion, MediaConvert also changes the output
  6847  	// metadata to note the limited range.
  6848  	SampleRangeConversion *string `locationName:"sampleRangeConversion" type:"string" enum:"SampleRangeConversion"`
  6849  
  6850  	// Saturation level.
  6851  	Saturation *int64 `locationName:"saturation" min:"1" type:"integer"`
  6852  }
  6853  
  6854  // String returns the string representation.
  6855  //
  6856  // API parameter values that are decorated as "sensitive" in the API will not
  6857  // be included in the string output. The member name will be present, but the
  6858  // value will be replaced with "sensitive".
  6859  func (s ColorCorrector) String() string {
  6860  	return awsutil.Prettify(s)
  6861  }
  6862  
  6863  // GoString returns the string representation.
  6864  //
  6865  // API parameter values that are decorated as "sensitive" in the API will not
  6866  // be included in the string output. The member name will be present, but the
  6867  // value will be replaced with "sensitive".
  6868  func (s ColorCorrector) GoString() string {
  6869  	return s.String()
  6870  }
  6871  
  6872  // Validate inspects the fields of the type to determine if they are valid.
  6873  func (s *ColorCorrector) Validate() error {
  6874  	invalidParams := request.ErrInvalidParams{Context: "ColorCorrector"}
  6875  	if s.Brightness != nil && *s.Brightness < 1 {
  6876  		invalidParams.Add(request.NewErrParamMinValue("Brightness", 1))
  6877  	}
  6878  	if s.Contrast != nil && *s.Contrast < 1 {
  6879  		invalidParams.Add(request.NewErrParamMinValue("Contrast", 1))
  6880  	}
  6881  	if s.Hue != nil && *s.Hue < -180 {
  6882  		invalidParams.Add(request.NewErrParamMinValue("Hue", -180))
  6883  	}
  6884  	if s.Saturation != nil && *s.Saturation < 1 {
  6885  		invalidParams.Add(request.NewErrParamMinValue("Saturation", 1))
  6886  	}
  6887  
  6888  	if invalidParams.Len() > 0 {
  6889  		return invalidParams
  6890  	}
  6891  	return nil
  6892  }
  6893  
  6894  // SetBrightness sets the Brightness field's value.
  6895  func (s *ColorCorrector) SetBrightness(v int64) *ColorCorrector {
  6896  	s.Brightness = &v
  6897  	return s
  6898  }
  6899  
  6900  // SetColorSpaceConversion sets the ColorSpaceConversion field's value.
  6901  func (s *ColorCorrector) SetColorSpaceConversion(v string) *ColorCorrector {
  6902  	s.ColorSpaceConversion = &v
  6903  	return s
  6904  }
  6905  
  6906  // SetContrast sets the Contrast field's value.
  6907  func (s *ColorCorrector) SetContrast(v int64) *ColorCorrector {
  6908  	s.Contrast = &v
  6909  	return s
  6910  }
  6911  
  6912  // SetHdr10Metadata sets the Hdr10Metadata field's value.
  6913  func (s *ColorCorrector) SetHdr10Metadata(v *Hdr10Metadata) *ColorCorrector {
  6914  	s.Hdr10Metadata = v
  6915  	return s
  6916  }
  6917  
  6918  // SetHue sets the Hue field's value.
  6919  func (s *ColorCorrector) SetHue(v int64) *ColorCorrector {
  6920  	s.Hue = &v
  6921  	return s
  6922  }
  6923  
  6924  // SetSampleRangeConversion sets the SampleRangeConversion field's value.
  6925  func (s *ColorCorrector) SetSampleRangeConversion(v string) *ColorCorrector {
  6926  	s.SampleRangeConversion = &v
  6927  	return s
  6928  }
  6929  
  6930  // SetSaturation sets the Saturation field's value.
  6931  func (s *ColorCorrector) SetSaturation(v int64) *ColorCorrector {
  6932  	s.Saturation = &v
  6933  	return s
  6934  }
  6935  
  6936  type ConflictException struct {
  6937  	_            struct{}                  `type:"structure"`
  6938  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6939  
  6940  	Message_ *string `locationName:"message" type:"string"`
  6941  }
  6942  
  6943  // String returns the string representation.
  6944  //
  6945  // API parameter values that are decorated as "sensitive" in the API will not
  6946  // be included in the string output. The member name will be present, but the
  6947  // value will be replaced with "sensitive".
  6948  func (s ConflictException) String() string {
  6949  	return awsutil.Prettify(s)
  6950  }
  6951  
  6952  // GoString returns the string representation.
  6953  //
  6954  // API parameter values that are decorated as "sensitive" in the API will not
  6955  // be included in the string output. The member name will be present, but the
  6956  // value will be replaced with "sensitive".
  6957  func (s ConflictException) GoString() string {
  6958  	return s.String()
  6959  }
  6960  
  6961  func newErrorConflictException(v protocol.ResponseMetadata) error {
  6962  	return &ConflictException{
  6963  		RespMetadata: v,
  6964  	}
  6965  }
  6966  
  6967  // Code returns the exception type name.
  6968  func (s *ConflictException) Code() string {
  6969  	return "ConflictException"
  6970  }
  6971  
  6972  // Message returns the exception's message.
  6973  func (s *ConflictException) Message() string {
  6974  	if s.Message_ != nil {
  6975  		return *s.Message_
  6976  	}
  6977  	return ""
  6978  }
  6979  
  6980  // OrigErr always returns nil, satisfies awserr.Error interface.
  6981  func (s *ConflictException) OrigErr() error {
  6982  	return nil
  6983  }
  6984  
  6985  func (s *ConflictException) Error() string {
  6986  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6987  }
  6988  
  6989  // Status code returns the HTTP status code for the request's response error.
  6990  func (s *ConflictException) StatusCode() int {
  6991  	return s.RespMetadata.StatusCode
  6992  }
  6993  
  6994  // RequestID returns the service's response RequestID for request.
  6995  func (s *ConflictException) RequestID() string {
  6996  	return s.RespMetadata.RequestID
  6997  }
  6998  
  6999  // Container specific settings.
  7000  type ContainerSettings struct {
  7001  	_ struct{} `type:"structure"`
  7002  
  7003  	// These settings relate to the fragmented MP4 container for the segments in
  7004  	// your CMAF outputs.
  7005  	CmfcSettings *CmfcSettings `locationName:"cmfcSettings" type:"structure"`
  7006  
  7007  	// Container for this output. Some containers require a container settings object.
  7008  	// If not specified, the default object will be created.
  7009  	Container *string `locationName:"container" type:"string" enum:"ContainerType"`
  7010  
  7011  	// Settings for F4v container
  7012  	F4vSettings *F4vSettings `locationName:"f4vSettings" type:"structure"`
  7013  
  7014  	// MPEG-2 TS container settings. These apply to outputs in a File output group
  7015  	// when the output's container (ContainerType) is MPEG-2 Transport Stream (M2TS).
  7016  	// In these assets, data is organized by the program map table (PMT). Each transport
  7017  	// stream program contains subsets of data, including audio, video, and metadata.
  7018  	// Each of these subsets of data has a numerical label called a packet identifier
  7019  	// (PID). Each transport stream program corresponds to one MediaConvert output.
  7020  	// The PMT lists the types of data in a program along with their PID. Downstream
  7021  	// systems and players use the program map table to look up the PID for each
  7022  	// type of data it accesses and then uses the PIDs to locate specific data within
  7023  	// the asset.
  7024  	M2tsSettings *M2tsSettings `locationName:"m2tsSettings" type:"structure"`
  7025  
  7026  	// These settings relate to the MPEG-2 transport stream (MPEG2-TS) container
  7027  	// for the MPEG2-TS segments in your HLS outputs.
  7028  	M3u8Settings *M3u8Settings `locationName:"m3u8Settings" type:"structure"`
  7029  
  7030  	// These settings relate to your QuickTime MOV output container.
  7031  	MovSettings *MovSettings `locationName:"movSettings" type:"structure"`
  7032  
  7033  	// These settings relate to your MP4 output container. You can create audio
  7034  	// only outputs with this container. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/supported-codecs-containers-audio-only.html#output-codecs-and-containers-supported-for-audio-only.
  7035  	Mp4Settings *Mp4Settings `locationName:"mp4Settings" type:"structure"`
  7036  
  7037  	// These settings relate to the fragmented MP4 container for the segments in
  7038  	// your DASH outputs.
  7039  	MpdSettings *MpdSettings `locationName:"mpdSettings" type:"structure"`
  7040  
  7041  	// These settings relate to your MXF output container.
  7042  	MxfSettings *MxfSettings `locationName:"mxfSettings" type:"structure"`
  7043  }
  7044  
  7045  // String returns the string representation.
  7046  //
  7047  // API parameter values that are decorated as "sensitive" in the API will not
  7048  // be included in the string output. The member name will be present, but the
  7049  // value will be replaced with "sensitive".
  7050  func (s ContainerSettings) String() string {
  7051  	return awsutil.Prettify(s)
  7052  }
  7053  
  7054  // GoString returns the string representation.
  7055  //
  7056  // API parameter values that are decorated as "sensitive" in the API will not
  7057  // be included in the string output. The member name will be present, but the
  7058  // value will be replaced with "sensitive".
  7059  func (s ContainerSettings) GoString() string {
  7060  	return s.String()
  7061  }
  7062  
  7063  // Validate inspects the fields of the type to determine if they are valid.
  7064  func (s *ContainerSettings) Validate() error {
  7065  	invalidParams := request.ErrInvalidParams{Context: "ContainerSettings"}
  7066  	if s.M2tsSettings != nil {
  7067  		if err := s.M2tsSettings.Validate(); err != nil {
  7068  			invalidParams.AddNested("M2tsSettings", err.(request.ErrInvalidParams))
  7069  		}
  7070  	}
  7071  	if s.M3u8Settings != nil {
  7072  		if err := s.M3u8Settings.Validate(); err != nil {
  7073  			invalidParams.AddNested("M3u8Settings", err.(request.ErrInvalidParams))
  7074  		}
  7075  	}
  7076  
  7077  	if invalidParams.Len() > 0 {
  7078  		return invalidParams
  7079  	}
  7080  	return nil
  7081  }
  7082  
  7083  // SetCmfcSettings sets the CmfcSettings field's value.
  7084  func (s *ContainerSettings) SetCmfcSettings(v *CmfcSettings) *ContainerSettings {
  7085  	s.CmfcSettings = v
  7086  	return s
  7087  }
  7088  
  7089  // SetContainer sets the Container field's value.
  7090  func (s *ContainerSettings) SetContainer(v string) *ContainerSettings {
  7091  	s.Container = &v
  7092  	return s
  7093  }
  7094  
  7095  // SetF4vSettings sets the F4vSettings field's value.
  7096  func (s *ContainerSettings) SetF4vSettings(v *F4vSettings) *ContainerSettings {
  7097  	s.F4vSettings = v
  7098  	return s
  7099  }
  7100  
  7101  // SetM2tsSettings sets the M2tsSettings field's value.
  7102  func (s *ContainerSettings) SetM2tsSettings(v *M2tsSettings) *ContainerSettings {
  7103  	s.M2tsSettings = v
  7104  	return s
  7105  }
  7106  
  7107  // SetM3u8Settings sets the M3u8Settings field's value.
  7108  func (s *ContainerSettings) SetM3u8Settings(v *M3u8Settings) *ContainerSettings {
  7109  	s.M3u8Settings = v
  7110  	return s
  7111  }
  7112  
  7113  // SetMovSettings sets the MovSettings field's value.
  7114  func (s *ContainerSettings) SetMovSettings(v *MovSettings) *ContainerSettings {
  7115  	s.MovSettings = v
  7116  	return s
  7117  }
  7118  
  7119  // SetMp4Settings sets the Mp4Settings field's value.
  7120  func (s *ContainerSettings) SetMp4Settings(v *Mp4Settings) *ContainerSettings {
  7121  	s.Mp4Settings = v
  7122  	return s
  7123  }
  7124  
  7125  // SetMpdSettings sets the MpdSettings field's value.
  7126  func (s *ContainerSettings) SetMpdSettings(v *MpdSettings) *ContainerSettings {
  7127  	s.MpdSettings = v
  7128  	return s
  7129  }
  7130  
  7131  // SetMxfSettings sets the MxfSettings field's value.
  7132  func (s *ContainerSettings) SetMxfSettings(v *MxfSettings) *ContainerSettings {
  7133  	s.MxfSettings = v
  7134  	return s
  7135  }
  7136  
  7137  // Send your create job request with your job settings and IAM role. Optionally,
  7138  // include user metadata and the ARN for the queue.
  7139  type CreateJobInput struct {
  7140  	_ struct{} `type:"structure"`
  7141  
  7142  	// Optional. Accelerated transcoding can significantly speed up jobs with long,
  7143  	// visually complex content. Outputs that use this feature incur pro-tier pricing.
  7144  	// For information about feature limitations, see the AWS Elemental MediaConvert
  7145  	// User Guide.
  7146  	AccelerationSettings *AccelerationSettings `locationName:"accelerationSettings" type:"structure"`
  7147  
  7148  	// Optional. Choose a tag type that AWS Billing and Cost Management will use
  7149  	// to sort your AWS Elemental MediaConvert costs on any billing report that
  7150  	// you set up. Any transcoding outputs that don't have an associated tag will
  7151  	// appear in your billing report unsorted. If you don't choose a valid value
  7152  	// for this field, your job outputs will appear on the billing report unsorted.
  7153  	BillingTagsSource *string `locationName:"billingTagsSource" type:"string" enum:"BillingTagsSource"`
  7154  
  7155  	// Optional. Idempotency token for CreateJob operation.
  7156  	ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"`
  7157  
  7158  	// Optional. Use queue hopping to avoid overly long waits in the backlog of
  7159  	// the queue that you submit your job to. Specify an alternate queue and the
  7160  	// maximum time that your job will wait in the initial queue before hopping.
  7161  	// For more information about this feature, see the AWS Elemental MediaConvert
  7162  	// User Guide.
  7163  	HopDestinations []*HopDestination `locationName:"hopDestinations" type:"list"`
  7164  
  7165  	// Optional. When you create a job, you can either specify a job template or
  7166  	// specify the transcoding settings individually.
  7167  	JobTemplate *string `locationName:"jobTemplate" type:"string"`
  7168  
  7169  	// Optional. Specify the relative priority for this job. In any given queue,
  7170  	// the service begins processing the job with the highest value first. When
  7171  	// more than one job has the same priority, the service begins processing the
  7172  	// job that you submitted first. If you don't specify a priority, the service
  7173  	// uses the default value 0.
  7174  	Priority *int64 `locationName:"priority" type:"integer"`
  7175  
  7176  	// Optional. When you create a job, you can specify a queue to send it to. If
  7177  	// you don't specify, the job will go to the default queue. For more about queues,
  7178  	// see the User Guide topic at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html.
  7179  	Queue *string `locationName:"queue" type:"string"`
  7180  
  7181  	// Required. The IAM role you use for creating this job. For details about permissions,
  7182  	// see the User Guide topic at the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html.
  7183  	//
  7184  	// Role is a required field
  7185  	Role *string `locationName:"role" type:"string" required:"true"`
  7186  
  7187  	// JobSettings contains all the transcode settings for a job.
  7188  	//
  7189  	// Settings is a required field
  7190  	Settings *JobSettings `locationName:"settings" type:"structure" required:"true"`
  7191  
  7192  	// Optional. Enable this setting when you run a test job to estimate how many
  7193  	// reserved transcoding slots (RTS) you need. When this is enabled, MediaConvert
  7194  	// runs your job from an on-demand queue with similar performance to what you
  7195  	// will see with one RTS in a reserved queue. This setting is disabled by default.
  7196  	SimulateReservedQueue *string `locationName:"simulateReservedQueue" type:"string" enum:"SimulateReservedQueue"`
  7197  
  7198  	// Optional. Specify how often MediaConvert sends STATUS_UPDATE events to Amazon
  7199  	// CloudWatch Events. Set the interval, in seconds, between status updates.
  7200  	// MediaConvert sends an update at this interval from the time the service begins
  7201  	// processing your job to the time it completes the transcode or encounters
  7202  	// an error.
  7203  	StatusUpdateInterval *string `locationName:"statusUpdateInterval" type:"string" enum:"StatusUpdateInterval"`
  7204  
  7205  	// Optional. The tags that you want to add to the resource. You can tag resources
  7206  	// with a key-value pair or with only a key. Use standard AWS tags on your job
  7207  	// for automatic integration with AWS services and for custom integrations and
  7208  	// workflows.
  7209  	Tags map[string]*string `locationName:"tags" type:"map"`
  7210  
  7211  	// Optional. User-defined metadata that you want to associate with an MediaConvert
  7212  	// job. You specify metadata in key/value pairs. Use only for existing integrations
  7213  	// or workflows that rely on job metadata tags. Otherwise, we recommend that
  7214  	// you use standard AWS tags.
  7215  	UserMetadata map[string]*string `locationName:"userMetadata" type:"map"`
  7216  }
  7217  
  7218  // String returns the string representation.
  7219  //
  7220  // API parameter values that are decorated as "sensitive" in the API will not
  7221  // be included in the string output. The member name will be present, but the
  7222  // value will be replaced with "sensitive".
  7223  func (s CreateJobInput) String() string {
  7224  	return awsutil.Prettify(s)
  7225  }
  7226  
  7227  // GoString returns the string representation.
  7228  //
  7229  // API parameter values that are decorated as "sensitive" in the API will not
  7230  // be included in the string output. The member name will be present, but the
  7231  // value will be replaced with "sensitive".
  7232  func (s CreateJobInput) GoString() string {
  7233  	return s.String()
  7234  }
  7235  
  7236  // Validate inspects the fields of the type to determine if they are valid.
  7237  func (s *CreateJobInput) Validate() error {
  7238  	invalidParams := request.ErrInvalidParams{Context: "CreateJobInput"}
  7239  	if s.Priority != nil && *s.Priority < -50 {
  7240  		invalidParams.Add(request.NewErrParamMinValue("Priority", -50))
  7241  	}
  7242  	if s.Role == nil {
  7243  		invalidParams.Add(request.NewErrParamRequired("Role"))
  7244  	}
  7245  	if s.Settings == nil {
  7246  		invalidParams.Add(request.NewErrParamRequired("Settings"))
  7247  	}
  7248  	if s.AccelerationSettings != nil {
  7249  		if err := s.AccelerationSettings.Validate(); err != nil {
  7250  			invalidParams.AddNested("AccelerationSettings", err.(request.ErrInvalidParams))
  7251  		}
  7252  	}
  7253  	if s.HopDestinations != nil {
  7254  		for i, v := range s.HopDestinations {
  7255  			if v == nil {
  7256  				continue
  7257  			}
  7258  			if err := v.Validate(); err != nil {
  7259  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HopDestinations", i), err.(request.ErrInvalidParams))
  7260  			}
  7261  		}
  7262  	}
  7263  	if s.Settings != nil {
  7264  		if err := s.Settings.Validate(); err != nil {
  7265  			invalidParams.AddNested("Settings", err.(request.ErrInvalidParams))
  7266  		}
  7267  	}
  7268  
  7269  	if invalidParams.Len() > 0 {
  7270  		return invalidParams
  7271  	}
  7272  	return nil
  7273  }
  7274  
  7275  // SetAccelerationSettings sets the AccelerationSettings field's value.
  7276  func (s *CreateJobInput) SetAccelerationSettings(v *AccelerationSettings) *CreateJobInput {
  7277  	s.AccelerationSettings = v
  7278  	return s
  7279  }
  7280  
  7281  // SetBillingTagsSource sets the BillingTagsSource field's value.
  7282  func (s *CreateJobInput) SetBillingTagsSource(v string) *CreateJobInput {
  7283  	s.BillingTagsSource = &v
  7284  	return s
  7285  }
  7286  
  7287  // SetClientRequestToken sets the ClientRequestToken field's value.
  7288  func (s *CreateJobInput) SetClientRequestToken(v string) *CreateJobInput {
  7289  	s.ClientRequestToken = &v
  7290  	return s
  7291  }
  7292  
  7293  // SetHopDestinations sets the HopDestinations field's value.
  7294  func (s *CreateJobInput) SetHopDestinations(v []*HopDestination) *CreateJobInput {
  7295  	s.HopDestinations = v
  7296  	return s
  7297  }
  7298  
  7299  // SetJobTemplate sets the JobTemplate field's value.
  7300  func (s *CreateJobInput) SetJobTemplate(v string) *CreateJobInput {
  7301  	s.JobTemplate = &v
  7302  	return s
  7303  }
  7304  
  7305  // SetPriority sets the Priority field's value.
  7306  func (s *CreateJobInput) SetPriority(v int64) *CreateJobInput {
  7307  	s.Priority = &v
  7308  	return s
  7309  }
  7310  
  7311  // SetQueue sets the Queue field's value.
  7312  func (s *CreateJobInput) SetQueue(v string) *CreateJobInput {
  7313  	s.Queue = &v
  7314  	return s
  7315  }
  7316  
  7317  // SetRole sets the Role field's value.
  7318  func (s *CreateJobInput) SetRole(v string) *CreateJobInput {
  7319  	s.Role = &v
  7320  	return s
  7321  }
  7322  
  7323  // SetSettings sets the Settings field's value.
  7324  func (s *CreateJobInput) SetSettings(v *JobSettings) *CreateJobInput {
  7325  	s.Settings = v
  7326  	return s
  7327  }
  7328  
  7329  // SetSimulateReservedQueue sets the SimulateReservedQueue field's value.
  7330  func (s *CreateJobInput) SetSimulateReservedQueue(v string) *CreateJobInput {
  7331  	s.SimulateReservedQueue = &v
  7332  	return s
  7333  }
  7334  
  7335  // SetStatusUpdateInterval sets the StatusUpdateInterval field's value.
  7336  func (s *CreateJobInput) SetStatusUpdateInterval(v string) *CreateJobInput {
  7337  	s.StatusUpdateInterval = &v
  7338  	return s
  7339  }
  7340  
  7341  // SetTags sets the Tags field's value.
  7342  func (s *CreateJobInput) SetTags(v map[string]*string) *CreateJobInput {
  7343  	s.Tags = v
  7344  	return s
  7345  }
  7346  
  7347  // SetUserMetadata sets the UserMetadata field's value.
  7348  func (s *CreateJobInput) SetUserMetadata(v map[string]*string) *CreateJobInput {
  7349  	s.UserMetadata = v
  7350  	return s
  7351  }
  7352  
  7353  // Successful create job requests will return the job JSON.
  7354  type CreateJobOutput struct {
  7355  	_ struct{} `type:"structure"`
  7356  
  7357  	// Each job converts an input file into an output file or files. For more information,
  7358  	// see the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
  7359  	Job *Job `locationName:"job" type:"structure"`
  7360  }
  7361  
  7362  // String returns the string representation.
  7363  //
  7364  // API parameter values that are decorated as "sensitive" in the API will not
  7365  // be included in the string output. The member name will be present, but the
  7366  // value will be replaced with "sensitive".
  7367  func (s CreateJobOutput) String() string {
  7368  	return awsutil.Prettify(s)
  7369  }
  7370  
  7371  // GoString returns the string representation.
  7372  //
  7373  // API parameter values that are decorated as "sensitive" in the API will not
  7374  // be included in the string output. The member name will be present, but the
  7375  // value will be replaced with "sensitive".
  7376  func (s CreateJobOutput) GoString() string {
  7377  	return s.String()
  7378  }
  7379  
  7380  // SetJob sets the Job field's value.
  7381  func (s *CreateJobOutput) SetJob(v *Job) *CreateJobOutput {
  7382  	s.Job = v
  7383  	return s
  7384  }
  7385  
  7386  // Send your create job template request with the name of the template and the
  7387  // JSON for the template. The template JSON should include everything in a valid
  7388  // job, except for input location and filename, IAM role, and user metadata.
  7389  type CreateJobTemplateInput struct {
  7390  	_ struct{} `type:"structure"`
  7391  
  7392  	// Accelerated transcoding can significantly speed up jobs with long, visually
  7393  	// complex content. Outputs that use this feature incur pro-tier pricing. For
  7394  	// information about feature limitations, see the AWS Elemental MediaConvert
  7395  	// User Guide.
  7396  	AccelerationSettings *AccelerationSettings `locationName:"accelerationSettings" type:"structure"`
  7397  
  7398  	// Optional. A category for the job template you are creating
  7399  	Category *string `locationName:"category" type:"string"`
  7400  
  7401  	// Optional. A description of the job template you are creating.
  7402  	Description *string `locationName:"description" type:"string"`
  7403  
  7404  	// Optional. Use queue hopping to avoid overly long waits in the backlog of
  7405  	// the queue that you submit your job to. Specify an alternate queue and the
  7406  	// maximum time that your job will wait in the initial queue before hopping.
  7407  	// For more information about this feature, see the AWS Elemental MediaConvert
  7408  	// User Guide.
  7409  	HopDestinations []*HopDestination `locationName:"hopDestinations" type:"list"`
  7410  
  7411  	// The name of the job template you are creating.
  7412  	//
  7413  	// Name is a required field
  7414  	Name *string `locationName:"name" type:"string" required:"true"`
  7415  
  7416  	// Specify the relative priority for this job. In any given queue, the service
  7417  	// begins processing the job with the highest value first. When more than one
  7418  	// job has the same priority, the service begins processing the job that you
  7419  	// submitted first. If you don't specify a priority, the service uses the default
  7420  	// value 0.
  7421  	Priority *int64 `locationName:"priority" type:"integer"`
  7422  
  7423  	// Optional. The queue that jobs created from this template are assigned to.
  7424  	// If you don't specify this, jobs will go to the default queue.
  7425  	Queue *string `locationName:"queue" type:"string"`
  7426  
  7427  	// JobTemplateSettings contains all the transcode settings saved in the template
  7428  	// that will be applied to jobs created from it.
  7429  	//
  7430  	// Settings is a required field
  7431  	Settings *JobTemplateSettings `locationName:"settings" type:"structure" required:"true"`
  7432  
  7433  	// Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch
  7434  	// Events. Set the interval, in seconds, between status updates. MediaConvert
  7435  	// sends an update at this interval from the time the service begins processing
  7436  	// your job to the time it completes the transcode or encounters an error.
  7437  	StatusUpdateInterval *string `locationName:"statusUpdateInterval" type:"string" enum:"StatusUpdateInterval"`
  7438  
  7439  	// The tags that you want to add to the resource. You can tag resources with
  7440  	// a key-value pair or with only a key.
  7441  	Tags map[string]*string `locationName:"tags" type:"map"`
  7442  }
  7443  
  7444  // String returns the string representation.
  7445  //
  7446  // API parameter values that are decorated as "sensitive" in the API will not
  7447  // be included in the string output. The member name will be present, but the
  7448  // value will be replaced with "sensitive".
  7449  func (s CreateJobTemplateInput) String() string {
  7450  	return awsutil.Prettify(s)
  7451  }
  7452  
  7453  // GoString returns the string representation.
  7454  //
  7455  // API parameter values that are decorated as "sensitive" in the API will not
  7456  // be included in the string output. The member name will be present, but the
  7457  // value will be replaced with "sensitive".
  7458  func (s CreateJobTemplateInput) GoString() string {
  7459  	return s.String()
  7460  }
  7461  
  7462  // Validate inspects the fields of the type to determine if they are valid.
  7463  func (s *CreateJobTemplateInput) Validate() error {
  7464  	invalidParams := request.ErrInvalidParams{Context: "CreateJobTemplateInput"}
  7465  	if s.Name == nil {
  7466  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7467  	}
  7468  	if s.Priority != nil && *s.Priority < -50 {
  7469  		invalidParams.Add(request.NewErrParamMinValue("Priority", -50))
  7470  	}
  7471  	if s.Settings == nil {
  7472  		invalidParams.Add(request.NewErrParamRequired("Settings"))
  7473  	}
  7474  	if s.AccelerationSettings != nil {
  7475  		if err := s.AccelerationSettings.Validate(); err != nil {
  7476  			invalidParams.AddNested("AccelerationSettings", err.(request.ErrInvalidParams))
  7477  		}
  7478  	}
  7479  	if s.HopDestinations != nil {
  7480  		for i, v := range s.HopDestinations {
  7481  			if v == nil {
  7482  				continue
  7483  			}
  7484  			if err := v.Validate(); err != nil {
  7485  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HopDestinations", i), err.(request.ErrInvalidParams))
  7486  			}
  7487  		}
  7488  	}
  7489  	if s.Settings != nil {
  7490  		if err := s.Settings.Validate(); err != nil {
  7491  			invalidParams.AddNested("Settings", err.(request.ErrInvalidParams))
  7492  		}
  7493  	}
  7494  
  7495  	if invalidParams.Len() > 0 {
  7496  		return invalidParams
  7497  	}
  7498  	return nil
  7499  }
  7500  
  7501  // SetAccelerationSettings sets the AccelerationSettings field's value.
  7502  func (s *CreateJobTemplateInput) SetAccelerationSettings(v *AccelerationSettings) *CreateJobTemplateInput {
  7503  	s.AccelerationSettings = v
  7504  	return s
  7505  }
  7506  
  7507  // SetCategory sets the Category field's value.
  7508  func (s *CreateJobTemplateInput) SetCategory(v string) *CreateJobTemplateInput {
  7509  	s.Category = &v
  7510  	return s
  7511  }
  7512  
  7513  // SetDescription sets the Description field's value.
  7514  func (s *CreateJobTemplateInput) SetDescription(v string) *CreateJobTemplateInput {
  7515  	s.Description = &v
  7516  	return s
  7517  }
  7518  
  7519  // SetHopDestinations sets the HopDestinations field's value.
  7520  func (s *CreateJobTemplateInput) SetHopDestinations(v []*HopDestination) *CreateJobTemplateInput {
  7521  	s.HopDestinations = v
  7522  	return s
  7523  }
  7524  
  7525  // SetName sets the Name field's value.
  7526  func (s *CreateJobTemplateInput) SetName(v string) *CreateJobTemplateInput {
  7527  	s.Name = &v
  7528  	return s
  7529  }
  7530  
  7531  // SetPriority sets the Priority field's value.
  7532  func (s *CreateJobTemplateInput) SetPriority(v int64) *CreateJobTemplateInput {
  7533  	s.Priority = &v
  7534  	return s
  7535  }
  7536  
  7537  // SetQueue sets the Queue field's value.
  7538  func (s *CreateJobTemplateInput) SetQueue(v string) *CreateJobTemplateInput {
  7539  	s.Queue = &v
  7540  	return s
  7541  }
  7542  
  7543  // SetSettings sets the Settings field's value.
  7544  func (s *CreateJobTemplateInput) SetSettings(v *JobTemplateSettings) *CreateJobTemplateInput {
  7545  	s.Settings = v
  7546  	return s
  7547  }
  7548  
  7549  // SetStatusUpdateInterval sets the StatusUpdateInterval field's value.
  7550  func (s *CreateJobTemplateInput) SetStatusUpdateInterval(v string) *CreateJobTemplateInput {
  7551  	s.StatusUpdateInterval = &v
  7552  	return s
  7553  }
  7554  
  7555  // SetTags sets the Tags field's value.
  7556  func (s *CreateJobTemplateInput) SetTags(v map[string]*string) *CreateJobTemplateInput {
  7557  	s.Tags = v
  7558  	return s
  7559  }
  7560  
  7561  // Successful create job template requests will return the template JSON.
  7562  type CreateJobTemplateOutput struct {
  7563  	_ struct{} `type:"structure"`
  7564  
  7565  	// A job template is a pre-made set of encoding instructions that you can use
  7566  	// to quickly create a job.
  7567  	JobTemplate *JobTemplate `locationName:"jobTemplate" type:"structure"`
  7568  }
  7569  
  7570  // String returns the string representation.
  7571  //
  7572  // API parameter values that are decorated as "sensitive" in the API will not
  7573  // be included in the string output. The member name will be present, but the
  7574  // value will be replaced with "sensitive".
  7575  func (s CreateJobTemplateOutput) String() string {
  7576  	return awsutil.Prettify(s)
  7577  }
  7578  
  7579  // GoString returns the string representation.
  7580  //
  7581  // API parameter values that are decorated as "sensitive" in the API will not
  7582  // be included in the string output. The member name will be present, but the
  7583  // value will be replaced with "sensitive".
  7584  func (s CreateJobTemplateOutput) GoString() string {
  7585  	return s.String()
  7586  }
  7587  
  7588  // SetJobTemplate sets the JobTemplate field's value.
  7589  func (s *CreateJobTemplateOutput) SetJobTemplate(v *JobTemplate) *CreateJobTemplateOutput {
  7590  	s.JobTemplate = v
  7591  	return s
  7592  }
  7593  
  7594  // Send your create preset request with the name of the preset and the JSON
  7595  // for the output settings specified by the preset.
  7596  type CreatePresetInput struct {
  7597  	_ struct{} `type:"structure"`
  7598  
  7599  	// Optional. A category for the preset you are creating.
  7600  	Category *string `locationName:"category" type:"string"`
  7601  
  7602  	// Optional. A description of the preset you are creating.
  7603  	Description *string `locationName:"description" type:"string"`
  7604  
  7605  	// The name of the preset you are creating.
  7606  	//
  7607  	// Name is a required field
  7608  	Name *string `locationName:"name" type:"string" required:"true"`
  7609  
  7610  	// Settings for preset
  7611  	//
  7612  	// Settings is a required field
  7613  	Settings *PresetSettings `locationName:"settings" type:"structure" required:"true"`
  7614  
  7615  	// The tags that you want to add to the resource. You can tag resources with
  7616  	// a key-value pair or with only a key.
  7617  	Tags map[string]*string `locationName:"tags" type:"map"`
  7618  }
  7619  
  7620  // String returns the string representation.
  7621  //
  7622  // API parameter values that are decorated as "sensitive" in the API will not
  7623  // be included in the string output. The member name will be present, but the
  7624  // value will be replaced with "sensitive".
  7625  func (s CreatePresetInput) String() string {
  7626  	return awsutil.Prettify(s)
  7627  }
  7628  
  7629  // GoString returns the string representation.
  7630  //
  7631  // API parameter values that are decorated as "sensitive" in the API will not
  7632  // be included in the string output. The member name will be present, but the
  7633  // value will be replaced with "sensitive".
  7634  func (s CreatePresetInput) GoString() string {
  7635  	return s.String()
  7636  }
  7637  
  7638  // Validate inspects the fields of the type to determine if they are valid.
  7639  func (s *CreatePresetInput) Validate() error {
  7640  	invalidParams := request.ErrInvalidParams{Context: "CreatePresetInput"}
  7641  	if s.Name == nil {
  7642  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7643  	}
  7644  	if s.Settings == nil {
  7645  		invalidParams.Add(request.NewErrParamRequired("Settings"))
  7646  	}
  7647  	if s.Settings != nil {
  7648  		if err := s.Settings.Validate(); err != nil {
  7649  			invalidParams.AddNested("Settings", err.(request.ErrInvalidParams))
  7650  		}
  7651  	}
  7652  
  7653  	if invalidParams.Len() > 0 {
  7654  		return invalidParams
  7655  	}
  7656  	return nil
  7657  }
  7658  
  7659  // SetCategory sets the Category field's value.
  7660  func (s *CreatePresetInput) SetCategory(v string) *CreatePresetInput {
  7661  	s.Category = &v
  7662  	return s
  7663  }
  7664  
  7665  // SetDescription sets the Description field's value.
  7666  func (s *CreatePresetInput) SetDescription(v string) *CreatePresetInput {
  7667  	s.Description = &v
  7668  	return s
  7669  }
  7670  
  7671  // SetName sets the Name field's value.
  7672  func (s *CreatePresetInput) SetName(v string) *CreatePresetInput {
  7673  	s.Name = &v
  7674  	return s
  7675  }
  7676  
  7677  // SetSettings sets the Settings field's value.
  7678  func (s *CreatePresetInput) SetSettings(v *PresetSettings) *CreatePresetInput {
  7679  	s.Settings = v
  7680  	return s
  7681  }
  7682  
  7683  // SetTags sets the Tags field's value.
  7684  func (s *CreatePresetInput) SetTags(v map[string]*string) *CreatePresetInput {
  7685  	s.Tags = v
  7686  	return s
  7687  }
  7688  
  7689  // Successful create preset requests will return the preset JSON.
  7690  type CreatePresetOutput struct {
  7691  	_ struct{} `type:"structure"`
  7692  
  7693  	// A preset is a collection of preconfigured media conversion settings that
  7694  	// you want MediaConvert to apply to the output during the conversion process.
  7695  	Preset *Preset `locationName:"preset" type:"structure"`
  7696  }
  7697  
  7698  // String returns the string representation.
  7699  //
  7700  // API parameter values that are decorated as "sensitive" in the API will not
  7701  // be included in the string output. The member name will be present, but the
  7702  // value will be replaced with "sensitive".
  7703  func (s CreatePresetOutput) String() string {
  7704  	return awsutil.Prettify(s)
  7705  }
  7706  
  7707  // GoString returns the string representation.
  7708  //
  7709  // API parameter values that are decorated as "sensitive" in the API will not
  7710  // be included in the string output. The member name will be present, but the
  7711  // value will be replaced with "sensitive".
  7712  func (s CreatePresetOutput) GoString() string {
  7713  	return s.String()
  7714  }
  7715  
  7716  // SetPreset sets the Preset field's value.
  7717  func (s *CreatePresetOutput) SetPreset(v *Preset) *CreatePresetOutput {
  7718  	s.Preset = v
  7719  	return s
  7720  }
  7721  
  7722  // Create an on-demand queue by sending a CreateQueue request with the name
  7723  // of the queue. Create a reserved queue by sending a CreateQueue request with
  7724  // the pricing plan set to RESERVED and with values specified for the settings
  7725  // under reservationPlanSettings. When you create a reserved queue, you enter
  7726  // into a 12-month commitment to purchase the RTS that you specify. You can't
  7727  // cancel this commitment.
  7728  type CreateQueueInput struct {
  7729  	_ struct{} `type:"structure"`
  7730  
  7731  	// Optional. A description of the queue that you are creating.
  7732  	Description *string `locationName:"description" type:"string"`
  7733  
  7734  	// The name of the queue that you are creating.
  7735  	//
  7736  	// Name is a required field
  7737  	Name *string `locationName:"name" type:"string" required:"true"`
  7738  
  7739  	// Specifies whether the pricing plan for the queue is on-demand or reserved.
  7740  	// For on-demand, you pay per minute, billed in increments of .01 minute. For
  7741  	// reserved, you pay for the transcoding capacity of the entire queue, regardless
  7742  	// of how much or how little you use it. Reserved pricing requires a 12-month
  7743  	// commitment. When you use the API to create a queue, the default is on-demand.
  7744  	PricingPlan *string `locationName:"pricingPlan" type:"string" enum:"PricingPlan"`
  7745  
  7746  	// Details about the pricing plan for your reserved queue. Required for reserved
  7747  	// queues and not applicable to on-demand queues.
  7748  	ReservationPlanSettings *ReservationPlanSettings `locationName:"reservationPlanSettings" type:"structure"`
  7749  
  7750  	// Initial state of the queue. If you create a paused queue, then jobs in that
  7751  	// queue won't begin.
  7752  	Status *string `locationName:"status" type:"string" enum:"QueueStatus"`
  7753  
  7754  	// The tags that you want to add to the resource. You can tag resources with
  7755  	// a key-value pair or with only a key.
  7756  	Tags map[string]*string `locationName:"tags" type:"map"`
  7757  }
  7758  
  7759  // String returns the string representation.
  7760  //
  7761  // API parameter values that are decorated as "sensitive" in the API will not
  7762  // be included in the string output. The member name will be present, but the
  7763  // value will be replaced with "sensitive".
  7764  func (s CreateQueueInput) String() string {
  7765  	return awsutil.Prettify(s)
  7766  }
  7767  
  7768  // GoString returns the string representation.
  7769  //
  7770  // API parameter values that are decorated as "sensitive" in the API will not
  7771  // be included in the string output. The member name will be present, but the
  7772  // value will be replaced with "sensitive".
  7773  func (s CreateQueueInput) GoString() string {
  7774  	return s.String()
  7775  }
  7776  
  7777  // Validate inspects the fields of the type to determine if they are valid.
  7778  func (s *CreateQueueInput) Validate() error {
  7779  	invalidParams := request.ErrInvalidParams{Context: "CreateQueueInput"}
  7780  	if s.Name == nil {
  7781  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7782  	}
  7783  	if s.ReservationPlanSettings != nil {
  7784  		if err := s.ReservationPlanSettings.Validate(); err != nil {
  7785  			invalidParams.AddNested("ReservationPlanSettings", err.(request.ErrInvalidParams))
  7786  		}
  7787  	}
  7788  
  7789  	if invalidParams.Len() > 0 {
  7790  		return invalidParams
  7791  	}
  7792  	return nil
  7793  }
  7794  
  7795  // SetDescription sets the Description field's value.
  7796  func (s *CreateQueueInput) SetDescription(v string) *CreateQueueInput {
  7797  	s.Description = &v
  7798  	return s
  7799  }
  7800  
  7801  // SetName sets the Name field's value.
  7802  func (s *CreateQueueInput) SetName(v string) *CreateQueueInput {
  7803  	s.Name = &v
  7804  	return s
  7805  }
  7806  
  7807  // SetPricingPlan sets the PricingPlan field's value.
  7808  func (s *CreateQueueInput) SetPricingPlan(v string) *CreateQueueInput {
  7809  	s.PricingPlan = &v
  7810  	return s
  7811  }
  7812  
  7813  // SetReservationPlanSettings sets the ReservationPlanSettings field's value.
  7814  func (s *CreateQueueInput) SetReservationPlanSettings(v *ReservationPlanSettings) *CreateQueueInput {
  7815  	s.ReservationPlanSettings = v
  7816  	return s
  7817  }
  7818  
  7819  // SetStatus sets the Status field's value.
  7820  func (s *CreateQueueInput) SetStatus(v string) *CreateQueueInput {
  7821  	s.Status = &v
  7822  	return s
  7823  }
  7824  
  7825  // SetTags sets the Tags field's value.
  7826  func (s *CreateQueueInput) SetTags(v map[string]*string) *CreateQueueInput {
  7827  	s.Tags = v
  7828  	return s
  7829  }
  7830  
  7831  // Successful create queue requests return the name of the queue that you just
  7832  // created and information about it.
  7833  type CreateQueueOutput struct {
  7834  	_ struct{} `type:"structure"`
  7835  
  7836  	// You can use queues to manage the resources that are available to your AWS
  7837  	// account for running multiple transcoding jobs at the same time. If you don't
  7838  	// specify a queue, the service sends all jobs through the default queue. For
  7839  	// more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html.
  7840  	Queue *Queue `locationName:"queue" type:"structure"`
  7841  }
  7842  
  7843  // String returns the string representation.
  7844  //
  7845  // API parameter values that are decorated as "sensitive" in the API will not
  7846  // be included in the string output. The member name will be present, but the
  7847  // value will be replaced with "sensitive".
  7848  func (s CreateQueueOutput) String() string {
  7849  	return awsutil.Prettify(s)
  7850  }
  7851  
  7852  // GoString returns the string representation.
  7853  //
  7854  // API parameter values that are decorated as "sensitive" in the API will not
  7855  // be included in the string output. The member name will be present, but the
  7856  // value will be replaced with "sensitive".
  7857  func (s CreateQueueOutput) GoString() string {
  7858  	return s.String()
  7859  }
  7860  
  7861  // SetQueue sets the Queue field's value.
  7862  func (s *CreateQueueOutput) SetQueue(v *Queue) *CreateQueueOutput {
  7863  	s.Queue = v
  7864  	return s
  7865  }
  7866  
  7867  // Specify the details for each additional DASH manifest that you want the service
  7868  // to generate for this output group. Each manifest can reference a different
  7869  // subset of outputs in the group.
  7870  type DashAdditionalManifest struct {
  7871  	_ struct{} `type:"structure"`
  7872  
  7873  	// Specify a name modifier that the service adds to the name of this manifest
  7874  	// to make it different from the file names of the other main manifests in the
  7875  	// output group. For example, say that the default main manifest for your DASH
  7876  	// group is film-name.mpd. If you enter "-no-premium" for this setting, then
  7877  	// the file name the service generates for this top-level manifest is film-name-no-premium.mpd.
  7878  	ManifestNameModifier *string `locationName:"manifestNameModifier" min:"1" type:"string"`
  7879  
  7880  	// Specify the outputs that you want this additional top-level manifest to reference.
  7881  	SelectedOutputs []*string `locationName:"selectedOutputs" type:"list"`
  7882  }
  7883  
  7884  // String returns the string representation.
  7885  //
  7886  // API parameter values that are decorated as "sensitive" in the API will not
  7887  // be included in the string output. The member name will be present, but the
  7888  // value will be replaced with "sensitive".
  7889  func (s DashAdditionalManifest) String() string {
  7890  	return awsutil.Prettify(s)
  7891  }
  7892  
  7893  // GoString returns the string representation.
  7894  //
  7895  // API parameter values that are decorated as "sensitive" in the API will not
  7896  // be included in the string output. The member name will be present, but the
  7897  // value will be replaced with "sensitive".
  7898  func (s DashAdditionalManifest) GoString() string {
  7899  	return s.String()
  7900  }
  7901  
  7902  // Validate inspects the fields of the type to determine if they are valid.
  7903  func (s *DashAdditionalManifest) Validate() error {
  7904  	invalidParams := request.ErrInvalidParams{Context: "DashAdditionalManifest"}
  7905  	if s.ManifestNameModifier != nil && len(*s.ManifestNameModifier) < 1 {
  7906  		invalidParams.Add(request.NewErrParamMinLen("ManifestNameModifier", 1))
  7907  	}
  7908  
  7909  	if invalidParams.Len() > 0 {
  7910  		return invalidParams
  7911  	}
  7912  	return nil
  7913  }
  7914  
  7915  // SetManifestNameModifier sets the ManifestNameModifier field's value.
  7916  func (s *DashAdditionalManifest) SetManifestNameModifier(v string) *DashAdditionalManifest {
  7917  	s.ManifestNameModifier = &v
  7918  	return s
  7919  }
  7920  
  7921  // SetSelectedOutputs sets the SelectedOutputs field's value.
  7922  func (s *DashAdditionalManifest) SetSelectedOutputs(v []*string) *DashAdditionalManifest {
  7923  	s.SelectedOutputs = v
  7924  	return s
  7925  }
  7926  
  7927  // Specifies DRM settings for DASH outputs.
  7928  type DashIsoEncryptionSettings struct {
  7929  	_ struct{} `type:"structure"`
  7930  
  7931  	// This setting can improve the compatibility of your output with video players
  7932  	// on obsolete devices. It applies only to DASH H.264 outputs with DRM encryption.
  7933  	// Choose Unencrypted SEI (UNENCRYPTED_SEI) only to correct problems with playback
  7934  	// on older devices. Otherwise, keep the default setting CENC v1 (CENC_V1).
  7935  	// If you choose Unencrypted SEI, for that output, the service will exclude
  7936  	// the access unit delimiter and will leave the SEI NAL units unencrypted.
  7937  	PlaybackDeviceCompatibility *string `locationName:"playbackDeviceCompatibility" type:"string" enum:"DashIsoPlaybackDeviceCompatibility"`
  7938  
  7939  	// If your output group type is HLS, DASH, or Microsoft Smooth, use these settings
  7940  	// when doing DRM encryption with a SPEKE-compliant key provider. If your output
  7941  	// group type is CMAF, use the SpekeKeyProviderCmaf settings instead.
  7942  	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure"`
  7943  }
  7944  
  7945  // String returns the string representation.
  7946  //
  7947  // API parameter values that are decorated as "sensitive" in the API will not
  7948  // be included in the string output. The member name will be present, but the
  7949  // value will be replaced with "sensitive".
  7950  func (s DashIsoEncryptionSettings) String() string {
  7951  	return awsutil.Prettify(s)
  7952  }
  7953  
  7954  // GoString returns the string representation.
  7955  //
  7956  // API parameter values that are decorated as "sensitive" in the API will not
  7957  // be included in the string output. The member name will be present, but the
  7958  // value will be replaced with "sensitive".
  7959  func (s DashIsoEncryptionSettings) GoString() string {
  7960  	return s.String()
  7961  }
  7962  
  7963  // SetPlaybackDeviceCompatibility sets the PlaybackDeviceCompatibility field's value.
  7964  func (s *DashIsoEncryptionSettings) SetPlaybackDeviceCompatibility(v string) *DashIsoEncryptionSettings {
  7965  	s.PlaybackDeviceCompatibility = &v
  7966  	return s
  7967  }
  7968  
  7969  // SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
  7970  func (s *DashIsoEncryptionSettings) SetSpekeKeyProvider(v *SpekeKeyProvider) *DashIsoEncryptionSettings {
  7971  	s.SpekeKeyProvider = v
  7972  	return s
  7973  }
  7974  
  7975  // Settings related to your DASH output package. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/outputs-file-ABR.html.
  7976  // When you work directly in your JSON job specification, include this object
  7977  // and any required children when you set Type, under OutputGroupSettings, to
  7978  // DASH_ISO_GROUP_SETTINGS.
  7979  type DashIsoGroupSettings struct {
  7980  	_ struct{} `type:"structure"`
  7981  
  7982  	// By default, the service creates one .mpd DASH manifest for each DASH ISO
  7983  	// output group in your job. This default manifest references every output in
  7984  	// the output group. To create additional DASH manifests that reference a subset
  7985  	// of the outputs in the output group, specify a list of them here.
  7986  	AdditionalManifests []*DashAdditionalManifest `locationName:"additionalManifests" type:"list"`
  7987  
  7988  	// Use this setting only when your audio codec is a Dolby one (AC3, EAC3, or
  7989  	// Atmos) and your downstream workflow requires that your DASH manifest use
  7990  	// the Dolby channel configuration tag, rather than the MPEG one. For example,
  7991  	// you might need to use this to make dynamic ad insertion work. Specify which
  7992  	// audio channel configuration scheme ID URI MediaConvert writes in your DASH
  7993  	// manifest. Keep the default value, MPEG channel configuration (MPEG_CHANNEL_CONFIGURATION),
  7994  	// to have MediaConvert write this: urn:mpeg:mpegB:cicp:ChannelConfiguration.
  7995  	// Choose Dolby channel configuration (DOLBY_CHANNEL_CONFIGURATION) to have
  7996  	// MediaConvert write this instead: tag:dolby.com,2014:dash:audio_channel_configuration:2011.
  7997  	AudioChannelConfigSchemeIdUri *string `locationName:"audioChannelConfigSchemeIdUri" type:"string" enum:"DashIsoGroupAudioChannelConfigSchemeIdUri"`
  7998  
  7999  	// A partial URI prefix that will be put in the manifest (.mpd) file at the
  8000  	// top level BaseURL element. Can be used if streams are delivered from a different
  8001  	// URL than the manifest file.
  8002  	BaseUrl *string `locationName:"baseUrl" type:"string"`
  8003  
  8004  	// Use Destination (Destination) to specify the S3 output location and the output
  8005  	// filename base. Destination accepts format identifiers. If you do not specify
  8006  	// the base filename in the URI, the service will use the filename of the input
  8007  	// file. If your job has multiple inputs, the service uses the filename of the
  8008  	// first input file.
  8009  	Destination *string `locationName:"destination" type:"string"`
  8010  
  8011  	// Settings associated with the destination. Will vary based on the type of
  8012  	// destination
  8013  	DestinationSettings *DestinationSettings `locationName:"destinationSettings" type:"structure"`
  8014  
  8015  	// DRM settings.
  8016  	Encryption *DashIsoEncryptionSettings `locationName:"encryption" type:"structure"`
  8017  
  8018  	// Length of fragments to generate (in seconds). Fragment length must be compatible
  8019  	// with GOP size and Framerate. Note that fragments will end on the next keyframe
  8020  	// after this number of seconds, so actual fragment length may be longer. When
  8021  	// Emit Single File is checked, the fragmentation is internal to a single output
  8022  	// file and it does not cause the creation of many output files as in other
  8023  	// output types.
  8024  	FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer"`
  8025  
  8026  	// Supports HbbTV specification as indicated
  8027  	HbbtvCompliance *string `locationName:"hbbtvCompliance" type:"string" enum:"DashIsoHbbtvCompliance"`
  8028  
  8029  	// Specify whether MediaConvert generates images for trick play. Keep the default
  8030  	// value, None (NONE), to not generate any images. Choose Thumbnail (THUMBNAIL)
  8031  	// to generate tiled thumbnails. Choose Thumbnail and full frame (THUMBNAIL_AND_FULLFRAME)
  8032  	// to generate tiled thumbnails and full-resolution images of single frames.
  8033  	// MediaConvert adds an entry in the .mpd manifest for each set of images that
  8034  	// you generate. A common application for these images is Roku trick mode. The
  8035  	// thumbnails and full-frame images that MediaConvert creates with this feature
  8036  	// are compatible with this Roku specification: https://developer.roku.com/docs/developer-program/media-playback/trick-mode/hls-and-dash.md
  8037  	ImageBasedTrickPlay *string `locationName:"imageBasedTrickPlay" type:"string" enum:"DashIsoImageBasedTrickPlay"`
  8038  
  8039  	// Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED
  8040  	ImageBasedTrickPlaySettings *DashIsoImageBasedTrickPlaySettings `locationName:"imageBasedTrickPlaySettings" type:"structure"`
  8041  
  8042  	// Minimum time of initially buffered media that is needed to ensure smooth
  8043  	// playout.
  8044  	MinBufferTime *int64 `locationName:"minBufferTime" type:"integer"`
  8045  
  8046  	// Keep this setting at the default value of 0, unless you are troubleshooting
  8047  	// a problem with how devices play back the end of your video asset. If you
  8048  	// know that player devices are hanging on the final segment of your video because
  8049  	// the length of your final segment is too short, use this setting to specify
  8050  	// a minimum final segment length, in seconds. Choose a value that is greater
  8051  	// than or equal to 1 and less than your segment length. When you specify a
  8052  	// value for this setting, the encoder will combine any final segment that is
  8053  	// shorter than the length that you specify with the previous segment. For example,
  8054  	// your segment length is 3 seconds and your final segment is .5 seconds without
  8055  	// a minimum final segment length; when you set the minimum final segment length
  8056  	// to 1, your final segment is 3.5 seconds.
  8057  	MinFinalSegmentLength *float64 `locationName:"minFinalSegmentLength" type:"double"`
  8058  
  8059  	// Specify whether your DASH profile is on-demand or main. When you choose Main
  8060  	// profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011
  8061  	// in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE),
  8062  	// the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd.
  8063  	// When you choose On-demand, you must also set the output group setting Segment
  8064  	// control (SegmentControl) to Single file (SINGLE_FILE).
  8065  	MpdProfile *string `locationName:"mpdProfile" type:"string" enum:"DashIsoMpdProfile"`
  8066  
  8067  	// Use this setting only when your output video stream has B-frames, which causes
  8068  	// the initial presentation time stamp (PTS) to be offset from the initial decode
  8069  	// time stamp (DTS). Specify how MediaConvert handles PTS when writing time
  8070  	// stamps in output DASH manifests. Choose Match initial PTS (MATCH_INITIAL_PTS)
  8071  	// when you want MediaConvert to use the initial PTS as the first time stamp
  8072  	// in the manifest. Choose Zero-based (ZERO_BASED) to have MediaConvert ignore
  8073  	// the initial PTS in the video stream and instead write the initial time stamp
  8074  	// as zero in the manifest. For outputs that don't have B-frames, the time stamps
  8075  	// in your DASH manifests start at zero regardless of your choice here.
  8076  	PtsOffsetHandlingForBFrames *string `locationName:"ptsOffsetHandlingForBFrames" type:"string" enum:"DashIsoPtsOffsetHandlingForBFrames"`
  8077  
  8078  	// When set to SINGLE_FILE, a single output file is generated, which is internally
  8079  	// segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES,
  8080  	// separate segment files will be created.
  8081  	SegmentControl *string `locationName:"segmentControl" type:"string" enum:"DashIsoSegmentControl"`
  8082  
  8083  	// Specify the length, in whole seconds, of each segment. When you don't specify
  8084  	// a value, MediaConvert defaults to 30. Related settings: Use Segment length
  8085  	// control (SegmentLengthControl) to specify whether the encoder enforces this
  8086  	// value strictly. Use Segment control (DashIsoSegmentControl) to specify whether
  8087  	// MediaConvert creates separate segment files or one content file that has
  8088  	// metadata to mark the segment boundaries.
  8089  	SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer"`
  8090  
  8091  	// Specify how you want MediaConvert to determine the segment length. Choose
  8092  	// Exact (EXACT) to have the encoder use the exact length that you specify with
  8093  	// the setting Segment length (SegmentLength). This might result in extra I-frames.
  8094  	// Choose Multiple of GOP (GOP_MULTIPLE) to have the encoder round up the segment
  8095  	// lengths to match the next GOP boundary.
  8096  	SegmentLengthControl *string `locationName:"segmentLengthControl" type:"string" enum:"DashIsoSegmentLengthControl"`
  8097  
  8098  	// If you get an HTTP error in the 400 range when you play back your DASH output,
  8099  	// enable this setting and run your transcoding job again. When you enable this
  8100  	// setting, the service writes precise segment durations in the DASH manifest.
  8101  	// The segment duration information appears inside the SegmentTimeline element,
  8102  	// inside SegmentTemplate at the Representation level. When you don't enable
  8103  	// this setting, the service writes approximate segment durations in your DASH
  8104  	// manifest.
  8105  	WriteSegmentTimelineInRepresentation *string `locationName:"writeSegmentTimelineInRepresentation" type:"string" enum:"DashIsoWriteSegmentTimelineInRepresentation"`
  8106  }
  8107  
  8108  // String returns the string representation.
  8109  //
  8110  // API parameter values that are decorated as "sensitive" in the API will not
  8111  // be included in the string output. The member name will be present, but the
  8112  // value will be replaced with "sensitive".
  8113  func (s DashIsoGroupSettings) String() string {
  8114  	return awsutil.Prettify(s)
  8115  }
  8116  
  8117  // GoString returns the string representation.
  8118  //
  8119  // API parameter values that are decorated as "sensitive" in the API will not
  8120  // be included in the string output. The member name will be present, but the
  8121  // value will be replaced with "sensitive".
  8122  func (s DashIsoGroupSettings) GoString() string {
  8123  	return s.String()
  8124  }
  8125  
  8126  // Validate inspects the fields of the type to determine if they are valid.
  8127  func (s *DashIsoGroupSettings) Validate() error {
  8128  	invalidParams := request.ErrInvalidParams{Context: "DashIsoGroupSettings"}
  8129  	if s.FragmentLength != nil && *s.FragmentLength < 1 {
  8130  		invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1))
  8131  	}
  8132  	if s.SegmentLength != nil && *s.SegmentLength < 1 {
  8133  		invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1))
  8134  	}
  8135  	if s.AdditionalManifests != nil {
  8136  		for i, v := range s.AdditionalManifests {
  8137  			if v == nil {
  8138  				continue
  8139  			}
  8140  			if err := v.Validate(); err != nil {
  8141  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalManifests", i), err.(request.ErrInvalidParams))
  8142  			}
  8143  		}
  8144  	}
  8145  	if s.ImageBasedTrickPlaySettings != nil {
  8146  		if err := s.ImageBasedTrickPlaySettings.Validate(); err != nil {
  8147  			invalidParams.AddNested("ImageBasedTrickPlaySettings", err.(request.ErrInvalidParams))
  8148  		}
  8149  	}
  8150  
  8151  	if invalidParams.Len() > 0 {
  8152  		return invalidParams
  8153  	}
  8154  	return nil
  8155  }
  8156  
  8157  // SetAdditionalManifests sets the AdditionalManifests field's value.
  8158  func (s *DashIsoGroupSettings) SetAdditionalManifests(v []*DashAdditionalManifest) *DashIsoGroupSettings {
  8159  	s.AdditionalManifests = v
  8160  	return s
  8161  }
  8162  
  8163  // SetAudioChannelConfigSchemeIdUri sets the AudioChannelConfigSchemeIdUri field's value.
  8164  func (s *DashIsoGroupSettings) SetAudioChannelConfigSchemeIdUri(v string) *DashIsoGroupSettings {
  8165  	s.AudioChannelConfigSchemeIdUri = &v
  8166  	return s
  8167  }
  8168  
  8169  // SetBaseUrl sets the BaseUrl field's value.
  8170  func (s *DashIsoGroupSettings) SetBaseUrl(v string) *DashIsoGroupSettings {
  8171  	s.BaseUrl = &v
  8172  	return s
  8173  }
  8174  
  8175  // SetDestination sets the Destination field's value.
  8176  func (s *DashIsoGroupSettings) SetDestination(v string) *DashIsoGroupSettings {
  8177  	s.Destination = &v
  8178  	return s
  8179  }
  8180  
  8181  // SetDestinationSettings sets the DestinationSettings field's value.
  8182  func (s *DashIsoGroupSettings) SetDestinationSettings(v *DestinationSettings) *DashIsoGroupSettings {
  8183  	s.DestinationSettings = v
  8184  	return s
  8185  }
  8186  
  8187  // SetEncryption sets the Encryption field's value.
  8188  func (s *DashIsoGroupSettings) SetEncryption(v *DashIsoEncryptionSettings) *DashIsoGroupSettings {
  8189  	s.Encryption = v
  8190  	return s
  8191  }
  8192  
  8193  // SetFragmentLength sets the FragmentLength field's value.
  8194  func (s *DashIsoGroupSettings) SetFragmentLength(v int64) *DashIsoGroupSettings {
  8195  	s.FragmentLength = &v
  8196  	return s
  8197  }
  8198  
  8199  // SetHbbtvCompliance sets the HbbtvCompliance field's value.
  8200  func (s *DashIsoGroupSettings) SetHbbtvCompliance(v string) *DashIsoGroupSettings {
  8201  	s.HbbtvCompliance = &v
  8202  	return s
  8203  }
  8204  
  8205  // SetImageBasedTrickPlay sets the ImageBasedTrickPlay field's value.
  8206  func (s *DashIsoGroupSettings) SetImageBasedTrickPlay(v string) *DashIsoGroupSettings {
  8207  	s.ImageBasedTrickPlay = &v
  8208  	return s
  8209  }
  8210  
  8211  // SetImageBasedTrickPlaySettings sets the ImageBasedTrickPlaySettings field's value.
  8212  func (s *DashIsoGroupSettings) SetImageBasedTrickPlaySettings(v *DashIsoImageBasedTrickPlaySettings) *DashIsoGroupSettings {
  8213  	s.ImageBasedTrickPlaySettings = v
  8214  	return s
  8215  }
  8216  
  8217  // SetMinBufferTime sets the MinBufferTime field's value.
  8218  func (s *DashIsoGroupSettings) SetMinBufferTime(v int64) *DashIsoGroupSettings {
  8219  	s.MinBufferTime = &v
  8220  	return s
  8221  }
  8222  
  8223  // SetMinFinalSegmentLength sets the MinFinalSegmentLength field's value.
  8224  func (s *DashIsoGroupSettings) SetMinFinalSegmentLength(v float64) *DashIsoGroupSettings {
  8225  	s.MinFinalSegmentLength = &v
  8226  	return s
  8227  }
  8228  
  8229  // SetMpdProfile sets the MpdProfile field's value.
  8230  func (s *DashIsoGroupSettings) SetMpdProfile(v string) *DashIsoGroupSettings {
  8231  	s.MpdProfile = &v
  8232  	return s
  8233  }
  8234  
  8235  // SetPtsOffsetHandlingForBFrames sets the PtsOffsetHandlingForBFrames field's value.
  8236  func (s *DashIsoGroupSettings) SetPtsOffsetHandlingForBFrames(v string) *DashIsoGroupSettings {
  8237  	s.PtsOffsetHandlingForBFrames = &v
  8238  	return s
  8239  }
  8240  
  8241  // SetSegmentControl sets the SegmentControl field's value.
  8242  func (s *DashIsoGroupSettings) SetSegmentControl(v string) *DashIsoGroupSettings {
  8243  	s.SegmentControl = &v
  8244  	return s
  8245  }
  8246  
  8247  // SetSegmentLength sets the SegmentLength field's value.
  8248  func (s *DashIsoGroupSettings) SetSegmentLength(v int64) *DashIsoGroupSettings {
  8249  	s.SegmentLength = &v
  8250  	return s
  8251  }
  8252  
  8253  // SetSegmentLengthControl sets the SegmentLengthControl field's value.
  8254  func (s *DashIsoGroupSettings) SetSegmentLengthControl(v string) *DashIsoGroupSettings {
  8255  	s.SegmentLengthControl = &v
  8256  	return s
  8257  }
  8258  
  8259  // SetWriteSegmentTimelineInRepresentation sets the WriteSegmentTimelineInRepresentation field's value.
  8260  func (s *DashIsoGroupSettings) SetWriteSegmentTimelineInRepresentation(v string) *DashIsoGroupSettings {
  8261  	s.WriteSegmentTimelineInRepresentation = &v
  8262  	return s
  8263  }
  8264  
  8265  // Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED
  8266  type DashIsoImageBasedTrickPlaySettings struct {
  8267  	_ struct{} `type:"structure"`
  8268  
  8269  	// The cadence MediaConvert follows for generating thumbnails. If set to FOLLOW_IFRAME,
  8270  	// MediaConvert generates thumbnails for each IDR frame in the output (matching
  8271  	// the GOP cadence). If set to FOLLOW_CUSTOM, MediaConvert generates thumbnails
  8272  	// according to the interval you specify in thumbnailInterval.
  8273  	IntervalCadence *string `locationName:"intervalCadence" type:"string" enum:"DashIsoIntervalCadence"`
  8274  
  8275  	// Height of each thumbnail within each tile image, in pixels. Leave blank to
  8276  	// maintain aspect ratio with thumbnail width. If following the aspect ratio
  8277  	// would lead to a total tile height greater than 4096, then the job will be
  8278  	// rejected. Must be divisible by 2.
  8279  	ThumbnailHeight *int64 `locationName:"thumbnailHeight" min:"1" type:"integer"`
  8280  
  8281  	// Enter the interval, in seconds, that MediaConvert uses to generate thumbnails.
  8282  	// If the interval you enter doesn't align with the output frame rate, MediaConvert
  8283  	// automatically rounds the interval to align with the output frame rate. For
  8284  	// example, if the output frame rate is 29.97 frames per second and you enter
  8285  	// 5, MediaConvert uses a 150 frame interval to generate thumbnails.
  8286  	ThumbnailInterval *float64 `locationName:"thumbnailInterval" type:"double"`
  8287  
  8288  	// Width of each thumbnail within each tile image, in pixels. Default is 312.
  8289  	// Must be divisible by 8.
  8290  	ThumbnailWidth *int64 `locationName:"thumbnailWidth" min:"8" type:"integer"`
  8291  
  8292  	// Number of thumbnails in each column of a tile image. Set a value between
  8293  	// 2 and 2048. Must be divisible by 2.
  8294  	TileHeight *int64 `locationName:"tileHeight" min:"1" type:"integer"`
  8295  
  8296  	// Number of thumbnails in each row of a tile image. Set a value between 1 and
  8297  	// 512.
  8298  	TileWidth *int64 `locationName:"tileWidth" min:"1" type:"integer"`
  8299  }
  8300  
  8301  // String returns the string representation.
  8302  //
  8303  // API parameter values that are decorated as "sensitive" in the API will not
  8304  // be included in the string output. The member name will be present, but the
  8305  // value will be replaced with "sensitive".
  8306  func (s DashIsoImageBasedTrickPlaySettings) String() string {
  8307  	return awsutil.Prettify(s)
  8308  }
  8309  
  8310  // GoString returns the string representation.
  8311  //
  8312  // API parameter values that are decorated as "sensitive" in the API will not
  8313  // be included in the string output. The member name will be present, but the
  8314  // value will be replaced with "sensitive".
  8315  func (s DashIsoImageBasedTrickPlaySettings) GoString() string {
  8316  	return s.String()
  8317  }
  8318  
  8319  // Validate inspects the fields of the type to determine if they are valid.
  8320  func (s *DashIsoImageBasedTrickPlaySettings) Validate() error {
  8321  	invalidParams := request.ErrInvalidParams{Context: "DashIsoImageBasedTrickPlaySettings"}
  8322  	if s.ThumbnailHeight != nil && *s.ThumbnailHeight < 1 {
  8323  		invalidParams.Add(request.NewErrParamMinValue("ThumbnailHeight", 1))
  8324  	}
  8325  	if s.ThumbnailWidth != nil && *s.ThumbnailWidth < 8 {
  8326  		invalidParams.Add(request.NewErrParamMinValue("ThumbnailWidth", 8))
  8327  	}
  8328  	if s.TileHeight != nil && *s.TileHeight < 1 {
  8329  		invalidParams.Add(request.NewErrParamMinValue("TileHeight", 1))
  8330  	}
  8331  	if s.TileWidth != nil && *s.TileWidth < 1 {
  8332  		invalidParams.Add(request.NewErrParamMinValue("TileWidth", 1))
  8333  	}
  8334  
  8335  	if invalidParams.Len() > 0 {
  8336  		return invalidParams
  8337  	}
  8338  	return nil
  8339  }
  8340  
  8341  // SetIntervalCadence sets the IntervalCadence field's value.
  8342  func (s *DashIsoImageBasedTrickPlaySettings) SetIntervalCadence(v string) *DashIsoImageBasedTrickPlaySettings {
  8343  	s.IntervalCadence = &v
  8344  	return s
  8345  }
  8346  
  8347  // SetThumbnailHeight sets the ThumbnailHeight field's value.
  8348  func (s *DashIsoImageBasedTrickPlaySettings) SetThumbnailHeight(v int64) *DashIsoImageBasedTrickPlaySettings {
  8349  	s.ThumbnailHeight = &v
  8350  	return s
  8351  }
  8352  
  8353  // SetThumbnailInterval sets the ThumbnailInterval field's value.
  8354  func (s *DashIsoImageBasedTrickPlaySettings) SetThumbnailInterval(v float64) *DashIsoImageBasedTrickPlaySettings {
  8355  	s.ThumbnailInterval = &v
  8356  	return s
  8357  }
  8358  
  8359  // SetThumbnailWidth sets the ThumbnailWidth field's value.
  8360  func (s *DashIsoImageBasedTrickPlaySettings) SetThumbnailWidth(v int64) *DashIsoImageBasedTrickPlaySettings {
  8361  	s.ThumbnailWidth = &v
  8362  	return s
  8363  }
  8364  
  8365  // SetTileHeight sets the TileHeight field's value.
  8366  func (s *DashIsoImageBasedTrickPlaySettings) SetTileHeight(v int64) *DashIsoImageBasedTrickPlaySettings {
  8367  	s.TileHeight = &v
  8368  	return s
  8369  }
  8370  
  8371  // SetTileWidth sets the TileWidth field's value.
  8372  func (s *DashIsoImageBasedTrickPlaySettings) SetTileWidth(v int64) *DashIsoImageBasedTrickPlaySettings {
  8373  	s.TileWidth = &v
  8374  	return s
  8375  }
  8376  
  8377  // Settings for deinterlacer
  8378  type Deinterlacer struct {
  8379  	_ struct{} `type:"structure"`
  8380  
  8381  	// Only applies when you set Deinterlacer (DeinterlaceMode) to Deinterlace (DEINTERLACE)
  8382  	// or Adaptive (ADAPTIVE). Motion adaptive interpolate (INTERPOLATE) produces
  8383  	// sharper pictures, while blend (BLEND) produces smoother motion. Use (INTERPOLATE_TICKER)
  8384  	// OR (BLEND_TICKER) if your source file includes a ticker, such as a scrolling
  8385  	// headline at the bottom of the frame.
  8386  	Algorithm *string `locationName:"algorithm" type:"string" enum:"DeinterlaceAlgorithm"`
  8387  
  8388  	// - When set to NORMAL (default), the deinterlacer does not convert frames
  8389  	// that are tagged in metadata as progressive. It will only convert those that
  8390  	// are tagged as some other type. - When set to FORCE_ALL_FRAMES, the deinterlacer
  8391  	// converts every frame to progressive - even those that are already tagged
  8392  	// as progressive. Turn Force mode on only if there is a good chance that the
  8393  	// metadata has tagged frames as progressive when they are not progressive.
  8394  	// Do not turn on otherwise; processing frames that are already progressive
  8395  	// into progressive will probably result in lower quality video.
  8396  	Control *string `locationName:"control" type:"string" enum:"DeinterlacerControl"`
  8397  
  8398  	// Use Deinterlacer (DeinterlaceMode) to choose how the service will do deinterlacing.
  8399  	// Default is Deinterlace. - Deinterlace converts interlaced to progressive.
  8400  	// - Inverse telecine converts Hard Telecine 29.97i to progressive 23.976p.
  8401  	// - Adaptive auto-detects and converts to progressive.
  8402  	Mode *string `locationName:"mode" type:"string" enum:"DeinterlacerMode"`
  8403  }
  8404  
  8405  // String returns the string representation.
  8406  //
  8407  // API parameter values that are decorated as "sensitive" in the API will not
  8408  // be included in the string output. The member name will be present, but the
  8409  // value will be replaced with "sensitive".
  8410  func (s Deinterlacer) String() string {
  8411  	return awsutil.Prettify(s)
  8412  }
  8413  
  8414  // GoString returns the string representation.
  8415  //
  8416  // API parameter values that are decorated as "sensitive" in the API will not
  8417  // be included in the string output. The member name will be present, but the
  8418  // value will be replaced with "sensitive".
  8419  func (s Deinterlacer) GoString() string {
  8420  	return s.String()
  8421  }
  8422  
  8423  // SetAlgorithm sets the Algorithm field's value.
  8424  func (s *Deinterlacer) SetAlgorithm(v string) *Deinterlacer {
  8425  	s.Algorithm = &v
  8426  	return s
  8427  }
  8428  
  8429  // SetControl sets the Control field's value.
  8430  func (s *Deinterlacer) SetControl(v string) *Deinterlacer {
  8431  	s.Control = &v
  8432  	return s
  8433  }
  8434  
  8435  // SetMode sets the Mode field's value.
  8436  func (s *Deinterlacer) SetMode(v string) *Deinterlacer {
  8437  	s.Mode = &v
  8438  	return s
  8439  }
  8440  
  8441  // Delete a job template by sending a request with the job template name
  8442  type DeleteJobTemplateInput struct {
  8443  	_ struct{} `type:"structure" nopayload:"true"`
  8444  
  8445  	// The name of the job template to be deleted.
  8446  	//
  8447  	// Name is a required field
  8448  	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
  8449  }
  8450  
  8451  // String returns the string representation.
  8452  //
  8453  // API parameter values that are decorated as "sensitive" in the API will not
  8454  // be included in the string output. The member name will be present, but the
  8455  // value will be replaced with "sensitive".
  8456  func (s DeleteJobTemplateInput) String() string {
  8457  	return awsutil.Prettify(s)
  8458  }
  8459  
  8460  // GoString returns the string representation.
  8461  //
  8462  // API parameter values that are decorated as "sensitive" in the API will not
  8463  // be included in the string output. The member name will be present, but the
  8464  // value will be replaced with "sensitive".
  8465  func (s DeleteJobTemplateInput) GoString() string {
  8466  	return s.String()
  8467  }
  8468  
  8469  // Validate inspects the fields of the type to determine if they are valid.
  8470  func (s *DeleteJobTemplateInput) Validate() error {
  8471  	invalidParams := request.ErrInvalidParams{Context: "DeleteJobTemplateInput"}
  8472  	if s.Name == nil {
  8473  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8474  	}
  8475  	if s.Name != nil && len(*s.Name) < 1 {
  8476  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  8477  	}
  8478  
  8479  	if invalidParams.Len() > 0 {
  8480  		return invalidParams
  8481  	}
  8482  	return nil
  8483  }
  8484  
  8485  // SetName sets the Name field's value.
  8486  func (s *DeleteJobTemplateInput) SetName(v string) *DeleteJobTemplateInput {
  8487  	s.Name = &v
  8488  	return s
  8489  }
  8490  
  8491  // Delete job template requests will return an OK message or error message with
  8492  // an empty body.
  8493  type DeleteJobTemplateOutput struct {
  8494  	_ struct{} `type:"structure" nopayload:"true"`
  8495  }
  8496  
  8497  // String returns the string representation.
  8498  //
  8499  // API parameter values that are decorated as "sensitive" in the API will not
  8500  // be included in the string output. The member name will be present, but the
  8501  // value will be replaced with "sensitive".
  8502  func (s DeleteJobTemplateOutput) String() string {
  8503  	return awsutil.Prettify(s)
  8504  }
  8505  
  8506  // GoString returns the string representation.
  8507  //
  8508  // API parameter values that are decorated as "sensitive" in the API will not
  8509  // be included in the string output. The member name will be present, but the
  8510  // value will be replaced with "sensitive".
  8511  func (s DeleteJobTemplateOutput) GoString() string {
  8512  	return s.String()
  8513  }
  8514  
  8515  // Send a request to permanently delete a policy that you created.
  8516  type DeletePolicyInput struct {
  8517  	_ struct{} `type:"structure" nopayload:"true"`
  8518  }
  8519  
  8520  // String returns the string representation.
  8521  //
  8522  // API parameter values that are decorated as "sensitive" in the API will not
  8523  // be included in the string output. The member name will be present, but the
  8524  // value will be replaced with "sensitive".
  8525  func (s DeletePolicyInput) String() string {
  8526  	return awsutil.Prettify(s)
  8527  }
  8528  
  8529  // GoString returns the string representation.
  8530  //
  8531  // API parameter values that are decorated as "sensitive" in the API will not
  8532  // be included in the string output. The member name will be present, but the
  8533  // value will be replaced with "sensitive".
  8534  func (s DeletePolicyInput) GoString() string {
  8535  	return s.String()
  8536  }
  8537  
  8538  // Successful DELETE policy requests will return an OK message.
  8539  type DeletePolicyOutput struct {
  8540  	_ struct{} `type:"structure" nopayload:"true"`
  8541  }
  8542  
  8543  // String returns the string representation.
  8544  //
  8545  // API parameter values that are decorated as "sensitive" in the API will not
  8546  // be included in the string output. The member name will be present, but the
  8547  // value will be replaced with "sensitive".
  8548  func (s DeletePolicyOutput) String() string {
  8549  	return awsutil.Prettify(s)
  8550  }
  8551  
  8552  // GoString returns the string representation.
  8553  //
  8554  // API parameter values that are decorated as "sensitive" in the API will not
  8555  // be included in the string output. The member name will be present, but the
  8556  // value will be replaced with "sensitive".
  8557  func (s DeletePolicyOutput) GoString() string {
  8558  	return s.String()
  8559  }
  8560  
  8561  // Delete a preset by sending a request with the preset name
  8562  type DeletePresetInput struct {
  8563  	_ struct{} `type:"structure" nopayload:"true"`
  8564  
  8565  	// The name of the preset to be deleted.
  8566  	//
  8567  	// Name is a required field
  8568  	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
  8569  }
  8570  
  8571  // String returns the string representation.
  8572  //
  8573  // API parameter values that are decorated as "sensitive" in the API will not
  8574  // be included in the string output. The member name will be present, but the
  8575  // value will be replaced with "sensitive".
  8576  func (s DeletePresetInput) String() string {
  8577  	return awsutil.Prettify(s)
  8578  }
  8579  
  8580  // GoString returns the string representation.
  8581  //
  8582  // API parameter values that are decorated as "sensitive" in the API will not
  8583  // be included in the string output. The member name will be present, but the
  8584  // value will be replaced with "sensitive".
  8585  func (s DeletePresetInput) GoString() string {
  8586  	return s.String()
  8587  }
  8588  
  8589  // Validate inspects the fields of the type to determine if they are valid.
  8590  func (s *DeletePresetInput) Validate() error {
  8591  	invalidParams := request.ErrInvalidParams{Context: "DeletePresetInput"}
  8592  	if s.Name == nil {
  8593  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8594  	}
  8595  	if s.Name != nil && len(*s.Name) < 1 {
  8596  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  8597  	}
  8598  
  8599  	if invalidParams.Len() > 0 {
  8600  		return invalidParams
  8601  	}
  8602  	return nil
  8603  }
  8604  
  8605  // SetName sets the Name field's value.
  8606  func (s *DeletePresetInput) SetName(v string) *DeletePresetInput {
  8607  	s.Name = &v
  8608  	return s
  8609  }
  8610  
  8611  // Delete preset requests will return an OK message or error message with an
  8612  // empty body.
  8613  type DeletePresetOutput struct {
  8614  	_ struct{} `type:"structure" nopayload:"true"`
  8615  }
  8616  
  8617  // String returns the string representation.
  8618  //
  8619  // API parameter values that are decorated as "sensitive" in the API will not
  8620  // be included in the string output. The member name will be present, but the
  8621  // value will be replaced with "sensitive".
  8622  func (s DeletePresetOutput) String() string {
  8623  	return awsutil.Prettify(s)
  8624  }
  8625  
  8626  // GoString returns the string representation.
  8627  //
  8628  // API parameter values that are decorated as "sensitive" in the API will not
  8629  // be included in the string output. The member name will be present, but the
  8630  // value will be replaced with "sensitive".
  8631  func (s DeletePresetOutput) GoString() string {
  8632  	return s.String()
  8633  }
  8634  
  8635  // Delete a queue by sending a request with the queue name. You can't delete
  8636  // a queue with an active pricing plan or one that has unprocessed jobs in it.
  8637  type DeleteQueueInput struct {
  8638  	_ struct{} `type:"structure" nopayload:"true"`
  8639  
  8640  	// The name of the queue that you want to delete.
  8641  	//
  8642  	// Name is a required field
  8643  	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
  8644  }
  8645  
  8646  // String returns the string representation.
  8647  //
  8648  // API parameter values that are decorated as "sensitive" in the API will not
  8649  // be included in the string output. The member name will be present, but the
  8650  // value will be replaced with "sensitive".
  8651  func (s DeleteQueueInput) String() string {
  8652  	return awsutil.Prettify(s)
  8653  }
  8654  
  8655  // GoString returns the string representation.
  8656  //
  8657  // API parameter values that are decorated as "sensitive" in the API will not
  8658  // be included in the string output. The member name will be present, but the
  8659  // value will be replaced with "sensitive".
  8660  func (s DeleteQueueInput) GoString() string {
  8661  	return s.String()
  8662  }
  8663  
  8664  // Validate inspects the fields of the type to determine if they are valid.
  8665  func (s *DeleteQueueInput) Validate() error {
  8666  	invalidParams := request.ErrInvalidParams{Context: "DeleteQueueInput"}
  8667  	if s.Name == nil {
  8668  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8669  	}
  8670  	if s.Name != nil && len(*s.Name) < 1 {
  8671  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  8672  	}
  8673  
  8674  	if invalidParams.Len() > 0 {
  8675  		return invalidParams
  8676  	}
  8677  	return nil
  8678  }
  8679  
  8680  // SetName sets the Name field's value.
  8681  func (s *DeleteQueueInput) SetName(v string) *DeleteQueueInput {
  8682  	s.Name = &v
  8683  	return s
  8684  }
  8685  
  8686  // Delete queue requests return an OK message or error message with an empty
  8687  // body.
  8688  type DeleteQueueOutput struct {
  8689  	_ struct{} `type:"structure" nopayload:"true"`
  8690  }
  8691  
  8692  // String returns the string representation.
  8693  //
  8694  // API parameter values that are decorated as "sensitive" in the API will not
  8695  // be included in the string output. The member name will be present, but the
  8696  // value will be replaced with "sensitive".
  8697  func (s DeleteQueueOutput) String() string {
  8698  	return awsutil.Prettify(s)
  8699  }
  8700  
  8701  // GoString returns the string representation.
  8702  //
  8703  // API parameter values that are decorated as "sensitive" in the API will not
  8704  // be included in the string output. The member name will be present, but the
  8705  // value will be replaced with "sensitive".
  8706  func (s DeleteQueueOutput) GoString() string {
  8707  	return s.String()
  8708  }
  8709  
  8710  // Send an request with an empty body to the regional API endpoint to get your
  8711  // account API endpoint.
  8712  type DescribeEndpointsInput struct {
  8713  	_ struct{} `type:"structure"`
  8714  
  8715  	// Optional. Max number of endpoints, up to twenty, that will be returned at
  8716  	// one time.
  8717  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
  8718  
  8719  	// Optional field, defaults to DEFAULT. Specify DEFAULT for this operation to
  8720  	// return your endpoints if any exist, or to create an endpoint for you and
  8721  	// return it if one doesn't already exist. Specify GET_ONLY to return your endpoints
  8722  	// if any exist, or an empty list if none exist.
  8723  	Mode *string `locationName:"mode" type:"string" enum:"DescribeEndpointsMode"`
  8724  
  8725  	// Use this string, provided with the response to a previous request, to request
  8726  	// the next batch of endpoints.
  8727  	NextToken *string `locationName:"nextToken" type:"string"`
  8728  }
  8729  
  8730  // String returns the string representation.
  8731  //
  8732  // API parameter values that are decorated as "sensitive" in the API will not
  8733  // be included in the string output. The member name will be present, but the
  8734  // value will be replaced with "sensitive".
  8735  func (s DescribeEndpointsInput) String() string {
  8736  	return awsutil.Prettify(s)
  8737  }
  8738  
  8739  // GoString returns the string representation.
  8740  //
  8741  // API parameter values that are decorated as "sensitive" in the API will not
  8742  // be included in the string output. The member name will be present, but the
  8743  // value will be replaced with "sensitive".
  8744  func (s DescribeEndpointsInput) GoString() string {
  8745  	return s.String()
  8746  }
  8747  
  8748  // SetMaxResults sets the MaxResults field's value.
  8749  func (s *DescribeEndpointsInput) SetMaxResults(v int64) *DescribeEndpointsInput {
  8750  	s.MaxResults = &v
  8751  	return s
  8752  }
  8753  
  8754  // SetMode sets the Mode field's value.
  8755  func (s *DescribeEndpointsInput) SetMode(v string) *DescribeEndpointsInput {
  8756  	s.Mode = &v
  8757  	return s
  8758  }
  8759  
  8760  // SetNextToken sets the NextToken field's value.
  8761  func (s *DescribeEndpointsInput) SetNextToken(v string) *DescribeEndpointsInput {
  8762  	s.NextToken = &v
  8763  	return s
  8764  }
  8765  
  8766  // Successful describe endpoints requests will return your account API endpoint.
  8767  type DescribeEndpointsOutput struct {
  8768  	_ struct{} `type:"structure"`
  8769  
  8770  	// List of endpoints
  8771  	Endpoints []*Endpoint `locationName:"endpoints" type:"list"`
  8772  
  8773  	// Use this string to request the next batch of endpoints.
  8774  	NextToken *string `locationName:"nextToken" type:"string"`
  8775  }
  8776  
  8777  // String returns the string representation.
  8778  //
  8779  // API parameter values that are decorated as "sensitive" in the API will not
  8780  // be included in the string output. The member name will be present, but the
  8781  // value will be replaced with "sensitive".
  8782  func (s DescribeEndpointsOutput) String() string {
  8783  	return awsutil.Prettify(s)
  8784  }
  8785  
  8786  // GoString returns the string representation.
  8787  //
  8788  // API parameter values that are decorated as "sensitive" in the API will not
  8789  // be included in the string output. The member name will be present, but the
  8790  // value will be replaced with "sensitive".
  8791  func (s DescribeEndpointsOutput) GoString() string {
  8792  	return s.String()
  8793  }
  8794  
  8795  // SetEndpoints sets the Endpoints field's value.
  8796  func (s *DescribeEndpointsOutput) SetEndpoints(v []*Endpoint) *DescribeEndpointsOutput {
  8797  	s.Endpoints = v
  8798  	return s
  8799  }
  8800  
  8801  // SetNextToken sets the NextToken field's value.
  8802  func (s *DescribeEndpointsOutput) SetNextToken(v string) *DescribeEndpointsOutput {
  8803  	s.NextToken = &v
  8804  	return s
  8805  }
  8806  
  8807  // Settings associated with the destination. Will vary based on the type of
  8808  // destination
  8809  type DestinationSettings struct {
  8810  	_ struct{} `type:"structure"`
  8811  
  8812  	// Settings associated with S3 destination
  8813  	S3Settings *S3DestinationSettings `locationName:"s3Settings" type:"structure"`
  8814  }
  8815  
  8816  // String returns the string representation.
  8817  //
  8818  // API parameter values that are decorated as "sensitive" in the API will not
  8819  // be included in the string output. The member name will be present, but the
  8820  // value will be replaced with "sensitive".
  8821  func (s DestinationSettings) String() string {
  8822  	return awsutil.Prettify(s)
  8823  }
  8824  
  8825  // GoString returns the string representation.
  8826  //
  8827  // API parameter values that are decorated as "sensitive" in the API will not
  8828  // be included in the string output. The member name will be present, but the
  8829  // value will be replaced with "sensitive".
  8830  func (s DestinationSettings) GoString() string {
  8831  	return s.String()
  8832  }
  8833  
  8834  // SetS3Settings sets the S3Settings field's value.
  8835  func (s *DestinationSettings) SetS3Settings(v *S3DestinationSettings) *DestinationSettings {
  8836  	s.S3Settings = v
  8837  	return s
  8838  }
  8839  
  8840  // Removes an association between the Amazon Resource Name (ARN) of an AWS Certificate
  8841  // Manager (ACM) certificate and an AWS Elemental MediaConvert resource.
  8842  type DisassociateCertificateInput struct {
  8843  	_ struct{} `type:"structure" nopayload:"true"`
  8844  
  8845  	// The ARN of the ACM certificate that you want to disassociate from your MediaConvert
  8846  	// resource.
  8847  	//
  8848  	// Arn is a required field
  8849  	Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"`
  8850  }
  8851  
  8852  // String returns the string representation.
  8853  //
  8854  // API parameter values that are decorated as "sensitive" in the API will not
  8855  // be included in the string output. The member name will be present, but the
  8856  // value will be replaced with "sensitive".
  8857  func (s DisassociateCertificateInput) String() string {
  8858  	return awsutil.Prettify(s)
  8859  }
  8860  
  8861  // GoString returns the string representation.
  8862  //
  8863  // API parameter values that are decorated as "sensitive" in the API will not
  8864  // be included in the string output. The member name will be present, but the
  8865  // value will be replaced with "sensitive".
  8866  func (s DisassociateCertificateInput) GoString() string {
  8867  	return s.String()
  8868  }
  8869  
  8870  // Validate inspects the fields of the type to determine if they are valid.
  8871  func (s *DisassociateCertificateInput) Validate() error {
  8872  	invalidParams := request.ErrInvalidParams{Context: "DisassociateCertificateInput"}
  8873  	if s.Arn == nil {
  8874  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  8875  	}
  8876  	if s.Arn != nil && len(*s.Arn) < 1 {
  8877  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  8878  	}
  8879  
  8880  	if invalidParams.Len() > 0 {
  8881  		return invalidParams
  8882  	}
  8883  	return nil
  8884  }
  8885  
  8886  // SetArn sets the Arn field's value.
  8887  func (s *DisassociateCertificateInput) SetArn(v string) *DisassociateCertificateInput {
  8888  	s.Arn = &v
  8889  	return s
  8890  }
  8891  
  8892  // Successful disassociation of Certificate Manager Amazon Resource Name (ARN)
  8893  // with Mediaconvert returns an OK message.
  8894  type DisassociateCertificateOutput struct {
  8895  	_ struct{} `type:"structure" nopayload:"true"`
  8896  }
  8897  
  8898  // String returns the string representation.
  8899  //
  8900  // API parameter values that are decorated as "sensitive" in the API will not
  8901  // be included in the string output. The member name will be present, but the
  8902  // value will be replaced with "sensitive".
  8903  func (s DisassociateCertificateOutput) String() string {
  8904  	return awsutil.Prettify(s)
  8905  }
  8906  
  8907  // GoString returns the string representation.
  8908  //
  8909  // API parameter values that are decorated as "sensitive" in the API will not
  8910  // be included in the string output. The member name will be present, but the
  8911  // value will be replaced with "sensitive".
  8912  func (s DisassociateCertificateOutput) GoString() string {
  8913  	return s.String()
  8914  }
  8915  
  8916  // With AWS Elemental MediaConvert, you can create profile 5 Dolby Vision outputs
  8917  // from MXF and IMF sources that contain mastering information as frame-interleaved
  8918  // Dolby Vision metadata.
  8919  type DolbyVision struct {
  8920  	_ struct{} `type:"structure"`
  8921  
  8922  	// Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to override
  8923  	// the MaxCLL and MaxFALL values in your input with new values.
  8924  	L6Metadata *DolbyVisionLevel6Metadata `locationName:"l6Metadata" type:"structure"`
  8925  
  8926  	// Use Dolby Vision Mode to choose how the service will handle Dolby Vision
  8927  	// MaxCLL and MaxFALL properies.
  8928  	L6Mode *string `locationName:"l6Mode" type:"string" enum:"DolbyVisionLevel6Mode"`
  8929  
  8930  	// In the current MediaConvert implementation, the Dolby Vision profile is always
  8931  	// 5 (PROFILE_5). Therefore, all of your inputs must contain Dolby Vision frame
  8932  	// interleaved data.
  8933  	Profile *string `locationName:"profile" type:"string" enum:"DolbyVisionProfile"`
  8934  }
  8935  
  8936  // String returns the string representation.
  8937  //
  8938  // API parameter values that are decorated as "sensitive" in the API will not
  8939  // be included in the string output. The member name will be present, but the
  8940  // value will be replaced with "sensitive".
  8941  func (s DolbyVision) String() string {
  8942  	return awsutil.Prettify(s)
  8943  }
  8944  
  8945  // GoString returns the string representation.
  8946  //
  8947  // API parameter values that are decorated as "sensitive" in the API will not
  8948  // be included in the string output. The member name will be present, but the
  8949  // value will be replaced with "sensitive".
  8950  func (s DolbyVision) GoString() string {
  8951  	return s.String()
  8952  }
  8953  
  8954  // SetL6Metadata sets the L6Metadata field's value.
  8955  func (s *DolbyVision) SetL6Metadata(v *DolbyVisionLevel6Metadata) *DolbyVision {
  8956  	s.L6Metadata = v
  8957  	return s
  8958  }
  8959  
  8960  // SetL6Mode sets the L6Mode field's value.
  8961  func (s *DolbyVision) SetL6Mode(v string) *DolbyVision {
  8962  	s.L6Mode = &v
  8963  	return s
  8964  }
  8965  
  8966  // SetProfile sets the Profile field's value.
  8967  func (s *DolbyVision) SetProfile(v string) *DolbyVision {
  8968  	s.Profile = &v
  8969  	return s
  8970  }
  8971  
  8972  // Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to override
  8973  // the MaxCLL and MaxFALL values in your input with new values.
  8974  type DolbyVisionLevel6Metadata struct {
  8975  	_ struct{} `type:"structure"`
  8976  
  8977  	// Maximum Content Light Level. Static HDR metadata that corresponds to the
  8978  	// brightest pixel in the entire stream. Measured in nits.
  8979  	MaxCll *int64 `locationName:"maxCll" type:"integer"`
  8980  
  8981  	// Maximum Frame-Average Light Level. Static HDR metadata that corresponds to
  8982  	// the highest frame-average brightness in the entire stream. Measured in nits.
  8983  	MaxFall *int64 `locationName:"maxFall" type:"integer"`
  8984  }
  8985  
  8986  // String returns the string representation.
  8987  //
  8988  // API parameter values that are decorated as "sensitive" in the API will not
  8989  // be included in the string output. The member name will be present, but the
  8990  // value will be replaced with "sensitive".
  8991  func (s DolbyVisionLevel6Metadata) String() string {
  8992  	return awsutil.Prettify(s)
  8993  }
  8994  
  8995  // GoString returns the string representation.
  8996  //
  8997  // API parameter values that are decorated as "sensitive" in the API will not
  8998  // be included in the string output. The member name will be present, but the
  8999  // value will be replaced with "sensitive".
  9000  func (s DolbyVisionLevel6Metadata) GoString() string {
  9001  	return s.String()
  9002  }
  9003  
  9004  // SetMaxCll sets the MaxCll field's value.
  9005  func (s *DolbyVisionLevel6Metadata) SetMaxCll(v int64) *DolbyVisionLevel6Metadata {
  9006  	s.MaxCll = &v
  9007  	return s
  9008  }
  9009  
  9010  // SetMaxFall sets the MaxFall field's value.
  9011  func (s *DolbyVisionLevel6Metadata) SetMaxFall(v int64) *DolbyVisionLevel6Metadata {
  9012  	s.MaxFall = &v
  9013  	return s
  9014  }
  9015  
  9016  // Use these settings to insert a DVB Network Information Table (NIT) in the
  9017  // transport stream of this output. When you work directly in your JSON job
  9018  // specification, include this object only when your job has a transport stream
  9019  // output and the container settings contain the object M2tsSettings.
  9020  type DvbNitSettings struct {
  9021  	_ struct{} `type:"structure"`
  9022  
  9023  	// The numeric value placed in the Network Information Table (NIT).
  9024  	NetworkId *int64 `locationName:"networkId" type:"integer"`
  9025  
  9026  	// The network name text placed in the network_name_descriptor inside the Network
  9027  	// Information Table. Maximum length is 256 characters.
  9028  	NetworkName *string `locationName:"networkName" min:"1" type:"string"`
  9029  
  9030  	// The number of milliseconds between instances of this table in the output
  9031  	// transport stream.
  9032  	NitInterval *int64 `locationName:"nitInterval" min:"25" type:"integer"`
  9033  }
  9034  
  9035  // String returns the string representation.
  9036  //
  9037  // API parameter values that are decorated as "sensitive" in the API will not
  9038  // be included in the string output. The member name will be present, but the
  9039  // value will be replaced with "sensitive".
  9040  func (s DvbNitSettings) String() string {
  9041  	return awsutil.Prettify(s)
  9042  }
  9043  
  9044  // GoString returns the string representation.
  9045  //
  9046  // API parameter values that are decorated as "sensitive" in the API will not
  9047  // be included in the string output. The member name will be present, but the
  9048  // value will be replaced with "sensitive".
  9049  func (s DvbNitSettings) GoString() string {
  9050  	return s.String()
  9051  }
  9052  
  9053  // Validate inspects the fields of the type to determine if they are valid.
  9054  func (s *DvbNitSettings) Validate() error {
  9055  	invalidParams := request.ErrInvalidParams{Context: "DvbNitSettings"}
  9056  	if s.NetworkName != nil && len(*s.NetworkName) < 1 {
  9057  		invalidParams.Add(request.NewErrParamMinLen("NetworkName", 1))
  9058  	}
  9059  	if s.NitInterval != nil && *s.NitInterval < 25 {
  9060  		invalidParams.Add(request.NewErrParamMinValue("NitInterval", 25))
  9061  	}
  9062  
  9063  	if invalidParams.Len() > 0 {
  9064  		return invalidParams
  9065  	}
  9066  	return nil
  9067  }
  9068  
  9069  // SetNetworkId sets the NetworkId field's value.
  9070  func (s *DvbNitSettings) SetNetworkId(v int64) *DvbNitSettings {
  9071  	s.NetworkId = &v
  9072  	return s
  9073  }
  9074  
  9075  // SetNetworkName sets the NetworkName field's value.
  9076  func (s *DvbNitSettings) SetNetworkName(v string) *DvbNitSettings {
  9077  	s.NetworkName = &v
  9078  	return s
  9079  }
  9080  
  9081  // SetNitInterval sets the NitInterval field's value.
  9082  func (s *DvbNitSettings) SetNitInterval(v int64) *DvbNitSettings {
  9083  	s.NitInterval = &v
  9084  	return s
  9085  }
  9086  
  9087  // Use these settings to insert a DVB Service Description Table (SDT) in the
  9088  // transport stream of this output. When you work directly in your JSON job
  9089  // specification, include this object only when your job has a transport stream
  9090  // output and the container settings contain the object M2tsSettings.
  9091  type DvbSdtSettings struct {
  9092  	_ struct{} `type:"structure"`
  9093  
  9094  	// Selects method of inserting SDT information into output stream. "Follow input
  9095  	// SDT" copies SDT information from input stream to output stream. "Follow input
  9096  	// SDT if present" copies SDT information from input stream to output stream
  9097  	// if SDT information is present in the input, otherwise it will fall back on
  9098  	// the user-defined values. Enter "SDT Manually" means user will enter the SDT
  9099  	// information. "No SDT" means output stream will not contain SDT information.
  9100  	OutputSdt *string `locationName:"outputSdt" type:"string" enum:"OutputSdt"`
  9101  
  9102  	// The number of milliseconds between instances of this table in the output
  9103  	// transport stream.
  9104  	SdtInterval *int64 `locationName:"sdtInterval" min:"25" type:"integer"`
  9105  
  9106  	// The service name placed in the service_descriptor in the Service Description
  9107  	// Table. Maximum length is 256 characters.
  9108  	ServiceName *string `locationName:"serviceName" min:"1" type:"string"`
  9109  
  9110  	// The service provider name placed in the service_descriptor in the Service
  9111  	// Description Table. Maximum length is 256 characters.
  9112  	ServiceProviderName *string `locationName:"serviceProviderName" min:"1" type:"string"`
  9113  }
  9114  
  9115  // String returns the string representation.
  9116  //
  9117  // API parameter values that are decorated as "sensitive" in the API will not
  9118  // be included in the string output. The member name will be present, but the
  9119  // value will be replaced with "sensitive".
  9120  func (s DvbSdtSettings) String() string {
  9121  	return awsutil.Prettify(s)
  9122  }
  9123  
  9124  // GoString returns the string representation.
  9125  //
  9126  // API parameter values that are decorated as "sensitive" in the API will not
  9127  // be included in the string output. The member name will be present, but the
  9128  // value will be replaced with "sensitive".
  9129  func (s DvbSdtSettings) GoString() string {
  9130  	return s.String()
  9131  }
  9132  
  9133  // Validate inspects the fields of the type to determine if they are valid.
  9134  func (s *DvbSdtSettings) Validate() error {
  9135  	invalidParams := request.ErrInvalidParams{Context: "DvbSdtSettings"}
  9136  	if s.SdtInterval != nil && *s.SdtInterval < 25 {
  9137  		invalidParams.Add(request.NewErrParamMinValue("SdtInterval", 25))
  9138  	}
  9139  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
  9140  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
  9141  	}
  9142  	if s.ServiceProviderName != nil && len(*s.ServiceProviderName) < 1 {
  9143  		invalidParams.Add(request.NewErrParamMinLen("ServiceProviderName", 1))
  9144  	}
  9145  
  9146  	if invalidParams.Len() > 0 {
  9147  		return invalidParams
  9148  	}
  9149  	return nil
  9150  }
  9151  
  9152  // SetOutputSdt sets the OutputSdt field's value.
  9153  func (s *DvbSdtSettings) SetOutputSdt(v string) *DvbSdtSettings {
  9154  	s.OutputSdt = &v
  9155  	return s
  9156  }
  9157  
  9158  // SetSdtInterval sets the SdtInterval field's value.
  9159  func (s *DvbSdtSettings) SetSdtInterval(v int64) *DvbSdtSettings {
  9160  	s.SdtInterval = &v
  9161  	return s
  9162  }
  9163  
  9164  // SetServiceName sets the ServiceName field's value.
  9165  func (s *DvbSdtSettings) SetServiceName(v string) *DvbSdtSettings {
  9166  	s.ServiceName = &v
  9167  	return s
  9168  }
  9169  
  9170  // SetServiceProviderName sets the ServiceProviderName field's value.
  9171  func (s *DvbSdtSettings) SetServiceProviderName(v string) *DvbSdtSettings {
  9172  	s.ServiceProviderName = &v
  9173  	return s
  9174  }
  9175  
  9176  // Settings related to DVB-Sub captions. Set up DVB-Sub captions in the same
  9177  // output as your video. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/dvb-sub-output-captions.html.
  9178  // When you work directly in your JSON job specification, include this object
  9179  // and any required children when you set destinationType to DVB_SUB.
  9180  type DvbSubDestinationSettings struct {
  9181  	_ struct{} `type:"structure"`
  9182  
  9183  	// If no explicit x_position or y_position is provided, setting alignment to
  9184  	// centered will place the captions at the bottom center of the output. Similarly,
  9185  	// setting a left alignment will align captions to the bottom left of the output.
  9186  	// If x and y positions are given in conjunction with the alignment parameter,
  9187  	// the font will be justified (either left or centered) relative to those coordinates.
  9188  	// This option is not valid for source captions that are STL, 608/embedded or
  9189  	// teletext. These source settings are already pre-defined by the caption stream.
  9190  	// All burn-in and DVB-Sub font settings must match.
  9191  	Alignment *string `locationName:"alignment" type:"string" enum:"DvbSubtitleAlignment"`
  9192  
  9193  	// Ignore this setting unless your input captions are STL, any type of 608,
  9194  	// teletext, or TTML, and your output captions are DVB-SUB. Specify how the
  9195  	// service applies the color specified in the setting Font color (DvbSubtitleFontColor).
  9196  	// By default, this color is white. When you choose WHITE_TEXT_ONLY, the service
  9197  	// uses the specified font color only for text that is white in the input. When
  9198  	// you choose ALL_TEXT, the service uses the specified font color for all output
  9199  	// captions text. If you leave both settings at their default value, your output
  9200  	// font color is the same as your input font color.
  9201  	ApplyFontColor *string `locationName:"applyFontColor" type:"string" enum:"DvbSubtitleApplyFontColor"`
  9202  
  9203  	// Specifies the color of the rectangle behind the captions.All burn-in and
  9204  	// DVB-Sub font settings must match.
  9205  	BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"DvbSubtitleBackgroundColor"`
  9206  
  9207  	// Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent.
  9208  	// Leaving this parameter blank is equivalent to setting it to 0 (transparent).
  9209  	// All burn-in and DVB-Sub font settings must match.
  9210  	BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"`
  9211  
  9212  	// Specify how MediaConvert handles the display definition segment (DDS). Keep
  9213  	// the default, None (NONE), to exclude the DDS from this set of captions. Choose
  9214  	// No display window (NO_DISPLAY_WINDOW) to have MediaConvert include the DDS
  9215  	// but not include display window data. In this case, MediaConvert writes that
  9216  	// information to the page composition segment (PCS) instead. Choose Specify
  9217  	// (SPECIFIED) to have MediaConvert set up the display window based on the values
  9218  	// that you specify in related job settings. For video resolutions that are
  9219  	// 576 pixels or smaller in height, MediaConvert doesn't include the DDS, regardless
  9220  	// of the value you choose for DDS handling (ddsHandling). In this case, it
  9221  	// doesn't write the display window data to the PCS either. Related settings:
  9222  	// Use the settings DDS x-coordinate (ddsXCoordinate) and DDS y-coordinate (ddsYCoordinate)
  9223  	// to specify the offset between the top left corner of the display window and
  9224  	// the top left corner of the video frame. All burn-in and DVB-Sub font settings
  9225  	// must match.
  9226  	DdsHandling *string `locationName:"ddsHandling" type:"string" enum:"DvbddsHandling"`
  9227  
  9228  	// Use this setting, along with DDS y-coordinate (ddsYCoordinate), to specify
  9229  	// the upper left corner of the display definition segment (DDS) display window.
  9230  	// With this setting, specify the distance, in pixels, between the left side
  9231  	// of the frame and the left side of the DDS display window. Keep the default
  9232  	// value, 0, to have MediaConvert automatically choose this offset. Related
  9233  	// setting: When you use this setting, you must set DDS handling (ddsHandling)
  9234  	// to a value other than None (NONE). MediaConvert uses these values to determine
  9235  	// whether to write page position data to the DDS or to the page composition
  9236  	// segment (PCS). All burn-in and DVB-Sub font settings must match.
  9237  	DdsXCoordinate *int64 `locationName:"ddsXCoordinate" type:"integer"`
  9238  
  9239  	// Use this setting, along with DDS x-coordinate (ddsXCoordinate), to specify
  9240  	// the upper left corner of the display definition segment (DDS) display window.
  9241  	// With this setting, specify the distance, in pixels, between the top of the
  9242  	// frame and the top of the DDS display window. Keep the default value, 0, to
  9243  	// have MediaConvert automatically choose this offset. Related setting: When
  9244  	// you use this setting, you must set DDS handling (ddsHandling) to a value
  9245  	// other than None (NONE). MediaConvert uses these values to determine whether
  9246  	// to write page position data to the DDS or to the page composition segment
  9247  	// (PCS). All burn-in and DVB-Sub font settings must match.
  9248  	DdsYCoordinate *int64 `locationName:"ddsYCoordinate" type:"integer"`
  9249  
  9250  	// Specify the font that you want the service to use for your burn in captions
  9251  	// when your input captions specify a font that MediaConvert doesn't support.
  9252  	// When you keep the default value, Best match (BEST_MATCH), MediaConvert uses
  9253  	// a supported font that most closely matches the font that your input captions
  9254  	// specify. When there are multiple unsupported fonts in your input captions,
  9255  	// MediaConvert matches each font with the supported font that matches best.
  9256  	// When you explicitly choose a replacement font, MediaConvert uses that font
  9257  	// to replace all unsupported fonts from your input.
  9258  	FallbackFont *string `locationName:"fallbackFont" type:"string" enum:"DvbSubSubtitleFallbackFont"`
  9259  
  9260  	// Specifies the color of the DVB-SUB captions. This option is not valid for
  9261  	// source captions that are STL, 608/embedded or teletext. These source settings
  9262  	// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
  9263  	// settings must match.
  9264  	FontColor *string `locationName:"fontColor" type:"string" enum:"DvbSubtitleFontColor"`
  9265  
  9266  	// Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.All
  9267  	// burn-in and DVB-Sub font settings must match.
  9268  	FontOpacity *int64 `locationName:"fontOpacity" type:"integer"`
  9269  
  9270  	// Font resolution in DPI (dots per inch); default is 96 dpi.All burn-in and
  9271  	// DVB-Sub font settings must match.
  9272  	FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"`
  9273  
  9274  	// Provide the font script, using an ISO 15924 script code, if the LanguageCode
  9275  	// is not sufficient for determining the script type. Where LanguageCode or
  9276  	// CustomLanguageCode is sufficient, use "AUTOMATIC" or leave unset. This is
  9277  	// used to help determine the appropriate font for rendering DVB-Sub captions.
  9278  	FontScript *string `locationName:"fontScript" type:"string" enum:"FontScript"`
  9279  
  9280  	// A positive integer indicates the exact font size in points. Set to 0 for
  9281  	// automatic font size selection. All burn-in and DVB-Sub font settings must
  9282  	// match.
  9283  	FontSize *int64 `locationName:"fontSize" type:"integer"`
  9284  
  9285  	// Specify the height, in pixels, of this set of DVB-Sub captions. The default
  9286  	// value is 576 pixels. Related setting: When you use this setting, you must
  9287  	// set DDS handling (ddsHandling) to a value other than None (NONE). All burn-in
  9288  	// and DVB-Sub font settings must match.
  9289  	Height *int64 `locationName:"height" min:"1" type:"integer"`
  9290  
  9291  	// Ignore this setting unless your DvbSubtitleFontColor setting is HEX. Format
  9292  	// is six or eight hexidecimal digits, representing the red, green, and blue
  9293  	// components, with the two extra digits used for an optional alpha value. For
  9294  	// example a value of 1122AABB is a red value of 0x11, a green value of 0x22,
  9295  	// a blue value of 0xAA, and an alpha value of 0xBB.
  9296  	HexFontColor *string `locationName:"hexFontColor" min:"6" type:"string"`
  9297  
  9298  	// Specifies font outline color. This option is not valid for source captions
  9299  	// that are either 608/embedded or teletext. These source settings are already
  9300  	// pre-defined by the caption stream. All burn-in and DVB-Sub font settings
  9301  	// must match.
  9302  	OutlineColor *string `locationName:"outlineColor" type:"string" enum:"DvbSubtitleOutlineColor"`
  9303  
  9304  	// Specifies font outline size in pixels. This option is not valid for source
  9305  	// captions that are either 608/embedded or teletext. These source settings
  9306  	// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
  9307  	// settings must match.
  9308  	OutlineSize *int64 `locationName:"outlineSize" type:"integer"`
  9309  
  9310  	// Specifies the color of the shadow cast by the captions.All burn-in and DVB-Sub
  9311  	// font settings must match.
  9312  	ShadowColor *string `locationName:"shadowColor" type:"string" enum:"DvbSubtitleShadowColor"`
  9313  
  9314  	// Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving
  9315  	// this parameter blank is equivalent to setting it to 0 (transparent). All
  9316  	// burn-in and DVB-Sub font settings must match.
  9317  	ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"`
  9318  
  9319  	// Specifies the horizontal offset of the shadow relative to the captions in
  9320  	// pixels. A value of -2 would result in a shadow offset 2 pixels to the left.
  9321  	// All burn-in and DVB-Sub font settings must match.
  9322  	ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"`
  9323  
  9324  	// Specifies the vertical offset of the shadow relative to the captions in pixels.
  9325  	// A value of -2 would result in a shadow offset 2 pixels above the text. All
  9326  	// burn-in and DVB-Sub font settings must match.
  9327  	ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"`
  9328  
  9329  	// Choose which set of style and position values the service applies to your
  9330  	// output captions. When you choose ENABLED, the service uses the input style
  9331  	// and position information from your input. When you choose DISABLED, the service
  9332  	// uses any style values that you specify in your output settings. If you don't
  9333  	// specify values, the service uses default style and position values. When
  9334  	// you choose DISABLED, the service ignores all style and position values from
  9335  	// your input.
  9336  	StylePassthrough *string `locationName:"stylePassthrough" type:"string" enum:"DvbSubtitleStylePassthrough"`
  9337  
  9338  	// Specify whether your DVB subtitles are standard or for hearing impaired.
  9339  	// Choose hearing impaired if your subtitles include audio descriptions and
  9340  	// dialogue. Choose standard if your subtitles include only dialogue.
  9341  	SubtitlingType *string `locationName:"subtitlingType" type:"string" enum:"DvbSubtitlingType"`
  9342  
  9343  	// Only applies to jobs with input captions in Teletext or STL formats. Specify
  9344  	// whether the spacing between letters in your captions is set by the captions
  9345  	// grid or varies depending on letter width. Choose fixed grid to conform to
  9346  	// the spacing specified in the captions file more accurately. Choose proportional
  9347  	// to make the text easier to read if the captions are closed caption.
  9348  	TeletextSpacing *string `locationName:"teletextSpacing" type:"string" enum:"DvbSubtitleTeletextSpacing"`
  9349  
  9350  	// Specify the width, in pixels, of this set of DVB-Sub captions. The default
  9351  	// value is 720 pixels. Related setting: When you use this setting, you must
  9352  	// set DDS handling (ddsHandling) to a value other than None (NONE). All burn-in
  9353  	// and DVB-Sub font settings must match.
  9354  	Width *int64 `locationName:"width" min:"1" type:"integer"`
  9355  
  9356  	// Specifies the horizontal position of the caption relative to the left side
  9357  	// of the output in pixels. A value of 10 would result in the captions starting
  9358  	// 10 pixels from the left of the output. If no explicit x_position is provided,
  9359  	// the horizontal caption position will be determined by the alignment parameter.
  9360  	// This option is not valid for source captions that are STL, 608/embedded or
  9361  	// teletext. These source settings are already pre-defined by the caption stream.
  9362  	// All burn-in and DVB-Sub font settings must match.
  9363  	XPosition *int64 `locationName:"xPosition" type:"integer"`
  9364  
  9365  	// Specifies the vertical position of the caption relative to the top of the
  9366  	// output in pixels. A value of 10 would result in the captions starting 10
  9367  	// pixels from the top of the output. If no explicit y_position is provided,
  9368  	// the caption will be positioned towards the bottom of the output. This option
  9369  	// is not valid for source captions that are STL, 608/embedded or teletext.
  9370  	// These source settings are already pre-defined by the caption stream. All
  9371  	// burn-in and DVB-Sub font settings must match.
  9372  	YPosition *int64 `locationName:"yPosition" type:"integer"`
  9373  }
  9374  
  9375  // String returns the string representation.
  9376  //
  9377  // API parameter values that are decorated as "sensitive" in the API will not
  9378  // be included in the string output. The member name will be present, but the
  9379  // value will be replaced with "sensitive".
  9380  func (s DvbSubDestinationSettings) String() string {
  9381  	return awsutil.Prettify(s)
  9382  }
  9383  
  9384  // GoString returns the string representation.
  9385  //
  9386  // API parameter values that are decorated as "sensitive" in the API will not
  9387  // be included in the string output. The member name will be present, but the
  9388  // value will be replaced with "sensitive".
  9389  func (s DvbSubDestinationSettings) GoString() string {
  9390  	return s.String()
  9391  }
  9392  
  9393  // Validate inspects the fields of the type to determine if they are valid.
  9394  func (s *DvbSubDestinationSettings) Validate() error {
  9395  	invalidParams := request.ErrInvalidParams{Context: "DvbSubDestinationSettings"}
  9396  	if s.FontResolution != nil && *s.FontResolution < 96 {
  9397  		invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96))
  9398  	}
  9399  	if s.Height != nil && *s.Height < 1 {
  9400  		invalidParams.Add(request.NewErrParamMinValue("Height", 1))
  9401  	}
  9402  	if s.HexFontColor != nil && len(*s.HexFontColor) < 6 {
  9403  		invalidParams.Add(request.NewErrParamMinLen("HexFontColor", 6))
  9404  	}
  9405  	if s.ShadowXOffset != nil && *s.ShadowXOffset < -2.147483648e+09 {
  9406  		invalidParams.Add(request.NewErrParamMinValue("ShadowXOffset", -2.147483648e+09))
  9407  	}
  9408  	if s.ShadowYOffset != nil && *s.ShadowYOffset < -2.147483648e+09 {
  9409  		invalidParams.Add(request.NewErrParamMinValue("ShadowYOffset", -2.147483648e+09))
  9410  	}
  9411  	if s.Width != nil && *s.Width < 1 {
  9412  		invalidParams.Add(request.NewErrParamMinValue("Width", 1))
  9413  	}
  9414  
  9415  	if invalidParams.Len() > 0 {
  9416  		return invalidParams
  9417  	}
  9418  	return nil
  9419  }
  9420  
  9421  // SetAlignment sets the Alignment field's value.
  9422  func (s *DvbSubDestinationSettings) SetAlignment(v string) *DvbSubDestinationSettings {
  9423  	s.Alignment = &v
  9424  	return s
  9425  }
  9426  
  9427  // SetApplyFontColor sets the ApplyFontColor field's value.
  9428  func (s *DvbSubDestinationSettings) SetApplyFontColor(v string) *DvbSubDestinationSettings {
  9429  	s.ApplyFontColor = &v
  9430  	return s
  9431  }
  9432  
  9433  // SetBackgroundColor sets the BackgroundColor field's value.
  9434  func (s *DvbSubDestinationSettings) SetBackgroundColor(v string) *DvbSubDestinationSettings {
  9435  	s.BackgroundColor = &v
  9436  	return s
  9437  }
  9438  
  9439  // SetBackgroundOpacity sets the BackgroundOpacity field's value.
  9440  func (s *DvbSubDestinationSettings) SetBackgroundOpacity(v int64) *DvbSubDestinationSettings {
  9441  	s.BackgroundOpacity = &v
  9442  	return s
  9443  }
  9444  
  9445  // SetDdsHandling sets the DdsHandling field's value.
  9446  func (s *DvbSubDestinationSettings) SetDdsHandling(v string) *DvbSubDestinationSettings {
  9447  	s.DdsHandling = &v
  9448  	return s
  9449  }
  9450  
  9451  // SetDdsXCoordinate sets the DdsXCoordinate field's value.
  9452  func (s *DvbSubDestinationSettings) SetDdsXCoordinate(v int64) *DvbSubDestinationSettings {
  9453  	s.DdsXCoordinate = &v
  9454  	return s
  9455  }
  9456  
  9457  // SetDdsYCoordinate sets the DdsYCoordinate field's value.
  9458  func (s *DvbSubDestinationSettings) SetDdsYCoordinate(v int64) *DvbSubDestinationSettings {
  9459  	s.DdsYCoordinate = &v
  9460  	return s
  9461  }
  9462  
  9463  // SetFallbackFont sets the FallbackFont field's value.
  9464  func (s *DvbSubDestinationSettings) SetFallbackFont(v string) *DvbSubDestinationSettings {
  9465  	s.FallbackFont = &v
  9466  	return s
  9467  }
  9468  
  9469  // SetFontColor sets the FontColor field's value.
  9470  func (s *DvbSubDestinationSettings) SetFontColor(v string) *DvbSubDestinationSettings {
  9471  	s.FontColor = &v
  9472  	return s
  9473  }
  9474  
  9475  // SetFontOpacity sets the FontOpacity field's value.
  9476  func (s *DvbSubDestinationSettings) SetFontOpacity(v int64) *DvbSubDestinationSettings {
  9477  	s.FontOpacity = &v
  9478  	return s
  9479  }
  9480  
  9481  // SetFontResolution sets the FontResolution field's value.
  9482  func (s *DvbSubDestinationSettings) SetFontResolution(v int64) *DvbSubDestinationSettings {
  9483  	s.FontResolution = &v
  9484  	return s
  9485  }
  9486  
  9487  // SetFontScript sets the FontScript field's value.
  9488  func (s *DvbSubDestinationSettings) SetFontScript(v string) *DvbSubDestinationSettings {
  9489  	s.FontScript = &v
  9490  	return s
  9491  }
  9492  
  9493  // SetFontSize sets the FontSize field's value.
  9494  func (s *DvbSubDestinationSettings) SetFontSize(v int64) *DvbSubDestinationSettings {
  9495  	s.FontSize = &v
  9496  	return s
  9497  }
  9498  
  9499  // SetHeight sets the Height field's value.
  9500  func (s *DvbSubDestinationSettings) SetHeight(v int64) *DvbSubDestinationSettings {
  9501  	s.Height = &v
  9502  	return s
  9503  }
  9504  
  9505  // SetHexFontColor sets the HexFontColor field's value.
  9506  func (s *DvbSubDestinationSettings) SetHexFontColor(v string) *DvbSubDestinationSettings {
  9507  	s.HexFontColor = &v
  9508  	return s
  9509  }
  9510  
  9511  // SetOutlineColor sets the OutlineColor field's value.
  9512  func (s *DvbSubDestinationSettings) SetOutlineColor(v string) *DvbSubDestinationSettings {
  9513  	s.OutlineColor = &v
  9514  	return s
  9515  }
  9516  
  9517  // SetOutlineSize sets the OutlineSize field's value.
  9518  func (s *DvbSubDestinationSettings) SetOutlineSize(v int64) *DvbSubDestinationSettings {
  9519  	s.OutlineSize = &v
  9520  	return s
  9521  }
  9522  
  9523  // SetShadowColor sets the ShadowColor field's value.
  9524  func (s *DvbSubDestinationSettings) SetShadowColor(v string) *DvbSubDestinationSettings {
  9525  	s.ShadowColor = &v
  9526  	return s
  9527  }
  9528  
  9529  // SetShadowOpacity sets the ShadowOpacity field's value.
  9530  func (s *DvbSubDestinationSettings) SetShadowOpacity(v int64) *DvbSubDestinationSettings {
  9531  	s.ShadowOpacity = &v
  9532  	return s
  9533  }
  9534  
  9535  // SetShadowXOffset sets the ShadowXOffset field's value.
  9536  func (s *DvbSubDestinationSettings) SetShadowXOffset(v int64) *DvbSubDestinationSettings {
  9537  	s.ShadowXOffset = &v
  9538  	return s
  9539  }
  9540  
  9541  // SetShadowYOffset sets the ShadowYOffset field's value.
  9542  func (s *DvbSubDestinationSettings) SetShadowYOffset(v int64) *DvbSubDestinationSettings {
  9543  	s.ShadowYOffset = &v
  9544  	return s
  9545  }
  9546  
  9547  // SetStylePassthrough sets the StylePassthrough field's value.
  9548  func (s *DvbSubDestinationSettings) SetStylePassthrough(v string) *DvbSubDestinationSettings {
  9549  	s.StylePassthrough = &v
  9550  	return s
  9551  }
  9552  
  9553  // SetSubtitlingType sets the SubtitlingType field's value.
  9554  func (s *DvbSubDestinationSettings) SetSubtitlingType(v string) *DvbSubDestinationSettings {
  9555  	s.SubtitlingType = &v
  9556  	return s
  9557  }
  9558  
  9559  // SetTeletextSpacing sets the TeletextSpacing field's value.
  9560  func (s *DvbSubDestinationSettings) SetTeletextSpacing(v string) *DvbSubDestinationSettings {
  9561  	s.TeletextSpacing = &v
  9562  	return s
  9563  }
  9564  
  9565  // SetWidth sets the Width field's value.
  9566  func (s *DvbSubDestinationSettings) SetWidth(v int64) *DvbSubDestinationSettings {
  9567  	s.Width = &v
  9568  	return s
  9569  }
  9570  
  9571  // SetXPosition sets the XPosition field's value.
  9572  func (s *DvbSubDestinationSettings) SetXPosition(v int64) *DvbSubDestinationSettings {
  9573  	s.XPosition = &v
  9574  	return s
  9575  }
  9576  
  9577  // SetYPosition sets the YPosition field's value.
  9578  func (s *DvbSubDestinationSettings) SetYPosition(v int64) *DvbSubDestinationSettings {
  9579  	s.YPosition = &v
  9580  	return s
  9581  }
  9582  
  9583  // DVB Sub Source Settings
  9584  type DvbSubSourceSettings struct {
  9585  	_ struct{} `type:"structure"`
  9586  
  9587  	// When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source
  9588  	// content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed through,
  9589  	// regardless of selectors.
  9590  	Pid *int64 `locationName:"pid" min:"1" type:"integer"`
  9591  }
  9592  
  9593  // String returns the string representation.
  9594  //
  9595  // API parameter values that are decorated as "sensitive" in the API will not
  9596  // be included in the string output. The member name will be present, but the
  9597  // value will be replaced with "sensitive".
  9598  func (s DvbSubSourceSettings) String() string {
  9599  	return awsutil.Prettify(s)
  9600  }
  9601  
  9602  // GoString returns the string representation.
  9603  //
  9604  // API parameter values that are decorated as "sensitive" in the API will not
  9605  // be included in the string output. The member name will be present, but the
  9606  // value will be replaced with "sensitive".
  9607  func (s DvbSubSourceSettings) GoString() string {
  9608  	return s.String()
  9609  }
  9610  
  9611  // Validate inspects the fields of the type to determine if they are valid.
  9612  func (s *DvbSubSourceSettings) Validate() error {
  9613  	invalidParams := request.ErrInvalidParams{Context: "DvbSubSourceSettings"}
  9614  	if s.Pid != nil && *s.Pid < 1 {
  9615  		invalidParams.Add(request.NewErrParamMinValue("Pid", 1))
  9616  	}
  9617  
  9618  	if invalidParams.Len() > 0 {
  9619  		return invalidParams
  9620  	}
  9621  	return nil
  9622  }
  9623  
  9624  // SetPid sets the Pid field's value.
  9625  func (s *DvbSubSourceSettings) SetPid(v int64) *DvbSubSourceSettings {
  9626  	s.Pid = &v
  9627  	return s
  9628  }
  9629  
  9630  // Use these settings to insert a DVB Time and Date Table (TDT) in the transport
  9631  // stream of this output. When you work directly in your JSON job specification,
  9632  // include this object only when your job has a transport stream output and
  9633  // the container settings contain the object M2tsSettings.
  9634  type DvbTdtSettings struct {
  9635  	_ struct{} `type:"structure"`
  9636  
  9637  	// The number of milliseconds between instances of this table in the output
  9638  	// transport stream.
  9639  	TdtInterval *int64 `locationName:"tdtInterval" min:"1000" type:"integer"`
  9640  }
  9641  
  9642  // String returns the string representation.
  9643  //
  9644  // API parameter values that are decorated as "sensitive" in the API will not
  9645  // be included in the string output. The member name will be present, but the
  9646  // value will be replaced with "sensitive".
  9647  func (s DvbTdtSettings) String() string {
  9648  	return awsutil.Prettify(s)
  9649  }
  9650  
  9651  // GoString returns the string representation.
  9652  //
  9653  // API parameter values that are decorated as "sensitive" in the API will not
  9654  // be included in the string output. The member name will be present, but the
  9655  // value will be replaced with "sensitive".
  9656  func (s DvbTdtSettings) GoString() string {
  9657  	return s.String()
  9658  }
  9659  
  9660  // Validate inspects the fields of the type to determine if they are valid.
  9661  func (s *DvbTdtSettings) Validate() error {
  9662  	invalidParams := request.ErrInvalidParams{Context: "DvbTdtSettings"}
  9663  	if s.TdtInterval != nil && *s.TdtInterval < 1000 {
  9664  		invalidParams.Add(request.NewErrParamMinValue("TdtInterval", 1000))
  9665  	}
  9666  
  9667  	if invalidParams.Len() > 0 {
  9668  		return invalidParams
  9669  	}
  9670  	return nil
  9671  }
  9672  
  9673  // SetTdtInterval sets the TdtInterval field's value.
  9674  func (s *DvbTdtSettings) SetTdtInterval(v int64) *DvbTdtSettings {
  9675  	s.TdtInterval = &v
  9676  	return s
  9677  }
  9678  
  9679  // Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
  9680  // the value EAC3_ATMOS.
  9681  type Eac3AtmosSettings struct {
  9682  	_ struct{} `type:"structure"`
  9683  
  9684  	// Specify the average bitrate for this output in bits per second. Valid values:
  9685  	// 384k, 448k, 576k, 640k, 768k, 1024k Default value: 448k Note that MediaConvert
  9686  	// supports 384k only with channel-based immersive (CBI) 7.1.4 and 5.1.4 inputs.
  9687  	// For CBI 9.1.6 and other input types, MediaConvert automatically increases
  9688  	// your output bitrate to 448k.
  9689  	Bitrate *int64 `locationName:"bitrate" min:"384000" type:"integer"`
  9690  
  9691  	// Specify the bitstream mode for the E-AC-3 stream that the encoder emits.
  9692  	// For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex
  9693  	// E).
  9694  	BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Eac3AtmosBitstreamMode"`
  9695  
  9696  	// The coding mode for Dolby Digital Plus JOC (Atmos).
  9697  	CodingMode *string `locationName:"codingMode" type:"string" enum:"Eac3AtmosCodingMode"`
  9698  
  9699  	// Enable Dolby Dialogue Intelligence to adjust loudness based on dialogue analysis.
  9700  	DialogueIntelligence *string `locationName:"dialogueIntelligence" type:"string" enum:"Eac3AtmosDialogueIntelligence"`
  9701  
  9702  	// Specify whether MediaConvert should use any downmix metadata from your input
  9703  	// file. Keep the default value, Custom (SPECIFIED) to provide downmix values
  9704  	// in your job settings. Choose Follow source (INITIALIZE_FROM_SOURCE) to use
  9705  	// the metadata from your input. Related settings--Use these settings to specify
  9706  	// your downmix values: Left only/Right only surround (LoRoSurroundMixLevel),
  9707  	// Left total/Right total surround (LtRtSurroundMixLevel), Left total/Right
  9708  	// total center (LtRtCenterMixLevel), Left only/Right only center (LoRoCenterMixLevel),
  9709  	// and Stereo downmix (StereoDownmix). When you keep Custom (SPECIFIED) for
  9710  	// Downmix control (DownmixControl) and you don't specify values for the related
  9711  	// settings, MediaConvert uses default values for those settings.
  9712  	DownmixControl *string `locationName:"downmixControl" type:"string" enum:"Eac3AtmosDownmixControl"`
  9713  
  9714  	// Choose the Dolby dynamic range control (DRC) profile that MediaConvert uses
  9715  	// when encoding the metadata in the Dolby stream for the line operating mode.
  9716  	// Default value: Film light (ATMOS_STORAGE_DDP_COMPR_FILM_LIGHT) Related setting:
  9717  	// To have MediaConvert use the value you specify here, keep the default value,
  9718  	// Custom (SPECIFIED) for the setting Dynamic range control (DynamicRangeControl).
  9719  	// Otherwise, MediaConvert ignores Dynamic range compression line (DynamicRangeCompressionLine).
  9720  	// For information about the Dolby DRC operating modes and profiles, see the
  9721  	// Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
  9722  	DynamicRangeCompressionLine *string `locationName:"dynamicRangeCompressionLine" type:"string" enum:"Eac3AtmosDynamicRangeCompressionLine"`
  9723  
  9724  	// Choose the Dolby dynamic range control (DRC) profile that MediaConvert uses
  9725  	// when encoding the metadata in the Dolby stream for the RF operating mode.
  9726  	// Default value: Film light (ATMOS_STORAGE_DDP_COMPR_FILM_LIGHT) Related setting:
  9727  	// To have MediaConvert use the value you specify here, keep the default value,
  9728  	// Custom (SPECIFIED) for the setting Dynamic range control (DynamicRangeControl).
  9729  	// Otherwise, MediaConvert ignores Dynamic range compression RF (DynamicRangeCompressionRf).
  9730  	// For information about the Dolby DRC operating modes and profiles, see the
  9731  	// Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
  9732  	DynamicRangeCompressionRf *string `locationName:"dynamicRangeCompressionRf" type:"string" enum:"Eac3AtmosDynamicRangeCompressionRf"`
  9733  
  9734  	// Specify whether MediaConvert should use any dynamic range control metadata
  9735  	// from your input file. Keep the default value, Custom (SPECIFIED), to provide
  9736  	// dynamic range control values in your job settings. Choose Follow source (INITIALIZE_FROM_SOURCE)
  9737  	// to use the metadata from your input. Related settings--Use these settings
  9738  	// to specify your dynamic range control values: Dynamic range compression line
  9739  	// (DynamicRangeCompressionLine) and Dynamic range compression RF (DynamicRangeCompressionRf).
  9740  	// When you keep the value Custom (SPECIFIED) for Dynamic range control (DynamicRangeControl)
  9741  	// and you don't specify values for the related settings, MediaConvert uses
  9742  	// default values for those settings.
  9743  	DynamicRangeControl *string `locationName:"dynamicRangeControl" type:"string" enum:"Eac3AtmosDynamicRangeControl"`
  9744  
  9745  	// Specify a value for the following Dolby Atmos setting: Left only/Right only
  9746  	// center mix (Lo/Ro center). MediaConvert uses this value for downmixing. Default
  9747  	// value: -3 dB (ATMOS_STORAGE_DDP_MIXLEV_MINUS_3_DB). Valid values: 3.0, 1.5,
  9748  	// 0.0, -1.5, -3.0, -4.5, and -6.0. Related setting: How the service uses this
  9749  	// value depends on the value that you choose for Stereo downmix (Eac3AtmosStereoDownmix).
  9750  	// Related setting: To have MediaConvert use this value, keep the default value,
  9751  	// Custom (SPECIFIED) for the setting Downmix control (DownmixControl). Otherwise,
  9752  	// MediaConvert ignores Left only/Right only center (LoRoCenterMixLevel).
  9753  	LoRoCenterMixLevel *float64 `locationName:"loRoCenterMixLevel" type:"double"`
  9754  
  9755  	// Specify a value for the following Dolby Atmos setting: Left only/Right only
  9756  	// (Lo/Ro surround). MediaConvert uses this value for downmixing. Default value:
  9757  	// -3 dB (ATMOS_STORAGE_DDP_MIXLEV_MINUS_3_DB). Valid values: -1.5, -3.0, -4.5,
  9758  	// -6.0, and -60. The value -60 mutes the channel. Related setting: How the
  9759  	// service uses this value depends on the value that you choose for Stereo downmix
  9760  	// (Eac3AtmosStereoDownmix). Related setting: To have MediaConvert use this
  9761  	// value, keep the default value, Custom (SPECIFIED) for the setting Downmix
  9762  	// control (DownmixControl). Otherwise, MediaConvert ignores Left only/Right
  9763  	// only surround (LoRoSurroundMixLevel).
  9764  	LoRoSurroundMixLevel *float64 `locationName:"loRoSurroundMixLevel" type:"double"`
  9765  
  9766  	// Specify a value for the following Dolby Atmos setting: Left total/Right total
  9767  	// center mix (Lt/Rt center). MediaConvert uses this value for downmixing. Default
  9768  	// value: -3 dB (ATMOS_STORAGE_DDP_MIXLEV_MINUS_3_DB) Valid values: 3.0, 1.5,
  9769  	// 0.0, -1.5, -3.0, -4.5, and -6.0. Related setting: How the service uses this
  9770  	// value depends on the value that you choose for Stereo downmix (Eac3AtmosStereoDownmix).
  9771  	// Related setting: To have MediaConvert use this value, keep the default value,
  9772  	// Custom (SPECIFIED) for the setting Downmix control (DownmixControl). Otherwise,
  9773  	// MediaConvert ignores Left total/Right total center (LtRtCenterMixLevel).
  9774  	LtRtCenterMixLevel *float64 `locationName:"ltRtCenterMixLevel" type:"double"`
  9775  
  9776  	// Specify a value for the following Dolby Atmos setting: Left total/Right total
  9777  	// surround mix (Lt/Rt surround). MediaConvert uses this value for downmixing.
  9778  	// Default value: -3 dB (ATMOS_STORAGE_DDP_MIXLEV_MINUS_3_DB) Valid values:
  9779  	// -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. Related
  9780  	// setting: How the service uses this value depends on the value that you choose
  9781  	// for Stereo downmix (Eac3AtmosStereoDownmix). Related setting: To have MediaConvert
  9782  	// use this value, keep the default value, Custom (SPECIFIED) for the setting
  9783  	// Downmix control (DownmixControl). Otherwise, the service ignores Left total/Right
  9784  	// total surround (LtRtSurroundMixLevel).
  9785  	LtRtSurroundMixLevel *float64 `locationName:"ltRtSurroundMixLevel" type:"double"`
  9786  
  9787  	// Choose how the service meters the loudness of your audio.
  9788  	MeteringMode *string `locationName:"meteringMode" type:"string" enum:"Eac3AtmosMeteringMode"`
  9789  
  9790  	// This value is always 48000. It represents the sample rate in Hz.
  9791  	SampleRate *int64 `locationName:"sampleRate" min:"48000" type:"integer"`
  9792  
  9793  	// Specify the percentage of audio content, from 0% to 100%, that must be speech
  9794  	// in order for the encoder to use the measured speech loudness as the overall
  9795  	// program loudness. Default value: 15%
  9796  	SpeechThreshold *int64 `locationName:"speechThreshold" type:"integer"`
  9797  
  9798  	// Choose how the service does stereo downmixing. Default value: Not indicated
  9799  	// (ATMOS_STORAGE_DDP_DMIXMOD_NOT_INDICATED) Related setting: To have MediaConvert
  9800  	// use this value, keep the default value, Custom (SPECIFIED) for the setting
  9801  	// Downmix control (DownmixControl). Otherwise, MediaConvert ignores Stereo
  9802  	// downmix (StereoDownmix).
  9803  	StereoDownmix *string `locationName:"stereoDownmix" type:"string" enum:"Eac3AtmosStereoDownmix"`
  9804  
  9805  	// Specify whether your input audio has an additional center rear surround channel
  9806  	// matrix encoded into your left and right surround channels.
  9807  	SurroundExMode *string `locationName:"surroundExMode" type:"string" enum:"Eac3AtmosSurroundExMode"`
  9808  }
  9809  
  9810  // String returns the string representation.
  9811  //
  9812  // API parameter values that are decorated as "sensitive" in the API will not
  9813  // be included in the string output. The member name will be present, but the
  9814  // value will be replaced with "sensitive".
  9815  func (s Eac3AtmosSettings) String() string {
  9816  	return awsutil.Prettify(s)
  9817  }
  9818  
  9819  // GoString returns the string representation.
  9820  //
  9821  // API parameter values that are decorated as "sensitive" in the API will not
  9822  // be included in the string output. The member name will be present, but the
  9823  // value will be replaced with "sensitive".
  9824  func (s Eac3AtmosSettings) GoString() string {
  9825  	return s.String()
  9826  }
  9827  
  9828  // Validate inspects the fields of the type to determine if they are valid.
  9829  func (s *Eac3AtmosSettings) Validate() error {
  9830  	invalidParams := request.ErrInvalidParams{Context: "Eac3AtmosSettings"}
  9831  	if s.Bitrate != nil && *s.Bitrate < 384000 {
  9832  		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 384000))
  9833  	}
  9834  	if s.SampleRate != nil && *s.SampleRate < 48000 {
  9835  		invalidParams.Add(request.NewErrParamMinValue("SampleRate", 48000))
  9836  	}
  9837  
  9838  	if invalidParams.Len() > 0 {
  9839  		return invalidParams
  9840  	}
  9841  	return nil
  9842  }
  9843  
  9844  // SetBitrate sets the Bitrate field's value.
  9845  func (s *Eac3AtmosSettings) SetBitrate(v int64) *Eac3AtmosSettings {
  9846  	s.Bitrate = &v
  9847  	return s
  9848  }
  9849  
  9850  // SetBitstreamMode sets the BitstreamMode field's value.
  9851  func (s *Eac3AtmosSettings) SetBitstreamMode(v string) *Eac3AtmosSettings {
  9852  	s.BitstreamMode = &v
  9853  	return s
  9854  }
  9855  
  9856  // SetCodingMode sets the CodingMode field's value.
  9857  func (s *Eac3AtmosSettings) SetCodingMode(v string) *Eac3AtmosSettings {
  9858  	s.CodingMode = &v
  9859  	return s
  9860  }
  9861  
  9862  // SetDialogueIntelligence sets the DialogueIntelligence field's value.
  9863  func (s *Eac3AtmosSettings) SetDialogueIntelligence(v string) *Eac3AtmosSettings {
  9864  	s.DialogueIntelligence = &v
  9865  	return s
  9866  }
  9867  
  9868  // SetDownmixControl sets the DownmixControl field's value.
  9869  func (s *Eac3AtmosSettings) SetDownmixControl(v string) *Eac3AtmosSettings {
  9870  	s.DownmixControl = &v
  9871  	return s
  9872  }
  9873  
  9874  // SetDynamicRangeCompressionLine sets the DynamicRangeCompressionLine field's value.
  9875  func (s *Eac3AtmosSettings) SetDynamicRangeCompressionLine(v string) *Eac3AtmosSettings {
  9876  	s.DynamicRangeCompressionLine = &v
  9877  	return s
  9878  }
  9879  
  9880  // SetDynamicRangeCompressionRf sets the DynamicRangeCompressionRf field's value.
  9881  func (s *Eac3AtmosSettings) SetDynamicRangeCompressionRf(v string) *Eac3AtmosSettings {
  9882  	s.DynamicRangeCompressionRf = &v
  9883  	return s
  9884  }
  9885  
  9886  // SetDynamicRangeControl sets the DynamicRangeControl field's value.
  9887  func (s *Eac3AtmosSettings) SetDynamicRangeControl(v string) *Eac3AtmosSettings {
  9888  	s.DynamicRangeControl = &v
  9889  	return s
  9890  }
  9891  
  9892  // SetLoRoCenterMixLevel sets the LoRoCenterMixLevel field's value.
  9893  func (s *Eac3AtmosSettings) SetLoRoCenterMixLevel(v float64) *Eac3AtmosSettings {
  9894  	s.LoRoCenterMixLevel = &v
  9895  	return s
  9896  }
  9897  
  9898  // SetLoRoSurroundMixLevel sets the LoRoSurroundMixLevel field's value.
  9899  func (s *Eac3AtmosSettings) SetLoRoSurroundMixLevel(v float64) *Eac3AtmosSettings {
  9900  	s.LoRoSurroundMixLevel = &v
  9901  	return s
  9902  }
  9903  
  9904  // SetLtRtCenterMixLevel sets the LtRtCenterMixLevel field's value.
  9905  func (s *Eac3AtmosSettings) SetLtRtCenterMixLevel(v float64) *Eac3AtmosSettings {
  9906  	s.LtRtCenterMixLevel = &v
  9907  	return s
  9908  }
  9909  
  9910  // SetLtRtSurroundMixLevel sets the LtRtSurroundMixLevel field's value.
  9911  func (s *Eac3AtmosSettings) SetLtRtSurroundMixLevel(v float64) *Eac3AtmosSettings {
  9912  	s.LtRtSurroundMixLevel = &v
  9913  	return s
  9914  }
  9915  
  9916  // SetMeteringMode sets the MeteringMode field's value.
  9917  func (s *Eac3AtmosSettings) SetMeteringMode(v string) *Eac3AtmosSettings {
  9918  	s.MeteringMode = &v
  9919  	return s
  9920  }
  9921  
  9922  // SetSampleRate sets the SampleRate field's value.
  9923  func (s *Eac3AtmosSettings) SetSampleRate(v int64) *Eac3AtmosSettings {
  9924  	s.SampleRate = &v
  9925  	return s
  9926  }
  9927  
  9928  // SetSpeechThreshold sets the SpeechThreshold field's value.
  9929  func (s *Eac3AtmosSettings) SetSpeechThreshold(v int64) *Eac3AtmosSettings {
  9930  	s.SpeechThreshold = &v
  9931  	return s
  9932  }
  9933  
  9934  // SetStereoDownmix sets the StereoDownmix field's value.
  9935  func (s *Eac3AtmosSettings) SetStereoDownmix(v string) *Eac3AtmosSettings {
  9936  	s.StereoDownmix = &v
  9937  	return s
  9938  }
  9939  
  9940  // SetSurroundExMode sets the SurroundExMode field's value.
  9941  func (s *Eac3AtmosSettings) SetSurroundExMode(v string) *Eac3AtmosSettings {
  9942  	s.SurroundExMode = &v
  9943  	return s
  9944  }
  9945  
  9946  // Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
  9947  // the value EAC3.
  9948  type Eac3Settings struct {
  9949  	_ struct{} `type:"structure"`
  9950  
  9951  	// If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels.
  9952  	// Only used for 3/2 coding mode.
  9953  	AttenuationControl *string `locationName:"attenuationControl" type:"string" enum:"Eac3AttenuationControl"`
  9954  
  9955  	// Specify the average bitrate in bits per second. Valid bitrates depend on
  9956  	// the coding mode.
  9957  	Bitrate *int64 `locationName:"bitrate" min:"64000" type:"integer"`
  9958  
  9959  	// Specify the bitstream mode for the E-AC-3 stream that the encoder emits.
  9960  	// For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex
  9961  	// E).
  9962  	BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Eac3BitstreamMode"`
  9963  
  9964  	// Dolby Digital Plus coding mode. Determines number of channels.
  9965  	CodingMode *string `locationName:"codingMode" type:"string" enum:"Eac3CodingMode"`
  9966  
  9967  	// Activates a DC highpass filter for all input channels.
  9968  	DcFilter *string `locationName:"dcFilter" type:"string" enum:"Eac3DcFilter"`
  9969  
  9970  	// Sets the dialnorm for the output. If blank and input audio is Dolby Digital
  9971  	// Plus, dialnorm will be passed through.
  9972  	Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"`
  9973  
  9974  	// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
  9975  	// uses when encoding the metadata in the Dolby Digital stream for the line
  9976  	// operating mode. Related setting: When you use this setting, MediaConvert
  9977  	// ignores any value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile).
  9978  	// For information about the Dolby Digital DRC operating modes and profiles,
  9979  	// see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
  9980  	DynamicRangeCompressionLine *string `locationName:"dynamicRangeCompressionLine" type:"string" enum:"Eac3DynamicRangeCompressionLine"`
  9981  
  9982  	// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
  9983  	// uses when encoding the metadata in the Dolby Digital stream for the RF operating
  9984  	// mode. Related setting: When you use this setting, MediaConvert ignores any
  9985  	// value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile).
  9986  	// For information about the Dolby Digital DRC operating modes and profiles,
  9987  	// see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
  9988  	DynamicRangeCompressionRf *string `locationName:"dynamicRangeCompressionRf" type:"string" enum:"Eac3DynamicRangeCompressionRf"`
  9989  
  9990  	// When encoding 3/2 audio, controls whether the LFE channel is enabled
  9991  	LfeControl *string `locationName:"lfeControl" type:"string" enum:"Eac3LfeControl"`
  9992  
  9993  	// Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only
  9994  	// valid with 3_2_LFE coding mode.
  9995  	LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Eac3LfeFilter"`
  9996  
  9997  	// Specify a value for the following Dolby Digital Plus setting: Left only/Right
  9998  	// only center mix (Lo/Ro center). MediaConvert uses this value for downmixing.
  9999  	// How the service uses this value depends on the value that you choose for
 10000  	// Stereo downmix (Eac3StereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0,
 10001  	// -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies
 10002  	// only if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2)
 10003  	// for the setting Coding mode (Eac3CodingMode). If you choose a different value
 10004  	// for Coding mode, the service ignores Left only/Right only center (loRoCenterMixLevel).
 10005  	LoRoCenterMixLevel *float64 `locationName:"loRoCenterMixLevel" type:"double"`
 10006  
 10007  	// Specify a value for the following Dolby Digital Plus setting: Left only/Right
 10008  	// only (Lo/Ro surround). MediaConvert uses this value for downmixing. How the
 10009  	// service uses this value depends on the value that you choose for Stereo downmix
 10010  	// (Eac3StereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value
 10011  	// -60 mutes the channel. This setting applies only if you keep the default
 10012  	// value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode
 10013  	// (Eac3CodingMode). If you choose a different value for Coding mode, the service
 10014  	// ignores Left only/Right only surround (loRoSurroundMixLevel).
 10015  	LoRoSurroundMixLevel *float64 `locationName:"loRoSurroundMixLevel" type:"double"`
 10016  
 10017  	// Specify a value for the following Dolby Digital Plus setting: Left total/Right
 10018  	// total center mix (Lt/Rt center). MediaConvert uses this value for downmixing.
 10019  	// How the service uses this value depends on the value that you choose for
 10020  	// Stereo downmix (Eac3StereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0,
 10021  	// -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies
 10022  	// only if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2)
 10023  	// for the setting Coding mode (Eac3CodingMode). If you choose a different value
 10024  	// for Coding mode, the service ignores Left total/Right total center (ltRtCenterMixLevel).
 10025  	LtRtCenterMixLevel *float64 `locationName:"ltRtCenterMixLevel" type:"double"`
 10026  
 10027  	// Specify a value for the following Dolby Digital Plus setting: Left total/Right
 10028  	// total surround mix (Lt/Rt surround). MediaConvert uses this value for downmixing.
 10029  	// How the service uses this value depends on the value that you choose for
 10030  	// Stereo downmix (Eac3StereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0,
 10031  	// and -60. The value -60 mutes the channel. This setting applies only if you
 10032  	// keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the
 10033  	// setting Coding mode (Eac3CodingMode). If you choose a different value for
 10034  	// Coding mode, the service ignores Left total/Right total surround (ltRtSurroundMixLevel).
 10035  	LtRtSurroundMixLevel *float64 `locationName:"ltRtSurroundMixLevel" type:"double"`
 10036  
 10037  	// When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+,
 10038  	// or DolbyE decoder that supplied this audio data. If audio was not supplied
 10039  	// from one of these streams, then the static metadata settings will be used.
 10040  	MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Eac3MetadataControl"`
 10041  
 10042  	// When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is
 10043  	// present on the input. this detection is dynamic over the life of the transcode.
 10044  	// Inputs that alternate between DD+ and non-DD+ content will have a consistent
 10045  	// DD+ output as the system alternates between passthrough and encoding.
 10046  	PassthroughControl *string `locationName:"passthroughControl" type:"string" enum:"Eac3PassthroughControl"`
 10047  
 10048  	// Controls the amount of phase-shift applied to the surround channels. Only
 10049  	// used for 3/2 coding mode.
 10050  	PhaseControl *string `locationName:"phaseControl" type:"string" enum:"Eac3PhaseControl"`
 10051  
 10052  	// This value is always 48000. It represents the sample rate in Hz.
 10053  	SampleRate *int64 `locationName:"sampleRate" min:"48000" type:"integer"`
 10054  
 10055  	// Choose how the service does stereo downmixing. This setting only applies
 10056  	// if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2)
 10057  	// for the setting Coding mode (Eac3CodingMode). If you choose a different value
 10058  	// for Coding mode, the service ignores Stereo downmix (Eac3StereoDownmix).
 10059  	StereoDownmix *string `locationName:"stereoDownmix" type:"string" enum:"Eac3StereoDownmix"`
 10060  
 10061  	// When encoding 3/2 audio, sets whether an extra center back surround channel
 10062  	// is matrix encoded into the left and right surround channels.
 10063  	SurroundExMode *string `locationName:"surroundExMode" type:"string" enum:"Eac3SurroundExMode"`
 10064  
 10065  	// When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into
 10066  	// the two channels.
 10067  	SurroundMode *string `locationName:"surroundMode" type:"string" enum:"Eac3SurroundMode"`
 10068  }
 10069  
 10070  // String returns the string representation.
 10071  //
 10072  // API parameter values that are decorated as "sensitive" in the API will not
 10073  // be included in the string output. The member name will be present, but the
 10074  // value will be replaced with "sensitive".
 10075  func (s Eac3Settings) String() string {
 10076  	return awsutil.Prettify(s)
 10077  }
 10078  
 10079  // GoString returns the string representation.
 10080  //
 10081  // API parameter values that are decorated as "sensitive" in the API will not
 10082  // be included in the string output. The member name will be present, but the
 10083  // value will be replaced with "sensitive".
 10084  func (s Eac3Settings) GoString() string {
 10085  	return s.String()
 10086  }
 10087  
 10088  // Validate inspects the fields of the type to determine if they are valid.
 10089  func (s *Eac3Settings) Validate() error {
 10090  	invalidParams := request.ErrInvalidParams{Context: "Eac3Settings"}
 10091  	if s.Bitrate != nil && *s.Bitrate < 64000 {
 10092  		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 64000))
 10093  	}
 10094  	if s.Dialnorm != nil && *s.Dialnorm < 1 {
 10095  		invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1))
 10096  	}
 10097  	if s.SampleRate != nil && *s.SampleRate < 48000 {
 10098  		invalidParams.Add(request.NewErrParamMinValue("SampleRate", 48000))
 10099  	}
 10100  
 10101  	if invalidParams.Len() > 0 {
 10102  		return invalidParams
 10103  	}
 10104  	return nil
 10105  }
 10106  
 10107  // SetAttenuationControl sets the AttenuationControl field's value.
 10108  func (s *Eac3Settings) SetAttenuationControl(v string) *Eac3Settings {
 10109  	s.AttenuationControl = &v
 10110  	return s
 10111  }
 10112  
 10113  // SetBitrate sets the Bitrate field's value.
 10114  func (s *Eac3Settings) SetBitrate(v int64) *Eac3Settings {
 10115  	s.Bitrate = &v
 10116  	return s
 10117  }
 10118  
 10119  // SetBitstreamMode sets the BitstreamMode field's value.
 10120  func (s *Eac3Settings) SetBitstreamMode(v string) *Eac3Settings {
 10121  	s.BitstreamMode = &v
 10122  	return s
 10123  }
 10124  
 10125  // SetCodingMode sets the CodingMode field's value.
 10126  func (s *Eac3Settings) SetCodingMode(v string) *Eac3Settings {
 10127  	s.CodingMode = &v
 10128  	return s
 10129  }
 10130  
 10131  // SetDcFilter sets the DcFilter field's value.
 10132  func (s *Eac3Settings) SetDcFilter(v string) *Eac3Settings {
 10133  	s.DcFilter = &v
 10134  	return s
 10135  }
 10136  
 10137  // SetDialnorm sets the Dialnorm field's value.
 10138  func (s *Eac3Settings) SetDialnorm(v int64) *Eac3Settings {
 10139  	s.Dialnorm = &v
 10140  	return s
 10141  }
 10142  
 10143  // SetDynamicRangeCompressionLine sets the DynamicRangeCompressionLine field's value.
 10144  func (s *Eac3Settings) SetDynamicRangeCompressionLine(v string) *Eac3Settings {
 10145  	s.DynamicRangeCompressionLine = &v
 10146  	return s
 10147  }
 10148  
 10149  // SetDynamicRangeCompressionRf sets the DynamicRangeCompressionRf field's value.
 10150  func (s *Eac3Settings) SetDynamicRangeCompressionRf(v string) *Eac3Settings {
 10151  	s.DynamicRangeCompressionRf = &v
 10152  	return s
 10153  }
 10154  
 10155  // SetLfeControl sets the LfeControl field's value.
 10156  func (s *Eac3Settings) SetLfeControl(v string) *Eac3Settings {
 10157  	s.LfeControl = &v
 10158  	return s
 10159  }
 10160  
 10161  // SetLfeFilter sets the LfeFilter field's value.
 10162  func (s *Eac3Settings) SetLfeFilter(v string) *Eac3Settings {
 10163  	s.LfeFilter = &v
 10164  	return s
 10165  }
 10166  
 10167  // SetLoRoCenterMixLevel sets the LoRoCenterMixLevel field's value.
 10168  func (s *Eac3Settings) SetLoRoCenterMixLevel(v float64) *Eac3Settings {
 10169  	s.LoRoCenterMixLevel = &v
 10170  	return s
 10171  }
 10172  
 10173  // SetLoRoSurroundMixLevel sets the LoRoSurroundMixLevel field's value.
 10174  func (s *Eac3Settings) SetLoRoSurroundMixLevel(v float64) *Eac3Settings {
 10175  	s.LoRoSurroundMixLevel = &v
 10176  	return s
 10177  }
 10178  
 10179  // SetLtRtCenterMixLevel sets the LtRtCenterMixLevel field's value.
 10180  func (s *Eac3Settings) SetLtRtCenterMixLevel(v float64) *Eac3Settings {
 10181  	s.LtRtCenterMixLevel = &v
 10182  	return s
 10183  }
 10184  
 10185  // SetLtRtSurroundMixLevel sets the LtRtSurroundMixLevel field's value.
 10186  func (s *Eac3Settings) SetLtRtSurroundMixLevel(v float64) *Eac3Settings {
 10187  	s.LtRtSurroundMixLevel = &v
 10188  	return s
 10189  }
 10190  
 10191  // SetMetadataControl sets the MetadataControl field's value.
 10192  func (s *Eac3Settings) SetMetadataControl(v string) *Eac3Settings {
 10193  	s.MetadataControl = &v
 10194  	return s
 10195  }
 10196  
 10197  // SetPassthroughControl sets the PassthroughControl field's value.
 10198  func (s *Eac3Settings) SetPassthroughControl(v string) *Eac3Settings {
 10199  	s.PassthroughControl = &v
 10200  	return s
 10201  }
 10202  
 10203  // SetPhaseControl sets the PhaseControl field's value.
 10204  func (s *Eac3Settings) SetPhaseControl(v string) *Eac3Settings {
 10205  	s.PhaseControl = &v
 10206  	return s
 10207  }
 10208  
 10209  // SetSampleRate sets the SampleRate field's value.
 10210  func (s *Eac3Settings) SetSampleRate(v int64) *Eac3Settings {
 10211  	s.SampleRate = &v
 10212  	return s
 10213  }
 10214  
 10215  // SetStereoDownmix sets the StereoDownmix field's value.
 10216  func (s *Eac3Settings) SetStereoDownmix(v string) *Eac3Settings {
 10217  	s.StereoDownmix = &v
 10218  	return s
 10219  }
 10220  
 10221  // SetSurroundExMode sets the SurroundExMode field's value.
 10222  func (s *Eac3Settings) SetSurroundExMode(v string) *Eac3Settings {
 10223  	s.SurroundExMode = &v
 10224  	return s
 10225  }
 10226  
 10227  // SetSurroundMode sets the SurroundMode field's value.
 10228  func (s *Eac3Settings) SetSurroundMode(v string) *Eac3Settings {
 10229  	s.SurroundMode = &v
 10230  	return s
 10231  }
 10232  
 10233  // Settings related to CEA/EIA-608 and CEA/EIA-708 (also called embedded or
 10234  // ancillary) captions. Set up embedded captions in the same output as your
 10235  // video. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/embedded-output-captions.html.
 10236  // When you work directly in your JSON job specification, include this object
 10237  // and any required children when you set destinationType to EMBEDDED, EMBEDDED_PLUS_SCTE20,
 10238  // or SCTE20_PLUS_EMBEDDED.
 10239  type EmbeddedDestinationSettings struct {
 10240  	_ struct{} `type:"structure"`
 10241  
 10242  	// Ignore this setting unless your input captions are SCC format and your output
 10243  	// captions are embedded in the video stream. Specify a CC number for each captions
 10244  	// channel in this output. If you have two channels, choose CC numbers that
 10245  	// aren't in the same field. For example, choose 1 and 3. For more information,
 10246  	// see https://docs.aws.amazon.com/console/mediaconvert/dual-scc-to-embedded.
 10247  	Destination608ChannelNumber *int64 `locationName:"destination608ChannelNumber" min:"1" type:"integer"`
 10248  
 10249  	// Ignore this setting unless your input captions are SCC format and you want
 10250  	// both 608 and 708 captions embedded in your output stream. Optionally, specify
 10251  	// the 708 service number for each output captions channel. Choose a different
 10252  	// number for each channel. To use this setting, also set Force 608 to 708 upconvert
 10253  	// (Convert608To708) to Upconvert (UPCONVERT) in your input captions selector
 10254  	// settings. If you choose to upconvert but don't specify a 708 service number,
 10255  	// MediaConvert uses the number that you specify for CC channel number (destination608ChannelNumber)
 10256  	// for the 708 service number. For more information, see https://docs.aws.amazon.com/console/mediaconvert/dual-scc-to-embedded.
 10257  	Destination708ServiceNumber *int64 `locationName:"destination708ServiceNumber" min:"1" type:"integer"`
 10258  }
 10259  
 10260  // String returns the string representation.
 10261  //
 10262  // API parameter values that are decorated as "sensitive" in the API will not
 10263  // be included in the string output. The member name will be present, but the
 10264  // value will be replaced with "sensitive".
 10265  func (s EmbeddedDestinationSettings) String() string {
 10266  	return awsutil.Prettify(s)
 10267  }
 10268  
 10269  // GoString returns the string representation.
 10270  //
 10271  // API parameter values that are decorated as "sensitive" in the API will not
 10272  // be included in the string output. The member name will be present, but the
 10273  // value will be replaced with "sensitive".
 10274  func (s EmbeddedDestinationSettings) GoString() string {
 10275  	return s.String()
 10276  }
 10277  
 10278  // Validate inspects the fields of the type to determine if they are valid.
 10279  func (s *EmbeddedDestinationSettings) Validate() error {
 10280  	invalidParams := request.ErrInvalidParams{Context: "EmbeddedDestinationSettings"}
 10281  	if s.Destination608ChannelNumber != nil && *s.Destination608ChannelNumber < 1 {
 10282  		invalidParams.Add(request.NewErrParamMinValue("Destination608ChannelNumber", 1))
 10283  	}
 10284  	if s.Destination708ServiceNumber != nil && *s.Destination708ServiceNumber < 1 {
 10285  		invalidParams.Add(request.NewErrParamMinValue("Destination708ServiceNumber", 1))
 10286  	}
 10287  
 10288  	if invalidParams.Len() > 0 {
 10289  		return invalidParams
 10290  	}
 10291  	return nil
 10292  }
 10293  
 10294  // SetDestination608ChannelNumber sets the Destination608ChannelNumber field's value.
 10295  func (s *EmbeddedDestinationSettings) SetDestination608ChannelNumber(v int64) *EmbeddedDestinationSettings {
 10296  	s.Destination608ChannelNumber = &v
 10297  	return s
 10298  }
 10299  
 10300  // SetDestination708ServiceNumber sets the Destination708ServiceNumber field's value.
 10301  func (s *EmbeddedDestinationSettings) SetDestination708ServiceNumber(v int64) *EmbeddedDestinationSettings {
 10302  	s.Destination708ServiceNumber = &v
 10303  	return s
 10304  }
 10305  
 10306  // Settings for embedded captions Source
 10307  type EmbeddedSourceSettings struct {
 10308  	_ struct{} `type:"structure"`
 10309  
 10310  	// Specify whether this set of input captions appears in your outputs in both
 10311  	// 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes
 10312  	// the captions data in two ways: it passes the 608 data through using the 608
 10313  	// compatibility bytes fields of the 708 wrapper, and it also translates the
 10314  	// 608 data into 708.
 10315  	Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"EmbeddedConvert608To708"`
 10316  
 10317  	// Specifies the 608/708 channel number within the video track from which to
 10318  	// extract captions. Unused for passthrough.
 10319  	Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" min:"1" type:"integer"`
 10320  
 10321  	// Specifies the video track index used for extracting captions. The system
 10322  	// only supports one input video track, so this should always be set to '1'.
 10323  	Source608TrackNumber *int64 `locationName:"source608TrackNumber" min:"1" type:"integer"`
 10324  
 10325  	// By default, the service terminates any unterminated captions at the end of
 10326  	// each input. If you want the caption to continue onto your next input, disable
 10327  	// this setting.
 10328  	TerminateCaptions *string `locationName:"terminateCaptions" type:"string" enum:"EmbeddedTerminateCaptions"`
 10329  }
 10330  
 10331  // String returns the string representation.
 10332  //
 10333  // API parameter values that are decorated as "sensitive" in the API will not
 10334  // be included in the string output. The member name will be present, but the
 10335  // value will be replaced with "sensitive".
 10336  func (s EmbeddedSourceSettings) String() string {
 10337  	return awsutil.Prettify(s)
 10338  }
 10339  
 10340  // GoString returns the string representation.
 10341  //
 10342  // API parameter values that are decorated as "sensitive" in the API will not
 10343  // be included in the string output. The member name will be present, but the
 10344  // value will be replaced with "sensitive".
 10345  func (s EmbeddedSourceSettings) GoString() string {
 10346  	return s.String()
 10347  }
 10348  
 10349  // Validate inspects the fields of the type to determine if they are valid.
 10350  func (s *EmbeddedSourceSettings) Validate() error {
 10351  	invalidParams := request.ErrInvalidParams{Context: "EmbeddedSourceSettings"}
 10352  	if s.Source608ChannelNumber != nil && *s.Source608ChannelNumber < 1 {
 10353  		invalidParams.Add(request.NewErrParamMinValue("Source608ChannelNumber", 1))
 10354  	}
 10355  	if s.Source608TrackNumber != nil && *s.Source608TrackNumber < 1 {
 10356  		invalidParams.Add(request.NewErrParamMinValue("Source608TrackNumber", 1))
 10357  	}
 10358  
 10359  	if invalidParams.Len() > 0 {
 10360  		return invalidParams
 10361  	}
 10362  	return nil
 10363  }
 10364  
 10365  // SetConvert608To708 sets the Convert608To708 field's value.
 10366  func (s *EmbeddedSourceSettings) SetConvert608To708(v string) *EmbeddedSourceSettings {
 10367  	s.Convert608To708 = &v
 10368  	return s
 10369  }
 10370  
 10371  // SetSource608ChannelNumber sets the Source608ChannelNumber field's value.
 10372  func (s *EmbeddedSourceSettings) SetSource608ChannelNumber(v int64) *EmbeddedSourceSettings {
 10373  	s.Source608ChannelNumber = &v
 10374  	return s
 10375  }
 10376  
 10377  // SetSource608TrackNumber sets the Source608TrackNumber field's value.
 10378  func (s *EmbeddedSourceSettings) SetSource608TrackNumber(v int64) *EmbeddedSourceSettings {
 10379  	s.Source608TrackNumber = &v
 10380  	return s
 10381  }
 10382  
 10383  // SetTerminateCaptions sets the TerminateCaptions field's value.
 10384  func (s *EmbeddedSourceSettings) SetTerminateCaptions(v string) *EmbeddedSourceSettings {
 10385  	s.TerminateCaptions = &v
 10386  	return s
 10387  }
 10388  
 10389  // Describes an account-specific API endpoint.
 10390  type Endpoint struct {
 10391  	_ struct{} `type:"structure"`
 10392  
 10393  	// URL of endpoint
 10394  	Url *string `locationName:"url" type:"string"`
 10395  }
 10396  
 10397  // String returns the string representation.
 10398  //
 10399  // API parameter values that are decorated as "sensitive" in the API will not
 10400  // be included in the string output. The member name will be present, but the
 10401  // value will be replaced with "sensitive".
 10402  func (s Endpoint) String() string {
 10403  	return awsutil.Prettify(s)
 10404  }
 10405  
 10406  // GoString returns the string representation.
 10407  //
 10408  // API parameter values that are decorated as "sensitive" in the API will not
 10409  // be included in the string output. The member name will be present, but the
 10410  // value will be replaced with "sensitive".
 10411  func (s Endpoint) GoString() string {
 10412  	return s.String()
 10413  }
 10414  
 10415  // SetUrl sets the Url field's value.
 10416  func (s *Endpoint) SetUrl(v string) *Endpoint {
 10417  	s.Url = &v
 10418  	return s
 10419  }
 10420  
 10421  // ESAM ManifestConfirmConditionNotification defined by OC-SP-ESAM-API-I03-131025.
 10422  type EsamManifestConfirmConditionNotification struct {
 10423  	_ struct{} `type:"structure"`
 10424  
 10425  	// Provide your ESAM ManifestConfirmConditionNotification XML document inside
 10426  	// your JSON job settings. Form the XML document as per OC-SP-ESAM-API-I03-131025.
 10427  	// The transcoder will use the Manifest Conditioning instructions in the message
 10428  	// that you supply.
 10429  	MccXml *string `locationName:"mccXml" type:"string"`
 10430  }
 10431  
 10432  // String returns the string representation.
 10433  //
 10434  // API parameter values that are decorated as "sensitive" in the API will not
 10435  // be included in the string output. The member name will be present, but the
 10436  // value will be replaced with "sensitive".
 10437  func (s EsamManifestConfirmConditionNotification) String() string {
 10438  	return awsutil.Prettify(s)
 10439  }
 10440  
 10441  // GoString returns the string representation.
 10442  //
 10443  // API parameter values that are decorated as "sensitive" in the API will not
 10444  // be included in the string output. The member name will be present, but the
 10445  // value will be replaced with "sensitive".
 10446  func (s EsamManifestConfirmConditionNotification) GoString() string {
 10447  	return s.String()
 10448  }
 10449  
 10450  // SetMccXml sets the MccXml field's value.
 10451  func (s *EsamManifestConfirmConditionNotification) SetMccXml(v string) *EsamManifestConfirmConditionNotification {
 10452  	s.MccXml = &v
 10453  	return s
 10454  }
 10455  
 10456  // Settings for Event Signaling And Messaging (ESAM). If you don't do ad insertion,
 10457  // you can ignore these settings.
 10458  type EsamSettings struct {
 10459  	_ struct{} `type:"structure"`
 10460  
 10461  	// Specifies an ESAM ManifestConfirmConditionNotification XML as per OC-SP-ESAM-API-I03-131025.
 10462  	// The transcoder uses the manifest conditioning instructions that you provide
 10463  	// in the setting MCC XML (mccXml).
 10464  	ManifestConfirmConditionNotification *EsamManifestConfirmConditionNotification `locationName:"manifestConfirmConditionNotification" type:"structure"`
 10465  
 10466  	// Specifies the stream distance, in milliseconds, between the SCTE 35 messages
 10467  	// that the transcoder places and the splice points that they refer to. If the
 10468  	// time between the start of the asset and the SCTE-35 message is less than
 10469  	// this value, then the transcoder places the SCTE-35 marker at the beginning
 10470  	// of the stream.
 10471  	ResponseSignalPreroll *int64 `locationName:"responseSignalPreroll" type:"integer"`
 10472  
 10473  	// Specifies an ESAM SignalProcessingNotification XML as per OC-SP-ESAM-API-I03-131025.
 10474  	// The transcoder uses the signal processing instructions that you provide in
 10475  	// the setting SCC XML (sccXml).
 10476  	SignalProcessingNotification *EsamSignalProcessingNotification `locationName:"signalProcessingNotification" type:"structure"`
 10477  }
 10478  
 10479  // String returns the string representation.
 10480  //
 10481  // API parameter values that are decorated as "sensitive" in the API will not
 10482  // be included in the string output. The member name will be present, but the
 10483  // value will be replaced with "sensitive".
 10484  func (s EsamSettings) String() string {
 10485  	return awsutil.Prettify(s)
 10486  }
 10487  
 10488  // GoString returns the string representation.
 10489  //
 10490  // API parameter values that are decorated as "sensitive" in the API will not
 10491  // be included in the string output. The member name will be present, but the
 10492  // value will be replaced with "sensitive".
 10493  func (s EsamSettings) GoString() string {
 10494  	return s.String()
 10495  }
 10496  
 10497  // SetManifestConfirmConditionNotification sets the ManifestConfirmConditionNotification field's value.
 10498  func (s *EsamSettings) SetManifestConfirmConditionNotification(v *EsamManifestConfirmConditionNotification) *EsamSettings {
 10499  	s.ManifestConfirmConditionNotification = v
 10500  	return s
 10501  }
 10502  
 10503  // SetResponseSignalPreroll sets the ResponseSignalPreroll field's value.
 10504  func (s *EsamSettings) SetResponseSignalPreroll(v int64) *EsamSettings {
 10505  	s.ResponseSignalPreroll = &v
 10506  	return s
 10507  }
 10508  
 10509  // SetSignalProcessingNotification sets the SignalProcessingNotification field's value.
 10510  func (s *EsamSettings) SetSignalProcessingNotification(v *EsamSignalProcessingNotification) *EsamSettings {
 10511  	s.SignalProcessingNotification = v
 10512  	return s
 10513  }
 10514  
 10515  // ESAM SignalProcessingNotification data defined by OC-SP-ESAM-API-I03-131025.
 10516  type EsamSignalProcessingNotification struct {
 10517  	_ struct{} `type:"structure"`
 10518  
 10519  	// Provide your ESAM SignalProcessingNotification XML document inside your JSON
 10520  	// job settings. Form the XML document as per OC-SP-ESAM-API-I03-131025. The
 10521  	// transcoder will use the signal processing instructions in the message that
 10522  	// you supply. Provide your ESAM SignalProcessingNotification XML document inside
 10523  	// your JSON job settings. For your MPEG2-TS file outputs, if you want the service
 10524  	// to place SCTE-35 markers at the insertion points you specify in the XML document,
 10525  	// you must also enable SCTE-35 ESAM (scte35Esam). Note that you can either
 10526  	// specify an ESAM XML document or enable SCTE-35 passthrough. You can't do
 10527  	// both.
 10528  	SccXml *string `locationName:"sccXml" type:"string"`
 10529  }
 10530  
 10531  // String returns the string representation.
 10532  //
 10533  // API parameter values that are decorated as "sensitive" in the API will not
 10534  // be included in the string output. The member name will be present, but the
 10535  // value will be replaced with "sensitive".
 10536  func (s EsamSignalProcessingNotification) String() string {
 10537  	return awsutil.Prettify(s)
 10538  }
 10539  
 10540  // GoString returns the string representation.
 10541  //
 10542  // API parameter values that are decorated as "sensitive" in the API will not
 10543  // be included in the string output. The member name will be present, but the
 10544  // value will be replaced with "sensitive".
 10545  func (s EsamSignalProcessingNotification) GoString() string {
 10546  	return s.String()
 10547  }
 10548  
 10549  // SetSccXml sets the SccXml field's value.
 10550  func (s *EsamSignalProcessingNotification) SetSccXml(v string) *EsamSignalProcessingNotification {
 10551  	s.SccXml = &v
 10552  	return s
 10553  }
 10554  
 10555  // If your source content has EIA-608 Line 21 Data Services, enable this feature
 10556  // to specify what MediaConvert does with the Extended Data Services (XDS) packets.
 10557  // You can choose to pass through XDS packets, or remove them from the output.
 10558  // For more information about XDS, see EIA-608 Line Data Services, section 9.5.1.5
 10559  // 05h Content Advisory.
 10560  type ExtendedDataServices struct {
 10561  	_ struct{} `type:"structure"`
 10562  
 10563  	// The action to take on copy and redistribution control XDS packets. If you
 10564  	// select PASSTHROUGH, packets will not be changed. If you select STRIP, any
 10565  	// packets will be removed in output captions.
 10566  	CopyProtectionAction *string `locationName:"copyProtectionAction" type:"string" enum:"CopyProtectionAction"`
 10567  
 10568  	// The action to take on content advisory XDS packets. If you select PASSTHROUGH,
 10569  	// packets will not be changed. If you select STRIP, any packets will be removed
 10570  	// in output captions.
 10571  	VchipAction *string `locationName:"vchipAction" type:"string" enum:"VchipAction"`
 10572  }
 10573  
 10574  // String returns the string representation.
 10575  //
 10576  // API parameter values that are decorated as "sensitive" in the API will not
 10577  // be included in the string output. The member name will be present, but the
 10578  // value will be replaced with "sensitive".
 10579  func (s ExtendedDataServices) String() string {
 10580  	return awsutil.Prettify(s)
 10581  }
 10582  
 10583  // GoString returns the string representation.
 10584  //
 10585  // API parameter values that are decorated as "sensitive" in the API will not
 10586  // be included in the string output. The member name will be present, but the
 10587  // value will be replaced with "sensitive".
 10588  func (s ExtendedDataServices) GoString() string {
 10589  	return s.String()
 10590  }
 10591  
 10592  // SetCopyProtectionAction sets the CopyProtectionAction field's value.
 10593  func (s *ExtendedDataServices) SetCopyProtectionAction(v string) *ExtendedDataServices {
 10594  	s.CopyProtectionAction = &v
 10595  	return s
 10596  }
 10597  
 10598  // SetVchipAction sets the VchipAction field's value.
 10599  func (s *ExtendedDataServices) SetVchipAction(v string) *ExtendedDataServices {
 10600  	s.VchipAction = &v
 10601  	return s
 10602  }
 10603  
 10604  // Settings for F4v container
 10605  type F4vSettings struct {
 10606  	_ struct{} `type:"structure"`
 10607  
 10608  	// If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning
 10609  	// of the archive as required for progressive downloading. Otherwise it is placed
 10610  	// normally at the end.
 10611  	MoovPlacement *string `locationName:"moovPlacement" type:"string" enum:"F4vMoovPlacement"`
 10612  }
 10613  
 10614  // String returns the string representation.
 10615  //
 10616  // API parameter values that are decorated as "sensitive" in the API will not
 10617  // be included in the string output. The member name will be present, but the
 10618  // value will be replaced with "sensitive".
 10619  func (s F4vSettings) String() string {
 10620  	return awsutil.Prettify(s)
 10621  }
 10622  
 10623  // GoString returns the string representation.
 10624  //
 10625  // API parameter values that are decorated as "sensitive" in the API will not
 10626  // be included in the string output. The member name will be present, but the
 10627  // value will be replaced with "sensitive".
 10628  func (s F4vSettings) GoString() string {
 10629  	return s.String()
 10630  }
 10631  
 10632  // SetMoovPlacement sets the MoovPlacement field's value.
 10633  func (s *F4vSettings) SetMoovPlacement(v string) *F4vSettings {
 10634  	s.MoovPlacement = &v
 10635  	return s
 10636  }
 10637  
 10638  // Settings related to your File output group. MediaConvert uses this group
 10639  // of settings to generate a single standalone file, rather than a streaming
 10640  // package. When you work directly in your JSON job specification, include this
 10641  // object and any required children when you set Type, under OutputGroupSettings,
 10642  // to FILE_GROUP_SETTINGS.
 10643  type FileGroupSettings struct {
 10644  	_ struct{} `type:"structure"`
 10645  
 10646  	// Use Destination (Destination) to specify the S3 output location and the output
 10647  	// filename base. Destination accepts format identifiers. If you do not specify
 10648  	// the base filename in the URI, the service will use the filename of the input
 10649  	// file. If your job has multiple inputs, the service uses the filename of the
 10650  	// first input file.
 10651  	Destination *string `locationName:"destination" type:"string"`
 10652  
 10653  	// Settings associated with the destination. Will vary based on the type of
 10654  	// destination
 10655  	DestinationSettings *DestinationSettings `locationName:"destinationSettings" type:"structure"`
 10656  }
 10657  
 10658  // String returns the string representation.
 10659  //
 10660  // API parameter values that are decorated as "sensitive" in the API will not
 10661  // be included in the string output. The member name will be present, but the
 10662  // value will be replaced with "sensitive".
 10663  func (s FileGroupSettings) String() string {
 10664  	return awsutil.Prettify(s)
 10665  }
 10666  
 10667  // GoString returns the string representation.
 10668  //
 10669  // API parameter values that are decorated as "sensitive" in the API will not
 10670  // be included in the string output. The member name will be present, but the
 10671  // value will be replaced with "sensitive".
 10672  func (s FileGroupSettings) GoString() string {
 10673  	return s.String()
 10674  }
 10675  
 10676  // SetDestination sets the Destination field's value.
 10677  func (s *FileGroupSettings) SetDestination(v string) *FileGroupSettings {
 10678  	s.Destination = &v
 10679  	return s
 10680  }
 10681  
 10682  // SetDestinationSettings sets the DestinationSettings field's value.
 10683  func (s *FileGroupSettings) SetDestinationSettings(v *DestinationSettings) *FileGroupSettings {
 10684  	s.DestinationSettings = v
 10685  	return s
 10686  }
 10687  
 10688  // If your input captions are SCC, SMI, SRT, STL, TTML, WebVTT, or IMSC 1.1
 10689  // in an xml file, specify the URI of the input caption source file. If your
 10690  // caption source is IMSC in an IMF package, use TrackSourceSettings instead
 10691  // of FileSoureSettings.
 10692  type FileSourceSettings struct {
 10693  	_ struct{} `type:"structure"`
 10694  
 10695  	// Specify whether this set of input captions appears in your outputs in both
 10696  	// 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes
 10697  	// the captions data in two ways: it passes the 608 data through using the 608
 10698  	// compatibility bytes fields of the 708 wrapper, and it also translates the
 10699  	// 608 data into 708.
 10700  	Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"FileSourceConvert608To708"`
 10701  
 10702  	// Ignore this setting unless your input captions format is SCC. To have the
 10703  	// service compensate for differing frame rates between your input captions
 10704  	// and input video, specify the frame rate of the captions file. Specify this
 10705  	// value as a fraction, using the settings Framerate numerator (framerateNumerator)
 10706  	// and Framerate denominator (framerateDenominator). For example, you might
 10707  	// specify 24 / 1 for 24 fps, 25 / 1 for 25 fps, 24000 / 1001 for 23.976 fps,
 10708  	// or 30000 / 1001 for 29.97 fps.
 10709  	Framerate *CaptionSourceFramerate `locationName:"framerate" type:"structure"`
 10710  
 10711  	// External caption file used for loading captions. Accepted file extensions
 10712  	// are 'scc', 'ttml', 'dfxp', 'stl', 'srt', 'xml', 'smi', 'webvtt', and 'vtt'.
 10713  	SourceFile *string `locationName:"sourceFile" min:"14" type:"string"`
 10714  
 10715  	// Specifies a time delta in seconds to offset the captions from the source
 10716  	// file.
 10717  	TimeDelta *int64 `locationName:"timeDelta" type:"integer"`
 10718  }
 10719  
 10720  // String returns the string representation.
 10721  //
 10722  // API parameter values that are decorated as "sensitive" in the API will not
 10723  // be included in the string output. The member name will be present, but the
 10724  // value will be replaced with "sensitive".
 10725  func (s FileSourceSettings) String() string {
 10726  	return awsutil.Prettify(s)
 10727  }
 10728  
 10729  // GoString returns the string representation.
 10730  //
 10731  // API parameter values that are decorated as "sensitive" in the API will not
 10732  // be included in the string output. The member name will be present, but the
 10733  // value will be replaced with "sensitive".
 10734  func (s FileSourceSettings) GoString() string {
 10735  	return s.String()
 10736  }
 10737  
 10738  // Validate inspects the fields of the type to determine if they are valid.
 10739  func (s *FileSourceSettings) Validate() error {
 10740  	invalidParams := request.ErrInvalidParams{Context: "FileSourceSettings"}
 10741  	if s.SourceFile != nil && len(*s.SourceFile) < 14 {
 10742  		invalidParams.Add(request.NewErrParamMinLen("SourceFile", 14))
 10743  	}
 10744  	if s.TimeDelta != nil && *s.TimeDelta < -2.147483648e+09 {
 10745  		invalidParams.Add(request.NewErrParamMinValue("TimeDelta", -2.147483648e+09))
 10746  	}
 10747  	if s.Framerate != nil {
 10748  		if err := s.Framerate.Validate(); err != nil {
 10749  			invalidParams.AddNested("Framerate", err.(request.ErrInvalidParams))
 10750  		}
 10751  	}
 10752  
 10753  	if invalidParams.Len() > 0 {
 10754  		return invalidParams
 10755  	}
 10756  	return nil
 10757  }
 10758  
 10759  // SetConvert608To708 sets the Convert608To708 field's value.
 10760  func (s *FileSourceSettings) SetConvert608To708(v string) *FileSourceSettings {
 10761  	s.Convert608To708 = &v
 10762  	return s
 10763  }
 10764  
 10765  // SetFramerate sets the Framerate field's value.
 10766  func (s *FileSourceSettings) SetFramerate(v *CaptionSourceFramerate) *FileSourceSettings {
 10767  	s.Framerate = v
 10768  	return s
 10769  }
 10770  
 10771  // SetSourceFile sets the SourceFile field's value.
 10772  func (s *FileSourceSettings) SetSourceFile(v string) *FileSourceSettings {
 10773  	s.SourceFile = &v
 10774  	return s
 10775  }
 10776  
 10777  // SetTimeDelta sets the TimeDelta field's value.
 10778  func (s *FileSourceSettings) SetTimeDelta(v int64) *FileSourceSettings {
 10779  	s.TimeDelta = &v
 10780  	return s
 10781  }
 10782  
 10783  type ForbiddenException struct {
 10784  	_            struct{}                  `type:"structure"`
 10785  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10786  
 10787  	Message_ *string `locationName:"message" type:"string"`
 10788  }
 10789  
 10790  // String returns the string representation.
 10791  //
 10792  // API parameter values that are decorated as "sensitive" in the API will not
 10793  // be included in the string output. The member name will be present, but the
 10794  // value will be replaced with "sensitive".
 10795  func (s ForbiddenException) String() string {
 10796  	return awsutil.Prettify(s)
 10797  }
 10798  
 10799  // GoString returns the string representation.
 10800  //
 10801  // API parameter values that are decorated as "sensitive" in the API will not
 10802  // be included in the string output. The member name will be present, but the
 10803  // value will be replaced with "sensitive".
 10804  func (s ForbiddenException) GoString() string {
 10805  	return s.String()
 10806  }
 10807  
 10808  func newErrorForbiddenException(v protocol.ResponseMetadata) error {
 10809  	return &ForbiddenException{
 10810  		RespMetadata: v,
 10811  	}
 10812  }
 10813  
 10814  // Code returns the exception type name.
 10815  func (s *ForbiddenException) Code() string {
 10816  	return "ForbiddenException"
 10817  }
 10818  
 10819  // Message returns the exception's message.
 10820  func (s *ForbiddenException) Message() string {
 10821  	if s.Message_ != nil {
 10822  		return *s.Message_
 10823  	}
 10824  	return ""
 10825  }
 10826  
 10827  // OrigErr always returns nil, satisfies awserr.Error interface.
 10828  func (s *ForbiddenException) OrigErr() error {
 10829  	return nil
 10830  }
 10831  
 10832  func (s *ForbiddenException) Error() string {
 10833  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10834  }
 10835  
 10836  // Status code returns the HTTP status code for the request's response error.
 10837  func (s *ForbiddenException) StatusCode() int {
 10838  	return s.RespMetadata.StatusCode
 10839  }
 10840  
 10841  // RequestID returns the service's response RequestID for request.
 10842  func (s *ForbiddenException) RequestID() string {
 10843  	return s.RespMetadata.RequestID
 10844  }
 10845  
 10846  // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
 10847  // the value FRAME_CAPTURE.
 10848  type FrameCaptureSettings struct {
 10849  	_ struct{} `type:"structure"`
 10850  
 10851  	// Frame capture will encode the first frame of the output stream, then one
 10852  	// frame every framerateDenominator/framerateNumerator seconds. For example,
 10853  	// settings of framerateNumerator = 1 and framerateDenominator = 3 (a rate of
 10854  	// 1/3 frame per second) will capture the first frame, then 1 frame every 3s.
 10855  	// Files will be named as filename.n.jpg where n is the 0-based sequence number
 10856  	// of each Capture.
 10857  	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
 10858  
 10859  	// Frame capture will encode the first frame of the output stream, then one
 10860  	// frame every framerateDenominator/framerateNumerator seconds. For example,
 10861  	// settings of framerateNumerator = 1 and framerateDenominator = 3 (a rate of
 10862  	// 1/3 frame per second) will capture the first frame, then 1 frame every 3s.
 10863  	// Files will be named as filename.NNNNNNN.jpg where N is the 0-based frame
 10864  	// sequence number zero padded to 7 decimal places.
 10865  	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"`
 10866  
 10867  	// Maximum number of captures (encoded jpg output files).
 10868  	MaxCaptures *int64 `locationName:"maxCaptures" min:"1" type:"integer"`
 10869  
 10870  	// JPEG Quality - a higher value equals higher quality.
 10871  	Quality *int64 `locationName:"quality" min:"1" type:"integer"`
 10872  }
 10873  
 10874  // String returns the string representation.
 10875  //
 10876  // API parameter values that are decorated as "sensitive" in the API will not
 10877  // be included in the string output. The member name will be present, but the
 10878  // value will be replaced with "sensitive".
 10879  func (s FrameCaptureSettings) String() string {
 10880  	return awsutil.Prettify(s)
 10881  }
 10882  
 10883  // GoString returns the string representation.
 10884  //
 10885  // API parameter values that are decorated as "sensitive" in the API will not
 10886  // be included in the string output. The member name will be present, but the
 10887  // value will be replaced with "sensitive".
 10888  func (s FrameCaptureSettings) GoString() string {
 10889  	return s.String()
 10890  }
 10891  
 10892  // Validate inspects the fields of the type to determine if they are valid.
 10893  func (s *FrameCaptureSettings) Validate() error {
 10894  	invalidParams := request.ErrInvalidParams{Context: "FrameCaptureSettings"}
 10895  	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
 10896  		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
 10897  	}
 10898  	if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 {
 10899  		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1))
 10900  	}
 10901  	if s.MaxCaptures != nil && *s.MaxCaptures < 1 {
 10902  		invalidParams.Add(request.NewErrParamMinValue("MaxCaptures", 1))
 10903  	}
 10904  	if s.Quality != nil && *s.Quality < 1 {
 10905  		invalidParams.Add(request.NewErrParamMinValue("Quality", 1))
 10906  	}
 10907  
 10908  	if invalidParams.Len() > 0 {
 10909  		return invalidParams
 10910  	}
 10911  	return nil
 10912  }
 10913  
 10914  // SetFramerateDenominator sets the FramerateDenominator field's value.
 10915  func (s *FrameCaptureSettings) SetFramerateDenominator(v int64) *FrameCaptureSettings {
 10916  	s.FramerateDenominator = &v
 10917  	return s
 10918  }
 10919  
 10920  // SetFramerateNumerator sets the FramerateNumerator field's value.
 10921  func (s *FrameCaptureSettings) SetFramerateNumerator(v int64) *FrameCaptureSettings {
 10922  	s.FramerateNumerator = &v
 10923  	return s
 10924  }
 10925  
 10926  // SetMaxCaptures sets the MaxCaptures field's value.
 10927  func (s *FrameCaptureSettings) SetMaxCaptures(v int64) *FrameCaptureSettings {
 10928  	s.MaxCaptures = &v
 10929  	return s
 10930  }
 10931  
 10932  // SetQuality sets the Quality field's value.
 10933  func (s *FrameCaptureSettings) SetQuality(v int64) *FrameCaptureSettings {
 10934  	s.Quality = &v
 10935  	return s
 10936  }
 10937  
 10938  // Query a job by sending a request with the job ID.
 10939  type GetJobInput struct {
 10940  	_ struct{} `type:"structure" nopayload:"true"`
 10941  
 10942  	// the job ID of the job.
 10943  	//
 10944  	// Id is a required field
 10945  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
 10946  }
 10947  
 10948  // String returns the string representation.
 10949  //
 10950  // API parameter values that are decorated as "sensitive" in the API will not
 10951  // be included in the string output. The member name will be present, but the
 10952  // value will be replaced with "sensitive".
 10953  func (s GetJobInput) String() string {
 10954  	return awsutil.Prettify(s)
 10955  }
 10956  
 10957  // GoString returns the string representation.
 10958  //
 10959  // API parameter values that are decorated as "sensitive" in the API will not
 10960  // be included in the string output. The member name will be present, but the
 10961  // value will be replaced with "sensitive".
 10962  func (s GetJobInput) GoString() string {
 10963  	return s.String()
 10964  }
 10965  
 10966  // Validate inspects the fields of the type to determine if they are valid.
 10967  func (s *GetJobInput) Validate() error {
 10968  	invalidParams := request.ErrInvalidParams{Context: "GetJobInput"}
 10969  	if s.Id == nil {
 10970  		invalidParams.Add(request.NewErrParamRequired("Id"))
 10971  	}
 10972  	if s.Id != nil && len(*s.Id) < 1 {
 10973  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 10974  	}
 10975  
 10976  	if invalidParams.Len() > 0 {
 10977  		return invalidParams
 10978  	}
 10979  	return nil
 10980  }
 10981  
 10982  // SetId sets the Id field's value.
 10983  func (s *GetJobInput) SetId(v string) *GetJobInput {
 10984  	s.Id = &v
 10985  	return s
 10986  }
 10987  
 10988  // Successful get job requests will return an OK message and the job JSON.
 10989  type GetJobOutput struct {
 10990  	_ struct{} `type:"structure"`
 10991  
 10992  	// Each job converts an input file into an output file or files. For more information,
 10993  	// see the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
 10994  	Job *Job `locationName:"job" type:"structure"`
 10995  }
 10996  
 10997  // String returns the string representation.
 10998  //
 10999  // API parameter values that are decorated as "sensitive" in the API will not
 11000  // be included in the string output. The member name will be present, but the
 11001  // value will be replaced with "sensitive".
 11002  func (s GetJobOutput) String() string {
 11003  	return awsutil.Prettify(s)
 11004  }
 11005  
 11006  // GoString returns the string representation.
 11007  //
 11008  // API parameter values that are decorated as "sensitive" in the API will not
 11009  // be included in the string output. The member name will be present, but the
 11010  // value will be replaced with "sensitive".
 11011  func (s GetJobOutput) GoString() string {
 11012  	return s.String()
 11013  }
 11014  
 11015  // SetJob sets the Job field's value.
 11016  func (s *GetJobOutput) SetJob(v *Job) *GetJobOutput {
 11017  	s.Job = v
 11018  	return s
 11019  }
 11020  
 11021  // Query a job template by sending a request with the job template name.
 11022  type GetJobTemplateInput struct {
 11023  	_ struct{} `type:"structure" nopayload:"true"`
 11024  
 11025  	// The name of the job template.
 11026  	//
 11027  	// Name is a required field
 11028  	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
 11029  }
 11030  
 11031  // String returns the string representation.
 11032  //
 11033  // API parameter values that are decorated as "sensitive" in the API will not
 11034  // be included in the string output. The member name will be present, but the
 11035  // value will be replaced with "sensitive".
 11036  func (s GetJobTemplateInput) String() string {
 11037  	return awsutil.Prettify(s)
 11038  }
 11039  
 11040  // GoString returns the string representation.
 11041  //
 11042  // API parameter values that are decorated as "sensitive" in the API will not
 11043  // be included in the string output. The member name will be present, but the
 11044  // value will be replaced with "sensitive".
 11045  func (s GetJobTemplateInput) GoString() string {
 11046  	return s.String()
 11047  }
 11048  
 11049  // Validate inspects the fields of the type to determine if they are valid.
 11050  func (s *GetJobTemplateInput) Validate() error {
 11051  	invalidParams := request.ErrInvalidParams{Context: "GetJobTemplateInput"}
 11052  	if s.Name == nil {
 11053  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11054  	}
 11055  	if s.Name != nil && len(*s.Name) < 1 {
 11056  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11057  	}
 11058  
 11059  	if invalidParams.Len() > 0 {
 11060  		return invalidParams
 11061  	}
 11062  	return nil
 11063  }
 11064  
 11065  // SetName sets the Name field's value.
 11066  func (s *GetJobTemplateInput) SetName(v string) *GetJobTemplateInput {
 11067  	s.Name = &v
 11068  	return s
 11069  }
 11070  
 11071  // Successful get job template requests will return an OK message and the job
 11072  // template JSON.
 11073  type GetJobTemplateOutput struct {
 11074  	_ struct{} `type:"structure"`
 11075  
 11076  	// A job template is a pre-made set of encoding instructions that you can use
 11077  	// to quickly create a job.
 11078  	JobTemplate *JobTemplate `locationName:"jobTemplate" type:"structure"`
 11079  }
 11080  
 11081  // String returns the string representation.
 11082  //
 11083  // API parameter values that are decorated as "sensitive" in the API will not
 11084  // be included in the string output. The member name will be present, but the
 11085  // value will be replaced with "sensitive".
 11086  func (s GetJobTemplateOutput) String() string {
 11087  	return awsutil.Prettify(s)
 11088  }
 11089  
 11090  // GoString returns the string representation.
 11091  //
 11092  // API parameter values that are decorated as "sensitive" in the API will not
 11093  // be included in the string output. The member name will be present, but the
 11094  // value will be replaced with "sensitive".
 11095  func (s GetJobTemplateOutput) GoString() string {
 11096  	return s.String()
 11097  }
 11098  
 11099  // SetJobTemplate sets the JobTemplate field's value.
 11100  func (s *GetJobTemplateOutput) SetJobTemplate(v *JobTemplate) *GetJobTemplateOutput {
 11101  	s.JobTemplate = v
 11102  	return s
 11103  }
 11104  
 11105  // Send a request to retrieve the JSON for your policy.
 11106  type GetPolicyInput struct {
 11107  	_ struct{} `type:"structure" nopayload:"true"`
 11108  }
 11109  
 11110  // String returns the string representation.
 11111  //
 11112  // API parameter values that are decorated as "sensitive" in the API will not
 11113  // be included in the string output. The member name will be present, but the
 11114  // value will be replaced with "sensitive".
 11115  func (s GetPolicyInput) String() string {
 11116  	return awsutil.Prettify(s)
 11117  }
 11118  
 11119  // GoString returns the string representation.
 11120  //
 11121  // API parameter values that are decorated as "sensitive" in the API will not
 11122  // be included in the string output. The member name will be present, but the
 11123  // value will be replaced with "sensitive".
 11124  func (s GetPolicyInput) GoString() string {
 11125  	return s.String()
 11126  }
 11127  
 11128  // Successful GET policy requests will return the JSON for your policy.
 11129  type GetPolicyOutput struct {
 11130  	_ struct{} `type:"structure"`
 11131  
 11132  	// A policy configures behavior that you allow or disallow for your account.
 11133  	// For information about MediaConvert policies, see the user guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
 11134  	Policy *Policy `locationName:"policy" type:"structure"`
 11135  }
 11136  
 11137  // String returns the string representation.
 11138  //
 11139  // API parameter values that are decorated as "sensitive" in the API will not
 11140  // be included in the string output. The member name will be present, but the
 11141  // value will be replaced with "sensitive".
 11142  func (s GetPolicyOutput) String() string {
 11143  	return awsutil.Prettify(s)
 11144  }
 11145  
 11146  // GoString returns the string representation.
 11147  //
 11148  // API parameter values that are decorated as "sensitive" in the API will not
 11149  // be included in the string output. The member name will be present, but the
 11150  // value will be replaced with "sensitive".
 11151  func (s GetPolicyOutput) GoString() string {
 11152  	return s.String()
 11153  }
 11154  
 11155  // SetPolicy sets the Policy field's value.
 11156  func (s *GetPolicyOutput) SetPolicy(v *Policy) *GetPolicyOutput {
 11157  	s.Policy = v
 11158  	return s
 11159  }
 11160  
 11161  // Query a preset by sending a request with the preset name.
 11162  type GetPresetInput struct {
 11163  	_ struct{} `type:"structure" nopayload:"true"`
 11164  
 11165  	// The name of the preset.
 11166  	//
 11167  	// Name is a required field
 11168  	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
 11169  }
 11170  
 11171  // String returns the string representation.
 11172  //
 11173  // API parameter values that are decorated as "sensitive" in the API will not
 11174  // be included in the string output. The member name will be present, but the
 11175  // value will be replaced with "sensitive".
 11176  func (s GetPresetInput) String() string {
 11177  	return awsutil.Prettify(s)
 11178  }
 11179  
 11180  // GoString returns the string representation.
 11181  //
 11182  // API parameter values that are decorated as "sensitive" in the API will not
 11183  // be included in the string output. The member name will be present, but the
 11184  // value will be replaced with "sensitive".
 11185  func (s GetPresetInput) GoString() string {
 11186  	return s.String()
 11187  }
 11188  
 11189  // Validate inspects the fields of the type to determine if they are valid.
 11190  func (s *GetPresetInput) Validate() error {
 11191  	invalidParams := request.ErrInvalidParams{Context: "GetPresetInput"}
 11192  	if s.Name == nil {
 11193  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11194  	}
 11195  	if s.Name != nil && len(*s.Name) < 1 {
 11196  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11197  	}
 11198  
 11199  	if invalidParams.Len() > 0 {
 11200  		return invalidParams
 11201  	}
 11202  	return nil
 11203  }
 11204  
 11205  // SetName sets the Name field's value.
 11206  func (s *GetPresetInput) SetName(v string) *GetPresetInput {
 11207  	s.Name = &v
 11208  	return s
 11209  }
 11210  
 11211  // Successful get preset requests will return an OK message and the preset JSON.
 11212  type GetPresetOutput struct {
 11213  	_ struct{} `type:"structure"`
 11214  
 11215  	// A preset is a collection of preconfigured media conversion settings that
 11216  	// you want MediaConvert to apply to the output during the conversion process.
 11217  	Preset *Preset `locationName:"preset" type:"structure"`
 11218  }
 11219  
 11220  // String returns the string representation.
 11221  //
 11222  // API parameter values that are decorated as "sensitive" in the API will not
 11223  // be included in the string output. The member name will be present, but the
 11224  // value will be replaced with "sensitive".
 11225  func (s GetPresetOutput) String() string {
 11226  	return awsutil.Prettify(s)
 11227  }
 11228  
 11229  // GoString returns the string representation.
 11230  //
 11231  // API parameter values that are decorated as "sensitive" in the API will not
 11232  // be included in the string output. The member name will be present, but the
 11233  // value will be replaced with "sensitive".
 11234  func (s GetPresetOutput) GoString() string {
 11235  	return s.String()
 11236  }
 11237  
 11238  // SetPreset sets the Preset field's value.
 11239  func (s *GetPresetOutput) SetPreset(v *Preset) *GetPresetOutput {
 11240  	s.Preset = v
 11241  	return s
 11242  }
 11243  
 11244  // Get information about a queue by sending a request with the queue name.
 11245  type GetQueueInput struct {
 11246  	_ struct{} `type:"structure" nopayload:"true"`
 11247  
 11248  	// The name of the queue that you want information about.
 11249  	//
 11250  	// Name is a required field
 11251  	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
 11252  }
 11253  
 11254  // String returns the string representation.
 11255  //
 11256  // API parameter values that are decorated as "sensitive" in the API will not
 11257  // be included in the string output. The member name will be present, but the
 11258  // value will be replaced with "sensitive".
 11259  func (s GetQueueInput) String() string {
 11260  	return awsutil.Prettify(s)
 11261  }
 11262  
 11263  // GoString returns the string representation.
 11264  //
 11265  // API parameter values that are decorated as "sensitive" in the API will not
 11266  // be included in the string output. The member name will be present, but the
 11267  // value will be replaced with "sensitive".
 11268  func (s GetQueueInput) GoString() string {
 11269  	return s.String()
 11270  }
 11271  
 11272  // Validate inspects the fields of the type to determine if they are valid.
 11273  func (s *GetQueueInput) Validate() error {
 11274  	invalidParams := request.ErrInvalidParams{Context: "GetQueueInput"}
 11275  	if s.Name == nil {
 11276  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11277  	}
 11278  	if s.Name != nil && len(*s.Name) < 1 {
 11279  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11280  	}
 11281  
 11282  	if invalidParams.Len() > 0 {
 11283  		return invalidParams
 11284  	}
 11285  	return nil
 11286  }
 11287  
 11288  // SetName sets the Name field's value.
 11289  func (s *GetQueueInput) SetName(v string) *GetQueueInput {
 11290  	s.Name = &v
 11291  	return s
 11292  }
 11293  
 11294  // Successful get queue requests return an OK message and information about
 11295  // the queue in JSON.
 11296  type GetQueueOutput struct {
 11297  	_ struct{} `type:"structure"`
 11298  
 11299  	// You can use queues to manage the resources that are available to your AWS
 11300  	// account for running multiple transcoding jobs at the same time. If you don't
 11301  	// specify a queue, the service sends all jobs through the default queue. For
 11302  	// more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html.
 11303  	Queue *Queue `locationName:"queue" type:"structure"`
 11304  }
 11305  
 11306  // String returns the string representation.
 11307  //
 11308  // API parameter values that are decorated as "sensitive" in the API will not
 11309  // be included in the string output. The member name will be present, but the
 11310  // value will be replaced with "sensitive".
 11311  func (s GetQueueOutput) String() string {
 11312  	return awsutil.Prettify(s)
 11313  }
 11314  
 11315  // GoString returns the string representation.
 11316  //
 11317  // API parameter values that are decorated as "sensitive" in the API will not
 11318  // be included in the string output. The member name will be present, but the
 11319  // value will be replaced with "sensitive".
 11320  func (s GetQueueOutput) GoString() string {
 11321  	return s.String()
 11322  }
 11323  
 11324  // SetQueue sets the Queue field's value.
 11325  func (s *GetQueueOutput) SetQueue(v *Queue) *GetQueueOutput {
 11326  	s.Queue = v
 11327  	return s
 11328  }
 11329  
 11330  // Settings for quality-defined variable bitrate encoding with the H.265 codec.
 11331  // Use these settings only when you set QVBR for Rate control mode (RateControlMode).
 11332  type H264QvbrSettings struct {
 11333  	_ struct{} `type:"structure"`
 11334  
 11335  	// Use this setting only when Rate control mode is QVBR and Quality tuning level
 11336  	// is Multi-pass HQ. For Max average bitrate values suited to the complexity
 11337  	// of your input video, the service limits the average bitrate of the video
 11338  	// part of this output to the value that you choose. That is, the total size
 11339  	// of the video element is less than or equal to the value you set multiplied
 11340  	// by the number of seconds of encoded output.
 11341  	MaxAverageBitrate *int64 `locationName:"maxAverageBitrate" min:"1000" type:"integer"`
 11342  
 11343  	// Use this setting only when you set Rate control mode (RateControlMode) to
 11344  	// QVBR. Specify the target quality level for this output. MediaConvert determines
 11345  	// the right number of bits to use for each part of the video to maintain the
 11346  	// video quality that you specify. When you keep the default value, AUTO, MediaConvert
 11347  	// picks a quality level for you, based on characteristics of your input video.
 11348  	// If you prefer to specify a quality level, specify a number from 1 through
 11349  	// 10. Use higher numbers for greater quality. Level 10 results in nearly lossless
 11350  	// compression. The quality level for most broadcast-quality transcodes is between
 11351  	// 6 and 9. Optionally, to specify a value between whole numbers, also provide
 11352  	// a value for the setting qvbrQualityLevelFineTune. For example, if you want
 11353  	// your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune
 11354  	// to .33.
 11355  	QvbrQualityLevel *int64 `locationName:"qvbrQualityLevel" min:"1" type:"integer"`
 11356  
 11357  	// Optional. Specify a value here to set the QVBR quality to a level that is
 11358  	// between whole numbers. For example, if you want your QVBR quality level to
 11359  	// be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune to .33.
 11360  	// MediaConvert rounds your QVBR quality level to the nearest third of a whole
 11361  	// number. For example, if you set qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune
 11362  	// to .25, your actual QVBR quality level is 7.33.
 11363  	QvbrQualityLevelFineTune *float64 `locationName:"qvbrQualityLevelFineTune" type:"double"`
 11364  }
 11365  
 11366  // String returns the string representation.
 11367  //
 11368  // API parameter values that are decorated as "sensitive" in the API will not
 11369  // be included in the string output. The member name will be present, but the
 11370  // value will be replaced with "sensitive".
 11371  func (s H264QvbrSettings) String() string {
 11372  	return awsutil.Prettify(s)
 11373  }
 11374  
 11375  // GoString returns the string representation.
 11376  //
 11377  // API parameter values that are decorated as "sensitive" in the API will not
 11378  // be included in the string output. The member name will be present, but the
 11379  // value will be replaced with "sensitive".
 11380  func (s H264QvbrSettings) GoString() string {
 11381  	return s.String()
 11382  }
 11383  
 11384  // Validate inspects the fields of the type to determine if they are valid.
 11385  func (s *H264QvbrSettings) Validate() error {
 11386  	invalidParams := request.ErrInvalidParams{Context: "H264QvbrSettings"}
 11387  	if s.MaxAverageBitrate != nil && *s.MaxAverageBitrate < 1000 {
 11388  		invalidParams.Add(request.NewErrParamMinValue("MaxAverageBitrate", 1000))
 11389  	}
 11390  	if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 {
 11391  		invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1))
 11392  	}
 11393  
 11394  	if invalidParams.Len() > 0 {
 11395  		return invalidParams
 11396  	}
 11397  	return nil
 11398  }
 11399  
 11400  // SetMaxAverageBitrate sets the MaxAverageBitrate field's value.
 11401  func (s *H264QvbrSettings) SetMaxAverageBitrate(v int64) *H264QvbrSettings {
 11402  	s.MaxAverageBitrate = &v
 11403  	return s
 11404  }
 11405  
 11406  // SetQvbrQualityLevel sets the QvbrQualityLevel field's value.
 11407  func (s *H264QvbrSettings) SetQvbrQualityLevel(v int64) *H264QvbrSettings {
 11408  	s.QvbrQualityLevel = &v
 11409  	return s
 11410  }
 11411  
 11412  // SetQvbrQualityLevelFineTune sets the QvbrQualityLevelFineTune field's value.
 11413  func (s *H264QvbrSettings) SetQvbrQualityLevelFineTune(v float64) *H264QvbrSettings {
 11414  	s.QvbrQualityLevelFineTune = &v
 11415  	return s
 11416  }
 11417  
 11418  // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
 11419  // the value H_264.
 11420  type H264Settings struct {
 11421  	_ struct{} `type:"structure"`
 11422  
 11423  	// Keep the default value, Auto (AUTO), for this setting to have MediaConvert
 11424  	// automatically apply the best types of quantization for your video content.
 11425  	// When you want to apply your quantization settings manually, you must set
 11426  	// H264AdaptiveQuantization to a value other than Auto (AUTO). Use this setting
 11427  	// to specify the strength of any adaptive quantization filters that you enable.
 11428  	// If you don't want MediaConvert to do any adaptive quantization in this transcode,
 11429  	// set Adaptive quantization (H264AdaptiveQuantization) to Off (OFF). Related
 11430  	// settings: The value that you choose here applies to the following settings:
 11431  	// H264FlickerAdaptiveQuantization, H264SpatialAdaptiveQuantization, and H264TemporalAdaptiveQuantization.
 11432  	AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H264AdaptiveQuantization"`
 11433  
 11434  	// Specify the average bitrate in bits per second. Required for VBR and CBR.
 11435  	// For MS Smooth outputs, bitrates must be unique when rounded down to the nearest
 11436  	// multiple of 1000.
 11437  	Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"`
 11438  
 11439  	// Specify an H.264 level that is consistent with your output video settings.
 11440  	// If you aren't sure what level to specify, choose Auto (AUTO).
 11441  	CodecLevel *string `locationName:"codecLevel" type:"string" enum:"H264CodecLevel"`
 11442  
 11443  	// H.264 Profile. High 4:2:2 and 10-bit profiles are only available with the
 11444  	// AVC-I License.
 11445  	CodecProfile *string `locationName:"codecProfile" type:"string" enum:"H264CodecProfile"`
 11446  
 11447  	// Choose Adaptive to improve subjective video quality for high-motion content.
 11448  	// This will cause the service to use fewer B-frames (which infer information
 11449  	// based on other frames) for high-motion portions of the video and more B-frames
 11450  	// for low-motion portions. The maximum number of B-frames is limited by the
 11451  	// value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).
 11452  	DynamicSubGop *string `locationName:"dynamicSubGop" type:"string" enum:"H264DynamicSubGop"`
 11453  
 11454  	// Entropy encoding mode. Use CABAC (must be in Main or High profile) or CAVLC.
 11455  	EntropyEncoding *string `locationName:"entropyEncoding" type:"string" enum:"H264EntropyEncoding"`
 11456  
 11457  	// The video encoding method for your MPEG-4 AVC output. Keep the default value,
 11458  	// PAFF, to have MediaConvert use PAFF encoding for interlaced outputs. Choose
 11459  	// Force field (FORCE_FIELD) to disable PAFF encoding and create separate interlaced
 11460  	// fields. Choose MBAFF to disable PAFF and have MediaConvert use MBAFF encoding
 11461  	// for interlaced outputs.
 11462  	FieldEncoding *string `locationName:"fieldEncoding" type:"string" enum:"H264FieldEncoding"`
 11463  
 11464  	// Only use this setting when you change the default value, AUTO, for the setting
 11465  	// H264AdaptiveQuantization. When you keep all defaults, excluding H264AdaptiveQuantization
 11466  	// and all other adaptive quantization from your JSON job specification, MediaConvert
 11467  	// automatically applies the best types of quantization for your video content.
 11468  	// When you set H264AdaptiveQuantization to a value other than AUTO, the default
 11469  	// value for H264FlickerAdaptiveQuantization is Disabled (DISABLED). Change
 11470  	// this value to Enabled (ENABLED) to reduce I-frame pop. I-frame pop appears
 11471  	// as a visual flicker that can arise when the encoder saves bits by copying
 11472  	// some macroblocks many times from frame to frame, and then refreshes them
 11473  	// at the I-frame. When you enable this setting, the encoder updates these macroblocks
 11474  	// slightly more often to smooth out the flicker. To manually enable or disable
 11475  	// H264FlickerAdaptiveQuantization, you must set Adaptive quantization (H264AdaptiveQuantization)
 11476  	// to a value other than AUTO.
 11477  	FlickerAdaptiveQuantization *string `locationName:"flickerAdaptiveQuantization" type:"string" enum:"H264FlickerAdaptiveQuantization"`
 11478  
 11479  	// If you are using the console, use the Framerate setting to specify the frame
 11480  	// rate for this output. If you want to keep the same frame rate as the input
 11481  	// video, choose Follow source. If you want to do frame rate conversion, choose
 11482  	// a frame rate from the dropdown list or choose Custom. The framerates shown
 11483  	// in the dropdown list are decimal approximations of fractions. If you choose
 11484  	// Custom, specify your frame rate as a fraction. If you are creating your transcoding
 11485  	// job specification as a JSON file without the console, use FramerateControl
 11486  	// to specify which value the service uses for the frame rate for this output.
 11487  	// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 11488  	// from the input. Choose SPECIFIED if you want the service to use the frame
 11489  	// rate you specify in the settings FramerateNumerator and FramerateDenominator.
 11490  	FramerateControl *string `locationName:"framerateControl" type:"string" enum:"H264FramerateControl"`
 11491  
 11492  	// Choose the method that you want MediaConvert to use when increasing or decreasing
 11493  	// the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 11494  	// simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 11495  	// you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 11496  	// smooth picture, but might introduce undesirable video artifacts. For complex
 11497  	// frame rate conversions, especially if your source video has already been
 11498  	// converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 11499  	// motion-compensated interpolation. FrameFormer chooses the best conversion
 11500  	// method frame by frame. Note that using FrameFormer increases the transcoding
 11501  	// time and incurs a significant add-on cost.
 11502  	FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"H264FramerateConversionAlgorithm"`
 11503  
 11504  	// When you use the API for transcode jobs that use frame rate conversion, specify
 11505  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
 11506  	// FramerateDenominator to specify the denominator of this fraction. In this
 11507  	// example, use 1001 for the value of FramerateDenominator. When you use the
 11508  	// console for transcode jobs that use frame rate conversion, provide the value
 11509  	// as a decimal number for Framerate. In this example, specify 23.976.
 11510  	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
 11511  
 11512  	// When you use the API for transcode jobs that use frame rate conversion, specify
 11513  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
 11514  	// FramerateNumerator to specify the numerator of this fraction. In this example,
 11515  	// use 24000 for the value of FramerateNumerator. When you use the console for
 11516  	// transcode jobs that use frame rate conversion, provide the value as a decimal
 11517  	// number for Framerate. In this example, specify 23.976.
 11518  	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"`
 11519  
 11520  	// If enable, use reference B frames for GOP structures that have B frames >
 11521  	// 1.
 11522  	GopBReference *string `locationName:"gopBReference" type:"string" enum:"H264GopBReference"`
 11523  
 11524  	// Frequency of closed GOPs. In streaming applications, it is recommended that
 11525  	// this be set to 1 so a decoder joining mid-stream will receive an IDR frame
 11526  	// as quickly as possible. Setting this value to 0 will break output segmenting.
 11527  	GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"`
 11528  
 11529  	// GOP Length (keyframe interval) in frames or seconds. Must be greater than
 11530  	// zero.
 11531  	GopSize *float64 `locationName:"gopSize" type:"double"`
 11532  
 11533  	// Indicates if the GOP Size in H264 is specified in frames or seconds. If seconds
 11534  	// the system will convert the GOP Size into a frame count at run time.
 11535  	GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H264GopSizeUnits"`
 11536  
 11537  	// Percentage of the buffer that should initially be filled (HRD buffer model).
 11538  	HrdBufferInitialFillPercentage *int64 `locationName:"hrdBufferInitialFillPercentage" type:"integer"`
 11539  
 11540  	// Size of buffer (HRD buffer model) in bits. For example, enter five megabits
 11541  	// as 5000000.
 11542  	HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"`
 11543  
 11544  	// Choose the scan line type for the output. Keep the default value, Progressive
 11545  	// (PROGRESSIVE) to create a progressive output, regardless of the scan type
 11546  	// of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD)
 11547  	// to create an output that's interlaced with the same field polarity throughout.
 11548  	// Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD)
 11549  	// to produce outputs with the same field polarity as the source. For jobs that
 11550  	// have multiple inputs, the output field polarity might change over the course
 11551  	// of the output. Follow behavior depends on the input scan type. If the source
 11552  	// is interlaced, the output will be interlaced with the same polarity as the
 11553  	// source. If the source is progressive, the output will be interlaced with
 11554  	// top field bottom field first, depending on which of the Follow options you
 11555  	// choose.
 11556  	InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"H264InterlaceMode"`
 11557  
 11558  	// Maximum bitrate in bits/second. For example, enter five megabits per second
 11559  	// as 5000000. Required when Rate control mode is QVBR.
 11560  	MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"`
 11561  
 11562  	// Enforces separation between repeated (cadence) I-frames and I-frames inserted
 11563  	// by Scene Change Detection. If a scene change I-frame is within I-interval
 11564  	// frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene
 11565  	// change I-frame. GOP stretch requires enabling lookahead as well as setting
 11566  	// I-interval. The normal cadence resumes for the next GOP. This setting is
 11567  	// only used when Scene Change Detect is enabled. Note: Maximum GOP stretch
 11568  	// = GOP size + Min-I-interval - 1
 11569  	MinIInterval *int64 `locationName:"minIInterval" type:"integer"`
 11570  
 11571  	// Specify the number of B-frames that MediaConvert puts between reference frames
 11572  	// in this output. Valid values are whole numbers from 0 through 7. When you
 11573  	// don't specify a value, MediaConvert defaults to 2.
 11574  	NumberBFramesBetweenReferenceFrames *int64 `locationName:"numberBFramesBetweenReferenceFrames" type:"integer"`
 11575  
 11576  	// Number of reference frames to use. The encoder may use more than requested
 11577  	// if using B-frames and/or interlaced encoding.
 11578  	NumberReferenceFrames *int64 `locationName:"numberReferenceFrames" min:"1" type:"integer"`
 11579  
 11580  	// Optional. Specify how the service determines the pixel aspect ratio (PAR)
 11581  	// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE),
 11582  	// uses the PAR from your input video for your output. To specify a different
 11583  	// PAR in the console, choose any value other than Follow source. To specify
 11584  	// a different PAR by editing the JSON job specification, choose SPECIFIED.
 11585  	// When you choose SPECIFIED for this setting, you must also specify values
 11586  	// for the parNumerator and parDenominator settings.
 11587  	ParControl *string `locationName:"parControl" type:"string" enum:"H264ParControl"`
 11588  
 11589  	// Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the
 11590  	// console, this corresponds to any value other than Follow source. When you
 11591  	// specify an output pixel aspect ratio (PAR) that is different from your input
 11592  	// video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC
 11593  	// widescreen, you would specify the ratio 40:33. In this example, the value
 11594  	// for parDenominator is 33.
 11595  	ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"`
 11596  
 11597  	// Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the
 11598  	// console, this corresponds to any value other than Follow source. When you
 11599  	// specify an output pixel aspect ratio (PAR) that is different from your input
 11600  	// video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC
 11601  	// widescreen, you would specify the ratio 40:33. In this example, the value
 11602  	// for parNumerator is 40.
 11603  	ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"`
 11604  
 11605  	// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you
 11606  	// want to trade off encoding speed for output video quality. The default behavior
 11607  	// is faster, lower quality, single-pass encoding.
 11608  	QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"H264QualityTuningLevel"`
 11609  
 11610  	// Settings for quality-defined variable bitrate encoding with the H.265 codec.
 11611  	// Use these settings only when you set QVBR for Rate control mode (RateControlMode).
 11612  	QvbrSettings *H264QvbrSettings `locationName:"qvbrSettings" type:"structure"`
 11613  
 11614  	// Use this setting to specify whether this output has a variable bitrate (VBR),
 11615  	// constant bitrate (CBR) or quality-defined variable bitrate (QVBR).
 11616  	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H264RateControlMode"`
 11617  
 11618  	// Places a PPS header on each encoded picture, even if repeated.
 11619  	RepeatPps *string `locationName:"repeatPps" type:"string" enum:"H264RepeatPps"`
 11620  
 11621  	// Use this setting for interlaced outputs, when your output frame rate is half
 11622  	// of your input frame rate. In this situation, choose Optimized interlacing
 11623  	// (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this
 11624  	// case, each progressive frame from the input corresponds to an interlaced
 11625  	// field in the output. Keep the default value, Basic interlacing (INTERLACED),
 11626  	// for all other output frame rates. With basic interlacing, MediaConvert performs
 11627  	// any frame rate conversion first and then interlaces the frames. When you
 11628  	// choose Optimized interlacing and you set your output frame rate to a value
 11629  	// that isn't suitable for optimized interlacing, MediaConvert automatically
 11630  	// falls back to basic interlacing. Required settings: To use optimized interlacing,
 11631  	// you must set Telecine (telecine) to None (NONE) or Soft (SOFT). You can't
 11632  	// use optimized interlacing for hard telecine outputs. You must also set Interlace
 11633  	// mode (interlaceMode) to a value other than Progressive (PROGRESSIVE).
 11634  	ScanTypeConversionMode *string `locationName:"scanTypeConversionMode" type:"string" enum:"H264ScanTypeConversionMode"`
 11635  
 11636  	// Enable this setting to insert I-frames at scene changes that the service
 11637  	// automatically detects. This improves video quality and is enabled by default.
 11638  	// If this output uses QVBR, choose Transition detection (TRANSITION_DETECTION)
 11639  	// for further video quality improvement. For more information about QVBR, see
 11640  	// https://docs.aws.amazon.com/console/mediaconvert/cbr-vbr-qvbr.
 11641  	SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H264SceneChangeDetect"`
 11642  
 11643  	// Number of slices per picture. Must be less than or equal to the number of
 11644  	// macroblock rows for progressive pictures, and less than or equal to half
 11645  	// the number of macroblock rows for interlaced pictures.
 11646  	Slices *int64 `locationName:"slices" min:"1" type:"integer"`
 11647  
 11648  	// Ignore this setting unless your input frame rate is 23.976 or 24 frames per
 11649  	// second (fps). Enable slow PAL to create a 25 fps output. When you enable
 11650  	// slow PAL, MediaConvert relabels the video frames to 25 fps and resamples
 11651  	// your audio to keep it synchronized with the video. Note that enabling this
 11652  	// setting will slightly reduce the duration of your video. Required settings:
 11653  	// You must also set Framerate to 25. In your JSON job specification, set (framerateControl)
 11654  	// to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to
 11655  	// 1.
 11656  	SlowPal *string `locationName:"slowPal" type:"string" enum:"H264SlowPal"`
 11657  
 11658  	// Ignore this setting unless you need to comply with a specification that requires
 11659  	// a specific value. If you don't have a specification requirement, we recommend
 11660  	// that you adjust the softness of your output by using a lower value for the
 11661  	// setting Sharpness (sharpness) or by enabling a noise reducer filter (noiseReducerFilter).
 11662  	// The Softness (softness) setting specifies the quantization matrices that
 11663  	// the encoder uses. Keep the default value, 0, for flat quantization. Choose
 11664  	// the value 1 or 16 to use the default JVT softening quantization matricies
 11665  	// from the H.264 specification. Choose a value from 17 to 128 to use planar
 11666  	// interpolation. Increasing values from 17 to 128 result in increasing reduction
 11667  	// of high-frequency data. The value 128 results in the softest video.
 11668  	Softness *int64 `locationName:"softness" type:"integer"`
 11669  
 11670  	// Only use this setting when you change the default value, Auto (AUTO), for
 11671  	// the setting H264AdaptiveQuantization. When you keep all defaults, excluding
 11672  	// H264AdaptiveQuantization and all other adaptive quantization from your JSON
 11673  	// job specification, MediaConvert automatically applies the best types of quantization
 11674  	// for your video content. When you set H264AdaptiveQuantization to a value
 11675  	// other than AUTO, the default value for H264SpatialAdaptiveQuantization is
 11676  	// Enabled (ENABLED). Keep this default value to adjust quantization within
 11677  	// each frame based on spatial variation of content complexity. When you enable
 11678  	// this feature, the encoder uses fewer bits on areas that can sustain more
 11679  	// distortion with no noticeable visual degradation and uses more bits on areas
 11680  	// where any small distortion will be noticeable. For example, complex textured
 11681  	// blocks are encoded with fewer bits and smooth textured blocks are encoded
 11682  	// with more bits. Enabling this feature will almost always improve your video
 11683  	// quality. Note, though, that this feature doesn't take into account where
 11684  	// the viewer's attention is likely to be. If viewers are likely to be focusing
 11685  	// their attention on a part of the screen with a lot of complex texture, you
 11686  	// might choose to set H264SpatialAdaptiveQuantization to Disabled (DISABLED).
 11687  	// Related setting: When you enable spatial adaptive quantization, set the value
 11688  	// for Adaptive quantization (H264AdaptiveQuantization) depending on your content.
 11689  	// For homogeneous content, such as cartoons and video games, set it to Low.
 11690  	// For content with a wider variety of textures, set it to High or Higher. To
 11691  	// manually enable or disable H264SpatialAdaptiveQuantization, you must set
 11692  	// Adaptive quantization (H264AdaptiveQuantization) to a value other than AUTO.
 11693  	SpatialAdaptiveQuantization *string `locationName:"spatialAdaptiveQuantization" type:"string" enum:"H264SpatialAdaptiveQuantization"`
 11694  
 11695  	// Produces a bitstream compliant with SMPTE RP-2027.
 11696  	Syntax *string `locationName:"syntax" type:"string" enum:"H264Syntax"`
 11697  
 11698  	// When you do frame rate conversion from 23.976 frames per second (fps) to
 11699  	// 29.97 fps, and your output scan type is interlaced, you can optionally enable
 11700  	// hard or soft telecine to create a smoother picture. Hard telecine (HARD)
 11701  	// produces a 29.97i output. Soft telecine (SOFT) produces an output with a
 11702  	// 23.976 output that signals to the video player device to do the conversion
 11703  	// during play back. When you keep the default value, None (NONE), MediaConvert
 11704  	// does a standard frame rate conversion to 29.97 without doing anything with
 11705  	// the field polarity to create a smoother picture.
 11706  	Telecine *string `locationName:"telecine" type:"string" enum:"H264Telecine"`
 11707  
 11708  	// Only use this setting when you change the default value, AUTO, for the setting
 11709  	// H264AdaptiveQuantization. When you keep all defaults, excluding H264AdaptiveQuantization
 11710  	// and all other adaptive quantization from your JSON job specification, MediaConvert
 11711  	// automatically applies the best types of quantization for your video content.
 11712  	// When you set H264AdaptiveQuantization to a value other than AUTO, the default
 11713  	// value for H264TemporalAdaptiveQuantization is Enabled (ENABLED). Keep this
 11714  	// default value to adjust quantization within each frame based on temporal
 11715  	// variation of content complexity. When you enable this feature, the encoder
 11716  	// uses fewer bits on areas of the frame that aren't moving and uses more bits
 11717  	// on complex objects with sharp edges that move a lot. For example, this feature
 11718  	// improves the readability of text tickers on newscasts and scoreboards on
 11719  	// sports matches. Enabling this feature will almost always improve your video
 11720  	// quality. Note, though, that this feature doesn't take into account where
 11721  	// the viewer's attention is likely to be. If viewers are likely to be focusing
 11722  	// their attention on a part of the screen that doesn't have moving objects
 11723  	// with sharp edges, such as sports athletes' faces, you might choose to set
 11724  	// H264TemporalAdaptiveQuantization to Disabled (DISABLED). Related setting:
 11725  	// When you enable temporal quantization, adjust the strength of the filter
 11726  	// with the setting Adaptive quantization (adaptiveQuantization). To manually
 11727  	// enable or disable H264TemporalAdaptiveQuantization, you must set Adaptive
 11728  	// quantization (H264AdaptiveQuantization) to a value other than AUTO.
 11729  	TemporalAdaptiveQuantization *string `locationName:"temporalAdaptiveQuantization" type:"string" enum:"H264TemporalAdaptiveQuantization"`
 11730  
 11731  	// Inserts timecode for each frame as 4 bytes of an unregistered SEI message.
 11732  	UnregisteredSeiTimecode *string `locationName:"unregisteredSeiTimecode" type:"string" enum:"H264UnregisteredSeiTimecode"`
 11733  }
 11734  
 11735  // String returns the string representation.
 11736  //
 11737  // API parameter values that are decorated as "sensitive" in the API will not
 11738  // be included in the string output. The member name will be present, but the
 11739  // value will be replaced with "sensitive".
 11740  func (s H264Settings) String() string {
 11741  	return awsutil.Prettify(s)
 11742  }
 11743  
 11744  // GoString returns the string representation.
 11745  //
 11746  // API parameter values that are decorated as "sensitive" in the API will not
 11747  // be included in the string output. The member name will be present, but the
 11748  // value will be replaced with "sensitive".
 11749  func (s H264Settings) GoString() string {
 11750  	return s.String()
 11751  }
 11752  
 11753  // Validate inspects the fields of the type to determine if they are valid.
 11754  func (s *H264Settings) Validate() error {
 11755  	invalidParams := request.ErrInvalidParams{Context: "H264Settings"}
 11756  	if s.Bitrate != nil && *s.Bitrate < 1000 {
 11757  		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000))
 11758  	}
 11759  	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
 11760  		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
 11761  	}
 11762  	if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 {
 11763  		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1))
 11764  	}
 11765  	if s.MaxBitrate != nil && *s.MaxBitrate < 1000 {
 11766  		invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000))
 11767  	}
 11768  	if s.NumberReferenceFrames != nil && *s.NumberReferenceFrames < 1 {
 11769  		invalidParams.Add(request.NewErrParamMinValue("NumberReferenceFrames", 1))
 11770  	}
 11771  	if s.ParDenominator != nil && *s.ParDenominator < 1 {
 11772  		invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1))
 11773  	}
 11774  	if s.ParNumerator != nil && *s.ParNumerator < 1 {
 11775  		invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1))
 11776  	}
 11777  	if s.Slices != nil && *s.Slices < 1 {
 11778  		invalidParams.Add(request.NewErrParamMinValue("Slices", 1))
 11779  	}
 11780  	if s.QvbrSettings != nil {
 11781  		if err := s.QvbrSettings.Validate(); err != nil {
 11782  			invalidParams.AddNested("QvbrSettings", err.(request.ErrInvalidParams))
 11783  		}
 11784  	}
 11785  
 11786  	if invalidParams.Len() > 0 {
 11787  		return invalidParams
 11788  	}
 11789  	return nil
 11790  }
 11791  
 11792  // SetAdaptiveQuantization sets the AdaptiveQuantization field's value.
 11793  func (s *H264Settings) SetAdaptiveQuantization(v string) *H264Settings {
 11794  	s.AdaptiveQuantization = &v
 11795  	return s
 11796  }
 11797  
 11798  // SetBitrate sets the Bitrate field's value.
 11799  func (s *H264Settings) SetBitrate(v int64) *H264Settings {
 11800  	s.Bitrate = &v
 11801  	return s
 11802  }
 11803  
 11804  // SetCodecLevel sets the CodecLevel field's value.
 11805  func (s *H264Settings) SetCodecLevel(v string) *H264Settings {
 11806  	s.CodecLevel = &v
 11807  	return s
 11808  }
 11809  
 11810  // SetCodecProfile sets the CodecProfile field's value.
 11811  func (s *H264Settings) SetCodecProfile(v string) *H264Settings {
 11812  	s.CodecProfile = &v
 11813  	return s
 11814  }
 11815  
 11816  // SetDynamicSubGop sets the DynamicSubGop field's value.
 11817  func (s *H264Settings) SetDynamicSubGop(v string) *H264Settings {
 11818  	s.DynamicSubGop = &v
 11819  	return s
 11820  }
 11821  
 11822  // SetEntropyEncoding sets the EntropyEncoding field's value.
 11823  func (s *H264Settings) SetEntropyEncoding(v string) *H264Settings {
 11824  	s.EntropyEncoding = &v
 11825  	return s
 11826  }
 11827  
 11828  // SetFieldEncoding sets the FieldEncoding field's value.
 11829  func (s *H264Settings) SetFieldEncoding(v string) *H264Settings {
 11830  	s.FieldEncoding = &v
 11831  	return s
 11832  }
 11833  
 11834  // SetFlickerAdaptiveQuantization sets the FlickerAdaptiveQuantization field's value.
 11835  func (s *H264Settings) SetFlickerAdaptiveQuantization(v string) *H264Settings {
 11836  	s.FlickerAdaptiveQuantization = &v
 11837  	return s
 11838  }
 11839  
 11840  // SetFramerateControl sets the FramerateControl field's value.
 11841  func (s *H264Settings) SetFramerateControl(v string) *H264Settings {
 11842  	s.FramerateControl = &v
 11843  	return s
 11844  }
 11845  
 11846  // SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value.
 11847  func (s *H264Settings) SetFramerateConversionAlgorithm(v string) *H264Settings {
 11848  	s.FramerateConversionAlgorithm = &v
 11849  	return s
 11850  }
 11851  
 11852  // SetFramerateDenominator sets the FramerateDenominator field's value.
 11853  func (s *H264Settings) SetFramerateDenominator(v int64) *H264Settings {
 11854  	s.FramerateDenominator = &v
 11855  	return s
 11856  }
 11857  
 11858  // SetFramerateNumerator sets the FramerateNumerator field's value.
 11859  func (s *H264Settings) SetFramerateNumerator(v int64) *H264Settings {
 11860  	s.FramerateNumerator = &v
 11861  	return s
 11862  }
 11863  
 11864  // SetGopBReference sets the GopBReference field's value.
 11865  func (s *H264Settings) SetGopBReference(v string) *H264Settings {
 11866  	s.GopBReference = &v
 11867  	return s
 11868  }
 11869  
 11870  // SetGopClosedCadence sets the GopClosedCadence field's value.
 11871  func (s *H264Settings) SetGopClosedCadence(v int64) *H264Settings {
 11872  	s.GopClosedCadence = &v
 11873  	return s
 11874  }
 11875  
 11876  // SetGopSize sets the GopSize field's value.
 11877  func (s *H264Settings) SetGopSize(v float64) *H264Settings {
 11878  	s.GopSize = &v
 11879  	return s
 11880  }
 11881  
 11882  // SetGopSizeUnits sets the GopSizeUnits field's value.
 11883  func (s *H264Settings) SetGopSizeUnits(v string) *H264Settings {
 11884  	s.GopSizeUnits = &v
 11885  	return s
 11886  }
 11887  
 11888  // SetHrdBufferInitialFillPercentage sets the HrdBufferInitialFillPercentage field's value.
 11889  func (s *H264Settings) SetHrdBufferInitialFillPercentage(v int64) *H264Settings {
 11890  	s.HrdBufferInitialFillPercentage = &v
 11891  	return s
 11892  }
 11893  
 11894  // SetHrdBufferSize sets the HrdBufferSize field's value.
 11895  func (s *H264Settings) SetHrdBufferSize(v int64) *H264Settings {
 11896  	s.HrdBufferSize = &v
 11897  	return s
 11898  }
 11899  
 11900  // SetInterlaceMode sets the InterlaceMode field's value.
 11901  func (s *H264Settings) SetInterlaceMode(v string) *H264Settings {
 11902  	s.InterlaceMode = &v
 11903  	return s
 11904  }
 11905  
 11906  // SetMaxBitrate sets the MaxBitrate field's value.
 11907  func (s *H264Settings) SetMaxBitrate(v int64) *H264Settings {
 11908  	s.MaxBitrate = &v
 11909  	return s
 11910  }
 11911  
 11912  // SetMinIInterval sets the MinIInterval field's value.
 11913  func (s *H264Settings) SetMinIInterval(v int64) *H264Settings {
 11914  	s.MinIInterval = &v
 11915  	return s
 11916  }
 11917  
 11918  // SetNumberBFramesBetweenReferenceFrames sets the NumberBFramesBetweenReferenceFrames field's value.
 11919  func (s *H264Settings) SetNumberBFramesBetweenReferenceFrames(v int64) *H264Settings {
 11920  	s.NumberBFramesBetweenReferenceFrames = &v
 11921  	return s
 11922  }
 11923  
 11924  // SetNumberReferenceFrames sets the NumberReferenceFrames field's value.
 11925  func (s *H264Settings) SetNumberReferenceFrames(v int64) *H264Settings {
 11926  	s.NumberReferenceFrames = &v
 11927  	return s
 11928  }
 11929  
 11930  // SetParControl sets the ParControl field's value.
 11931  func (s *H264Settings) SetParControl(v string) *H264Settings {
 11932  	s.ParControl = &v
 11933  	return s
 11934  }
 11935  
 11936  // SetParDenominator sets the ParDenominator field's value.
 11937  func (s *H264Settings) SetParDenominator(v int64) *H264Settings {
 11938  	s.ParDenominator = &v
 11939  	return s
 11940  }
 11941  
 11942  // SetParNumerator sets the ParNumerator field's value.
 11943  func (s *H264Settings) SetParNumerator(v int64) *H264Settings {
 11944  	s.ParNumerator = &v
 11945  	return s
 11946  }
 11947  
 11948  // SetQualityTuningLevel sets the QualityTuningLevel field's value.
 11949  func (s *H264Settings) SetQualityTuningLevel(v string) *H264Settings {
 11950  	s.QualityTuningLevel = &v
 11951  	return s
 11952  }
 11953  
 11954  // SetQvbrSettings sets the QvbrSettings field's value.
 11955  func (s *H264Settings) SetQvbrSettings(v *H264QvbrSettings) *H264Settings {
 11956  	s.QvbrSettings = v
 11957  	return s
 11958  }
 11959  
 11960  // SetRateControlMode sets the RateControlMode field's value.
 11961  func (s *H264Settings) SetRateControlMode(v string) *H264Settings {
 11962  	s.RateControlMode = &v
 11963  	return s
 11964  }
 11965  
 11966  // SetRepeatPps sets the RepeatPps field's value.
 11967  func (s *H264Settings) SetRepeatPps(v string) *H264Settings {
 11968  	s.RepeatPps = &v
 11969  	return s
 11970  }
 11971  
 11972  // SetScanTypeConversionMode sets the ScanTypeConversionMode field's value.
 11973  func (s *H264Settings) SetScanTypeConversionMode(v string) *H264Settings {
 11974  	s.ScanTypeConversionMode = &v
 11975  	return s
 11976  }
 11977  
 11978  // SetSceneChangeDetect sets the SceneChangeDetect field's value.
 11979  func (s *H264Settings) SetSceneChangeDetect(v string) *H264Settings {
 11980  	s.SceneChangeDetect = &v
 11981  	return s
 11982  }
 11983  
 11984  // SetSlices sets the Slices field's value.
 11985  func (s *H264Settings) SetSlices(v int64) *H264Settings {
 11986  	s.Slices = &v
 11987  	return s
 11988  }
 11989  
 11990  // SetSlowPal sets the SlowPal field's value.
 11991  func (s *H264Settings) SetSlowPal(v string) *H264Settings {
 11992  	s.SlowPal = &v
 11993  	return s
 11994  }
 11995  
 11996  // SetSoftness sets the Softness field's value.
 11997  func (s *H264Settings) SetSoftness(v int64) *H264Settings {
 11998  	s.Softness = &v
 11999  	return s
 12000  }
 12001  
 12002  // SetSpatialAdaptiveQuantization sets the SpatialAdaptiveQuantization field's value.
 12003  func (s *H264Settings) SetSpatialAdaptiveQuantization(v string) *H264Settings {
 12004  	s.SpatialAdaptiveQuantization = &v
 12005  	return s
 12006  }
 12007  
 12008  // SetSyntax sets the Syntax field's value.
 12009  func (s *H264Settings) SetSyntax(v string) *H264Settings {
 12010  	s.Syntax = &v
 12011  	return s
 12012  }
 12013  
 12014  // SetTelecine sets the Telecine field's value.
 12015  func (s *H264Settings) SetTelecine(v string) *H264Settings {
 12016  	s.Telecine = &v
 12017  	return s
 12018  }
 12019  
 12020  // SetTemporalAdaptiveQuantization sets the TemporalAdaptiveQuantization field's value.
 12021  func (s *H264Settings) SetTemporalAdaptiveQuantization(v string) *H264Settings {
 12022  	s.TemporalAdaptiveQuantization = &v
 12023  	return s
 12024  }
 12025  
 12026  // SetUnregisteredSeiTimecode sets the UnregisteredSeiTimecode field's value.
 12027  func (s *H264Settings) SetUnregisteredSeiTimecode(v string) *H264Settings {
 12028  	s.UnregisteredSeiTimecode = &v
 12029  	return s
 12030  }
 12031  
 12032  // Settings for quality-defined variable bitrate encoding with the H.265 codec.
 12033  // Use these settings only when you set QVBR for Rate control mode (RateControlMode).
 12034  type H265QvbrSettings struct {
 12035  	_ struct{} `type:"structure"`
 12036  
 12037  	// Use this setting only when Rate control mode is QVBR and Quality tuning level
 12038  	// is Multi-pass HQ. For Max average bitrate values suited to the complexity
 12039  	// of your input video, the service limits the average bitrate of the video
 12040  	// part of this output to the value that you choose. That is, the total size
 12041  	// of the video element is less than or equal to the value you set multiplied
 12042  	// by the number of seconds of encoded output.
 12043  	MaxAverageBitrate *int64 `locationName:"maxAverageBitrate" min:"1000" type:"integer"`
 12044  
 12045  	// Use this setting only when you set Rate control mode (RateControlMode) to
 12046  	// QVBR. Specify the target quality level for this output. MediaConvert determines
 12047  	// the right number of bits to use for each part of the video to maintain the
 12048  	// video quality that you specify. When you keep the default value, AUTO, MediaConvert
 12049  	// picks a quality level for you, based on characteristics of your input video.
 12050  	// If you prefer to specify a quality level, specify a number from 1 through
 12051  	// 10. Use higher numbers for greater quality. Level 10 results in nearly lossless
 12052  	// compression. The quality level for most broadcast-quality transcodes is between
 12053  	// 6 and 9. Optionally, to specify a value between whole numbers, also provide
 12054  	// a value for the setting qvbrQualityLevelFineTune. For example, if you want
 12055  	// your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune
 12056  	// to .33.
 12057  	QvbrQualityLevel *int64 `locationName:"qvbrQualityLevel" min:"1" type:"integer"`
 12058  
 12059  	// Optional. Specify a value here to set the QVBR quality to a level that is
 12060  	// between whole numbers. For example, if you want your QVBR quality level to
 12061  	// be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune to .33.
 12062  	// MediaConvert rounds your QVBR quality level to the nearest third of a whole
 12063  	// number. For example, if you set qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune
 12064  	// to .25, your actual QVBR quality level is 7.33.
 12065  	QvbrQualityLevelFineTune *float64 `locationName:"qvbrQualityLevelFineTune" type:"double"`
 12066  }
 12067  
 12068  // String returns the string representation.
 12069  //
 12070  // API parameter values that are decorated as "sensitive" in the API will not
 12071  // be included in the string output. The member name will be present, but the
 12072  // value will be replaced with "sensitive".
 12073  func (s H265QvbrSettings) String() string {
 12074  	return awsutil.Prettify(s)
 12075  }
 12076  
 12077  // GoString returns the string representation.
 12078  //
 12079  // API parameter values that are decorated as "sensitive" in the API will not
 12080  // be included in the string output. The member name will be present, but the
 12081  // value will be replaced with "sensitive".
 12082  func (s H265QvbrSettings) GoString() string {
 12083  	return s.String()
 12084  }
 12085  
 12086  // Validate inspects the fields of the type to determine if they are valid.
 12087  func (s *H265QvbrSettings) Validate() error {
 12088  	invalidParams := request.ErrInvalidParams{Context: "H265QvbrSettings"}
 12089  	if s.MaxAverageBitrate != nil && *s.MaxAverageBitrate < 1000 {
 12090  		invalidParams.Add(request.NewErrParamMinValue("MaxAverageBitrate", 1000))
 12091  	}
 12092  	if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 {
 12093  		invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1))
 12094  	}
 12095  
 12096  	if invalidParams.Len() > 0 {
 12097  		return invalidParams
 12098  	}
 12099  	return nil
 12100  }
 12101  
 12102  // SetMaxAverageBitrate sets the MaxAverageBitrate field's value.
 12103  func (s *H265QvbrSettings) SetMaxAverageBitrate(v int64) *H265QvbrSettings {
 12104  	s.MaxAverageBitrate = &v
 12105  	return s
 12106  }
 12107  
 12108  // SetQvbrQualityLevel sets the QvbrQualityLevel field's value.
 12109  func (s *H265QvbrSettings) SetQvbrQualityLevel(v int64) *H265QvbrSettings {
 12110  	s.QvbrQualityLevel = &v
 12111  	return s
 12112  }
 12113  
 12114  // SetQvbrQualityLevelFineTune sets the QvbrQualityLevelFineTune field's value.
 12115  func (s *H265QvbrSettings) SetQvbrQualityLevelFineTune(v float64) *H265QvbrSettings {
 12116  	s.QvbrQualityLevelFineTune = &v
 12117  	return s
 12118  }
 12119  
 12120  // Settings for H265 codec
 12121  type H265Settings struct {
 12122  	_ struct{} `type:"structure"`
 12123  
 12124  	// Specify the strength of any adaptive quantization filters that you enable.
 12125  	// The value that you choose here applies to the following settings: Flicker
 12126  	// adaptive quantization (flickerAdaptiveQuantization), Spatial adaptive quantization
 12127  	// (spatialAdaptiveQuantization), and Temporal adaptive quantization (temporalAdaptiveQuantization).
 12128  	AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H265AdaptiveQuantization"`
 12129  
 12130  	// Enables Alternate Transfer Function SEI message for outputs using Hybrid
 12131  	// Log Gamma (HLG) Electro-Optical Transfer Function (EOTF).
 12132  	AlternateTransferFunctionSei *string `locationName:"alternateTransferFunctionSei" type:"string" enum:"H265AlternateTransferFunctionSei"`
 12133  
 12134  	// Specify the average bitrate in bits per second. Required for VBR and CBR.
 12135  	// For MS Smooth outputs, bitrates must be unique when rounded down to the nearest
 12136  	// multiple of 1000.
 12137  	Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"`
 12138  
 12139  	// H.265 Level.
 12140  	CodecLevel *string `locationName:"codecLevel" type:"string" enum:"H265CodecLevel"`
 12141  
 12142  	// Represents the Profile and Tier, per the HEVC (H.265) specification. Selections
 12143  	// are grouped as [Profile] / [Tier], so "Main/High" represents Main Profile
 12144  	// with High Tier. 4:2:2 profiles are only available with the HEVC 4:2:2 License.
 12145  	CodecProfile *string `locationName:"codecProfile" type:"string" enum:"H265CodecProfile"`
 12146  
 12147  	// Choose Adaptive to improve subjective video quality for high-motion content.
 12148  	// This will cause the service to use fewer B-frames (which infer information
 12149  	// based on other frames) for high-motion portions of the video and more B-frames
 12150  	// for low-motion portions. The maximum number of B-frames is limited by the
 12151  	// value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).
 12152  	DynamicSubGop *string `locationName:"dynamicSubGop" type:"string" enum:"H265DynamicSubGop"`
 12153  
 12154  	// Enable this setting to have the encoder reduce I-frame pop. I-frame pop appears
 12155  	// as a visual flicker that can arise when the encoder saves bits by copying
 12156  	// some macroblocks many times from frame to frame, and then refreshes them
 12157  	// at the I-frame. When you enable this setting, the encoder updates these macroblocks
 12158  	// slightly more often to smooth out the flicker. This setting is disabled by
 12159  	// default. Related setting: In addition to enabling this setting, you must
 12160  	// also set adaptiveQuantization to a value other than Off (OFF).
 12161  	FlickerAdaptiveQuantization *string `locationName:"flickerAdaptiveQuantization" type:"string" enum:"H265FlickerAdaptiveQuantization"`
 12162  
 12163  	// If you are using the console, use the Framerate setting to specify the frame
 12164  	// rate for this output. If you want to keep the same frame rate as the input
 12165  	// video, choose Follow source. If you want to do frame rate conversion, choose
 12166  	// a frame rate from the dropdown list or choose Custom. The framerates shown
 12167  	// in the dropdown list are decimal approximations of fractions. If you choose
 12168  	// Custom, specify your frame rate as a fraction. If you are creating your transcoding
 12169  	// job specification as a JSON file without the console, use FramerateControl
 12170  	// to specify which value the service uses for the frame rate for this output.
 12171  	// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 12172  	// from the input. Choose SPECIFIED if you want the service to use the frame
 12173  	// rate you specify in the settings FramerateNumerator and FramerateDenominator.
 12174  	FramerateControl *string `locationName:"framerateControl" type:"string" enum:"H265FramerateControl"`
 12175  
 12176  	// Choose the method that you want MediaConvert to use when increasing or decreasing
 12177  	// the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 12178  	// simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 12179  	// you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 12180  	// smooth picture, but might introduce undesirable video artifacts. For complex
 12181  	// frame rate conversions, especially if your source video has already been
 12182  	// converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 12183  	// motion-compensated interpolation. FrameFormer chooses the best conversion
 12184  	// method frame by frame. Note that using FrameFormer increases the transcoding
 12185  	// time and incurs a significant add-on cost.
 12186  	FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"H265FramerateConversionAlgorithm"`
 12187  
 12188  	// When you use the API for transcode jobs that use frame rate conversion, specify
 12189  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
 12190  	// FramerateDenominator to specify the denominator of this fraction. In this
 12191  	// example, use 1001 for the value of FramerateDenominator. When you use the
 12192  	// console for transcode jobs that use frame rate conversion, provide the value
 12193  	// as a decimal number for Framerate. In this example, specify 23.976.
 12194  	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
 12195  
 12196  	// When you use the API for transcode jobs that use frame rate conversion, specify
 12197  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
 12198  	// FramerateNumerator to specify the numerator of this fraction. In this example,
 12199  	// use 24000 for the value of FramerateNumerator. When you use the console for
 12200  	// transcode jobs that use frame rate conversion, provide the value as a decimal
 12201  	// number for Framerate. In this example, specify 23.976.
 12202  	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"`
 12203  
 12204  	// If enable, use reference B frames for GOP structures that have B frames >
 12205  	// 1.
 12206  	GopBReference *string `locationName:"gopBReference" type:"string" enum:"H265GopBReference"`
 12207  
 12208  	// Frequency of closed GOPs. In streaming applications, it is recommended that
 12209  	// this be set to 1 so a decoder joining mid-stream will receive an IDR frame
 12210  	// as quickly as possible. Setting this value to 0 will break output segmenting.
 12211  	GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"`
 12212  
 12213  	// GOP Length (keyframe interval) in frames or seconds. Must be greater than
 12214  	// zero.
 12215  	GopSize *float64 `locationName:"gopSize" type:"double"`
 12216  
 12217  	// Indicates if the GOP Size in H265 is specified in frames or seconds. If seconds
 12218  	// the system will convert the GOP Size into a frame count at run time.
 12219  	GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H265GopSizeUnits"`
 12220  
 12221  	// Percentage of the buffer that should initially be filled (HRD buffer model).
 12222  	HrdBufferInitialFillPercentage *int64 `locationName:"hrdBufferInitialFillPercentage" type:"integer"`
 12223  
 12224  	// Size of buffer (HRD buffer model) in bits. For example, enter five megabits
 12225  	// as 5000000.
 12226  	HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"`
 12227  
 12228  	// Choose the scan line type for the output. Keep the default value, Progressive
 12229  	// (PROGRESSIVE) to create a progressive output, regardless of the scan type
 12230  	// of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD)
 12231  	// to create an output that's interlaced with the same field polarity throughout.
 12232  	// Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD)
 12233  	// to produce outputs with the same field polarity as the source. For jobs that
 12234  	// have multiple inputs, the output field polarity might change over the course
 12235  	// of the output. Follow behavior depends on the input scan type. If the source
 12236  	// is interlaced, the output will be interlaced with the same polarity as the
 12237  	// source. If the source is progressive, the output will be interlaced with
 12238  	// top field bottom field first, depending on which of the Follow options you
 12239  	// choose.
 12240  	InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"H265InterlaceMode"`
 12241  
 12242  	// Maximum bitrate in bits/second. For example, enter five megabits per second
 12243  	// as 5000000. Required when Rate control mode is QVBR.
 12244  	MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"`
 12245  
 12246  	// Enforces separation between repeated (cadence) I-frames and I-frames inserted
 12247  	// by Scene Change Detection. If a scene change I-frame is within I-interval
 12248  	// frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene
 12249  	// change I-frame. GOP stretch requires enabling lookahead as well as setting
 12250  	// I-interval. The normal cadence resumes for the next GOP. This setting is
 12251  	// only used when Scene Change Detect is enabled. Note: Maximum GOP stretch
 12252  	// = GOP size + Min-I-interval - 1
 12253  	MinIInterval *int64 `locationName:"minIInterval" type:"integer"`
 12254  
 12255  	// Specify the number of B-frames that MediaConvert puts between reference frames
 12256  	// in this output. Valid values are whole numbers from 0 through 7. When you
 12257  	// don't specify a value, MediaConvert defaults to 2.
 12258  	NumberBFramesBetweenReferenceFrames *int64 `locationName:"numberBFramesBetweenReferenceFrames" type:"integer"`
 12259  
 12260  	// Number of reference frames to use. The encoder may use more than requested
 12261  	// if using B-frames and/or interlaced encoding.
 12262  	NumberReferenceFrames *int64 `locationName:"numberReferenceFrames" min:"1" type:"integer"`
 12263  
 12264  	// Optional. Specify how the service determines the pixel aspect ratio (PAR)
 12265  	// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE),
 12266  	// uses the PAR from your input video for your output. To specify a different
 12267  	// PAR in the console, choose any value other than Follow source. To specify
 12268  	// a different PAR by editing the JSON job specification, choose SPECIFIED.
 12269  	// When you choose SPECIFIED for this setting, you must also specify values
 12270  	// for the parNumerator and parDenominator settings.
 12271  	ParControl *string `locationName:"parControl" type:"string" enum:"H265ParControl"`
 12272  
 12273  	// Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the
 12274  	// console, this corresponds to any value other than Follow source. When you
 12275  	// specify an output pixel aspect ratio (PAR) that is different from your input
 12276  	// video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC
 12277  	// widescreen, you would specify the ratio 40:33. In this example, the value
 12278  	// for parDenominator is 33.
 12279  	ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"`
 12280  
 12281  	// Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the
 12282  	// console, this corresponds to any value other than Follow source. When you
 12283  	// specify an output pixel aspect ratio (PAR) that is different from your input
 12284  	// video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC
 12285  	// widescreen, you would specify the ratio 40:33. In this example, the value
 12286  	// for parNumerator is 40.
 12287  	ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"`
 12288  
 12289  	// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you
 12290  	// want to trade off encoding speed for output video quality. The default behavior
 12291  	// is faster, lower quality, single-pass encoding.
 12292  	QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"H265QualityTuningLevel"`
 12293  
 12294  	// Settings for quality-defined variable bitrate encoding with the H.265 codec.
 12295  	// Use these settings only when you set QVBR for Rate control mode (RateControlMode).
 12296  	QvbrSettings *H265QvbrSettings `locationName:"qvbrSettings" type:"structure"`
 12297  
 12298  	// Use this setting to specify whether this output has a variable bitrate (VBR),
 12299  	// constant bitrate (CBR) or quality-defined variable bitrate (QVBR).
 12300  	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H265RateControlMode"`
 12301  
 12302  	// Specify Sample Adaptive Offset (SAO) filter strength. Adaptive mode dynamically
 12303  	// selects best strength based on content
 12304  	SampleAdaptiveOffsetFilterMode *string `locationName:"sampleAdaptiveOffsetFilterMode" type:"string" enum:"H265SampleAdaptiveOffsetFilterMode"`
 12305  
 12306  	// Use this setting for interlaced outputs, when your output frame rate is half
 12307  	// of your input frame rate. In this situation, choose Optimized interlacing
 12308  	// (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this
 12309  	// case, each progressive frame from the input corresponds to an interlaced
 12310  	// field in the output. Keep the default value, Basic interlacing (INTERLACED),
 12311  	// for all other output frame rates. With basic interlacing, MediaConvert performs
 12312  	// any frame rate conversion first and then interlaces the frames. When you
 12313  	// choose Optimized interlacing and you set your output frame rate to a value
 12314  	// that isn't suitable for optimized interlacing, MediaConvert automatically
 12315  	// falls back to basic interlacing. Required settings: To use optimized interlacing,
 12316  	// you must set Telecine (telecine) to None (NONE) or Soft (SOFT). You can't
 12317  	// use optimized interlacing for hard telecine outputs. You must also set Interlace
 12318  	// mode (interlaceMode) to a value other than Progressive (PROGRESSIVE).
 12319  	ScanTypeConversionMode *string `locationName:"scanTypeConversionMode" type:"string" enum:"H265ScanTypeConversionMode"`
 12320  
 12321  	// Enable this setting to insert I-frames at scene changes that the service
 12322  	// automatically detects. This improves video quality and is enabled by default.
 12323  	// If this output uses QVBR, choose Transition detection (TRANSITION_DETECTION)
 12324  	// for further video quality improvement. For more information about QVBR, see
 12325  	// https://docs.aws.amazon.com/console/mediaconvert/cbr-vbr-qvbr.
 12326  	SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H265SceneChangeDetect"`
 12327  
 12328  	// Number of slices per picture. Must be less than or equal to the number of
 12329  	// macroblock rows for progressive pictures, and less than or equal to half
 12330  	// the number of macroblock rows for interlaced pictures.
 12331  	Slices *int64 `locationName:"slices" min:"1" type:"integer"`
 12332  
 12333  	// Ignore this setting unless your input frame rate is 23.976 or 24 frames per
 12334  	// second (fps). Enable slow PAL to create a 25 fps output. When you enable
 12335  	// slow PAL, MediaConvert relabels the video frames to 25 fps and resamples
 12336  	// your audio to keep it synchronized with the video. Note that enabling this
 12337  	// setting will slightly reduce the duration of your video. Required settings:
 12338  	// You must also set Framerate to 25. In your JSON job specification, set (framerateControl)
 12339  	// to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to
 12340  	// 1.
 12341  	SlowPal *string `locationName:"slowPal" type:"string" enum:"H265SlowPal"`
 12342  
 12343  	// Keep the default value, Enabled (ENABLED), to adjust quantization within
 12344  	// each frame based on spatial variation of content complexity. When you enable
 12345  	// this feature, the encoder uses fewer bits on areas that can sustain more
 12346  	// distortion with no noticeable visual degradation and uses more bits on areas
 12347  	// where any small distortion will be noticeable. For example, complex textured
 12348  	// blocks are encoded with fewer bits and smooth textured blocks are encoded
 12349  	// with more bits. Enabling this feature will almost always improve your video
 12350  	// quality. Note, though, that this feature doesn't take into account where
 12351  	// the viewer's attention is likely to be. If viewers are likely to be focusing
 12352  	// their attention on a part of the screen with a lot of complex texture, you
 12353  	// might choose to disable this feature. Related setting: When you enable spatial
 12354  	// adaptive quantization, set the value for Adaptive quantization (adaptiveQuantization)
 12355  	// depending on your content. For homogeneous content, such as cartoons and
 12356  	// video games, set it to Low. For content with a wider variety of textures,
 12357  	// set it to High or Higher.
 12358  	SpatialAdaptiveQuantization *string `locationName:"spatialAdaptiveQuantization" type:"string" enum:"H265SpatialAdaptiveQuantization"`
 12359  
 12360  	// This field applies only if the Streams > Advanced > Framerate (framerate)
 12361  	// field is set to 29.970. This field works with the Streams > Advanced > Preprocessors
 12362  	// > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced
 12363  	// Mode field (interlace_mode) to identify the scan type for the output: Progressive,
 12364  	// Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output
 12365  	// from 23.976 input. - Soft: produces 23.976; the player converts this output
 12366  	// to 29.97i.
 12367  	Telecine *string `locationName:"telecine" type:"string" enum:"H265Telecine"`
 12368  
 12369  	// Keep the default value, Enabled (ENABLED), to adjust quantization within
 12370  	// each frame based on temporal variation of content complexity. When you enable
 12371  	// this feature, the encoder uses fewer bits on areas of the frame that aren't
 12372  	// moving and uses more bits on complex objects with sharp edges that move a
 12373  	// lot. For example, this feature improves the readability of text tickers on
 12374  	// newscasts and scoreboards on sports matches. Enabling this feature will almost
 12375  	// always improve your video quality. Note, though, that this feature doesn't
 12376  	// take into account where the viewer's attention is likely to be. If viewers
 12377  	// are likely to be focusing their attention on a part of the screen that doesn't
 12378  	// have moving objects with sharp edges, such as sports athletes' faces, you
 12379  	// might choose to disable this feature. Related setting: When you enable temporal
 12380  	// quantization, adjust the strength of the filter with the setting Adaptive
 12381  	// quantization (adaptiveQuantization).
 12382  	TemporalAdaptiveQuantization *string `locationName:"temporalAdaptiveQuantization" type:"string" enum:"H265TemporalAdaptiveQuantization"`
 12383  
 12384  	// Enables temporal layer identifiers in the encoded bitstream. Up to 3 layers
 12385  	// are supported depending on GOP structure: I- and P-frames form one layer,
 12386  	// reference B-frames can form a second layer and non-reference b-frames can
 12387  	// form a third layer. Decoders can optionally decode only the lower temporal
 12388  	// layers to generate a lower frame rate output. For example, given a bitstream
 12389  	// with temporal IDs and with b-frames = 1 (i.e. IbPbPb display order), a decoder
 12390  	// could decode all the frames for full frame rate output or only the I and
 12391  	// P frames (lowest temporal layer) for a half frame rate output.
 12392  	TemporalIds *string `locationName:"temporalIds" type:"string" enum:"H265TemporalIds"`
 12393  
 12394  	// Enable use of tiles, allowing horizontal as well as vertical subdivision
 12395  	// of the encoded pictures.
 12396  	Tiles *string `locationName:"tiles" type:"string" enum:"H265Tiles"`
 12397  
 12398  	// Inserts timecode for each frame as 4 bytes of an unregistered SEI message.
 12399  	UnregisteredSeiTimecode *string `locationName:"unregisteredSeiTimecode" type:"string" enum:"H265UnregisteredSeiTimecode"`
 12400  
 12401  	// If the location of parameter set NAL units doesn't matter in your workflow,
 12402  	// ignore this setting. Use this setting only with CMAF or DASH outputs, or
 12403  	// with standalone file outputs in an MPEG-4 container (MP4 outputs). Choose
 12404  	// HVC1 to mark your output as HVC1. This makes your output compliant with the
 12405  	// following specification: ISO IECJTC1 SC29 N13798 Text ISO/IEC FDIS 14496-15
 12406  	// 3rd Edition. For these outputs, the service stores parameter set NAL units
 12407  	// in the sample headers but not in the samples directly. For MP4 outputs, when
 12408  	// you choose HVC1, your output video might not work properly with some downstream
 12409  	// systems and video players. The service defaults to marking your output as
 12410  	// HEV1. For these outputs, the service writes parameter set NAL units directly
 12411  	// into the samples.
 12412  	WriteMp4PackagingType *string `locationName:"writeMp4PackagingType" type:"string" enum:"H265WriteMp4PackagingType"`
 12413  }
 12414  
 12415  // String returns the string representation.
 12416  //
 12417  // API parameter values that are decorated as "sensitive" in the API will not
 12418  // be included in the string output. The member name will be present, but the
 12419  // value will be replaced with "sensitive".
 12420  func (s H265Settings) String() string {
 12421  	return awsutil.Prettify(s)
 12422  }
 12423  
 12424  // GoString returns the string representation.
 12425  //
 12426  // API parameter values that are decorated as "sensitive" in the API will not
 12427  // be included in the string output. The member name will be present, but the
 12428  // value will be replaced with "sensitive".
 12429  func (s H265Settings) GoString() string {
 12430  	return s.String()
 12431  }
 12432  
 12433  // Validate inspects the fields of the type to determine if they are valid.
 12434  func (s *H265Settings) Validate() error {
 12435  	invalidParams := request.ErrInvalidParams{Context: "H265Settings"}
 12436  	if s.Bitrate != nil && *s.Bitrate < 1000 {
 12437  		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000))
 12438  	}
 12439  	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
 12440  		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
 12441  	}
 12442  	if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 {
 12443  		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1))
 12444  	}
 12445  	if s.MaxBitrate != nil && *s.MaxBitrate < 1000 {
 12446  		invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000))
 12447  	}
 12448  	if s.NumberReferenceFrames != nil && *s.NumberReferenceFrames < 1 {
 12449  		invalidParams.Add(request.NewErrParamMinValue("NumberReferenceFrames", 1))
 12450  	}
 12451  	if s.ParDenominator != nil && *s.ParDenominator < 1 {
 12452  		invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1))
 12453  	}
 12454  	if s.ParNumerator != nil && *s.ParNumerator < 1 {
 12455  		invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1))
 12456  	}
 12457  	if s.Slices != nil && *s.Slices < 1 {
 12458  		invalidParams.Add(request.NewErrParamMinValue("Slices", 1))
 12459  	}
 12460  	if s.QvbrSettings != nil {
 12461  		if err := s.QvbrSettings.Validate(); err != nil {
 12462  			invalidParams.AddNested("QvbrSettings", err.(request.ErrInvalidParams))
 12463  		}
 12464  	}
 12465  
 12466  	if invalidParams.Len() > 0 {
 12467  		return invalidParams
 12468  	}
 12469  	return nil
 12470  }
 12471  
 12472  // SetAdaptiveQuantization sets the AdaptiveQuantization field's value.
 12473  func (s *H265Settings) SetAdaptiveQuantization(v string) *H265Settings {
 12474  	s.AdaptiveQuantization = &v
 12475  	return s
 12476  }
 12477  
 12478  // SetAlternateTransferFunctionSei sets the AlternateTransferFunctionSei field's value.
 12479  func (s *H265Settings) SetAlternateTransferFunctionSei(v string) *H265Settings {
 12480  	s.AlternateTransferFunctionSei = &v
 12481  	return s
 12482  }
 12483  
 12484  // SetBitrate sets the Bitrate field's value.
 12485  func (s *H265Settings) SetBitrate(v int64) *H265Settings {
 12486  	s.Bitrate = &v
 12487  	return s
 12488  }
 12489  
 12490  // SetCodecLevel sets the CodecLevel field's value.
 12491  func (s *H265Settings) SetCodecLevel(v string) *H265Settings {
 12492  	s.CodecLevel = &v
 12493  	return s
 12494  }
 12495  
 12496  // SetCodecProfile sets the CodecProfile field's value.
 12497  func (s *H265Settings) SetCodecProfile(v string) *H265Settings {
 12498  	s.CodecProfile = &v
 12499  	return s
 12500  }
 12501  
 12502  // SetDynamicSubGop sets the DynamicSubGop field's value.
 12503  func (s *H265Settings) SetDynamicSubGop(v string) *H265Settings {
 12504  	s.DynamicSubGop = &v
 12505  	return s
 12506  }
 12507  
 12508  // SetFlickerAdaptiveQuantization sets the FlickerAdaptiveQuantization field's value.
 12509  func (s *H265Settings) SetFlickerAdaptiveQuantization(v string) *H265Settings {
 12510  	s.FlickerAdaptiveQuantization = &v
 12511  	return s
 12512  }
 12513  
 12514  // SetFramerateControl sets the FramerateControl field's value.
 12515  func (s *H265Settings) SetFramerateControl(v string) *H265Settings {
 12516  	s.FramerateControl = &v
 12517  	return s
 12518  }
 12519  
 12520  // SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value.
 12521  func (s *H265Settings) SetFramerateConversionAlgorithm(v string) *H265Settings {
 12522  	s.FramerateConversionAlgorithm = &v
 12523  	return s
 12524  }
 12525  
 12526  // SetFramerateDenominator sets the FramerateDenominator field's value.
 12527  func (s *H265Settings) SetFramerateDenominator(v int64) *H265Settings {
 12528  	s.FramerateDenominator = &v
 12529  	return s
 12530  }
 12531  
 12532  // SetFramerateNumerator sets the FramerateNumerator field's value.
 12533  func (s *H265Settings) SetFramerateNumerator(v int64) *H265Settings {
 12534  	s.FramerateNumerator = &v
 12535  	return s
 12536  }
 12537  
 12538  // SetGopBReference sets the GopBReference field's value.
 12539  func (s *H265Settings) SetGopBReference(v string) *H265Settings {
 12540  	s.GopBReference = &v
 12541  	return s
 12542  }
 12543  
 12544  // SetGopClosedCadence sets the GopClosedCadence field's value.
 12545  func (s *H265Settings) SetGopClosedCadence(v int64) *H265Settings {
 12546  	s.GopClosedCadence = &v
 12547  	return s
 12548  }
 12549  
 12550  // SetGopSize sets the GopSize field's value.
 12551  func (s *H265Settings) SetGopSize(v float64) *H265Settings {
 12552  	s.GopSize = &v
 12553  	return s
 12554  }
 12555  
 12556  // SetGopSizeUnits sets the GopSizeUnits field's value.
 12557  func (s *H265Settings) SetGopSizeUnits(v string) *H265Settings {
 12558  	s.GopSizeUnits = &v
 12559  	return s
 12560  }
 12561  
 12562  // SetHrdBufferInitialFillPercentage sets the HrdBufferInitialFillPercentage field's value.
 12563  func (s *H265Settings) SetHrdBufferInitialFillPercentage(v int64) *H265Settings {
 12564  	s.HrdBufferInitialFillPercentage = &v
 12565  	return s
 12566  }
 12567  
 12568  // SetHrdBufferSize sets the HrdBufferSize field's value.
 12569  func (s *H265Settings) SetHrdBufferSize(v int64) *H265Settings {
 12570  	s.HrdBufferSize = &v
 12571  	return s
 12572  }
 12573  
 12574  // SetInterlaceMode sets the InterlaceMode field's value.
 12575  func (s *H265Settings) SetInterlaceMode(v string) *H265Settings {
 12576  	s.InterlaceMode = &v
 12577  	return s
 12578  }
 12579  
 12580  // SetMaxBitrate sets the MaxBitrate field's value.
 12581  func (s *H265Settings) SetMaxBitrate(v int64) *H265Settings {
 12582  	s.MaxBitrate = &v
 12583  	return s
 12584  }
 12585  
 12586  // SetMinIInterval sets the MinIInterval field's value.
 12587  func (s *H265Settings) SetMinIInterval(v int64) *H265Settings {
 12588  	s.MinIInterval = &v
 12589  	return s
 12590  }
 12591  
 12592  // SetNumberBFramesBetweenReferenceFrames sets the NumberBFramesBetweenReferenceFrames field's value.
 12593  func (s *H265Settings) SetNumberBFramesBetweenReferenceFrames(v int64) *H265Settings {
 12594  	s.NumberBFramesBetweenReferenceFrames = &v
 12595  	return s
 12596  }
 12597  
 12598  // SetNumberReferenceFrames sets the NumberReferenceFrames field's value.
 12599  func (s *H265Settings) SetNumberReferenceFrames(v int64) *H265Settings {
 12600  	s.NumberReferenceFrames = &v
 12601  	return s
 12602  }
 12603  
 12604  // SetParControl sets the ParControl field's value.
 12605  func (s *H265Settings) SetParControl(v string) *H265Settings {
 12606  	s.ParControl = &v
 12607  	return s
 12608  }
 12609  
 12610  // SetParDenominator sets the ParDenominator field's value.
 12611  func (s *H265Settings) SetParDenominator(v int64) *H265Settings {
 12612  	s.ParDenominator = &v
 12613  	return s
 12614  }
 12615  
 12616  // SetParNumerator sets the ParNumerator field's value.
 12617  func (s *H265Settings) SetParNumerator(v int64) *H265Settings {
 12618  	s.ParNumerator = &v
 12619  	return s
 12620  }
 12621  
 12622  // SetQualityTuningLevel sets the QualityTuningLevel field's value.
 12623  func (s *H265Settings) SetQualityTuningLevel(v string) *H265Settings {
 12624  	s.QualityTuningLevel = &v
 12625  	return s
 12626  }
 12627  
 12628  // SetQvbrSettings sets the QvbrSettings field's value.
 12629  func (s *H265Settings) SetQvbrSettings(v *H265QvbrSettings) *H265Settings {
 12630  	s.QvbrSettings = v
 12631  	return s
 12632  }
 12633  
 12634  // SetRateControlMode sets the RateControlMode field's value.
 12635  func (s *H265Settings) SetRateControlMode(v string) *H265Settings {
 12636  	s.RateControlMode = &v
 12637  	return s
 12638  }
 12639  
 12640  // SetSampleAdaptiveOffsetFilterMode sets the SampleAdaptiveOffsetFilterMode field's value.
 12641  func (s *H265Settings) SetSampleAdaptiveOffsetFilterMode(v string) *H265Settings {
 12642  	s.SampleAdaptiveOffsetFilterMode = &v
 12643  	return s
 12644  }
 12645  
 12646  // SetScanTypeConversionMode sets the ScanTypeConversionMode field's value.
 12647  func (s *H265Settings) SetScanTypeConversionMode(v string) *H265Settings {
 12648  	s.ScanTypeConversionMode = &v
 12649  	return s
 12650  }
 12651  
 12652  // SetSceneChangeDetect sets the SceneChangeDetect field's value.
 12653  func (s *H265Settings) SetSceneChangeDetect(v string) *H265Settings {
 12654  	s.SceneChangeDetect = &v
 12655  	return s
 12656  }
 12657  
 12658  // SetSlices sets the Slices field's value.
 12659  func (s *H265Settings) SetSlices(v int64) *H265Settings {
 12660  	s.Slices = &v
 12661  	return s
 12662  }
 12663  
 12664  // SetSlowPal sets the SlowPal field's value.
 12665  func (s *H265Settings) SetSlowPal(v string) *H265Settings {
 12666  	s.SlowPal = &v
 12667  	return s
 12668  }
 12669  
 12670  // SetSpatialAdaptiveQuantization sets the SpatialAdaptiveQuantization field's value.
 12671  func (s *H265Settings) SetSpatialAdaptiveQuantization(v string) *H265Settings {
 12672  	s.SpatialAdaptiveQuantization = &v
 12673  	return s
 12674  }
 12675  
 12676  // SetTelecine sets the Telecine field's value.
 12677  func (s *H265Settings) SetTelecine(v string) *H265Settings {
 12678  	s.Telecine = &v
 12679  	return s
 12680  }
 12681  
 12682  // SetTemporalAdaptiveQuantization sets the TemporalAdaptiveQuantization field's value.
 12683  func (s *H265Settings) SetTemporalAdaptiveQuantization(v string) *H265Settings {
 12684  	s.TemporalAdaptiveQuantization = &v
 12685  	return s
 12686  }
 12687  
 12688  // SetTemporalIds sets the TemporalIds field's value.
 12689  func (s *H265Settings) SetTemporalIds(v string) *H265Settings {
 12690  	s.TemporalIds = &v
 12691  	return s
 12692  }
 12693  
 12694  // SetTiles sets the Tiles field's value.
 12695  func (s *H265Settings) SetTiles(v string) *H265Settings {
 12696  	s.Tiles = &v
 12697  	return s
 12698  }
 12699  
 12700  // SetUnregisteredSeiTimecode sets the UnregisteredSeiTimecode field's value.
 12701  func (s *H265Settings) SetUnregisteredSeiTimecode(v string) *H265Settings {
 12702  	s.UnregisteredSeiTimecode = &v
 12703  	return s
 12704  }
 12705  
 12706  // SetWriteMp4PackagingType sets the WriteMp4PackagingType field's value.
 12707  func (s *H265Settings) SetWriteMp4PackagingType(v string) *H265Settings {
 12708  	s.WriteMp4PackagingType = &v
 12709  	return s
 12710  }
 12711  
 12712  // Use these settings to specify static color calibration metadata, as defined
 12713  // by SMPTE ST 2086. These values don't affect the pixel values that are encoded
 12714  // in the video stream. They are intended to help the downstream video player
 12715  // display content in a way that reflects the intentions of the the content
 12716  // creator.
 12717  type Hdr10Metadata struct {
 12718  	_ struct{} `type:"structure"`
 12719  
 12720  	// HDR Master Display Information must be provided by a color grader, using
 12721  	// color grading tools. Range is 0 to 50,000, each increment represents 0.00002
 12722  	// in CIE1931 color coordinate. Note that this setting is not for color correction.
 12723  	BluePrimaryX *int64 `locationName:"bluePrimaryX" type:"integer"`
 12724  
 12725  	// HDR Master Display Information must be provided by a color grader, using
 12726  	// color grading tools. Range is 0 to 50,000, each increment represents 0.00002
 12727  	// in CIE1931 color coordinate. Note that this setting is not for color correction.
 12728  	BluePrimaryY *int64 `locationName:"bluePrimaryY" type:"integer"`
 12729  
 12730  	// HDR Master Display Information must be provided by a color grader, using
 12731  	// color grading tools. Range is 0 to 50,000, each increment represents 0.00002
 12732  	// in CIE1931 color coordinate. Note that this setting is not for color correction.
 12733  	GreenPrimaryX *int64 `locationName:"greenPrimaryX" type:"integer"`
 12734  
 12735  	// HDR Master Display Information must be provided by a color grader, using
 12736  	// color grading tools. Range is 0 to 50,000, each increment represents 0.00002
 12737  	// in CIE1931 color coordinate. Note that this setting is not for color correction.
 12738  	GreenPrimaryY *int64 `locationName:"greenPrimaryY" type:"integer"`
 12739  
 12740  	// Maximum light level among all samples in the coded video sequence, in units
 12741  	// of candelas per square meter. This setting doesn't have a default value;
 12742  	// you must specify a value that is suitable for the content.
 12743  	MaxContentLightLevel *int64 `locationName:"maxContentLightLevel" type:"integer"`
 12744  
 12745  	// Maximum average light level of any frame in the coded video sequence, in
 12746  	// units of candelas per square meter. This setting doesn't have a default value;
 12747  	// you must specify a value that is suitable for the content.
 12748  	MaxFrameAverageLightLevel *int64 `locationName:"maxFrameAverageLightLevel" type:"integer"`
 12749  
 12750  	// Nominal maximum mastering display luminance in units of of 0.0001 candelas
 12751  	// per square meter.
 12752  	MaxLuminance *int64 `locationName:"maxLuminance" type:"integer"`
 12753  
 12754  	// Nominal minimum mastering display luminance in units of of 0.0001 candelas
 12755  	// per square meter
 12756  	MinLuminance *int64 `locationName:"minLuminance" type:"integer"`
 12757  
 12758  	// HDR Master Display Information must be provided by a color grader, using
 12759  	// color grading tools. Range is 0 to 50,000, each increment represents 0.00002
 12760  	// in CIE1931 color coordinate. Note that this setting is not for color correction.
 12761  	RedPrimaryX *int64 `locationName:"redPrimaryX" type:"integer"`
 12762  
 12763  	// HDR Master Display Information must be provided by a color grader, using
 12764  	// color grading tools. Range is 0 to 50,000, each increment represents 0.00002
 12765  	// in CIE1931 color coordinate. Note that this setting is not for color correction.
 12766  	RedPrimaryY *int64 `locationName:"redPrimaryY" type:"integer"`
 12767  
 12768  	// HDR Master Display Information must be provided by a color grader, using
 12769  	// color grading tools. Range is 0 to 50,000, each increment represents 0.00002
 12770  	// in CIE1931 color coordinate. Note that this setting is not for color correction.
 12771  	WhitePointX *int64 `locationName:"whitePointX" type:"integer"`
 12772  
 12773  	// HDR Master Display Information must be provided by a color grader, using
 12774  	// color grading tools. Range is 0 to 50,000, each increment represents 0.00002
 12775  	// in CIE1931 color coordinate. Note that this setting is not for color correction.
 12776  	WhitePointY *int64 `locationName:"whitePointY" type:"integer"`
 12777  }
 12778  
 12779  // String returns the string representation.
 12780  //
 12781  // API parameter values that are decorated as "sensitive" in the API will not
 12782  // be included in the string output. The member name will be present, but the
 12783  // value will be replaced with "sensitive".
 12784  func (s Hdr10Metadata) String() string {
 12785  	return awsutil.Prettify(s)
 12786  }
 12787  
 12788  // GoString returns the string representation.
 12789  //
 12790  // API parameter values that are decorated as "sensitive" in the API will not
 12791  // be included in the string output. The member name will be present, but the
 12792  // value will be replaced with "sensitive".
 12793  func (s Hdr10Metadata) GoString() string {
 12794  	return s.String()
 12795  }
 12796  
 12797  // SetBluePrimaryX sets the BluePrimaryX field's value.
 12798  func (s *Hdr10Metadata) SetBluePrimaryX(v int64) *Hdr10Metadata {
 12799  	s.BluePrimaryX = &v
 12800  	return s
 12801  }
 12802  
 12803  // SetBluePrimaryY sets the BluePrimaryY field's value.
 12804  func (s *Hdr10Metadata) SetBluePrimaryY(v int64) *Hdr10Metadata {
 12805  	s.BluePrimaryY = &v
 12806  	return s
 12807  }
 12808  
 12809  // SetGreenPrimaryX sets the GreenPrimaryX field's value.
 12810  func (s *Hdr10Metadata) SetGreenPrimaryX(v int64) *Hdr10Metadata {
 12811  	s.GreenPrimaryX = &v
 12812  	return s
 12813  }
 12814  
 12815  // SetGreenPrimaryY sets the GreenPrimaryY field's value.
 12816  func (s *Hdr10Metadata) SetGreenPrimaryY(v int64) *Hdr10Metadata {
 12817  	s.GreenPrimaryY = &v
 12818  	return s
 12819  }
 12820  
 12821  // SetMaxContentLightLevel sets the MaxContentLightLevel field's value.
 12822  func (s *Hdr10Metadata) SetMaxContentLightLevel(v int64) *Hdr10Metadata {
 12823  	s.MaxContentLightLevel = &v
 12824  	return s
 12825  }
 12826  
 12827  // SetMaxFrameAverageLightLevel sets the MaxFrameAverageLightLevel field's value.
 12828  func (s *Hdr10Metadata) SetMaxFrameAverageLightLevel(v int64) *Hdr10Metadata {
 12829  	s.MaxFrameAverageLightLevel = &v
 12830  	return s
 12831  }
 12832  
 12833  // SetMaxLuminance sets the MaxLuminance field's value.
 12834  func (s *Hdr10Metadata) SetMaxLuminance(v int64) *Hdr10Metadata {
 12835  	s.MaxLuminance = &v
 12836  	return s
 12837  }
 12838  
 12839  // SetMinLuminance sets the MinLuminance field's value.
 12840  func (s *Hdr10Metadata) SetMinLuminance(v int64) *Hdr10Metadata {
 12841  	s.MinLuminance = &v
 12842  	return s
 12843  }
 12844  
 12845  // SetRedPrimaryX sets the RedPrimaryX field's value.
 12846  func (s *Hdr10Metadata) SetRedPrimaryX(v int64) *Hdr10Metadata {
 12847  	s.RedPrimaryX = &v
 12848  	return s
 12849  }
 12850  
 12851  // SetRedPrimaryY sets the RedPrimaryY field's value.
 12852  func (s *Hdr10Metadata) SetRedPrimaryY(v int64) *Hdr10Metadata {
 12853  	s.RedPrimaryY = &v
 12854  	return s
 12855  }
 12856  
 12857  // SetWhitePointX sets the WhitePointX field's value.
 12858  func (s *Hdr10Metadata) SetWhitePointX(v int64) *Hdr10Metadata {
 12859  	s.WhitePointX = &v
 12860  	return s
 12861  }
 12862  
 12863  // SetWhitePointY sets the WhitePointY field's value.
 12864  func (s *Hdr10Metadata) SetWhitePointY(v int64) *Hdr10Metadata {
 12865  	s.WhitePointY = &v
 12866  	return s
 12867  }
 12868  
 12869  // Setting for HDR10+ metadata insertion
 12870  type Hdr10Plus struct {
 12871  	_ struct{} `type:"structure"`
 12872  
 12873  	// Specify the HDR10+ mastering display normalized peak luminance, in nits.
 12874  	// This is the normalized actual peak luminance of the mastering display, as
 12875  	// defined by ST 2094-40.
 12876  	MasteringMonitorNits *int64 `locationName:"masteringMonitorNits" type:"integer"`
 12877  
 12878  	// Specify the HDR10+ target display nominal peak luminance, in nits. This is
 12879  	// the nominal maximum luminance of the target display as defined by ST 2094-40.
 12880  	TargetMonitorNits *int64 `locationName:"targetMonitorNits" type:"integer"`
 12881  }
 12882  
 12883  // String returns the string representation.
 12884  //
 12885  // API parameter values that are decorated as "sensitive" in the API will not
 12886  // be included in the string output. The member name will be present, but the
 12887  // value will be replaced with "sensitive".
 12888  func (s Hdr10Plus) String() string {
 12889  	return awsutil.Prettify(s)
 12890  }
 12891  
 12892  // GoString returns the string representation.
 12893  //
 12894  // API parameter values that are decorated as "sensitive" in the API will not
 12895  // be included in the string output. The member name will be present, but the
 12896  // value will be replaced with "sensitive".
 12897  func (s Hdr10Plus) GoString() string {
 12898  	return s.String()
 12899  }
 12900  
 12901  // SetMasteringMonitorNits sets the MasteringMonitorNits field's value.
 12902  func (s *Hdr10Plus) SetMasteringMonitorNits(v int64) *Hdr10Plus {
 12903  	s.MasteringMonitorNits = &v
 12904  	return s
 12905  }
 12906  
 12907  // SetTargetMonitorNits sets the TargetMonitorNits field's value.
 12908  func (s *Hdr10Plus) SetTargetMonitorNits(v int64) *Hdr10Plus {
 12909  	s.TargetMonitorNits = &v
 12910  	return s
 12911  }
 12912  
 12913  // Specify the details for each additional HLS manifest that you want the service
 12914  // to generate for this output group. Each manifest can reference a different
 12915  // subset of outputs in the group.
 12916  type HlsAdditionalManifest struct {
 12917  	_ struct{} `type:"structure"`
 12918  
 12919  	// Specify a name modifier that the service adds to the name of this manifest
 12920  	// to make it different from the file names of the other main manifests in the
 12921  	// output group. For example, say that the default main manifest for your HLS
 12922  	// group is film-name.m3u8. If you enter "-no-premium" for this setting, then
 12923  	// the file name the service generates for this top-level manifest is film-name-no-premium.m3u8.
 12924  	// For HLS output groups, specify a manifestNameModifier that is different from
 12925  	// the nameModifier of the output. The service uses the output name modifier
 12926  	// to create unique names for the individual variant manifests.
 12927  	ManifestNameModifier *string `locationName:"manifestNameModifier" min:"1" type:"string"`
 12928  
 12929  	// Specify the outputs that you want this additional top-level manifest to reference.
 12930  	SelectedOutputs []*string `locationName:"selectedOutputs" type:"list"`
 12931  }
 12932  
 12933  // String returns the string representation.
 12934  //
 12935  // API parameter values that are decorated as "sensitive" in the API will not
 12936  // be included in the string output. The member name will be present, but the
 12937  // value will be replaced with "sensitive".
 12938  func (s HlsAdditionalManifest) String() string {
 12939  	return awsutil.Prettify(s)
 12940  }
 12941  
 12942  // GoString returns the string representation.
 12943  //
 12944  // API parameter values that are decorated as "sensitive" in the API will not
 12945  // be included in the string output. The member name will be present, but the
 12946  // value will be replaced with "sensitive".
 12947  func (s HlsAdditionalManifest) GoString() string {
 12948  	return s.String()
 12949  }
 12950  
 12951  // Validate inspects the fields of the type to determine if they are valid.
 12952  func (s *HlsAdditionalManifest) Validate() error {
 12953  	invalidParams := request.ErrInvalidParams{Context: "HlsAdditionalManifest"}
 12954  	if s.ManifestNameModifier != nil && len(*s.ManifestNameModifier) < 1 {
 12955  		invalidParams.Add(request.NewErrParamMinLen("ManifestNameModifier", 1))
 12956  	}
 12957  
 12958  	if invalidParams.Len() > 0 {
 12959  		return invalidParams
 12960  	}
 12961  	return nil
 12962  }
 12963  
 12964  // SetManifestNameModifier sets the ManifestNameModifier field's value.
 12965  func (s *HlsAdditionalManifest) SetManifestNameModifier(v string) *HlsAdditionalManifest {
 12966  	s.ManifestNameModifier = &v
 12967  	return s
 12968  }
 12969  
 12970  // SetSelectedOutputs sets the SelectedOutputs field's value.
 12971  func (s *HlsAdditionalManifest) SetSelectedOutputs(v []*string) *HlsAdditionalManifest {
 12972  	s.SelectedOutputs = v
 12973  	return s
 12974  }
 12975  
 12976  // Caption Language Mapping
 12977  type HlsCaptionLanguageMapping struct {
 12978  	_ struct{} `type:"structure"`
 12979  
 12980  	// Caption channel.
 12981  	CaptionChannel *int64 `locationName:"captionChannel" type:"integer"`
 12982  
 12983  	// Specify the language for this captions channel, using the ISO 639-2 or ISO
 12984  	// 639-3 three-letter language code
 12985  	CustomLanguageCode *string `locationName:"customLanguageCode" min:"3" type:"string"`
 12986  
 12987  	// Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php.
 12988  	LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"`
 12989  
 12990  	// Caption language description.
 12991  	LanguageDescription *string `locationName:"languageDescription" type:"string"`
 12992  }
 12993  
 12994  // String returns the string representation.
 12995  //
 12996  // API parameter values that are decorated as "sensitive" in the API will not
 12997  // be included in the string output. The member name will be present, but the
 12998  // value will be replaced with "sensitive".
 12999  func (s HlsCaptionLanguageMapping) String() string {
 13000  	return awsutil.Prettify(s)
 13001  }
 13002  
 13003  // GoString returns the string representation.
 13004  //
 13005  // API parameter values that are decorated as "sensitive" in the API will not
 13006  // be included in the string output. The member name will be present, but the
 13007  // value will be replaced with "sensitive".
 13008  func (s HlsCaptionLanguageMapping) GoString() string {
 13009  	return s.String()
 13010  }
 13011  
 13012  // Validate inspects the fields of the type to determine if they are valid.
 13013  func (s *HlsCaptionLanguageMapping) Validate() error {
 13014  	invalidParams := request.ErrInvalidParams{Context: "HlsCaptionLanguageMapping"}
 13015  	if s.CaptionChannel != nil && *s.CaptionChannel < -2.147483648e+09 {
 13016  		invalidParams.Add(request.NewErrParamMinValue("CaptionChannel", -2.147483648e+09))
 13017  	}
 13018  	if s.CustomLanguageCode != nil && len(*s.CustomLanguageCode) < 3 {
 13019  		invalidParams.Add(request.NewErrParamMinLen("CustomLanguageCode", 3))
 13020  	}
 13021  
 13022  	if invalidParams.Len() > 0 {
 13023  		return invalidParams
 13024  	}
 13025  	return nil
 13026  }
 13027  
 13028  // SetCaptionChannel sets the CaptionChannel field's value.
 13029  func (s *HlsCaptionLanguageMapping) SetCaptionChannel(v int64) *HlsCaptionLanguageMapping {
 13030  	s.CaptionChannel = &v
 13031  	return s
 13032  }
 13033  
 13034  // SetCustomLanguageCode sets the CustomLanguageCode field's value.
 13035  func (s *HlsCaptionLanguageMapping) SetCustomLanguageCode(v string) *HlsCaptionLanguageMapping {
 13036  	s.CustomLanguageCode = &v
 13037  	return s
 13038  }
 13039  
 13040  // SetLanguageCode sets the LanguageCode field's value.
 13041  func (s *HlsCaptionLanguageMapping) SetLanguageCode(v string) *HlsCaptionLanguageMapping {
 13042  	s.LanguageCode = &v
 13043  	return s
 13044  }
 13045  
 13046  // SetLanguageDescription sets the LanguageDescription field's value.
 13047  func (s *HlsCaptionLanguageMapping) SetLanguageDescription(v string) *HlsCaptionLanguageMapping {
 13048  	s.LanguageDescription = &v
 13049  	return s
 13050  }
 13051  
 13052  // Settings for HLS encryption
 13053  type HlsEncryptionSettings struct {
 13054  	_ struct{} `type:"structure"`
 13055  
 13056  	// This is a 128-bit, 16-byte hex value represented by a 32-character text string.
 13057  	// If this parameter is not set then the Initialization Vector will follow the
 13058  	// segment number by default.
 13059  	ConstantInitializationVector *string `locationName:"constantInitializationVector" min:"32" type:"string"`
 13060  
 13061  	// Encrypts the segments with the given encryption scheme. Leave blank to disable.
 13062  	// Selecting 'Disabled' in the web interface also disables encryption.
 13063  	EncryptionMethod *string `locationName:"encryptionMethod" type:"string" enum:"HlsEncryptionType"`
 13064  
 13065  	// The Initialization Vector is a 128-bit number used in conjunction with the
 13066  	// key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed
 13067  	// in the manifest. Otherwise Initialization Vector is not in the manifest.
 13068  	InitializationVectorInManifest *string `locationName:"initializationVectorInManifest" type:"string" enum:"HlsInitializationVectorInManifest"`
 13069  
 13070  	// Enable this setting to insert the EXT-X-SESSION-KEY element into the master
 13071  	// playlist. This allows for offline Apple HLS FairPlay content protection.
 13072  	OfflineEncrypted *string `locationName:"offlineEncrypted" type:"string" enum:"HlsOfflineEncrypted"`
 13073  
 13074  	// If your output group type is HLS, DASH, or Microsoft Smooth, use these settings
 13075  	// when doing DRM encryption with a SPEKE-compliant key provider. If your output
 13076  	// group type is CMAF, use the SpekeKeyProviderCmaf settings instead.
 13077  	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure"`
 13078  
 13079  	// Use these settings to set up encryption with a static key provider.
 13080  	StaticKeyProvider *StaticKeyProvider `locationName:"staticKeyProvider" type:"structure"`
 13081  
 13082  	// Specify whether your DRM encryption key is static or from a key provider
 13083  	// that follows the SPEKE standard. For more information about SPEKE, see https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.html.
 13084  	Type *string `locationName:"type" type:"string" enum:"HlsKeyProviderType"`
 13085  }
 13086  
 13087  // String returns the string representation.
 13088  //
 13089  // API parameter values that are decorated as "sensitive" in the API will not
 13090  // be included in the string output. The member name will be present, but the
 13091  // value will be replaced with "sensitive".
 13092  func (s HlsEncryptionSettings) String() string {
 13093  	return awsutil.Prettify(s)
 13094  }
 13095  
 13096  // GoString returns the string representation.
 13097  //
 13098  // API parameter values that are decorated as "sensitive" in the API will not
 13099  // be included in the string output. The member name will be present, but the
 13100  // value will be replaced with "sensitive".
 13101  func (s HlsEncryptionSettings) GoString() string {
 13102  	return s.String()
 13103  }
 13104  
 13105  // Validate inspects the fields of the type to determine if they are valid.
 13106  func (s *HlsEncryptionSettings) Validate() error {
 13107  	invalidParams := request.ErrInvalidParams{Context: "HlsEncryptionSettings"}
 13108  	if s.ConstantInitializationVector != nil && len(*s.ConstantInitializationVector) < 32 {
 13109  		invalidParams.Add(request.NewErrParamMinLen("ConstantInitializationVector", 32))
 13110  	}
 13111  
 13112  	if invalidParams.Len() > 0 {
 13113  		return invalidParams
 13114  	}
 13115  	return nil
 13116  }
 13117  
 13118  // SetConstantInitializationVector sets the ConstantInitializationVector field's value.
 13119  func (s *HlsEncryptionSettings) SetConstantInitializationVector(v string) *HlsEncryptionSettings {
 13120  	s.ConstantInitializationVector = &v
 13121  	return s
 13122  }
 13123  
 13124  // SetEncryptionMethod sets the EncryptionMethod field's value.
 13125  func (s *HlsEncryptionSettings) SetEncryptionMethod(v string) *HlsEncryptionSettings {
 13126  	s.EncryptionMethod = &v
 13127  	return s
 13128  }
 13129  
 13130  // SetInitializationVectorInManifest sets the InitializationVectorInManifest field's value.
 13131  func (s *HlsEncryptionSettings) SetInitializationVectorInManifest(v string) *HlsEncryptionSettings {
 13132  	s.InitializationVectorInManifest = &v
 13133  	return s
 13134  }
 13135  
 13136  // SetOfflineEncrypted sets the OfflineEncrypted field's value.
 13137  func (s *HlsEncryptionSettings) SetOfflineEncrypted(v string) *HlsEncryptionSettings {
 13138  	s.OfflineEncrypted = &v
 13139  	return s
 13140  }
 13141  
 13142  // SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
 13143  func (s *HlsEncryptionSettings) SetSpekeKeyProvider(v *SpekeKeyProvider) *HlsEncryptionSettings {
 13144  	s.SpekeKeyProvider = v
 13145  	return s
 13146  }
 13147  
 13148  // SetStaticKeyProvider sets the StaticKeyProvider field's value.
 13149  func (s *HlsEncryptionSettings) SetStaticKeyProvider(v *StaticKeyProvider) *HlsEncryptionSettings {
 13150  	s.StaticKeyProvider = v
 13151  	return s
 13152  }
 13153  
 13154  // SetType sets the Type field's value.
 13155  func (s *HlsEncryptionSettings) SetType(v string) *HlsEncryptionSettings {
 13156  	s.Type = &v
 13157  	return s
 13158  }
 13159  
 13160  // Settings related to your HLS output package. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/outputs-file-ABR.html.
 13161  // When you work directly in your JSON job specification, include this object
 13162  // and any required children when you set Type, under OutputGroupSettings, to
 13163  // HLS_GROUP_SETTINGS.
 13164  type HlsGroupSettings struct {
 13165  	_ struct{} `type:"structure"`
 13166  
 13167  	// Choose one or more ad marker types to decorate your Apple HLS manifest. This
 13168  	// setting does not determine whether SCTE-35 markers appear in the outputs
 13169  	// themselves.
 13170  	AdMarkers []*string `locationName:"adMarkers" type:"list"`
 13171  
 13172  	// By default, the service creates one top-level .m3u8 HLS manifest for each
 13173  	// HLS output group in your job. This default manifest references every output
 13174  	// in the output group. To create additional top-level manifests that reference
 13175  	// a subset of the outputs in the output group, specify a list of them here.
 13176  	AdditionalManifests []*HlsAdditionalManifest `locationName:"additionalManifests" type:"list"`
 13177  
 13178  	// Ignore this setting unless you are using FairPlay DRM with Verimatrix and
 13179  	// you encounter playback issues. Keep the default value, Include (INCLUDE),
 13180  	// to output audio-only headers. Choose Exclude (EXCLUDE) to remove the audio-only
 13181  	// headers from your audio segments.
 13182  	AudioOnlyHeader *string `locationName:"audioOnlyHeader" type:"string" enum:"HlsAudioOnlyHeader"`
 13183  
 13184  	// A partial URI prefix that will be prepended to each output in the media .m3u8
 13185  	// file. Can be used if base manifest is delivered from a different URL than
 13186  	// the main .m3u8 file.
 13187  	BaseUrl *string `locationName:"baseUrl" type:"string"`
 13188  
 13189  	// Language to be used on Caption outputs
 13190  	CaptionLanguageMappings []*HlsCaptionLanguageMapping `locationName:"captionLanguageMappings" type:"list"`
 13191  
 13192  	// Applies only to 608 Embedded output captions. Insert: Include CLOSED-CAPTIONS
 13193  	// lines in the manifest. Specify at least one language in the CC1 Language
 13194  	// Code field. One CLOSED-CAPTION line is added for each Language Code you specify.
 13195  	// Make sure to specify the languages in the order in which they appear in the
 13196  	// original source (if the source is embedded format) or the order of the caption
 13197  	// selectors (if the source is other than embedded). Otherwise, languages in
 13198  	// the manifest will not match up properly with the output captions. None: Include
 13199  	// CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any CLOSED-CAPTIONS
 13200  	// line from the manifest.
 13201  	CaptionLanguageSetting *string `locationName:"captionLanguageSetting" type:"string" enum:"HlsCaptionLanguageSetting"`
 13202  
 13203  	// Disable this setting only when your workflow requires the #EXT-X-ALLOW-CACHE:no
 13204  	// tag. Otherwise, keep the default value Enabled (ENABLED) and control caching
 13205  	// in your video distribution set up. For example, use the Cache-Control http
 13206  	// header.
 13207  	ClientCache *string `locationName:"clientCache" type:"string" enum:"HlsClientCache"`
 13208  
 13209  	// Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist
 13210  	// generation.
 13211  	CodecSpecification *string `locationName:"codecSpecification" type:"string" enum:"HlsCodecSpecification"`
 13212  
 13213  	// Use Destination (Destination) to specify the S3 output location and the output
 13214  	// filename base. Destination accepts format identifiers. If you do not specify
 13215  	// the base filename in the URI, the service will use the filename of the input
 13216  	// file. If your job has multiple inputs, the service uses the filename of the
 13217  	// first input file.
 13218  	Destination *string `locationName:"destination" type:"string"`
 13219  
 13220  	// Settings associated with the destination. Will vary based on the type of
 13221  	// destination
 13222  	DestinationSettings *DestinationSettings `locationName:"destinationSettings" type:"structure"`
 13223  
 13224  	// Indicates whether segments should be placed in subdirectories.
 13225  	DirectoryStructure *string `locationName:"directoryStructure" type:"string" enum:"HlsDirectoryStructure"`
 13226  
 13227  	// DRM settings.
 13228  	Encryption *HlsEncryptionSettings `locationName:"encryption" type:"structure"`
 13229  
 13230  	// Specify whether MediaConvert generates images for trick play. Keep the default
 13231  	// value, None (NONE), to not generate any images. Choose Thumbnail (THUMBNAIL)
 13232  	// to generate tiled thumbnails. Choose Thumbnail and full frame (THUMBNAIL_AND_FULLFRAME)
 13233  	// to generate tiled thumbnails and full-resolution images of single frames.
 13234  	// MediaConvert creates a child manifest for each set of images that you generate
 13235  	// and adds corresponding entries to the parent manifest. A common application
 13236  	// for these images is Roku trick mode. The thumbnails and full-frame images
 13237  	// that MediaConvert creates with this feature are compatible with this Roku
 13238  	// specification: https://developer.roku.com/docs/developer-program/media-playback/trick-mode/hls-and-dash.md
 13239  	ImageBasedTrickPlay *string `locationName:"imageBasedTrickPlay" type:"string" enum:"HlsImageBasedTrickPlay"`
 13240  
 13241  	// Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED
 13242  	ImageBasedTrickPlaySettings *HlsImageBasedTrickPlaySettings `locationName:"imageBasedTrickPlaySettings" type:"structure"`
 13243  
 13244  	// When set to GZIP, compresses HLS playlist.
 13245  	ManifestCompression *string `locationName:"manifestCompression" type:"string" enum:"HlsManifestCompression"`
 13246  
 13247  	// Indicates whether the output manifest should use floating point values for
 13248  	// segment duration.
 13249  	ManifestDurationFormat *string `locationName:"manifestDurationFormat" type:"string" enum:"HlsManifestDurationFormat"`
 13250  
 13251  	// Keep this setting at the default value of 0, unless you are troubleshooting
 13252  	// a problem with how devices play back the end of your video asset. If you
 13253  	// know that player devices are hanging on the final segment of your video because
 13254  	// the length of your final segment is too short, use this setting to specify
 13255  	// a minimum final segment length, in seconds. Choose a value that is greater
 13256  	// than or equal to 1 and less than your segment length. When you specify a
 13257  	// value for this setting, the encoder will combine any final segment that is
 13258  	// shorter than the length that you specify with the previous segment. For example,
 13259  	// your segment length is 3 seconds and your final segment is .5 seconds without
 13260  	// a minimum final segment length; when you set the minimum final segment length
 13261  	// to 1, your final segment is 3.5 seconds.
 13262  	MinFinalSegmentLength *float64 `locationName:"minFinalSegmentLength" type:"double"`
 13263  
 13264  	// When set, Minimum Segment Size is enforced by looking ahead and back within
 13265  	// the specified range for a nearby avail and extending the segment size if
 13266  	// needed.
 13267  	MinSegmentLength *int64 `locationName:"minSegmentLength" type:"integer"`
 13268  
 13269  	// Indicates whether the .m3u8 manifest file should be generated for this HLS
 13270  	// output group.
 13271  	OutputSelection *string `locationName:"outputSelection" type:"string" enum:"HlsOutputSelection"`
 13272  
 13273  	// Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files.
 13274  	// The value is calculated as follows: either the program date and time are
 13275  	// initialized using the input timecode source, or the time is initialized using
 13276  	// the input timecode source and the date is initialized using the timestamp_offset.
 13277  	ProgramDateTime *string `locationName:"programDateTime" type:"string" enum:"HlsProgramDateTime"`
 13278  
 13279  	// Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.
 13280  	ProgramDateTimePeriod *int64 `locationName:"programDateTimePeriod" type:"integer"`
 13281  
 13282  	// When set to SINGLE_FILE, emits program as a single media resource (.ts) file,
 13283  	// uses #EXT-X-BYTERANGE tags to index segment for playback.
 13284  	SegmentControl *string `locationName:"segmentControl" type:"string" enum:"HlsSegmentControl"`
 13285  
 13286  	// Specify the length, in whole seconds, of each segment. When you don't specify
 13287  	// a value, MediaConvert defaults to 10. Related settings: Use Segment length
 13288  	// control (SegmentLengthControl) to specify whether the encoder enforces this
 13289  	// value strictly. Use Segment control (HlsSegmentControl) to specify whether
 13290  	// MediaConvert creates separate segment files or one content file that has
 13291  	// metadata to mark the segment boundaries.
 13292  	SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer"`
 13293  
 13294  	// Specify how you want MediaConvert to determine the segment length. Choose
 13295  	// Exact (EXACT) to have the encoder use the exact length that you specify with
 13296  	// the setting Segment length (SegmentLength). This might result in extra I-frames.
 13297  	// Choose Multiple of GOP (GOP_MULTIPLE) to have the encoder round up the segment
 13298  	// lengths to match the next GOP boundary.
 13299  	SegmentLengthControl *string `locationName:"segmentLengthControl" type:"string" enum:"HlsSegmentLengthControl"`
 13300  
 13301  	// Number of segments to write to a subdirectory before starting a new one.
 13302  	// directoryStructure must be SINGLE_DIRECTORY for this setting to have an effect.
 13303  	SegmentsPerSubdirectory *int64 `locationName:"segmentsPerSubdirectory" min:"1" type:"integer"`
 13304  
 13305  	// Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag
 13306  	// of variant manifest.
 13307  	StreamInfResolution *string `locationName:"streamInfResolution" type:"string" enum:"HlsStreamInfResolution"`
 13308  
 13309  	// When set to LEGACY, the segment target duration is always rounded up to the
 13310  	// nearest integer value above its current value in seconds. When set to SPEC\\_COMPLIANT,
 13311  	// the segment target duration is rounded up to the nearest integer value if
 13312  	// fraction seconds are greater than or equal to 0.5 (>= 0.5) and rounded down
 13313  	// if less than 0.5 (< 0.5). You may need to use LEGACY if your client needs
 13314  	// to ensure that the target duration is always longer than the actual duration
 13315  	// of the segment. Some older players may experience interrupted playback when
 13316  	// the actual duration of a track in a segment is longer than the target duration.
 13317  	TargetDurationCompatibilityMode *string `locationName:"targetDurationCompatibilityMode" type:"string" enum:"HlsTargetDurationCompatibilityMode"`
 13318  
 13319  	// Indicates ID3 frame that has the timecode.
 13320  	TimedMetadataId3Frame *string `locationName:"timedMetadataId3Frame" type:"string" enum:"HlsTimedMetadataId3Frame"`
 13321  
 13322  	// Timed Metadata interval in seconds.
 13323  	TimedMetadataId3Period *int64 `locationName:"timedMetadataId3Period" type:"integer"`
 13324  
 13325  	// Provides an extra millisecond delta offset to fine tune the timestamps.
 13326  	TimestampDeltaMilliseconds *int64 `locationName:"timestampDeltaMilliseconds" type:"integer"`
 13327  }
 13328  
 13329  // String returns the string representation.
 13330  //
 13331  // API parameter values that are decorated as "sensitive" in the API will not
 13332  // be included in the string output. The member name will be present, but the
 13333  // value will be replaced with "sensitive".
 13334  func (s HlsGroupSettings) String() string {
 13335  	return awsutil.Prettify(s)
 13336  }
 13337  
 13338  // GoString returns the string representation.
 13339  //
 13340  // API parameter values that are decorated as "sensitive" in the API will not
 13341  // be included in the string output. The member name will be present, but the
 13342  // value will be replaced with "sensitive".
 13343  func (s HlsGroupSettings) GoString() string {
 13344  	return s.String()
 13345  }
 13346  
 13347  // Validate inspects the fields of the type to determine if they are valid.
 13348  func (s *HlsGroupSettings) Validate() error {
 13349  	invalidParams := request.ErrInvalidParams{Context: "HlsGroupSettings"}
 13350  	if s.SegmentLength != nil && *s.SegmentLength < 1 {
 13351  		invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1))
 13352  	}
 13353  	if s.SegmentsPerSubdirectory != nil && *s.SegmentsPerSubdirectory < 1 {
 13354  		invalidParams.Add(request.NewErrParamMinValue("SegmentsPerSubdirectory", 1))
 13355  	}
 13356  	if s.TimedMetadataId3Period != nil && *s.TimedMetadataId3Period < -2.147483648e+09 {
 13357  		invalidParams.Add(request.NewErrParamMinValue("TimedMetadataId3Period", -2.147483648e+09))
 13358  	}
 13359  	if s.TimestampDeltaMilliseconds != nil && *s.TimestampDeltaMilliseconds < -2.147483648e+09 {
 13360  		invalidParams.Add(request.NewErrParamMinValue("TimestampDeltaMilliseconds", -2.147483648e+09))
 13361  	}
 13362  	if s.AdditionalManifests != nil {
 13363  		for i, v := range s.AdditionalManifests {
 13364  			if v == nil {
 13365  				continue
 13366  			}
 13367  			if err := v.Validate(); err != nil {
 13368  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalManifests", i), err.(request.ErrInvalidParams))
 13369  			}
 13370  		}
 13371  	}
 13372  	if s.CaptionLanguageMappings != nil {
 13373  		for i, v := range s.CaptionLanguageMappings {
 13374  			if v == nil {
 13375  				continue
 13376  			}
 13377  			if err := v.Validate(); err != nil {
 13378  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionLanguageMappings", i), err.(request.ErrInvalidParams))
 13379  			}
 13380  		}
 13381  	}
 13382  	if s.Encryption != nil {
 13383  		if err := s.Encryption.Validate(); err != nil {
 13384  			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
 13385  		}
 13386  	}
 13387  	if s.ImageBasedTrickPlaySettings != nil {
 13388  		if err := s.ImageBasedTrickPlaySettings.Validate(); err != nil {
 13389  			invalidParams.AddNested("ImageBasedTrickPlaySettings", err.(request.ErrInvalidParams))
 13390  		}
 13391  	}
 13392  
 13393  	if invalidParams.Len() > 0 {
 13394  		return invalidParams
 13395  	}
 13396  	return nil
 13397  }
 13398  
 13399  // SetAdMarkers sets the AdMarkers field's value.
 13400  func (s *HlsGroupSettings) SetAdMarkers(v []*string) *HlsGroupSettings {
 13401  	s.AdMarkers = v
 13402  	return s
 13403  }
 13404  
 13405  // SetAdditionalManifests sets the AdditionalManifests field's value.
 13406  func (s *HlsGroupSettings) SetAdditionalManifests(v []*HlsAdditionalManifest) *HlsGroupSettings {
 13407  	s.AdditionalManifests = v
 13408  	return s
 13409  }
 13410  
 13411  // SetAudioOnlyHeader sets the AudioOnlyHeader field's value.
 13412  func (s *HlsGroupSettings) SetAudioOnlyHeader(v string) *HlsGroupSettings {
 13413  	s.AudioOnlyHeader = &v
 13414  	return s
 13415  }
 13416  
 13417  // SetBaseUrl sets the BaseUrl field's value.
 13418  func (s *HlsGroupSettings) SetBaseUrl(v string) *HlsGroupSettings {
 13419  	s.BaseUrl = &v
 13420  	return s
 13421  }
 13422  
 13423  // SetCaptionLanguageMappings sets the CaptionLanguageMappings field's value.
 13424  func (s *HlsGroupSettings) SetCaptionLanguageMappings(v []*HlsCaptionLanguageMapping) *HlsGroupSettings {
 13425  	s.CaptionLanguageMappings = v
 13426  	return s
 13427  }
 13428  
 13429  // SetCaptionLanguageSetting sets the CaptionLanguageSetting field's value.
 13430  func (s *HlsGroupSettings) SetCaptionLanguageSetting(v string) *HlsGroupSettings {
 13431  	s.CaptionLanguageSetting = &v
 13432  	return s
 13433  }
 13434  
 13435  // SetClientCache sets the ClientCache field's value.
 13436  func (s *HlsGroupSettings) SetClientCache(v string) *HlsGroupSettings {
 13437  	s.ClientCache = &v
 13438  	return s
 13439  }
 13440  
 13441  // SetCodecSpecification sets the CodecSpecification field's value.
 13442  func (s *HlsGroupSettings) SetCodecSpecification(v string) *HlsGroupSettings {
 13443  	s.CodecSpecification = &v
 13444  	return s
 13445  }
 13446  
 13447  // SetDestination sets the Destination field's value.
 13448  func (s *HlsGroupSettings) SetDestination(v string) *HlsGroupSettings {
 13449  	s.Destination = &v
 13450  	return s
 13451  }
 13452  
 13453  // SetDestinationSettings sets the DestinationSettings field's value.
 13454  func (s *HlsGroupSettings) SetDestinationSettings(v *DestinationSettings) *HlsGroupSettings {
 13455  	s.DestinationSettings = v
 13456  	return s
 13457  }
 13458  
 13459  // SetDirectoryStructure sets the DirectoryStructure field's value.
 13460  func (s *HlsGroupSettings) SetDirectoryStructure(v string) *HlsGroupSettings {
 13461  	s.DirectoryStructure = &v
 13462  	return s
 13463  }
 13464  
 13465  // SetEncryption sets the Encryption field's value.
 13466  func (s *HlsGroupSettings) SetEncryption(v *HlsEncryptionSettings) *HlsGroupSettings {
 13467  	s.Encryption = v
 13468  	return s
 13469  }
 13470  
 13471  // SetImageBasedTrickPlay sets the ImageBasedTrickPlay field's value.
 13472  func (s *HlsGroupSettings) SetImageBasedTrickPlay(v string) *HlsGroupSettings {
 13473  	s.ImageBasedTrickPlay = &v
 13474  	return s
 13475  }
 13476  
 13477  // SetImageBasedTrickPlaySettings sets the ImageBasedTrickPlaySettings field's value.
 13478  func (s *HlsGroupSettings) SetImageBasedTrickPlaySettings(v *HlsImageBasedTrickPlaySettings) *HlsGroupSettings {
 13479  	s.ImageBasedTrickPlaySettings = v
 13480  	return s
 13481  }
 13482  
 13483  // SetManifestCompression sets the ManifestCompression field's value.
 13484  func (s *HlsGroupSettings) SetManifestCompression(v string) *HlsGroupSettings {
 13485  	s.ManifestCompression = &v
 13486  	return s
 13487  }
 13488  
 13489  // SetManifestDurationFormat sets the ManifestDurationFormat field's value.
 13490  func (s *HlsGroupSettings) SetManifestDurationFormat(v string) *HlsGroupSettings {
 13491  	s.ManifestDurationFormat = &v
 13492  	return s
 13493  }
 13494  
 13495  // SetMinFinalSegmentLength sets the MinFinalSegmentLength field's value.
 13496  func (s *HlsGroupSettings) SetMinFinalSegmentLength(v float64) *HlsGroupSettings {
 13497  	s.MinFinalSegmentLength = &v
 13498  	return s
 13499  }
 13500  
 13501  // SetMinSegmentLength sets the MinSegmentLength field's value.
 13502  func (s *HlsGroupSettings) SetMinSegmentLength(v int64) *HlsGroupSettings {
 13503  	s.MinSegmentLength = &v
 13504  	return s
 13505  }
 13506  
 13507  // SetOutputSelection sets the OutputSelection field's value.
 13508  func (s *HlsGroupSettings) SetOutputSelection(v string) *HlsGroupSettings {
 13509  	s.OutputSelection = &v
 13510  	return s
 13511  }
 13512  
 13513  // SetProgramDateTime sets the ProgramDateTime field's value.
 13514  func (s *HlsGroupSettings) SetProgramDateTime(v string) *HlsGroupSettings {
 13515  	s.ProgramDateTime = &v
 13516  	return s
 13517  }
 13518  
 13519  // SetProgramDateTimePeriod sets the ProgramDateTimePeriod field's value.
 13520  func (s *HlsGroupSettings) SetProgramDateTimePeriod(v int64) *HlsGroupSettings {
 13521  	s.ProgramDateTimePeriod = &v
 13522  	return s
 13523  }
 13524  
 13525  // SetSegmentControl sets the SegmentControl field's value.
 13526  func (s *HlsGroupSettings) SetSegmentControl(v string) *HlsGroupSettings {
 13527  	s.SegmentControl = &v
 13528  	return s
 13529  }
 13530  
 13531  // SetSegmentLength sets the SegmentLength field's value.
 13532  func (s *HlsGroupSettings) SetSegmentLength(v int64) *HlsGroupSettings {
 13533  	s.SegmentLength = &v
 13534  	return s
 13535  }
 13536  
 13537  // SetSegmentLengthControl sets the SegmentLengthControl field's value.
 13538  func (s *HlsGroupSettings) SetSegmentLengthControl(v string) *HlsGroupSettings {
 13539  	s.SegmentLengthControl = &v
 13540  	return s
 13541  }
 13542  
 13543  // SetSegmentsPerSubdirectory sets the SegmentsPerSubdirectory field's value.
 13544  func (s *HlsGroupSettings) SetSegmentsPerSubdirectory(v int64) *HlsGroupSettings {
 13545  	s.SegmentsPerSubdirectory = &v
 13546  	return s
 13547  }
 13548  
 13549  // SetStreamInfResolution sets the StreamInfResolution field's value.
 13550  func (s *HlsGroupSettings) SetStreamInfResolution(v string) *HlsGroupSettings {
 13551  	s.StreamInfResolution = &v
 13552  	return s
 13553  }
 13554  
 13555  // SetTargetDurationCompatibilityMode sets the TargetDurationCompatibilityMode field's value.
 13556  func (s *HlsGroupSettings) SetTargetDurationCompatibilityMode(v string) *HlsGroupSettings {
 13557  	s.TargetDurationCompatibilityMode = &v
 13558  	return s
 13559  }
 13560  
 13561  // SetTimedMetadataId3Frame sets the TimedMetadataId3Frame field's value.
 13562  func (s *HlsGroupSettings) SetTimedMetadataId3Frame(v string) *HlsGroupSettings {
 13563  	s.TimedMetadataId3Frame = &v
 13564  	return s
 13565  }
 13566  
 13567  // SetTimedMetadataId3Period sets the TimedMetadataId3Period field's value.
 13568  func (s *HlsGroupSettings) SetTimedMetadataId3Period(v int64) *HlsGroupSettings {
 13569  	s.TimedMetadataId3Period = &v
 13570  	return s
 13571  }
 13572  
 13573  // SetTimestampDeltaMilliseconds sets the TimestampDeltaMilliseconds field's value.
 13574  func (s *HlsGroupSettings) SetTimestampDeltaMilliseconds(v int64) *HlsGroupSettings {
 13575  	s.TimestampDeltaMilliseconds = &v
 13576  	return s
 13577  }
 13578  
 13579  // Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED
 13580  type HlsImageBasedTrickPlaySettings struct {
 13581  	_ struct{} `type:"structure"`
 13582  
 13583  	// The cadence MediaConvert follows for generating thumbnails. If set to FOLLOW_IFRAME,
 13584  	// MediaConvert generates thumbnails for each IDR frame in the output (matching
 13585  	// the GOP cadence). If set to FOLLOW_CUSTOM, MediaConvert generates thumbnails
 13586  	// according to the interval you specify in thumbnailInterval.
 13587  	IntervalCadence *string `locationName:"intervalCadence" type:"string" enum:"HlsIntervalCadence"`
 13588  
 13589  	// Height of each thumbnail within each tile image, in pixels. Leave blank to
 13590  	// maintain aspect ratio with thumbnail width. If following the aspect ratio
 13591  	// would lead to a total tile height greater than 4096, then the job will be
 13592  	// rejected. Must be divisible by 2.
 13593  	ThumbnailHeight *int64 `locationName:"thumbnailHeight" min:"2" type:"integer"`
 13594  
 13595  	// Enter the interval, in seconds, that MediaConvert uses to generate thumbnails.
 13596  	// If the interval you enter doesn't align with the output frame rate, MediaConvert
 13597  	// automatically rounds the interval to align with the output frame rate. For
 13598  	// example, if the output frame rate is 29.97 frames per second and you enter
 13599  	// 5, MediaConvert uses a 150 frame interval to generate thumbnails.
 13600  	ThumbnailInterval *float64 `locationName:"thumbnailInterval" type:"double"`
 13601  
 13602  	// Width of each thumbnail within each tile image, in pixels. Default is 312.
 13603  	// Must be divisible by 8.
 13604  	ThumbnailWidth *int64 `locationName:"thumbnailWidth" min:"8" type:"integer"`
 13605  
 13606  	// Number of thumbnails in each column of a tile image. Set a value between
 13607  	// 2 and 2048. Must be divisible by 2.
 13608  	TileHeight *int64 `locationName:"tileHeight" min:"1" type:"integer"`
 13609  
 13610  	// Number of thumbnails in each row of a tile image. Set a value between 1 and
 13611  	// 512.
 13612  	TileWidth *int64 `locationName:"tileWidth" min:"1" type:"integer"`
 13613  }
 13614  
 13615  // String returns the string representation.
 13616  //
 13617  // API parameter values that are decorated as "sensitive" in the API will not
 13618  // be included in the string output. The member name will be present, but the
 13619  // value will be replaced with "sensitive".
 13620  func (s HlsImageBasedTrickPlaySettings) String() string {
 13621  	return awsutil.Prettify(s)
 13622  }
 13623  
 13624  // GoString returns the string representation.
 13625  //
 13626  // API parameter values that are decorated as "sensitive" in the API will not
 13627  // be included in the string output. The member name will be present, but the
 13628  // value will be replaced with "sensitive".
 13629  func (s HlsImageBasedTrickPlaySettings) GoString() string {
 13630  	return s.String()
 13631  }
 13632  
 13633  // Validate inspects the fields of the type to determine if they are valid.
 13634  func (s *HlsImageBasedTrickPlaySettings) Validate() error {
 13635  	invalidParams := request.ErrInvalidParams{Context: "HlsImageBasedTrickPlaySettings"}
 13636  	if s.ThumbnailHeight != nil && *s.ThumbnailHeight < 2 {
 13637  		invalidParams.Add(request.NewErrParamMinValue("ThumbnailHeight", 2))
 13638  	}
 13639  	if s.ThumbnailWidth != nil && *s.ThumbnailWidth < 8 {
 13640  		invalidParams.Add(request.NewErrParamMinValue("ThumbnailWidth", 8))
 13641  	}
 13642  	if s.TileHeight != nil && *s.TileHeight < 1 {
 13643  		invalidParams.Add(request.NewErrParamMinValue("TileHeight", 1))
 13644  	}
 13645  	if s.TileWidth != nil && *s.TileWidth < 1 {
 13646  		invalidParams.Add(request.NewErrParamMinValue("TileWidth", 1))
 13647  	}
 13648  
 13649  	if invalidParams.Len() > 0 {
 13650  		return invalidParams
 13651  	}
 13652  	return nil
 13653  }
 13654  
 13655  // SetIntervalCadence sets the IntervalCadence field's value.
 13656  func (s *HlsImageBasedTrickPlaySettings) SetIntervalCadence(v string) *HlsImageBasedTrickPlaySettings {
 13657  	s.IntervalCadence = &v
 13658  	return s
 13659  }
 13660  
 13661  // SetThumbnailHeight sets the ThumbnailHeight field's value.
 13662  func (s *HlsImageBasedTrickPlaySettings) SetThumbnailHeight(v int64) *HlsImageBasedTrickPlaySettings {
 13663  	s.ThumbnailHeight = &v
 13664  	return s
 13665  }
 13666  
 13667  // SetThumbnailInterval sets the ThumbnailInterval field's value.
 13668  func (s *HlsImageBasedTrickPlaySettings) SetThumbnailInterval(v float64) *HlsImageBasedTrickPlaySettings {
 13669  	s.ThumbnailInterval = &v
 13670  	return s
 13671  }
 13672  
 13673  // SetThumbnailWidth sets the ThumbnailWidth field's value.
 13674  func (s *HlsImageBasedTrickPlaySettings) SetThumbnailWidth(v int64) *HlsImageBasedTrickPlaySettings {
 13675  	s.ThumbnailWidth = &v
 13676  	return s
 13677  }
 13678  
 13679  // SetTileHeight sets the TileHeight field's value.
 13680  func (s *HlsImageBasedTrickPlaySettings) SetTileHeight(v int64) *HlsImageBasedTrickPlaySettings {
 13681  	s.TileHeight = &v
 13682  	return s
 13683  }
 13684  
 13685  // SetTileWidth sets the TileWidth field's value.
 13686  func (s *HlsImageBasedTrickPlaySettings) SetTileWidth(v int64) *HlsImageBasedTrickPlaySettings {
 13687  	s.TileWidth = &v
 13688  	return s
 13689  }
 13690  
 13691  // Settings specific to audio sources in an HLS alternate rendition group. Specify
 13692  // the properties (renditionGroupId, renditionName or renditionLanguageCode)
 13693  // to identify the unique audio track among the alternative rendition groups
 13694  // present in the HLS manifest. If no unique track is found, or multiple tracks
 13695  // match the properties provided, the job fails. If no properties in hlsRenditionGroupSettings
 13696  // are specified, the default audio track within the video segment is chosen.
 13697  // If there is no audio within video segment, the alternative audio with DEFAULT=YES
 13698  // is chosen instead.
 13699  type HlsRenditionGroupSettings struct {
 13700  	_ struct{} `type:"structure"`
 13701  
 13702  	// Optional. Specify alternative group ID
 13703  	RenditionGroupId *string `locationName:"renditionGroupId" type:"string"`
 13704  
 13705  	// Optional. Specify ISO 639-2 or ISO 639-3 code in the language property
 13706  	RenditionLanguageCode *string `locationName:"renditionLanguageCode" type:"string" enum:"LanguageCode"`
 13707  
 13708  	// Optional. Specify media name
 13709  	RenditionName *string `locationName:"renditionName" type:"string"`
 13710  }
 13711  
 13712  // String returns the string representation.
 13713  //
 13714  // API parameter values that are decorated as "sensitive" in the API will not
 13715  // be included in the string output. The member name will be present, but the
 13716  // value will be replaced with "sensitive".
 13717  func (s HlsRenditionGroupSettings) String() string {
 13718  	return awsutil.Prettify(s)
 13719  }
 13720  
 13721  // GoString returns the string representation.
 13722  //
 13723  // API parameter values that are decorated as "sensitive" in the API will not
 13724  // be included in the string output. The member name will be present, but the
 13725  // value will be replaced with "sensitive".
 13726  func (s HlsRenditionGroupSettings) GoString() string {
 13727  	return s.String()
 13728  }
 13729  
 13730  // SetRenditionGroupId sets the RenditionGroupId field's value.
 13731  func (s *HlsRenditionGroupSettings) SetRenditionGroupId(v string) *HlsRenditionGroupSettings {
 13732  	s.RenditionGroupId = &v
 13733  	return s
 13734  }
 13735  
 13736  // SetRenditionLanguageCode sets the RenditionLanguageCode field's value.
 13737  func (s *HlsRenditionGroupSettings) SetRenditionLanguageCode(v string) *HlsRenditionGroupSettings {
 13738  	s.RenditionLanguageCode = &v
 13739  	return s
 13740  }
 13741  
 13742  // SetRenditionName sets the RenditionName field's value.
 13743  func (s *HlsRenditionGroupSettings) SetRenditionName(v string) *HlsRenditionGroupSettings {
 13744  	s.RenditionName = &v
 13745  	return s
 13746  }
 13747  
 13748  // Settings for HLS output groups
 13749  type HlsSettings struct {
 13750  	_ struct{} `type:"structure"`
 13751  
 13752  	// Specifies the group to which the audio rendition belongs.
 13753  	AudioGroupId *string `locationName:"audioGroupId" type:"string"`
 13754  
 13755  	// Use this setting only in audio-only outputs. Choose MPEG-2 Transport Stream
 13756  	// (M2TS) to create a file in an MPEG2-TS container. Keep the default value
 13757  	// Automatic (AUTOMATIC) to create an audio-only file in a raw container. Regardless
 13758  	// of the value that you specify here, if this output has video, the service
 13759  	// will place the output into an MPEG2-TS container.
 13760  	AudioOnlyContainer *string `locationName:"audioOnlyContainer" type:"string" enum:"HlsAudioOnlyContainer"`
 13761  
 13762  	// List all the audio groups that are used with the video output stream. Input
 13763  	// all the audio GROUP-IDs that are associated to the video, separate by ','.
 13764  	AudioRenditionSets *string `locationName:"audioRenditionSets" type:"string"`
 13765  
 13766  	// Four types of audio-only tracks are supported: Audio-Only Variant Stream
 13767  	// The client can play back this audio-only stream instead of video in low-bandwidth
 13768  	// scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate
 13769  	// Audio, Auto Select, Default Alternate rendition that the client should try
 13770  	// to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest
 13771  	// with DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default
 13772  	// Alternate rendition that the client may try to play back by default. Represented
 13773  	// as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate
 13774  	// Audio, not Auto Select Alternate rendition that the client will not try to
 13775  	// play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
 13776  	// DEFAULT=NO, AUTOSELECT=NO
 13777  	AudioTrackType *string `locationName:"audioTrackType" type:"string" enum:"HlsAudioTrackType"`
 13778  
 13779  	// Specify whether to flag this audio track as descriptive video service (DVS)
 13780  	// in your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes
 13781  	// the parameter CHARACTERISTICS="public.accessibility.describes-video" in the
 13782  	// EXT-X-MEDIA entry for this track. When you keep the default choice, Don't
 13783  	// flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can
 13784  	// help with accessibility on Apple devices. For more information, see the Apple
 13785  	// documentation.
 13786  	DescriptiveVideoServiceFlag *string `locationName:"descriptiveVideoServiceFlag" type:"string" enum:"HlsDescriptiveVideoServiceFlag"`
 13787  
 13788  	// Choose Include (INCLUDE) to have MediaConvert generate a child manifest that
 13789  	// lists only the I-frames for this rendition, in addition to your regular manifest
 13790  	// for this rendition. You might use this manifest as part of a workflow that
 13791  	// creates preview functions for your video. MediaConvert adds both the I-frame
 13792  	// only child manifest and the regular child manifest to the parent manifest.
 13793  	// When you don't need the I-frame only child manifest, keep the default value
 13794  	// Exclude (EXCLUDE).
 13795  	IFrameOnlyManifest *string `locationName:"iFrameOnlyManifest" type:"string" enum:"HlsIFrameOnlyManifest"`
 13796  
 13797  	// Use this setting to add an identifying string to the filename of each segment.
 13798  	// The service adds this string between the name modifier and segment index
 13799  	// number. You can use format identifiers in the string. For more information,
 13800  	// see https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html
 13801  	SegmentModifier *string `locationName:"segmentModifier" type:"string"`
 13802  }
 13803  
 13804  // String returns the string representation.
 13805  //
 13806  // API parameter values that are decorated as "sensitive" in the API will not
 13807  // be included in the string output. The member name will be present, but the
 13808  // value will be replaced with "sensitive".
 13809  func (s HlsSettings) String() string {
 13810  	return awsutil.Prettify(s)
 13811  }
 13812  
 13813  // GoString returns the string representation.
 13814  //
 13815  // API parameter values that are decorated as "sensitive" in the API will not
 13816  // be included in the string output. The member name will be present, but the
 13817  // value will be replaced with "sensitive".
 13818  func (s HlsSettings) GoString() string {
 13819  	return s.String()
 13820  }
 13821  
 13822  // SetAudioGroupId sets the AudioGroupId field's value.
 13823  func (s *HlsSettings) SetAudioGroupId(v string) *HlsSettings {
 13824  	s.AudioGroupId = &v
 13825  	return s
 13826  }
 13827  
 13828  // SetAudioOnlyContainer sets the AudioOnlyContainer field's value.
 13829  func (s *HlsSettings) SetAudioOnlyContainer(v string) *HlsSettings {
 13830  	s.AudioOnlyContainer = &v
 13831  	return s
 13832  }
 13833  
 13834  // SetAudioRenditionSets sets the AudioRenditionSets field's value.
 13835  func (s *HlsSettings) SetAudioRenditionSets(v string) *HlsSettings {
 13836  	s.AudioRenditionSets = &v
 13837  	return s
 13838  }
 13839  
 13840  // SetAudioTrackType sets the AudioTrackType field's value.
 13841  func (s *HlsSettings) SetAudioTrackType(v string) *HlsSettings {
 13842  	s.AudioTrackType = &v
 13843  	return s
 13844  }
 13845  
 13846  // SetDescriptiveVideoServiceFlag sets the DescriptiveVideoServiceFlag field's value.
 13847  func (s *HlsSettings) SetDescriptiveVideoServiceFlag(v string) *HlsSettings {
 13848  	s.DescriptiveVideoServiceFlag = &v
 13849  	return s
 13850  }
 13851  
 13852  // SetIFrameOnlyManifest sets the IFrameOnlyManifest field's value.
 13853  func (s *HlsSettings) SetIFrameOnlyManifest(v string) *HlsSettings {
 13854  	s.IFrameOnlyManifest = &v
 13855  	return s
 13856  }
 13857  
 13858  // SetSegmentModifier sets the SegmentModifier field's value.
 13859  func (s *HlsSettings) SetSegmentModifier(v string) *HlsSettings {
 13860  	s.SegmentModifier = &v
 13861  	return s
 13862  }
 13863  
 13864  // Optional. Configuration for a destination queue to which the job can hop
 13865  // once a customer-defined minimum wait time has passed.
 13866  type HopDestination struct {
 13867  	_ struct{} `type:"structure"`
 13868  
 13869  	// Optional. When you set up a job to use queue hopping, you can specify a different
 13870  	// relative priority for the job in the destination queue. If you don't specify,
 13871  	// the relative priority will remain the same as in the previous queue.
 13872  	Priority *int64 `locationName:"priority" type:"integer"`
 13873  
 13874  	// Optional unless the job is submitted on the default queue. When you set up
 13875  	// a job to use queue hopping, you can specify a destination queue. This queue
 13876  	// cannot be the original queue to which the job is submitted. If the original
 13877  	// queue isn't the default queue and you don't specify the destination queue,
 13878  	// the job will move to the default queue.
 13879  	Queue *string `locationName:"queue" type:"string"`
 13880  
 13881  	// Required for setting up a job to use queue hopping. Minimum wait time in
 13882  	// minutes until the job can hop to the destination queue. Valid range is 1
 13883  	// to 1440 minutes, inclusive.
 13884  	WaitMinutes *int64 `locationName:"waitMinutes" type:"integer"`
 13885  }
 13886  
 13887  // String returns the string representation.
 13888  //
 13889  // API parameter values that are decorated as "sensitive" in the API will not
 13890  // be included in the string output. The member name will be present, but the
 13891  // value will be replaced with "sensitive".
 13892  func (s HopDestination) String() string {
 13893  	return awsutil.Prettify(s)
 13894  }
 13895  
 13896  // GoString returns the string representation.
 13897  //
 13898  // API parameter values that are decorated as "sensitive" in the API will not
 13899  // be included in the string output. The member name will be present, but the
 13900  // value will be replaced with "sensitive".
 13901  func (s HopDestination) GoString() string {
 13902  	return s.String()
 13903  }
 13904  
 13905  // Validate inspects the fields of the type to determine if they are valid.
 13906  func (s *HopDestination) Validate() error {
 13907  	invalidParams := request.ErrInvalidParams{Context: "HopDestination"}
 13908  	if s.Priority != nil && *s.Priority < -50 {
 13909  		invalidParams.Add(request.NewErrParamMinValue("Priority", -50))
 13910  	}
 13911  
 13912  	if invalidParams.Len() > 0 {
 13913  		return invalidParams
 13914  	}
 13915  	return nil
 13916  }
 13917  
 13918  // SetPriority sets the Priority field's value.
 13919  func (s *HopDestination) SetPriority(v int64) *HopDestination {
 13920  	s.Priority = &v
 13921  	return s
 13922  }
 13923  
 13924  // SetQueue sets the Queue field's value.
 13925  func (s *HopDestination) SetQueue(v string) *HopDestination {
 13926  	s.Queue = &v
 13927  	return s
 13928  }
 13929  
 13930  // SetWaitMinutes sets the WaitMinutes field's value.
 13931  func (s *HopDestination) SetWaitMinutes(v int64) *HopDestination {
 13932  	s.WaitMinutes = &v
 13933  	return s
 13934  }
 13935  
 13936  // To insert ID3 tags in your output, specify two values. Use ID3 tag (Id3)
 13937  // to specify the base 64 encoded string and use Timecode (TimeCode) to specify
 13938  // the time when the tag should be inserted. To insert multiple ID3 tags in
 13939  // your output, create multiple instances of ID3 insertion (Id3Insertion).
 13940  type Id3Insertion struct {
 13941  	_ struct{} `type:"structure"`
 13942  
 13943  	// Use ID3 tag (Id3) to provide a tag value in base64-encode format.
 13944  	Id3 *string `locationName:"id3" type:"string"`
 13945  
 13946  	// Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format.
 13947  	Timecode *string `locationName:"timecode" type:"string"`
 13948  }
 13949  
 13950  // String returns the string representation.
 13951  //
 13952  // API parameter values that are decorated as "sensitive" in the API will not
 13953  // be included in the string output. The member name will be present, but the
 13954  // value will be replaced with "sensitive".
 13955  func (s Id3Insertion) String() string {
 13956  	return awsutil.Prettify(s)
 13957  }
 13958  
 13959  // GoString returns the string representation.
 13960  //
 13961  // API parameter values that are decorated as "sensitive" in the API will not
 13962  // be included in the string output. The member name will be present, but the
 13963  // value will be replaced with "sensitive".
 13964  func (s Id3Insertion) GoString() string {
 13965  	return s.String()
 13966  }
 13967  
 13968  // SetId3 sets the Id3 field's value.
 13969  func (s *Id3Insertion) SetId3(v string) *Id3Insertion {
 13970  	s.Id3 = &v
 13971  	return s
 13972  }
 13973  
 13974  // SetTimecode sets the Timecode field's value.
 13975  func (s *Id3Insertion) SetTimecode(v string) *Id3Insertion {
 13976  	s.Timecode = &v
 13977  	return s
 13978  }
 13979  
 13980  // Use the image inserter feature to include a graphic overlay on your video.
 13981  // Enable or disable this feature for each input or output individually. For
 13982  // more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/graphic-overlay.html.
 13983  // This setting is disabled by default.
 13984  type ImageInserter struct {
 13985  	_ struct{} `type:"structure"`
 13986  
 13987  	// Specify the images that you want to overlay on your video. The images must
 13988  	// be PNG or TGA files.
 13989  	InsertableImages []*InsertableImage `locationName:"insertableImages" type:"list"`
 13990  }
 13991  
 13992  // String returns the string representation.
 13993  //
 13994  // API parameter values that are decorated as "sensitive" in the API will not
 13995  // be included in the string output. The member name will be present, but the
 13996  // value will be replaced with "sensitive".
 13997  func (s ImageInserter) String() string {
 13998  	return awsutil.Prettify(s)
 13999  }
 14000  
 14001  // GoString returns the string representation.
 14002  //
 14003  // API parameter values that are decorated as "sensitive" in the API will not
 14004  // be included in the string output. The member name will be present, but the
 14005  // value will be replaced with "sensitive".
 14006  func (s ImageInserter) GoString() string {
 14007  	return s.String()
 14008  }
 14009  
 14010  // Validate inspects the fields of the type to determine if they are valid.
 14011  func (s *ImageInserter) Validate() error {
 14012  	invalidParams := request.ErrInvalidParams{Context: "ImageInserter"}
 14013  	if s.InsertableImages != nil {
 14014  		for i, v := range s.InsertableImages {
 14015  			if v == nil {
 14016  				continue
 14017  			}
 14018  			if err := v.Validate(); err != nil {
 14019  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InsertableImages", i), err.(request.ErrInvalidParams))
 14020  			}
 14021  		}
 14022  	}
 14023  
 14024  	if invalidParams.Len() > 0 {
 14025  		return invalidParams
 14026  	}
 14027  	return nil
 14028  }
 14029  
 14030  // SetInsertableImages sets the InsertableImages field's value.
 14031  func (s *ImageInserter) SetInsertableImages(v []*InsertableImage) *ImageInserter {
 14032  	s.InsertableImages = v
 14033  	return s
 14034  }
 14035  
 14036  // Settings related to IMSC captions. IMSC is a sidecar format that holds captions
 14037  // in a file that is separate from the video container. Set up sidecar captions
 14038  // in the same output group, but different output from your video. For more
 14039  // information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/ttml-and-webvtt-output-captions.html.
 14040  // When you work directly in your JSON job specification, include this object
 14041  // and any required children when you set destinationType to IMSC.
 14042  type ImscDestinationSettings struct {
 14043  	_ struct{} `type:"structure"`
 14044  
 14045  	// Keep this setting enabled to have MediaConvert use the font style and position
 14046  	// information from the captions source in the output. This option is available
 14047  	// only when your input captions are IMSC, SMPTE-TT, or TTML. Disable this setting
 14048  	// for simplified output captions.
 14049  	StylePassthrough *string `locationName:"stylePassthrough" type:"string" enum:"ImscStylePassthrough"`
 14050  }
 14051  
 14052  // String returns the string representation.
 14053  //
 14054  // API parameter values that are decorated as "sensitive" in the API will not
 14055  // be included in the string output. The member name will be present, but the
 14056  // value will be replaced with "sensitive".
 14057  func (s ImscDestinationSettings) String() string {
 14058  	return awsutil.Prettify(s)
 14059  }
 14060  
 14061  // GoString returns the string representation.
 14062  //
 14063  // API parameter values that are decorated as "sensitive" in the API will not
 14064  // be included in the string output. The member name will be present, but the
 14065  // value will be replaced with "sensitive".
 14066  func (s ImscDestinationSettings) GoString() string {
 14067  	return s.String()
 14068  }
 14069  
 14070  // SetStylePassthrough sets the StylePassthrough field's value.
 14071  func (s *ImscDestinationSettings) SetStylePassthrough(v string) *ImscDestinationSettings {
 14072  	s.StylePassthrough = &v
 14073  	return s
 14074  }
 14075  
 14076  // Use inputs to define the source files used in your transcoding job. For more
 14077  // information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/specify-input-settings.html.
 14078  // You can use multiple video inputs to do input stitching. For more information,
 14079  // see https://docs.aws.amazon.com/mediaconvert/latest/ug/assembling-multiple-inputs-and-input-clips.html
 14080  type Input struct {
 14081  	_ struct{} `type:"structure"`
 14082  
 14083  	// Use audio selector groups to combine multiple sidecar audio inputs so that
 14084  	// you can assign them to a single output audio tab (AudioDescription). Note
 14085  	// that, if you're working with embedded audio, it's simpler to assign multiple
 14086  	// input tracks into a single audio selector rather than use an audio selector
 14087  	// group.
 14088  	AudioSelectorGroups map[string]*AudioSelectorGroup `locationName:"audioSelectorGroups" type:"map"`
 14089  
 14090  	// Use Audio selectors (AudioSelectors) to specify a track or set of tracks
 14091  	// from the input that you will use in your outputs. You can use multiple Audio
 14092  	// selectors per input.
 14093  	AudioSelectors map[string]*AudioSelector `locationName:"audioSelectors" type:"map"`
 14094  
 14095  	// Use captions selectors to specify the captions data from your input that
 14096  	// you use in your outputs. You can use up to 20 captions selectors per input.
 14097  	CaptionSelectors map[string]*CaptionSelector `locationName:"captionSelectors" type:"map"`
 14098  
 14099  	// Use Cropping selection (crop) to specify the video area that the service
 14100  	// will include in the output video frame. If you specify a value here, it will
 14101  	// override any value that you specify in the output setting Cropping selection
 14102  	// (crop).
 14103  	Crop *Rectangle `locationName:"crop" type:"structure"`
 14104  
 14105  	// Enable Deblock (InputDeblockFilter) to produce smoother motion in the output.
 14106  	// Default is disabled. Only manually controllable for MPEG2 and uncompressed
 14107  	// video inputs.
 14108  	DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"`
 14109  
 14110  	// Settings for decrypting any input files that you encrypt before you upload
 14111  	// them to Amazon S3. MediaConvert can decrypt files only when you use AWS Key
 14112  	// Management Service (KMS) to encrypt the data key that you use to encrypt
 14113  	// your content.
 14114  	DecryptionSettings *InputDecryptionSettings `locationName:"decryptionSettings" type:"structure"`
 14115  
 14116  	// Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default
 14117  	// is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video
 14118  	// inputs.
 14119  	DenoiseFilter *string `locationName:"denoiseFilter" type:"string" enum:"InputDenoiseFilter"`
 14120  
 14121  	// Specify the source file for your transcoding job. You can use multiple inputs
 14122  	// in a single job. The service concatenates these inputs, in the order that
 14123  	// you specify them in the job, to create the outputs. If your input format
 14124  	// is IMF, specify your input by providing the path to your CPL. For example,
 14125  	// "s3://bucket/vf/cpl.xml". If the CPL is in an incomplete IMP, make sure to
 14126  	// use *Supplemental IMPs* (SupplementalImps) to specify any supplemental IMPs
 14127  	// that contain assets referenced by the CPL.
 14128  	FileInput *string `locationName:"fileInput" type:"string"`
 14129  
 14130  	// Specify how the transcoding service applies the denoise and deblock filters.
 14131  	// You must also enable the filters separately, with Denoise (InputDenoiseFilter)
 14132  	// and Deblock (InputDeblockFilter). * Auto - The transcoding service determines
 14133  	// whether to apply filtering, depending on input type and quality. * Disable
 14134  	// - The input is not filtered. This is true even if you use the API to enable
 14135  	// them in (InputDeblockFilter) and (InputDeblockFilter). * Force - The input
 14136  	// is filtered regardless of input type.
 14137  	FilterEnable *string `locationName:"filterEnable" type:"string" enum:"InputFilterEnable"`
 14138  
 14139  	// Use Filter strength (FilterStrength) to adjust the magnitude the input filter
 14140  	// settings (Deblock and Denoise). The range is -5 to 5. Default is 0.
 14141  	FilterStrength *int64 `locationName:"filterStrength" type:"integer"`
 14142  
 14143  	// Enable the image inserter feature to include a graphic overlay on your video.
 14144  	// Enable or disable this feature for each input individually. This setting
 14145  	// is disabled by default.
 14146  	ImageInserter *ImageInserter `locationName:"imageInserter" type:"structure"`
 14147  
 14148  	// (InputClippings) contains sets of start and end times that together specify
 14149  	// a portion of the input to be used in the outputs. If you provide only a start
 14150  	// time, the clip will be the entire input from that point to the end. If you
 14151  	// provide only an end time, it will be the entire input up to that point. When
 14152  	// you specify more than one input clip, the transcoding service creates the
 14153  	// job outputs by stringing the clips together in the order you specify them.
 14154  	InputClippings []*InputClipping `locationName:"inputClippings" type:"list"`
 14155  
 14156  	// When you have a progressive segmented frame (PsF) input, use this setting
 14157  	// to flag the input as PsF. MediaConvert doesn't automatically detect PsF.
 14158  	// Therefore, flagging your input as PsF results in better preservation of video
 14159  	// quality when you do deinterlacing and frame rate conversion. If you don't
 14160  	// specify, the default value is Auto (AUTO). Auto is the correct setting for
 14161  	// all inputs that are not PsF. Don't set this value to PsF when your input
 14162  	// is interlaced. Doing so creates horizontal interlacing artifacts.
 14163  	InputScanType *string `locationName:"inputScanType" type:"string" enum:"InputScanType"`
 14164  
 14165  	// Use Selection placement (position) to define the video area in your output
 14166  	// frame. The area outside of the rectangle that you specify here is black.
 14167  	// If you specify a value here, it will override any value that you specify
 14168  	// in the output setting Selection placement (position). If you specify a value
 14169  	// here, this will override any AFD values in your input, even if you set Respond
 14170  	// to AFD (RespondToAfd) to Respond (RESPOND). If you specify a value here,
 14171  	// this will ignore anything that you specify for the setting Scaling Behavior
 14172  	// (scalingBehavior).
 14173  	Position *Rectangle `locationName:"position" type:"structure"`
 14174  
 14175  	// Use Program (programNumber) to select a specific program from within a multi-program
 14176  	// transport stream. Note that Quad 4K is not currently supported. Default is
 14177  	// the first program within the transport stream. If the program you specify
 14178  	// doesn't exist, the transcoding service will use this default.
 14179  	ProgramNumber *int64 `locationName:"programNumber" min:"1" type:"integer"`
 14180  
 14181  	// Set PSI control (InputPsiControl) for transport stream inputs to specify
 14182  	// which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio
 14183  	// and video. * Use PSI - Scan only PSI data.
 14184  	PsiControl *string `locationName:"psiControl" type:"string" enum:"InputPsiControl"`
 14185  
 14186  	// Provide a list of any necessary supplemental IMPs. You need supplemental
 14187  	// IMPs if the CPL that you're using for your input is in an incomplete IMP.
 14188  	// Specify either the supplemental IMP directories with a trailing slash or
 14189  	// the ASSETMAP.xml files. For example ["s3://bucket/ov/", "s3://bucket/vf2/ASSETMAP.xml"].
 14190  	// You don't need to specify the IMP that contains your input CPL, because the
 14191  	// service automatically detects it.
 14192  	SupplementalImps []*string `locationName:"supplementalImps" type:"list"`
 14193  
 14194  	// Use this Timecode source setting, located under the input settings (InputTimecodeSource),
 14195  	// to specify how the service counts input video frames. This input frame count
 14196  	// affects only the behavior of features that apply to a single input at a time,
 14197  	// such as input clipping and synchronizing some captions formats. Choose Embedded
 14198  	// (EMBEDDED) to use the timecodes in your input video. Choose Start at zero
 14199  	// (ZEROBASED) to start the first frame at zero. Choose Specified start (SPECIFIEDSTART)
 14200  	// to start the first frame at the timecode that you specify in the setting
 14201  	// Start timecode (timecodeStart). If you don't specify a value for Timecode
 14202  	// source, the service will use Embedded by default. For more information about
 14203  	// timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode.
 14204  	TimecodeSource *string `locationName:"timecodeSource" type:"string" enum:"InputTimecodeSource"`
 14205  
 14206  	// Specify the timecode that you want the service to use for this input's initial
 14207  	// frame. To use this setting, you must set the Timecode source setting, located
 14208  	// under the input settings (InputTimecodeSource), to Specified start (SPECIFIEDSTART).
 14209  	// For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode.
 14210  	TimecodeStart *string `locationName:"timecodeStart" min:"11" type:"string"`
 14211  
 14212  	// Input video selectors contain the video settings for the input. Each of your
 14213  	// inputs can have up to one video selector.
 14214  	VideoSelector *VideoSelector `locationName:"videoSelector" type:"structure"`
 14215  }
 14216  
 14217  // String returns the string representation.
 14218  //
 14219  // API parameter values that are decorated as "sensitive" in the API will not
 14220  // be included in the string output. The member name will be present, but the
 14221  // value will be replaced with "sensitive".
 14222  func (s Input) String() string {
 14223  	return awsutil.Prettify(s)
 14224  }
 14225  
 14226  // GoString returns the string representation.
 14227  //
 14228  // API parameter values that are decorated as "sensitive" in the API will not
 14229  // be included in the string output. The member name will be present, but the
 14230  // value will be replaced with "sensitive".
 14231  func (s Input) GoString() string {
 14232  	return s.String()
 14233  }
 14234  
 14235  // Validate inspects the fields of the type to determine if they are valid.
 14236  func (s *Input) Validate() error {
 14237  	invalidParams := request.ErrInvalidParams{Context: "Input"}
 14238  	if s.FilterStrength != nil && *s.FilterStrength < -5 {
 14239  		invalidParams.Add(request.NewErrParamMinValue("FilterStrength", -5))
 14240  	}
 14241  	if s.ProgramNumber != nil && *s.ProgramNumber < 1 {
 14242  		invalidParams.Add(request.NewErrParamMinValue("ProgramNumber", 1))
 14243  	}
 14244  	if s.TimecodeStart != nil && len(*s.TimecodeStart) < 11 {
 14245  		invalidParams.Add(request.NewErrParamMinLen("TimecodeStart", 11))
 14246  	}
 14247  	if s.AudioSelectors != nil {
 14248  		for i, v := range s.AudioSelectors {
 14249  			if v == nil {
 14250  				continue
 14251  			}
 14252  			if err := v.Validate(); err != nil {
 14253  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioSelectors", i), err.(request.ErrInvalidParams))
 14254  			}
 14255  		}
 14256  	}
 14257  	if s.CaptionSelectors != nil {
 14258  		for i, v := range s.CaptionSelectors {
 14259  			if v == nil {
 14260  				continue
 14261  			}
 14262  			if err := v.Validate(); err != nil {
 14263  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSelectors", i), err.(request.ErrInvalidParams))
 14264  			}
 14265  		}
 14266  	}
 14267  	if s.Crop != nil {
 14268  		if err := s.Crop.Validate(); err != nil {
 14269  			invalidParams.AddNested("Crop", err.(request.ErrInvalidParams))
 14270  		}
 14271  	}
 14272  	if s.DecryptionSettings != nil {
 14273  		if err := s.DecryptionSettings.Validate(); err != nil {
 14274  			invalidParams.AddNested("DecryptionSettings", err.(request.ErrInvalidParams))
 14275  		}
 14276  	}
 14277  	if s.ImageInserter != nil {
 14278  		if err := s.ImageInserter.Validate(); err != nil {
 14279  			invalidParams.AddNested("ImageInserter", err.(request.ErrInvalidParams))
 14280  		}
 14281  	}
 14282  	if s.Position != nil {
 14283  		if err := s.Position.Validate(); err != nil {
 14284  			invalidParams.AddNested("Position", err.(request.ErrInvalidParams))
 14285  		}
 14286  	}
 14287  	if s.VideoSelector != nil {
 14288  		if err := s.VideoSelector.Validate(); err != nil {
 14289  			invalidParams.AddNested("VideoSelector", err.(request.ErrInvalidParams))
 14290  		}
 14291  	}
 14292  
 14293  	if invalidParams.Len() > 0 {
 14294  		return invalidParams
 14295  	}
 14296  	return nil
 14297  }
 14298  
 14299  // SetAudioSelectorGroups sets the AudioSelectorGroups field's value.
 14300  func (s *Input) SetAudioSelectorGroups(v map[string]*AudioSelectorGroup) *Input {
 14301  	s.AudioSelectorGroups = v
 14302  	return s
 14303  }
 14304  
 14305  // SetAudioSelectors sets the AudioSelectors field's value.
 14306  func (s *Input) SetAudioSelectors(v map[string]*AudioSelector) *Input {
 14307  	s.AudioSelectors = v
 14308  	return s
 14309  }
 14310  
 14311  // SetCaptionSelectors sets the CaptionSelectors field's value.
 14312  func (s *Input) SetCaptionSelectors(v map[string]*CaptionSelector) *Input {
 14313  	s.CaptionSelectors = v
 14314  	return s
 14315  }
 14316  
 14317  // SetCrop sets the Crop field's value.
 14318  func (s *Input) SetCrop(v *Rectangle) *Input {
 14319  	s.Crop = v
 14320  	return s
 14321  }
 14322  
 14323  // SetDeblockFilter sets the DeblockFilter field's value.
 14324  func (s *Input) SetDeblockFilter(v string) *Input {
 14325  	s.DeblockFilter = &v
 14326  	return s
 14327  }
 14328  
 14329  // SetDecryptionSettings sets the DecryptionSettings field's value.
 14330  func (s *Input) SetDecryptionSettings(v *InputDecryptionSettings) *Input {
 14331  	s.DecryptionSettings = v
 14332  	return s
 14333  }
 14334  
 14335  // SetDenoiseFilter sets the DenoiseFilter field's value.
 14336  func (s *Input) SetDenoiseFilter(v string) *Input {
 14337  	s.DenoiseFilter = &v
 14338  	return s
 14339  }
 14340  
 14341  // SetFileInput sets the FileInput field's value.
 14342  func (s *Input) SetFileInput(v string) *Input {
 14343  	s.FileInput = &v
 14344  	return s
 14345  }
 14346  
 14347  // SetFilterEnable sets the FilterEnable field's value.
 14348  func (s *Input) SetFilterEnable(v string) *Input {
 14349  	s.FilterEnable = &v
 14350  	return s
 14351  }
 14352  
 14353  // SetFilterStrength sets the FilterStrength field's value.
 14354  func (s *Input) SetFilterStrength(v int64) *Input {
 14355  	s.FilterStrength = &v
 14356  	return s
 14357  }
 14358  
 14359  // SetImageInserter sets the ImageInserter field's value.
 14360  func (s *Input) SetImageInserter(v *ImageInserter) *Input {
 14361  	s.ImageInserter = v
 14362  	return s
 14363  }
 14364  
 14365  // SetInputClippings sets the InputClippings field's value.
 14366  func (s *Input) SetInputClippings(v []*InputClipping) *Input {
 14367  	s.InputClippings = v
 14368  	return s
 14369  }
 14370  
 14371  // SetInputScanType sets the InputScanType field's value.
 14372  func (s *Input) SetInputScanType(v string) *Input {
 14373  	s.InputScanType = &v
 14374  	return s
 14375  }
 14376  
 14377  // SetPosition sets the Position field's value.
 14378  func (s *Input) SetPosition(v *Rectangle) *Input {
 14379  	s.Position = v
 14380  	return s
 14381  }
 14382  
 14383  // SetProgramNumber sets the ProgramNumber field's value.
 14384  func (s *Input) SetProgramNumber(v int64) *Input {
 14385  	s.ProgramNumber = &v
 14386  	return s
 14387  }
 14388  
 14389  // SetPsiControl sets the PsiControl field's value.
 14390  func (s *Input) SetPsiControl(v string) *Input {
 14391  	s.PsiControl = &v
 14392  	return s
 14393  }
 14394  
 14395  // SetSupplementalImps sets the SupplementalImps field's value.
 14396  func (s *Input) SetSupplementalImps(v []*string) *Input {
 14397  	s.SupplementalImps = v
 14398  	return s
 14399  }
 14400  
 14401  // SetTimecodeSource sets the TimecodeSource field's value.
 14402  func (s *Input) SetTimecodeSource(v string) *Input {
 14403  	s.TimecodeSource = &v
 14404  	return s
 14405  }
 14406  
 14407  // SetTimecodeStart sets the TimecodeStart field's value.
 14408  func (s *Input) SetTimecodeStart(v string) *Input {
 14409  	s.TimecodeStart = &v
 14410  	return s
 14411  }
 14412  
 14413  // SetVideoSelector sets the VideoSelector field's value.
 14414  func (s *Input) SetVideoSelector(v *VideoSelector) *Input {
 14415  	s.VideoSelector = v
 14416  	return s
 14417  }
 14418  
 14419  // To transcode only portions of your input, include one input clip for each
 14420  // part of your input that you want in your output. All input clips that you
 14421  // specify will be included in every output of the job. For more information,
 14422  // see https://docs.aws.amazon.com/mediaconvert/latest/ug/assembling-multiple-inputs-and-input-clips.html.
 14423  type InputClipping struct {
 14424  	_ struct{} `type:"structure"`
 14425  
 14426  	// Set End timecode (EndTimecode) to the end of the portion of the input you
 14427  	// are clipping. The frame corresponding to the End timecode value is included
 14428  	// in the clip. Start timecode or End timecode may be left blank, but not both.
 14429  	// Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the hour, MM is the
 14430  	// minute, SS is the second, and FF is the frame number. When choosing this
 14431  	// value, take into account your setting for timecode source under input settings
 14432  	// (InputTimecodeSource). For example, if you have embedded timecodes that start
 14433  	// at 01:00:00:00 and you want your clip to end six minutes into the video,
 14434  	// use 01:06:00:00.
 14435  	EndTimecode *string `locationName:"endTimecode" type:"string"`
 14436  
 14437  	// Set Start timecode (StartTimecode) to the beginning of the portion of the
 14438  	// input you are clipping. The frame corresponding to the Start timecode value
 14439  	// is included in the clip. Start timecode or End timecode may be left blank,
 14440  	// but not both. Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the
 14441  	// hour, MM is the minute, SS is the second, and FF is the frame number. When
 14442  	// choosing this value, take into account your setting for Input timecode source.
 14443  	// For example, if you have embedded timecodes that start at 01:00:00:00 and
 14444  	// you want your clip to begin five minutes into the video, use 01:05:00:00.
 14445  	StartTimecode *string `locationName:"startTimecode" type:"string"`
 14446  }
 14447  
 14448  // String returns the string representation.
 14449  //
 14450  // API parameter values that are decorated as "sensitive" in the API will not
 14451  // be included in the string output. The member name will be present, but the
 14452  // value will be replaced with "sensitive".
 14453  func (s InputClipping) String() string {
 14454  	return awsutil.Prettify(s)
 14455  }
 14456  
 14457  // GoString returns the string representation.
 14458  //
 14459  // API parameter values that are decorated as "sensitive" in the API will not
 14460  // be included in the string output. The member name will be present, but the
 14461  // value will be replaced with "sensitive".
 14462  func (s InputClipping) GoString() string {
 14463  	return s.String()
 14464  }
 14465  
 14466  // SetEndTimecode sets the EndTimecode field's value.
 14467  func (s *InputClipping) SetEndTimecode(v string) *InputClipping {
 14468  	s.EndTimecode = &v
 14469  	return s
 14470  }
 14471  
 14472  // SetStartTimecode sets the StartTimecode field's value.
 14473  func (s *InputClipping) SetStartTimecode(v string) *InputClipping {
 14474  	s.StartTimecode = &v
 14475  	return s
 14476  }
 14477  
 14478  // Settings for decrypting any input files that you encrypt before you upload
 14479  // them to Amazon S3. MediaConvert can decrypt files only when you use AWS Key
 14480  // Management Service (KMS) to encrypt the data key that you use to encrypt
 14481  // your content.
 14482  type InputDecryptionSettings struct {
 14483  	_ struct{} `type:"structure"`
 14484  
 14485  	// Specify the encryption mode that you used to encrypt your input files.
 14486  	DecryptionMode *string `locationName:"decryptionMode" type:"string" enum:"DecryptionMode"`
 14487  
 14488  	// Warning! Don't provide your encryption key in plaintext. Your job settings
 14489  	// could be intercepted, making your encrypted content vulnerable. Specify the
 14490  	// encrypted version of the data key that you used to encrypt your content.
 14491  	// The data key must be encrypted by AWS Key Management Service (KMS). The key
 14492  	// can be 128, 192, or 256 bits.
 14493  	EncryptedDecryptionKey *string `locationName:"encryptedDecryptionKey" min:"24" type:"string"`
 14494  
 14495  	// Specify the initialization vector that you used when you encrypted your content
 14496  	// before uploading it to Amazon S3. You can use a 16-byte initialization vector
 14497  	// with any encryption mode. Or, you can use a 12-byte initialization vector
 14498  	// with GCM or CTR. MediaConvert accepts only initialization vectors that are
 14499  	// base64-encoded.
 14500  	InitializationVector *string `locationName:"initializationVector" min:"16" type:"string"`
 14501  
 14502  	// Specify the AWS Region for AWS Key Management Service (KMS) that you used
 14503  	// to encrypt your data key, if that Region is different from the one you are
 14504  	// using for AWS Elemental MediaConvert.
 14505  	KmsKeyRegion *string `locationName:"kmsKeyRegion" min:"9" type:"string"`
 14506  }
 14507  
 14508  // String returns the string representation.
 14509  //
 14510  // API parameter values that are decorated as "sensitive" in the API will not
 14511  // be included in the string output. The member name will be present, but the
 14512  // value will be replaced with "sensitive".
 14513  func (s InputDecryptionSettings) String() string {
 14514  	return awsutil.Prettify(s)
 14515  }
 14516  
 14517  // GoString returns the string representation.
 14518  //
 14519  // API parameter values that are decorated as "sensitive" in the API will not
 14520  // be included in the string output. The member name will be present, but the
 14521  // value will be replaced with "sensitive".
 14522  func (s InputDecryptionSettings) GoString() string {
 14523  	return s.String()
 14524  }
 14525  
 14526  // Validate inspects the fields of the type to determine if they are valid.
 14527  func (s *InputDecryptionSettings) Validate() error {
 14528  	invalidParams := request.ErrInvalidParams{Context: "InputDecryptionSettings"}
 14529  	if s.EncryptedDecryptionKey != nil && len(*s.EncryptedDecryptionKey) < 24 {
 14530  		invalidParams.Add(request.NewErrParamMinLen("EncryptedDecryptionKey", 24))
 14531  	}
 14532  	if s.InitializationVector != nil && len(*s.InitializationVector) < 16 {
 14533  		invalidParams.Add(request.NewErrParamMinLen("InitializationVector", 16))
 14534  	}
 14535  	if s.KmsKeyRegion != nil && len(*s.KmsKeyRegion) < 9 {
 14536  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyRegion", 9))
 14537  	}
 14538  
 14539  	if invalidParams.Len() > 0 {
 14540  		return invalidParams
 14541  	}
 14542  	return nil
 14543  }
 14544  
 14545  // SetDecryptionMode sets the DecryptionMode field's value.
 14546  func (s *InputDecryptionSettings) SetDecryptionMode(v string) *InputDecryptionSettings {
 14547  	s.DecryptionMode = &v
 14548  	return s
 14549  }
 14550  
 14551  // SetEncryptedDecryptionKey sets the EncryptedDecryptionKey field's value.
 14552  func (s *InputDecryptionSettings) SetEncryptedDecryptionKey(v string) *InputDecryptionSettings {
 14553  	s.EncryptedDecryptionKey = &v
 14554  	return s
 14555  }
 14556  
 14557  // SetInitializationVector sets the InitializationVector field's value.
 14558  func (s *InputDecryptionSettings) SetInitializationVector(v string) *InputDecryptionSettings {
 14559  	s.InitializationVector = &v
 14560  	return s
 14561  }
 14562  
 14563  // SetKmsKeyRegion sets the KmsKeyRegion field's value.
 14564  func (s *InputDecryptionSettings) SetKmsKeyRegion(v string) *InputDecryptionSettings {
 14565  	s.KmsKeyRegion = &v
 14566  	return s
 14567  }
 14568  
 14569  // Specified video input in a template.
 14570  type InputTemplate struct {
 14571  	_ struct{} `type:"structure"`
 14572  
 14573  	// Use audio selector groups to combine multiple sidecar audio inputs so that
 14574  	// you can assign them to a single output audio tab (AudioDescription). Note
 14575  	// that, if you're working with embedded audio, it's simpler to assign multiple
 14576  	// input tracks into a single audio selector rather than use an audio selector
 14577  	// group.
 14578  	AudioSelectorGroups map[string]*AudioSelectorGroup `locationName:"audioSelectorGroups" type:"map"`
 14579  
 14580  	// Use Audio selectors (AudioSelectors) to specify a track or set of tracks
 14581  	// from the input that you will use in your outputs. You can use multiple Audio
 14582  	// selectors per input.
 14583  	AudioSelectors map[string]*AudioSelector `locationName:"audioSelectors" type:"map"`
 14584  
 14585  	// Use captions selectors to specify the captions data from your input that
 14586  	// you use in your outputs. You can use up to 20 captions selectors per input.
 14587  	CaptionSelectors map[string]*CaptionSelector `locationName:"captionSelectors" type:"map"`
 14588  
 14589  	// Use Cropping selection (crop) to specify the video area that the service
 14590  	// will include in the output video frame. If you specify a value here, it will
 14591  	// override any value that you specify in the output setting Cropping selection
 14592  	// (crop).
 14593  	Crop *Rectangle `locationName:"crop" type:"structure"`
 14594  
 14595  	// Enable Deblock (InputDeblockFilter) to produce smoother motion in the output.
 14596  	// Default is disabled. Only manually controllable for MPEG2 and uncompressed
 14597  	// video inputs.
 14598  	DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"`
 14599  
 14600  	// Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default
 14601  	// is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video
 14602  	// inputs.
 14603  	DenoiseFilter *string `locationName:"denoiseFilter" type:"string" enum:"InputDenoiseFilter"`
 14604  
 14605  	// Specify how the transcoding service applies the denoise and deblock filters.
 14606  	// You must also enable the filters separately, with Denoise (InputDenoiseFilter)
 14607  	// and Deblock (InputDeblockFilter). * Auto - The transcoding service determines
 14608  	// whether to apply filtering, depending on input type and quality. * Disable
 14609  	// - The input is not filtered. This is true even if you use the API to enable
 14610  	// them in (InputDeblockFilter) and (InputDeblockFilter). * Force - The input
 14611  	// is filtered regardless of input type.
 14612  	FilterEnable *string `locationName:"filterEnable" type:"string" enum:"InputFilterEnable"`
 14613  
 14614  	// Use Filter strength (FilterStrength) to adjust the magnitude the input filter
 14615  	// settings (Deblock and Denoise). The range is -5 to 5. Default is 0.
 14616  	FilterStrength *int64 `locationName:"filterStrength" type:"integer"`
 14617  
 14618  	// Enable the image inserter feature to include a graphic overlay on your video.
 14619  	// Enable or disable this feature for each input individually. This setting
 14620  	// is disabled by default.
 14621  	ImageInserter *ImageInserter `locationName:"imageInserter" type:"structure"`
 14622  
 14623  	// (InputClippings) contains sets of start and end times that together specify
 14624  	// a portion of the input to be used in the outputs. If you provide only a start
 14625  	// time, the clip will be the entire input from that point to the end. If you
 14626  	// provide only an end time, it will be the entire input up to that point. When
 14627  	// you specify more than one input clip, the transcoding service creates the
 14628  	// job outputs by stringing the clips together in the order you specify them.
 14629  	InputClippings []*InputClipping `locationName:"inputClippings" type:"list"`
 14630  
 14631  	// When you have a progressive segmented frame (PsF) input, use this setting
 14632  	// to flag the input as PsF. MediaConvert doesn't automatically detect PsF.
 14633  	// Therefore, flagging your input as PsF results in better preservation of video
 14634  	// quality when you do deinterlacing and frame rate conversion. If you don't
 14635  	// specify, the default value is Auto (AUTO). Auto is the correct setting for
 14636  	// all inputs that are not PsF. Don't set this value to PsF when your input
 14637  	// is interlaced. Doing so creates horizontal interlacing artifacts.
 14638  	InputScanType *string `locationName:"inputScanType" type:"string" enum:"InputScanType"`
 14639  
 14640  	// Use Selection placement (position) to define the video area in your output
 14641  	// frame. The area outside of the rectangle that you specify here is black.
 14642  	// If you specify a value here, it will override any value that you specify
 14643  	// in the output setting Selection placement (position). If you specify a value
 14644  	// here, this will override any AFD values in your input, even if you set Respond
 14645  	// to AFD (RespondToAfd) to Respond (RESPOND). If you specify a value here,
 14646  	// this will ignore anything that you specify for the setting Scaling Behavior
 14647  	// (scalingBehavior).
 14648  	Position *Rectangle `locationName:"position" type:"structure"`
 14649  
 14650  	// Use Program (programNumber) to select a specific program from within a multi-program
 14651  	// transport stream. Note that Quad 4K is not currently supported. Default is
 14652  	// the first program within the transport stream. If the program you specify
 14653  	// doesn't exist, the transcoding service will use this default.
 14654  	ProgramNumber *int64 `locationName:"programNumber" min:"1" type:"integer"`
 14655  
 14656  	// Set PSI control (InputPsiControl) for transport stream inputs to specify
 14657  	// which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio
 14658  	// and video. * Use PSI - Scan only PSI data.
 14659  	PsiControl *string `locationName:"psiControl" type:"string" enum:"InputPsiControl"`
 14660  
 14661  	// Use this Timecode source setting, located under the input settings (InputTimecodeSource),
 14662  	// to specify how the service counts input video frames. This input frame count
 14663  	// affects only the behavior of features that apply to a single input at a time,
 14664  	// such as input clipping and synchronizing some captions formats. Choose Embedded
 14665  	// (EMBEDDED) to use the timecodes in your input video. Choose Start at zero
 14666  	// (ZEROBASED) to start the first frame at zero. Choose Specified start (SPECIFIEDSTART)
 14667  	// to start the first frame at the timecode that you specify in the setting
 14668  	// Start timecode (timecodeStart). If you don't specify a value for Timecode
 14669  	// source, the service will use Embedded by default. For more information about
 14670  	// timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode.
 14671  	TimecodeSource *string `locationName:"timecodeSource" type:"string" enum:"InputTimecodeSource"`
 14672  
 14673  	// Specify the timecode that you want the service to use for this input's initial
 14674  	// frame. To use this setting, you must set the Timecode source setting, located
 14675  	// under the input settings (InputTimecodeSource), to Specified start (SPECIFIEDSTART).
 14676  	// For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode.
 14677  	TimecodeStart *string `locationName:"timecodeStart" min:"11" type:"string"`
 14678  
 14679  	// Input video selectors contain the video settings for the input. Each of your
 14680  	// inputs can have up to one video selector.
 14681  	VideoSelector *VideoSelector `locationName:"videoSelector" type:"structure"`
 14682  }
 14683  
 14684  // String returns the string representation.
 14685  //
 14686  // API parameter values that are decorated as "sensitive" in the API will not
 14687  // be included in the string output. The member name will be present, but the
 14688  // value will be replaced with "sensitive".
 14689  func (s InputTemplate) String() string {
 14690  	return awsutil.Prettify(s)
 14691  }
 14692  
 14693  // GoString returns the string representation.
 14694  //
 14695  // API parameter values that are decorated as "sensitive" in the API will not
 14696  // be included in the string output. The member name will be present, but the
 14697  // value will be replaced with "sensitive".
 14698  func (s InputTemplate) GoString() string {
 14699  	return s.String()
 14700  }
 14701  
 14702  // Validate inspects the fields of the type to determine if they are valid.
 14703  func (s *InputTemplate) Validate() error {
 14704  	invalidParams := request.ErrInvalidParams{Context: "InputTemplate"}
 14705  	if s.FilterStrength != nil && *s.FilterStrength < -5 {
 14706  		invalidParams.Add(request.NewErrParamMinValue("FilterStrength", -5))
 14707  	}
 14708  	if s.ProgramNumber != nil && *s.ProgramNumber < 1 {
 14709  		invalidParams.Add(request.NewErrParamMinValue("ProgramNumber", 1))
 14710  	}
 14711  	if s.TimecodeStart != nil && len(*s.TimecodeStart) < 11 {
 14712  		invalidParams.Add(request.NewErrParamMinLen("TimecodeStart", 11))
 14713  	}
 14714  	if s.AudioSelectors != nil {
 14715  		for i, v := range s.AudioSelectors {
 14716  			if v == nil {
 14717  				continue
 14718  			}
 14719  			if err := v.Validate(); err != nil {
 14720  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioSelectors", i), err.(request.ErrInvalidParams))
 14721  			}
 14722  		}
 14723  	}
 14724  	if s.CaptionSelectors != nil {
 14725  		for i, v := range s.CaptionSelectors {
 14726  			if v == nil {
 14727  				continue
 14728  			}
 14729  			if err := v.Validate(); err != nil {
 14730  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSelectors", i), err.(request.ErrInvalidParams))
 14731  			}
 14732  		}
 14733  	}
 14734  	if s.Crop != nil {
 14735  		if err := s.Crop.Validate(); err != nil {
 14736  			invalidParams.AddNested("Crop", err.(request.ErrInvalidParams))
 14737  		}
 14738  	}
 14739  	if s.ImageInserter != nil {
 14740  		if err := s.ImageInserter.Validate(); err != nil {
 14741  			invalidParams.AddNested("ImageInserter", err.(request.ErrInvalidParams))
 14742  		}
 14743  	}
 14744  	if s.Position != nil {
 14745  		if err := s.Position.Validate(); err != nil {
 14746  			invalidParams.AddNested("Position", err.(request.ErrInvalidParams))
 14747  		}
 14748  	}
 14749  	if s.VideoSelector != nil {
 14750  		if err := s.VideoSelector.Validate(); err != nil {
 14751  			invalidParams.AddNested("VideoSelector", err.(request.ErrInvalidParams))
 14752  		}
 14753  	}
 14754  
 14755  	if invalidParams.Len() > 0 {
 14756  		return invalidParams
 14757  	}
 14758  	return nil
 14759  }
 14760  
 14761  // SetAudioSelectorGroups sets the AudioSelectorGroups field's value.
 14762  func (s *InputTemplate) SetAudioSelectorGroups(v map[string]*AudioSelectorGroup) *InputTemplate {
 14763  	s.AudioSelectorGroups = v
 14764  	return s
 14765  }
 14766  
 14767  // SetAudioSelectors sets the AudioSelectors field's value.
 14768  func (s *InputTemplate) SetAudioSelectors(v map[string]*AudioSelector) *InputTemplate {
 14769  	s.AudioSelectors = v
 14770  	return s
 14771  }
 14772  
 14773  // SetCaptionSelectors sets the CaptionSelectors field's value.
 14774  func (s *InputTemplate) SetCaptionSelectors(v map[string]*CaptionSelector) *InputTemplate {
 14775  	s.CaptionSelectors = v
 14776  	return s
 14777  }
 14778  
 14779  // SetCrop sets the Crop field's value.
 14780  func (s *InputTemplate) SetCrop(v *Rectangle) *InputTemplate {
 14781  	s.Crop = v
 14782  	return s
 14783  }
 14784  
 14785  // SetDeblockFilter sets the DeblockFilter field's value.
 14786  func (s *InputTemplate) SetDeblockFilter(v string) *InputTemplate {
 14787  	s.DeblockFilter = &v
 14788  	return s
 14789  }
 14790  
 14791  // SetDenoiseFilter sets the DenoiseFilter field's value.
 14792  func (s *InputTemplate) SetDenoiseFilter(v string) *InputTemplate {
 14793  	s.DenoiseFilter = &v
 14794  	return s
 14795  }
 14796  
 14797  // SetFilterEnable sets the FilterEnable field's value.
 14798  func (s *InputTemplate) SetFilterEnable(v string) *InputTemplate {
 14799  	s.FilterEnable = &v
 14800  	return s
 14801  }
 14802  
 14803  // SetFilterStrength sets the FilterStrength field's value.
 14804  func (s *InputTemplate) SetFilterStrength(v int64) *InputTemplate {
 14805  	s.FilterStrength = &v
 14806  	return s
 14807  }
 14808  
 14809  // SetImageInserter sets the ImageInserter field's value.
 14810  func (s *InputTemplate) SetImageInserter(v *ImageInserter) *InputTemplate {
 14811  	s.ImageInserter = v
 14812  	return s
 14813  }
 14814  
 14815  // SetInputClippings sets the InputClippings field's value.
 14816  func (s *InputTemplate) SetInputClippings(v []*InputClipping) *InputTemplate {
 14817  	s.InputClippings = v
 14818  	return s
 14819  }
 14820  
 14821  // SetInputScanType sets the InputScanType field's value.
 14822  func (s *InputTemplate) SetInputScanType(v string) *InputTemplate {
 14823  	s.InputScanType = &v
 14824  	return s
 14825  }
 14826  
 14827  // SetPosition sets the Position field's value.
 14828  func (s *InputTemplate) SetPosition(v *Rectangle) *InputTemplate {
 14829  	s.Position = v
 14830  	return s
 14831  }
 14832  
 14833  // SetProgramNumber sets the ProgramNumber field's value.
 14834  func (s *InputTemplate) SetProgramNumber(v int64) *InputTemplate {
 14835  	s.ProgramNumber = &v
 14836  	return s
 14837  }
 14838  
 14839  // SetPsiControl sets the PsiControl field's value.
 14840  func (s *InputTemplate) SetPsiControl(v string) *InputTemplate {
 14841  	s.PsiControl = &v
 14842  	return s
 14843  }
 14844  
 14845  // SetTimecodeSource sets the TimecodeSource field's value.
 14846  func (s *InputTemplate) SetTimecodeSource(v string) *InputTemplate {
 14847  	s.TimecodeSource = &v
 14848  	return s
 14849  }
 14850  
 14851  // SetTimecodeStart sets the TimecodeStart field's value.
 14852  func (s *InputTemplate) SetTimecodeStart(v string) *InputTemplate {
 14853  	s.TimecodeStart = &v
 14854  	return s
 14855  }
 14856  
 14857  // SetVideoSelector sets the VideoSelector field's value.
 14858  func (s *InputTemplate) SetVideoSelector(v *VideoSelector) *InputTemplate {
 14859  	s.VideoSelector = v
 14860  	return s
 14861  }
 14862  
 14863  // These settings apply to a specific graphic overlay. You can include multiple
 14864  // overlays in your job.
 14865  type InsertableImage struct {
 14866  	_ struct{} `type:"structure"`
 14867  
 14868  	// Specify the time, in milliseconds, for the image to remain on the output
 14869  	// video. This duration includes fade-in time but not fade-out time.
 14870  	Duration *int64 `locationName:"duration" type:"integer"`
 14871  
 14872  	// Specify the length of time, in milliseconds, between the Start time that
 14873  	// you specify for the image insertion and the time that the image appears at
 14874  	// full opacity. Full opacity is the level that you specify for the opacity
 14875  	// setting. If you don't specify a value for Fade-in, the image will appear
 14876  	// abruptly at the overlay start time.
 14877  	FadeIn *int64 `locationName:"fadeIn" type:"integer"`
 14878  
 14879  	// Specify the length of time, in milliseconds, between the end of the time
 14880  	// that you have specified for the image overlay Duration and when the overlaid
 14881  	// image has faded to total transparency. If you don't specify a value for Fade-out,
 14882  	// the image will disappear abruptly at the end of the inserted image duration.
 14883  	FadeOut *int64 `locationName:"fadeOut" type:"integer"`
 14884  
 14885  	// Specify the height of the inserted image in pixels. If you specify a value
 14886  	// that's larger than the video resolution height, the service will crop your
 14887  	// overlaid image to fit. To use the native height of the image, keep this setting
 14888  	// blank.
 14889  	Height *int64 `locationName:"height" type:"integer"`
 14890  
 14891  	// Specify the HTTP, HTTPS, or Amazon S3 location of the image that you want
 14892  	// to overlay on the video. Use a PNG or TGA file.
 14893  	ImageInserterInput *string `locationName:"imageInserterInput" min:"14" type:"string"`
 14894  
 14895  	// Specify the distance, in pixels, between the inserted image and the left
 14896  	// edge of the video frame. Required for any image overlay that you specify.
 14897  	ImageX *int64 `locationName:"imageX" type:"integer"`
 14898  
 14899  	// Specify the distance, in pixels, between the overlaid image and the top edge
 14900  	// of the video frame. Required for any image overlay that you specify.
 14901  	ImageY *int64 `locationName:"imageY" type:"integer"`
 14902  
 14903  	// Specify how overlapping inserted images appear. Images with higher values
 14904  	// for Layer appear on top of images with lower values for Layer.
 14905  	Layer *int64 `locationName:"layer" type:"integer"`
 14906  
 14907  	// Use Opacity (Opacity) to specify how much of the underlying video shows through
 14908  	// the inserted image. 0 is transparent and 100 is fully opaque. Default is
 14909  	// 50.
 14910  	Opacity *int64 `locationName:"opacity" type:"integer"`
 14911  
 14912  	// Specify the timecode of the frame that you want the overlay to first appear
 14913  	// on. This must be in timecode (HH:MM:SS:FF or HH:MM:SS;FF) format. Remember
 14914  	// to take into account your timecode source settings.
 14915  	StartTime *string `locationName:"startTime" type:"string"`
 14916  
 14917  	// Specify the width of the inserted image in pixels. If you specify a value
 14918  	// that's larger than the video resolution width, the service will crop your
 14919  	// overlaid image to fit. To use the native width of the image, keep this setting
 14920  	// blank.
 14921  	Width *int64 `locationName:"width" type:"integer"`
 14922  }
 14923  
 14924  // String returns the string representation.
 14925  //
 14926  // API parameter values that are decorated as "sensitive" in the API will not
 14927  // be included in the string output. The member name will be present, but the
 14928  // value will be replaced with "sensitive".
 14929  func (s InsertableImage) String() string {
 14930  	return awsutil.Prettify(s)
 14931  }
 14932  
 14933  // GoString returns the string representation.
 14934  //
 14935  // API parameter values that are decorated as "sensitive" in the API will not
 14936  // be included in the string output. The member name will be present, but the
 14937  // value will be replaced with "sensitive".
 14938  func (s InsertableImage) GoString() string {
 14939  	return s.String()
 14940  }
 14941  
 14942  // Validate inspects the fields of the type to determine if they are valid.
 14943  func (s *InsertableImage) Validate() error {
 14944  	invalidParams := request.ErrInvalidParams{Context: "InsertableImage"}
 14945  	if s.ImageInserterInput != nil && len(*s.ImageInserterInput) < 14 {
 14946  		invalidParams.Add(request.NewErrParamMinLen("ImageInserterInput", 14))
 14947  	}
 14948  
 14949  	if invalidParams.Len() > 0 {
 14950  		return invalidParams
 14951  	}
 14952  	return nil
 14953  }
 14954  
 14955  // SetDuration sets the Duration field's value.
 14956  func (s *InsertableImage) SetDuration(v int64) *InsertableImage {
 14957  	s.Duration = &v
 14958  	return s
 14959  }
 14960  
 14961  // SetFadeIn sets the FadeIn field's value.
 14962  func (s *InsertableImage) SetFadeIn(v int64) *InsertableImage {
 14963  	s.FadeIn = &v
 14964  	return s
 14965  }
 14966  
 14967  // SetFadeOut sets the FadeOut field's value.
 14968  func (s *InsertableImage) SetFadeOut(v int64) *InsertableImage {
 14969  	s.FadeOut = &v
 14970  	return s
 14971  }
 14972  
 14973  // SetHeight sets the Height field's value.
 14974  func (s *InsertableImage) SetHeight(v int64) *InsertableImage {
 14975  	s.Height = &v
 14976  	return s
 14977  }
 14978  
 14979  // SetImageInserterInput sets the ImageInserterInput field's value.
 14980  func (s *InsertableImage) SetImageInserterInput(v string) *InsertableImage {
 14981  	s.ImageInserterInput = &v
 14982  	return s
 14983  }
 14984  
 14985  // SetImageX sets the ImageX field's value.
 14986  func (s *InsertableImage) SetImageX(v int64) *InsertableImage {
 14987  	s.ImageX = &v
 14988  	return s
 14989  }
 14990  
 14991  // SetImageY sets the ImageY field's value.
 14992  func (s *InsertableImage) SetImageY(v int64) *InsertableImage {
 14993  	s.ImageY = &v
 14994  	return s
 14995  }
 14996  
 14997  // SetLayer sets the Layer field's value.
 14998  func (s *InsertableImage) SetLayer(v int64) *InsertableImage {
 14999  	s.Layer = &v
 15000  	return s
 15001  }
 15002  
 15003  // SetOpacity sets the Opacity field's value.
 15004  func (s *InsertableImage) SetOpacity(v int64) *InsertableImage {
 15005  	s.Opacity = &v
 15006  	return s
 15007  }
 15008  
 15009  // SetStartTime sets the StartTime field's value.
 15010  func (s *InsertableImage) SetStartTime(v string) *InsertableImage {
 15011  	s.StartTime = &v
 15012  	return s
 15013  }
 15014  
 15015  // SetWidth sets the Width field's value.
 15016  func (s *InsertableImage) SetWidth(v int64) *InsertableImage {
 15017  	s.Width = &v
 15018  	return s
 15019  }
 15020  
 15021  type InternalServerErrorException struct {
 15022  	_            struct{}                  `type:"structure"`
 15023  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15024  
 15025  	Message_ *string `locationName:"message" type:"string"`
 15026  }
 15027  
 15028  // String returns the string representation.
 15029  //
 15030  // API parameter values that are decorated as "sensitive" in the API will not
 15031  // be included in the string output. The member name will be present, but the
 15032  // value will be replaced with "sensitive".
 15033  func (s InternalServerErrorException) String() string {
 15034  	return awsutil.Prettify(s)
 15035  }
 15036  
 15037  // GoString returns the string representation.
 15038  //
 15039  // API parameter values that are decorated as "sensitive" in the API will not
 15040  // be included in the string output. The member name will be present, but the
 15041  // value will be replaced with "sensitive".
 15042  func (s InternalServerErrorException) GoString() string {
 15043  	return s.String()
 15044  }
 15045  
 15046  func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
 15047  	return &InternalServerErrorException{
 15048  		RespMetadata: v,
 15049  	}
 15050  }
 15051  
 15052  // Code returns the exception type name.
 15053  func (s *InternalServerErrorException) Code() string {
 15054  	return "InternalServerErrorException"
 15055  }
 15056  
 15057  // Message returns the exception's message.
 15058  func (s *InternalServerErrorException) Message() string {
 15059  	if s.Message_ != nil {
 15060  		return *s.Message_
 15061  	}
 15062  	return ""
 15063  }
 15064  
 15065  // OrigErr always returns nil, satisfies awserr.Error interface.
 15066  func (s *InternalServerErrorException) OrigErr() error {
 15067  	return nil
 15068  }
 15069  
 15070  func (s *InternalServerErrorException) Error() string {
 15071  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15072  }
 15073  
 15074  // Status code returns the HTTP status code for the request's response error.
 15075  func (s *InternalServerErrorException) StatusCode() int {
 15076  	return s.RespMetadata.StatusCode
 15077  }
 15078  
 15079  // RequestID returns the service's response RequestID for request.
 15080  func (s *InternalServerErrorException) RequestID() string {
 15081  	return s.RespMetadata.RequestID
 15082  }
 15083  
 15084  // Each job converts an input file into an output file or files. For more information,
 15085  // see the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
 15086  type Job struct {
 15087  	_ struct{} `type:"structure"`
 15088  
 15089  	// Accelerated transcoding can significantly speed up jobs with long, visually
 15090  	// complex content.
 15091  	AccelerationSettings *AccelerationSettings `locationName:"accelerationSettings" type:"structure"`
 15092  
 15093  	// Describes whether the current job is running with accelerated transcoding.
 15094  	// For jobs that have Acceleration (AccelerationMode) set to DISABLED, AccelerationStatus
 15095  	// is always NOT_APPLICABLE. For jobs that have Acceleration (AccelerationMode)
 15096  	// set to ENABLED or PREFERRED, AccelerationStatus is one of the other states.
 15097  	// AccelerationStatus is IN_PROGRESS initially, while the service determines
 15098  	// whether the input files and job settings are compatible with accelerated
 15099  	// transcoding. If they are, AcclerationStatus is ACCELERATED. If your input
 15100  	// files and job settings aren't compatible with accelerated transcoding, the
 15101  	// service either fails your job or runs it without accelerated transcoding,
 15102  	// depending on how you set Acceleration (AccelerationMode). When the service
 15103  	// runs your job without accelerated transcoding, AccelerationStatus is NOT_ACCELERATED.
 15104  	AccelerationStatus *string `locationName:"accelerationStatus" type:"string" enum:"AccelerationStatus"`
 15105  
 15106  	// An identifier for this resource that is unique within all of AWS.
 15107  	Arn *string `locationName:"arn" type:"string"`
 15108  
 15109  	// The tag type that AWS Billing and Cost Management will use to sort your AWS
 15110  	// Elemental MediaConvert costs on any billing report that you set up.
 15111  	BillingTagsSource *string `locationName:"billingTagsSource" type:"string" enum:"BillingTagsSource"`
 15112  
 15113  	// The time, in Unix epoch format in seconds, when the job got created.
 15114  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unixTimestamp"`
 15115  
 15116  	// A job's phase can be PROBING, TRANSCODING OR UPLOADING
 15117  	CurrentPhase *string `locationName:"currentPhase" type:"string" enum:"JobPhase"`
 15118  
 15119  	// Error code for the job
 15120  	ErrorCode *int64 `locationName:"errorCode" type:"integer"`
 15121  
 15122  	// Error message of Job
 15123  	ErrorMessage *string `locationName:"errorMessage" type:"string"`
 15124  
 15125  	// Optional list of hop destinations.
 15126  	HopDestinations []*HopDestination `locationName:"hopDestinations" type:"list"`
 15127  
 15128  	// A portion of the job's ARN, unique within your AWS Elemental MediaConvert
 15129  	// resources
 15130  	Id *string `locationName:"id" type:"string"`
 15131  
 15132  	// An estimate of how far your job has progressed. This estimate is shown as
 15133  	// a percentage of the total time from when your job leaves its queue to when
 15134  	// your output files appear in your output Amazon S3 bucket. AWS Elemental MediaConvert
 15135  	// provides jobPercentComplete in CloudWatch STATUS_UPDATE events and in the
 15136  	// response to GetJob and ListJobs requests. The jobPercentComplete estimate
 15137  	// is reliable for the following input containers: Quicktime, Transport Stream,
 15138  	// MP4, and MXF. For some jobs, the service can't provide information about
 15139  	// job progress. In those cases, jobPercentComplete returns a null value.
 15140  	JobPercentComplete *int64 `locationName:"jobPercentComplete" type:"integer"`
 15141  
 15142  	// The job template that the job is created from, if it is created from a job
 15143  	// template.
 15144  	JobTemplate *string `locationName:"jobTemplate" type:"string"`
 15145  
 15146  	// Provides messages from the service about jobs that you have already successfully
 15147  	// submitted.
 15148  	Messages *JobMessages `locationName:"messages" type:"structure"`
 15149  
 15150  	// List of output group details
 15151  	OutputGroupDetails []*OutputGroupDetail `locationName:"outputGroupDetails" type:"list"`
 15152  
 15153  	// Relative priority on the job.
 15154  	Priority *int64 `locationName:"priority" type:"integer"`
 15155  
 15156  	// When you create a job, you can specify a queue to send it to. If you don't
 15157  	// specify, the job will go to the default queue. For more about queues, see
 15158  	// the User Guide topic at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
 15159  	Queue *string `locationName:"queue" type:"string"`
 15160  
 15161  	// The job's queue hopping history.
 15162  	QueueTransitions []*QueueTransition `locationName:"queueTransitions" type:"list"`
 15163  
 15164  	// The number of times that the service automatically attempted to process your
 15165  	// job after encountering an error.
 15166  	RetryCount *int64 `locationName:"retryCount" type:"integer"`
 15167  
 15168  	// The IAM role you use for creating this job. For details about permissions,
 15169  	// see the User Guide topic at the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html
 15170  	//
 15171  	// Role is a required field
 15172  	Role *string `locationName:"role" type:"string" required:"true"`
 15173  
 15174  	// JobSettings contains all the transcode settings for a job.
 15175  	//
 15176  	// Settings is a required field
 15177  	Settings *JobSettings `locationName:"settings" type:"structure" required:"true"`
 15178  
 15179  	// Enable this setting when you run a test job to estimate how many reserved
 15180  	// transcoding slots (RTS) you need. When this is enabled, MediaConvert runs
 15181  	// your job from an on-demand queue with similar performance to what you will
 15182  	// see with one RTS in a reserved queue. This setting is disabled by default.
 15183  	SimulateReservedQueue *string `locationName:"simulateReservedQueue" type:"string" enum:"SimulateReservedQueue"`
 15184  
 15185  	// A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR.
 15186  	Status *string `locationName:"status" type:"string" enum:"JobStatus"`
 15187  
 15188  	// Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch
 15189  	// Events. Set the interval, in seconds, between status updates. MediaConvert
 15190  	// sends an update at this interval from the time the service begins processing
 15191  	// your job to the time it completes the transcode or encounters an error.
 15192  	StatusUpdateInterval *string `locationName:"statusUpdateInterval" type:"string" enum:"StatusUpdateInterval"`
 15193  
 15194  	// Information about when jobs are submitted, started, and finished is specified
 15195  	// in Unix epoch format in seconds.
 15196  	Timing *Timing `locationName:"timing" type:"structure"`
 15197  
 15198  	// User-defined metadata that you want to associate with an MediaConvert job.
 15199  	// You specify metadata in key/value pairs.
 15200  	UserMetadata map[string]*string `locationName:"userMetadata" type:"map"`
 15201  }
 15202  
 15203  // String returns the string representation.
 15204  //
 15205  // API parameter values that are decorated as "sensitive" in the API will not
 15206  // be included in the string output. The member name will be present, but the
 15207  // value will be replaced with "sensitive".
 15208  func (s Job) String() string {
 15209  	return awsutil.Prettify(s)
 15210  }
 15211  
 15212  // GoString returns the string representation.
 15213  //
 15214  // API parameter values that are decorated as "sensitive" in the API will not
 15215  // be included in the string output. The member name will be present, but the
 15216  // value will be replaced with "sensitive".
 15217  func (s Job) GoString() string {
 15218  	return s.String()
 15219  }
 15220  
 15221  // SetAccelerationSettings sets the AccelerationSettings field's value.
 15222  func (s *Job) SetAccelerationSettings(v *AccelerationSettings) *Job {
 15223  	s.AccelerationSettings = v
 15224  	return s
 15225  }
 15226  
 15227  // SetAccelerationStatus sets the AccelerationStatus field's value.
 15228  func (s *Job) SetAccelerationStatus(v string) *Job {
 15229  	s.AccelerationStatus = &v
 15230  	return s
 15231  }
 15232  
 15233  // SetArn sets the Arn field's value.
 15234  func (s *Job) SetArn(v string) *Job {
 15235  	s.Arn = &v
 15236  	return s
 15237  }
 15238  
 15239  // SetBillingTagsSource sets the BillingTagsSource field's value.
 15240  func (s *Job) SetBillingTagsSource(v string) *Job {
 15241  	s.BillingTagsSource = &v
 15242  	return s
 15243  }
 15244  
 15245  // SetCreatedAt sets the CreatedAt field's value.
 15246  func (s *Job) SetCreatedAt(v time.Time) *Job {
 15247  	s.CreatedAt = &v
 15248  	return s
 15249  }
 15250  
 15251  // SetCurrentPhase sets the CurrentPhase field's value.
 15252  func (s *Job) SetCurrentPhase(v string) *Job {
 15253  	s.CurrentPhase = &v
 15254  	return s
 15255  }
 15256  
 15257  // SetErrorCode sets the ErrorCode field's value.
 15258  func (s *Job) SetErrorCode(v int64) *Job {
 15259  	s.ErrorCode = &v
 15260  	return s
 15261  }
 15262  
 15263  // SetErrorMessage sets the ErrorMessage field's value.
 15264  func (s *Job) SetErrorMessage(v string) *Job {
 15265  	s.ErrorMessage = &v
 15266  	return s
 15267  }
 15268  
 15269  // SetHopDestinations sets the HopDestinations field's value.
 15270  func (s *Job) SetHopDestinations(v []*HopDestination) *Job {
 15271  	s.HopDestinations = v
 15272  	return s
 15273  }
 15274  
 15275  // SetId sets the Id field's value.
 15276  func (s *Job) SetId(v string) *Job {
 15277  	s.Id = &v
 15278  	return s
 15279  }
 15280  
 15281  // SetJobPercentComplete sets the JobPercentComplete field's value.
 15282  func (s *Job) SetJobPercentComplete(v int64) *Job {
 15283  	s.JobPercentComplete = &v
 15284  	return s
 15285  }
 15286  
 15287  // SetJobTemplate sets the JobTemplate field's value.
 15288  func (s *Job) SetJobTemplate(v string) *Job {
 15289  	s.JobTemplate = &v
 15290  	return s
 15291  }
 15292  
 15293  // SetMessages sets the Messages field's value.
 15294  func (s *Job) SetMessages(v *JobMessages) *Job {
 15295  	s.Messages = v
 15296  	return s
 15297  }
 15298  
 15299  // SetOutputGroupDetails sets the OutputGroupDetails field's value.
 15300  func (s *Job) SetOutputGroupDetails(v []*OutputGroupDetail) *Job {
 15301  	s.OutputGroupDetails = v
 15302  	return s
 15303  }
 15304  
 15305  // SetPriority sets the Priority field's value.
 15306  func (s *Job) SetPriority(v int64) *Job {
 15307  	s.Priority = &v
 15308  	return s
 15309  }
 15310  
 15311  // SetQueue sets the Queue field's value.
 15312  func (s *Job) SetQueue(v string) *Job {
 15313  	s.Queue = &v
 15314  	return s
 15315  }
 15316  
 15317  // SetQueueTransitions sets the QueueTransitions field's value.
 15318  func (s *Job) SetQueueTransitions(v []*QueueTransition) *Job {
 15319  	s.QueueTransitions = v
 15320  	return s
 15321  }
 15322  
 15323  // SetRetryCount sets the RetryCount field's value.
 15324  func (s *Job) SetRetryCount(v int64) *Job {
 15325  	s.RetryCount = &v
 15326  	return s
 15327  }
 15328  
 15329  // SetRole sets the Role field's value.
 15330  func (s *Job) SetRole(v string) *Job {
 15331  	s.Role = &v
 15332  	return s
 15333  }
 15334  
 15335  // SetSettings sets the Settings field's value.
 15336  func (s *Job) SetSettings(v *JobSettings) *Job {
 15337  	s.Settings = v
 15338  	return s
 15339  }
 15340  
 15341  // SetSimulateReservedQueue sets the SimulateReservedQueue field's value.
 15342  func (s *Job) SetSimulateReservedQueue(v string) *Job {
 15343  	s.SimulateReservedQueue = &v
 15344  	return s
 15345  }
 15346  
 15347  // SetStatus sets the Status field's value.
 15348  func (s *Job) SetStatus(v string) *Job {
 15349  	s.Status = &v
 15350  	return s
 15351  }
 15352  
 15353  // SetStatusUpdateInterval sets the StatusUpdateInterval field's value.
 15354  func (s *Job) SetStatusUpdateInterval(v string) *Job {
 15355  	s.StatusUpdateInterval = &v
 15356  	return s
 15357  }
 15358  
 15359  // SetTiming sets the Timing field's value.
 15360  func (s *Job) SetTiming(v *Timing) *Job {
 15361  	s.Timing = v
 15362  	return s
 15363  }
 15364  
 15365  // SetUserMetadata sets the UserMetadata field's value.
 15366  func (s *Job) SetUserMetadata(v map[string]*string) *Job {
 15367  	s.UserMetadata = v
 15368  	return s
 15369  }
 15370  
 15371  // Provides messages from the service about jobs that you have already successfully
 15372  // submitted.
 15373  type JobMessages struct {
 15374  	_ struct{} `type:"structure"`
 15375  
 15376  	// List of messages that are informational only and don't indicate a problem
 15377  	// with your job.
 15378  	Info []*string `locationName:"info" type:"list"`
 15379  
 15380  	// List of messages that warn about conditions that might cause your job not
 15381  	// to run or to fail.
 15382  	Warning []*string `locationName:"warning" type:"list"`
 15383  }
 15384  
 15385  // String returns the string representation.
 15386  //
 15387  // API parameter values that are decorated as "sensitive" in the API will not
 15388  // be included in the string output. The member name will be present, but the
 15389  // value will be replaced with "sensitive".
 15390  func (s JobMessages) String() string {
 15391  	return awsutil.Prettify(s)
 15392  }
 15393  
 15394  // GoString returns the string representation.
 15395  //
 15396  // API parameter values that are decorated as "sensitive" in the API will not
 15397  // be included in the string output. The member name will be present, but the
 15398  // value will be replaced with "sensitive".
 15399  func (s JobMessages) GoString() string {
 15400  	return s.String()
 15401  }
 15402  
 15403  // SetInfo sets the Info field's value.
 15404  func (s *JobMessages) SetInfo(v []*string) *JobMessages {
 15405  	s.Info = v
 15406  	return s
 15407  }
 15408  
 15409  // SetWarning sets the Warning field's value.
 15410  func (s *JobMessages) SetWarning(v []*string) *JobMessages {
 15411  	s.Warning = v
 15412  	return s
 15413  }
 15414  
 15415  // JobSettings contains all the transcode settings for a job.
 15416  type JobSettings struct {
 15417  	_ struct{} `type:"structure"`
 15418  
 15419  	// When specified, this offset (in milliseconds) is added to the input Ad Avail
 15420  	// PTS time.
 15421  	AdAvailOffset *int64 `locationName:"adAvailOffset" type:"integer"`
 15422  
 15423  	// Settings for ad avail blanking. Video can be blanked or overlaid with an
 15424  	// image, and audio muted during SCTE-35 triggered ad avails.
 15425  	AvailBlanking *AvailBlanking `locationName:"availBlanking" type:"structure"`
 15426  
 15427  	// Settings for Event Signaling And Messaging (ESAM). If you don't do ad insertion,
 15428  	// you can ignore these settings.
 15429  	Esam *EsamSettings `locationName:"esam" type:"structure"`
 15430  
 15431  	// If your source content has EIA-608 Line 21 Data Services, enable this feature
 15432  	// to specify what MediaConvert does with the Extended Data Services (XDS) packets.
 15433  	// You can choose to pass through XDS packets, or remove them from the output.
 15434  	// For more information about XDS, see EIA-608 Line Data Services, section 9.5.1.5
 15435  	// 05h Content Advisory.
 15436  	ExtendedDataServices *ExtendedDataServices `locationName:"extendedDataServices" type:"structure"`
 15437  
 15438  	// Use Inputs (inputs) to define source file used in the transcode job. There
 15439  	// can be multiple inputs add in a job. These inputs will be concantenated together
 15440  	// to create the output.
 15441  	Inputs []*Input `locationName:"inputs" type:"list"`
 15442  
 15443  	// Use these settings only when you use Kantar watermarking. Specify the values
 15444  	// that MediaConvert uses to generate and place Kantar watermarks in your output
 15445  	// audio. These settings apply to every output in your job. In addition to specifying
 15446  	// these values, you also need to store your Kantar credentials in AWS Secrets
 15447  	// Manager. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/kantar-watermarking.html.
 15448  	KantarWatermark *KantarWatermarkSettings `locationName:"kantarWatermark" type:"structure"`
 15449  
 15450  	// Overlay motion graphics on top of your video. The motion graphics that you
 15451  	// specify here appear on all outputs in all output groups. For more information,
 15452  	// see https://docs.aws.amazon.com/mediaconvert/latest/ug/motion-graphic-overlay.html.
 15453  	MotionImageInserter *MotionImageInserter `locationName:"motionImageInserter" type:"structure"`
 15454  
 15455  	// Settings for your Nielsen configuration. If you don't do Nielsen measurement
 15456  	// and analytics, ignore these settings. When you enable Nielsen configuration
 15457  	// (nielsenConfiguration), MediaConvert enables PCM to ID3 tagging for all outputs
 15458  	// in the job. To enable Nielsen configuration programmatically, include an
 15459  	// instance of nielsenConfiguration in your JSON job specification. Even if
 15460  	// you don't include any children of nielsenConfiguration, you still enable
 15461  	// the setting.
 15462  	NielsenConfiguration *NielsenConfiguration `locationName:"nielsenConfiguration" type:"structure"`
 15463  
 15464  	// Ignore these settings unless you are using Nielsen non-linear watermarking.
 15465  	// Specify the values that MediaConvert uses to generate and place Nielsen watermarks
 15466  	// in your output audio. In addition to specifying these values, you also need
 15467  	// to set up your cloud TIC server. These settings apply to every output in
 15468  	// your job. The MediaConvert implementation is currently with the following
 15469  	// Nielsen versions: Nielsen Watermark SDK Version 5.2.1 Nielsen NLM Watermark
 15470  	// Engine Version 1.2.7 Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0]
 15471  	NielsenNonLinearWatermark *NielsenNonLinearWatermarkSettings `locationName:"nielsenNonLinearWatermark" type:"structure"`
 15472  
 15473  	// (OutputGroups) contains one group of settings for each set of outputs that
 15474  	// share a common package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime,
 15475  	// MXF, and no container) are grouped in a single output group as well. Required
 15476  	// in (OutputGroups) is a group of settings that apply to the whole group. This
 15477  	// required object depends on the value you set for (Type) under (OutputGroups)>(OutputGroupSettings).
 15478  	// Type, settings object pairs are as follows. * FILE_GROUP_SETTINGS, FileGroupSettings
 15479  	// * HLS_GROUP_SETTINGS, HlsGroupSettings * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings
 15480  	// * MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS,
 15481  	// CmafGroupSettings
 15482  	OutputGroups []*OutputGroup `locationName:"outputGroups" type:"list"`
 15483  
 15484  	// These settings control how the service handles timecodes throughout the job.
 15485  	// These settings don't affect input clipping.
 15486  	TimecodeConfig *TimecodeConfig `locationName:"timecodeConfig" type:"structure"`
 15487  
 15488  	// Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags
 15489  	// in any HLS outputs. To include timed metadata, you must enable it here, enable
 15490  	// it in each output container, and specify tags and timecodes in ID3 insertion
 15491  	// (Id3Insertion) objects.
 15492  	TimedMetadataInsertion *TimedMetadataInsertion `locationName:"timedMetadataInsertion" type:"structure"`
 15493  }
 15494  
 15495  // String returns the string representation.
 15496  //
 15497  // API parameter values that are decorated as "sensitive" in the API will not
 15498  // be included in the string output. The member name will be present, but the
 15499  // value will be replaced with "sensitive".
 15500  func (s JobSettings) String() string {
 15501  	return awsutil.Prettify(s)
 15502  }
 15503  
 15504  // GoString returns the string representation.
 15505  //
 15506  // API parameter values that are decorated as "sensitive" in the API will not
 15507  // be included in the string output. The member name will be present, but the
 15508  // value will be replaced with "sensitive".
 15509  func (s JobSettings) GoString() string {
 15510  	return s.String()
 15511  }
 15512  
 15513  // Validate inspects the fields of the type to determine if they are valid.
 15514  func (s *JobSettings) Validate() error {
 15515  	invalidParams := request.ErrInvalidParams{Context: "JobSettings"}
 15516  	if s.AdAvailOffset != nil && *s.AdAvailOffset < -1000 {
 15517  		invalidParams.Add(request.NewErrParamMinValue("AdAvailOffset", -1000))
 15518  	}
 15519  	if s.AvailBlanking != nil {
 15520  		if err := s.AvailBlanking.Validate(); err != nil {
 15521  			invalidParams.AddNested("AvailBlanking", err.(request.ErrInvalidParams))
 15522  		}
 15523  	}
 15524  	if s.Inputs != nil {
 15525  		for i, v := range s.Inputs {
 15526  			if v == nil {
 15527  				continue
 15528  			}
 15529  			if err := v.Validate(); err != nil {
 15530  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Inputs", i), err.(request.ErrInvalidParams))
 15531  			}
 15532  		}
 15533  	}
 15534  	if s.KantarWatermark != nil {
 15535  		if err := s.KantarWatermark.Validate(); err != nil {
 15536  			invalidParams.AddNested("KantarWatermark", err.(request.ErrInvalidParams))
 15537  		}
 15538  	}
 15539  	if s.MotionImageInserter != nil {
 15540  		if err := s.MotionImageInserter.Validate(); err != nil {
 15541  			invalidParams.AddNested("MotionImageInserter", err.(request.ErrInvalidParams))
 15542  		}
 15543  	}
 15544  	if s.NielsenNonLinearWatermark != nil {
 15545  		if err := s.NielsenNonLinearWatermark.Validate(); err != nil {
 15546  			invalidParams.AddNested("NielsenNonLinearWatermark", err.(request.ErrInvalidParams))
 15547  		}
 15548  	}
 15549  	if s.OutputGroups != nil {
 15550  		for i, v := range s.OutputGroups {
 15551  			if v == nil {
 15552  				continue
 15553  			}
 15554  			if err := v.Validate(); err != nil {
 15555  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputGroups", i), err.(request.ErrInvalidParams))
 15556  			}
 15557  		}
 15558  	}
 15559  
 15560  	if invalidParams.Len() > 0 {
 15561  		return invalidParams
 15562  	}
 15563  	return nil
 15564  }
 15565  
 15566  // SetAdAvailOffset sets the AdAvailOffset field's value.
 15567  func (s *JobSettings) SetAdAvailOffset(v int64) *JobSettings {
 15568  	s.AdAvailOffset = &v
 15569  	return s
 15570  }
 15571  
 15572  // SetAvailBlanking sets the AvailBlanking field's value.
 15573  func (s *JobSettings) SetAvailBlanking(v *AvailBlanking) *JobSettings {
 15574  	s.AvailBlanking = v
 15575  	return s
 15576  }
 15577  
 15578  // SetEsam sets the Esam field's value.
 15579  func (s *JobSettings) SetEsam(v *EsamSettings) *JobSettings {
 15580  	s.Esam = v
 15581  	return s
 15582  }
 15583  
 15584  // SetExtendedDataServices sets the ExtendedDataServices field's value.
 15585  func (s *JobSettings) SetExtendedDataServices(v *ExtendedDataServices) *JobSettings {
 15586  	s.ExtendedDataServices = v
 15587  	return s
 15588  }
 15589  
 15590  // SetInputs sets the Inputs field's value.
 15591  func (s *JobSettings) SetInputs(v []*Input) *JobSettings {
 15592  	s.Inputs = v
 15593  	return s
 15594  }
 15595  
 15596  // SetKantarWatermark sets the KantarWatermark field's value.
 15597  func (s *JobSettings) SetKantarWatermark(v *KantarWatermarkSettings) *JobSettings {
 15598  	s.KantarWatermark = v
 15599  	return s
 15600  }
 15601  
 15602  // SetMotionImageInserter sets the MotionImageInserter field's value.
 15603  func (s *JobSettings) SetMotionImageInserter(v *MotionImageInserter) *JobSettings {
 15604  	s.MotionImageInserter = v
 15605  	return s
 15606  }
 15607  
 15608  // SetNielsenConfiguration sets the NielsenConfiguration field's value.
 15609  func (s *JobSettings) SetNielsenConfiguration(v *NielsenConfiguration) *JobSettings {
 15610  	s.NielsenConfiguration = v
 15611  	return s
 15612  }
 15613  
 15614  // SetNielsenNonLinearWatermark sets the NielsenNonLinearWatermark field's value.
 15615  func (s *JobSettings) SetNielsenNonLinearWatermark(v *NielsenNonLinearWatermarkSettings) *JobSettings {
 15616  	s.NielsenNonLinearWatermark = v
 15617  	return s
 15618  }
 15619  
 15620  // SetOutputGroups sets the OutputGroups field's value.
 15621  func (s *JobSettings) SetOutputGroups(v []*OutputGroup) *JobSettings {
 15622  	s.OutputGroups = v
 15623  	return s
 15624  }
 15625  
 15626  // SetTimecodeConfig sets the TimecodeConfig field's value.
 15627  func (s *JobSettings) SetTimecodeConfig(v *TimecodeConfig) *JobSettings {
 15628  	s.TimecodeConfig = v
 15629  	return s
 15630  }
 15631  
 15632  // SetTimedMetadataInsertion sets the TimedMetadataInsertion field's value.
 15633  func (s *JobSettings) SetTimedMetadataInsertion(v *TimedMetadataInsertion) *JobSettings {
 15634  	s.TimedMetadataInsertion = v
 15635  	return s
 15636  }
 15637  
 15638  // A job template is a pre-made set of encoding instructions that you can use
 15639  // to quickly create a job.
 15640  type JobTemplate struct {
 15641  	_ struct{} `type:"structure"`
 15642  
 15643  	// Accelerated transcoding can significantly speed up jobs with long, visually
 15644  	// complex content.
 15645  	AccelerationSettings *AccelerationSettings `locationName:"accelerationSettings" type:"structure"`
 15646  
 15647  	// An identifier for this resource that is unique within all of AWS.
 15648  	Arn *string `locationName:"arn" type:"string"`
 15649  
 15650  	// An optional category you create to organize your job templates.
 15651  	Category *string `locationName:"category" type:"string"`
 15652  
 15653  	// The timestamp in epoch seconds for Job template creation.
 15654  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unixTimestamp"`
 15655  
 15656  	// An optional description you create for each job template.
 15657  	Description *string `locationName:"description" type:"string"`
 15658  
 15659  	// Optional list of hop destinations.
 15660  	HopDestinations []*HopDestination `locationName:"hopDestinations" type:"list"`
 15661  
 15662  	// The timestamp in epoch seconds when the Job template was last updated.
 15663  	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp" timestampFormat:"unixTimestamp"`
 15664  
 15665  	// A name you create for each job template. Each name must be unique within
 15666  	// your account.
 15667  	//
 15668  	// Name is a required field
 15669  	Name *string `locationName:"name" type:"string" required:"true"`
 15670  
 15671  	// Relative priority on the job.
 15672  	Priority *int64 `locationName:"priority" type:"integer"`
 15673  
 15674  	// Optional. The queue that jobs created from this template are assigned to.
 15675  	// If you don't specify this, jobs will go to the default queue.
 15676  	Queue *string `locationName:"queue" type:"string"`
 15677  
 15678  	// JobTemplateSettings contains all the transcode settings saved in the template
 15679  	// that will be applied to jobs created from it.
 15680  	//
 15681  	// Settings is a required field
 15682  	Settings *JobTemplateSettings `locationName:"settings" type:"structure" required:"true"`
 15683  
 15684  	// Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch
 15685  	// Events. Set the interval, in seconds, between status updates. MediaConvert
 15686  	// sends an update at this interval from the time the service begins processing
 15687  	// your job to the time it completes the transcode or encounters an error.
 15688  	StatusUpdateInterval *string `locationName:"statusUpdateInterval" type:"string" enum:"StatusUpdateInterval"`
 15689  
 15690  	// A job template can be of two types: system or custom. System or built-in
 15691  	// job templates can't be modified or deleted by the user.
 15692  	Type *string `locationName:"type" type:"string" enum:"Type"`
 15693  }
 15694  
 15695  // String returns the string representation.
 15696  //
 15697  // API parameter values that are decorated as "sensitive" in the API will not
 15698  // be included in the string output. The member name will be present, but the
 15699  // value will be replaced with "sensitive".
 15700  func (s JobTemplate) String() string {
 15701  	return awsutil.Prettify(s)
 15702  }
 15703  
 15704  // GoString returns the string representation.
 15705  //
 15706  // API parameter values that are decorated as "sensitive" in the API will not
 15707  // be included in the string output. The member name will be present, but the
 15708  // value will be replaced with "sensitive".
 15709  func (s JobTemplate) GoString() string {
 15710  	return s.String()
 15711  }
 15712  
 15713  // SetAccelerationSettings sets the AccelerationSettings field's value.
 15714  func (s *JobTemplate) SetAccelerationSettings(v *AccelerationSettings) *JobTemplate {
 15715  	s.AccelerationSettings = v
 15716  	return s
 15717  }
 15718  
 15719  // SetArn sets the Arn field's value.
 15720  func (s *JobTemplate) SetArn(v string) *JobTemplate {
 15721  	s.Arn = &v
 15722  	return s
 15723  }
 15724  
 15725  // SetCategory sets the Category field's value.
 15726  func (s *JobTemplate) SetCategory(v string) *JobTemplate {
 15727  	s.Category = &v
 15728  	return s
 15729  }
 15730  
 15731  // SetCreatedAt sets the CreatedAt field's value.
 15732  func (s *JobTemplate) SetCreatedAt(v time.Time) *JobTemplate {
 15733  	s.CreatedAt = &v
 15734  	return s
 15735  }
 15736  
 15737  // SetDescription sets the Description field's value.
 15738  func (s *JobTemplate) SetDescription(v string) *JobTemplate {
 15739  	s.Description = &v
 15740  	return s
 15741  }
 15742  
 15743  // SetHopDestinations sets the HopDestinations field's value.
 15744  func (s *JobTemplate) SetHopDestinations(v []*HopDestination) *JobTemplate {
 15745  	s.HopDestinations = v
 15746  	return s
 15747  }
 15748  
 15749  // SetLastUpdated sets the LastUpdated field's value.
 15750  func (s *JobTemplate) SetLastUpdated(v time.Time) *JobTemplate {
 15751  	s.LastUpdated = &v
 15752  	return s
 15753  }
 15754  
 15755  // SetName sets the Name field's value.
 15756  func (s *JobTemplate) SetName(v string) *JobTemplate {
 15757  	s.Name = &v
 15758  	return s
 15759  }
 15760  
 15761  // SetPriority sets the Priority field's value.
 15762  func (s *JobTemplate) SetPriority(v int64) *JobTemplate {
 15763  	s.Priority = &v
 15764  	return s
 15765  }
 15766  
 15767  // SetQueue sets the Queue field's value.
 15768  func (s *JobTemplate) SetQueue(v string) *JobTemplate {
 15769  	s.Queue = &v
 15770  	return s
 15771  }
 15772  
 15773  // SetSettings sets the Settings field's value.
 15774  func (s *JobTemplate) SetSettings(v *JobTemplateSettings) *JobTemplate {
 15775  	s.Settings = v
 15776  	return s
 15777  }
 15778  
 15779  // SetStatusUpdateInterval sets the StatusUpdateInterval field's value.
 15780  func (s *JobTemplate) SetStatusUpdateInterval(v string) *JobTemplate {
 15781  	s.StatusUpdateInterval = &v
 15782  	return s
 15783  }
 15784  
 15785  // SetType sets the Type field's value.
 15786  func (s *JobTemplate) SetType(v string) *JobTemplate {
 15787  	s.Type = &v
 15788  	return s
 15789  }
 15790  
 15791  // JobTemplateSettings contains all the transcode settings saved in the template
 15792  // that will be applied to jobs created from it.
 15793  type JobTemplateSettings struct {
 15794  	_ struct{} `type:"structure"`
 15795  
 15796  	// When specified, this offset (in milliseconds) is added to the input Ad Avail
 15797  	// PTS time.
 15798  	AdAvailOffset *int64 `locationName:"adAvailOffset" type:"integer"`
 15799  
 15800  	// Settings for ad avail blanking. Video can be blanked or overlaid with an
 15801  	// image, and audio muted during SCTE-35 triggered ad avails.
 15802  	AvailBlanking *AvailBlanking `locationName:"availBlanking" type:"structure"`
 15803  
 15804  	// Settings for Event Signaling And Messaging (ESAM). If you don't do ad insertion,
 15805  	// you can ignore these settings.
 15806  	Esam *EsamSettings `locationName:"esam" type:"structure"`
 15807  
 15808  	// If your source content has EIA-608 Line 21 Data Services, enable this feature
 15809  	// to specify what MediaConvert does with the Extended Data Services (XDS) packets.
 15810  	// You can choose to pass through XDS packets, or remove them from the output.
 15811  	// For more information about XDS, see EIA-608 Line Data Services, section 9.5.1.5
 15812  	// 05h Content Advisory.
 15813  	ExtendedDataServices *ExtendedDataServices `locationName:"extendedDataServices" type:"structure"`
 15814  
 15815  	// Use Inputs (inputs) to define the source file used in the transcode job.
 15816  	// There can only be one input in a job template. Using the API, you can include
 15817  	// multiple inputs when referencing a job template.
 15818  	Inputs []*InputTemplate `locationName:"inputs" type:"list"`
 15819  
 15820  	// Use these settings only when you use Kantar watermarking. Specify the values
 15821  	// that MediaConvert uses to generate and place Kantar watermarks in your output
 15822  	// audio. These settings apply to every output in your job. In addition to specifying
 15823  	// these values, you also need to store your Kantar credentials in AWS Secrets
 15824  	// Manager. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/kantar-watermarking.html.
 15825  	KantarWatermark *KantarWatermarkSettings `locationName:"kantarWatermark" type:"structure"`
 15826  
 15827  	// Overlay motion graphics on top of your video. The motion graphics that you
 15828  	// specify here appear on all outputs in all output groups. For more information,
 15829  	// see https://docs.aws.amazon.com/mediaconvert/latest/ug/motion-graphic-overlay.html.
 15830  	MotionImageInserter *MotionImageInserter `locationName:"motionImageInserter" type:"structure"`
 15831  
 15832  	// Settings for your Nielsen configuration. If you don't do Nielsen measurement
 15833  	// and analytics, ignore these settings. When you enable Nielsen configuration
 15834  	// (nielsenConfiguration), MediaConvert enables PCM to ID3 tagging for all outputs
 15835  	// in the job. To enable Nielsen configuration programmatically, include an
 15836  	// instance of nielsenConfiguration in your JSON job specification. Even if
 15837  	// you don't include any children of nielsenConfiguration, you still enable
 15838  	// the setting.
 15839  	NielsenConfiguration *NielsenConfiguration `locationName:"nielsenConfiguration" type:"structure"`
 15840  
 15841  	// Ignore these settings unless you are using Nielsen non-linear watermarking.
 15842  	// Specify the values that MediaConvert uses to generate and place Nielsen watermarks
 15843  	// in your output audio. In addition to specifying these values, you also need
 15844  	// to set up your cloud TIC server. These settings apply to every output in
 15845  	// your job. The MediaConvert implementation is currently with the following
 15846  	// Nielsen versions: Nielsen Watermark SDK Version 5.2.1 Nielsen NLM Watermark
 15847  	// Engine Version 1.2.7 Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0]
 15848  	NielsenNonLinearWatermark *NielsenNonLinearWatermarkSettings `locationName:"nielsenNonLinearWatermark" type:"structure"`
 15849  
 15850  	// (OutputGroups) contains one group of settings for each set of outputs that
 15851  	// share a common package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime,
 15852  	// MXF, and no container) are grouped in a single output group as well. Required
 15853  	// in (OutputGroups) is a group of settings that apply to the whole group. This
 15854  	// required object depends on the value you set for (Type) under (OutputGroups)>(OutputGroupSettings).
 15855  	// Type, settings object pairs are as follows. * FILE_GROUP_SETTINGS, FileGroupSettings
 15856  	// * HLS_GROUP_SETTINGS, HlsGroupSettings * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings
 15857  	// * MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS,
 15858  	// CmafGroupSettings
 15859  	OutputGroups []*OutputGroup `locationName:"outputGroups" type:"list"`
 15860  
 15861  	// These settings control how the service handles timecodes throughout the job.
 15862  	// These settings don't affect input clipping.
 15863  	TimecodeConfig *TimecodeConfig `locationName:"timecodeConfig" type:"structure"`
 15864  
 15865  	// Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags
 15866  	// in any HLS outputs. To include timed metadata, you must enable it here, enable
 15867  	// it in each output container, and specify tags and timecodes in ID3 insertion
 15868  	// (Id3Insertion) objects.
 15869  	TimedMetadataInsertion *TimedMetadataInsertion `locationName:"timedMetadataInsertion" type:"structure"`
 15870  }
 15871  
 15872  // String returns the string representation.
 15873  //
 15874  // API parameter values that are decorated as "sensitive" in the API will not
 15875  // be included in the string output. The member name will be present, but the
 15876  // value will be replaced with "sensitive".
 15877  func (s JobTemplateSettings) String() string {
 15878  	return awsutil.Prettify(s)
 15879  }
 15880  
 15881  // GoString returns the string representation.
 15882  //
 15883  // API parameter values that are decorated as "sensitive" in the API will not
 15884  // be included in the string output. The member name will be present, but the
 15885  // value will be replaced with "sensitive".
 15886  func (s JobTemplateSettings) GoString() string {
 15887  	return s.String()
 15888  }
 15889  
 15890  // Validate inspects the fields of the type to determine if they are valid.
 15891  func (s *JobTemplateSettings) Validate() error {
 15892  	invalidParams := request.ErrInvalidParams{Context: "JobTemplateSettings"}
 15893  	if s.AdAvailOffset != nil && *s.AdAvailOffset < -1000 {
 15894  		invalidParams.Add(request.NewErrParamMinValue("AdAvailOffset", -1000))
 15895  	}
 15896  	if s.AvailBlanking != nil {
 15897  		if err := s.AvailBlanking.Validate(); err != nil {
 15898  			invalidParams.AddNested("AvailBlanking", err.(request.ErrInvalidParams))
 15899  		}
 15900  	}
 15901  	if s.Inputs != nil {
 15902  		for i, v := range s.Inputs {
 15903  			if v == nil {
 15904  				continue
 15905  			}
 15906  			if err := v.Validate(); err != nil {
 15907  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Inputs", i), err.(request.ErrInvalidParams))
 15908  			}
 15909  		}
 15910  	}
 15911  	if s.KantarWatermark != nil {
 15912  		if err := s.KantarWatermark.Validate(); err != nil {
 15913  			invalidParams.AddNested("KantarWatermark", err.(request.ErrInvalidParams))
 15914  		}
 15915  	}
 15916  	if s.MotionImageInserter != nil {
 15917  		if err := s.MotionImageInserter.Validate(); err != nil {
 15918  			invalidParams.AddNested("MotionImageInserter", err.(request.ErrInvalidParams))
 15919  		}
 15920  	}
 15921  	if s.NielsenNonLinearWatermark != nil {
 15922  		if err := s.NielsenNonLinearWatermark.Validate(); err != nil {
 15923  			invalidParams.AddNested("NielsenNonLinearWatermark", err.(request.ErrInvalidParams))
 15924  		}
 15925  	}
 15926  	if s.OutputGroups != nil {
 15927  		for i, v := range s.OutputGroups {
 15928  			if v == nil {
 15929  				continue
 15930  			}
 15931  			if err := v.Validate(); err != nil {
 15932  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputGroups", i), err.(request.ErrInvalidParams))
 15933  			}
 15934  		}
 15935  	}
 15936  
 15937  	if invalidParams.Len() > 0 {
 15938  		return invalidParams
 15939  	}
 15940  	return nil
 15941  }
 15942  
 15943  // SetAdAvailOffset sets the AdAvailOffset field's value.
 15944  func (s *JobTemplateSettings) SetAdAvailOffset(v int64) *JobTemplateSettings {
 15945  	s.AdAvailOffset = &v
 15946  	return s
 15947  }
 15948  
 15949  // SetAvailBlanking sets the AvailBlanking field's value.
 15950  func (s *JobTemplateSettings) SetAvailBlanking(v *AvailBlanking) *JobTemplateSettings {
 15951  	s.AvailBlanking = v
 15952  	return s
 15953  }
 15954  
 15955  // SetEsam sets the Esam field's value.
 15956  func (s *JobTemplateSettings) SetEsam(v *EsamSettings) *JobTemplateSettings {
 15957  	s.Esam = v
 15958  	return s
 15959  }
 15960  
 15961  // SetExtendedDataServices sets the ExtendedDataServices field's value.
 15962  func (s *JobTemplateSettings) SetExtendedDataServices(v *ExtendedDataServices) *JobTemplateSettings {
 15963  	s.ExtendedDataServices = v
 15964  	return s
 15965  }
 15966  
 15967  // SetInputs sets the Inputs field's value.
 15968  func (s *JobTemplateSettings) SetInputs(v []*InputTemplate) *JobTemplateSettings {
 15969  	s.Inputs = v
 15970  	return s
 15971  }
 15972  
 15973  // SetKantarWatermark sets the KantarWatermark field's value.
 15974  func (s *JobTemplateSettings) SetKantarWatermark(v *KantarWatermarkSettings) *JobTemplateSettings {
 15975  	s.KantarWatermark = v
 15976  	return s
 15977  }
 15978  
 15979  // SetMotionImageInserter sets the MotionImageInserter field's value.
 15980  func (s *JobTemplateSettings) SetMotionImageInserter(v *MotionImageInserter) *JobTemplateSettings {
 15981  	s.MotionImageInserter = v
 15982  	return s
 15983  }
 15984  
 15985  // SetNielsenConfiguration sets the NielsenConfiguration field's value.
 15986  func (s *JobTemplateSettings) SetNielsenConfiguration(v *NielsenConfiguration) *JobTemplateSettings {
 15987  	s.NielsenConfiguration = v
 15988  	return s
 15989  }
 15990  
 15991  // SetNielsenNonLinearWatermark sets the NielsenNonLinearWatermark field's value.
 15992  func (s *JobTemplateSettings) SetNielsenNonLinearWatermark(v *NielsenNonLinearWatermarkSettings) *JobTemplateSettings {
 15993  	s.NielsenNonLinearWatermark = v
 15994  	return s
 15995  }
 15996  
 15997  // SetOutputGroups sets the OutputGroups field's value.
 15998  func (s *JobTemplateSettings) SetOutputGroups(v []*OutputGroup) *JobTemplateSettings {
 15999  	s.OutputGroups = v
 16000  	return s
 16001  }
 16002  
 16003  // SetTimecodeConfig sets the TimecodeConfig field's value.
 16004  func (s *JobTemplateSettings) SetTimecodeConfig(v *TimecodeConfig) *JobTemplateSettings {
 16005  	s.TimecodeConfig = v
 16006  	return s
 16007  }
 16008  
 16009  // SetTimedMetadataInsertion sets the TimedMetadataInsertion field's value.
 16010  func (s *JobTemplateSettings) SetTimedMetadataInsertion(v *TimedMetadataInsertion) *JobTemplateSettings {
 16011  	s.TimedMetadataInsertion = v
 16012  	return s
 16013  }
 16014  
 16015  // Use these settings only when you use Kantar watermarking. Specify the values
 16016  // that MediaConvert uses to generate and place Kantar watermarks in your output
 16017  // audio. These settings apply to every output in your job. In addition to specifying
 16018  // these values, you also need to store your Kantar credentials in AWS Secrets
 16019  // Manager. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/kantar-watermarking.html.
 16020  type KantarWatermarkSettings struct {
 16021  	_ struct{} `type:"structure"`
 16022  
 16023  	// Provide an audio channel name from your Kantar audio license.
 16024  	ChannelName *string `locationName:"channelName" min:"1" type:"string"`
 16025  
 16026  	// Specify a unique identifier for Kantar to use for this piece of content.
 16027  	ContentReference *string `locationName:"contentReference" min:"1" type:"string"`
 16028  
 16029  	// Provide the name of the AWS Secrets Manager secret where your Kantar credentials
 16030  	// are stored. Note that your MediaConvert service role must provide access
 16031  	// to this secret. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/granting-permissions-for-mediaconvert-to-access-secrets-manager-secret.html.
 16032  	// For instructions on creating a secret, see https://docs.aws.amazon.com/secretsmanager/latest/userguide/tutorials_basic.html,
 16033  	// in the AWS Secrets Manager User Guide.
 16034  	CredentialsSecretName *string `locationName:"credentialsSecretName" min:"1" type:"string"`
 16035  
 16036  	// Optional. Specify an offset, in whole seconds, from the start of your output
 16037  	// and the beginning of the watermarking. When you don't specify an offset,
 16038  	// Kantar defaults to zero.
 16039  	FileOffset *float64 `locationName:"fileOffset" type:"double"`
 16040  
 16041  	// Provide your Kantar license ID number. You should get this number from Kantar.
 16042  	KantarLicenseId *int64 `locationName:"kantarLicenseId" type:"integer"`
 16043  
 16044  	// Provide the HTTPS endpoint to the Kantar server. You should get this endpoint
 16045  	// from Kantar.
 16046  	KantarServerUrl *string `locationName:"kantarServerUrl" type:"string"`
 16047  
 16048  	// Optional. Specify the Amazon S3 bucket where you want MediaConvert to store
 16049  	// your Kantar watermark XML logs. When you don't specify a bucket, MediaConvert
 16050  	// doesn't save these logs. Note that your MediaConvert service role must provide
 16051  	// access to this location. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html
 16052  	LogDestination *string `locationName:"logDestination" type:"string"`
 16053  
 16054  	// You can optionally use this field to specify the first timestamp that Kantar
 16055  	// embeds during watermarking. Kantar suggests that you be very cautious when
 16056  	// using this Kantar feature, and that you use it only on channels that are
 16057  	// managed specifically for use with this feature by your Audience Measurement
 16058  	// Operator. For more information about this feature, contact Kantar technical
 16059  	// support.
 16060  	Metadata3 *string `locationName:"metadata3" min:"1" type:"string"`
 16061  
 16062  	// Additional metadata that MediaConvert sends to Kantar. Maximum length is
 16063  	// 50 characters.
 16064  	Metadata4 *string `locationName:"metadata4" min:"1" type:"string"`
 16065  
 16066  	// Additional metadata that MediaConvert sends to Kantar. Maximum length is
 16067  	// 50 characters.
 16068  	Metadata5 *string `locationName:"metadata5" min:"1" type:"string"`
 16069  
 16070  	// Additional metadata that MediaConvert sends to Kantar. Maximum length is
 16071  	// 50 characters.
 16072  	Metadata6 *string `locationName:"metadata6" min:"1" type:"string"`
 16073  
 16074  	// Additional metadata that MediaConvert sends to Kantar. Maximum length is
 16075  	// 50 characters.
 16076  	Metadata7 *string `locationName:"metadata7" min:"1" type:"string"`
 16077  
 16078  	// Additional metadata that MediaConvert sends to Kantar. Maximum length is
 16079  	// 50 characters.
 16080  	Metadata8 *string `locationName:"metadata8" min:"1" type:"string"`
 16081  }
 16082  
 16083  // String returns the string representation.
 16084  //
 16085  // API parameter values that are decorated as "sensitive" in the API will not
 16086  // be included in the string output. The member name will be present, but the
 16087  // value will be replaced with "sensitive".
 16088  func (s KantarWatermarkSettings) String() string {
 16089  	return awsutil.Prettify(s)
 16090  }
 16091  
 16092  // GoString returns the string representation.
 16093  //
 16094  // API parameter values that are decorated as "sensitive" in the API will not
 16095  // be included in the string output. The member name will be present, but the
 16096  // value will be replaced with "sensitive".
 16097  func (s KantarWatermarkSettings) GoString() string {
 16098  	return s.String()
 16099  }
 16100  
 16101  // Validate inspects the fields of the type to determine if they are valid.
 16102  func (s *KantarWatermarkSettings) Validate() error {
 16103  	invalidParams := request.ErrInvalidParams{Context: "KantarWatermarkSettings"}
 16104  	if s.ChannelName != nil && len(*s.ChannelName) < 1 {
 16105  		invalidParams.Add(request.NewErrParamMinLen("ChannelName", 1))
 16106  	}
 16107  	if s.ContentReference != nil && len(*s.ContentReference) < 1 {
 16108  		invalidParams.Add(request.NewErrParamMinLen("ContentReference", 1))
 16109  	}
 16110  	if s.CredentialsSecretName != nil && len(*s.CredentialsSecretName) < 1 {
 16111  		invalidParams.Add(request.NewErrParamMinLen("CredentialsSecretName", 1))
 16112  	}
 16113  	if s.Metadata3 != nil && len(*s.Metadata3) < 1 {
 16114  		invalidParams.Add(request.NewErrParamMinLen("Metadata3", 1))
 16115  	}
 16116  	if s.Metadata4 != nil && len(*s.Metadata4) < 1 {
 16117  		invalidParams.Add(request.NewErrParamMinLen("Metadata4", 1))
 16118  	}
 16119  	if s.Metadata5 != nil && len(*s.Metadata5) < 1 {
 16120  		invalidParams.Add(request.NewErrParamMinLen("Metadata5", 1))
 16121  	}
 16122  	if s.Metadata6 != nil && len(*s.Metadata6) < 1 {
 16123  		invalidParams.Add(request.NewErrParamMinLen("Metadata6", 1))
 16124  	}
 16125  	if s.Metadata7 != nil && len(*s.Metadata7) < 1 {
 16126  		invalidParams.Add(request.NewErrParamMinLen("Metadata7", 1))
 16127  	}
 16128  	if s.Metadata8 != nil && len(*s.Metadata8) < 1 {
 16129  		invalidParams.Add(request.NewErrParamMinLen("Metadata8", 1))
 16130  	}
 16131  
 16132  	if invalidParams.Len() > 0 {
 16133  		return invalidParams
 16134  	}
 16135  	return nil
 16136  }
 16137  
 16138  // SetChannelName sets the ChannelName field's value.
 16139  func (s *KantarWatermarkSettings) SetChannelName(v string) *KantarWatermarkSettings {
 16140  	s.ChannelName = &v
 16141  	return s
 16142  }
 16143  
 16144  // SetContentReference sets the ContentReference field's value.
 16145  func (s *KantarWatermarkSettings) SetContentReference(v string) *KantarWatermarkSettings {
 16146  	s.ContentReference = &v
 16147  	return s
 16148  }
 16149  
 16150  // SetCredentialsSecretName sets the CredentialsSecretName field's value.
 16151  func (s *KantarWatermarkSettings) SetCredentialsSecretName(v string) *KantarWatermarkSettings {
 16152  	s.CredentialsSecretName = &v
 16153  	return s
 16154  }
 16155  
 16156  // SetFileOffset sets the FileOffset field's value.
 16157  func (s *KantarWatermarkSettings) SetFileOffset(v float64) *KantarWatermarkSettings {
 16158  	s.FileOffset = &v
 16159  	return s
 16160  }
 16161  
 16162  // SetKantarLicenseId sets the KantarLicenseId field's value.
 16163  func (s *KantarWatermarkSettings) SetKantarLicenseId(v int64) *KantarWatermarkSettings {
 16164  	s.KantarLicenseId = &v
 16165  	return s
 16166  }
 16167  
 16168  // SetKantarServerUrl sets the KantarServerUrl field's value.
 16169  func (s *KantarWatermarkSettings) SetKantarServerUrl(v string) *KantarWatermarkSettings {
 16170  	s.KantarServerUrl = &v
 16171  	return s
 16172  }
 16173  
 16174  // SetLogDestination sets the LogDestination field's value.
 16175  func (s *KantarWatermarkSettings) SetLogDestination(v string) *KantarWatermarkSettings {
 16176  	s.LogDestination = &v
 16177  	return s
 16178  }
 16179  
 16180  // SetMetadata3 sets the Metadata3 field's value.
 16181  func (s *KantarWatermarkSettings) SetMetadata3(v string) *KantarWatermarkSettings {
 16182  	s.Metadata3 = &v
 16183  	return s
 16184  }
 16185  
 16186  // SetMetadata4 sets the Metadata4 field's value.
 16187  func (s *KantarWatermarkSettings) SetMetadata4(v string) *KantarWatermarkSettings {
 16188  	s.Metadata4 = &v
 16189  	return s
 16190  }
 16191  
 16192  // SetMetadata5 sets the Metadata5 field's value.
 16193  func (s *KantarWatermarkSettings) SetMetadata5(v string) *KantarWatermarkSettings {
 16194  	s.Metadata5 = &v
 16195  	return s
 16196  }
 16197  
 16198  // SetMetadata6 sets the Metadata6 field's value.
 16199  func (s *KantarWatermarkSettings) SetMetadata6(v string) *KantarWatermarkSettings {
 16200  	s.Metadata6 = &v
 16201  	return s
 16202  }
 16203  
 16204  // SetMetadata7 sets the Metadata7 field's value.
 16205  func (s *KantarWatermarkSettings) SetMetadata7(v string) *KantarWatermarkSettings {
 16206  	s.Metadata7 = &v
 16207  	return s
 16208  }
 16209  
 16210  // SetMetadata8 sets the Metadata8 field's value.
 16211  func (s *KantarWatermarkSettings) SetMetadata8(v string) *KantarWatermarkSettings {
 16212  	s.Metadata8 = &v
 16213  	return s
 16214  }
 16215  
 16216  // You can send list job templates requests with an empty body. Optionally,
 16217  // you can filter the response by category by specifying it in your request
 16218  // body. You can also optionally specify the maximum number, up to twenty, of
 16219  // job templates to be returned.
 16220  type ListJobTemplatesInput struct {
 16221  	_ struct{} `type:"structure" nopayload:"true"`
 16222  
 16223  	// Optionally, specify a job template category to limit responses to only job
 16224  	// templates from that category.
 16225  	Category *string `location:"querystring" locationName:"category" type:"string"`
 16226  
 16227  	// Optional. When you request a list of job templates, you can choose to list
 16228  	// them alphabetically by NAME or chronologically by CREATION_DATE. If you don't
 16229  	// specify, the service will list them by name.
 16230  	ListBy *string `location:"querystring" locationName:"listBy" type:"string" enum:"JobTemplateListBy"`
 16231  
 16232  	// Optional. Number of job templates, up to twenty, that will be returned at
 16233  	// one time.
 16234  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 16235  
 16236  	// Use this string, provided with the response to a previous request, to request
 16237  	// the next batch of job templates.
 16238  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 16239  
 16240  	// Optional. When you request lists of resources, you can specify whether they
 16241  	// are sorted in ASCENDING or DESCENDING order. Default varies by resource.
 16242  	Order *string `location:"querystring" locationName:"order" type:"string" enum:"Order"`
 16243  }
 16244  
 16245  // String returns the string representation.
 16246  //
 16247  // API parameter values that are decorated as "sensitive" in the API will not
 16248  // be included in the string output. The member name will be present, but the
 16249  // value will be replaced with "sensitive".
 16250  func (s ListJobTemplatesInput) String() string {
 16251  	return awsutil.Prettify(s)
 16252  }
 16253  
 16254  // GoString returns the string representation.
 16255  //
 16256  // API parameter values that are decorated as "sensitive" in the API will not
 16257  // be included in the string output. The member name will be present, but the
 16258  // value will be replaced with "sensitive".
 16259  func (s ListJobTemplatesInput) GoString() string {
 16260  	return s.String()
 16261  }
 16262  
 16263  // Validate inspects the fields of the type to determine if they are valid.
 16264  func (s *ListJobTemplatesInput) Validate() error {
 16265  	invalidParams := request.ErrInvalidParams{Context: "ListJobTemplatesInput"}
 16266  	if s.MaxResults != nil && *s.MaxResults < 1 {
 16267  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 16268  	}
 16269  
 16270  	if invalidParams.Len() > 0 {
 16271  		return invalidParams
 16272  	}
 16273  	return nil
 16274  }
 16275  
 16276  // SetCategory sets the Category field's value.
 16277  func (s *ListJobTemplatesInput) SetCategory(v string) *ListJobTemplatesInput {
 16278  	s.Category = &v
 16279  	return s
 16280  }
 16281  
 16282  // SetListBy sets the ListBy field's value.
 16283  func (s *ListJobTemplatesInput) SetListBy(v string) *ListJobTemplatesInput {
 16284  	s.ListBy = &v
 16285  	return s
 16286  }
 16287  
 16288  // SetMaxResults sets the MaxResults field's value.
 16289  func (s *ListJobTemplatesInput) SetMaxResults(v int64) *ListJobTemplatesInput {
 16290  	s.MaxResults = &v
 16291  	return s
 16292  }
 16293  
 16294  // SetNextToken sets the NextToken field's value.
 16295  func (s *ListJobTemplatesInput) SetNextToken(v string) *ListJobTemplatesInput {
 16296  	s.NextToken = &v
 16297  	return s
 16298  }
 16299  
 16300  // SetOrder sets the Order field's value.
 16301  func (s *ListJobTemplatesInput) SetOrder(v string) *ListJobTemplatesInput {
 16302  	s.Order = &v
 16303  	return s
 16304  }
 16305  
 16306  // Successful list job templates requests return a JSON array of job templates.
 16307  // If you don't specify how they are ordered, you will receive them in alphabetical
 16308  // order by name.
 16309  type ListJobTemplatesOutput struct {
 16310  	_ struct{} `type:"structure"`
 16311  
 16312  	// List of Job templates.
 16313  	JobTemplates []*JobTemplate `locationName:"jobTemplates" type:"list"`
 16314  
 16315  	// Use this string to request the next batch of job templates.
 16316  	NextToken *string `locationName:"nextToken" type:"string"`
 16317  }
 16318  
 16319  // String returns the string representation.
 16320  //
 16321  // API parameter values that are decorated as "sensitive" in the API will not
 16322  // be included in the string output. The member name will be present, but the
 16323  // value will be replaced with "sensitive".
 16324  func (s ListJobTemplatesOutput) String() string {
 16325  	return awsutil.Prettify(s)
 16326  }
 16327  
 16328  // GoString returns the string representation.
 16329  //
 16330  // API parameter values that are decorated as "sensitive" in the API will not
 16331  // be included in the string output. The member name will be present, but the
 16332  // value will be replaced with "sensitive".
 16333  func (s ListJobTemplatesOutput) GoString() string {
 16334  	return s.String()
 16335  }
 16336  
 16337  // SetJobTemplates sets the JobTemplates field's value.
 16338  func (s *ListJobTemplatesOutput) SetJobTemplates(v []*JobTemplate) *ListJobTemplatesOutput {
 16339  	s.JobTemplates = v
 16340  	return s
 16341  }
 16342  
 16343  // SetNextToken sets the NextToken field's value.
 16344  func (s *ListJobTemplatesOutput) SetNextToken(v string) *ListJobTemplatesOutput {
 16345  	s.NextToken = &v
 16346  	return s
 16347  }
 16348  
 16349  // You can send list jobs requests with an empty body. Optionally, you can filter
 16350  // the response by queue and/or job status by specifying them in your request
 16351  // body. You can also optionally specify the maximum number, up to twenty, of
 16352  // jobs to be returned.
 16353  type ListJobsInput struct {
 16354  	_ struct{} `type:"structure" nopayload:"true"`
 16355  
 16356  	// Optional. Number of jobs, up to twenty, that will be returned at one time.
 16357  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 16358  
 16359  	// Optional. Use this string, provided with the response to a previous request,
 16360  	// to request the next batch of jobs.
 16361  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 16362  
 16363  	// Optional. When you request lists of resources, you can specify whether they
 16364  	// are sorted in ASCENDING or DESCENDING order. Default varies by resource.
 16365  	Order *string `location:"querystring" locationName:"order" type:"string" enum:"Order"`
 16366  
 16367  	// Optional. Provide a queue name to get back only jobs from that queue.
 16368  	Queue *string `location:"querystring" locationName:"queue" type:"string"`
 16369  
 16370  	// Optional. A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED,
 16371  	// or ERROR.
 16372  	Status *string `location:"querystring" locationName:"status" type:"string" enum:"JobStatus"`
 16373  }
 16374  
 16375  // String returns the string representation.
 16376  //
 16377  // API parameter values that are decorated as "sensitive" in the API will not
 16378  // be included in the string output. The member name will be present, but the
 16379  // value will be replaced with "sensitive".
 16380  func (s ListJobsInput) String() string {
 16381  	return awsutil.Prettify(s)
 16382  }
 16383  
 16384  // GoString returns the string representation.
 16385  //
 16386  // API parameter values that are decorated as "sensitive" in the API will not
 16387  // be included in the string output. The member name will be present, but the
 16388  // value will be replaced with "sensitive".
 16389  func (s ListJobsInput) GoString() string {
 16390  	return s.String()
 16391  }
 16392  
 16393  // Validate inspects the fields of the type to determine if they are valid.
 16394  func (s *ListJobsInput) Validate() error {
 16395  	invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"}
 16396  	if s.MaxResults != nil && *s.MaxResults < 1 {
 16397  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 16398  	}
 16399  
 16400  	if invalidParams.Len() > 0 {
 16401  		return invalidParams
 16402  	}
 16403  	return nil
 16404  }
 16405  
 16406  // SetMaxResults sets the MaxResults field's value.
 16407  func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput {
 16408  	s.MaxResults = &v
 16409  	return s
 16410  }
 16411  
 16412  // SetNextToken sets the NextToken field's value.
 16413  func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput {
 16414  	s.NextToken = &v
 16415  	return s
 16416  }
 16417  
 16418  // SetOrder sets the Order field's value.
 16419  func (s *ListJobsInput) SetOrder(v string) *ListJobsInput {
 16420  	s.Order = &v
 16421  	return s
 16422  }
 16423  
 16424  // SetQueue sets the Queue field's value.
 16425  func (s *ListJobsInput) SetQueue(v string) *ListJobsInput {
 16426  	s.Queue = &v
 16427  	return s
 16428  }
 16429  
 16430  // SetStatus sets the Status field's value.
 16431  func (s *ListJobsInput) SetStatus(v string) *ListJobsInput {
 16432  	s.Status = &v
 16433  	return s
 16434  }
 16435  
 16436  // Successful list jobs requests return a JSON array of jobs. If you don't specify
 16437  // how they are ordered, you will receive the most recently created first.
 16438  type ListJobsOutput struct {
 16439  	_ struct{} `type:"structure"`
 16440  
 16441  	// List of jobs
 16442  	Jobs []*Job `locationName:"jobs" type:"list"`
 16443  
 16444  	// Use this string to request the next batch of jobs.
 16445  	NextToken *string `locationName:"nextToken" type:"string"`
 16446  }
 16447  
 16448  // String returns the string representation.
 16449  //
 16450  // API parameter values that are decorated as "sensitive" in the API will not
 16451  // be included in the string output. The member name will be present, but the
 16452  // value will be replaced with "sensitive".
 16453  func (s ListJobsOutput) String() string {
 16454  	return awsutil.Prettify(s)
 16455  }
 16456  
 16457  // GoString returns the string representation.
 16458  //
 16459  // API parameter values that are decorated as "sensitive" in the API will not
 16460  // be included in the string output. The member name will be present, but the
 16461  // value will be replaced with "sensitive".
 16462  func (s ListJobsOutput) GoString() string {
 16463  	return s.String()
 16464  }
 16465  
 16466  // SetJobs sets the Jobs field's value.
 16467  func (s *ListJobsOutput) SetJobs(v []*Job) *ListJobsOutput {
 16468  	s.Jobs = v
 16469  	return s
 16470  }
 16471  
 16472  // SetNextToken sets the NextToken field's value.
 16473  func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput {
 16474  	s.NextToken = &v
 16475  	return s
 16476  }
 16477  
 16478  // You can send list presets requests with an empty body. Optionally, you can
 16479  // filter the response by category by specifying it in your request body. You
 16480  // can also optionally specify the maximum number, up to twenty, of queues to
 16481  // be returned.
 16482  type ListPresetsInput struct {
 16483  	_ struct{} `type:"structure" nopayload:"true"`
 16484  
 16485  	// Optionally, specify a preset category to limit responses to only presets
 16486  	// from that category.
 16487  	Category *string `location:"querystring" locationName:"category" type:"string"`
 16488  
 16489  	// Optional. When you request a list of presets, you can choose to list them
 16490  	// alphabetically by NAME or chronologically by CREATION_DATE. If you don't
 16491  	// specify, the service will list them by name.
 16492  	ListBy *string `location:"querystring" locationName:"listBy" type:"string" enum:"PresetListBy"`
 16493  
 16494  	// Optional. Number of presets, up to twenty, that will be returned at one time
 16495  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 16496  
 16497  	// Use this string, provided with the response to a previous request, to request
 16498  	// the next batch of presets.
 16499  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 16500  
 16501  	// Optional. When you request lists of resources, you can specify whether they
 16502  	// are sorted in ASCENDING or DESCENDING order. Default varies by resource.
 16503  	Order *string `location:"querystring" locationName:"order" type:"string" enum:"Order"`
 16504  }
 16505  
 16506  // String returns the string representation.
 16507  //
 16508  // API parameter values that are decorated as "sensitive" in the API will not
 16509  // be included in the string output. The member name will be present, but the
 16510  // value will be replaced with "sensitive".
 16511  func (s ListPresetsInput) String() string {
 16512  	return awsutil.Prettify(s)
 16513  }
 16514  
 16515  // GoString returns the string representation.
 16516  //
 16517  // API parameter values that are decorated as "sensitive" in the API will not
 16518  // be included in the string output. The member name will be present, but the
 16519  // value will be replaced with "sensitive".
 16520  func (s ListPresetsInput) GoString() string {
 16521  	return s.String()
 16522  }
 16523  
 16524  // Validate inspects the fields of the type to determine if they are valid.
 16525  func (s *ListPresetsInput) Validate() error {
 16526  	invalidParams := request.ErrInvalidParams{Context: "ListPresetsInput"}
 16527  	if s.MaxResults != nil && *s.MaxResults < 1 {
 16528  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 16529  	}
 16530  
 16531  	if invalidParams.Len() > 0 {
 16532  		return invalidParams
 16533  	}
 16534  	return nil
 16535  }
 16536  
 16537  // SetCategory sets the Category field's value.
 16538  func (s *ListPresetsInput) SetCategory(v string) *ListPresetsInput {
 16539  	s.Category = &v
 16540  	return s
 16541  }
 16542  
 16543  // SetListBy sets the ListBy field's value.
 16544  func (s *ListPresetsInput) SetListBy(v string) *ListPresetsInput {
 16545  	s.ListBy = &v
 16546  	return s
 16547  }
 16548  
 16549  // SetMaxResults sets the MaxResults field's value.
 16550  func (s *ListPresetsInput) SetMaxResults(v int64) *ListPresetsInput {
 16551  	s.MaxResults = &v
 16552  	return s
 16553  }
 16554  
 16555  // SetNextToken sets the NextToken field's value.
 16556  func (s *ListPresetsInput) SetNextToken(v string) *ListPresetsInput {
 16557  	s.NextToken = &v
 16558  	return s
 16559  }
 16560  
 16561  // SetOrder sets the Order field's value.
 16562  func (s *ListPresetsInput) SetOrder(v string) *ListPresetsInput {
 16563  	s.Order = &v
 16564  	return s
 16565  }
 16566  
 16567  // Successful list presets requests return a JSON array of presets. If you don't
 16568  // specify how they are ordered, you will receive them alphabetically by name.
 16569  type ListPresetsOutput struct {
 16570  	_ struct{} `type:"structure"`
 16571  
 16572  	// Use this string to request the next batch of presets.
 16573  	NextToken *string `locationName:"nextToken" type:"string"`
 16574  
 16575  	// List of presets
 16576  	Presets []*Preset `locationName:"presets" type:"list"`
 16577  }
 16578  
 16579  // String returns the string representation.
 16580  //
 16581  // API parameter values that are decorated as "sensitive" in the API will not
 16582  // be included in the string output. The member name will be present, but the
 16583  // value will be replaced with "sensitive".
 16584  func (s ListPresetsOutput) String() string {
 16585  	return awsutil.Prettify(s)
 16586  }
 16587  
 16588  // GoString returns the string representation.
 16589  //
 16590  // API parameter values that are decorated as "sensitive" in the API will not
 16591  // be included in the string output. The member name will be present, but the
 16592  // value will be replaced with "sensitive".
 16593  func (s ListPresetsOutput) GoString() string {
 16594  	return s.String()
 16595  }
 16596  
 16597  // SetNextToken sets the NextToken field's value.
 16598  func (s *ListPresetsOutput) SetNextToken(v string) *ListPresetsOutput {
 16599  	s.NextToken = &v
 16600  	return s
 16601  }
 16602  
 16603  // SetPresets sets the Presets field's value.
 16604  func (s *ListPresetsOutput) SetPresets(v []*Preset) *ListPresetsOutput {
 16605  	s.Presets = v
 16606  	return s
 16607  }
 16608  
 16609  // You can send list queues requests with an empty body. You can optionally
 16610  // specify the maximum number, up to twenty, of queues to be returned.
 16611  type ListQueuesInput struct {
 16612  	_ struct{} `type:"structure" nopayload:"true"`
 16613  
 16614  	// Optional. When you request a list of queues, you can choose to list them
 16615  	// alphabetically by NAME or chronologically by CREATION_DATE. If you don't
 16616  	// specify, the service will list them by creation date.
 16617  	ListBy *string `location:"querystring" locationName:"listBy" type:"string" enum:"QueueListBy"`
 16618  
 16619  	// Optional. Number of queues, up to twenty, that will be returned at one time.
 16620  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 16621  
 16622  	// Use this string, provided with the response to a previous request, to request
 16623  	// the next batch of queues.
 16624  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 16625  
 16626  	// Optional. When you request lists of resources, you can specify whether they
 16627  	// are sorted in ASCENDING or DESCENDING order. Default varies by resource.
 16628  	Order *string `location:"querystring" locationName:"order" type:"string" enum:"Order"`
 16629  }
 16630  
 16631  // String returns the string representation.
 16632  //
 16633  // API parameter values that are decorated as "sensitive" in the API will not
 16634  // be included in the string output. The member name will be present, but the
 16635  // value will be replaced with "sensitive".
 16636  func (s ListQueuesInput) String() string {
 16637  	return awsutil.Prettify(s)
 16638  }
 16639  
 16640  // GoString returns the string representation.
 16641  //
 16642  // API parameter values that are decorated as "sensitive" in the API will not
 16643  // be included in the string output. The member name will be present, but the
 16644  // value will be replaced with "sensitive".
 16645  func (s ListQueuesInput) GoString() string {
 16646  	return s.String()
 16647  }
 16648  
 16649  // Validate inspects the fields of the type to determine if they are valid.
 16650  func (s *ListQueuesInput) Validate() error {
 16651  	invalidParams := request.ErrInvalidParams{Context: "ListQueuesInput"}
 16652  	if s.MaxResults != nil && *s.MaxResults < 1 {
 16653  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 16654  	}
 16655  
 16656  	if invalidParams.Len() > 0 {
 16657  		return invalidParams
 16658  	}
 16659  	return nil
 16660  }
 16661  
 16662  // SetListBy sets the ListBy field's value.
 16663  func (s *ListQueuesInput) SetListBy(v string) *ListQueuesInput {
 16664  	s.ListBy = &v
 16665  	return s
 16666  }
 16667  
 16668  // SetMaxResults sets the MaxResults field's value.
 16669  func (s *ListQueuesInput) SetMaxResults(v int64) *ListQueuesInput {
 16670  	s.MaxResults = &v
 16671  	return s
 16672  }
 16673  
 16674  // SetNextToken sets the NextToken field's value.
 16675  func (s *ListQueuesInput) SetNextToken(v string) *ListQueuesInput {
 16676  	s.NextToken = &v
 16677  	return s
 16678  }
 16679  
 16680  // SetOrder sets the Order field's value.
 16681  func (s *ListQueuesInput) SetOrder(v string) *ListQueuesInput {
 16682  	s.Order = &v
 16683  	return s
 16684  }
 16685  
 16686  // Successful list queues requests return a JSON array of queues. If you don't
 16687  // specify how they are ordered, you will receive them alphabetically by name.
 16688  type ListQueuesOutput struct {
 16689  	_ struct{} `type:"structure"`
 16690  
 16691  	// Use this string to request the next batch of queues.
 16692  	NextToken *string `locationName:"nextToken" type:"string"`
 16693  
 16694  	// List of queues.
 16695  	Queues []*Queue `locationName:"queues" type:"list"`
 16696  }
 16697  
 16698  // String returns the string representation.
 16699  //
 16700  // API parameter values that are decorated as "sensitive" in the API will not
 16701  // be included in the string output. The member name will be present, but the
 16702  // value will be replaced with "sensitive".
 16703  func (s ListQueuesOutput) String() string {
 16704  	return awsutil.Prettify(s)
 16705  }
 16706  
 16707  // GoString returns the string representation.
 16708  //
 16709  // API parameter values that are decorated as "sensitive" in the API will not
 16710  // be included in the string output. The member name will be present, but the
 16711  // value will be replaced with "sensitive".
 16712  func (s ListQueuesOutput) GoString() string {
 16713  	return s.String()
 16714  }
 16715  
 16716  // SetNextToken sets the NextToken field's value.
 16717  func (s *ListQueuesOutput) SetNextToken(v string) *ListQueuesOutput {
 16718  	s.NextToken = &v
 16719  	return s
 16720  }
 16721  
 16722  // SetQueues sets the Queues field's value.
 16723  func (s *ListQueuesOutput) SetQueues(v []*Queue) *ListQueuesOutput {
 16724  	s.Queues = v
 16725  	return s
 16726  }
 16727  
 16728  // List the tags for your AWS Elemental MediaConvert resource by sending a request
 16729  // with the Amazon Resource Name (ARN) of the resource. To get the ARN, send
 16730  // a GET request with the resource name.
 16731  type ListTagsForResourceInput struct {
 16732  	_ struct{} `type:"structure" nopayload:"true"`
 16733  
 16734  	// The Amazon Resource Name (ARN) of the resource that you want to list tags
 16735  	// for. To get the ARN, send a GET request with the resource name.
 16736  	//
 16737  	// Arn is a required field
 16738  	Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"`
 16739  }
 16740  
 16741  // String returns the string representation.
 16742  //
 16743  // API parameter values that are decorated as "sensitive" in the API will not
 16744  // be included in the string output. The member name will be present, but the
 16745  // value will be replaced with "sensitive".
 16746  func (s ListTagsForResourceInput) String() string {
 16747  	return awsutil.Prettify(s)
 16748  }
 16749  
 16750  // GoString returns the string representation.
 16751  //
 16752  // API parameter values that are decorated as "sensitive" in the API will not
 16753  // be included in the string output. The member name will be present, but the
 16754  // value will be replaced with "sensitive".
 16755  func (s ListTagsForResourceInput) GoString() string {
 16756  	return s.String()
 16757  }
 16758  
 16759  // Validate inspects the fields of the type to determine if they are valid.
 16760  func (s *ListTagsForResourceInput) Validate() error {
 16761  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 16762  	if s.Arn == nil {
 16763  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 16764  	}
 16765  	if s.Arn != nil && len(*s.Arn) < 1 {
 16766  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
 16767  	}
 16768  
 16769  	if invalidParams.Len() > 0 {
 16770  		return invalidParams
 16771  	}
 16772  	return nil
 16773  }
 16774  
 16775  // SetArn sets the Arn field's value.
 16776  func (s *ListTagsForResourceInput) SetArn(v string) *ListTagsForResourceInput {
 16777  	s.Arn = &v
 16778  	return s
 16779  }
 16780  
 16781  // A successful request to list the tags for a resource returns a JSON map of
 16782  // tags.
 16783  type ListTagsForResourceOutput struct {
 16784  	_ struct{} `type:"structure"`
 16785  
 16786  	// The Amazon Resource Name (ARN) and tags for an AWS Elemental MediaConvert
 16787  	// resource.
 16788  	ResourceTags *ResourceTags `locationName:"resourceTags" type:"structure"`
 16789  }
 16790  
 16791  // String returns the string representation.
 16792  //
 16793  // API parameter values that are decorated as "sensitive" in the API will not
 16794  // be included in the string output. The member name will be present, but the
 16795  // value will be replaced with "sensitive".
 16796  func (s ListTagsForResourceOutput) String() string {
 16797  	return awsutil.Prettify(s)
 16798  }
 16799  
 16800  // GoString returns the string representation.
 16801  //
 16802  // API parameter values that are decorated as "sensitive" in the API will not
 16803  // be included in the string output. The member name will be present, but the
 16804  // value will be replaced with "sensitive".
 16805  func (s ListTagsForResourceOutput) GoString() string {
 16806  	return s.String()
 16807  }
 16808  
 16809  // SetResourceTags sets the ResourceTags field's value.
 16810  func (s *ListTagsForResourceOutput) SetResourceTags(v *ResourceTags) *ListTagsForResourceOutput {
 16811  	s.ResourceTags = v
 16812  	return s
 16813  }
 16814  
 16815  // Settings for SCTE-35 signals from ESAM. Include this in your job settings
 16816  // to put SCTE-35 markers in your HLS and transport stream outputs at the insertion
 16817  // points that you specify in an ESAM XML document. Provide the document in
 16818  // the setting SCC XML (sccXml).
 16819  type M2tsScte35Esam struct {
 16820  	_ struct{} `type:"structure"`
 16821  
 16822  	// Packet Identifier (PID) of the SCTE-35 stream in the transport stream generated
 16823  	// by ESAM.
 16824  	Scte35EsamPid *int64 `locationName:"scte35EsamPid" min:"32" type:"integer"`
 16825  }
 16826  
 16827  // String returns the string representation.
 16828  //
 16829  // API parameter values that are decorated as "sensitive" in the API will not
 16830  // be included in the string output. The member name will be present, but the
 16831  // value will be replaced with "sensitive".
 16832  func (s M2tsScte35Esam) String() string {
 16833  	return awsutil.Prettify(s)
 16834  }
 16835  
 16836  // GoString returns the string representation.
 16837  //
 16838  // API parameter values that are decorated as "sensitive" in the API will not
 16839  // be included in the string output. The member name will be present, but the
 16840  // value will be replaced with "sensitive".
 16841  func (s M2tsScte35Esam) GoString() string {
 16842  	return s.String()
 16843  }
 16844  
 16845  // Validate inspects the fields of the type to determine if they are valid.
 16846  func (s *M2tsScte35Esam) Validate() error {
 16847  	invalidParams := request.ErrInvalidParams{Context: "M2tsScte35Esam"}
 16848  	if s.Scte35EsamPid != nil && *s.Scte35EsamPid < 32 {
 16849  		invalidParams.Add(request.NewErrParamMinValue("Scte35EsamPid", 32))
 16850  	}
 16851  
 16852  	if invalidParams.Len() > 0 {
 16853  		return invalidParams
 16854  	}
 16855  	return nil
 16856  }
 16857  
 16858  // SetScte35EsamPid sets the Scte35EsamPid field's value.
 16859  func (s *M2tsScte35Esam) SetScte35EsamPid(v int64) *M2tsScte35Esam {
 16860  	s.Scte35EsamPid = &v
 16861  	return s
 16862  }
 16863  
 16864  // MPEG-2 TS container settings. These apply to outputs in a File output group
 16865  // when the output's container (ContainerType) is MPEG-2 Transport Stream (M2TS).
 16866  // In these assets, data is organized by the program map table (PMT). Each transport
 16867  // stream program contains subsets of data, including audio, video, and metadata.
 16868  // Each of these subsets of data has a numerical label called a packet identifier
 16869  // (PID). Each transport stream program corresponds to one MediaConvert output.
 16870  // The PMT lists the types of data in a program along with their PID. Downstream
 16871  // systems and players use the program map table to look up the PID for each
 16872  // type of data it accesses and then uses the PIDs to locate specific data within
 16873  // the asset.
 16874  type M2tsSettings struct {
 16875  	_ struct{} `type:"structure"`
 16876  
 16877  	// Selects between the DVB and ATSC buffer models for Dolby Digital audio.
 16878  	AudioBufferModel *string `locationName:"audioBufferModel" type:"string" enum:"M2tsAudioBufferModel"`
 16879  
 16880  	// Specify this setting only when your output will be consumed by a downstream
 16881  	// repackaging workflow that is sensitive to very small duration differences
 16882  	// between video and audio. For this situation, choose Match video duration
 16883  	// (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default
 16884  	// codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration,
 16885  	// MediaConvert pads the output audio streams with silence or trims them to
 16886  	// ensure that the total duration of each audio stream is at least as long as
 16887  	// the total duration of the video stream. After padding or trimming, the audio
 16888  	// stream duration is no more than one frame longer than the video stream. MediaConvert
 16889  	// applies audio padding or trimming only to the end of the last segment of
 16890  	// the output. For unsegmented outputs, MediaConvert adds padding only to the
 16891  	// end of the file. When you keep the default value, any minor discrepancies
 16892  	// between audio and video duration will depend on your output audio codec.
 16893  	AudioDuration *string `locationName:"audioDuration" type:"string" enum:"M2tsAudioDuration"`
 16894  
 16895  	// The number of audio frames to insert for each PES packet.
 16896  	AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"`
 16897  
 16898  	// Specify the packet identifiers (PIDs) for any elementary audio streams you
 16899  	// include in this output. Specify multiple PIDs as a JSON array. Default is
 16900  	// the range 482-492.
 16901  	AudioPids []*int64 `locationName:"audioPids" type:"list"`
 16902  
 16903  	// Specify the output bitrate of the transport stream in bits per second. Setting
 16904  	// to 0 lets the muxer automatically determine the appropriate bitrate. Other
 16905  	// common values are 3750000, 7500000, and 15000000.
 16906  	Bitrate *int64 `locationName:"bitrate" type:"integer"`
 16907  
 16908  	// Controls what buffer model to use for accurate interleaving. If set to MULTIPLEX,
 16909  	// use multiplex buffer model. If set to NONE, this can lead to lower latency,
 16910  	// but low-memory devices may not be able to play back the stream without interruptions.
 16911  	BufferModel *string `locationName:"bufferModel" type:"string" enum:"M2tsBufferModel"`
 16912  
 16913  	// If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets
 16914  	// with Presentation Timestamp (PTS) values greater than or equal to the first
 16915  	// video packet PTS (MediaConvert drops captions and data packets with lesser
 16916  	// PTS values). Keep the default value (AUTO) to allow all PTS values.
 16917  	DataPTSControl *string `locationName:"dataPTSControl" type:"string" enum:"M2tsDataPtsControl"`
 16918  
 16919  	// Use these settings to insert a DVB Network Information Table (NIT) in the
 16920  	// transport stream of this output. When you work directly in your JSON job
 16921  	// specification, include this object only when your job has a transport stream
 16922  	// output and the container settings contain the object M2tsSettings.
 16923  	DvbNitSettings *DvbNitSettings `locationName:"dvbNitSettings" type:"structure"`
 16924  
 16925  	// Use these settings to insert a DVB Service Description Table (SDT) in the
 16926  	// transport stream of this output. When you work directly in your JSON job
 16927  	// specification, include this object only when your job has a transport stream
 16928  	// output and the container settings contain the object M2tsSettings.
 16929  	DvbSdtSettings *DvbSdtSettings `locationName:"dvbSdtSettings" type:"structure"`
 16930  
 16931  	// Specify the packet identifiers (PIDs) for DVB subtitle data included in this
 16932  	// output. Specify multiple PIDs as a JSON array. Default is the range 460-479.
 16933  	DvbSubPids []*int64 `locationName:"dvbSubPids" type:"list"`
 16934  
 16935  	// Use these settings to insert a DVB Time and Date Table (TDT) in the transport
 16936  	// stream of this output. When you work directly in your JSON job specification,
 16937  	// include this object only when your job has a transport stream output and
 16938  	// the container settings contain the object M2tsSettings.
 16939  	DvbTdtSettings *DvbTdtSettings `locationName:"dvbTdtSettings" type:"structure"`
 16940  
 16941  	// Specify the packet identifier (PID) for DVB teletext data you include in
 16942  	// this output. Default is 499.
 16943  	DvbTeletextPid *int64 `locationName:"dvbTeletextPid" min:"32" type:"integer"`
 16944  
 16945  	// When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to
 16946  	// partitions 3 and 4. The interval between these additional markers will be
 16947  	// fixed, and will be slightly shorter than the video EBP marker interval. When
 16948  	// set to VIDEO_INTERVAL, these additional markers will not be inserted. Only
 16949  	// applicable when EBP segmentation markers are is selected (segmentationMarkers
 16950  	// is EBP or EBP_LEGACY).
 16951  	EbpAudioInterval *string `locationName:"ebpAudioInterval" type:"string" enum:"M2tsEbpAudioInterval"`
 16952  
 16953  	// Selects which PIDs to place EBP markers on. They can either be placed only
 16954  	// on the video PID, or on both the video PID and all audio PIDs. Only applicable
 16955  	// when EBP segmentation markers are is selected (segmentationMarkers is EBP
 16956  	// or EBP_LEGACY).
 16957  	EbpPlacement *string `locationName:"ebpPlacement" type:"string" enum:"M2tsEbpPlacement"`
 16958  
 16959  	// Controls whether to include the ES Rate field in the PES header.
 16960  	EsRateInPes *string `locationName:"esRateInPes" type:"string" enum:"M2tsEsRateInPes"`
 16961  
 16962  	// Keep the default value (DEFAULT) unless you know that your audio EBP markers
 16963  	// are incorrectly appearing before your video EBP markers. To correct this
 16964  	// problem, set this value to Force (FORCE).
 16965  	ForceTsVideoEbpOrder *string `locationName:"forceTsVideoEbpOrder" type:"string" enum:"M2tsForceTsVideoEbpOrder"`
 16966  
 16967  	// The length, in seconds, of each fragment. Only used with EBP markers.
 16968  	FragmentTime *float64 `locationName:"fragmentTime" type:"double"`
 16969  
 16970  	// Specify the maximum time, in milliseconds, between Program Clock References
 16971  	// (PCRs) inserted into the transport stream.
 16972  	MaxPcrInterval *int64 `locationName:"maxPcrInterval" type:"integer"`
 16973  
 16974  	// When set, enforces that Encoder Boundary Points do not come within the specified
 16975  	// time interval of each other by looking ahead at input video. If another EBP
 16976  	// is going to come in within the specified time interval, the current EBP is
 16977  	// not emitted, and the segment is "stretched" to the next marker. The lookahead
 16978  	// value does not add latency to the system. The Live Event must be configured
 16979  	// elsewhere to create sufficient latency to make the lookahead accurate.
 16980  	MinEbpInterval *int64 `locationName:"minEbpInterval" type:"integer"`
 16981  
 16982  	// If INSERT, Nielsen inaudible tones for media tracking will be detected in
 16983  	// the input audio and an equivalent ID3 tag will be inserted in the output.
 16984  	NielsenId3 *string `locationName:"nielsenId3" type:"string" enum:"M2tsNielsenId3"`
 16985  
 16986  	// Value in bits per second of extra null packets to insert into the transport
 16987  	// stream. This can be used if a downstream encryption system requires periodic
 16988  	// null packets.
 16989  	NullPacketBitrate *float64 `locationName:"nullPacketBitrate" type:"double"`
 16990  
 16991  	// The number of milliseconds between instances of this table in the output
 16992  	// transport stream.
 16993  	PatInterval *int64 `locationName:"patInterval" type:"integer"`
 16994  
 16995  	// When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted
 16996  	// for every Packetized Elementary Stream (PES) header. This is effective only
 16997  	// when the PCR PID is the same as the video or audio elementary stream.
 16998  	PcrControl *string `locationName:"pcrControl" type:"string" enum:"M2tsPcrControl"`
 16999  
 17000  	// Specify the packet identifier (PID) for the program clock reference (PCR)
 17001  	// in this output. If you do not specify a value, the service will use the value
 17002  	// for Video PID (VideoPid).
 17003  	PcrPid *int64 `locationName:"pcrPid" min:"32" type:"integer"`
 17004  
 17005  	// Specify the number of milliseconds between instances of the program map table
 17006  	// (PMT) in the output transport stream.
 17007  	PmtInterval *int64 `locationName:"pmtInterval" type:"integer"`
 17008  
 17009  	// Specify the packet identifier (PID) for the program map table (PMT) itself.
 17010  	// Default is 480.
 17011  	PmtPid *int64 `locationName:"pmtPid" min:"32" type:"integer"`
 17012  
 17013  	// Specify the packet identifier (PID) of the private metadata stream. Default
 17014  	// is 503.
 17015  	PrivateMetadataPid *int64 `locationName:"privateMetadataPid" min:"32" type:"integer"`
 17016  
 17017  	// Use Program number (programNumber) to specify the program number used in
 17018  	// the program map table (PMT) for this output. Default is 1. Program numbers
 17019  	// and program map tables are parts of MPEG-2 transport stream containers, used
 17020  	// for organizing data.
 17021  	ProgramNumber *int64 `locationName:"programNumber" type:"integer"`
 17022  
 17023  	// When set to CBR, inserts null packets into transport stream to fill specified
 17024  	// bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate,
 17025  	// but the output will not be padded up to that bitrate.
 17026  	RateMode *string `locationName:"rateMode" type:"string" enum:"M2tsRateMode"`
 17027  
 17028  	// Include this in your job settings to put SCTE-35 markers in your HLS and
 17029  	// transport stream outputs at the insertion points that you specify in an ESAM
 17030  	// XML document. Provide the document in the setting SCC XML (sccXml).
 17031  	Scte35Esam *M2tsScte35Esam `locationName:"scte35Esam" type:"structure"`
 17032  
 17033  	// Specify the packet identifier (PID) of the SCTE-35 stream in the transport
 17034  	// stream.
 17035  	Scte35Pid *int64 `locationName:"scte35Pid" min:"32" type:"integer"`
 17036  
 17037  	// For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if
 17038  	// you want SCTE-35 markers that appear in your input to also appear in this
 17039  	// output. Choose None (NONE) if you don't want SCTE-35 markers in this output.
 17040  	// For SCTE-35 markers from an ESAM XML document-- Choose None (NONE). Also
 17041  	// provide the ESAM XML as a string in the setting Signal processing notification
 17042  	// XML (sccXml). Also enable ESAM SCTE-35 (include the property scte35Esam).
 17043  	Scte35Source *string `locationName:"scte35Source" type:"string" enum:"M2tsScte35Source"`
 17044  
 17045  	// Inserts segmentation markers at each segmentation_time period. rai_segstart
 17046  	// sets the Random Access Indicator bit in the adaptation field. rai_adapt sets
 17047  	// the RAI bit and adds the current timecode in the private data bytes. psi_segstart
 17048  	// inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary
 17049  	// Point information to the adaptation field as per OpenCable specification
 17050  	// OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information
 17051  	// to the adaptation field using a legacy proprietary format.
 17052  	SegmentationMarkers *string `locationName:"segmentationMarkers" type:"string" enum:"M2tsSegmentationMarkers"`
 17053  
 17054  	// The segmentation style parameter controls how segmentation markers are inserted
 17055  	// into the transport stream. With avails, it is possible that segments may
 17056  	// be truncated, which can influence where future segmentation markers are inserted.
 17057  	// When a segmentation style of "reset_cadence" is selected and a segment is
 17058  	// truncated due to an avail, we will reset the segmentation cadence. This means
 17059  	// the subsequent segment will have a duration of of $segmentation_time seconds.
 17060  	// When a segmentation style of "maintain_cadence" is selected and a segment
 17061  	// is truncated due to an avail, we will not reset the segmentation cadence.
 17062  	// This means the subsequent segment will likely be truncated as well. However,
 17063  	// all segments after that will have a duration of $segmentation_time seconds.
 17064  	// Note that EBP lookahead is a slight exception to this rule.
 17065  	SegmentationStyle *string `locationName:"segmentationStyle" type:"string" enum:"M2tsSegmentationStyle"`
 17066  
 17067  	// Specify the length, in seconds, of each segment. Required unless markers
 17068  	// is set to _none_.
 17069  	SegmentationTime *float64 `locationName:"segmentationTime" type:"double"`
 17070  
 17071  	// Specify the packet identifier (PID) for timed metadata in this output. Default
 17072  	// is 502.
 17073  	TimedMetadataPid *int64 `locationName:"timedMetadataPid" min:"32" type:"integer"`
 17074  
 17075  	// Specify the ID for the transport stream itself in the program map table for
 17076  	// this output. Transport stream IDs and program map tables are parts of MPEG-2
 17077  	// transport stream containers, used for organizing data.
 17078  	TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"`
 17079  
 17080  	// Specify the packet identifier (PID) of the elementary video stream in the
 17081  	// transport stream.
 17082  	VideoPid *int64 `locationName:"videoPid" min:"32" type:"integer"`
 17083  }
 17084  
 17085  // String returns the string representation.
 17086  //
 17087  // API parameter values that are decorated as "sensitive" in the API will not
 17088  // be included in the string output. The member name will be present, but the
 17089  // value will be replaced with "sensitive".
 17090  func (s M2tsSettings) String() string {
 17091  	return awsutil.Prettify(s)
 17092  }
 17093  
 17094  // GoString returns the string representation.
 17095  //
 17096  // API parameter values that are decorated as "sensitive" in the API will not
 17097  // be included in the string output. The member name will be present, but the
 17098  // value will be replaced with "sensitive".
 17099  func (s M2tsSettings) GoString() string {
 17100  	return s.String()
 17101  }
 17102  
 17103  // Validate inspects the fields of the type to determine if they are valid.
 17104  func (s *M2tsSettings) Validate() error {
 17105  	invalidParams := request.ErrInvalidParams{Context: "M2tsSettings"}
 17106  	if s.DvbTeletextPid != nil && *s.DvbTeletextPid < 32 {
 17107  		invalidParams.Add(request.NewErrParamMinValue("DvbTeletextPid", 32))
 17108  	}
 17109  	if s.PcrPid != nil && *s.PcrPid < 32 {
 17110  		invalidParams.Add(request.NewErrParamMinValue("PcrPid", 32))
 17111  	}
 17112  	if s.PmtPid != nil && *s.PmtPid < 32 {
 17113  		invalidParams.Add(request.NewErrParamMinValue("PmtPid", 32))
 17114  	}
 17115  	if s.PrivateMetadataPid != nil && *s.PrivateMetadataPid < 32 {
 17116  		invalidParams.Add(request.NewErrParamMinValue("PrivateMetadataPid", 32))
 17117  	}
 17118  	if s.Scte35Pid != nil && *s.Scte35Pid < 32 {
 17119  		invalidParams.Add(request.NewErrParamMinValue("Scte35Pid", 32))
 17120  	}
 17121  	if s.TimedMetadataPid != nil && *s.TimedMetadataPid < 32 {
 17122  		invalidParams.Add(request.NewErrParamMinValue("TimedMetadataPid", 32))
 17123  	}
 17124  	if s.VideoPid != nil && *s.VideoPid < 32 {
 17125  		invalidParams.Add(request.NewErrParamMinValue("VideoPid", 32))
 17126  	}
 17127  	if s.DvbNitSettings != nil {
 17128  		if err := s.DvbNitSettings.Validate(); err != nil {
 17129  			invalidParams.AddNested("DvbNitSettings", err.(request.ErrInvalidParams))
 17130  		}
 17131  	}
 17132  	if s.DvbSdtSettings != nil {
 17133  		if err := s.DvbSdtSettings.Validate(); err != nil {
 17134  			invalidParams.AddNested("DvbSdtSettings", err.(request.ErrInvalidParams))
 17135  		}
 17136  	}
 17137  	if s.DvbTdtSettings != nil {
 17138  		if err := s.DvbTdtSettings.Validate(); err != nil {
 17139  			invalidParams.AddNested("DvbTdtSettings", err.(request.ErrInvalidParams))
 17140  		}
 17141  	}
 17142  	if s.Scte35Esam != nil {
 17143  		if err := s.Scte35Esam.Validate(); err != nil {
 17144  			invalidParams.AddNested("Scte35Esam", err.(request.ErrInvalidParams))
 17145  		}
 17146  	}
 17147  
 17148  	if invalidParams.Len() > 0 {
 17149  		return invalidParams
 17150  	}
 17151  	return nil
 17152  }
 17153  
 17154  // SetAudioBufferModel sets the AudioBufferModel field's value.
 17155  func (s *M2tsSettings) SetAudioBufferModel(v string) *M2tsSettings {
 17156  	s.AudioBufferModel = &v
 17157  	return s
 17158  }
 17159  
 17160  // SetAudioDuration sets the AudioDuration field's value.
 17161  func (s *M2tsSettings) SetAudioDuration(v string) *M2tsSettings {
 17162  	s.AudioDuration = &v
 17163  	return s
 17164  }
 17165  
 17166  // SetAudioFramesPerPes sets the AudioFramesPerPes field's value.
 17167  func (s *M2tsSettings) SetAudioFramesPerPes(v int64) *M2tsSettings {
 17168  	s.AudioFramesPerPes = &v
 17169  	return s
 17170  }
 17171  
 17172  // SetAudioPids sets the AudioPids field's value.
 17173  func (s *M2tsSettings) SetAudioPids(v []*int64) *M2tsSettings {
 17174  	s.AudioPids = v
 17175  	return s
 17176  }
 17177  
 17178  // SetBitrate sets the Bitrate field's value.
 17179  func (s *M2tsSettings) SetBitrate(v int64) *M2tsSettings {
 17180  	s.Bitrate = &v
 17181  	return s
 17182  }
 17183  
 17184  // SetBufferModel sets the BufferModel field's value.
 17185  func (s *M2tsSettings) SetBufferModel(v string) *M2tsSettings {
 17186  	s.BufferModel = &v
 17187  	return s
 17188  }
 17189  
 17190  // SetDataPTSControl sets the DataPTSControl field's value.
 17191  func (s *M2tsSettings) SetDataPTSControl(v string) *M2tsSettings {
 17192  	s.DataPTSControl = &v
 17193  	return s
 17194  }
 17195  
 17196  // SetDvbNitSettings sets the DvbNitSettings field's value.
 17197  func (s *M2tsSettings) SetDvbNitSettings(v *DvbNitSettings) *M2tsSettings {
 17198  	s.DvbNitSettings = v
 17199  	return s
 17200  }
 17201  
 17202  // SetDvbSdtSettings sets the DvbSdtSettings field's value.
 17203  func (s *M2tsSettings) SetDvbSdtSettings(v *DvbSdtSettings) *M2tsSettings {
 17204  	s.DvbSdtSettings = v
 17205  	return s
 17206  }
 17207  
 17208  // SetDvbSubPids sets the DvbSubPids field's value.
 17209  func (s *M2tsSettings) SetDvbSubPids(v []*int64) *M2tsSettings {
 17210  	s.DvbSubPids = v
 17211  	return s
 17212  }
 17213  
 17214  // SetDvbTdtSettings sets the DvbTdtSettings field's value.
 17215  func (s *M2tsSettings) SetDvbTdtSettings(v *DvbTdtSettings) *M2tsSettings {
 17216  	s.DvbTdtSettings = v
 17217  	return s
 17218  }
 17219  
 17220  // SetDvbTeletextPid sets the DvbTeletextPid field's value.
 17221  func (s *M2tsSettings) SetDvbTeletextPid(v int64) *M2tsSettings {
 17222  	s.DvbTeletextPid = &v
 17223  	return s
 17224  }
 17225  
 17226  // SetEbpAudioInterval sets the EbpAudioInterval field's value.
 17227  func (s *M2tsSettings) SetEbpAudioInterval(v string) *M2tsSettings {
 17228  	s.EbpAudioInterval = &v
 17229  	return s
 17230  }
 17231  
 17232  // SetEbpPlacement sets the EbpPlacement field's value.
 17233  func (s *M2tsSettings) SetEbpPlacement(v string) *M2tsSettings {
 17234  	s.EbpPlacement = &v
 17235  	return s
 17236  }
 17237  
 17238  // SetEsRateInPes sets the EsRateInPes field's value.
 17239  func (s *M2tsSettings) SetEsRateInPes(v string) *M2tsSettings {
 17240  	s.EsRateInPes = &v
 17241  	return s
 17242  }
 17243  
 17244  // SetForceTsVideoEbpOrder sets the ForceTsVideoEbpOrder field's value.
 17245  func (s *M2tsSettings) SetForceTsVideoEbpOrder(v string) *M2tsSettings {
 17246  	s.ForceTsVideoEbpOrder = &v
 17247  	return s
 17248  }
 17249  
 17250  // SetFragmentTime sets the FragmentTime field's value.
 17251  func (s *M2tsSettings) SetFragmentTime(v float64) *M2tsSettings {
 17252  	s.FragmentTime = &v
 17253  	return s
 17254  }
 17255  
 17256  // SetMaxPcrInterval sets the MaxPcrInterval field's value.
 17257  func (s *M2tsSettings) SetMaxPcrInterval(v int64) *M2tsSettings {
 17258  	s.MaxPcrInterval = &v
 17259  	return s
 17260  }
 17261  
 17262  // SetMinEbpInterval sets the MinEbpInterval field's value.
 17263  func (s *M2tsSettings) SetMinEbpInterval(v int64) *M2tsSettings {
 17264  	s.MinEbpInterval = &v
 17265  	return s
 17266  }
 17267  
 17268  // SetNielsenId3 sets the NielsenId3 field's value.
 17269  func (s *M2tsSettings) SetNielsenId3(v string) *M2tsSettings {
 17270  	s.NielsenId3 = &v
 17271  	return s
 17272  }
 17273  
 17274  // SetNullPacketBitrate sets the NullPacketBitrate field's value.
 17275  func (s *M2tsSettings) SetNullPacketBitrate(v float64) *M2tsSettings {
 17276  	s.NullPacketBitrate = &v
 17277  	return s
 17278  }
 17279  
 17280  // SetPatInterval sets the PatInterval field's value.
 17281  func (s *M2tsSettings) SetPatInterval(v int64) *M2tsSettings {
 17282  	s.PatInterval = &v
 17283  	return s
 17284  }
 17285  
 17286  // SetPcrControl sets the PcrControl field's value.
 17287  func (s *M2tsSettings) SetPcrControl(v string) *M2tsSettings {
 17288  	s.PcrControl = &v
 17289  	return s
 17290  }
 17291  
 17292  // SetPcrPid sets the PcrPid field's value.
 17293  func (s *M2tsSettings) SetPcrPid(v int64) *M2tsSettings {
 17294  	s.PcrPid = &v
 17295  	return s
 17296  }
 17297  
 17298  // SetPmtInterval sets the PmtInterval field's value.
 17299  func (s *M2tsSettings) SetPmtInterval(v int64) *M2tsSettings {
 17300  	s.PmtInterval = &v
 17301  	return s
 17302  }
 17303  
 17304  // SetPmtPid sets the PmtPid field's value.
 17305  func (s *M2tsSettings) SetPmtPid(v int64) *M2tsSettings {
 17306  	s.PmtPid = &v
 17307  	return s
 17308  }
 17309  
 17310  // SetPrivateMetadataPid sets the PrivateMetadataPid field's value.
 17311  func (s *M2tsSettings) SetPrivateMetadataPid(v int64) *M2tsSettings {
 17312  	s.PrivateMetadataPid = &v
 17313  	return s
 17314  }
 17315  
 17316  // SetProgramNumber sets the ProgramNumber field's value.
 17317  func (s *M2tsSettings) SetProgramNumber(v int64) *M2tsSettings {
 17318  	s.ProgramNumber = &v
 17319  	return s
 17320  }
 17321  
 17322  // SetRateMode sets the RateMode field's value.
 17323  func (s *M2tsSettings) SetRateMode(v string) *M2tsSettings {
 17324  	s.RateMode = &v
 17325  	return s
 17326  }
 17327  
 17328  // SetScte35Esam sets the Scte35Esam field's value.
 17329  func (s *M2tsSettings) SetScte35Esam(v *M2tsScte35Esam) *M2tsSettings {
 17330  	s.Scte35Esam = v
 17331  	return s
 17332  }
 17333  
 17334  // SetScte35Pid sets the Scte35Pid field's value.
 17335  func (s *M2tsSettings) SetScte35Pid(v int64) *M2tsSettings {
 17336  	s.Scte35Pid = &v
 17337  	return s
 17338  }
 17339  
 17340  // SetScte35Source sets the Scte35Source field's value.
 17341  func (s *M2tsSettings) SetScte35Source(v string) *M2tsSettings {
 17342  	s.Scte35Source = &v
 17343  	return s
 17344  }
 17345  
 17346  // SetSegmentationMarkers sets the SegmentationMarkers field's value.
 17347  func (s *M2tsSettings) SetSegmentationMarkers(v string) *M2tsSettings {
 17348  	s.SegmentationMarkers = &v
 17349  	return s
 17350  }
 17351  
 17352  // SetSegmentationStyle sets the SegmentationStyle field's value.
 17353  func (s *M2tsSettings) SetSegmentationStyle(v string) *M2tsSettings {
 17354  	s.SegmentationStyle = &v
 17355  	return s
 17356  }
 17357  
 17358  // SetSegmentationTime sets the SegmentationTime field's value.
 17359  func (s *M2tsSettings) SetSegmentationTime(v float64) *M2tsSettings {
 17360  	s.SegmentationTime = &v
 17361  	return s
 17362  }
 17363  
 17364  // SetTimedMetadataPid sets the TimedMetadataPid field's value.
 17365  func (s *M2tsSettings) SetTimedMetadataPid(v int64) *M2tsSettings {
 17366  	s.TimedMetadataPid = &v
 17367  	return s
 17368  }
 17369  
 17370  // SetTransportStreamId sets the TransportStreamId field's value.
 17371  func (s *M2tsSettings) SetTransportStreamId(v int64) *M2tsSettings {
 17372  	s.TransportStreamId = &v
 17373  	return s
 17374  }
 17375  
 17376  // SetVideoPid sets the VideoPid field's value.
 17377  func (s *M2tsSettings) SetVideoPid(v int64) *M2tsSettings {
 17378  	s.VideoPid = &v
 17379  	return s
 17380  }
 17381  
 17382  // These settings relate to the MPEG-2 transport stream (MPEG2-TS) container
 17383  // for the MPEG2-TS segments in your HLS outputs.
 17384  type M3u8Settings struct {
 17385  	_ struct{} `type:"structure"`
 17386  
 17387  	// Specify this setting only when your output will be consumed by a downstream
 17388  	// repackaging workflow that is sensitive to very small duration differences
 17389  	// between video and audio. For this situation, choose Match video duration
 17390  	// (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default
 17391  	// codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration,
 17392  	// MediaConvert pads the output audio streams with silence or trims them to
 17393  	// ensure that the total duration of each audio stream is at least as long as
 17394  	// the total duration of the video stream. After padding or trimming, the audio
 17395  	// stream duration is no more than one frame longer than the video stream. MediaConvert
 17396  	// applies audio padding or trimming only to the end of the last segment of
 17397  	// the output. For unsegmented outputs, MediaConvert adds padding only to the
 17398  	// end of the file. When you keep the default value, any minor discrepancies
 17399  	// between audio and video duration will depend on your output audio codec.
 17400  	AudioDuration *string `locationName:"audioDuration" type:"string" enum:"M3u8AudioDuration"`
 17401  
 17402  	// The number of audio frames to insert for each PES packet.
 17403  	AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"`
 17404  
 17405  	// Packet Identifier (PID) of the elementary audio stream(s) in the transport
 17406  	// stream. Multiple values are accepted, and can be entered in ranges and/or
 17407  	// by comma separation.
 17408  	AudioPids []*int64 `locationName:"audioPids" type:"list"`
 17409  
 17410  	// If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets
 17411  	// with Presentation Timestamp (PTS) values greater than or equal to the first
 17412  	// video packet PTS (MediaConvert drops captions and data packets with lesser
 17413  	// PTS values). Keep the default value (AUTO) to allow all PTS values.
 17414  	DataPTSControl *string `locationName:"dataPTSControl" type:"string" enum:"M3u8DataPtsControl"`
 17415  
 17416  	// Specify the maximum time, in milliseconds, between Program Clock References
 17417  	// (PCRs) inserted into the transport stream.
 17418  	MaxPcrInterval *int64 `locationName:"maxPcrInterval" type:"integer"`
 17419  
 17420  	// If INSERT, Nielsen inaudible tones for media tracking will be detected in
 17421  	// the input audio and an equivalent ID3 tag will be inserted in the output.
 17422  	NielsenId3 *string `locationName:"nielsenId3" type:"string" enum:"M3u8NielsenId3"`
 17423  
 17424  	// The number of milliseconds between instances of this table in the output
 17425  	// transport stream.
 17426  	PatInterval *int64 `locationName:"patInterval" type:"integer"`
 17427  
 17428  	// When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted
 17429  	// for every Packetized Elementary Stream (PES) header. This parameter is effective
 17430  	// only when the PCR PID is the same as the video or audio elementary stream.
 17431  	PcrControl *string `locationName:"pcrControl" type:"string" enum:"M3u8PcrControl"`
 17432  
 17433  	// Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport
 17434  	// stream. When no value is given, the encoder will assign the same value as
 17435  	// the Video PID.
 17436  	PcrPid *int64 `locationName:"pcrPid" min:"32" type:"integer"`
 17437  
 17438  	// The number of milliseconds between instances of this table in the output
 17439  	// transport stream.
 17440  	PmtInterval *int64 `locationName:"pmtInterval" type:"integer"`
 17441  
 17442  	// Packet Identifier (PID) for the Program Map Table (PMT) in the transport
 17443  	// stream.
 17444  	PmtPid *int64 `locationName:"pmtPid" min:"32" type:"integer"`
 17445  
 17446  	// Packet Identifier (PID) of the private metadata stream in the transport stream.
 17447  	PrivateMetadataPid *int64 `locationName:"privateMetadataPid" min:"32" type:"integer"`
 17448  
 17449  	// The value of the program number field in the Program Map Table.
 17450  	ProgramNumber *int64 `locationName:"programNumber" type:"integer"`
 17451  
 17452  	// Packet Identifier (PID) of the SCTE-35 stream in the transport stream.
 17453  	Scte35Pid *int64 `locationName:"scte35Pid" min:"32" type:"integer"`
 17454  
 17455  	// For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if
 17456  	// you want SCTE-35 markers that appear in your input to also appear in this
 17457  	// output. Choose None (NONE) if you don't want SCTE-35 markers in this output.
 17458  	// For SCTE-35 markers from an ESAM XML document-- Choose None (NONE) if you
 17459  	// don't want manifest conditioning. Choose Passthrough (PASSTHROUGH) and choose
 17460  	// Ad markers (adMarkers) if you do want manifest conditioning. In both cases,
 17461  	// also provide the ESAM XML as a string in the setting Signal processing notification
 17462  	// XML (sccXml).
 17463  	Scte35Source *string `locationName:"scte35Source" type:"string" enum:"M3u8Scte35Source"`
 17464  
 17465  	// Applies only to HLS outputs. Use this setting to specify whether the service
 17466  	// inserts the ID3 timed metadata from the input in this output.
 17467  	TimedMetadata *string `locationName:"timedMetadata" type:"string" enum:"TimedMetadata"`
 17468  
 17469  	// Packet Identifier (PID) of the timed metadata stream in the transport stream.
 17470  	TimedMetadataPid *int64 `locationName:"timedMetadataPid" min:"32" type:"integer"`
 17471  
 17472  	// The value of the transport stream ID field in the Program Map Table.
 17473  	TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"`
 17474  
 17475  	// Packet Identifier (PID) of the elementary video stream in the transport stream.
 17476  	VideoPid *int64 `locationName:"videoPid" min:"32" type:"integer"`
 17477  }
 17478  
 17479  // String returns the string representation.
 17480  //
 17481  // API parameter values that are decorated as "sensitive" in the API will not
 17482  // be included in the string output. The member name will be present, but the
 17483  // value will be replaced with "sensitive".
 17484  func (s M3u8Settings) String() string {
 17485  	return awsutil.Prettify(s)
 17486  }
 17487  
 17488  // GoString returns the string representation.
 17489  //
 17490  // API parameter values that are decorated as "sensitive" in the API will not
 17491  // be included in the string output. The member name will be present, but the
 17492  // value will be replaced with "sensitive".
 17493  func (s M3u8Settings) GoString() string {
 17494  	return s.String()
 17495  }
 17496  
 17497  // Validate inspects the fields of the type to determine if they are valid.
 17498  func (s *M3u8Settings) Validate() error {
 17499  	invalidParams := request.ErrInvalidParams{Context: "M3u8Settings"}
 17500  	if s.PcrPid != nil && *s.PcrPid < 32 {
 17501  		invalidParams.Add(request.NewErrParamMinValue("PcrPid", 32))
 17502  	}
 17503  	if s.PmtPid != nil && *s.PmtPid < 32 {
 17504  		invalidParams.Add(request.NewErrParamMinValue("PmtPid", 32))
 17505  	}
 17506  	if s.PrivateMetadataPid != nil && *s.PrivateMetadataPid < 32 {
 17507  		invalidParams.Add(request.NewErrParamMinValue("PrivateMetadataPid", 32))
 17508  	}
 17509  	if s.Scte35Pid != nil && *s.Scte35Pid < 32 {
 17510  		invalidParams.Add(request.NewErrParamMinValue("Scte35Pid", 32))
 17511  	}
 17512  	if s.TimedMetadataPid != nil && *s.TimedMetadataPid < 32 {
 17513  		invalidParams.Add(request.NewErrParamMinValue("TimedMetadataPid", 32))
 17514  	}
 17515  	if s.VideoPid != nil && *s.VideoPid < 32 {
 17516  		invalidParams.Add(request.NewErrParamMinValue("VideoPid", 32))
 17517  	}
 17518  
 17519  	if invalidParams.Len() > 0 {
 17520  		return invalidParams
 17521  	}
 17522  	return nil
 17523  }
 17524  
 17525  // SetAudioDuration sets the AudioDuration field's value.
 17526  func (s *M3u8Settings) SetAudioDuration(v string) *M3u8Settings {
 17527  	s.AudioDuration = &v
 17528  	return s
 17529  }
 17530  
 17531  // SetAudioFramesPerPes sets the AudioFramesPerPes field's value.
 17532  func (s *M3u8Settings) SetAudioFramesPerPes(v int64) *M3u8Settings {
 17533  	s.AudioFramesPerPes = &v
 17534  	return s
 17535  }
 17536  
 17537  // SetAudioPids sets the AudioPids field's value.
 17538  func (s *M3u8Settings) SetAudioPids(v []*int64) *M3u8Settings {
 17539  	s.AudioPids = v
 17540  	return s
 17541  }
 17542  
 17543  // SetDataPTSControl sets the DataPTSControl field's value.
 17544  func (s *M3u8Settings) SetDataPTSControl(v string) *M3u8Settings {
 17545  	s.DataPTSControl = &v
 17546  	return s
 17547  }
 17548  
 17549  // SetMaxPcrInterval sets the MaxPcrInterval field's value.
 17550  func (s *M3u8Settings) SetMaxPcrInterval(v int64) *M3u8Settings {
 17551  	s.MaxPcrInterval = &v
 17552  	return s
 17553  }
 17554  
 17555  // SetNielsenId3 sets the NielsenId3 field's value.
 17556  func (s *M3u8Settings) SetNielsenId3(v string) *M3u8Settings {
 17557  	s.NielsenId3 = &v
 17558  	return s
 17559  }
 17560  
 17561  // SetPatInterval sets the PatInterval field's value.
 17562  func (s *M3u8Settings) SetPatInterval(v int64) *M3u8Settings {
 17563  	s.PatInterval = &v
 17564  	return s
 17565  }
 17566  
 17567  // SetPcrControl sets the PcrControl field's value.
 17568  func (s *M3u8Settings) SetPcrControl(v string) *M3u8Settings {
 17569  	s.PcrControl = &v
 17570  	return s
 17571  }
 17572  
 17573  // SetPcrPid sets the PcrPid field's value.
 17574  func (s *M3u8Settings) SetPcrPid(v int64) *M3u8Settings {
 17575  	s.PcrPid = &v
 17576  	return s
 17577  }
 17578  
 17579  // SetPmtInterval sets the PmtInterval field's value.
 17580  func (s *M3u8Settings) SetPmtInterval(v int64) *M3u8Settings {
 17581  	s.PmtInterval = &v
 17582  	return s
 17583  }
 17584  
 17585  // SetPmtPid sets the PmtPid field's value.
 17586  func (s *M3u8Settings) SetPmtPid(v int64) *M3u8Settings {
 17587  	s.PmtPid = &v
 17588  	return s
 17589  }
 17590  
 17591  // SetPrivateMetadataPid sets the PrivateMetadataPid field's value.
 17592  func (s *M3u8Settings) SetPrivateMetadataPid(v int64) *M3u8Settings {
 17593  	s.PrivateMetadataPid = &v
 17594  	return s
 17595  }
 17596  
 17597  // SetProgramNumber sets the ProgramNumber field's value.
 17598  func (s *M3u8Settings) SetProgramNumber(v int64) *M3u8Settings {
 17599  	s.ProgramNumber = &v
 17600  	return s
 17601  }
 17602  
 17603  // SetScte35Pid sets the Scte35Pid field's value.
 17604  func (s *M3u8Settings) SetScte35Pid(v int64) *M3u8Settings {
 17605  	s.Scte35Pid = &v
 17606  	return s
 17607  }
 17608  
 17609  // SetScte35Source sets the Scte35Source field's value.
 17610  func (s *M3u8Settings) SetScte35Source(v string) *M3u8Settings {
 17611  	s.Scte35Source = &v
 17612  	return s
 17613  }
 17614  
 17615  // SetTimedMetadata sets the TimedMetadata field's value.
 17616  func (s *M3u8Settings) SetTimedMetadata(v string) *M3u8Settings {
 17617  	s.TimedMetadata = &v
 17618  	return s
 17619  }
 17620  
 17621  // SetTimedMetadataPid sets the TimedMetadataPid field's value.
 17622  func (s *M3u8Settings) SetTimedMetadataPid(v int64) *M3u8Settings {
 17623  	s.TimedMetadataPid = &v
 17624  	return s
 17625  }
 17626  
 17627  // SetTransportStreamId sets the TransportStreamId field's value.
 17628  func (s *M3u8Settings) SetTransportStreamId(v int64) *M3u8Settings {
 17629  	s.TransportStreamId = &v
 17630  	return s
 17631  }
 17632  
 17633  // SetVideoPid sets the VideoPid field's value.
 17634  func (s *M3u8Settings) SetVideoPid(v int64) *M3u8Settings {
 17635  	s.VideoPid = &v
 17636  	return s
 17637  }
 17638  
 17639  // Overlay motion graphics on top of your video. The motion graphics that you
 17640  // specify here appear on all outputs in all output groups. For more information,
 17641  // see https://docs.aws.amazon.com/mediaconvert/latest/ug/motion-graphic-overlay.html.
 17642  type MotionImageInserter struct {
 17643  	_ struct{} `type:"structure"`
 17644  
 17645  	// If your motion graphic asset is a .mov file, keep this setting unspecified.
 17646  	// If your motion graphic asset is a series of .png files, specify the frame
 17647  	// rate of the overlay in frames per second, as a fraction. For example, specify
 17648  	// 24 fps as 24/1. Make sure that the number of images in your series matches
 17649  	// the frame rate and your intended overlay duration. For example, if you want
 17650  	// a 30-second overlay at 30 fps, you should have 900 .png images. This overlay
 17651  	// frame rate doesn't need to match the frame rate of the underlying video.
 17652  	Framerate *MotionImageInsertionFramerate `locationName:"framerate" type:"structure"`
 17653  
 17654  	// Specify the .mov file or series of .png files that you want to overlay on
 17655  	// your video. For .png files, provide the file name of the first file in the
 17656  	// series. Make sure that the names of the .png files end with sequential numbers
 17657  	// that specify the order that they are played in. For example, overlay_000.png,
 17658  	// overlay_001.png, overlay_002.png, and so on. The sequence must start at zero,
 17659  	// and each image file name must have the same number of digits. Pad your initial
 17660  	// file names with enough zeros to complete the sequence. For example, if the
 17661  	// first image is overlay_0.png, there can be only 10 images in the sequence,
 17662  	// with the last image being overlay_9.png. But if the first image is overlay_00.png,
 17663  	// there can be 100 images in the sequence.
 17664  	Input *string `locationName:"input" min:"14" type:"string"`
 17665  
 17666  	// Choose the type of motion graphic asset that you are providing for your overlay.
 17667  	// You can choose either a .mov file or a series of .png files.
 17668  	InsertionMode *string `locationName:"insertionMode" type:"string" enum:"MotionImageInsertionMode"`
 17669  
 17670  	// Use Offset to specify the placement of your motion graphic overlay on the
 17671  	// video frame. Specify in pixels, from the upper-left corner of the frame.
 17672  	// If you don't specify an offset, the service scales your overlay to the full
 17673  	// size of the frame. Otherwise, the service inserts the overlay at its native
 17674  	// resolution and scales the size up or down with any video scaling.
 17675  	Offset *MotionImageInsertionOffset `locationName:"offset" type:"structure"`
 17676  
 17677  	// Specify whether your motion graphic overlay repeats on a loop or plays only
 17678  	// once.
 17679  	Playback *string `locationName:"playback" type:"string" enum:"MotionImagePlayback"`
 17680  
 17681  	// Specify when the motion overlay begins. Use timecode format (HH:MM:SS:FF
 17682  	// or HH:MM:SS;FF). Make sure that the timecode you provide here takes into
 17683  	// account how you have set up your timecode configuration under both job settings
 17684  	// and input settings. The simplest way to do that is to set both to start at
 17685  	// 0. If you need to set up your job to follow timecodes embedded in your source
 17686  	// that don't start at zero, make sure that you specify a start time that is
 17687  	// after the first embedded timecode. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/setting-up-timecode.html
 17688  	// Find job-wide and input timecode configuration settings in your JSON job
 17689  	// settings specification at settings>timecodeConfig>source and settings>inputs>timecodeSource.
 17690  	StartTime *string `locationName:"startTime" min:"11" type:"string"`
 17691  }
 17692  
 17693  // String returns the string representation.
 17694  //
 17695  // API parameter values that are decorated as "sensitive" in the API will not
 17696  // be included in the string output. The member name will be present, but the
 17697  // value will be replaced with "sensitive".
 17698  func (s MotionImageInserter) String() string {
 17699  	return awsutil.Prettify(s)
 17700  }
 17701  
 17702  // GoString returns the string representation.
 17703  //
 17704  // API parameter values that are decorated as "sensitive" in the API will not
 17705  // be included in the string output. The member name will be present, but the
 17706  // value will be replaced with "sensitive".
 17707  func (s MotionImageInserter) GoString() string {
 17708  	return s.String()
 17709  }
 17710  
 17711  // Validate inspects the fields of the type to determine if they are valid.
 17712  func (s *MotionImageInserter) Validate() error {
 17713  	invalidParams := request.ErrInvalidParams{Context: "MotionImageInserter"}
 17714  	if s.Input != nil && len(*s.Input) < 14 {
 17715  		invalidParams.Add(request.NewErrParamMinLen("Input", 14))
 17716  	}
 17717  	if s.StartTime != nil && len(*s.StartTime) < 11 {
 17718  		invalidParams.Add(request.NewErrParamMinLen("StartTime", 11))
 17719  	}
 17720  	if s.Framerate != nil {
 17721  		if err := s.Framerate.Validate(); err != nil {
 17722  			invalidParams.AddNested("Framerate", err.(request.ErrInvalidParams))
 17723  		}
 17724  	}
 17725  
 17726  	if invalidParams.Len() > 0 {
 17727  		return invalidParams
 17728  	}
 17729  	return nil
 17730  }
 17731  
 17732  // SetFramerate sets the Framerate field's value.
 17733  func (s *MotionImageInserter) SetFramerate(v *MotionImageInsertionFramerate) *MotionImageInserter {
 17734  	s.Framerate = v
 17735  	return s
 17736  }
 17737  
 17738  // SetInput sets the Input field's value.
 17739  func (s *MotionImageInserter) SetInput(v string) *MotionImageInserter {
 17740  	s.Input = &v
 17741  	return s
 17742  }
 17743  
 17744  // SetInsertionMode sets the InsertionMode field's value.
 17745  func (s *MotionImageInserter) SetInsertionMode(v string) *MotionImageInserter {
 17746  	s.InsertionMode = &v
 17747  	return s
 17748  }
 17749  
 17750  // SetOffset sets the Offset field's value.
 17751  func (s *MotionImageInserter) SetOffset(v *MotionImageInsertionOffset) *MotionImageInserter {
 17752  	s.Offset = v
 17753  	return s
 17754  }
 17755  
 17756  // SetPlayback sets the Playback field's value.
 17757  func (s *MotionImageInserter) SetPlayback(v string) *MotionImageInserter {
 17758  	s.Playback = &v
 17759  	return s
 17760  }
 17761  
 17762  // SetStartTime sets the StartTime field's value.
 17763  func (s *MotionImageInserter) SetStartTime(v string) *MotionImageInserter {
 17764  	s.StartTime = &v
 17765  	return s
 17766  }
 17767  
 17768  // For motion overlays that don't have a built-in frame rate, specify the frame
 17769  // rate of the overlay in frames per second, as a fraction. For example, specify
 17770  // 24 fps as 24/1. The overlay frame rate doesn't need to match the frame rate
 17771  // of the underlying video.
 17772  type MotionImageInsertionFramerate struct {
 17773  	_ struct{} `type:"structure"`
 17774  
 17775  	// The bottom of the fraction that expresses your overlay frame rate. For example,
 17776  	// if your frame rate is 24 fps, set this value to 1.
 17777  	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
 17778  
 17779  	// The top of the fraction that expresses your overlay frame rate. For example,
 17780  	// if your frame rate is 24 fps, set this value to 24.
 17781  	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"`
 17782  }
 17783  
 17784  // String returns the string representation.
 17785  //
 17786  // API parameter values that are decorated as "sensitive" in the API will not
 17787  // be included in the string output. The member name will be present, but the
 17788  // value will be replaced with "sensitive".
 17789  func (s MotionImageInsertionFramerate) String() string {
 17790  	return awsutil.Prettify(s)
 17791  }
 17792  
 17793  // GoString returns the string representation.
 17794  //
 17795  // API parameter values that are decorated as "sensitive" in the API will not
 17796  // be included in the string output. The member name will be present, but the
 17797  // value will be replaced with "sensitive".
 17798  func (s MotionImageInsertionFramerate) GoString() string {
 17799  	return s.String()
 17800  }
 17801  
 17802  // Validate inspects the fields of the type to determine if they are valid.
 17803  func (s *MotionImageInsertionFramerate) Validate() error {
 17804  	invalidParams := request.ErrInvalidParams{Context: "MotionImageInsertionFramerate"}
 17805  	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
 17806  		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
 17807  	}
 17808  	if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 {
 17809  		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1))
 17810  	}
 17811  
 17812  	if invalidParams.Len() > 0 {
 17813  		return invalidParams
 17814  	}
 17815  	return nil
 17816  }
 17817  
 17818  // SetFramerateDenominator sets the FramerateDenominator field's value.
 17819  func (s *MotionImageInsertionFramerate) SetFramerateDenominator(v int64) *MotionImageInsertionFramerate {
 17820  	s.FramerateDenominator = &v
 17821  	return s
 17822  }
 17823  
 17824  // SetFramerateNumerator sets the FramerateNumerator field's value.
 17825  func (s *MotionImageInsertionFramerate) SetFramerateNumerator(v int64) *MotionImageInsertionFramerate {
 17826  	s.FramerateNumerator = &v
 17827  	return s
 17828  }
 17829  
 17830  // Specify the offset between the upper-left corner of the video frame and the
 17831  // top left corner of the overlay.
 17832  type MotionImageInsertionOffset struct {
 17833  	_ struct{} `type:"structure"`
 17834  
 17835  	// Set the distance, in pixels, between the overlay and the left edge of the
 17836  	// video frame.
 17837  	ImageX *int64 `locationName:"imageX" type:"integer"`
 17838  
 17839  	// Set the distance, in pixels, between the overlay and the top edge of the
 17840  	// video frame.
 17841  	ImageY *int64 `locationName:"imageY" type:"integer"`
 17842  }
 17843  
 17844  // String returns the string representation.
 17845  //
 17846  // API parameter values that are decorated as "sensitive" in the API will not
 17847  // be included in the string output. The member name will be present, but the
 17848  // value will be replaced with "sensitive".
 17849  func (s MotionImageInsertionOffset) String() string {
 17850  	return awsutil.Prettify(s)
 17851  }
 17852  
 17853  // GoString returns the string representation.
 17854  //
 17855  // API parameter values that are decorated as "sensitive" in the API will not
 17856  // be included in the string output. The member name will be present, but the
 17857  // value will be replaced with "sensitive".
 17858  func (s MotionImageInsertionOffset) GoString() string {
 17859  	return s.String()
 17860  }
 17861  
 17862  // SetImageX sets the ImageX field's value.
 17863  func (s *MotionImageInsertionOffset) SetImageX(v int64) *MotionImageInsertionOffset {
 17864  	s.ImageX = &v
 17865  	return s
 17866  }
 17867  
 17868  // SetImageY sets the ImageY field's value.
 17869  func (s *MotionImageInsertionOffset) SetImageY(v int64) *MotionImageInsertionOffset {
 17870  	s.ImageY = &v
 17871  	return s
 17872  }
 17873  
 17874  // These settings relate to your QuickTime MOV output container.
 17875  type MovSettings struct {
 17876  	_ struct{} `type:"structure"`
 17877  
 17878  	// When enabled, include 'clap' atom if appropriate for the video output settings.
 17879  	ClapAtom *string `locationName:"clapAtom" type:"string" enum:"MovClapAtom"`
 17880  
 17881  	// When enabled, file composition times will start at zero, composition times
 17882  	// in the 'ctts' (composition time to sample) box for B-frames will be negative,
 17883  	// and a 'cslg' (composition shift least greatest) box will be included per
 17884  	// 14496-1 amendment 1. This improves compatibility with Apple players and tools.
 17885  	CslgAtom *string `locationName:"cslgAtom" type:"string" enum:"MovCslgAtom"`
 17886  
 17887  	// When set to XDCAM, writes MPEG2 video streams into the QuickTime file using
 17888  	// XDCAM fourcc codes. This increases compatibility with Apple editors and players,
 17889  	// but may decrease compatibility with other players. Only applicable when the
 17890  	// video codec is MPEG2.
 17891  	Mpeg2FourCCControl *string `locationName:"mpeg2FourCCControl" type:"string" enum:"MovMpeg2FourCCControl"`
 17892  
 17893  	// To make this output compatible with Omenon, keep the default value, OMNEON.
 17894  	// Unless you need Omneon compatibility, set this value to NONE. When you keep
 17895  	// the default value, OMNEON, MediaConvert increases the length of the edit
 17896  	// list atom. This might cause file rejections when a recipient of the output
 17897  	// file doesn't expct this extra padding.
 17898  	PaddingControl *string `locationName:"paddingControl" type:"string" enum:"MovPaddingControl"`
 17899  
 17900  	// Always keep the default value (SELF_CONTAINED) for this setting.
 17901  	Reference *string `locationName:"reference" type:"string" enum:"MovReference"`
 17902  }
 17903  
 17904  // String returns the string representation.
 17905  //
 17906  // API parameter values that are decorated as "sensitive" in the API will not
 17907  // be included in the string output. The member name will be present, but the
 17908  // value will be replaced with "sensitive".
 17909  func (s MovSettings) String() string {
 17910  	return awsutil.Prettify(s)
 17911  }
 17912  
 17913  // GoString returns the string representation.
 17914  //
 17915  // API parameter values that are decorated as "sensitive" in the API will not
 17916  // be included in the string output. The member name will be present, but the
 17917  // value will be replaced with "sensitive".
 17918  func (s MovSettings) GoString() string {
 17919  	return s.String()
 17920  }
 17921  
 17922  // SetClapAtom sets the ClapAtom field's value.
 17923  func (s *MovSettings) SetClapAtom(v string) *MovSettings {
 17924  	s.ClapAtom = &v
 17925  	return s
 17926  }
 17927  
 17928  // SetCslgAtom sets the CslgAtom field's value.
 17929  func (s *MovSettings) SetCslgAtom(v string) *MovSettings {
 17930  	s.CslgAtom = &v
 17931  	return s
 17932  }
 17933  
 17934  // SetMpeg2FourCCControl sets the Mpeg2FourCCControl field's value.
 17935  func (s *MovSettings) SetMpeg2FourCCControl(v string) *MovSettings {
 17936  	s.Mpeg2FourCCControl = &v
 17937  	return s
 17938  }
 17939  
 17940  // SetPaddingControl sets the PaddingControl field's value.
 17941  func (s *MovSettings) SetPaddingControl(v string) *MovSettings {
 17942  	s.PaddingControl = &v
 17943  	return s
 17944  }
 17945  
 17946  // SetReference sets the Reference field's value.
 17947  func (s *MovSettings) SetReference(v string) *MovSettings {
 17948  	s.Reference = &v
 17949  	return s
 17950  }
 17951  
 17952  // Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
 17953  // the value MP2.
 17954  type Mp2Settings struct {
 17955  	_ struct{} `type:"structure"`
 17956  
 17957  	// Specify the average bitrate in bits per second.
 17958  	Bitrate *int64 `locationName:"bitrate" min:"32000" type:"integer"`
 17959  
 17960  	// Set Channels to specify the number of channels in this output audio track.
 17961  	// Choosing Mono in the console will give you 1 output channel; choosing Stereo
 17962  	// will give you 2. In the API, valid values are 1 and 2.
 17963  	Channels *int64 `locationName:"channels" min:"1" type:"integer"`
 17964  
 17965  	// Sample rate in hz.
 17966  	SampleRate *int64 `locationName:"sampleRate" min:"32000" type:"integer"`
 17967  }
 17968  
 17969  // String returns the string representation.
 17970  //
 17971  // API parameter values that are decorated as "sensitive" in the API will not
 17972  // be included in the string output. The member name will be present, but the
 17973  // value will be replaced with "sensitive".
 17974  func (s Mp2Settings) String() string {
 17975  	return awsutil.Prettify(s)
 17976  }
 17977  
 17978  // GoString returns the string representation.
 17979  //
 17980  // API parameter values that are decorated as "sensitive" in the API will not
 17981  // be included in the string output. The member name will be present, but the
 17982  // value will be replaced with "sensitive".
 17983  func (s Mp2Settings) GoString() string {
 17984  	return s.String()
 17985  }
 17986  
 17987  // Validate inspects the fields of the type to determine if they are valid.
 17988  func (s *Mp2Settings) Validate() error {
 17989  	invalidParams := request.ErrInvalidParams{Context: "Mp2Settings"}
 17990  	if s.Bitrate != nil && *s.Bitrate < 32000 {
 17991  		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 32000))
 17992  	}
 17993  	if s.Channels != nil && *s.Channels < 1 {
 17994  		invalidParams.Add(request.NewErrParamMinValue("Channels", 1))
 17995  	}
 17996  	if s.SampleRate != nil && *s.SampleRate < 32000 {
 17997  		invalidParams.Add(request.NewErrParamMinValue("SampleRate", 32000))
 17998  	}
 17999  
 18000  	if invalidParams.Len() > 0 {
 18001  		return invalidParams
 18002  	}
 18003  	return nil
 18004  }
 18005  
 18006  // SetBitrate sets the Bitrate field's value.
 18007  func (s *Mp2Settings) SetBitrate(v int64) *Mp2Settings {
 18008  	s.Bitrate = &v
 18009  	return s
 18010  }
 18011  
 18012  // SetChannels sets the Channels field's value.
 18013  func (s *Mp2Settings) SetChannels(v int64) *Mp2Settings {
 18014  	s.Channels = &v
 18015  	return s
 18016  }
 18017  
 18018  // SetSampleRate sets the SampleRate field's value.
 18019  func (s *Mp2Settings) SetSampleRate(v int64) *Mp2Settings {
 18020  	s.SampleRate = &v
 18021  	return s
 18022  }
 18023  
 18024  // Required when you set Codec, under AudioDescriptions>CodecSettings, to the
 18025  // value MP3.
 18026  type Mp3Settings struct {
 18027  	_ struct{} `type:"structure"`
 18028  
 18029  	// Specify the average bitrate in bits per second.
 18030  	Bitrate *int64 `locationName:"bitrate" min:"16000" type:"integer"`
 18031  
 18032  	// Specify the number of channels in this output audio track. Choosing Mono
 18033  	// on the console gives you 1 output channel; choosing Stereo gives you 2. In
 18034  	// the API, valid values are 1 and 2.
 18035  	Channels *int64 `locationName:"channels" min:"1" type:"integer"`
 18036  
 18037  	// Specify whether the service encodes this MP3 audio output with a constant
 18038  	// bitrate (CBR) or a variable bitrate (VBR).
 18039  	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"Mp3RateControlMode"`
 18040  
 18041  	// Sample rate in hz.
 18042  	SampleRate *int64 `locationName:"sampleRate" min:"22050" type:"integer"`
 18043  
 18044  	// Required when you set Bitrate control mode (rateControlMode) to VBR. Specify
 18045  	// the audio quality of this MP3 output from 0 (highest quality) to 9 (lowest
 18046  	// quality).
 18047  	VbrQuality *int64 `locationName:"vbrQuality" type:"integer"`
 18048  }
 18049  
 18050  // String returns the string representation.
 18051  //
 18052  // API parameter values that are decorated as "sensitive" in the API will not
 18053  // be included in the string output. The member name will be present, but the
 18054  // value will be replaced with "sensitive".
 18055  func (s Mp3Settings) String() string {
 18056  	return awsutil.Prettify(s)
 18057  }
 18058  
 18059  // GoString returns the string representation.
 18060  //
 18061  // API parameter values that are decorated as "sensitive" in the API will not
 18062  // be included in the string output. The member name will be present, but the
 18063  // value will be replaced with "sensitive".
 18064  func (s Mp3Settings) GoString() string {
 18065  	return s.String()
 18066  }
 18067  
 18068  // Validate inspects the fields of the type to determine if they are valid.
 18069  func (s *Mp3Settings) Validate() error {
 18070  	invalidParams := request.ErrInvalidParams{Context: "Mp3Settings"}
 18071  	if s.Bitrate != nil && *s.Bitrate < 16000 {
 18072  		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 16000))
 18073  	}
 18074  	if s.Channels != nil && *s.Channels < 1 {
 18075  		invalidParams.Add(request.NewErrParamMinValue("Channels", 1))
 18076  	}
 18077  	if s.SampleRate != nil && *s.SampleRate < 22050 {
 18078  		invalidParams.Add(request.NewErrParamMinValue("SampleRate", 22050))
 18079  	}
 18080  
 18081  	if invalidParams.Len() > 0 {
 18082  		return invalidParams
 18083  	}
 18084  	return nil
 18085  }
 18086  
 18087  // SetBitrate sets the Bitrate field's value.
 18088  func (s *Mp3Settings) SetBitrate(v int64) *Mp3Settings {
 18089  	s.Bitrate = &v
 18090  	return s
 18091  }
 18092  
 18093  // SetChannels sets the Channels field's value.
 18094  func (s *Mp3Settings) SetChannels(v int64) *Mp3Settings {
 18095  	s.Channels = &v
 18096  	return s
 18097  }
 18098  
 18099  // SetRateControlMode sets the RateControlMode field's value.
 18100  func (s *Mp3Settings) SetRateControlMode(v string) *Mp3Settings {
 18101  	s.RateControlMode = &v
 18102  	return s
 18103  }
 18104  
 18105  // SetSampleRate sets the SampleRate field's value.
 18106  func (s *Mp3Settings) SetSampleRate(v int64) *Mp3Settings {
 18107  	s.SampleRate = &v
 18108  	return s
 18109  }
 18110  
 18111  // SetVbrQuality sets the VbrQuality field's value.
 18112  func (s *Mp3Settings) SetVbrQuality(v int64) *Mp3Settings {
 18113  	s.VbrQuality = &v
 18114  	return s
 18115  }
 18116  
 18117  // These settings relate to your MP4 output container. You can create audio
 18118  // only outputs with this container. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/supported-codecs-containers-audio-only.html#output-codecs-and-containers-supported-for-audio-only.
 18119  type Mp4Settings struct {
 18120  	_ struct{} `type:"structure"`
 18121  
 18122  	// Specify this setting only when your output will be consumed by a downstream
 18123  	// repackaging workflow that is sensitive to very small duration differences
 18124  	// between video and audio. For this situation, choose Match video duration
 18125  	// (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default
 18126  	// codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration,
 18127  	// MediaConvert pads the output audio streams with silence or trims them to
 18128  	// ensure that the total duration of each audio stream is at least as long as
 18129  	// the total duration of the video stream. After padding or trimming, the audio
 18130  	// stream duration is no more than one frame longer than the video stream. MediaConvert
 18131  	// applies audio padding or trimming only to the end of the last segment of
 18132  	// the output. For unsegmented outputs, MediaConvert adds padding only to the
 18133  	// end of the file. When you keep the default value, any minor discrepancies
 18134  	// between audio and video duration will depend on your output audio codec.
 18135  	AudioDuration *string `locationName:"audioDuration" type:"string" enum:"CmfcAudioDuration"`
 18136  
 18137  	// When enabled, file composition times will start at zero, composition times
 18138  	// in the 'ctts' (composition time to sample) box for B-frames will be negative,
 18139  	// and a 'cslg' (composition shift least greatest) box will be included per
 18140  	// 14496-1 amendment 1. This improves compatibility with Apple players and tools.
 18141  	CslgAtom *string `locationName:"cslgAtom" type:"string" enum:"Mp4CslgAtom"`
 18142  
 18143  	// Ignore this setting unless compliance to the CTTS box version specification
 18144  	// matters in your workflow. Specify a value of 1 to set your CTTS box version
 18145  	// to 1 and make your output compliant with the specification. When you specify
 18146  	// a value of 1, you must also set CSLG atom (cslgAtom) to the value INCLUDE.
 18147  	// Keep the default value 0 to set your CTTS box version to 0. This can provide
 18148  	// backward compatibility for some players and packagers.
 18149  	CttsVersion *int64 `locationName:"cttsVersion" type:"integer"`
 18150  
 18151  	// Inserts a free-space box immediately after the moov box.
 18152  	FreeSpaceBox *string `locationName:"freeSpaceBox" type:"string" enum:"Mp4FreeSpaceBox"`
 18153  
 18154  	// If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning
 18155  	// of the archive as required for progressive downloading. Otherwise it is placed
 18156  	// normally at the end.
 18157  	MoovPlacement *string `locationName:"moovPlacement" type:"string" enum:"Mp4MoovPlacement"`
 18158  
 18159  	// Overrides the "Major Brand" field in the output file. Usually not necessary
 18160  	// to specify.
 18161  	Mp4MajorBrand *string `locationName:"mp4MajorBrand" type:"string"`
 18162  }
 18163  
 18164  // String returns the string representation.
 18165  //
 18166  // API parameter values that are decorated as "sensitive" in the API will not
 18167  // be included in the string output. The member name will be present, but the
 18168  // value will be replaced with "sensitive".
 18169  func (s Mp4Settings) String() string {
 18170  	return awsutil.Prettify(s)
 18171  }
 18172  
 18173  // GoString returns the string representation.
 18174  //
 18175  // API parameter values that are decorated as "sensitive" in the API will not
 18176  // be included in the string output. The member name will be present, but the
 18177  // value will be replaced with "sensitive".
 18178  func (s Mp4Settings) GoString() string {
 18179  	return s.String()
 18180  }
 18181  
 18182  // SetAudioDuration sets the AudioDuration field's value.
 18183  func (s *Mp4Settings) SetAudioDuration(v string) *Mp4Settings {
 18184  	s.AudioDuration = &v
 18185  	return s
 18186  }
 18187  
 18188  // SetCslgAtom sets the CslgAtom field's value.
 18189  func (s *Mp4Settings) SetCslgAtom(v string) *Mp4Settings {
 18190  	s.CslgAtom = &v
 18191  	return s
 18192  }
 18193  
 18194  // SetCttsVersion sets the CttsVersion field's value.
 18195  func (s *Mp4Settings) SetCttsVersion(v int64) *Mp4Settings {
 18196  	s.CttsVersion = &v
 18197  	return s
 18198  }
 18199  
 18200  // SetFreeSpaceBox sets the FreeSpaceBox field's value.
 18201  func (s *Mp4Settings) SetFreeSpaceBox(v string) *Mp4Settings {
 18202  	s.FreeSpaceBox = &v
 18203  	return s
 18204  }
 18205  
 18206  // SetMoovPlacement sets the MoovPlacement field's value.
 18207  func (s *Mp4Settings) SetMoovPlacement(v string) *Mp4Settings {
 18208  	s.MoovPlacement = &v
 18209  	return s
 18210  }
 18211  
 18212  // SetMp4MajorBrand sets the Mp4MajorBrand field's value.
 18213  func (s *Mp4Settings) SetMp4MajorBrand(v string) *Mp4Settings {
 18214  	s.Mp4MajorBrand = &v
 18215  	return s
 18216  }
 18217  
 18218  // These settings relate to the fragmented MP4 container for the segments in
 18219  // your DASH outputs.
 18220  type MpdSettings struct {
 18221  	_ struct{} `type:"structure"`
 18222  
 18223  	// Optional. Choose Include (INCLUDE) to have MediaConvert mark up your DASH
 18224  	// manifest with elements for embedded 608 captions. This markup isn't generally
 18225  	// required, but some video players require it to discover and play embedded
 18226  	// 608 captions. Keep the default value, Exclude (EXCLUDE), to leave these elements
 18227  	// out. When you enable this setting, this is the markup that MediaConvert includes
 18228  	// in your manifest:
 18229  	AccessibilityCaptionHints *string `locationName:"accessibilityCaptionHints" type:"string" enum:"MpdAccessibilityCaptionHints"`
 18230  
 18231  	// Specify this setting only when your output will be consumed by a downstream
 18232  	// repackaging workflow that is sensitive to very small duration differences
 18233  	// between video and audio. For this situation, choose Match video duration
 18234  	// (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default
 18235  	// codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration,
 18236  	// MediaConvert pads the output audio streams with silence or trims them to
 18237  	// ensure that the total duration of each audio stream is at least as long as
 18238  	// the total duration of the video stream. After padding or trimming, the audio
 18239  	// stream duration is no more than one frame longer than the video stream. MediaConvert
 18240  	// applies audio padding or trimming only to the end of the last segment of
 18241  	// the output. For unsegmented outputs, MediaConvert adds padding only to the
 18242  	// end of the file. When you keep the default value, any minor discrepancies
 18243  	// between audio and video duration will depend on your output audio codec.
 18244  	AudioDuration *string `locationName:"audioDuration" type:"string" enum:"MpdAudioDuration"`
 18245  
 18246  	// Use this setting only in DASH output groups that include sidecar TTML or
 18247  	// IMSC captions. You specify sidecar captions in a separate output from your
 18248  	// audio and video. Choose Raw (RAW) for captions in a single XML file in a
 18249  	// raw container. Choose Fragmented MPEG-4 (FRAGMENTED_MP4) for captions in
 18250  	// XML format contained within fragmented MP4 files. This set of fragmented
 18251  	// MP4 files is separate from your video and audio fragmented MP4 files.
 18252  	CaptionContainerType *string `locationName:"captionContainerType" type:"string" enum:"MpdCaptionContainerType"`
 18253  
 18254  	// Use this setting only when you specify SCTE-35 markers from ESAM. Choose
 18255  	// INSERT to put SCTE-35 markers in this output at the insertion points that
 18256  	// you specify in an ESAM XML document. Provide the document in the setting
 18257  	// SCC XML (sccXml).
 18258  	Scte35Esam *string `locationName:"scte35Esam" type:"string" enum:"MpdScte35Esam"`
 18259  
 18260  	// Ignore this setting unless you have SCTE-35 markers in your input video file.
 18261  	// Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear
 18262  	// in your input to also appear in this output. Choose None (NONE) if you don't
 18263  	// want those SCTE-35 markers in this output.
 18264  	Scte35Source *string `locationName:"scte35Source" type:"string" enum:"MpdScte35Source"`
 18265  }
 18266  
 18267  // String returns the string representation.
 18268  //
 18269  // API parameter values that are decorated as "sensitive" in the API will not
 18270  // be included in the string output. The member name will be present, but the
 18271  // value will be replaced with "sensitive".
 18272  func (s MpdSettings) String() string {
 18273  	return awsutil.Prettify(s)
 18274  }
 18275  
 18276  // GoString returns the string representation.
 18277  //
 18278  // API parameter values that are decorated as "sensitive" in the API will not
 18279  // be included in the string output. The member name will be present, but the
 18280  // value will be replaced with "sensitive".
 18281  func (s MpdSettings) GoString() string {
 18282  	return s.String()
 18283  }
 18284  
 18285  // SetAccessibilityCaptionHints sets the AccessibilityCaptionHints field's value.
 18286  func (s *MpdSettings) SetAccessibilityCaptionHints(v string) *MpdSettings {
 18287  	s.AccessibilityCaptionHints = &v
 18288  	return s
 18289  }
 18290  
 18291  // SetAudioDuration sets the AudioDuration field's value.
 18292  func (s *MpdSettings) SetAudioDuration(v string) *MpdSettings {
 18293  	s.AudioDuration = &v
 18294  	return s
 18295  }
 18296  
 18297  // SetCaptionContainerType sets the CaptionContainerType field's value.
 18298  func (s *MpdSettings) SetCaptionContainerType(v string) *MpdSettings {
 18299  	s.CaptionContainerType = &v
 18300  	return s
 18301  }
 18302  
 18303  // SetScte35Esam sets the Scte35Esam field's value.
 18304  func (s *MpdSettings) SetScte35Esam(v string) *MpdSettings {
 18305  	s.Scte35Esam = &v
 18306  	return s
 18307  }
 18308  
 18309  // SetScte35Source sets the Scte35Source field's value.
 18310  func (s *MpdSettings) SetScte35Source(v string) *MpdSettings {
 18311  	s.Scte35Source = &v
 18312  	return s
 18313  }
 18314  
 18315  // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
 18316  // the value MPEG2.
 18317  type Mpeg2Settings struct {
 18318  	_ struct{} `type:"structure"`
 18319  
 18320  	// Specify the strength of any adaptive quantization filters that you enable.
 18321  	// The value that you choose here applies to the following settings: Spatial
 18322  	// adaptive quantization (spatialAdaptiveQuantization), and Temporal adaptive
 18323  	// quantization (temporalAdaptiveQuantization).
 18324  	AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"Mpeg2AdaptiveQuantization"`
 18325  
 18326  	// Specify the average bitrate in bits per second. Required for VBR and CBR.
 18327  	// For MS Smooth outputs, bitrates must be unique when rounded down to the nearest
 18328  	// multiple of 1000.
 18329  	Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"`
 18330  
 18331  	// Use Level (Mpeg2CodecLevel) to set the MPEG-2 level for the video output.
 18332  	CodecLevel *string `locationName:"codecLevel" type:"string" enum:"Mpeg2CodecLevel"`
 18333  
 18334  	// Use Profile (Mpeg2CodecProfile) to set the MPEG-2 profile for the video output.
 18335  	CodecProfile *string `locationName:"codecProfile" type:"string" enum:"Mpeg2CodecProfile"`
 18336  
 18337  	// Choose Adaptive to improve subjective video quality for high-motion content.
 18338  	// This will cause the service to use fewer B-frames (which infer information
 18339  	// based on other frames) for high-motion portions of the video and more B-frames
 18340  	// for low-motion portions. The maximum number of B-frames is limited by the
 18341  	// value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).
 18342  	DynamicSubGop *string `locationName:"dynamicSubGop" type:"string" enum:"Mpeg2DynamicSubGop"`
 18343  
 18344  	// If you are using the console, use the Framerate setting to specify the frame
 18345  	// rate for this output. If you want to keep the same frame rate as the input
 18346  	// video, choose Follow source. If you want to do frame rate conversion, choose
 18347  	// a frame rate from the dropdown list or choose Custom. The framerates shown
 18348  	// in the dropdown list are decimal approximations of fractions. If you choose
 18349  	// Custom, specify your frame rate as a fraction. If you are creating your transcoding
 18350  	// job specification as a JSON file without the console, use FramerateControl
 18351  	// to specify which value the service uses for the frame rate for this output.
 18352  	// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 18353  	// from the input. Choose SPECIFIED if you want the service to use the frame
 18354  	// rate you specify in the settings FramerateNumerator and FramerateDenominator.
 18355  	FramerateControl *string `locationName:"framerateControl" type:"string" enum:"Mpeg2FramerateControl"`
 18356  
 18357  	// Choose the method that you want MediaConvert to use when increasing or decreasing
 18358  	// the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 18359  	// simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 18360  	// you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 18361  	// smooth picture, but might introduce undesirable video artifacts. For complex
 18362  	// frame rate conversions, especially if your source video has already been
 18363  	// converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 18364  	// motion-compensated interpolation. FrameFormer chooses the best conversion
 18365  	// method frame by frame. Note that using FrameFormer increases the transcoding
 18366  	// time and incurs a significant add-on cost.
 18367  	FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"Mpeg2FramerateConversionAlgorithm"`
 18368  
 18369  	// When you use the API for transcode jobs that use frame rate conversion, specify
 18370  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
 18371  	// FramerateDenominator to specify the denominator of this fraction. In this
 18372  	// example, use 1001 for the value of FramerateDenominator. When you use the
 18373  	// console for transcode jobs that use frame rate conversion, provide the value
 18374  	// as a decimal number for Framerate. In this example, specify 23.976.
 18375  	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
 18376  
 18377  	// When you use the API for transcode jobs that use frame rate conversion, specify
 18378  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
 18379  	// FramerateNumerator to specify the numerator of this fraction. In this example,
 18380  	// use 24000 for the value of FramerateNumerator. When you use the console for
 18381  	// transcode jobs that use frame rate conversion, provide the value as a decimal
 18382  	// number for Framerate. In this example, specify 23.976.
 18383  	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"24" type:"integer"`
 18384  
 18385  	// Frequency of closed GOPs. In streaming applications, it is recommended that
 18386  	// this be set to 1 so a decoder joining mid-stream will receive an IDR frame
 18387  	// as quickly as possible. Setting this value to 0 will break output segmenting.
 18388  	GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"`
 18389  
 18390  	// Specify the interval between keyframes, in seconds or frames, for this output.
 18391  	// Default: 12 Related settings: When you specify the GOP size in seconds, set
 18392  	// GOP mode control (GopSizeUnits) to Specified, seconds (SECONDS). The default
 18393  	// value for GOP mode control (GopSizeUnits) is Frames (FRAMES).
 18394  	GopSize *float64 `locationName:"gopSize" type:"double"`
 18395  
 18396  	// Specify the units for GOP size (GopSize). If you don't specify a value here,
 18397  	// by default the encoder measures GOP size in frames.
 18398  	GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"Mpeg2GopSizeUnits"`
 18399  
 18400  	// Percentage of the buffer that should initially be filled (HRD buffer model).
 18401  	HrdBufferInitialFillPercentage *int64 `locationName:"hrdBufferInitialFillPercentage" type:"integer"`
 18402  
 18403  	// Size of buffer (HRD buffer model) in bits. For example, enter five megabits
 18404  	// as 5000000.
 18405  	HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"`
 18406  
 18407  	// Choose the scan line type for the output. Keep the default value, Progressive
 18408  	// (PROGRESSIVE) to create a progressive output, regardless of the scan type
 18409  	// of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD)
 18410  	// to create an output that's interlaced with the same field polarity throughout.
 18411  	// Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD)
 18412  	// to produce outputs with the same field polarity as the source. For jobs that
 18413  	// have multiple inputs, the output field polarity might change over the course
 18414  	// of the output. Follow behavior depends on the input scan type. If the source
 18415  	// is interlaced, the output will be interlaced with the same polarity as the
 18416  	// source. If the source is progressive, the output will be interlaced with
 18417  	// top field bottom field first, depending on which of the Follow options you
 18418  	// choose.
 18419  	InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"Mpeg2InterlaceMode"`
 18420  
 18421  	// Use Intra DC precision (Mpeg2IntraDcPrecision) to set quantization precision
 18422  	// for intra-block DC coefficients. If you choose the value auto, the service
 18423  	// will automatically select the precision based on the per-frame compression
 18424  	// ratio.
 18425  	IntraDcPrecision *string `locationName:"intraDcPrecision" type:"string" enum:"Mpeg2IntraDcPrecision"`
 18426  
 18427  	// Maximum bitrate in bits/second. For example, enter five megabits per second
 18428  	// as 5000000.
 18429  	MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"`
 18430  
 18431  	// Enforces separation between repeated (cadence) I-frames and I-frames inserted
 18432  	// by Scene Change Detection. If a scene change I-frame is within I-interval
 18433  	// frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene
 18434  	// change I-frame. GOP stretch requires enabling lookahead as well as setting
 18435  	// I-interval. The normal cadence resumes for the next GOP. This setting is
 18436  	// only used when Scene Change Detect is enabled. Note: Maximum GOP stretch
 18437  	// = GOP size + Min-I-interval - 1
 18438  	MinIInterval *int64 `locationName:"minIInterval" type:"integer"`
 18439  
 18440  	// Specify the number of B-frames that MediaConvert puts between reference frames
 18441  	// in this output. Valid values are whole numbers from 0 through 7. When you
 18442  	// don't specify a value, MediaConvert defaults to 2.
 18443  	NumberBFramesBetweenReferenceFrames *int64 `locationName:"numberBFramesBetweenReferenceFrames" type:"integer"`
 18444  
 18445  	// Optional. Specify how the service determines the pixel aspect ratio (PAR)
 18446  	// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE),
 18447  	// uses the PAR from your input video for your output. To specify a different
 18448  	// PAR in the console, choose any value other than Follow source. To specify
 18449  	// a different PAR by editing the JSON job specification, choose SPECIFIED.
 18450  	// When you choose SPECIFIED for this setting, you must also specify values
 18451  	// for the parNumerator and parDenominator settings.
 18452  	ParControl *string `locationName:"parControl" type:"string" enum:"Mpeg2ParControl"`
 18453  
 18454  	// Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the
 18455  	// console, this corresponds to any value other than Follow source. When you
 18456  	// specify an output pixel aspect ratio (PAR) that is different from your input
 18457  	// video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC
 18458  	// widescreen, you would specify the ratio 40:33. In this example, the value
 18459  	// for parDenominator is 33.
 18460  	ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"`
 18461  
 18462  	// Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the
 18463  	// console, this corresponds to any value other than Follow source. When you
 18464  	// specify an output pixel aspect ratio (PAR) that is different from your input
 18465  	// video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC
 18466  	// widescreen, you would specify the ratio 40:33. In this example, the value
 18467  	// for parNumerator is 40.
 18468  	ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"`
 18469  
 18470  	// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you
 18471  	// want to trade off encoding speed for output video quality. The default behavior
 18472  	// is faster, lower quality, single-pass encoding.
 18473  	QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"Mpeg2QualityTuningLevel"`
 18474  
 18475  	// Use Rate control mode (Mpeg2RateControlMode) to specify whether the bitrate
 18476  	// is variable (vbr) or constant (cbr).
 18477  	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"Mpeg2RateControlMode"`
 18478  
 18479  	// Use this setting for interlaced outputs, when your output frame rate is half
 18480  	// of your input frame rate. In this situation, choose Optimized interlacing
 18481  	// (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this
 18482  	// case, each progressive frame from the input corresponds to an interlaced
 18483  	// field in the output. Keep the default value, Basic interlacing (INTERLACED),
 18484  	// for all other output frame rates. With basic interlacing, MediaConvert performs
 18485  	// any frame rate conversion first and then interlaces the frames. When you
 18486  	// choose Optimized interlacing and you set your output frame rate to a value
 18487  	// that isn't suitable for optimized interlacing, MediaConvert automatically
 18488  	// falls back to basic interlacing. Required settings: To use optimized interlacing,
 18489  	// you must set Telecine (telecine) to None (NONE) or Soft (SOFT). You can't
 18490  	// use optimized interlacing for hard telecine outputs. You must also set Interlace
 18491  	// mode (interlaceMode) to a value other than Progressive (PROGRESSIVE).
 18492  	ScanTypeConversionMode *string `locationName:"scanTypeConversionMode" type:"string" enum:"Mpeg2ScanTypeConversionMode"`
 18493  
 18494  	// Enable this setting to insert I-frames at scene changes that the service
 18495  	// automatically detects. This improves video quality and is enabled by default.
 18496  	SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"Mpeg2SceneChangeDetect"`
 18497  
 18498  	// Ignore this setting unless your input frame rate is 23.976 or 24 frames per
 18499  	// second (fps). Enable slow PAL to create a 25 fps output. When you enable
 18500  	// slow PAL, MediaConvert relabels the video frames to 25 fps and resamples
 18501  	// your audio to keep it synchronized with the video. Note that enabling this
 18502  	// setting will slightly reduce the duration of your video. Required settings:
 18503  	// You must also set Framerate to 25. In your JSON job specification, set (framerateControl)
 18504  	// to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to
 18505  	// 1.
 18506  	SlowPal *string `locationName:"slowPal" type:"string" enum:"Mpeg2SlowPal"`
 18507  
 18508  	// Ignore this setting unless you need to comply with a specification that requires
 18509  	// a specific value. If you don't have a specification requirement, we recommend
 18510  	// that you adjust the softness of your output by using a lower value for the
 18511  	// setting Sharpness (sharpness) or by enabling a noise reducer filter (noiseReducerFilter).
 18512  	// The Softness (softness) setting specifies the quantization matrices that
 18513  	// the encoder uses. Keep the default value, 0, to use the AWS Elemental default
 18514  	// matrices. Choose a value from 17 to 128 to use planar interpolation. Increasing
 18515  	// values from 17 to 128 result in increasing reduction of high-frequency data.
 18516  	// The value 128 results in the softest video.
 18517  	Softness *int64 `locationName:"softness" type:"integer"`
 18518  
 18519  	// Keep the default value, Enabled (ENABLED), to adjust quantization within
 18520  	// each frame based on spatial variation of content complexity. When you enable
 18521  	// this feature, the encoder uses fewer bits on areas that can sustain more
 18522  	// distortion with no noticeable visual degradation and uses more bits on areas
 18523  	// where any small distortion will be noticeable. For example, complex textured
 18524  	// blocks are encoded with fewer bits and smooth textured blocks are encoded
 18525  	// with more bits. Enabling this feature will almost always improve your video
 18526  	// quality. Note, though, that this feature doesn't take into account where
 18527  	// the viewer's attention is likely to be. If viewers are likely to be focusing
 18528  	// their attention on a part of the screen with a lot of complex texture, you
 18529  	// might choose to disable this feature. Related setting: When you enable spatial
 18530  	// adaptive quantization, set the value for Adaptive quantization (adaptiveQuantization)
 18531  	// depending on your content. For homogeneous content, such as cartoons and
 18532  	// video games, set it to Low. For content with a wider variety of textures,
 18533  	// set it to High or Higher.
 18534  	SpatialAdaptiveQuantization *string `locationName:"spatialAdaptiveQuantization" type:"string" enum:"Mpeg2SpatialAdaptiveQuantization"`
 18535  
 18536  	// Specify whether this output's video uses the D10 syntax. Keep the default
 18537  	// value to not use the syntax. Related settings: When you choose D10 (D_10)
 18538  	// for your MXF profile (profile), you must also set this value to to D10 (D_10).
 18539  	Syntax *string `locationName:"syntax" type:"string" enum:"Mpeg2Syntax"`
 18540  
 18541  	// When you do frame rate conversion from 23.976 frames per second (fps) to
 18542  	// 29.97 fps, and your output scan type is interlaced, you can optionally enable
 18543  	// hard or soft telecine to create a smoother picture. Hard telecine (HARD)
 18544  	// produces a 29.97i output. Soft telecine (SOFT) produces an output with a
 18545  	// 23.976 output that signals to the video player device to do the conversion
 18546  	// during play back. When you keep the default value, None (NONE), MediaConvert
 18547  	// does a standard frame rate conversion to 29.97 without doing anything with
 18548  	// the field polarity to create a smoother picture.
 18549  	Telecine *string `locationName:"telecine" type:"string" enum:"Mpeg2Telecine"`
 18550  
 18551  	// Keep the default value, Enabled (ENABLED), to adjust quantization within
 18552  	// each frame based on temporal variation of content complexity. When you enable
 18553  	// this feature, the encoder uses fewer bits on areas of the frame that aren't
 18554  	// moving and uses more bits on complex objects with sharp edges that move a
 18555  	// lot. For example, this feature improves the readability of text tickers on
 18556  	// newscasts and scoreboards on sports matches. Enabling this feature will almost
 18557  	// always improve your video quality. Note, though, that this feature doesn't
 18558  	// take into account where the viewer's attention is likely to be. If viewers
 18559  	// are likely to be focusing their attention on a part of the screen that doesn't
 18560  	// have moving objects with sharp edges, such as sports athletes' faces, you
 18561  	// might choose to disable this feature. Related setting: When you enable temporal
 18562  	// quantization, adjust the strength of the filter with the setting Adaptive
 18563  	// quantization (adaptiveQuantization).
 18564  	TemporalAdaptiveQuantization *string `locationName:"temporalAdaptiveQuantization" type:"string" enum:"Mpeg2TemporalAdaptiveQuantization"`
 18565  }
 18566  
 18567  // String returns the string representation.
 18568  //
 18569  // API parameter values that are decorated as "sensitive" in the API will not
 18570  // be included in the string output. The member name will be present, but the
 18571  // value will be replaced with "sensitive".
 18572  func (s Mpeg2Settings) String() string {
 18573  	return awsutil.Prettify(s)
 18574  }
 18575  
 18576  // GoString returns the string representation.
 18577  //
 18578  // API parameter values that are decorated as "sensitive" in the API will not
 18579  // be included in the string output. The member name will be present, but the
 18580  // value will be replaced with "sensitive".
 18581  func (s Mpeg2Settings) GoString() string {
 18582  	return s.String()
 18583  }
 18584  
 18585  // Validate inspects the fields of the type to determine if they are valid.
 18586  func (s *Mpeg2Settings) Validate() error {
 18587  	invalidParams := request.ErrInvalidParams{Context: "Mpeg2Settings"}
 18588  	if s.Bitrate != nil && *s.Bitrate < 1000 {
 18589  		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000))
 18590  	}
 18591  	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
 18592  		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
 18593  	}
 18594  	if s.FramerateNumerator != nil && *s.FramerateNumerator < 24 {
 18595  		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 24))
 18596  	}
 18597  	if s.MaxBitrate != nil && *s.MaxBitrate < 1000 {
 18598  		invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000))
 18599  	}
 18600  	if s.ParDenominator != nil && *s.ParDenominator < 1 {
 18601  		invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1))
 18602  	}
 18603  	if s.ParNumerator != nil && *s.ParNumerator < 1 {
 18604  		invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1))
 18605  	}
 18606  
 18607  	if invalidParams.Len() > 0 {
 18608  		return invalidParams
 18609  	}
 18610  	return nil
 18611  }
 18612  
 18613  // SetAdaptiveQuantization sets the AdaptiveQuantization field's value.
 18614  func (s *Mpeg2Settings) SetAdaptiveQuantization(v string) *Mpeg2Settings {
 18615  	s.AdaptiveQuantization = &v
 18616  	return s
 18617  }
 18618  
 18619  // SetBitrate sets the Bitrate field's value.
 18620  func (s *Mpeg2Settings) SetBitrate(v int64) *Mpeg2Settings {
 18621  	s.Bitrate = &v
 18622  	return s
 18623  }
 18624  
 18625  // SetCodecLevel sets the CodecLevel field's value.
 18626  func (s *Mpeg2Settings) SetCodecLevel(v string) *Mpeg2Settings {
 18627  	s.CodecLevel = &v
 18628  	return s
 18629  }
 18630  
 18631  // SetCodecProfile sets the CodecProfile field's value.
 18632  func (s *Mpeg2Settings) SetCodecProfile(v string) *Mpeg2Settings {
 18633  	s.CodecProfile = &v
 18634  	return s
 18635  }
 18636  
 18637  // SetDynamicSubGop sets the DynamicSubGop field's value.
 18638  func (s *Mpeg2Settings) SetDynamicSubGop(v string) *Mpeg2Settings {
 18639  	s.DynamicSubGop = &v
 18640  	return s
 18641  }
 18642  
 18643  // SetFramerateControl sets the FramerateControl field's value.
 18644  func (s *Mpeg2Settings) SetFramerateControl(v string) *Mpeg2Settings {
 18645  	s.FramerateControl = &v
 18646  	return s
 18647  }
 18648  
 18649  // SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value.
 18650  func (s *Mpeg2Settings) SetFramerateConversionAlgorithm(v string) *Mpeg2Settings {
 18651  	s.FramerateConversionAlgorithm = &v
 18652  	return s
 18653  }
 18654  
 18655  // SetFramerateDenominator sets the FramerateDenominator field's value.
 18656  func (s *Mpeg2Settings) SetFramerateDenominator(v int64) *Mpeg2Settings {
 18657  	s.FramerateDenominator = &v
 18658  	return s
 18659  }
 18660  
 18661  // SetFramerateNumerator sets the FramerateNumerator field's value.
 18662  func (s *Mpeg2Settings) SetFramerateNumerator(v int64) *Mpeg2Settings {
 18663  	s.FramerateNumerator = &v
 18664  	return s
 18665  }
 18666  
 18667  // SetGopClosedCadence sets the GopClosedCadence field's value.
 18668  func (s *Mpeg2Settings) SetGopClosedCadence(v int64) *Mpeg2Settings {
 18669  	s.GopClosedCadence = &v
 18670  	return s
 18671  }
 18672  
 18673  // SetGopSize sets the GopSize field's value.
 18674  func (s *Mpeg2Settings) SetGopSize(v float64) *Mpeg2Settings {
 18675  	s.GopSize = &v
 18676  	return s
 18677  }
 18678  
 18679  // SetGopSizeUnits sets the GopSizeUnits field's value.
 18680  func (s *Mpeg2Settings) SetGopSizeUnits(v string) *Mpeg2Settings {
 18681  	s.GopSizeUnits = &v
 18682  	return s
 18683  }
 18684  
 18685  // SetHrdBufferInitialFillPercentage sets the HrdBufferInitialFillPercentage field's value.
 18686  func (s *Mpeg2Settings) SetHrdBufferInitialFillPercentage(v int64) *Mpeg2Settings {
 18687  	s.HrdBufferInitialFillPercentage = &v
 18688  	return s
 18689  }
 18690  
 18691  // SetHrdBufferSize sets the HrdBufferSize field's value.
 18692  func (s *Mpeg2Settings) SetHrdBufferSize(v int64) *Mpeg2Settings {
 18693  	s.HrdBufferSize = &v
 18694  	return s
 18695  }
 18696  
 18697  // SetInterlaceMode sets the InterlaceMode field's value.
 18698  func (s *Mpeg2Settings) SetInterlaceMode(v string) *Mpeg2Settings {
 18699  	s.InterlaceMode = &v
 18700  	return s
 18701  }
 18702  
 18703  // SetIntraDcPrecision sets the IntraDcPrecision field's value.
 18704  func (s *Mpeg2Settings) SetIntraDcPrecision(v string) *Mpeg2Settings {
 18705  	s.IntraDcPrecision = &v
 18706  	return s
 18707  }
 18708  
 18709  // SetMaxBitrate sets the MaxBitrate field's value.
 18710  func (s *Mpeg2Settings) SetMaxBitrate(v int64) *Mpeg2Settings {
 18711  	s.MaxBitrate = &v
 18712  	return s
 18713  }
 18714  
 18715  // SetMinIInterval sets the MinIInterval field's value.
 18716  func (s *Mpeg2Settings) SetMinIInterval(v int64) *Mpeg2Settings {
 18717  	s.MinIInterval = &v
 18718  	return s
 18719  }
 18720  
 18721  // SetNumberBFramesBetweenReferenceFrames sets the NumberBFramesBetweenReferenceFrames field's value.
 18722  func (s *Mpeg2Settings) SetNumberBFramesBetweenReferenceFrames(v int64) *Mpeg2Settings {
 18723  	s.NumberBFramesBetweenReferenceFrames = &v
 18724  	return s
 18725  }
 18726  
 18727  // SetParControl sets the ParControl field's value.
 18728  func (s *Mpeg2Settings) SetParControl(v string) *Mpeg2Settings {
 18729  	s.ParControl = &v
 18730  	return s
 18731  }
 18732  
 18733  // SetParDenominator sets the ParDenominator field's value.
 18734  func (s *Mpeg2Settings) SetParDenominator(v int64) *Mpeg2Settings {
 18735  	s.ParDenominator = &v
 18736  	return s
 18737  }
 18738  
 18739  // SetParNumerator sets the ParNumerator field's value.
 18740  func (s *Mpeg2Settings) SetParNumerator(v int64) *Mpeg2Settings {
 18741  	s.ParNumerator = &v
 18742  	return s
 18743  }
 18744  
 18745  // SetQualityTuningLevel sets the QualityTuningLevel field's value.
 18746  func (s *Mpeg2Settings) SetQualityTuningLevel(v string) *Mpeg2Settings {
 18747  	s.QualityTuningLevel = &v
 18748  	return s
 18749  }
 18750  
 18751  // SetRateControlMode sets the RateControlMode field's value.
 18752  func (s *Mpeg2Settings) SetRateControlMode(v string) *Mpeg2Settings {
 18753  	s.RateControlMode = &v
 18754  	return s
 18755  }
 18756  
 18757  // SetScanTypeConversionMode sets the ScanTypeConversionMode field's value.
 18758  func (s *Mpeg2Settings) SetScanTypeConversionMode(v string) *Mpeg2Settings {
 18759  	s.ScanTypeConversionMode = &v
 18760  	return s
 18761  }
 18762  
 18763  // SetSceneChangeDetect sets the SceneChangeDetect field's value.
 18764  func (s *Mpeg2Settings) SetSceneChangeDetect(v string) *Mpeg2Settings {
 18765  	s.SceneChangeDetect = &v
 18766  	return s
 18767  }
 18768  
 18769  // SetSlowPal sets the SlowPal field's value.
 18770  func (s *Mpeg2Settings) SetSlowPal(v string) *Mpeg2Settings {
 18771  	s.SlowPal = &v
 18772  	return s
 18773  }
 18774  
 18775  // SetSoftness sets the Softness field's value.
 18776  func (s *Mpeg2Settings) SetSoftness(v int64) *Mpeg2Settings {
 18777  	s.Softness = &v
 18778  	return s
 18779  }
 18780  
 18781  // SetSpatialAdaptiveQuantization sets the SpatialAdaptiveQuantization field's value.
 18782  func (s *Mpeg2Settings) SetSpatialAdaptiveQuantization(v string) *Mpeg2Settings {
 18783  	s.SpatialAdaptiveQuantization = &v
 18784  	return s
 18785  }
 18786  
 18787  // SetSyntax sets the Syntax field's value.
 18788  func (s *Mpeg2Settings) SetSyntax(v string) *Mpeg2Settings {
 18789  	s.Syntax = &v
 18790  	return s
 18791  }
 18792  
 18793  // SetTelecine sets the Telecine field's value.
 18794  func (s *Mpeg2Settings) SetTelecine(v string) *Mpeg2Settings {
 18795  	s.Telecine = &v
 18796  	return s
 18797  }
 18798  
 18799  // SetTemporalAdaptiveQuantization sets the TemporalAdaptiveQuantization field's value.
 18800  func (s *Mpeg2Settings) SetTemporalAdaptiveQuantization(v string) *Mpeg2Settings {
 18801  	s.TemporalAdaptiveQuantization = &v
 18802  	return s
 18803  }
 18804  
 18805  // Specify the details for each additional Microsoft Smooth Streaming manifest
 18806  // that you want the service to generate for this output group. Each manifest
 18807  // can reference a different subset of outputs in the group.
 18808  type MsSmoothAdditionalManifest struct {
 18809  	_ struct{} `type:"structure"`
 18810  
 18811  	// Specify a name modifier that the service adds to the name of this manifest
 18812  	// to make it different from the file names of the other main manifests in the
 18813  	// output group. For example, say that the default main manifest for your Microsoft
 18814  	// Smooth group is film-name.ismv. If you enter "-no-premium" for this setting,
 18815  	// then the file name the service generates for this top-level manifest is film-name-no-premium.ismv.
 18816  	ManifestNameModifier *string `locationName:"manifestNameModifier" min:"1" type:"string"`
 18817  
 18818  	// Specify the outputs that you want this additional top-level manifest to reference.
 18819  	SelectedOutputs []*string `locationName:"selectedOutputs" type:"list"`
 18820  }
 18821  
 18822  // String returns the string representation.
 18823  //
 18824  // API parameter values that are decorated as "sensitive" in the API will not
 18825  // be included in the string output. The member name will be present, but the
 18826  // value will be replaced with "sensitive".
 18827  func (s MsSmoothAdditionalManifest) String() string {
 18828  	return awsutil.Prettify(s)
 18829  }
 18830  
 18831  // GoString returns the string representation.
 18832  //
 18833  // API parameter values that are decorated as "sensitive" in the API will not
 18834  // be included in the string output. The member name will be present, but the
 18835  // value will be replaced with "sensitive".
 18836  func (s MsSmoothAdditionalManifest) GoString() string {
 18837  	return s.String()
 18838  }
 18839  
 18840  // Validate inspects the fields of the type to determine if they are valid.
 18841  func (s *MsSmoothAdditionalManifest) Validate() error {
 18842  	invalidParams := request.ErrInvalidParams{Context: "MsSmoothAdditionalManifest"}
 18843  	if s.ManifestNameModifier != nil && len(*s.ManifestNameModifier) < 1 {
 18844  		invalidParams.Add(request.NewErrParamMinLen("ManifestNameModifier", 1))
 18845  	}
 18846  
 18847  	if invalidParams.Len() > 0 {
 18848  		return invalidParams
 18849  	}
 18850  	return nil
 18851  }
 18852  
 18853  // SetManifestNameModifier sets the ManifestNameModifier field's value.
 18854  func (s *MsSmoothAdditionalManifest) SetManifestNameModifier(v string) *MsSmoothAdditionalManifest {
 18855  	s.ManifestNameModifier = &v
 18856  	return s
 18857  }
 18858  
 18859  // SetSelectedOutputs sets the SelectedOutputs field's value.
 18860  func (s *MsSmoothAdditionalManifest) SetSelectedOutputs(v []*string) *MsSmoothAdditionalManifest {
 18861  	s.SelectedOutputs = v
 18862  	return s
 18863  }
 18864  
 18865  // If you are using DRM, set DRM System (MsSmoothEncryptionSettings) to specify
 18866  // the value SpekeKeyProvider.
 18867  type MsSmoothEncryptionSettings struct {
 18868  	_ struct{} `type:"structure"`
 18869  
 18870  	// If your output group type is HLS, DASH, or Microsoft Smooth, use these settings
 18871  	// when doing DRM encryption with a SPEKE-compliant key provider. If your output
 18872  	// group type is CMAF, use the SpekeKeyProviderCmaf settings instead.
 18873  	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure"`
 18874  }
 18875  
 18876  // String returns the string representation.
 18877  //
 18878  // API parameter values that are decorated as "sensitive" in the API will not
 18879  // be included in the string output. The member name will be present, but the
 18880  // value will be replaced with "sensitive".
 18881  func (s MsSmoothEncryptionSettings) String() string {
 18882  	return awsutil.Prettify(s)
 18883  }
 18884  
 18885  // GoString returns the string representation.
 18886  //
 18887  // API parameter values that are decorated as "sensitive" in the API will not
 18888  // be included in the string output. The member name will be present, but the
 18889  // value will be replaced with "sensitive".
 18890  func (s MsSmoothEncryptionSettings) GoString() string {
 18891  	return s.String()
 18892  }
 18893  
 18894  // SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
 18895  func (s *MsSmoothEncryptionSettings) SetSpekeKeyProvider(v *SpekeKeyProvider) *MsSmoothEncryptionSettings {
 18896  	s.SpekeKeyProvider = v
 18897  	return s
 18898  }
 18899  
 18900  // Settings related to your Microsoft Smooth Streaming output package. For more
 18901  // information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/outputs-file-ABR.html.
 18902  // When you work directly in your JSON job specification, include this object
 18903  // and any required children when you set Type, under OutputGroupSettings, to
 18904  // MS_SMOOTH_GROUP_SETTINGS.
 18905  type MsSmoothGroupSettings struct {
 18906  	_ struct{} `type:"structure"`
 18907  
 18908  	// By default, the service creates one .ism Microsoft Smooth Streaming manifest
 18909  	// for each Microsoft Smooth Streaming output group in your job. This default
 18910  	// manifest references every output in the output group. To create additional
 18911  	// manifests that reference a subset of the outputs in the output group, specify
 18912  	// a list of them here.
 18913  	AdditionalManifests []*MsSmoothAdditionalManifest `locationName:"additionalManifests" type:"list"`
 18914  
 18915  	// COMBINE_DUPLICATE_STREAMS combines identical audio encoding settings across
 18916  	// a Microsoft Smooth output group into a single audio stream.
 18917  	AudioDeduplication *string `locationName:"audioDeduplication" type:"string" enum:"MsSmoothAudioDeduplication"`
 18918  
 18919  	// Use Destination (Destination) to specify the S3 output location and the output
 18920  	// filename base. Destination accepts format identifiers. If you do not specify
 18921  	// the base filename in the URI, the service will use the filename of the input
 18922  	// file. If your job has multiple inputs, the service uses the filename of the
 18923  	// first input file.
 18924  	Destination *string `locationName:"destination" type:"string"`
 18925  
 18926  	// Settings associated with the destination. Will vary based on the type of
 18927  	// destination
 18928  	DestinationSettings *DestinationSettings `locationName:"destinationSettings" type:"structure"`
 18929  
 18930  	// If you are using DRM, set DRM System (MsSmoothEncryptionSettings) to specify
 18931  	// the value SpekeKeyProvider.
 18932  	Encryption *MsSmoothEncryptionSettings `locationName:"encryption" type:"structure"`
 18933  
 18934  	// Specify how you want MediaConvert to determine the fragment length. Choose
 18935  	// Exact (EXACT) to have the encoder use the exact length that you specify with
 18936  	// the setting Fragment length (FragmentLength). This might result in extra
 18937  	// I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have the encoder round
 18938  	// up the segment lengths to match the next GOP boundary.
 18939  	FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer"`
 18940  
 18941  	// Specify how you want MediaConvert to determine the fragment length. Choose
 18942  	// Exact (EXACT) to have the encoder use the exact length that you specify with
 18943  	// the setting Fragment length (FragmentLength). This might result in extra
 18944  	// I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have the encoder round
 18945  	// up the segment lengths to match the next GOP boundary.
 18946  	FragmentLengthControl *string `locationName:"fragmentLengthControl" type:"string" enum:"MsSmoothFragmentLengthControl"`
 18947  
 18948  	// Use Manifest encoding (MsSmoothManifestEncoding) to specify the encoding
 18949  	// format for the server and client manifest. Valid options are utf8 and utf16.
 18950  	ManifestEncoding *string `locationName:"manifestEncoding" type:"string" enum:"MsSmoothManifestEncoding"`
 18951  }
 18952  
 18953  // String returns the string representation.
 18954  //
 18955  // API parameter values that are decorated as "sensitive" in the API will not
 18956  // be included in the string output. The member name will be present, but the
 18957  // value will be replaced with "sensitive".
 18958  func (s MsSmoothGroupSettings) String() string {
 18959  	return awsutil.Prettify(s)
 18960  }
 18961  
 18962  // GoString returns the string representation.
 18963  //
 18964  // API parameter values that are decorated as "sensitive" in the API will not
 18965  // be included in the string output. The member name will be present, but the
 18966  // value will be replaced with "sensitive".
 18967  func (s MsSmoothGroupSettings) GoString() string {
 18968  	return s.String()
 18969  }
 18970  
 18971  // Validate inspects the fields of the type to determine if they are valid.
 18972  func (s *MsSmoothGroupSettings) Validate() error {
 18973  	invalidParams := request.ErrInvalidParams{Context: "MsSmoothGroupSettings"}
 18974  	if s.FragmentLength != nil && *s.FragmentLength < 1 {
 18975  		invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1))
 18976  	}
 18977  	if s.AdditionalManifests != nil {
 18978  		for i, v := range s.AdditionalManifests {
 18979  			if v == nil {
 18980  				continue
 18981  			}
 18982  			if err := v.Validate(); err != nil {
 18983  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalManifests", i), err.(request.ErrInvalidParams))
 18984  			}
 18985  		}
 18986  	}
 18987  
 18988  	if invalidParams.Len() > 0 {
 18989  		return invalidParams
 18990  	}
 18991  	return nil
 18992  }
 18993  
 18994  // SetAdditionalManifests sets the AdditionalManifests field's value.
 18995  func (s *MsSmoothGroupSettings) SetAdditionalManifests(v []*MsSmoothAdditionalManifest) *MsSmoothGroupSettings {
 18996  	s.AdditionalManifests = v
 18997  	return s
 18998  }
 18999  
 19000  // SetAudioDeduplication sets the AudioDeduplication field's value.
 19001  func (s *MsSmoothGroupSettings) SetAudioDeduplication(v string) *MsSmoothGroupSettings {
 19002  	s.AudioDeduplication = &v
 19003  	return s
 19004  }
 19005  
 19006  // SetDestination sets the Destination field's value.
 19007  func (s *MsSmoothGroupSettings) SetDestination(v string) *MsSmoothGroupSettings {
 19008  	s.Destination = &v
 19009  	return s
 19010  }
 19011  
 19012  // SetDestinationSettings sets the DestinationSettings field's value.
 19013  func (s *MsSmoothGroupSettings) SetDestinationSettings(v *DestinationSettings) *MsSmoothGroupSettings {
 19014  	s.DestinationSettings = v
 19015  	return s
 19016  }
 19017  
 19018  // SetEncryption sets the Encryption field's value.
 19019  func (s *MsSmoothGroupSettings) SetEncryption(v *MsSmoothEncryptionSettings) *MsSmoothGroupSettings {
 19020  	s.Encryption = v
 19021  	return s
 19022  }
 19023  
 19024  // SetFragmentLength sets the FragmentLength field's value.
 19025  func (s *MsSmoothGroupSettings) SetFragmentLength(v int64) *MsSmoothGroupSettings {
 19026  	s.FragmentLength = &v
 19027  	return s
 19028  }
 19029  
 19030  // SetFragmentLengthControl sets the FragmentLengthControl field's value.
 19031  func (s *MsSmoothGroupSettings) SetFragmentLengthControl(v string) *MsSmoothGroupSettings {
 19032  	s.FragmentLengthControl = &v
 19033  	return s
 19034  }
 19035  
 19036  // SetManifestEncoding sets the ManifestEncoding field's value.
 19037  func (s *MsSmoothGroupSettings) SetManifestEncoding(v string) *MsSmoothGroupSettings {
 19038  	s.ManifestEncoding = &v
 19039  	return s
 19040  }
 19041  
 19042  // These settings relate to your MXF output container.
 19043  type MxfSettings struct {
 19044  	_ struct{} `type:"structure"`
 19045  
 19046  	// Optional. When you have AFD signaling set up in your output video stream,
 19047  	// use this setting to choose whether to also include it in the MXF wrapper.
 19048  	// Choose Don't copy (NO_COPY) to exclude AFD signaling from the MXF wrapper.
 19049  	// Choose Copy from video stream (COPY_FROM_VIDEO) to copy the AFD values from
 19050  	// the video stream for this output to the MXF wrapper. Regardless of which
 19051  	// option you choose, the AFD values remain in the video stream. Related settings:
 19052  	// To set up your output to include or exclude AFD values, see AfdSignaling,
 19053  	// under VideoDescription. On the console, find AFD signaling under the output's
 19054  	// video encoding settings.
 19055  	AfdSignaling *string `locationName:"afdSignaling" type:"string" enum:"MxfAfdSignaling"`
 19056  
 19057  	// Specify the MXF profile, also called shim, for this output. When you choose
 19058  	// Auto, MediaConvert chooses a profile based on the video codec and resolution.
 19059  	// For a list of codecs supported with each MXF profile, see https://docs.aws.amazon.com/mediaconvert/latest/ug/codecs-supported-with-each-mxf-profile.html.
 19060  	// For more information about the automatic selection behavior, see https://docs.aws.amazon.com/mediaconvert/latest/ug/default-automatic-selection-of-mxf-profiles.html.
 19061  	Profile *string `locationName:"profile" type:"string" enum:"MxfProfile"`
 19062  
 19063  	// Specify the XAVC profile settings for MXF outputs when you set your MXF profile
 19064  	// to XAVC.
 19065  	XavcProfileSettings *MxfXavcProfileSettings `locationName:"xavcProfileSettings" type:"structure"`
 19066  }
 19067  
 19068  // String returns the string representation.
 19069  //
 19070  // API parameter values that are decorated as "sensitive" in the API will not
 19071  // be included in the string output. The member name will be present, but the
 19072  // value will be replaced with "sensitive".
 19073  func (s MxfSettings) String() string {
 19074  	return awsutil.Prettify(s)
 19075  }
 19076  
 19077  // GoString returns the string representation.
 19078  //
 19079  // API parameter values that are decorated as "sensitive" in the API will not
 19080  // be included in the string output. The member name will be present, but the
 19081  // value will be replaced with "sensitive".
 19082  func (s MxfSettings) GoString() string {
 19083  	return s.String()
 19084  }
 19085  
 19086  // SetAfdSignaling sets the AfdSignaling field's value.
 19087  func (s *MxfSettings) SetAfdSignaling(v string) *MxfSettings {
 19088  	s.AfdSignaling = &v
 19089  	return s
 19090  }
 19091  
 19092  // SetProfile sets the Profile field's value.
 19093  func (s *MxfSettings) SetProfile(v string) *MxfSettings {
 19094  	s.Profile = &v
 19095  	return s
 19096  }
 19097  
 19098  // SetXavcProfileSettings sets the XavcProfileSettings field's value.
 19099  func (s *MxfSettings) SetXavcProfileSettings(v *MxfXavcProfileSettings) *MxfSettings {
 19100  	s.XavcProfileSettings = v
 19101  	return s
 19102  }
 19103  
 19104  // Specify the XAVC profile settings for MXF outputs when you set your MXF profile
 19105  // to XAVC.
 19106  type MxfXavcProfileSettings struct {
 19107  	_ struct{} `type:"structure"`
 19108  
 19109  	// To create an output that complies with the XAVC file format guidelines for
 19110  	// interoperability, keep the default value, Drop frames for compliance (DROP_FRAMES_FOR_COMPLIANCE).
 19111  	// To include all frames from your input in this output, keep the default setting,
 19112  	// Allow any duration (ALLOW_ANY_DURATION). The number of frames that MediaConvert
 19113  	// excludes when you set this to Drop frames for compliance depends on the output
 19114  	// frame rate and duration.
 19115  	DurationMode *string `locationName:"durationMode" type:"string" enum:"MxfXavcDurationMode"`
 19116  
 19117  	// Specify a value for this setting only for outputs that you set up with one
 19118  	// of these two XAVC profiles: XAVC HD Intra CBG (XAVC_HD_INTRA_CBG) or XAVC
 19119  	// 4K Intra CBG (XAVC_4K_INTRA_CBG). Specify the amount of space in each frame
 19120  	// that the service reserves for ancillary data, such as teletext captions.
 19121  	// The default value for this setting is 1492 bytes per frame. This should be
 19122  	// sufficient to prevent overflow unless you have multiple pages of teletext
 19123  	// captions data. If you have a large amount of teletext data, specify a larger
 19124  	// number.
 19125  	MaxAncDataSize *int64 `locationName:"maxAncDataSize" type:"integer"`
 19126  }
 19127  
 19128  // String returns the string representation.
 19129  //
 19130  // API parameter values that are decorated as "sensitive" in the API will not
 19131  // be included in the string output. The member name will be present, but the
 19132  // value will be replaced with "sensitive".
 19133  func (s MxfXavcProfileSettings) String() string {
 19134  	return awsutil.Prettify(s)
 19135  }
 19136  
 19137  // GoString returns the string representation.
 19138  //
 19139  // API parameter values that are decorated as "sensitive" in the API will not
 19140  // be included in the string output. The member name will be present, but the
 19141  // value will be replaced with "sensitive".
 19142  func (s MxfXavcProfileSettings) GoString() string {
 19143  	return s.String()
 19144  }
 19145  
 19146  // SetDurationMode sets the DurationMode field's value.
 19147  func (s *MxfXavcProfileSettings) SetDurationMode(v string) *MxfXavcProfileSettings {
 19148  	s.DurationMode = &v
 19149  	return s
 19150  }
 19151  
 19152  // SetMaxAncDataSize sets the MaxAncDataSize field's value.
 19153  func (s *MxfXavcProfileSettings) SetMaxAncDataSize(v int64) *MxfXavcProfileSettings {
 19154  	s.MaxAncDataSize = &v
 19155  	return s
 19156  }
 19157  
 19158  // For forensic video watermarking, MediaConvert supports Nagra NexGuard File
 19159  // Marker watermarking. MediaConvert supports both PreRelease Content (NGPR/G2)
 19160  // and OTT Streaming workflows.
 19161  type NexGuardFileMarkerSettings struct {
 19162  	_ struct{} `type:"structure"`
 19163  
 19164  	// Use the base64 license string that Nagra provides you. Enter it directly
 19165  	// in your JSON job specification or in the console. Required when you include
 19166  	// Nagra NexGuard File Marker watermarking (NexGuardWatermarkingSettings) in
 19167  	// your job.
 19168  	License *string `locationName:"license" min:"1" type:"string"`
 19169  
 19170  	// Specify the payload ID that you want associated with this output. Valid values
 19171  	// vary depending on your Nagra NexGuard forensic watermarking workflow. Required
 19172  	// when you include Nagra NexGuard File Marker watermarking (NexGuardWatermarkingSettings)
 19173  	// in your job. For PreRelease Content (NGPR/G2), specify an integer from 1
 19174  	// through 4,194,303. You must generate a unique ID for each asset you watermark,
 19175  	// and keep a record of which ID you have assigned to each asset. Neither Nagra
 19176  	// nor MediaConvert keep track of the relationship between output files and
 19177  	// your IDs. For OTT Streaming, create two adaptive bitrate (ABR) stacks for
 19178  	// each asset. Do this by setting up two output groups. For one output group,
 19179  	// set the value of Payload ID (payload) to 0 in every output. For the other
 19180  	// output group, set Payload ID (payload) to 1 in every output.
 19181  	Payload *int64 `locationName:"payload" type:"integer"`
 19182  
 19183  	// Enter one of the watermarking preset strings that Nagra provides you. Required
 19184  	// when you include Nagra NexGuard File Marker watermarking (NexGuardWatermarkingSettings)
 19185  	// in your job.
 19186  	Preset *string `locationName:"preset" min:"1" type:"string"`
 19187  
 19188  	// Optional. Ignore this setting unless Nagra support directs you to specify
 19189  	// a value. When you don't specify a value here, the Nagra NexGuard library
 19190  	// uses its default value.
 19191  	Strength *string `locationName:"strength" type:"string" enum:"WatermarkingStrength"`
 19192  }
 19193  
 19194  // String returns the string representation.
 19195  //
 19196  // API parameter values that are decorated as "sensitive" in the API will not
 19197  // be included in the string output. The member name will be present, but the
 19198  // value will be replaced with "sensitive".
 19199  func (s NexGuardFileMarkerSettings) String() string {
 19200  	return awsutil.Prettify(s)
 19201  }
 19202  
 19203  // GoString returns the string representation.
 19204  //
 19205  // API parameter values that are decorated as "sensitive" in the API will not
 19206  // be included in the string output. The member name will be present, but the
 19207  // value will be replaced with "sensitive".
 19208  func (s NexGuardFileMarkerSettings) GoString() string {
 19209  	return s.String()
 19210  }
 19211  
 19212  // Validate inspects the fields of the type to determine if they are valid.
 19213  func (s *NexGuardFileMarkerSettings) Validate() error {
 19214  	invalidParams := request.ErrInvalidParams{Context: "NexGuardFileMarkerSettings"}
 19215  	if s.License != nil && len(*s.License) < 1 {
 19216  		invalidParams.Add(request.NewErrParamMinLen("License", 1))
 19217  	}
 19218  	if s.Preset != nil && len(*s.Preset) < 1 {
 19219  		invalidParams.Add(request.NewErrParamMinLen("Preset", 1))
 19220  	}
 19221  
 19222  	if invalidParams.Len() > 0 {
 19223  		return invalidParams
 19224  	}
 19225  	return nil
 19226  }
 19227  
 19228  // SetLicense sets the License field's value.
 19229  func (s *NexGuardFileMarkerSettings) SetLicense(v string) *NexGuardFileMarkerSettings {
 19230  	s.License = &v
 19231  	return s
 19232  }
 19233  
 19234  // SetPayload sets the Payload field's value.
 19235  func (s *NexGuardFileMarkerSettings) SetPayload(v int64) *NexGuardFileMarkerSettings {
 19236  	s.Payload = &v
 19237  	return s
 19238  }
 19239  
 19240  // SetPreset sets the Preset field's value.
 19241  func (s *NexGuardFileMarkerSettings) SetPreset(v string) *NexGuardFileMarkerSettings {
 19242  	s.Preset = &v
 19243  	return s
 19244  }
 19245  
 19246  // SetStrength sets the Strength field's value.
 19247  func (s *NexGuardFileMarkerSettings) SetStrength(v string) *NexGuardFileMarkerSettings {
 19248  	s.Strength = &v
 19249  	return s
 19250  }
 19251  
 19252  // Settings for your Nielsen configuration. If you don't do Nielsen measurement
 19253  // and analytics, ignore these settings. When you enable Nielsen configuration
 19254  // (nielsenConfiguration), MediaConvert enables PCM to ID3 tagging for all outputs
 19255  // in the job. To enable Nielsen configuration programmatically, include an
 19256  // instance of nielsenConfiguration in your JSON job specification. Even if
 19257  // you don't include any children of nielsenConfiguration, you still enable
 19258  // the setting.
 19259  type NielsenConfiguration struct {
 19260  	_ struct{} `type:"structure"`
 19261  
 19262  	// Nielsen has discontinued the use of breakout code functionality. If you must
 19263  	// include this property, set the value to zero.
 19264  	BreakoutCode *int64 `locationName:"breakoutCode" type:"integer"`
 19265  
 19266  	// Use Distributor ID (DistributorID) to specify the distributor ID that is
 19267  	// assigned to your organization by Neilsen.
 19268  	DistributorId *string `locationName:"distributorId" type:"string"`
 19269  }
 19270  
 19271  // String returns the string representation.
 19272  //
 19273  // API parameter values that are decorated as "sensitive" in the API will not
 19274  // be included in the string output. The member name will be present, but the
 19275  // value will be replaced with "sensitive".
 19276  func (s NielsenConfiguration) String() string {
 19277  	return awsutil.Prettify(s)
 19278  }
 19279  
 19280  // GoString returns the string representation.
 19281  //
 19282  // API parameter values that are decorated as "sensitive" in the API will not
 19283  // be included in the string output. The member name will be present, but the
 19284  // value will be replaced with "sensitive".
 19285  func (s NielsenConfiguration) GoString() string {
 19286  	return s.String()
 19287  }
 19288  
 19289  // SetBreakoutCode sets the BreakoutCode field's value.
 19290  func (s *NielsenConfiguration) SetBreakoutCode(v int64) *NielsenConfiguration {
 19291  	s.BreakoutCode = &v
 19292  	return s
 19293  }
 19294  
 19295  // SetDistributorId sets the DistributorId field's value.
 19296  func (s *NielsenConfiguration) SetDistributorId(v string) *NielsenConfiguration {
 19297  	s.DistributorId = &v
 19298  	return s
 19299  }
 19300  
 19301  // Ignore these settings unless you are using Nielsen non-linear watermarking.
 19302  // Specify the values that MediaConvert uses to generate and place Nielsen watermarks
 19303  // in your output audio. In addition to specifying these values, you also need
 19304  // to set up your cloud TIC server. These settings apply to every output in
 19305  // your job. The MediaConvert implementation is currently with the following
 19306  // Nielsen versions: Nielsen Watermark SDK Version 5.2.1 Nielsen NLM Watermark
 19307  // Engine Version 1.2.7 Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0]
 19308  type NielsenNonLinearWatermarkSettings struct {
 19309  	_ struct{} `type:"structure"`
 19310  
 19311  	// Choose the type of Nielsen watermarks that you want in your outputs. When
 19312  	// you choose NAES 2 and NW (NAES2_AND_NW), you must provide a value for the
 19313  	// setting SID (sourceId). When you choose CBET (CBET), you must provide a value
 19314  	// for the setting CSID (cbetSourceId). When you choose NAES 2, NW, and CBET
 19315  	// (NAES2_AND_NW_AND_CBET), you must provide values for both of these settings.
 19316  	ActiveWatermarkProcess *string `locationName:"activeWatermarkProcess" type:"string" enum:"NielsenActiveWatermarkProcessType"`
 19317  
 19318  	// Optional. Use this setting when you want the service to include an ADI file
 19319  	// in the Nielsen metadata .zip file. To provide an ADI file, store it in Amazon
 19320  	// S3 and provide a URL to it here. The URL should be in the following format:
 19321  	// S3://bucket/path/ADI-file. For more information about the metadata .zip file,
 19322  	// see the setting Metadata destination (metadataDestination).
 19323  	AdiFilename *string `locationName:"adiFilename" type:"string"`
 19324  
 19325  	// Use the asset ID that you provide to Nielsen to uniquely identify this asset.
 19326  	// Required for all Nielsen non-linear watermarking.
 19327  	AssetId *string `locationName:"assetId" min:"1" type:"string"`
 19328  
 19329  	// Use the asset name that you provide to Nielsen for this asset. Required for
 19330  	// all Nielsen non-linear watermarking.
 19331  	AssetName *string `locationName:"assetName" min:"1" type:"string"`
 19332  
 19333  	// Use the CSID that Nielsen provides to you. This CBET source ID should be
 19334  	// unique to your Nielsen account but common to all of your output assets that
 19335  	// have CBET watermarking. Required when you choose a value for the setting
 19336  	// Watermark types (ActiveWatermarkProcess) that includes CBET.
 19337  	CbetSourceId *string `locationName:"cbetSourceId" type:"string"`
 19338  
 19339  	// Optional. If this asset uses an episode ID with Nielsen, provide it here.
 19340  	EpisodeId *string `locationName:"episodeId" min:"1" type:"string"`
 19341  
 19342  	// Specify the Amazon S3 location where you want MediaConvert to save your Nielsen
 19343  	// non-linear metadata .zip file. This Amazon S3 bucket must be in the same
 19344  	// Region as the one where you do your MediaConvert transcoding. If you want
 19345  	// to include an ADI file in this .zip file, use the setting ADI file (adiFilename)
 19346  	// to specify it. MediaConvert delivers the Nielsen metadata .zip files only
 19347  	// to your metadata destination Amazon S3 bucket. It doesn't deliver the .zip
 19348  	// files to Nielsen. You are responsible for delivering the metadata .zip files
 19349  	// to Nielsen.
 19350  	MetadataDestination *string `locationName:"metadataDestination" type:"string"`
 19351  
 19352  	// Use the SID that Nielsen provides to you. This source ID should be unique
 19353  	// to your Nielsen account but common to all of your output assets. Required
 19354  	// for all Nielsen non-linear watermarking. This ID should be unique to your
 19355  	// Nielsen account but common to all of your output assets. Required for all
 19356  	// Nielsen non-linear watermarking.
 19357  	SourceId *int64 `locationName:"sourceId" type:"integer"`
 19358  
 19359  	// Required. Specify whether your source content already contains Nielsen non-linear
 19360  	// watermarks. When you set this value to Watermarked (WATERMARKED), the service
 19361  	// fails the job. Nielsen requires that you add non-linear watermarking to only
 19362  	// clean content that doesn't already have non-linear Nielsen watermarks.
 19363  	SourceWatermarkStatus *string `locationName:"sourceWatermarkStatus" type:"string" enum:"NielsenSourceWatermarkStatusType"`
 19364  
 19365  	// Specify the endpoint for the TIC server that you have deployed and configured
 19366  	// in the AWS Cloud. Required for all Nielsen non-linear watermarking. MediaConvert
 19367  	// can't connect directly to a TIC server. Instead, you must use API Gateway
 19368  	// to provide a RESTful interface between MediaConvert and a TIC server that
 19369  	// you deploy in your AWS account. For more information on deploying a TIC server
 19370  	// in your AWS account and the required API Gateway, contact Nielsen support.
 19371  	TicServerUrl *string `locationName:"ticServerUrl" type:"string"`
 19372  
 19373  	// To create assets that have the same TIC values in each audio track, keep
 19374  	// the default value Share TICs (SAME_TICS_PER_TRACK). To create assets that
 19375  	// have unique TIC values for each audio track, choose Use unique TICs (RESERVE_UNIQUE_TICS_PER_TRACK).
 19376  	UniqueTicPerAudioTrack *string `locationName:"uniqueTicPerAudioTrack" type:"string" enum:"NielsenUniqueTicPerAudioTrackType"`
 19377  }
 19378  
 19379  // String returns the string representation.
 19380  //
 19381  // API parameter values that are decorated as "sensitive" in the API will not
 19382  // be included in the string output. The member name will be present, but the
 19383  // value will be replaced with "sensitive".
 19384  func (s NielsenNonLinearWatermarkSettings) String() string {
 19385  	return awsutil.Prettify(s)
 19386  }
 19387  
 19388  // GoString returns the string representation.
 19389  //
 19390  // API parameter values that are decorated as "sensitive" in the API will not
 19391  // be included in the string output. The member name will be present, but the
 19392  // value will be replaced with "sensitive".
 19393  func (s NielsenNonLinearWatermarkSettings) GoString() string {
 19394  	return s.String()
 19395  }
 19396  
 19397  // Validate inspects the fields of the type to determine if they are valid.
 19398  func (s *NielsenNonLinearWatermarkSettings) Validate() error {
 19399  	invalidParams := request.ErrInvalidParams{Context: "NielsenNonLinearWatermarkSettings"}
 19400  	if s.AssetId != nil && len(*s.AssetId) < 1 {
 19401  		invalidParams.Add(request.NewErrParamMinLen("AssetId", 1))
 19402  	}
 19403  	if s.AssetName != nil && len(*s.AssetName) < 1 {
 19404  		invalidParams.Add(request.NewErrParamMinLen("AssetName", 1))
 19405  	}
 19406  	if s.EpisodeId != nil && len(*s.EpisodeId) < 1 {
 19407  		invalidParams.Add(request.NewErrParamMinLen("EpisodeId", 1))
 19408  	}
 19409  
 19410  	if invalidParams.Len() > 0 {
 19411  		return invalidParams
 19412  	}
 19413  	return nil
 19414  }
 19415  
 19416  // SetActiveWatermarkProcess sets the ActiveWatermarkProcess field's value.
 19417  func (s *NielsenNonLinearWatermarkSettings) SetActiveWatermarkProcess(v string) *NielsenNonLinearWatermarkSettings {
 19418  	s.ActiveWatermarkProcess = &v
 19419  	return s
 19420  }
 19421  
 19422  // SetAdiFilename sets the AdiFilename field's value.
 19423  func (s *NielsenNonLinearWatermarkSettings) SetAdiFilename(v string) *NielsenNonLinearWatermarkSettings {
 19424  	s.AdiFilename = &v
 19425  	return s
 19426  }
 19427  
 19428  // SetAssetId sets the AssetId field's value.
 19429  func (s *NielsenNonLinearWatermarkSettings) SetAssetId(v string) *NielsenNonLinearWatermarkSettings {
 19430  	s.AssetId = &v
 19431  	return s
 19432  }
 19433  
 19434  // SetAssetName sets the AssetName field's value.
 19435  func (s *NielsenNonLinearWatermarkSettings) SetAssetName(v string) *NielsenNonLinearWatermarkSettings {
 19436  	s.AssetName = &v
 19437  	return s
 19438  }
 19439  
 19440  // SetCbetSourceId sets the CbetSourceId field's value.
 19441  func (s *NielsenNonLinearWatermarkSettings) SetCbetSourceId(v string) *NielsenNonLinearWatermarkSettings {
 19442  	s.CbetSourceId = &v
 19443  	return s
 19444  }
 19445  
 19446  // SetEpisodeId sets the EpisodeId field's value.
 19447  func (s *NielsenNonLinearWatermarkSettings) SetEpisodeId(v string) *NielsenNonLinearWatermarkSettings {
 19448  	s.EpisodeId = &v
 19449  	return s
 19450  }
 19451  
 19452  // SetMetadataDestination sets the MetadataDestination field's value.
 19453  func (s *NielsenNonLinearWatermarkSettings) SetMetadataDestination(v string) *NielsenNonLinearWatermarkSettings {
 19454  	s.MetadataDestination = &v
 19455  	return s
 19456  }
 19457  
 19458  // SetSourceId sets the SourceId field's value.
 19459  func (s *NielsenNonLinearWatermarkSettings) SetSourceId(v int64) *NielsenNonLinearWatermarkSettings {
 19460  	s.SourceId = &v
 19461  	return s
 19462  }
 19463  
 19464  // SetSourceWatermarkStatus sets the SourceWatermarkStatus field's value.
 19465  func (s *NielsenNonLinearWatermarkSettings) SetSourceWatermarkStatus(v string) *NielsenNonLinearWatermarkSettings {
 19466  	s.SourceWatermarkStatus = &v
 19467  	return s
 19468  }
 19469  
 19470  // SetTicServerUrl sets the TicServerUrl field's value.
 19471  func (s *NielsenNonLinearWatermarkSettings) SetTicServerUrl(v string) *NielsenNonLinearWatermarkSettings {
 19472  	s.TicServerUrl = &v
 19473  	return s
 19474  }
 19475  
 19476  // SetUniqueTicPerAudioTrack sets the UniqueTicPerAudioTrack field's value.
 19477  func (s *NielsenNonLinearWatermarkSettings) SetUniqueTicPerAudioTrack(v string) *NielsenNonLinearWatermarkSettings {
 19478  	s.UniqueTicPerAudioTrack = &v
 19479  	return s
 19480  }
 19481  
 19482  // Enable the Noise reducer (NoiseReducer) feature to remove noise from your
 19483  // video output if necessary. Enable or disable this feature for each output
 19484  // individually. This setting is disabled by default. When you enable Noise
 19485  // reducer (NoiseReducer), you must also select a value for Noise reducer filter
 19486  // (NoiseReducerFilter).
 19487  type NoiseReducer struct {
 19488  	_ struct{} `type:"structure"`
 19489  
 19490  	// Use Noise reducer filter (NoiseReducerFilter) to select one of the following
 19491  	// spatial image filtering functions. To use this setting, you must also enable
 19492  	// Noise reducer (NoiseReducer). * Bilateral preserves edges while reducing
 19493  	// noise. * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) do convolution
 19494  	// filtering. * Conserve does min/max noise reduction. * Spatial does frequency-domain
 19495  	// filtering based on JND principles. * Temporal optimizes video quality for
 19496  	// complex motion.
 19497  	Filter *string `locationName:"filter" type:"string" enum:"NoiseReducerFilter"`
 19498  
 19499  	// Settings for a noise reducer filter
 19500  	FilterSettings *NoiseReducerFilterSettings `locationName:"filterSettings" type:"structure"`
 19501  
 19502  	// Noise reducer filter settings for spatial filter.
 19503  	SpatialFilterSettings *NoiseReducerSpatialFilterSettings `locationName:"spatialFilterSettings" type:"structure"`
 19504  
 19505  	// Noise reducer filter settings for temporal filter.
 19506  	TemporalFilterSettings *NoiseReducerTemporalFilterSettings `locationName:"temporalFilterSettings" type:"structure"`
 19507  }
 19508  
 19509  // String returns the string representation.
 19510  //
 19511  // API parameter values that are decorated as "sensitive" in the API will not
 19512  // be included in the string output. The member name will be present, but the
 19513  // value will be replaced with "sensitive".
 19514  func (s NoiseReducer) String() string {
 19515  	return awsutil.Prettify(s)
 19516  }
 19517  
 19518  // GoString returns the string representation.
 19519  //
 19520  // API parameter values that are decorated as "sensitive" in the API will not
 19521  // be included in the string output. The member name will be present, but the
 19522  // value will be replaced with "sensitive".
 19523  func (s NoiseReducer) GoString() string {
 19524  	return s.String()
 19525  }
 19526  
 19527  // Validate inspects the fields of the type to determine if they are valid.
 19528  func (s *NoiseReducer) Validate() error {
 19529  	invalidParams := request.ErrInvalidParams{Context: "NoiseReducer"}
 19530  	if s.SpatialFilterSettings != nil {
 19531  		if err := s.SpatialFilterSettings.Validate(); err != nil {
 19532  			invalidParams.AddNested("SpatialFilterSettings", err.(request.ErrInvalidParams))
 19533  		}
 19534  	}
 19535  	if s.TemporalFilterSettings != nil {
 19536  		if err := s.TemporalFilterSettings.Validate(); err != nil {
 19537  			invalidParams.AddNested("TemporalFilterSettings", err.(request.ErrInvalidParams))
 19538  		}
 19539  	}
 19540  
 19541  	if invalidParams.Len() > 0 {
 19542  		return invalidParams
 19543  	}
 19544  	return nil
 19545  }
 19546  
 19547  // SetFilter sets the Filter field's value.
 19548  func (s *NoiseReducer) SetFilter(v string) *NoiseReducer {
 19549  	s.Filter = &v
 19550  	return s
 19551  }
 19552  
 19553  // SetFilterSettings sets the FilterSettings field's value.
 19554  func (s *NoiseReducer) SetFilterSettings(v *NoiseReducerFilterSettings) *NoiseReducer {
 19555  	s.FilterSettings = v
 19556  	return s
 19557  }
 19558  
 19559  // SetSpatialFilterSettings sets the SpatialFilterSettings field's value.
 19560  func (s *NoiseReducer) SetSpatialFilterSettings(v *NoiseReducerSpatialFilterSettings) *NoiseReducer {
 19561  	s.SpatialFilterSettings = v
 19562  	return s
 19563  }
 19564  
 19565  // SetTemporalFilterSettings sets the TemporalFilterSettings field's value.
 19566  func (s *NoiseReducer) SetTemporalFilterSettings(v *NoiseReducerTemporalFilterSettings) *NoiseReducer {
 19567  	s.TemporalFilterSettings = v
 19568  	return s
 19569  }
 19570  
 19571  // Settings for a noise reducer filter
 19572  type NoiseReducerFilterSettings struct {
 19573  	_ struct{} `type:"structure"`
 19574  
 19575  	// Relative strength of noise reducing filter. Higher values produce stronger
 19576  	// filtering.
 19577  	Strength *int64 `locationName:"strength" type:"integer"`
 19578  }
 19579  
 19580  // String returns the string representation.
 19581  //
 19582  // API parameter values that are decorated as "sensitive" in the API will not
 19583  // be included in the string output. The member name will be present, but the
 19584  // value will be replaced with "sensitive".
 19585  func (s NoiseReducerFilterSettings) String() string {
 19586  	return awsutil.Prettify(s)
 19587  }
 19588  
 19589  // GoString returns the string representation.
 19590  //
 19591  // API parameter values that are decorated as "sensitive" in the API will not
 19592  // be included in the string output. The member name will be present, but the
 19593  // value will be replaced with "sensitive".
 19594  func (s NoiseReducerFilterSettings) GoString() string {
 19595  	return s.String()
 19596  }
 19597  
 19598  // SetStrength sets the Strength field's value.
 19599  func (s *NoiseReducerFilterSettings) SetStrength(v int64) *NoiseReducerFilterSettings {
 19600  	s.Strength = &v
 19601  	return s
 19602  }
 19603  
 19604  // Noise reducer filter settings for spatial filter.
 19605  type NoiseReducerSpatialFilterSettings struct {
 19606  	_ struct{} `type:"structure"`
 19607  
 19608  	// Specify strength of post noise reduction sharpening filter, with 0 disabling
 19609  	// the filter and 3 enabling it at maximum strength.
 19610  	PostFilterSharpenStrength *int64 `locationName:"postFilterSharpenStrength" type:"integer"`
 19611  
 19612  	// The speed of the filter, from -2 (lower speed) to 3 (higher speed), with
 19613  	// 0 being the nominal value.
 19614  	Speed *int64 `locationName:"speed" type:"integer"`
 19615  
 19616  	// Relative strength of noise reducing filter. Higher values produce stronger
 19617  	// filtering.
 19618  	Strength *int64 `locationName:"strength" type:"integer"`
 19619  }
 19620  
 19621  // String returns the string representation.
 19622  //
 19623  // API parameter values that are decorated as "sensitive" in the API will not
 19624  // be included in the string output. The member name will be present, but the
 19625  // value will be replaced with "sensitive".
 19626  func (s NoiseReducerSpatialFilterSettings) String() string {
 19627  	return awsutil.Prettify(s)
 19628  }
 19629  
 19630  // GoString returns the string representation.
 19631  //
 19632  // API parameter values that are decorated as "sensitive" in the API will not
 19633  // be included in the string output. The member name will be present, but the
 19634  // value will be replaced with "sensitive".
 19635  func (s NoiseReducerSpatialFilterSettings) GoString() string {
 19636  	return s.String()
 19637  }
 19638  
 19639  // Validate inspects the fields of the type to determine if they are valid.
 19640  func (s *NoiseReducerSpatialFilterSettings) Validate() error {
 19641  	invalidParams := request.ErrInvalidParams{Context: "NoiseReducerSpatialFilterSettings"}
 19642  	if s.Speed != nil && *s.Speed < -2 {
 19643  		invalidParams.Add(request.NewErrParamMinValue("Speed", -2))
 19644  	}
 19645  
 19646  	if invalidParams.Len() > 0 {
 19647  		return invalidParams
 19648  	}
 19649  	return nil
 19650  }
 19651  
 19652  // SetPostFilterSharpenStrength sets the PostFilterSharpenStrength field's value.
 19653  func (s *NoiseReducerSpatialFilterSettings) SetPostFilterSharpenStrength(v int64) *NoiseReducerSpatialFilterSettings {
 19654  	s.PostFilterSharpenStrength = &v
 19655  	return s
 19656  }
 19657  
 19658  // SetSpeed sets the Speed field's value.
 19659  func (s *NoiseReducerSpatialFilterSettings) SetSpeed(v int64) *NoiseReducerSpatialFilterSettings {
 19660  	s.Speed = &v
 19661  	return s
 19662  }
 19663  
 19664  // SetStrength sets the Strength field's value.
 19665  func (s *NoiseReducerSpatialFilterSettings) SetStrength(v int64) *NoiseReducerSpatialFilterSettings {
 19666  	s.Strength = &v
 19667  	return s
 19668  }
 19669  
 19670  // Noise reducer filter settings for temporal filter.
 19671  type NoiseReducerTemporalFilterSettings struct {
 19672  	_ struct{} `type:"structure"`
 19673  
 19674  	// Use Aggressive mode for content that has complex motion. Higher values produce
 19675  	// stronger temporal filtering. This filters highly complex scenes more aggressively
 19676  	// and creates better VQ for low bitrate outputs.
 19677  	AggressiveMode *int64 `locationName:"aggressiveMode" type:"integer"`
 19678  
 19679  	// Optional. When you set Noise reducer (noiseReducer) to Temporal (TEMPORAL),
 19680  	// you can use this setting to apply sharpening. The default behavior, Auto
 19681  	// (AUTO), allows the transcoder to determine whether to apply filtering, depending
 19682  	// on input type and quality. When you set Noise reducer to Temporal, your output
 19683  	// bandwidth is reduced. When Post temporal sharpening is also enabled, that
 19684  	// bandwidth reduction is smaller.
 19685  	PostTemporalSharpening *string `locationName:"postTemporalSharpening" type:"string" enum:"NoiseFilterPostTemporalSharpening"`
 19686  
 19687  	// The speed of the filter (higher number is faster). Low setting reduces bit
 19688  	// rate at the cost of transcode time, high setting improves transcode time
 19689  	// at the cost of bit rate.
 19690  	Speed *int64 `locationName:"speed" type:"integer"`
 19691  
 19692  	// Specify the strength of the noise reducing filter on this output. Higher
 19693  	// values produce stronger filtering. We recommend the following value ranges,
 19694  	// depending on the result that you want: * 0-2 for complexity reduction with
 19695  	// minimal sharpness loss * 2-8 for complexity reduction with image preservation
 19696  	// * 8-16 for a high level of complexity reduction
 19697  	Strength *int64 `locationName:"strength" type:"integer"`
 19698  }
 19699  
 19700  // String returns the string representation.
 19701  //
 19702  // API parameter values that are decorated as "sensitive" in the API will not
 19703  // be included in the string output. The member name will be present, but the
 19704  // value will be replaced with "sensitive".
 19705  func (s NoiseReducerTemporalFilterSettings) String() string {
 19706  	return awsutil.Prettify(s)
 19707  }
 19708  
 19709  // GoString returns the string representation.
 19710  //
 19711  // API parameter values that are decorated as "sensitive" in the API will not
 19712  // be included in the string output. The member name will be present, but the
 19713  // value will be replaced with "sensitive".
 19714  func (s NoiseReducerTemporalFilterSettings) GoString() string {
 19715  	return s.String()
 19716  }
 19717  
 19718  // Validate inspects the fields of the type to determine if they are valid.
 19719  func (s *NoiseReducerTemporalFilterSettings) Validate() error {
 19720  	invalidParams := request.ErrInvalidParams{Context: "NoiseReducerTemporalFilterSettings"}
 19721  	if s.Speed != nil && *s.Speed < -1 {
 19722  		invalidParams.Add(request.NewErrParamMinValue("Speed", -1))
 19723  	}
 19724  
 19725  	if invalidParams.Len() > 0 {
 19726  		return invalidParams
 19727  	}
 19728  	return nil
 19729  }
 19730  
 19731  // SetAggressiveMode sets the AggressiveMode field's value.
 19732  func (s *NoiseReducerTemporalFilterSettings) SetAggressiveMode(v int64) *NoiseReducerTemporalFilterSettings {
 19733  	s.AggressiveMode = &v
 19734  	return s
 19735  }
 19736  
 19737  // SetPostTemporalSharpening sets the PostTemporalSharpening field's value.
 19738  func (s *NoiseReducerTemporalFilterSettings) SetPostTemporalSharpening(v string) *NoiseReducerTemporalFilterSettings {
 19739  	s.PostTemporalSharpening = &v
 19740  	return s
 19741  }
 19742  
 19743  // SetSpeed sets the Speed field's value.
 19744  func (s *NoiseReducerTemporalFilterSettings) SetSpeed(v int64) *NoiseReducerTemporalFilterSettings {
 19745  	s.Speed = &v
 19746  	return s
 19747  }
 19748  
 19749  // SetStrength sets the Strength field's value.
 19750  func (s *NoiseReducerTemporalFilterSettings) SetStrength(v int64) *NoiseReducerTemporalFilterSettings {
 19751  	s.Strength = &v
 19752  	return s
 19753  }
 19754  
 19755  type NotFoundException struct {
 19756  	_            struct{}                  `type:"structure"`
 19757  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 19758  
 19759  	Message_ *string `locationName:"message" type:"string"`
 19760  }
 19761  
 19762  // String returns the string representation.
 19763  //
 19764  // API parameter values that are decorated as "sensitive" in the API will not
 19765  // be included in the string output. The member name will be present, but the
 19766  // value will be replaced with "sensitive".
 19767  func (s NotFoundException) String() string {
 19768  	return awsutil.Prettify(s)
 19769  }
 19770  
 19771  // GoString returns the string representation.
 19772  //
 19773  // API parameter values that are decorated as "sensitive" in the API will not
 19774  // be included in the string output. The member name will be present, but the
 19775  // value will be replaced with "sensitive".
 19776  func (s NotFoundException) GoString() string {
 19777  	return s.String()
 19778  }
 19779  
 19780  func newErrorNotFoundException(v protocol.ResponseMetadata) error {
 19781  	return &NotFoundException{
 19782  		RespMetadata: v,
 19783  	}
 19784  }
 19785  
 19786  // Code returns the exception type name.
 19787  func (s *NotFoundException) Code() string {
 19788  	return "NotFoundException"
 19789  }
 19790  
 19791  // Message returns the exception's message.
 19792  func (s *NotFoundException) Message() string {
 19793  	if s.Message_ != nil {
 19794  		return *s.Message_
 19795  	}
 19796  	return ""
 19797  }
 19798  
 19799  // OrigErr always returns nil, satisfies awserr.Error interface.
 19800  func (s *NotFoundException) OrigErr() error {
 19801  	return nil
 19802  }
 19803  
 19804  func (s *NotFoundException) Error() string {
 19805  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 19806  }
 19807  
 19808  // Status code returns the HTTP status code for the request's response error.
 19809  func (s *NotFoundException) StatusCode() int {
 19810  	return s.RespMetadata.StatusCode
 19811  }
 19812  
 19813  // RequestID returns the service's response RequestID for request.
 19814  func (s *NotFoundException) RequestID() string {
 19815  	return s.RespMetadata.RequestID
 19816  }
 19817  
 19818  // Required when you set Codec, under AudioDescriptions>CodecSettings, to the
 19819  // value OPUS.
 19820  type OpusSettings struct {
 19821  	_ struct{} `type:"structure"`
 19822  
 19823  	// Optional. Specify the average bitrate in bits per second. Valid values are
 19824  	// multiples of 8000, from 32000 through 192000. The default value is 96000,
 19825  	// which we recommend for quality and bandwidth.
 19826  	Bitrate *int64 `locationName:"bitrate" min:"32000" type:"integer"`
 19827  
 19828  	// Specify the number of channels in this output audio track. Choosing Mono
 19829  	// on the console gives you 1 output channel; choosing Stereo gives you 2. In
 19830  	// the API, valid values are 1 and 2.
 19831  	Channels *int64 `locationName:"channels" min:"1" type:"integer"`
 19832  
 19833  	// Optional. Sample rate in hz. Valid values are 16000, 24000, and 48000. The
 19834  	// default value is 48000.
 19835  	SampleRate *int64 `locationName:"sampleRate" min:"16000" type:"integer"`
 19836  }
 19837  
 19838  // String returns the string representation.
 19839  //
 19840  // API parameter values that are decorated as "sensitive" in the API will not
 19841  // be included in the string output. The member name will be present, but the
 19842  // value will be replaced with "sensitive".
 19843  func (s OpusSettings) String() string {
 19844  	return awsutil.Prettify(s)
 19845  }
 19846  
 19847  // GoString returns the string representation.
 19848  //
 19849  // API parameter values that are decorated as "sensitive" in the API will not
 19850  // be included in the string output. The member name will be present, but the
 19851  // value will be replaced with "sensitive".
 19852  func (s OpusSettings) GoString() string {
 19853  	return s.String()
 19854  }
 19855  
 19856  // Validate inspects the fields of the type to determine if they are valid.
 19857  func (s *OpusSettings) Validate() error {
 19858  	invalidParams := request.ErrInvalidParams{Context: "OpusSettings"}
 19859  	if s.Bitrate != nil && *s.Bitrate < 32000 {
 19860  		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 32000))
 19861  	}
 19862  	if s.Channels != nil && *s.Channels < 1 {
 19863  		invalidParams.Add(request.NewErrParamMinValue("Channels", 1))
 19864  	}
 19865  	if s.SampleRate != nil && *s.SampleRate < 16000 {
 19866  		invalidParams.Add(request.NewErrParamMinValue("SampleRate", 16000))
 19867  	}
 19868  
 19869  	if invalidParams.Len() > 0 {
 19870  		return invalidParams
 19871  	}
 19872  	return nil
 19873  }
 19874  
 19875  // SetBitrate sets the Bitrate field's value.
 19876  func (s *OpusSettings) SetBitrate(v int64) *OpusSettings {
 19877  	s.Bitrate = &v
 19878  	return s
 19879  }
 19880  
 19881  // SetChannels sets the Channels field's value.
 19882  func (s *OpusSettings) SetChannels(v int64) *OpusSettings {
 19883  	s.Channels = &v
 19884  	return s
 19885  }
 19886  
 19887  // SetSampleRate sets the SampleRate field's value.
 19888  func (s *OpusSettings) SetSampleRate(v int64) *OpusSettings {
 19889  	s.SampleRate = &v
 19890  	return s
 19891  }
 19892  
 19893  // Each output in your job is a collection of settings that describes how you
 19894  // want MediaConvert to encode a single output file or stream. For more information,
 19895  // see https://docs.aws.amazon.com/mediaconvert/latest/ug/create-outputs.html.
 19896  type Output struct {
 19897  	_ struct{} `type:"structure"`
 19898  
 19899  	// (AudioDescriptions) contains groups of audio encoding settings organized
 19900  	// by audio codec. Include one instance of (AudioDescriptions) per output. (AudioDescriptions)
 19901  	// can contain multiple groups of encoding settings.
 19902  	AudioDescriptions []*AudioDescription `locationName:"audioDescriptions" type:"list"`
 19903  
 19904  	// (CaptionDescriptions) contains groups of captions settings. For each output
 19905  	// that has captions, include one instance of (CaptionDescriptions). (CaptionDescriptions)
 19906  	// can contain multiple groups of captions settings.
 19907  	CaptionDescriptions []*CaptionDescription `locationName:"captionDescriptions" type:"list"`
 19908  
 19909  	// Container specific settings.
 19910  	ContainerSettings *ContainerSettings `locationName:"containerSettings" type:"structure"`
 19911  
 19912  	// Use Extension (Extension) to specify the file extension for outputs in File
 19913  	// output groups. If you do not specify a value, the service will use default
 19914  	// extensions by container type as follows * MPEG-2 transport stream, m2ts *
 19915  	// Quicktime, mov * MXF container, mxf * MPEG-4 container, mp4 * WebM container,
 19916  	// webm * No Container, the service will use codec extensions (e.g. AAC, H265,
 19917  	// H265, AC3)
 19918  	Extension *string `locationName:"extension" type:"string"`
 19919  
 19920  	// Use Name modifier (NameModifier) to have the service add a string to the
 19921  	// end of each output filename. You specify the base filename as part of your
 19922  	// destination URI. When you create multiple outputs in the same output group,
 19923  	// Name modifier (NameModifier) is required. Name modifier also accepts format
 19924  	// identifiers. For DASH ISO outputs, if you use the format identifiers $Number$
 19925  	// or $Time$ in one output, you must use them in the same way in all outputs
 19926  	// of the output group.
 19927  	NameModifier *string `locationName:"nameModifier" min:"1" type:"string"`
 19928  
 19929  	// Specific settings for this type of output.
 19930  	OutputSettings *OutputSettings `locationName:"outputSettings" type:"structure"`
 19931  
 19932  	// Use Preset (Preset) to specify a preset for your transcoding settings. Provide
 19933  	// the system or custom preset name. You can specify either Preset (Preset)
 19934  	// or Container settings (ContainerSettings), but not both.
 19935  	Preset *string `locationName:"preset" type:"string"`
 19936  
 19937  	// VideoDescription contains a group of video encoding settings. The specific
 19938  	// video settings depend on the video codec that you choose for the property
 19939  	// codec. Include one instance of VideoDescription per output.
 19940  	VideoDescription *VideoDescription `locationName:"videoDescription" type:"structure"`
 19941  }
 19942  
 19943  // String returns the string representation.
 19944  //
 19945  // API parameter values that are decorated as "sensitive" in the API will not
 19946  // be included in the string output. The member name will be present, but the
 19947  // value will be replaced with "sensitive".
 19948  func (s Output) String() string {
 19949  	return awsutil.Prettify(s)
 19950  }
 19951  
 19952  // GoString returns the string representation.
 19953  //
 19954  // API parameter values that are decorated as "sensitive" in the API will not
 19955  // be included in the string output. The member name will be present, but the
 19956  // value will be replaced with "sensitive".
 19957  func (s Output) GoString() string {
 19958  	return s.String()
 19959  }
 19960  
 19961  // Validate inspects the fields of the type to determine if they are valid.
 19962  func (s *Output) Validate() error {
 19963  	invalidParams := request.ErrInvalidParams{Context: "Output"}
 19964  	if s.NameModifier != nil && len(*s.NameModifier) < 1 {
 19965  		invalidParams.Add(request.NewErrParamMinLen("NameModifier", 1))
 19966  	}
 19967  	if s.AudioDescriptions != nil {
 19968  		for i, v := range s.AudioDescriptions {
 19969  			if v == nil {
 19970  				continue
 19971  			}
 19972  			if err := v.Validate(); err != nil {
 19973  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioDescriptions", i), err.(request.ErrInvalidParams))
 19974  			}
 19975  		}
 19976  	}
 19977  	if s.CaptionDescriptions != nil {
 19978  		for i, v := range s.CaptionDescriptions {
 19979  			if v == nil {
 19980  				continue
 19981  			}
 19982  			if err := v.Validate(); err != nil {
 19983  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionDescriptions", i), err.(request.ErrInvalidParams))
 19984  			}
 19985  		}
 19986  	}
 19987  	if s.ContainerSettings != nil {
 19988  		if err := s.ContainerSettings.Validate(); err != nil {
 19989  			invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams))
 19990  		}
 19991  	}
 19992  	if s.VideoDescription != nil {
 19993  		if err := s.VideoDescription.Validate(); err != nil {
 19994  			invalidParams.AddNested("VideoDescription", err.(request.ErrInvalidParams))
 19995  		}
 19996  	}
 19997  
 19998  	if invalidParams.Len() > 0 {
 19999  		return invalidParams
 20000  	}
 20001  	return nil
 20002  }
 20003  
 20004  // SetAudioDescriptions sets the AudioDescriptions field's value.
 20005  func (s *Output) SetAudioDescriptions(v []*AudioDescription) *Output {
 20006  	s.AudioDescriptions = v
 20007  	return s
 20008  }
 20009  
 20010  // SetCaptionDescriptions sets the CaptionDescriptions field's value.
 20011  func (s *Output) SetCaptionDescriptions(v []*CaptionDescription) *Output {
 20012  	s.CaptionDescriptions = v
 20013  	return s
 20014  }
 20015  
 20016  // SetContainerSettings sets the ContainerSettings field's value.
 20017  func (s *Output) SetContainerSettings(v *ContainerSettings) *Output {
 20018  	s.ContainerSettings = v
 20019  	return s
 20020  }
 20021  
 20022  // SetExtension sets the Extension field's value.
 20023  func (s *Output) SetExtension(v string) *Output {
 20024  	s.Extension = &v
 20025  	return s
 20026  }
 20027  
 20028  // SetNameModifier sets the NameModifier field's value.
 20029  func (s *Output) SetNameModifier(v string) *Output {
 20030  	s.NameModifier = &v
 20031  	return s
 20032  }
 20033  
 20034  // SetOutputSettings sets the OutputSettings field's value.
 20035  func (s *Output) SetOutputSettings(v *OutputSettings) *Output {
 20036  	s.OutputSettings = v
 20037  	return s
 20038  }
 20039  
 20040  // SetPreset sets the Preset field's value.
 20041  func (s *Output) SetPreset(v string) *Output {
 20042  	s.Preset = &v
 20043  	return s
 20044  }
 20045  
 20046  // SetVideoDescription sets the VideoDescription field's value.
 20047  func (s *Output) SetVideoDescription(v *VideoDescription) *Output {
 20048  	s.VideoDescription = v
 20049  	return s
 20050  }
 20051  
 20052  // OutputChannel mapping settings.
 20053  type OutputChannelMapping struct {
 20054  	_ struct{} `type:"structure"`
 20055  
 20056  	// Use this setting to specify your remix values when they are integers, such
 20057  	// as -10, 0, or 4.
 20058  	InputChannels []*int64 `locationName:"inputChannels" type:"list"`
 20059  
 20060  	// Use this setting to specify your remix values when they have a decimal component,
 20061  	// such as -10.312, 0.08, or 4.9. MediaConvert rounds your remixing values to
 20062  	// the nearest thousandth.
 20063  	InputChannelsFineTune []*float64 `locationName:"inputChannelsFineTune" type:"list"`
 20064  }
 20065  
 20066  // String returns the string representation.
 20067  //
 20068  // API parameter values that are decorated as "sensitive" in the API will not
 20069  // be included in the string output. The member name will be present, but the
 20070  // value will be replaced with "sensitive".
 20071  func (s OutputChannelMapping) String() string {
 20072  	return awsutil.Prettify(s)
 20073  }
 20074  
 20075  // GoString returns the string representation.
 20076  //
 20077  // API parameter values that are decorated as "sensitive" in the API will not
 20078  // be included in the string output. The member name will be present, but the
 20079  // value will be replaced with "sensitive".
 20080  func (s OutputChannelMapping) GoString() string {
 20081  	return s.String()
 20082  }
 20083  
 20084  // SetInputChannels sets the InputChannels field's value.
 20085  func (s *OutputChannelMapping) SetInputChannels(v []*int64) *OutputChannelMapping {
 20086  	s.InputChannels = v
 20087  	return s
 20088  }
 20089  
 20090  // SetInputChannelsFineTune sets the InputChannelsFineTune field's value.
 20091  func (s *OutputChannelMapping) SetInputChannelsFineTune(v []*float64) *OutputChannelMapping {
 20092  	s.InputChannelsFineTune = v
 20093  	return s
 20094  }
 20095  
 20096  // Details regarding output
 20097  type OutputDetail struct {
 20098  	_ struct{} `type:"structure"`
 20099  
 20100  	// Duration in milliseconds
 20101  	DurationInMs *int64 `locationName:"durationInMs" type:"integer"`
 20102  
 20103  	// Contains details about the output's video stream
 20104  	VideoDetails *VideoDetail `locationName:"videoDetails" type:"structure"`
 20105  }
 20106  
 20107  // String returns the string representation.
 20108  //
 20109  // API parameter values that are decorated as "sensitive" in the API will not
 20110  // be included in the string output. The member name will be present, but the
 20111  // value will be replaced with "sensitive".
 20112  func (s OutputDetail) String() string {
 20113  	return awsutil.Prettify(s)
 20114  }
 20115  
 20116  // GoString returns the string representation.
 20117  //
 20118  // API parameter values that are decorated as "sensitive" in the API will not
 20119  // be included in the string output. The member name will be present, but the
 20120  // value will be replaced with "sensitive".
 20121  func (s OutputDetail) GoString() string {
 20122  	return s.String()
 20123  }
 20124  
 20125  // SetDurationInMs sets the DurationInMs field's value.
 20126  func (s *OutputDetail) SetDurationInMs(v int64) *OutputDetail {
 20127  	s.DurationInMs = &v
 20128  	return s
 20129  }
 20130  
 20131  // SetVideoDetails sets the VideoDetails field's value.
 20132  func (s *OutputDetail) SetVideoDetails(v *VideoDetail) *OutputDetail {
 20133  	s.VideoDetails = v
 20134  	return s
 20135  }
 20136  
 20137  // Group of outputs
 20138  type OutputGroup struct {
 20139  	_ struct{} `type:"structure"`
 20140  
 20141  	// Use automated encoding to have MediaConvert choose your encoding settings
 20142  	// for you, based on characteristics of your input video.
 20143  	AutomatedEncodingSettings *AutomatedEncodingSettings `locationName:"automatedEncodingSettings" type:"structure"`
 20144  
 20145  	// Use Custom Group Name (CustomName) to specify a name for the output group.
 20146  	// This value is displayed on the console and can make your job settings JSON
 20147  	// more human-readable. It does not affect your outputs. Use up to twelve characters
 20148  	// that are either letters, numbers, spaces, or underscores.
 20149  	CustomName *string `locationName:"customName" type:"string"`
 20150  
 20151  	// Name of the output group
 20152  	Name *string `locationName:"name" type:"string"`
 20153  
 20154  	// Output Group settings, including type
 20155  	OutputGroupSettings *OutputGroupSettings `locationName:"outputGroupSettings" type:"structure"`
 20156  
 20157  	// This object holds groups of encoding settings, one group of settings per
 20158  	// output.
 20159  	Outputs []*Output `locationName:"outputs" type:"list"`
 20160  }
 20161  
 20162  // String returns the string representation.
 20163  //
 20164  // API parameter values that are decorated as "sensitive" in the API will not
 20165  // be included in the string output. The member name will be present, but the
 20166  // value will be replaced with "sensitive".
 20167  func (s OutputGroup) String() string {
 20168  	return awsutil.Prettify(s)
 20169  }
 20170  
 20171  // GoString returns the string representation.
 20172  //
 20173  // API parameter values that are decorated as "sensitive" in the API will not
 20174  // be included in the string output. The member name will be present, but the
 20175  // value will be replaced with "sensitive".
 20176  func (s OutputGroup) GoString() string {
 20177  	return s.String()
 20178  }
 20179  
 20180  // Validate inspects the fields of the type to determine if they are valid.
 20181  func (s *OutputGroup) Validate() error {
 20182  	invalidParams := request.ErrInvalidParams{Context: "OutputGroup"}
 20183  	if s.AutomatedEncodingSettings != nil {
 20184  		if err := s.AutomatedEncodingSettings.Validate(); err != nil {
 20185  			invalidParams.AddNested("AutomatedEncodingSettings", err.(request.ErrInvalidParams))
 20186  		}
 20187  	}
 20188  	if s.OutputGroupSettings != nil {
 20189  		if err := s.OutputGroupSettings.Validate(); err != nil {
 20190  			invalidParams.AddNested("OutputGroupSettings", err.(request.ErrInvalidParams))
 20191  		}
 20192  	}
 20193  	if s.Outputs != nil {
 20194  		for i, v := range s.Outputs {
 20195  			if v == nil {
 20196  				continue
 20197  			}
 20198  			if err := v.Validate(); err != nil {
 20199  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams))
 20200  			}
 20201  		}
 20202  	}
 20203  
 20204  	if invalidParams.Len() > 0 {
 20205  		return invalidParams
 20206  	}
 20207  	return nil
 20208  }
 20209  
 20210  // SetAutomatedEncodingSettings sets the AutomatedEncodingSettings field's value.
 20211  func (s *OutputGroup) SetAutomatedEncodingSettings(v *AutomatedEncodingSettings) *OutputGroup {
 20212  	s.AutomatedEncodingSettings = v
 20213  	return s
 20214  }
 20215  
 20216  // SetCustomName sets the CustomName field's value.
 20217  func (s *OutputGroup) SetCustomName(v string) *OutputGroup {
 20218  	s.CustomName = &v
 20219  	return s
 20220  }
 20221  
 20222  // SetName sets the Name field's value.
 20223  func (s *OutputGroup) SetName(v string) *OutputGroup {
 20224  	s.Name = &v
 20225  	return s
 20226  }
 20227  
 20228  // SetOutputGroupSettings sets the OutputGroupSettings field's value.
 20229  func (s *OutputGroup) SetOutputGroupSettings(v *OutputGroupSettings) *OutputGroup {
 20230  	s.OutputGroupSettings = v
 20231  	return s
 20232  }
 20233  
 20234  // SetOutputs sets the Outputs field's value.
 20235  func (s *OutputGroup) SetOutputs(v []*Output) *OutputGroup {
 20236  	s.Outputs = v
 20237  	return s
 20238  }
 20239  
 20240  // Contains details about the output groups specified in the job settings.
 20241  type OutputGroupDetail struct {
 20242  	_ struct{} `type:"structure"`
 20243  
 20244  	// Details about the output
 20245  	OutputDetails []*OutputDetail `locationName:"outputDetails" type:"list"`
 20246  }
 20247  
 20248  // String returns the string representation.
 20249  //
 20250  // API parameter values that are decorated as "sensitive" in the API will not
 20251  // be included in the string output. The member name will be present, but the
 20252  // value will be replaced with "sensitive".
 20253  func (s OutputGroupDetail) String() string {
 20254  	return awsutil.Prettify(s)
 20255  }
 20256  
 20257  // GoString returns the string representation.
 20258  //
 20259  // API parameter values that are decorated as "sensitive" in the API will not
 20260  // be included in the string output. The member name will be present, but the
 20261  // value will be replaced with "sensitive".
 20262  func (s OutputGroupDetail) GoString() string {
 20263  	return s.String()
 20264  }
 20265  
 20266  // SetOutputDetails sets the OutputDetails field's value.
 20267  func (s *OutputGroupDetail) SetOutputDetails(v []*OutputDetail) *OutputGroupDetail {
 20268  	s.OutputDetails = v
 20269  	return s
 20270  }
 20271  
 20272  // Output Group settings, including type
 20273  type OutputGroupSettings struct {
 20274  	_ struct{} `type:"structure"`
 20275  
 20276  	// Settings related to your CMAF output package. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/outputs-file-ABR.html.
 20277  	// When you work directly in your JSON job specification, include this object
 20278  	// and any required children when you set Type, under OutputGroupSettings, to
 20279  	// CMAF_GROUP_SETTINGS.
 20280  	CmafGroupSettings *CmafGroupSettings `locationName:"cmafGroupSettings" type:"structure"`
 20281  
 20282  	// Settings related to your DASH output package. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/outputs-file-ABR.html.
 20283  	// When you work directly in your JSON job specification, include this object
 20284  	// and any required children when you set Type, under OutputGroupSettings, to
 20285  	// DASH_ISO_GROUP_SETTINGS.
 20286  	DashIsoGroupSettings *DashIsoGroupSettings `locationName:"dashIsoGroupSettings" type:"structure"`
 20287  
 20288  	// Settings related to your File output group. MediaConvert uses this group
 20289  	// of settings to generate a single standalone file, rather than a streaming
 20290  	// package. When you work directly in your JSON job specification, include this
 20291  	// object and any required children when you set Type, under OutputGroupSettings,
 20292  	// to FILE_GROUP_SETTINGS.
 20293  	FileGroupSettings *FileGroupSettings `locationName:"fileGroupSettings" type:"structure"`
 20294  
 20295  	// Settings related to your HLS output package. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/outputs-file-ABR.html.
 20296  	// When you work directly in your JSON job specification, include this object
 20297  	// and any required children when you set Type, under OutputGroupSettings, to
 20298  	// HLS_GROUP_SETTINGS.
 20299  	HlsGroupSettings *HlsGroupSettings `locationName:"hlsGroupSettings" type:"structure"`
 20300  
 20301  	// Settings related to your Microsoft Smooth Streaming output package. For more
 20302  	// information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/outputs-file-ABR.html.
 20303  	// When you work directly in your JSON job specification, include this object
 20304  	// and any required children when you set Type, under OutputGroupSettings, to
 20305  	// MS_SMOOTH_GROUP_SETTINGS.
 20306  	MsSmoothGroupSettings *MsSmoothGroupSettings `locationName:"msSmoothGroupSettings" type:"structure"`
 20307  
 20308  	// Type of output group (File group, Apple HLS, DASH ISO, Microsoft Smooth Streaming,
 20309  	// CMAF)
 20310  	Type *string `locationName:"type" type:"string" enum:"OutputGroupType"`
 20311  }
 20312  
 20313  // String returns the string representation.
 20314  //
 20315  // API parameter values that are decorated as "sensitive" in the API will not
 20316  // be included in the string output. The member name will be present, but the
 20317  // value will be replaced with "sensitive".
 20318  func (s OutputGroupSettings) String() string {
 20319  	return awsutil.Prettify(s)
 20320  }
 20321  
 20322  // GoString returns the string representation.
 20323  //
 20324  // API parameter values that are decorated as "sensitive" in the API will not
 20325  // be included in the string output. The member name will be present, but the
 20326  // value will be replaced with "sensitive".
 20327  func (s OutputGroupSettings) GoString() string {
 20328  	return s.String()
 20329  }
 20330  
 20331  // Validate inspects the fields of the type to determine if they are valid.
 20332  func (s *OutputGroupSettings) Validate() error {
 20333  	invalidParams := request.ErrInvalidParams{Context: "OutputGroupSettings"}
 20334  	if s.CmafGroupSettings != nil {
 20335  		if err := s.CmafGroupSettings.Validate(); err != nil {
 20336  			invalidParams.AddNested("CmafGroupSettings", err.(request.ErrInvalidParams))
 20337  		}
 20338  	}
 20339  	if s.DashIsoGroupSettings != nil {
 20340  		if err := s.DashIsoGroupSettings.Validate(); err != nil {
 20341  			invalidParams.AddNested("DashIsoGroupSettings", err.(request.ErrInvalidParams))
 20342  		}
 20343  	}
 20344  	if s.HlsGroupSettings != nil {
 20345  		if err := s.HlsGroupSettings.Validate(); err != nil {
 20346  			invalidParams.AddNested("HlsGroupSettings", err.(request.ErrInvalidParams))
 20347  		}
 20348  	}
 20349  	if s.MsSmoothGroupSettings != nil {
 20350  		if err := s.MsSmoothGroupSettings.Validate(); err != nil {
 20351  			invalidParams.AddNested("MsSmoothGroupSettings", err.(request.ErrInvalidParams))
 20352  		}
 20353  	}
 20354  
 20355  	if invalidParams.Len() > 0 {
 20356  		return invalidParams
 20357  	}
 20358  	return nil
 20359  }
 20360  
 20361  // SetCmafGroupSettings sets the CmafGroupSettings field's value.
 20362  func (s *OutputGroupSettings) SetCmafGroupSettings(v *CmafGroupSettings) *OutputGroupSettings {
 20363  	s.CmafGroupSettings = v
 20364  	return s
 20365  }
 20366  
 20367  // SetDashIsoGroupSettings sets the DashIsoGroupSettings field's value.
 20368  func (s *OutputGroupSettings) SetDashIsoGroupSettings(v *DashIsoGroupSettings) *OutputGroupSettings {
 20369  	s.DashIsoGroupSettings = v
 20370  	return s
 20371  }
 20372  
 20373  // SetFileGroupSettings sets the FileGroupSettings field's value.
 20374  func (s *OutputGroupSettings) SetFileGroupSettings(v *FileGroupSettings) *OutputGroupSettings {
 20375  	s.FileGroupSettings = v
 20376  	return s
 20377  }
 20378  
 20379  // SetHlsGroupSettings sets the HlsGroupSettings field's value.
 20380  func (s *OutputGroupSettings) SetHlsGroupSettings(v *HlsGroupSettings) *OutputGroupSettings {
 20381  	s.HlsGroupSettings = v
 20382  	return s
 20383  }
 20384  
 20385  // SetMsSmoothGroupSettings sets the MsSmoothGroupSettings field's value.
 20386  func (s *OutputGroupSettings) SetMsSmoothGroupSettings(v *MsSmoothGroupSettings) *OutputGroupSettings {
 20387  	s.MsSmoothGroupSettings = v
 20388  	return s
 20389  }
 20390  
 20391  // SetType sets the Type field's value.
 20392  func (s *OutputGroupSettings) SetType(v string) *OutputGroupSettings {
 20393  	s.Type = &v
 20394  	return s
 20395  }
 20396  
 20397  // Specific settings for this type of output.
 20398  type OutputSettings struct {
 20399  	_ struct{} `type:"structure"`
 20400  
 20401  	// Settings for HLS output groups
 20402  	HlsSettings *HlsSettings `locationName:"hlsSettings" type:"structure"`
 20403  }
 20404  
 20405  // String returns the string representation.
 20406  //
 20407  // API parameter values that are decorated as "sensitive" in the API will not
 20408  // be included in the string output. The member name will be present, but the
 20409  // value will be replaced with "sensitive".
 20410  func (s OutputSettings) String() string {
 20411  	return awsutil.Prettify(s)
 20412  }
 20413  
 20414  // GoString returns the string representation.
 20415  //
 20416  // API parameter values that are decorated as "sensitive" in the API will not
 20417  // be included in the string output. The member name will be present, but the
 20418  // value will be replaced with "sensitive".
 20419  func (s OutputSettings) GoString() string {
 20420  	return s.String()
 20421  }
 20422  
 20423  // SetHlsSettings sets the HlsSettings field's value.
 20424  func (s *OutputSettings) SetHlsSettings(v *HlsSettings) *OutputSettings {
 20425  	s.HlsSettings = v
 20426  	return s
 20427  }
 20428  
 20429  // If you work with a third party video watermarking partner, use the group
 20430  // of settings that correspond with your watermarking partner to include watermarks
 20431  // in your output.
 20432  type PartnerWatermarking struct {
 20433  	_ struct{} `type:"structure"`
 20434  
 20435  	// For forensic video watermarking, MediaConvert supports Nagra NexGuard File
 20436  	// Marker watermarking. MediaConvert supports both PreRelease Content (NGPR/G2)
 20437  	// and OTT Streaming workflows.
 20438  	NexguardFileMarkerSettings *NexGuardFileMarkerSettings `locationName:"nexguardFileMarkerSettings" type:"structure"`
 20439  }
 20440  
 20441  // String returns the string representation.
 20442  //
 20443  // API parameter values that are decorated as "sensitive" in the API will not
 20444  // be included in the string output. The member name will be present, but the
 20445  // value will be replaced with "sensitive".
 20446  func (s PartnerWatermarking) String() string {
 20447  	return awsutil.Prettify(s)
 20448  }
 20449  
 20450  // GoString returns the string representation.
 20451  //
 20452  // API parameter values that are decorated as "sensitive" in the API will not
 20453  // be included in the string output. The member name will be present, but the
 20454  // value will be replaced with "sensitive".
 20455  func (s PartnerWatermarking) GoString() string {
 20456  	return s.String()
 20457  }
 20458  
 20459  // Validate inspects the fields of the type to determine if they are valid.
 20460  func (s *PartnerWatermarking) Validate() error {
 20461  	invalidParams := request.ErrInvalidParams{Context: "PartnerWatermarking"}
 20462  	if s.NexguardFileMarkerSettings != nil {
 20463  		if err := s.NexguardFileMarkerSettings.Validate(); err != nil {
 20464  			invalidParams.AddNested("NexguardFileMarkerSettings", err.(request.ErrInvalidParams))
 20465  		}
 20466  	}
 20467  
 20468  	if invalidParams.Len() > 0 {
 20469  		return invalidParams
 20470  	}
 20471  	return nil
 20472  }
 20473  
 20474  // SetNexguardFileMarkerSettings sets the NexguardFileMarkerSettings field's value.
 20475  func (s *PartnerWatermarking) SetNexguardFileMarkerSettings(v *NexGuardFileMarkerSettings) *PartnerWatermarking {
 20476  	s.NexguardFileMarkerSettings = v
 20477  	return s
 20478  }
 20479  
 20480  // A policy configures behavior that you allow or disallow for your account.
 20481  // For information about MediaConvert policies, see the user guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
 20482  type Policy struct {
 20483  	_ struct{} `type:"structure"`
 20484  
 20485  	// Allow or disallow jobs that specify HTTP inputs.
 20486  	HttpInputs *string `locationName:"httpInputs" type:"string" enum:"InputPolicy"`
 20487  
 20488  	// Allow or disallow jobs that specify HTTPS inputs.
 20489  	HttpsInputs *string `locationName:"httpsInputs" type:"string" enum:"InputPolicy"`
 20490  
 20491  	// Allow or disallow jobs that specify Amazon S3 inputs.
 20492  	S3Inputs *string `locationName:"s3Inputs" type:"string" enum:"InputPolicy"`
 20493  }
 20494  
 20495  // String returns the string representation.
 20496  //
 20497  // API parameter values that are decorated as "sensitive" in the API will not
 20498  // be included in the string output. The member name will be present, but the
 20499  // value will be replaced with "sensitive".
 20500  func (s Policy) String() string {
 20501  	return awsutil.Prettify(s)
 20502  }
 20503  
 20504  // GoString returns the string representation.
 20505  //
 20506  // API parameter values that are decorated as "sensitive" in the API will not
 20507  // be included in the string output. The member name will be present, but the
 20508  // value will be replaced with "sensitive".
 20509  func (s Policy) GoString() string {
 20510  	return s.String()
 20511  }
 20512  
 20513  // SetHttpInputs sets the HttpInputs field's value.
 20514  func (s *Policy) SetHttpInputs(v string) *Policy {
 20515  	s.HttpInputs = &v
 20516  	return s
 20517  }
 20518  
 20519  // SetHttpsInputs sets the HttpsInputs field's value.
 20520  func (s *Policy) SetHttpsInputs(v string) *Policy {
 20521  	s.HttpsInputs = &v
 20522  	return s
 20523  }
 20524  
 20525  // SetS3Inputs sets the S3Inputs field's value.
 20526  func (s *Policy) SetS3Inputs(v string) *Policy {
 20527  	s.S3Inputs = &v
 20528  	return s
 20529  }
 20530  
 20531  // A preset is a collection of preconfigured media conversion settings that
 20532  // you want MediaConvert to apply to the output during the conversion process.
 20533  type Preset struct {
 20534  	_ struct{} `type:"structure"`
 20535  
 20536  	// An identifier for this resource that is unique within all of AWS.
 20537  	Arn *string `locationName:"arn" type:"string"`
 20538  
 20539  	// An optional category you create to organize your presets.
 20540  	Category *string `locationName:"category" type:"string"`
 20541  
 20542  	// The timestamp in epoch seconds for preset creation.
 20543  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unixTimestamp"`
 20544  
 20545  	// An optional description you create for each preset.
 20546  	Description *string `locationName:"description" type:"string"`
 20547  
 20548  	// The timestamp in epoch seconds when the preset was last updated.
 20549  	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp" timestampFormat:"unixTimestamp"`
 20550  
 20551  	// A name you create for each preset. Each name must be unique within your account.
 20552  	//
 20553  	// Name is a required field
 20554  	Name *string `locationName:"name" type:"string" required:"true"`
 20555  
 20556  	// Settings for preset
 20557  	//
 20558  	// Settings is a required field
 20559  	Settings *PresetSettings `locationName:"settings" type:"structure" required:"true"`
 20560  
 20561  	// A preset can be of two types: system or custom. System or built-in preset
 20562  	// can't be modified or deleted by the user.
 20563  	Type *string `locationName:"type" type:"string" enum:"Type"`
 20564  }
 20565  
 20566  // String returns the string representation.
 20567  //
 20568  // API parameter values that are decorated as "sensitive" in the API will not
 20569  // be included in the string output. The member name will be present, but the
 20570  // value will be replaced with "sensitive".
 20571  func (s Preset) String() string {
 20572  	return awsutil.Prettify(s)
 20573  }
 20574  
 20575  // GoString returns the string representation.
 20576  //
 20577  // API parameter values that are decorated as "sensitive" in the API will not
 20578  // be included in the string output. The member name will be present, but the
 20579  // value will be replaced with "sensitive".
 20580  func (s Preset) GoString() string {
 20581  	return s.String()
 20582  }
 20583  
 20584  // SetArn sets the Arn field's value.
 20585  func (s *Preset) SetArn(v string) *Preset {
 20586  	s.Arn = &v
 20587  	return s
 20588  }
 20589  
 20590  // SetCategory sets the Category field's value.
 20591  func (s *Preset) SetCategory(v string) *Preset {
 20592  	s.Category = &v
 20593  	return s
 20594  }
 20595  
 20596  // SetCreatedAt sets the CreatedAt field's value.
 20597  func (s *Preset) SetCreatedAt(v time.Time) *Preset {
 20598  	s.CreatedAt = &v
 20599  	return s
 20600  }
 20601  
 20602  // SetDescription sets the Description field's value.
 20603  func (s *Preset) SetDescription(v string) *Preset {
 20604  	s.Description = &v
 20605  	return s
 20606  }
 20607  
 20608  // SetLastUpdated sets the LastUpdated field's value.
 20609  func (s *Preset) SetLastUpdated(v time.Time) *Preset {
 20610  	s.LastUpdated = &v
 20611  	return s
 20612  }
 20613  
 20614  // SetName sets the Name field's value.
 20615  func (s *Preset) SetName(v string) *Preset {
 20616  	s.Name = &v
 20617  	return s
 20618  }
 20619  
 20620  // SetSettings sets the Settings field's value.
 20621  func (s *Preset) SetSettings(v *PresetSettings) *Preset {
 20622  	s.Settings = v
 20623  	return s
 20624  }
 20625  
 20626  // SetType sets the Type field's value.
 20627  func (s *Preset) SetType(v string) *Preset {
 20628  	s.Type = &v
 20629  	return s
 20630  }
 20631  
 20632  // Settings for preset
 20633  type PresetSettings struct {
 20634  	_ struct{} `type:"structure"`
 20635  
 20636  	// (AudioDescriptions) contains groups of audio encoding settings organized
 20637  	// by audio codec. Include one instance of (AudioDescriptions) per output. (AudioDescriptions)
 20638  	// can contain multiple groups of encoding settings.
 20639  	AudioDescriptions []*AudioDescription `locationName:"audioDescriptions" type:"list"`
 20640  
 20641  	// This object holds groups of settings related to captions for one output.
 20642  	// For each output that has captions, include one instance of CaptionDescriptions.
 20643  	CaptionDescriptions []*CaptionDescriptionPreset `locationName:"captionDescriptions" type:"list"`
 20644  
 20645  	// Container specific settings.
 20646  	ContainerSettings *ContainerSettings `locationName:"containerSettings" type:"structure"`
 20647  
 20648  	// VideoDescription contains a group of video encoding settings. The specific
 20649  	// video settings depend on the video codec that you choose for the property
 20650  	// codec. Include one instance of VideoDescription per output.
 20651  	VideoDescription *VideoDescription `locationName:"videoDescription" type:"structure"`
 20652  }
 20653  
 20654  // String returns the string representation.
 20655  //
 20656  // API parameter values that are decorated as "sensitive" in the API will not
 20657  // be included in the string output. The member name will be present, but the
 20658  // value will be replaced with "sensitive".
 20659  func (s PresetSettings) String() string {
 20660  	return awsutil.Prettify(s)
 20661  }
 20662  
 20663  // GoString returns the string representation.
 20664  //
 20665  // API parameter values that are decorated as "sensitive" in the API will not
 20666  // be included in the string output. The member name will be present, but the
 20667  // value will be replaced with "sensitive".
 20668  func (s PresetSettings) GoString() string {
 20669  	return s.String()
 20670  }
 20671  
 20672  // Validate inspects the fields of the type to determine if they are valid.
 20673  func (s *PresetSettings) Validate() error {
 20674  	invalidParams := request.ErrInvalidParams{Context: "PresetSettings"}
 20675  	if s.AudioDescriptions != nil {
 20676  		for i, v := range s.AudioDescriptions {
 20677  			if v == nil {
 20678  				continue
 20679  			}
 20680  			if err := v.Validate(); err != nil {
 20681  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioDescriptions", i), err.(request.ErrInvalidParams))
 20682  			}
 20683  		}
 20684  	}
 20685  	if s.CaptionDescriptions != nil {
 20686  		for i, v := range s.CaptionDescriptions {
 20687  			if v == nil {
 20688  				continue
 20689  			}
 20690  			if err := v.Validate(); err != nil {
 20691  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionDescriptions", i), err.(request.ErrInvalidParams))
 20692  			}
 20693  		}
 20694  	}
 20695  	if s.ContainerSettings != nil {
 20696  		if err := s.ContainerSettings.Validate(); err != nil {
 20697  			invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams))
 20698  		}
 20699  	}
 20700  	if s.VideoDescription != nil {
 20701  		if err := s.VideoDescription.Validate(); err != nil {
 20702  			invalidParams.AddNested("VideoDescription", err.(request.ErrInvalidParams))
 20703  		}
 20704  	}
 20705  
 20706  	if invalidParams.Len() > 0 {
 20707  		return invalidParams
 20708  	}
 20709  	return nil
 20710  }
 20711  
 20712  // SetAudioDescriptions sets the AudioDescriptions field's value.
 20713  func (s *PresetSettings) SetAudioDescriptions(v []*AudioDescription) *PresetSettings {
 20714  	s.AudioDescriptions = v
 20715  	return s
 20716  }
 20717  
 20718  // SetCaptionDescriptions sets the CaptionDescriptions field's value.
 20719  func (s *PresetSettings) SetCaptionDescriptions(v []*CaptionDescriptionPreset) *PresetSettings {
 20720  	s.CaptionDescriptions = v
 20721  	return s
 20722  }
 20723  
 20724  // SetContainerSettings sets the ContainerSettings field's value.
 20725  func (s *PresetSettings) SetContainerSettings(v *ContainerSettings) *PresetSettings {
 20726  	s.ContainerSettings = v
 20727  	return s
 20728  }
 20729  
 20730  // SetVideoDescription sets the VideoDescription field's value.
 20731  func (s *PresetSettings) SetVideoDescription(v *VideoDescription) *PresetSettings {
 20732  	s.VideoDescription = v
 20733  	return s
 20734  }
 20735  
 20736  // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
 20737  // the value PRORES.
 20738  type ProresSettings struct {
 20739  	_ struct{} `type:"structure"`
 20740  
 20741  	// This setting applies only to ProRes 4444 and ProRes 4444 XQ outputs that
 20742  	// you create from inputs that use 4:4:4 chroma sampling. Set Preserve 4:4:4
 20743  	// sampling (PRESERVE_444_SAMPLING) to allow outputs to also use 4:4:4 chroma
 20744  	// sampling. You must specify a value for this setting when your output codec
 20745  	// profile supports 4:4:4 chroma sampling. Related Settings: When you set Chroma
 20746  	// sampling to Preserve 4:4:4 sampling (PRESERVE_444_SAMPLING), you must choose
 20747  	// an output codec profile that supports 4:4:4 chroma sampling. These values
 20748  	// for Profile (CodecProfile) support 4:4:4 chroma sampling: Apple ProRes 4444
 20749  	// (APPLE_PRORES_4444) or Apple ProRes 4444 XQ (APPLE_PRORES_4444_XQ). When
 20750  	// you set Chroma sampling to Preserve 4:4:4 sampling, you must disable all
 20751  	// video preprocessors except for Nexguard file marker (PartnerWatermarking).
 20752  	// When you set Chroma sampling to Preserve 4:4:4 sampling and use framerate
 20753  	// conversion, you must set Frame rate conversion algorithm (FramerateConversionAlgorithm)
 20754  	// to Drop duplicate (DUPLICATE_DROP).
 20755  	ChromaSampling *string `locationName:"chromaSampling" type:"string" enum:"ProresChromaSampling"`
 20756  
 20757  	// Use Profile (ProResCodecProfile) to specify the type of Apple ProRes codec
 20758  	// to use for this output.
 20759  	CodecProfile *string `locationName:"codecProfile" type:"string" enum:"ProresCodecProfile"`
 20760  
 20761  	// If you are using the console, use the Framerate setting to specify the frame
 20762  	// rate for this output. If you want to keep the same frame rate as the input
 20763  	// video, choose Follow source. If you want to do frame rate conversion, choose
 20764  	// a frame rate from the dropdown list or choose Custom. The framerates shown
 20765  	// in the dropdown list are decimal approximations of fractions. If you choose
 20766  	// Custom, specify your frame rate as a fraction. If you are creating your transcoding
 20767  	// job specification as a JSON file without the console, use FramerateControl
 20768  	// to specify which value the service uses for the frame rate for this output.
 20769  	// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 20770  	// from the input. Choose SPECIFIED if you want the service to use the frame
 20771  	// rate you specify in the settings FramerateNumerator and FramerateDenominator.
 20772  	FramerateControl *string `locationName:"framerateControl" type:"string" enum:"ProresFramerateControl"`
 20773  
 20774  	// Choose the method that you want MediaConvert to use when increasing or decreasing
 20775  	// the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 20776  	// simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 20777  	// you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 20778  	// smooth picture, but might introduce undesirable video artifacts. For complex
 20779  	// frame rate conversions, especially if your source video has already been
 20780  	// converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 20781  	// motion-compensated interpolation. FrameFormer chooses the best conversion
 20782  	// method frame by frame. Note that using FrameFormer increases the transcoding
 20783  	// time and incurs a significant add-on cost.
 20784  	FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"ProresFramerateConversionAlgorithm"`
 20785  
 20786  	// When you use the API for transcode jobs that use frame rate conversion, specify
 20787  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
 20788  	// FramerateDenominator to specify the denominator of this fraction. In this
 20789  	// example, use 1001 for the value of FramerateDenominator. When you use the
 20790  	// console for transcode jobs that use frame rate conversion, provide the value
 20791  	// as a decimal number for Framerate. In this example, specify 23.976.
 20792  	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
 20793  
 20794  	// When you use the API for transcode jobs that use frame rate conversion, specify
 20795  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
 20796  	// FramerateNumerator to specify the numerator of this fraction. In this example,
 20797  	// use 24000 for the value of FramerateNumerator. When you use the console for
 20798  	// transcode jobs that use frame rate conversion, provide the value as a decimal
 20799  	// number for Framerate. In this example, specify 23.976.
 20800  	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"`
 20801  
 20802  	// Choose the scan line type for the output. Keep the default value, Progressive
 20803  	// (PROGRESSIVE) to create a progressive output, regardless of the scan type
 20804  	// of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD)
 20805  	// to create an output that's interlaced with the same field polarity throughout.
 20806  	// Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD)
 20807  	// to produce outputs with the same field polarity as the source. For jobs that
 20808  	// have multiple inputs, the output field polarity might change over the course
 20809  	// of the output. Follow behavior depends on the input scan type. If the source
 20810  	// is interlaced, the output will be interlaced with the same polarity as the
 20811  	// source. If the source is progressive, the output will be interlaced with
 20812  	// top field bottom field first, depending on which of the Follow options you
 20813  	// choose.
 20814  	InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"ProresInterlaceMode"`
 20815  
 20816  	// Optional. Specify how the service determines the pixel aspect ratio (PAR)
 20817  	// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE),
 20818  	// uses the PAR from your input video for your output. To specify a different
 20819  	// PAR in the console, choose any value other than Follow source. To specify
 20820  	// a different PAR by editing the JSON job specification, choose SPECIFIED.
 20821  	// When you choose SPECIFIED for this setting, you must also specify values
 20822  	// for the parNumerator and parDenominator settings.
 20823  	ParControl *string `locationName:"parControl" type:"string" enum:"ProresParControl"`
 20824  
 20825  	// Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the
 20826  	// console, this corresponds to any value other than Follow source. When you
 20827  	// specify an output pixel aspect ratio (PAR) that is different from your input
 20828  	// video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC
 20829  	// widescreen, you would specify the ratio 40:33. In this example, the value
 20830  	// for parDenominator is 33.
 20831  	ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"`
 20832  
 20833  	// Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the
 20834  	// console, this corresponds to any value other than Follow source. When you
 20835  	// specify an output pixel aspect ratio (PAR) that is different from your input
 20836  	// video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC
 20837  	// widescreen, you would specify the ratio 40:33. In this example, the value
 20838  	// for parNumerator is 40.
 20839  	ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"`
 20840  
 20841  	// Use this setting for interlaced outputs, when your output frame rate is half
 20842  	// of your input frame rate. In this situation, choose Optimized interlacing
 20843  	// (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this
 20844  	// case, each progressive frame from the input corresponds to an interlaced
 20845  	// field in the output. Keep the default value, Basic interlacing (INTERLACED),
 20846  	// for all other output frame rates. With basic interlacing, MediaConvert performs
 20847  	// any frame rate conversion first and then interlaces the frames. When you
 20848  	// choose Optimized interlacing and you set your output frame rate to a value
 20849  	// that isn't suitable for optimized interlacing, MediaConvert automatically
 20850  	// falls back to basic interlacing. Required settings: To use optimized interlacing,
 20851  	// you must set Telecine (telecine) to None (NONE) or Soft (SOFT). You can't
 20852  	// use optimized interlacing for hard telecine outputs. You must also set Interlace
 20853  	// mode (interlaceMode) to a value other than Progressive (PROGRESSIVE).
 20854  	ScanTypeConversionMode *string `locationName:"scanTypeConversionMode" type:"string" enum:"ProresScanTypeConversionMode"`
 20855  
 20856  	// Ignore this setting unless your input frame rate is 23.976 or 24 frames per
 20857  	// second (fps). Enable slow PAL to create a 25 fps output. When you enable
 20858  	// slow PAL, MediaConvert relabels the video frames to 25 fps and resamples
 20859  	// your audio to keep it synchronized with the video. Note that enabling this
 20860  	// setting will slightly reduce the duration of your video. Required settings:
 20861  	// You must also set Framerate to 25. In your JSON job specification, set (framerateControl)
 20862  	// to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to
 20863  	// 1.
 20864  	SlowPal *string `locationName:"slowPal" type:"string" enum:"ProresSlowPal"`
 20865  
 20866  	// When you do frame rate conversion from 23.976 frames per second (fps) to
 20867  	// 29.97 fps, and your output scan type is interlaced, you can optionally enable
 20868  	// hard telecine (HARD) to create a smoother picture. When you keep the default
 20869  	// value, None (NONE), MediaConvert does a standard frame rate conversion to
 20870  	// 29.97 without doing anything with the field polarity to create a smoother
 20871  	// picture.
 20872  	Telecine *string `locationName:"telecine" type:"string" enum:"ProresTelecine"`
 20873  }
 20874  
 20875  // String returns the string representation.
 20876  //
 20877  // API parameter values that are decorated as "sensitive" in the API will not
 20878  // be included in the string output. The member name will be present, but the
 20879  // value will be replaced with "sensitive".
 20880  func (s ProresSettings) String() string {
 20881  	return awsutil.Prettify(s)
 20882  }
 20883  
 20884  // GoString returns the string representation.
 20885  //
 20886  // API parameter values that are decorated as "sensitive" in the API will not
 20887  // be included in the string output. The member name will be present, but the
 20888  // value will be replaced with "sensitive".
 20889  func (s ProresSettings) GoString() string {
 20890  	return s.String()
 20891  }
 20892  
 20893  // Validate inspects the fields of the type to determine if they are valid.
 20894  func (s *ProresSettings) Validate() error {
 20895  	invalidParams := request.ErrInvalidParams{Context: "ProresSettings"}
 20896  	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
 20897  		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
 20898  	}
 20899  	if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 {
 20900  		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1))
 20901  	}
 20902  	if s.ParDenominator != nil && *s.ParDenominator < 1 {
 20903  		invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1))
 20904  	}
 20905  	if s.ParNumerator != nil && *s.ParNumerator < 1 {
 20906  		invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1))
 20907  	}
 20908  
 20909  	if invalidParams.Len() > 0 {
 20910  		return invalidParams
 20911  	}
 20912  	return nil
 20913  }
 20914  
 20915  // SetChromaSampling sets the ChromaSampling field's value.
 20916  func (s *ProresSettings) SetChromaSampling(v string) *ProresSettings {
 20917  	s.ChromaSampling = &v
 20918  	return s
 20919  }
 20920  
 20921  // SetCodecProfile sets the CodecProfile field's value.
 20922  func (s *ProresSettings) SetCodecProfile(v string) *ProresSettings {
 20923  	s.CodecProfile = &v
 20924  	return s
 20925  }
 20926  
 20927  // SetFramerateControl sets the FramerateControl field's value.
 20928  func (s *ProresSettings) SetFramerateControl(v string) *ProresSettings {
 20929  	s.FramerateControl = &v
 20930  	return s
 20931  }
 20932  
 20933  // SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value.
 20934  func (s *ProresSettings) SetFramerateConversionAlgorithm(v string) *ProresSettings {
 20935  	s.FramerateConversionAlgorithm = &v
 20936  	return s
 20937  }
 20938  
 20939  // SetFramerateDenominator sets the FramerateDenominator field's value.
 20940  func (s *ProresSettings) SetFramerateDenominator(v int64) *ProresSettings {
 20941  	s.FramerateDenominator = &v
 20942  	return s
 20943  }
 20944  
 20945  // SetFramerateNumerator sets the FramerateNumerator field's value.
 20946  func (s *ProresSettings) SetFramerateNumerator(v int64) *ProresSettings {
 20947  	s.FramerateNumerator = &v
 20948  	return s
 20949  }
 20950  
 20951  // SetInterlaceMode sets the InterlaceMode field's value.
 20952  func (s *ProresSettings) SetInterlaceMode(v string) *ProresSettings {
 20953  	s.InterlaceMode = &v
 20954  	return s
 20955  }
 20956  
 20957  // SetParControl sets the ParControl field's value.
 20958  func (s *ProresSettings) SetParControl(v string) *ProresSettings {
 20959  	s.ParControl = &v
 20960  	return s
 20961  }
 20962  
 20963  // SetParDenominator sets the ParDenominator field's value.
 20964  func (s *ProresSettings) SetParDenominator(v int64) *ProresSettings {
 20965  	s.ParDenominator = &v
 20966  	return s
 20967  }
 20968  
 20969  // SetParNumerator sets the ParNumerator field's value.
 20970  func (s *ProresSettings) SetParNumerator(v int64) *ProresSettings {
 20971  	s.ParNumerator = &v
 20972  	return s
 20973  }
 20974  
 20975  // SetScanTypeConversionMode sets the ScanTypeConversionMode field's value.
 20976  func (s *ProresSettings) SetScanTypeConversionMode(v string) *ProresSettings {
 20977  	s.ScanTypeConversionMode = &v
 20978  	return s
 20979  }
 20980  
 20981  // SetSlowPal sets the SlowPal field's value.
 20982  func (s *ProresSettings) SetSlowPal(v string) *ProresSettings {
 20983  	s.SlowPal = &v
 20984  	return s
 20985  }
 20986  
 20987  // SetTelecine sets the Telecine field's value.
 20988  func (s *ProresSettings) SetTelecine(v string) *ProresSettings {
 20989  	s.Telecine = &v
 20990  	return s
 20991  }
 20992  
 20993  // Create or change a policy by sending a request that includes your policy
 20994  // in JSON.
 20995  type PutPolicyInput struct {
 20996  	_ struct{} `type:"structure"`
 20997  
 20998  	// A policy configures behavior that you allow or disallow for your account.
 20999  	// For information about MediaConvert policies, see the user guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
 21000  	//
 21001  	// Policy is a required field
 21002  	Policy *Policy `locationName:"policy" type:"structure" required:"true"`
 21003  }
 21004  
 21005  // String returns the string representation.
 21006  //
 21007  // API parameter values that are decorated as "sensitive" in the API will not
 21008  // be included in the string output. The member name will be present, but the
 21009  // value will be replaced with "sensitive".
 21010  func (s PutPolicyInput) String() string {
 21011  	return awsutil.Prettify(s)
 21012  }
 21013  
 21014  // GoString returns the string representation.
 21015  //
 21016  // API parameter values that are decorated as "sensitive" in the API will not
 21017  // be included in the string output. The member name will be present, but the
 21018  // value will be replaced with "sensitive".
 21019  func (s PutPolicyInput) GoString() string {
 21020  	return s.String()
 21021  }
 21022  
 21023  // Validate inspects the fields of the type to determine if they are valid.
 21024  func (s *PutPolicyInput) Validate() error {
 21025  	invalidParams := request.ErrInvalidParams{Context: "PutPolicyInput"}
 21026  	if s.Policy == nil {
 21027  		invalidParams.Add(request.NewErrParamRequired("Policy"))
 21028  	}
 21029  
 21030  	if invalidParams.Len() > 0 {
 21031  		return invalidParams
 21032  	}
 21033  	return nil
 21034  }
 21035  
 21036  // SetPolicy sets the Policy field's value.
 21037  func (s *PutPolicyInput) SetPolicy(v *Policy) *PutPolicyInput {
 21038  	s.Policy = v
 21039  	return s
 21040  }
 21041  
 21042  // Successful PUT policy requests will return your policy.
 21043  type PutPolicyOutput struct {
 21044  	_ struct{} `type:"structure"`
 21045  
 21046  	// A policy configures behavior that you allow or disallow for your account.
 21047  	// For information about MediaConvert policies, see the user guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
 21048  	Policy *Policy `locationName:"policy" type:"structure"`
 21049  }
 21050  
 21051  // String returns the string representation.
 21052  //
 21053  // API parameter values that are decorated as "sensitive" in the API will not
 21054  // be included in the string output. The member name will be present, but the
 21055  // value will be replaced with "sensitive".
 21056  func (s PutPolicyOutput) String() string {
 21057  	return awsutil.Prettify(s)
 21058  }
 21059  
 21060  // GoString returns the string representation.
 21061  //
 21062  // API parameter values that are decorated as "sensitive" in the API will not
 21063  // be included in the string output. The member name will be present, but the
 21064  // value will be replaced with "sensitive".
 21065  func (s PutPolicyOutput) GoString() string {
 21066  	return s.String()
 21067  }
 21068  
 21069  // SetPolicy sets the Policy field's value.
 21070  func (s *PutPolicyOutput) SetPolicy(v *Policy) *PutPolicyOutput {
 21071  	s.Policy = v
 21072  	return s
 21073  }
 21074  
 21075  // You can use queues to manage the resources that are available to your AWS
 21076  // account for running multiple transcoding jobs at the same time. If you don't
 21077  // specify a queue, the service sends all jobs through the default queue. For
 21078  // more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html.
 21079  type Queue struct {
 21080  	_ struct{} `type:"structure"`
 21081  
 21082  	// An identifier for this resource that is unique within all of AWS.
 21083  	Arn *string `locationName:"arn" type:"string"`
 21084  
 21085  	// The timestamp in epoch seconds for when you created the queue.
 21086  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unixTimestamp"`
 21087  
 21088  	// An optional description that you create for each queue.
 21089  	Description *string `locationName:"description" type:"string"`
 21090  
 21091  	// The timestamp in epoch seconds for when you most recently updated the queue.
 21092  	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp" timestampFormat:"unixTimestamp"`
 21093  
 21094  	// A name that you create for each queue. Each name must be unique within your
 21095  	// account.
 21096  	//
 21097  	// Name is a required field
 21098  	Name *string `locationName:"name" type:"string" required:"true"`
 21099  
 21100  	// Specifies whether the pricing plan for the queue is on-demand or reserved.
 21101  	// For on-demand, you pay per minute, billed in increments of .01 minute. For
 21102  	// reserved, you pay for the transcoding capacity of the entire queue, regardless
 21103  	// of how much or how little you use it. Reserved pricing requires a 12-month
 21104  	// commitment.
 21105  	PricingPlan *string `locationName:"pricingPlan" type:"string" enum:"PricingPlan"`
 21106  
 21107  	// The estimated number of jobs with a PROGRESSING status.
 21108  	ProgressingJobsCount *int64 `locationName:"progressingJobsCount" type:"integer"`
 21109  
 21110  	// Details about the pricing plan for your reserved queue. Required for reserved
 21111  	// queues and not applicable to on-demand queues.
 21112  	ReservationPlan *ReservationPlan `locationName:"reservationPlan" type:"structure"`
 21113  
 21114  	// Queues can be ACTIVE or PAUSED. If you pause a queue, the service won't begin
 21115  	// processing jobs in that queue. Jobs that are running when you pause the queue
 21116  	// continue to run until they finish or result in an error.
 21117  	Status *string `locationName:"status" type:"string" enum:"QueueStatus"`
 21118  
 21119  	// The estimated number of jobs with a SUBMITTED status.
 21120  	SubmittedJobsCount *int64 `locationName:"submittedJobsCount" type:"integer"`
 21121  
 21122  	// Specifies whether this on-demand queue is system or custom. System queues
 21123  	// are built in. You can't modify or delete system queues. You can create and
 21124  	// modify custom queues.
 21125  	Type *string `locationName:"type" type:"string" enum:"Type"`
 21126  }
 21127  
 21128  // String returns the string representation.
 21129  //
 21130  // API parameter values that are decorated as "sensitive" in the API will not
 21131  // be included in the string output. The member name will be present, but the
 21132  // value will be replaced with "sensitive".
 21133  func (s Queue) String() string {
 21134  	return awsutil.Prettify(s)
 21135  }
 21136  
 21137  // GoString returns the string representation.
 21138  //
 21139  // API parameter values that are decorated as "sensitive" in the API will not
 21140  // be included in the string output. The member name will be present, but the
 21141  // value will be replaced with "sensitive".
 21142  func (s Queue) GoString() string {
 21143  	return s.String()
 21144  }
 21145  
 21146  // SetArn sets the Arn field's value.
 21147  func (s *Queue) SetArn(v string) *Queue {
 21148  	s.Arn = &v
 21149  	return s
 21150  }
 21151  
 21152  // SetCreatedAt sets the CreatedAt field's value.
 21153  func (s *Queue) SetCreatedAt(v time.Time) *Queue {
 21154  	s.CreatedAt = &v
 21155  	return s
 21156  }
 21157  
 21158  // SetDescription sets the Description field's value.
 21159  func (s *Queue) SetDescription(v string) *Queue {
 21160  	s.Description = &v
 21161  	return s
 21162  }
 21163  
 21164  // SetLastUpdated sets the LastUpdated field's value.
 21165  func (s *Queue) SetLastUpdated(v time.Time) *Queue {
 21166  	s.LastUpdated = &v
 21167  	return s
 21168  }
 21169  
 21170  // SetName sets the Name field's value.
 21171  func (s *Queue) SetName(v string) *Queue {
 21172  	s.Name = &v
 21173  	return s
 21174  }
 21175  
 21176  // SetPricingPlan sets the PricingPlan field's value.
 21177  func (s *Queue) SetPricingPlan(v string) *Queue {
 21178  	s.PricingPlan = &v
 21179  	return s
 21180  }
 21181  
 21182  // SetProgressingJobsCount sets the ProgressingJobsCount field's value.
 21183  func (s *Queue) SetProgressingJobsCount(v int64) *Queue {
 21184  	s.ProgressingJobsCount = &v
 21185  	return s
 21186  }
 21187  
 21188  // SetReservationPlan sets the ReservationPlan field's value.
 21189  func (s *Queue) SetReservationPlan(v *ReservationPlan) *Queue {
 21190  	s.ReservationPlan = v
 21191  	return s
 21192  }
 21193  
 21194  // SetStatus sets the Status field's value.
 21195  func (s *Queue) SetStatus(v string) *Queue {
 21196  	s.Status = &v
 21197  	return s
 21198  }
 21199  
 21200  // SetSubmittedJobsCount sets the SubmittedJobsCount field's value.
 21201  func (s *Queue) SetSubmittedJobsCount(v int64) *Queue {
 21202  	s.SubmittedJobsCount = &v
 21203  	return s
 21204  }
 21205  
 21206  // SetType sets the Type field's value.
 21207  func (s *Queue) SetType(v string) *Queue {
 21208  	s.Type = &v
 21209  	return s
 21210  }
 21211  
 21212  // Description of the source and destination queues between which the job has
 21213  // moved, along with the timestamp of the move
 21214  type QueueTransition struct {
 21215  	_ struct{} `type:"structure"`
 21216  
 21217  	// The queue that the job was on after the transition.
 21218  	DestinationQueue *string `locationName:"destinationQueue" type:"string"`
 21219  
 21220  	// The queue that the job was on before the transition.
 21221  	SourceQueue *string `locationName:"sourceQueue" type:"string"`
 21222  
 21223  	// The time, in Unix epoch format, that the job moved from the source queue
 21224  	// to the destination queue.
 21225  	Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"unixTimestamp"`
 21226  }
 21227  
 21228  // String returns the string representation.
 21229  //
 21230  // API parameter values that are decorated as "sensitive" in the API will not
 21231  // be included in the string output. The member name will be present, but the
 21232  // value will be replaced with "sensitive".
 21233  func (s QueueTransition) String() string {
 21234  	return awsutil.Prettify(s)
 21235  }
 21236  
 21237  // GoString returns the string representation.
 21238  //
 21239  // API parameter values that are decorated as "sensitive" in the API will not
 21240  // be included in the string output. The member name will be present, but the
 21241  // value will be replaced with "sensitive".
 21242  func (s QueueTransition) GoString() string {
 21243  	return s.String()
 21244  }
 21245  
 21246  // SetDestinationQueue sets the DestinationQueue field's value.
 21247  func (s *QueueTransition) SetDestinationQueue(v string) *QueueTransition {
 21248  	s.DestinationQueue = &v
 21249  	return s
 21250  }
 21251  
 21252  // SetSourceQueue sets the SourceQueue field's value.
 21253  func (s *QueueTransition) SetSourceQueue(v string) *QueueTransition {
 21254  	s.SourceQueue = &v
 21255  	return s
 21256  }
 21257  
 21258  // SetTimestamp sets the Timestamp field's value.
 21259  func (s *QueueTransition) SetTimestamp(v time.Time) *QueueTransition {
 21260  	s.Timestamp = &v
 21261  	return s
 21262  }
 21263  
 21264  // Use Rectangle to identify a specific area of the video frame.
 21265  type Rectangle struct {
 21266  	_ struct{} `type:"structure"`
 21267  
 21268  	// Height of rectangle in pixels. Specify only even numbers.
 21269  	Height *int64 `locationName:"height" min:"2" type:"integer"`
 21270  
 21271  	// Width of rectangle in pixels. Specify only even numbers.
 21272  	Width *int64 `locationName:"width" min:"2" type:"integer"`
 21273  
 21274  	// The distance, in pixels, between the rectangle and the left edge of the video
 21275  	// frame. Specify only even numbers.
 21276  	X *int64 `locationName:"x" type:"integer"`
 21277  
 21278  	// The distance, in pixels, between the rectangle and the top edge of the video
 21279  	// frame. Specify only even numbers.
 21280  	Y *int64 `locationName:"y" type:"integer"`
 21281  }
 21282  
 21283  // String returns the string representation.
 21284  //
 21285  // API parameter values that are decorated as "sensitive" in the API will not
 21286  // be included in the string output. The member name will be present, but the
 21287  // value will be replaced with "sensitive".
 21288  func (s Rectangle) String() string {
 21289  	return awsutil.Prettify(s)
 21290  }
 21291  
 21292  // GoString returns the string representation.
 21293  //
 21294  // API parameter values that are decorated as "sensitive" in the API will not
 21295  // be included in the string output. The member name will be present, but the
 21296  // value will be replaced with "sensitive".
 21297  func (s Rectangle) GoString() string {
 21298  	return s.String()
 21299  }
 21300  
 21301  // Validate inspects the fields of the type to determine if they are valid.
 21302  func (s *Rectangle) Validate() error {
 21303  	invalidParams := request.ErrInvalidParams{Context: "Rectangle"}
 21304  	if s.Height != nil && *s.Height < 2 {
 21305  		invalidParams.Add(request.NewErrParamMinValue("Height", 2))
 21306  	}
 21307  	if s.Width != nil && *s.Width < 2 {
 21308  		invalidParams.Add(request.NewErrParamMinValue("Width", 2))
 21309  	}
 21310  
 21311  	if invalidParams.Len() > 0 {
 21312  		return invalidParams
 21313  	}
 21314  	return nil
 21315  }
 21316  
 21317  // SetHeight sets the Height field's value.
 21318  func (s *Rectangle) SetHeight(v int64) *Rectangle {
 21319  	s.Height = &v
 21320  	return s
 21321  }
 21322  
 21323  // SetWidth sets the Width field's value.
 21324  func (s *Rectangle) SetWidth(v int64) *Rectangle {
 21325  	s.Width = &v
 21326  	return s
 21327  }
 21328  
 21329  // SetX sets the X field's value.
 21330  func (s *Rectangle) SetX(v int64) *Rectangle {
 21331  	s.X = &v
 21332  	return s
 21333  }
 21334  
 21335  // SetY sets the Y field's value.
 21336  func (s *Rectangle) SetY(v int64) *Rectangle {
 21337  	s.Y = &v
 21338  	return s
 21339  }
 21340  
 21341  // Use Manual audio remixing (RemixSettings) to adjust audio levels for each
 21342  // audio channel in each output of your job. With audio remixing, you can output
 21343  // more or fewer audio channels than your input audio source provides.
 21344  type RemixSettings struct {
 21345  	_ struct{} `type:"structure"`
 21346  
 21347  	// Channel mapping (ChannelMapping) contains the group of fields that hold the
 21348  	// remixing value for each channel, in dB. Specify remix values to indicate
 21349  	// how much of the content from your input audio channel you want in your output
 21350  	// audio channels. Each instance of the InputChannels or InputChannelsFineTune
 21351  	// array specifies these values for one output channel. Use one instance of
 21352  	// this array for each output channel. In the console, each array corresponds
 21353  	// to a column in the graphical depiction of the mapping matrix. The rows of
 21354  	// the graphical matrix correspond to input channels. Valid values are within
 21355  	// the range from -60 (mute) through 6. A setting of 0 passes the input channel
 21356  	// unchanged to the output channel (no attenuation or amplification). Use InputChannels
 21357  	// or InputChannelsFineTune to specify your remix values. Don't use both.
 21358  	ChannelMapping *ChannelMapping `locationName:"channelMapping" type:"structure"`
 21359  
 21360  	// Specify the number of audio channels from your input that you want to use
 21361  	// in your output. With remixing, you might combine or split the data in these
 21362  	// channels, so the number of channels in your final output might be different.
 21363  	// If you are doing both input channel mapping and output channel mapping, the
 21364  	// number of output channels in your input mapping must be the same as the number
 21365  	// of input channels in your output mapping.
 21366  	ChannelsIn *int64 `locationName:"channelsIn" min:"1" type:"integer"`
 21367  
 21368  	// Specify the number of channels in this output after remixing. Valid values:
 21369  	// 1, 2, 4, 6, 8... 64. (1 and even numbers to 64.) If you are doing both input
 21370  	// channel mapping and output channel mapping, the number of output channels
 21371  	// in your input mapping must be the same as the number of input channels in
 21372  	// your output mapping.
 21373  	ChannelsOut *int64 `locationName:"channelsOut" min:"1" type:"integer"`
 21374  }
 21375  
 21376  // String returns the string representation.
 21377  //
 21378  // API parameter values that are decorated as "sensitive" in the API will not
 21379  // be included in the string output. The member name will be present, but the
 21380  // value will be replaced with "sensitive".
 21381  func (s RemixSettings) String() string {
 21382  	return awsutil.Prettify(s)
 21383  }
 21384  
 21385  // GoString returns the string representation.
 21386  //
 21387  // API parameter values that are decorated as "sensitive" in the API will not
 21388  // be included in the string output. The member name will be present, but the
 21389  // value will be replaced with "sensitive".
 21390  func (s RemixSettings) GoString() string {
 21391  	return s.String()
 21392  }
 21393  
 21394  // Validate inspects the fields of the type to determine if they are valid.
 21395  func (s *RemixSettings) Validate() error {
 21396  	invalidParams := request.ErrInvalidParams{Context: "RemixSettings"}
 21397  	if s.ChannelsIn != nil && *s.ChannelsIn < 1 {
 21398  		invalidParams.Add(request.NewErrParamMinValue("ChannelsIn", 1))
 21399  	}
 21400  	if s.ChannelsOut != nil && *s.ChannelsOut < 1 {
 21401  		invalidParams.Add(request.NewErrParamMinValue("ChannelsOut", 1))
 21402  	}
 21403  
 21404  	if invalidParams.Len() > 0 {
 21405  		return invalidParams
 21406  	}
 21407  	return nil
 21408  }
 21409  
 21410  // SetChannelMapping sets the ChannelMapping field's value.
 21411  func (s *RemixSettings) SetChannelMapping(v *ChannelMapping) *RemixSettings {
 21412  	s.ChannelMapping = v
 21413  	return s
 21414  }
 21415  
 21416  // SetChannelsIn sets the ChannelsIn field's value.
 21417  func (s *RemixSettings) SetChannelsIn(v int64) *RemixSettings {
 21418  	s.ChannelsIn = &v
 21419  	return s
 21420  }
 21421  
 21422  // SetChannelsOut sets the ChannelsOut field's value.
 21423  func (s *RemixSettings) SetChannelsOut(v int64) *RemixSettings {
 21424  	s.ChannelsOut = &v
 21425  	return s
 21426  }
 21427  
 21428  // Details about the pricing plan for your reserved queue. Required for reserved
 21429  // queues and not applicable to on-demand queues.
 21430  type ReservationPlan struct {
 21431  	_ struct{} `type:"structure"`
 21432  
 21433  	// The length of the term of your reserved queue pricing plan commitment.
 21434  	Commitment *string `locationName:"commitment" type:"string" enum:"Commitment"`
 21435  
 21436  	// The timestamp in epoch seconds for when the current pricing plan term for
 21437  	// this reserved queue expires.
 21438  	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp" timestampFormat:"unixTimestamp"`
 21439  
 21440  	// The timestamp in epoch seconds for when you set up the current pricing plan
 21441  	// for this reserved queue.
 21442  	PurchasedAt *time.Time `locationName:"purchasedAt" type:"timestamp" timestampFormat:"unixTimestamp"`
 21443  
 21444  	// Specifies whether the term of your reserved queue pricing plan is automatically
 21445  	// extended (AUTO_RENEW) or expires (EXPIRE) at the end of the term.
 21446  	RenewalType *string `locationName:"renewalType" type:"string" enum:"RenewalType"`
 21447  
 21448  	// Specifies the number of reserved transcode slots (RTS) for this queue. The
 21449  	// number of RTS determines how many jobs the queue can process in parallel;
 21450  	// each RTS can process one job at a time. When you increase this number, you
 21451  	// extend your existing commitment with a new 12-month commitment for a larger
 21452  	// number of RTS. The new commitment begins when you purchase the additional
 21453  	// capacity. You can't decrease the number of RTS in your reserved queue.
 21454  	ReservedSlots *int64 `locationName:"reservedSlots" type:"integer"`
 21455  
 21456  	// Specifies whether the pricing plan for your reserved queue is ACTIVE or EXPIRED.
 21457  	Status *string `locationName:"status" type:"string" enum:"ReservationPlanStatus"`
 21458  }
 21459  
 21460  // String returns the string representation.
 21461  //
 21462  // API parameter values that are decorated as "sensitive" in the API will not
 21463  // be included in the string output. The member name will be present, but the
 21464  // value will be replaced with "sensitive".
 21465  func (s ReservationPlan) String() string {
 21466  	return awsutil.Prettify(s)
 21467  }
 21468  
 21469  // GoString returns the string representation.
 21470  //
 21471  // API parameter values that are decorated as "sensitive" in the API will not
 21472  // be included in the string output. The member name will be present, but the
 21473  // value will be replaced with "sensitive".
 21474  func (s ReservationPlan) GoString() string {
 21475  	return s.String()
 21476  }
 21477  
 21478  // SetCommitment sets the Commitment field's value.
 21479  func (s *ReservationPlan) SetCommitment(v string) *ReservationPlan {
 21480  	s.Commitment = &v
 21481  	return s
 21482  }
 21483  
 21484  // SetExpiresAt sets the ExpiresAt field's value.
 21485  func (s *ReservationPlan) SetExpiresAt(v time.Time) *ReservationPlan {
 21486  	s.ExpiresAt = &v
 21487  	return s
 21488  }
 21489  
 21490  // SetPurchasedAt sets the PurchasedAt field's value.
 21491  func (s *ReservationPlan) SetPurchasedAt(v time.Time) *ReservationPlan {
 21492  	s.PurchasedAt = &v
 21493  	return s
 21494  }
 21495  
 21496  // SetRenewalType sets the RenewalType field's value.
 21497  func (s *ReservationPlan) SetRenewalType(v string) *ReservationPlan {
 21498  	s.RenewalType = &v
 21499  	return s
 21500  }
 21501  
 21502  // SetReservedSlots sets the ReservedSlots field's value.
 21503  func (s *ReservationPlan) SetReservedSlots(v int64) *ReservationPlan {
 21504  	s.ReservedSlots = &v
 21505  	return s
 21506  }
 21507  
 21508  // SetStatus sets the Status field's value.
 21509  func (s *ReservationPlan) SetStatus(v string) *ReservationPlan {
 21510  	s.Status = &v
 21511  	return s
 21512  }
 21513  
 21514  // Details about the pricing plan for your reserved queue. Required for reserved
 21515  // queues and not applicable to on-demand queues.
 21516  type ReservationPlanSettings struct {
 21517  	_ struct{} `type:"structure"`
 21518  
 21519  	// The length of the term of your reserved queue pricing plan commitment.
 21520  	//
 21521  	// Commitment is a required field
 21522  	Commitment *string `locationName:"commitment" type:"string" required:"true" enum:"Commitment"`
 21523  
 21524  	// Specifies whether the term of your reserved queue pricing plan is automatically
 21525  	// extended (AUTO_RENEW) or expires (EXPIRE) at the end of the term. When your
 21526  	// term is auto renewed, you extend your commitment by 12 months from the auto
 21527  	// renew date. You can cancel this commitment.
 21528  	//
 21529  	// RenewalType is a required field
 21530  	RenewalType *string `locationName:"renewalType" type:"string" required:"true" enum:"RenewalType"`
 21531  
 21532  	// Specifies the number of reserved transcode slots (RTS) for this queue. The
 21533  	// number of RTS determines how many jobs the queue can process in parallel;
 21534  	// each RTS can process one job at a time. You can't decrease the number of
 21535  	// RTS in your reserved queue. You can increase the number of RTS by extending
 21536  	// your existing commitment with a new 12-month commitment for the larger number.
 21537  	// The new commitment begins when you purchase the additional capacity. You
 21538  	// can't cancel your commitment or revert to your original commitment after
 21539  	// you increase the capacity.
 21540  	//
 21541  	// ReservedSlots is a required field
 21542  	ReservedSlots *int64 `locationName:"reservedSlots" type:"integer" required:"true"`
 21543  }
 21544  
 21545  // String returns the string representation.
 21546  //
 21547  // API parameter values that are decorated as "sensitive" in the API will not
 21548  // be included in the string output. The member name will be present, but the
 21549  // value will be replaced with "sensitive".
 21550  func (s ReservationPlanSettings) String() string {
 21551  	return awsutil.Prettify(s)
 21552  }
 21553  
 21554  // GoString returns the string representation.
 21555  //
 21556  // API parameter values that are decorated as "sensitive" in the API will not
 21557  // be included in the string output. The member name will be present, but the
 21558  // value will be replaced with "sensitive".
 21559  func (s ReservationPlanSettings) GoString() string {
 21560  	return s.String()
 21561  }
 21562  
 21563  // Validate inspects the fields of the type to determine if they are valid.
 21564  func (s *ReservationPlanSettings) Validate() error {
 21565  	invalidParams := request.ErrInvalidParams{Context: "ReservationPlanSettings"}
 21566  	if s.Commitment == nil {
 21567  		invalidParams.Add(request.NewErrParamRequired("Commitment"))
 21568  	}
 21569  	if s.RenewalType == nil {
 21570  		invalidParams.Add(request.NewErrParamRequired("RenewalType"))
 21571  	}
 21572  	if s.ReservedSlots == nil {
 21573  		invalidParams.Add(request.NewErrParamRequired("ReservedSlots"))
 21574  	}
 21575  
 21576  	if invalidParams.Len() > 0 {
 21577  		return invalidParams
 21578  	}
 21579  	return nil
 21580  }
 21581  
 21582  // SetCommitment sets the Commitment field's value.
 21583  func (s *ReservationPlanSettings) SetCommitment(v string) *ReservationPlanSettings {
 21584  	s.Commitment = &v
 21585  	return s
 21586  }
 21587  
 21588  // SetRenewalType sets the RenewalType field's value.
 21589  func (s *ReservationPlanSettings) SetRenewalType(v string) *ReservationPlanSettings {
 21590  	s.RenewalType = &v
 21591  	return s
 21592  }
 21593  
 21594  // SetReservedSlots sets the ReservedSlots field's value.
 21595  func (s *ReservationPlanSettings) SetReservedSlots(v int64) *ReservationPlanSettings {
 21596  	s.ReservedSlots = &v
 21597  	return s
 21598  }
 21599  
 21600  // The Amazon Resource Name (ARN) and tags for an AWS Elemental MediaConvert
 21601  // resource.
 21602  type ResourceTags struct {
 21603  	_ struct{} `type:"structure"`
 21604  
 21605  	// The Amazon Resource Name (ARN) of the resource.
 21606  	Arn *string `locationName:"arn" type:"string"`
 21607  
 21608  	// The tags for the resource.
 21609  	Tags map[string]*string `locationName:"tags" type:"map"`
 21610  }
 21611  
 21612  // String returns the string representation.
 21613  //
 21614  // API parameter values that are decorated as "sensitive" in the API will not
 21615  // be included in the string output. The member name will be present, but the
 21616  // value will be replaced with "sensitive".
 21617  func (s ResourceTags) String() string {
 21618  	return awsutil.Prettify(s)
 21619  }
 21620  
 21621  // GoString returns the string representation.
 21622  //
 21623  // API parameter values that are decorated as "sensitive" in the API will not
 21624  // be included in the string output. The member name will be present, but the
 21625  // value will be replaced with "sensitive".
 21626  func (s ResourceTags) GoString() string {
 21627  	return s.String()
 21628  }
 21629  
 21630  // SetArn sets the Arn field's value.
 21631  func (s *ResourceTags) SetArn(v string) *ResourceTags {
 21632  	s.Arn = &v
 21633  	return s
 21634  }
 21635  
 21636  // SetTags sets the Tags field's value.
 21637  func (s *ResourceTags) SetTags(v map[string]*string) *ResourceTags {
 21638  	s.Tags = v
 21639  	return s
 21640  }
 21641  
 21642  // Optional. Have MediaConvert automatically apply Amazon S3 access control
 21643  // for the outputs in this output group. When you don't use this setting, S3
 21644  // automatically applies the default access control list PRIVATE.
 21645  type S3DestinationAccessControl struct {
 21646  	_ struct{} `type:"structure"`
 21647  
 21648  	// Choose an Amazon S3 canned ACL for MediaConvert to apply to this output.
 21649  	CannedAcl *string `locationName:"cannedAcl" type:"string" enum:"S3ObjectCannedAcl"`
 21650  }
 21651  
 21652  // String returns the string representation.
 21653  //
 21654  // API parameter values that are decorated as "sensitive" in the API will not
 21655  // be included in the string output. The member name will be present, but the
 21656  // value will be replaced with "sensitive".
 21657  func (s S3DestinationAccessControl) String() string {
 21658  	return awsutil.Prettify(s)
 21659  }
 21660  
 21661  // GoString returns the string representation.
 21662  //
 21663  // API parameter values that are decorated as "sensitive" in the API will not
 21664  // be included in the string output. The member name will be present, but the
 21665  // value will be replaced with "sensitive".
 21666  func (s S3DestinationAccessControl) GoString() string {
 21667  	return s.String()
 21668  }
 21669  
 21670  // SetCannedAcl sets the CannedAcl field's value.
 21671  func (s *S3DestinationAccessControl) SetCannedAcl(v string) *S3DestinationAccessControl {
 21672  	s.CannedAcl = &v
 21673  	return s
 21674  }
 21675  
 21676  // Settings associated with S3 destination
 21677  type S3DestinationSettings struct {
 21678  	_ struct{} `type:"structure"`
 21679  
 21680  	// Optional. Have MediaConvert automatically apply Amazon S3 access control
 21681  	// for the outputs in this output group. When you don't use this setting, S3
 21682  	// automatically applies the default access control list PRIVATE.
 21683  	AccessControl *S3DestinationAccessControl `locationName:"accessControl" type:"structure"`
 21684  
 21685  	// Settings for how your job outputs are encrypted as they are uploaded to Amazon
 21686  	// S3.
 21687  	Encryption *S3EncryptionSettings `locationName:"encryption" type:"structure"`
 21688  }
 21689  
 21690  // String returns the string representation.
 21691  //
 21692  // API parameter values that are decorated as "sensitive" in the API will not
 21693  // be included in the string output. The member name will be present, but the
 21694  // value will be replaced with "sensitive".
 21695  func (s S3DestinationSettings) String() string {
 21696  	return awsutil.Prettify(s)
 21697  }
 21698  
 21699  // GoString returns the string representation.
 21700  //
 21701  // API parameter values that are decorated as "sensitive" in the API will not
 21702  // be included in the string output. The member name will be present, but the
 21703  // value will be replaced with "sensitive".
 21704  func (s S3DestinationSettings) GoString() string {
 21705  	return s.String()
 21706  }
 21707  
 21708  // SetAccessControl sets the AccessControl field's value.
 21709  func (s *S3DestinationSettings) SetAccessControl(v *S3DestinationAccessControl) *S3DestinationSettings {
 21710  	s.AccessControl = v
 21711  	return s
 21712  }
 21713  
 21714  // SetEncryption sets the Encryption field's value.
 21715  func (s *S3DestinationSettings) SetEncryption(v *S3EncryptionSettings) *S3DestinationSettings {
 21716  	s.Encryption = v
 21717  	return s
 21718  }
 21719  
 21720  // Settings for how your job outputs are encrypted as they are uploaded to Amazon
 21721  // S3.
 21722  type S3EncryptionSettings struct {
 21723  	_ struct{} `type:"structure"`
 21724  
 21725  	// Specify how you want your data keys managed. AWS uses data keys to encrypt
 21726  	// your content. AWS also encrypts the data keys themselves, using a customer
 21727  	// master key (CMK), and then stores the encrypted data keys alongside your
 21728  	// encrypted content. Use this setting to specify which AWS service manages
 21729  	// the CMK. For simplest set up, choose Amazon S3 (SERVER_SIDE_ENCRYPTION_S3).
 21730  	// If you want your master key to be managed by AWS Key Management Service (KMS),
 21731  	// choose AWS KMS (SERVER_SIDE_ENCRYPTION_KMS). By default, when you choose
 21732  	// AWS KMS, KMS uses the AWS managed customer master key (CMK) associated with
 21733  	// Amazon S3 to encrypt your data keys. You can optionally choose to specify
 21734  	// a different, customer managed CMK. Do so by specifying the Amazon Resource
 21735  	// Name (ARN) of the key for the setting KMS ARN (kmsKeyArn).
 21736  	EncryptionType *string `locationName:"encryptionType" type:"string" enum:"S3ServerSideEncryptionType"`
 21737  
 21738  	// Optionally, specify the encryption context that you want to use alongside
 21739  	// your KMS key. AWS KMS uses this encryption context as additional authenticated
 21740  	// data (AAD) to support authenticated encryption. This value must be a base64-encoded
 21741  	// UTF-8 string holding JSON which represents a string-string map. To use this
 21742  	// setting, you must also set Server-side encryption (S3ServerSideEncryptionType)
 21743  	// to AWS KMS (SERVER_SIDE_ENCRYPTION_KMS). For more information about encryption
 21744  	// context, see: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context.
 21745  	KmsEncryptionContext *string `locationName:"kmsEncryptionContext" type:"string"`
 21746  
 21747  	// Optionally, specify the customer master key (CMK) that you want to use to
 21748  	// encrypt the data key that AWS uses to encrypt your output content. Enter
 21749  	// the Amazon Resource Name (ARN) of the CMK. To use this setting, you must
 21750  	// also set Server-side encryption (S3ServerSideEncryptionType) to AWS KMS (SERVER_SIDE_ENCRYPTION_KMS).
 21751  	// If you set Server-side encryption to AWS KMS but don't specify a CMK here,
 21752  	// AWS uses the AWS managed CMK associated with Amazon S3.
 21753  	KmsKeyArn *string `locationName:"kmsKeyArn" type:"string"`
 21754  }
 21755  
 21756  // String returns the string representation.
 21757  //
 21758  // API parameter values that are decorated as "sensitive" in the API will not
 21759  // be included in the string output. The member name will be present, but the
 21760  // value will be replaced with "sensitive".
 21761  func (s S3EncryptionSettings) String() string {
 21762  	return awsutil.Prettify(s)
 21763  }
 21764  
 21765  // GoString returns the string representation.
 21766  //
 21767  // API parameter values that are decorated as "sensitive" in the API will not
 21768  // be included in the string output. The member name will be present, but the
 21769  // value will be replaced with "sensitive".
 21770  func (s S3EncryptionSettings) GoString() string {
 21771  	return s.String()
 21772  }
 21773  
 21774  // SetEncryptionType sets the EncryptionType field's value.
 21775  func (s *S3EncryptionSettings) SetEncryptionType(v string) *S3EncryptionSettings {
 21776  	s.EncryptionType = &v
 21777  	return s
 21778  }
 21779  
 21780  // SetKmsEncryptionContext sets the KmsEncryptionContext field's value.
 21781  func (s *S3EncryptionSettings) SetKmsEncryptionContext(v string) *S3EncryptionSettings {
 21782  	s.KmsEncryptionContext = &v
 21783  	return s
 21784  }
 21785  
 21786  // SetKmsKeyArn sets the KmsKeyArn field's value.
 21787  func (s *S3EncryptionSettings) SetKmsKeyArn(v string) *S3EncryptionSettings {
 21788  	s.KmsKeyArn = &v
 21789  	return s
 21790  }
 21791  
 21792  // Settings related to SCC captions. SCC is a sidecar format that holds captions
 21793  // in a file that is separate from the video container. Set up sidecar captions
 21794  // in the same output group, but different output from your video. For more
 21795  // information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/scc-srt-output-captions.html.
 21796  // When you work directly in your JSON job specification, include this object
 21797  // and any required children when you set destinationType to SCC.
 21798  type SccDestinationSettings struct {
 21799  	_ struct{} `type:"structure"`
 21800  
 21801  	// Set Framerate (SccDestinationFramerate) to make sure that the captions and
 21802  	// the video are synchronized in the output. Specify a frame rate that matches
 21803  	// the frame rate of the associated video. If the video frame rate is 29.97,
 21804  	// choose 29.97 dropframe (FRAMERATE_29_97_DROPFRAME) only if the video has
 21805  	// video_insertion=true and drop_frame_timecode=true; otherwise, choose 29.97
 21806  	// non-dropframe (FRAMERATE_29_97_NON_DROPFRAME).
 21807  	Framerate *string `locationName:"framerate" type:"string" enum:"SccDestinationFramerate"`
 21808  }
 21809  
 21810  // String returns the string representation.
 21811  //
 21812  // API parameter values that are decorated as "sensitive" in the API will not
 21813  // be included in the string output. The member name will be present, but the
 21814  // value will be replaced with "sensitive".
 21815  func (s SccDestinationSettings) String() string {
 21816  	return awsutil.Prettify(s)
 21817  }
 21818  
 21819  // GoString returns the string representation.
 21820  //
 21821  // API parameter values that are decorated as "sensitive" in the API will not
 21822  // be included in the string output. The member name will be present, but the
 21823  // value will be replaced with "sensitive".
 21824  func (s SccDestinationSettings) GoString() string {
 21825  	return s.String()
 21826  }
 21827  
 21828  // SetFramerate sets the Framerate field's value.
 21829  func (s *SccDestinationSettings) SetFramerate(v string) *SccDestinationSettings {
 21830  	s.Framerate = &v
 21831  	return s
 21832  }
 21833  
 21834  // If your output group type is HLS, DASH, or Microsoft Smooth, use these settings
 21835  // when doing DRM encryption with a SPEKE-compliant key provider. If your output
 21836  // group type is CMAF, use the SpekeKeyProviderCmaf settings instead.
 21837  type SpekeKeyProvider struct {
 21838  	_ struct{} `type:"structure"`
 21839  
 21840  	// If you want your key provider to encrypt the content keys that it provides
 21841  	// to MediaConvert, set up a certificate with a master key using AWS Certificate
 21842  	// Manager. Specify the certificate's Amazon Resource Name (ARN) here.
 21843  	CertificateArn *string `locationName:"certificateArn" type:"string"`
 21844  
 21845  	// Specify the resource ID that your SPEKE-compliant key provider uses to identify
 21846  	// this content.
 21847  	ResourceId *string `locationName:"resourceId" type:"string"`
 21848  
 21849  	// Relates to SPEKE implementation. DRM system identifiers. DASH output groups
 21850  	// support a max of two system ids. Other group types support one system id.
 21851  	// See https://dashif.org/identifiers/content_protection/ for more details.
 21852  	SystemIds []*string `locationName:"systemIds" type:"list"`
 21853  
 21854  	// Specify the URL to the key server that your SPEKE-compliant DRM key provider
 21855  	// uses to provide keys for encrypting your content.
 21856  	Url *string `locationName:"url" type:"string"`
 21857  }
 21858  
 21859  // String returns the string representation.
 21860  //
 21861  // API parameter values that are decorated as "sensitive" in the API will not
 21862  // be included in the string output. The member name will be present, but the
 21863  // value will be replaced with "sensitive".
 21864  func (s SpekeKeyProvider) String() string {
 21865  	return awsutil.Prettify(s)
 21866  }
 21867  
 21868  // GoString returns the string representation.
 21869  //
 21870  // API parameter values that are decorated as "sensitive" in the API will not
 21871  // be included in the string output. The member name will be present, but the
 21872  // value will be replaced with "sensitive".
 21873  func (s SpekeKeyProvider) GoString() string {
 21874  	return s.String()
 21875  }
 21876  
 21877  // SetCertificateArn sets the CertificateArn field's value.
 21878  func (s *SpekeKeyProvider) SetCertificateArn(v string) *SpekeKeyProvider {
 21879  	s.CertificateArn = &v
 21880  	return s
 21881  }
 21882  
 21883  // SetResourceId sets the ResourceId field's value.
 21884  func (s *SpekeKeyProvider) SetResourceId(v string) *SpekeKeyProvider {
 21885  	s.ResourceId = &v
 21886  	return s
 21887  }
 21888  
 21889  // SetSystemIds sets the SystemIds field's value.
 21890  func (s *SpekeKeyProvider) SetSystemIds(v []*string) *SpekeKeyProvider {
 21891  	s.SystemIds = v
 21892  	return s
 21893  }
 21894  
 21895  // SetUrl sets the Url field's value.
 21896  func (s *SpekeKeyProvider) SetUrl(v string) *SpekeKeyProvider {
 21897  	s.Url = &v
 21898  	return s
 21899  }
 21900  
 21901  // If your output group type is CMAF, use these settings when doing DRM encryption
 21902  // with a SPEKE-compliant key provider. If your output group type is HLS, DASH,
 21903  // or Microsoft Smooth, use the SpekeKeyProvider settings instead.
 21904  type SpekeKeyProviderCmaf struct {
 21905  	_ struct{} `type:"structure"`
 21906  
 21907  	// If you want your key provider to encrypt the content keys that it provides
 21908  	// to MediaConvert, set up a certificate with a master key using AWS Certificate
 21909  	// Manager. Specify the certificate's Amazon Resource Name (ARN) here.
 21910  	CertificateArn *string `locationName:"certificateArn" type:"string"`
 21911  
 21912  	// Specify the DRM system IDs that you want signaled in the DASH manifest that
 21913  	// MediaConvert creates as part of this CMAF package. The DASH manifest can
 21914  	// currently signal up to three system IDs. For more information, see https://dashif.org/identifiers/content_protection/.
 21915  	DashSignaledSystemIds []*string `locationName:"dashSignaledSystemIds" type:"list"`
 21916  
 21917  	// Specify the DRM system ID that you want signaled in the HLS manifest that
 21918  	// MediaConvert creates as part of this CMAF package. The HLS manifest can currently
 21919  	// signal only one system ID. For more information, see https://dashif.org/identifiers/content_protection/.
 21920  	HlsSignaledSystemIds []*string `locationName:"hlsSignaledSystemIds" type:"list"`
 21921  
 21922  	// Specify the resource ID that your SPEKE-compliant key provider uses to identify
 21923  	// this content.
 21924  	ResourceId *string `locationName:"resourceId" type:"string"`
 21925  
 21926  	// Specify the URL to the key server that your SPEKE-compliant DRM key provider
 21927  	// uses to provide keys for encrypting your content.
 21928  	Url *string `locationName:"url" type:"string"`
 21929  }
 21930  
 21931  // String returns the string representation.
 21932  //
 21933  // API parameter values that are decorated as "sensitive" in the API will not
 21934  // be included in the string output. The member name will be present, but the
 21935  // value will be replaced with "sensitive".
 21936  func (s SpekeKeyProviderCmaf) String() string {
 21937  	return awsutil.Prettify(s)
 21938  }
 21939  
 21940  // GoString returns the string representation.
 21941  //
 21942  // API parameter values that are decorated as "sensitive" in the API will not
 21943  // be included in the string output. The member name will be present, but the
 21944  // value will be replaced with "sensitive".
 21945  func (s SpekeKeyProviderCmaf) GoString() string {
 21946  	return s.String()
 21947  }
 21948  
 21949  // SetCertificateArn sets the CertificateArn field's value.
 21950  func (s *SpekeKeyProviderCmaf) SetCertificateArn(v string) *SpekeKeyProviderCmaf {
 21951  	s.CertificateArn = &v
 21952  	return s
 21953  }
 21954  
 21955  // SetDashSignaledSystemIds sets the DashSignaledSystemIds field's value.
 21956  func (s *SpekeKeyProviderCmaf) SetDashSignaledSystemIds(v []*string) *SpekeKeyProviderCmaf {
 21957  	s.DashSignaledSystemIds = v
 21958  	return s
 21959  }
 21960  
 21961  // SetHlsSignaledSystemIds sets the HlsSignaledSystemIds field's value.
 21962  func (s *SpekeKeyProviderCmaf) SetHlsSignaledSystemIds(v []*string) *SpekeKeyProviderCmaf {
 21963  	s.HlsSignaledSystemIds = v
 21964  	return s
 21965  }
 21966  
 21967  // SetResourceId sets the ResourceId field's value.
 21968  func (s *SpekeKeyProviderCmaf) SetResourceId(v string) *SpekeKeyProviderCmaf {
 21969  	s.ResourceId = &v
 21970  	return s
 21971  }
 21972  
 21973  // SetUrl sets the Url field's value.
 21974  func (s *SpekeKeyProviderCmaf) SetUrl(v string) *SpekeKeyProviderCmaf {
 21975  	s.Url = &v
 21976  	return s
 21977  }
 21978  
 21979  // SRT Destination Settings
 21980  type SrtDestinationSettings struct {
 21981  	_ struct{} `type:"structure"`
 21982  
 21983  	// Choose Enabled (ENABLED) to have MediaConvert use the font style, color,
 21984  	// and position information from the captions source in the input. Keep the
 21985  	// default value, Disabled (DISABLED), for simplified output captions.
 21986  	StylePassthrough *string `locationName:"stylePassthrough" type:"string" enum:"SrtStylePassthrough"`
 21987  }
 21988  
 21989  // String returns the string representation.
 21990  //
 21991  // API parameter values that are decorated as "sensitive" in the API will not
 21992  // be included in the string output. The member name will be present, but the
 21993  // value will be replaced with "sensitive".
 21994  func (s SrtDestinationSettings) String() string {
 21995  	return awsutil.Prettify(s)
 21996  }
 21997  
 21998  // GoString returns the string representation.
 21999  //
 22000  // API parameter values that are decorated as "sensitive" in the API will not
 22001  // be included in the string output. The member name will be present, but the
 22002  // value will be replaced with "sensitive".
 22003  func (s SrtDestinationSettings) GoString() string {
 22004  	return s.String()
 22005  }
 22006  
 22007  // SetStylePassthrough sets the StylePassthrough field's value.
 22008  func (s *SrtDestinationSettings) SetStylePassthrough(v string) *SrtDestinationSettings {
 22009  	s.StylePassthrough = &v
 22010  	return s
 22011  }
 22012  
 22013  // Use these settings to set up encryption with a static key provider.
 22014  type StaticKeyProvider struct {
 22015  	_ struct{} `type:"structure"`
 22016  
 22017  	// Relates to DRM implementation. Sets the value of the KEYFORMAT attribute.
 22018  	// Must be 'identity' or a reverse DNS string. May be omitted to indicate an
 22019  	// implicit value of 'identity'.
 22020  	KeyFormat *string `locationName:"keyFormat" type:"string"`
 22021  
 22022  	// Relates to DRM implementation. Either a single positive integer version value
 22023  	// or a slash delimited list of version values (1/2/3).
 22024  	KeyFormatVersions *string `locationName:"keyFormatVersions" type:"string"`
 22025  
 22026  	// Relates to DRM implementation. Use a 32-character hexidecimal string to specify
 22027  	// Key Value (StaticKeyValue).
 22028  	StaticKeyValue *string `locationName:"staticKeyValue" type:"string"`
 22029  
 22030  	// Relates to DRM implementation. The location of the license server used for
 22031  	// protecting content.
 22032  	Url *string `locationName:"url" type:"string"`
 22033  }
 22034  
 22035  // String returns the string representation.
 22036  //
 22037  // API parameter values that are decorated as "sensitive" in the API will not
 22038  // be included in the string output. The member name will be present, but the
 22039  // value will be replaced with "sensitive".
 22040  func (s StaticKeyProvider) String() string {
 22041  	return awsutil.Prettify(s)
 22042  }
 22043  
 22044  // GoString returns the string representation.
 22045  //
 22046  // API parameter values that are decorated as "sensitive" in the API will not
 22047  // be included in the string output. The member name will be present, but the
 22048  // value will be replaced with "sensitive".
 22049  func (s StaticKeyProvider) GoString() string {
 22050  	return s.String()
 22051  }
 22052  
 22053  // SetKeyFormat sets the KeyFormat field's value.
 22054  func (s *StaticKeyProvider) SetKeyFormat(v string) *StaticKeyProvider {
 22055  	s.KeyFormat = &v
 22056  	return s
 22057  }
 22058  
 22059  // SetKeyFormatVersions sets the KeyFormatVersions field's value.
 22060  func (s *StaticKeyProvider) SetKeyFormatVersions(v string) *StaticKeyProvider {
 22061  	s.KeyFormatVersions = &v
 22062  	return s
 22063  }
 22064  
 22065  // SetStaticKeyValue sets the StaticKeyValue field's value.
 22066  func (s *StaticKeyProvider) SetStaticKeyValue(v string) *StaticKeyProvider {
 22067  	s.StaticKeyValue = &v
 22068  	return s
 22069  }
 22070  
 22071  // SetUrl sets the Url field's value.
 22072  func (s *StaticKeyProvider) SetUrl(v string) *StaticKeyProvider {
 22073  	s.Url = &v
 22074  	return s
 22075  }
 22076  
 22077  // To add tags to a queue, preset, or job template, send a request with the
 22078  // Amazon Resource Name (ARN) of the resource and the tags that you want to
 22079  // add.
 22080  type TagResourceInput struct {
 22081  	_ struct{} `type:"structure"`
 22082  
 22083  	// The Amazon Resource Name (ARN) of the resource that you want to tag. To get
 22084  	// the ARN, send a GET request with the resource name.
 22085  	//
 22086  	// Arn is a required field
 22087  	Arn *string `locationName:"arn" type:"string" required:"true"`
 22088  
 22089  	// The tags that you want to add to the resource. You can tag resources with
 22090  	// a key-value pair or with only a key.
 22091  	//
 22092  	// Tags is a required field
 22093  	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
 22094  }
 22095  
 22096  // String returns the string representation.
 22097  //
 22098  // API parameter values that are decorated as "sensitive" in the API will not
 22099  // be included in the string output. The member name will be present, but the
 22100  // value will be replaced with "sensitive".
 22101  func (s TagResourceInput) String() string {
 22102  	return awsutil.Prettify(s)
 22103  }
 22104  
 22105  // GoString returns the string representation.
 22106  //
 22107  // API parameter values that are decorated as "sensitive" in the API will not
 22108  // be included in the string output. The member name will be present, but the
 22109  // value will be replaced with "sensitive".
 22110  func (s TagResourceInput) GoString() string {
 22111  	return s.String()
 22112  }
 22113  
 22114  // Validate inspects the fields of the type to determine if they are valid.
 22115  func (s *TagResourceInput) Validate() error {
 22116  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 22117  	if s.Arn == nil {
 22118  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 22119  	}
 22120  	if s.Tags == nil {
 22121  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 22122  	}
 22123  
 22124  	if invalidParams.Len() > 0 {
 22125  		return invalidParams
 22126  	}
 22127  	return nil
 22128  }
 22129  
 22130  // SetArn sets the Arn field's value.
 22131  func (s *TagResourceInput) SetArn(v string) *TagResourceInput {
 22132  	s.Arn = &v
 22133  	return s
 22134  }
 22135  
 22136  // SetTags sets the Tags field's value.
 22137  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 22138  	s.Tags = v
 22139  	return s
 22140  }
 22141  
 22142  // A successful request to add tags to a resource returns an OK message.
 22143  type TagResourceOutput struct {
 22144  	_ struct{} `type:"structure" nopayload:"true"`
 22145  }
 22146  
 22147  // String returns the string representation.
 22148  //
 22149  // API parameter values that are decorated as "sensitive" in the API will not
 22150  // be included in the string output. The member name will be present, but the
 22151  // value will be replaced with "sensitive".
 22152  func (s TagResourceOutput) String() string {
 22153  	return awsutil.Prettify(s)
 22154  }
 22155  
 22156  // GoString returns the string representation.
 22157  //
 22158  // API parameter values that are decorated as "sensitive" in the API will not
 22159  // be included in the string output. The member name will be present, but the
 22160  // value will be replaced with "sensitive".
 22161  func (s TagResourceOutput) GoString() string {
 22162  	return s.String()
 22163  }
 22164  
 22165  // Settings related to teletext captions. Set up teletext captions in the same
 22166  // output as your video. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/teletext-output-captions.html.
 22167  // When you work directly in your JSON job specification, include this object
 22168  // and any required children when you set destinationType to TELETEXT.
 22169  type TeletextDestinationSettings struct {
 22170  	_ struct{} `type:"structure"`
 22171  
 22172  	// Set pageNumber to the Teletext page number for the destination captions for
 22173  	// this output. This value must be a three-digit hexadecimal string; strings
 22174  	// ending in -FF are invalid. If you are passing through the entire set of Teletext
 22175  	// data, do not use this field.
 22176  	PageNumber *string `locationName:"pageNumber" min:"3" type:"string"`
 22177  
 22178  	// Specify the page types for this Teletext page. If you don't specify a value
 22179  	// here, the service sets the page type to the default value Subtitle (PAGE_TYPE_SUBTITLE).
 22180  	// If you pass through the entire set of Teletext data, don't use this field.
 22181  	// When you pass through a set of Teletext pages, your output has the same page
 22182  	// types as your input.
 22183  	PageTypes []*string `locationName:"pageTypes" type:"list"`
 22184  }
 22185  
 22186  // String returns the string representation.
 22187  //
 22188  // API parameter values that are decorated as "sensitive" in the API will not
 22189  // be included in the string output. The member name will be present, but the
 22190  // value will be replaced with "sensitive".
 22191  func (s TeletextDestinationSettings) String() string {
 22192  	return awsutil.Prettify(s)
 22193  }
 22194  
 22195  // GoString returns the string representation.
 22196  //
 22197  // API parameter values that are decorated as "sensitive" in the API will not
 22198  // be included in the string output. The member name will be present, but the
 22199  // value will be replaced with "sensitive".
 22200  func (s TeletextDestinationSettings) GoString() string {
 22201  	return s.String()
 22202  }
 22203  
 22204  // Validate inspects the fields of the type to determine if they are valid.
 22205  func (s *TeletextDestinationSettings) Validate() error {
 22206  	invalidParams := request.ErrInvalidParams{Context: "TeletextDestinationSettings"}
 22207  	if s.PageNumber != nil && len(*s.PageNumber) < 3 {
 22208  		invalidParams.Add(request.NewErrParamMinLen("PageNumber", 3))
 22209  	}
 22210  
 22211  	if invalidParams.Len() > 0 {
 22212  		return invalidParams
 22213  	}
 22214  	return nil
 22215  }
 22216  
 22217  // SetPageNumber sets the PageNumber field's value.
 22218  func (s *TeletextDestinationSettings) SetPageNumber(v string) *TeletextDestinationSettings {
 22219  	s.PageNumber = &v
 22220  	return s
 22221  }
 22222  
 22223  // SetPageTypes sets the PageTypes field's value.
 22224  func (s *TeletextDestinationSettings) SetPageTypes(v []*string) *TeletextDestinationSettings {
 22225  	s.PageTypes = v
 22226  	return s
 22227  }
 22228  
 22229  // Settings specific to Teletext caption sources, including Page number.
 22230  type TeletextSourceSettings struct {
 22231  	_ struct{} `type:"structure"`
 22232  
 22233  	// Use Page Number (PageNumber) to specify the three-digit hexadecimal page
 22234  	// number that will be used for Teletext captions. Do not use this setting if
 22235  	// you are passing through teletext from the input source to output.
 22236  	PageNumber *string `locationName:"pageNumber" min:"3" type:"string"`
 22237  }
 22238  
 22239  // String returns the string representation.
 22240  //
 22241  // API parameter values that are decorated as "sensitive" in the API will not
 22242  // be included in the string output. The member name will be present, but the
 22243  // value will be replaced with "sensitive".
 22244  func (s TeletextSourceSettings) String() string {
 22245  	return awsutil.Prettify(s)
 22246  }
 22247  
 22248  // GoString returns the string representation.
 22249  //
 22250  // API parameter values that are decorated as "sensitive" in the API will not
 22251  // be included in the string output. The member name will be present, but the
 22252  // value will be replaced with "sensitive".
 22253  func (s TeletextSourceSettings) GoString() string {
 22254  	return s.String()
 22255  }
 22256  
 22257  // Validate inspects the fields of the type to determine if they are valid.
 22258  func (s *TeletextSourceSettings) Validate() error {
 22259  	invalidParams := request.ErrInvalidParams{Context: "TeletextSourceSettings"}
 22260  	if s.PageNumber != nil && len(*s.PageNumber) < 3 {
 22261  		invalidParams.Add(request.NewErrParamMinLen("PageNumber", 3))
 22262  	}
 22263  
 22264  	if invalidParams.Len() > 0 {
 22265  		return invalidParams
 22266  	}
 22267  	return nil
 22268  }
 22269  
 22270  // SetPageNumber sets the PageNumber field's value.
 22271  func (s *TeletextSourceSettings) SetPageNumber(v string) *TeletextSourceSettings {
 22272  	s.PageNumber = &v
 22273  	return s
 22274  }
 22275  
 22276  // Settings for burning the output timecode and specified prefix into the output.
 22277  type TimecodeBurnin struct {
 22278  	_ struct{} `type:"structure"`
 22279  
 22280  	// Use Font Size (FontSize) to set the font size of any burned-in timecode.
 22281  	// Valid values are 10, 16, 32, 48.
 22282  	FontSize *int64 `locationName:"fontSize" min:"10" type:"integer"`
 22283  
 22284  	// Use Position (Position) under under Timecode burn-in (TimecodeBurnIn) to
 22285  	// specify the location the burned-in timecode on output video.
 22286  	Position *string `locationName:"position" type:"string" enum:"TimecodeBurninPosition"`
 22287  
 22288  	// Use Prefix (Prefix) to place ASCII characters before any burned-in timecode.
 22289  	// For example, a prefix of "EZ-" will result in the timecode "EZ-00:00:00:00".
 22290  	// Provide either the characters themselves or the ASCII code equivalents. The
 22291  	// supported range of characters is 0x20 through 0x7e. This includes letters,
 22292  	// numbers, and all special characters represented on a standard English keyboard.
 22293  	Prefix *string `locationName:"prefix" type:"string"`
 22294  }
 22295  
 22296  // String returns the string representation.
 22297  //
 22298  // API parameter values that are decorated as "sensitive" in the API will not
 22299  // be included in the string output. The member name will be present, but the
 22300  // value will be replaced with "sensitive".
 22301  func (s TimecodeBurnin) String() string {
 22302  	return awsutil.Prettify(s)
 22303  }
 22304  
 22305  // GoString returns the string representation.
 22306  //
 22307  // API parameter values that are decorated as "sensitive" in the API will not
 22308  // be included in the string output. The member name will be present, but the
 22309  // value will be replaced with "sensitive".
 22310  func (s TimecodeBurnin) GoString() string {
 22311  	return s.String()
 22312  }
 22313  
 22314  // Validate inspects the fields of the type to determine if they are valid.
 22315  func (s *TimecodeBurnin) Validate() error {
 22316  	invalidParams := request.ErrInvalidParams{Context: "TimecodeBurnin"}
 22317  	if s.FontSize != nil && *s.FontSize < 10 {
 22318  		invalidParams.Add(request.NewErrParamMinValue("FontSize", 10))
 22319  	}
 22320  
 22321  	if invalidParams.Len() > 0 {
 22322  		return invalidParams
 22323  	}
 22324  	return nil
 22325  }
 22326  
 22327  // SetFontSize sets the FontSize field's value.
 22328  func (s *TimecodeBurnin) SetFontSize(v int64) *TimecodeBurnin {
 22329  	s.FontSize = &v
 22330  	return s
 22331  }
 22332  
 22333  // SetPosition sets the Position field's value.
 22334  func (s *TimecodeBurnin) SetPosition(v string) *TimecodeBurnin {
 22335  	s.Position = &v
 22336  	return s
 22337  }
 22338  
 22339  // SetPrefix sets the Prefix field's value.
 22340  func (s *TimecodeBurnin) SetPrefix(v string) *TimecodeBurnin {
 22341  	s.Prefix = &v
 22342  	return s
 22343  }
 22344  
 22345  // These settings control how the service handles timecodes throughout the job.
 22346  // These settings don't affect input clipping.
 22347  type TimecodeConfig struct {
 22348  	_ struct{} `type:"structure"`
 22349  
 22350  	// If you use an editing platform that relies on an anchor timecode, use Anchor
 22351  	// Timecode (Anchor) to specify a timecode that will match the input video frame
 22352  	// to the output video frame. Use 24-hour format with frame number, (HH:MM:SS:FF)
 22353  	// or (HH:MM:SS;FF). This setting ignores frame rate conversion. System behavior
 22354  	// for Anchor Timecode varies depending on your setting for Source (TimecodeSource).
 22355  	// * If Source (TimecodeSource) is set to Specified Start (SPECIFIEDSTART),
 22356  	// the first input frame is the specified value in Start Timecode (Start). Anchor
 22357  	// Timecode (Anchor) and Start Timecode (Start) are used calculate output timecode.
 22358  	// * If Source (TimecodeSource) is set to Start at 0 (ZEROBASED) the first frame
 22359  	// is 00:00:00:00. * If Source (TimecodeSource) is set to Embedded (EMBEDDED),
 22360  	// the first frame is the timecode value on the first input frame of the input.
 22361  	Anchor *string `locationName:"anchor" type:"string"`
 22362  
 22363  	// Use Source (TimecodeSource) to set how timecodes are handled within this
 22364  	// job. To make sure that your video, audio, captions, and markers are synchronized
 22365  	// and that time-based features, such as image inserter, work correctly, choose
 22366  	// the Timecode source option that matches your assets. All timecodes are in
 22367  	// a 24-hour format with frame number (HH:MM:SS:FF). * Embedded (EMBEDDED) -
 22368  	// Use the timecode that is in the input video. If no embedded timecode is in
 22369  	// the source, the service will use Start at 0 (ZEROBASED) instead. * Start
 22370  	// at 0 (ZEROBASED) - Set the timecode of the initial frame to 00:00:00:00.
 22371  	// * Specified Start (SPECIFIEDSTART) - Set the timecode of the initial frame
 22372  	// to a value other than zero. You use Start timecode (Start) to provide this
 22373  	// value.
 22374  	Source *string `locationName:"source" type:"string" enum:"TimecodeSource"`
 22375  
 22376  	// Only use when you set Source (TimecodeSource) to Specified start (SPECIFIEDSTART).
 22377  	// Use Start timecode (Start) to specify the timecode for the initial frame.
 22378  	// Use 24-hour format with frame number, (HH:MM:SS:FF) or (HH:MM:SS;FF).
 22379  	Start *string `locationName:"start" type:"string"`
 22380  
 22381  	// Only applies to outputs that support program-date-time stamp. Use Timestamp
 22382  	// offset (TimestampOffset) to overwrite the timecode date without affecting
 22383  	// the time and frame number. Provide the new date as a string in the format
 22384  	// "yyyy-mm-dd". To use Time stamp offset, you must also enable Insert program-date-time
 22385  	// (InsertProgramDateTime) in the output settings. For example, if the date
 22386  	// part of your timecodes is 2002-1-25 and you want to change it to one year
 22387  	// later, set Timestamp offset (TimestampOffset) to 2003-1-25.
 22388  	TimestampOffset *string `locationName:"timestampOffset" type:"string"`
 22389  }
 22390  
 22391  // String returns the string representation.
 22392  //
 22393  // API parameter values that are decorated as "sensitive" in the API will not
 22394  // be included in the string output. The member name will be present, but the
 22395  // value will be replaced with "sensitive".
 22396  func (s TimecodeConfig) String() string {
 22397  	return awsutil.Prettify(s)
 22398  }
 22399  
 22400  // GoString returns the string representation.
 22401  //
 22402  // API parameter values that are decorated as "sensitive" in the API will not
 22403  // be included in the string output. The member name will be present, but the
 22404  // value will be replaced with "sensitive".
 22405  func (s TimecodeConfig) GoString() string {
 22406  	return s.String()
 22407  }
 22408  
 22409  // SetAnchor sets the Anchor field's value.
 22410  func (s *TimecodeConfig) SetAnchor(v string) *TimecodeConfig {
 22411  	s.Anchor = &v
 22412  	return s
 22413  }
 22414  
 22415  // SetSource sets the Source field's value.
 22416  func (s *TimecodeConfig) SetSource(v string) *TimecodeConfig {
 22417  	s.Source = &v
 22418  	return s
 22419  }
 22420  
 22421  // SetStart sets the Start field's value.
 22422  func (s *TimecodeConfig) SetStart(v string) *TimecodeConfig {
 22423  	s.Start = &v
 22424  	return s
 22425  }
 22426  
 22427  // SetTimestampOffset sets the TimestampOffset field's value.
 22428  func (s *TimecodeConfig) SetTimestampOffset(v string) *TimecodeConfig {
 22429  	s.TimestampOffset = &v
 22430  	return s
 22431  }
 22432  
 22433  // Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags
 22434  // in any HLS outputs. To include timed metadata, you must enable it here, enable
 22435  // it in each output container, and specify tags and timecodes in ID3 insertion
 22436  // (Id3Insertion) objects.
 22437  type TimedMetadataInsertion struct {
 22438  	_ struct{} `type:"structure"`
 22439  
 22440  	// Id3Insertions contains the array of Id3Insertion instances.
 22441  	Id3Insertions []*Id3Insertion `locationName:"id3Insertions" type:"list"`
 22442  }
 22443  
 22444  // String returns the string representation.
 22445  //
 22446  // API parameter values that are decorated as "sensitive" in the API will not
 22447  // be included in the string output. The member name will be present, but the
 22448  // value will be replaced with "sensitive".
 22449  func (s TimedMetadataInsertion) String() string {
 22450  	return awsutil.Prettify(s)
 22451  }
 22452  
 22453  // GoString returns the string representation.
 22454  //
 22455  // API parameter values that are decorated as "sensitive" in the API will not
 22456  // be included in the string output. The member name will be present, but the
 22457  // value will be replaced with "sensitive".
 22458  func (s TimedMetadataInsertion) GoString() string {
 22459  	return s.String()
 22460  }
 22461  
 22462  // SetId3Insertions sets the Id3Insertions field's value.
 22463  func (s *TimedMetadataInsertion) SetId3Insertions(v []*Id3Insertion) *TimedMetadataInsertion {
 22464  	s.Id3Insertions = v
 22465  	return s
 22466  }
 22467  
 22468  // Information about when jobs are submitted, started, and finished is specified
 22469  // in Unix epoch format in seconds.
 22470  type Timing struct {
 22471  	_ struct{} `type:"structure"`
 22472  
 22473  	// The time, in Unix epoch format, that the transcoding job finished
 22474  	FinishTime *time.Time `locationName:"finishTime" type:"timestamp" timestampFormat:"unixTimestamp"`
 22475  
 22476  	// The time, in Unix epoch format, that transcoding for the job began.
 22477  	StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"unixTimestamp"`
 22478  
 22479  	// The time, in Unix epoch format, that you submitted the job.
 22480  	SubmitTime *time.Time `locationName:"submitTime" type:"timestamp" timestampFormat:"unixTimestamp"`
 22481  }
 22482  
 22483  // String returns the string representation.
 22484  //
 22485  // API parameter values that are decorated as "sensitive" in the API will not
 22486  // be included in the string output. The member name will be present, but the
 22487  // value will be replaced with "sensitive".
 22488  func (s Timing) String() string {
 22489  	return awsutil.Prettify(s)
 22490  }
 22491  
 22492  // GoString returns the string representation.
 22493  //
 22494  // API parameter values that are decorated as "sensitive" in the API will not
 22495  // be included in the string output. The member name will be present, but the
 22496  // value will be replaced with "sensitive".
 22497  func (s Timing) GoString() string {
 22498  	return s.String()
 22499  }
 22500  
 22501  // SetFinishTime sets the FinishTime field's value.
 22502  func (s *Timing) SetFinishTime(v time.Time) *Timing {
 22503  	s.FinishTime = &v
 22504  	return s
 22505  }
 22506  
 22507  // SetStartTime sets the StartTime field's value.
 22508  func (s *Timing) SetStartTime(v time.Time) *Timing {
 22509  	s.StartTime = &v
 22510  	return s
 22511  }
 22512  
 22513  // SetSubmitTime sets the SubmitTime field's value.
 22514  func (s *Timing) SetSubmitTime(v time.Time) *Timing {
 22515  	s.SubmitTime = &v
 22516  	return s
 22517  }
 22518  
 22519  type TooManyRequestsException struct {
 22520  	_            struct{}                  `type:"structure"`
 22521  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 22522  
 22523  	Message_ *string `locationName:"message" type:"string"`
 22524  }
 22525  
 22526  // String returns the string representation.
 22527  //
 22528  // API parameter values that are decorated as "sensitive" in the API will not
 22529  // be included in the string output. The member name will be present, but the
 22530  // value will be replaced with "sensitive".
 22531  func (s TooManyRequestsException) String() string {
 22532  	return awsutil.Prettify(s)
 22533  }
 22534  
 22535  // GoString returns the string representation.
 22536  //
 22537  // API parameter values that are decorated as "sensitive" in the API will not
 22538  // be included in the string output. The member name will be present, but the
 22539  // value will be replaced with "sensitive".
 22540  func (s TooManyRequestsException) GoString() string {
 22541  	return s.String()
 22542  }
 22543  
 22544  func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
 22545  	return &TooManyRequestsException{
 22546  		RespMetadata: v,
 22547  	}
 22548  }
 22549  
 22550  // Code returns the exception type name.
 22551  func (s *TooManyRequestsException) Code() string {
 22552  	return "TooManyRequestsException"
 22553  }
 22554  
 22555  // Message returns the exception's message.
 22556  func (s *TooManyRequestsException) Message() string {
 22557  	if s.Message_ != nil {
 22558  		return *s.Message_
 22559  	}
 22560  	return ""
 22561  }
 22562  
 22563  // OrigErr always returns nil, satisfies awserr.Error interface.
 22564  func (s *TooManyRequestsException) OrigErr() error {
 22565  	return nil
 22566  }
 22567  
 22568  func (s *TooManyRequestsException) Error() string {
 22569  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 22570  }
 22571  
 22572  // Status code returns the HTTP status code for the request's response error.
 22573  func (s *TooManyRequestsException) StatusCode() int {
 22574  	return s.RespMetadata.StatusCode
 22575  }
 22576  
 22577  // RequestID returns the service's response RequestID for request.
 22578  func (s *TooManyRequestsException) RequestID() string {
 22579  	return s.RespMetadata.RequestID
 22580  }
 22581  
 22582  // Settings specific to caption sources that are specified by track number.
 22583  // Currently, this is only IMSC captions in an IMF package. If your caption
 22584  // source is IMSC 1.1 in a separate xml file, use FileSourceSettings instead
 22585  // of TrackSourceSettings.
 22586  type TrackSourceSettings struct {
 22587  	_ struct{} `type:"structure"`
 22588  
 22589  	// Use this setting to select a single captions track from a source. Track numbers
 22590  	// correspond to the order in the captions source file. For IMF sources, track
 22591  	// numbering is based on the order that the captions appear in the CPL. For
 22592  	// example, use 1 to select the captions asset that is listed first in the CPL.
 22593  	// To include more than one captions track in your job outputs, create multiple
 22594  	// input captions selectors. Specify one track per selector.
 22595  	TrackNumber *int64 `locationName:"trackNumber" min:"1" type:"integer"`
 22596  }
 22597  
 22598  // String returns the string representation.
 22599  //
 22600  // API parameter values that are decorated as "sensitive" in the API will not
 22601  // be included in the string output. The member name will be present, but the
 22602  // value will be replaced with "sensitive".
 22603  func (s TrackSourceSettings) String() string {
 22604  	return awsutil.Prettify(s)
 22605  }
 22606  
 22607  // GoString returns the string representation.
 22608  //
 22609  // API parameter values that are decorated as "sensitive" in the API will not
 22610  // be included in the string output. The member name will be present, but the
 22611  // value will be replaced with "sensitive".
 22612  func (s TrackSourceSettings) GoString() string {
 22613  	return s.String()
 22614  }
 22615  
 22616  // Validate inspects the fields of the type to determine if they are valid.
 22617  func (s *TrackSourceSettings) Validate() error {
 22618  	invalidParams := request.ErrInvalidParams{Context: "TrackSourceSettings"}
 22619  	if s.TrackNumber != nil && *s.TrackNumber < 1 {
 22620  		invalidParams.Add(request.NewErrParamMinValue("TrackNumber", 1))
 22621  	}
 22622  
 22623  	if invalidParams.Len() > 0 {
 22624  		return invalidParams
 22625  	}
 22626  	return nil
 22627  }
 22628  
 22629  // SetTrackNumber sets the TrackNumber field's value.
 22630  func (s *TrackSourceSettings) SetTrackNumber(v int64) *TrackSourceSettings {
 22631  	s.TrackNumber = &v
 22632  	return s
 22633  }
 22634  
 22635  // Settings related to TTML captions. TTML is a sidecar format that holds captions
 22636  // in a file that is separate from the video container. Set up sidecar captions
 22637  // in the same output group, but different output from your video. For more
 22638  // information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/ttml-and-webvtt-output-captions.html.
 22639  // When you work directly in your JSON job specification, include this object
 22640  // and any required children when you set destinationType to TTML.
 22641  type TtmlDestinationSettings struct {
 22642  	_ struct{} `type:"structure"`
 22643  
 22644  	// Pass through style and position information from a TTML-like input source
 22645  	// (TTML, IMSC, SMPTE-TT) to the TTML output.
 22646  	StylePassthrough *string `locationName:"stylePassthrough" type:"string" enum:"TtmlStylePassthrough"`
 22647  }
 22648  
 22649  // String returns the string representation.
 22650  //
 22651  // API parameter values that are decorated as "sensitive" in the API will not
 22652  // be included in the string output. The member name will be present, but the
 22653  // value will be replaced with "sensitive".
 22654  func (s TtmlDestinationSettings) String() string {
 22655  	return awsutil.Prettify(s)
 22656  }
 22657  
 22658  // GoString returns the string representation.
 22659  //
 22660  // API parameter values that are decorated as "sensitive" in the API will not
 22661  // be included in the string output. The member name will be present, but the
 22662  // value will be replaced with "sensitive".
 22663  func (s TtmlDestinationSettings) GoString() string {
 22664  	return s.String()
 22665  }
 22666  
 22667  // SetStylePassthrough sets the StylePassthrough field's value.
 22668  func (s *TtmlDestinationSettings) SetStylePassthrough(v string) *TtmlDestinationSettings {
 22669  	s.StylePassthrough = &v
 22670  	return s
 22671  }
 22672  
 22673  // To remove tags from a resource, send a request with the Amazon Resource Name
 22674  // (ARN) of the resource and the keys of the tags that you want to remove.
 22675  type UntagResourceInput struct {
 22676  	_ struct{} `type:"structure"`
 22677  
 22678  	// The Amazon Resource Name (ARN) of the resource that you want to remove tags
 22679  	// from. To get the ARN, send a GET request with the resource name.
 22680  	//
 22681  	// Arn is a required field
 22682  	Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"`
 22683  
 22684  	// The keys of the tags that you want to remove from the resource.
 22685  	TagKeys []*string `locationName:"tagKeys" type:"list"`
 22686  }
 22687  
 22688  // String returns the string representation.
 22689  //
 22690  // API parameter values that are decorated as "sensitive" in the API will not
 22691  // be included in the string output. The member name will be present, but the
 22692  // value will be replaced with "sensitive".
 22693  func (s UntagResourceInput) String() string {
 22694  	return awsutil.Prettify(s)
 22695  }
 22696  
 22697  // GoString returns the string representation.
 22698  //
 22699  // API parameter values that are decorated as "sensitive" in the API will not
 22700  // be included in the string output. The member name will be present, but the
 22701  // value will be replaced with "sensitive".
 22702  func (s UntagResourceInput) GoString() string {
 22703  	return s.String()
 22704  }
 22705  
 22706  // Validate inspects the fields of the type to determine if they are valid.
 22707  func (s *UntagResourceInput) Validate() error {
 22708  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 22709  	if s.Arn == nil {
 22710  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 22711  	}
 22712  	if s.Arn != nil && len(*s.Arn) < 1 {
 22713  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
 22714  	}
 22715  
 22716  	if invalidParams.Len() > 0 {
 22717  		return invalidParams
 22718  	}
 22719  	return nil
 22720  }
 22721  
 22722  // SetArn sets the Arn field's value.
 22723  func (s *UntagResourceInput) SetArn(v string) *UntagResourceInput {
 22724  	s.Arn = &v
 22725  	return s
 22726  }
 22727  
 22728  // SetTagKeys sets the TagKeys field's value.
 22729  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 22730  	s.TagKeys = v
 22731  	return s
 22732  }
 22733  
 22734  // A successful request to remove tags from a resource returns an OK message.
 22735  type UntagResourceOutput struct {
 22736  	_ struct{} `type:"structure" nopayload:"true"`
 22737  }
 22738  
 22739  // String returns the string representation.
 22740  //
 22741  // API parameter values that are decorated as "sensitive" in the API will not
 22742  // be included in the string output. The member name will be present, but the
 22743  // value will be replaced with "sensitive".
 22744  func (s UntagResourceOutput) String() string {
 22745  	return awsutil.Prettify(s)
 22746  }
 22747  
 22748  // GoString returns the string representation.
 22749  //
 22750  // API parameter values that are decorated as "sensitive" in the API will not
 22751  // be included in the string output. The member name will be present, but the
 22752  // value will be replaced with "sensitive".
 22753  func (s UntagResourceOutput) GoString() string {
 22754  	return s.String()
 22755  }
 22756  
 22757  // Modify a job template by sending a request with the job template name and
 22758  // any of the following that you wish to change: description, category, and
 22759  // queue.
 22760  type UpdateJobTemplateInput struct {
 22761  	_ struct{} `type:"structure"`
 22762  
 22763  	// Accelerated transcoding can significantly speed up jobs with long, visually
 22764  	// complex content. Outputs that use this feature incur pro-tier pricing. For
 22765  	// information about feature limitations, see the AWS Elemental MediaConvert
 22766  	// User Guide.
 22767  	AccelerationSettings *AccelerationSettings `locationName:"accelerationSettings" type:"structure"`
 22768  
 22769  	// The new category for the job template, if you are changing it.
 22770  	Category *string `locationName:"category" type:"string"`
 22771  
 22772  	// The new description for the job template, if you are changing it.
 22773  	Description *string `locationName:"description" type:"string"`
 22774  
 22775  	// Optional list of hop destinations.
 22776  	HopDestinations []*HopDestination `locationName:"hopDestinations" type:"list"`
 22777  
 22778  	// The name of the job template you are modifying
 22779  	//
 22780  	// Name is a required field
 22781  	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
 22782  
 22783  	// Specify the relative priority for this job. In any given queue, the service
 22784  	// begins processing the job with the highest value first. When more than one
 22785  	// job has the same priority, the service begins processing the job that you
 22786  	// submitted first. If you don't specify a priority, the service uses the default
 22787  	// value 0.
 22788  	Priority *int64 `locationName:"priority" type:"integer"`
 22789  
 22790  	// The new queue for the job template, if you are changing it.
 22791  	Queue *string `locationName:"queue" type:"string"`
 22792  
 22793  	// JobTemplateSettings contains all the transcode settings saved in the template
 22794  	// that will be applied to jobs created from it.
 22795  	Settings *JobTemplateSettings `locationName:"settings" type:"structure"`
 22796  
 22797  	// Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch
 22798  	// Events. Set the interval, in seconds, between status updates. MediaConvert
 22799  	// sends an update at this interval from the time the service begins processing
 22800  	// your job to the time it completes the transcode or encounters an error.
 22801  	StatusUpdateInterval *string `locationName:"statusUpdateInterval" type:"string" enum:"StatusUpdateInterval"`
 22802  }
 22803  
 22804  // String returns the string representation.
 22805  //
 22806  // API parameter values that are decorated as "sensitive" in the API will not
 22807  // be included in the string output. The member name will be present, but the
 22808  // value will be replaced with "sensitive".
 22809  func (s UpdateJobTemplateInput) String() string {
 22810  	return awsutil.Prettify(s)
 22811  }
 22812  
 22813  // GoString returns the string representation.
 22814  //
 22815  // API parameter values that are decorated as "sensitive" in the API will not
 22816  // be included in the string output. The member name will be present, but the
 22817  // value will be replaced with "sensitive".
 22818  func (s UpdateJobTemplateInput) GoString() string {
 22819  	return s.String()
 22820  }
 22821  
 22822  // Validate inspects the fields of the type to determine if they are valid.
 22823  func (s *UpdateJobTemplateInput) Validate() error {
 22824  	invalidParams := request.ErrInvalidParams{Context: "UpdateJobTemplateInput"}
 22825  	if s.Name == nil {
 22826  		invalidParams.Add(request.NewErrParamRequired("Name"))
 22827  	}
 22828  	if s.Name != nil && len(*s.Name) < 1 {
 22829  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 22830  	}
 22831  	if s.Priority != nil && *s.Priority < -50 {
 22832  		invalidParams.Add(request.NewErrParamMinValue("Priority", -50))
 22833  	}
 22834  	if s.AccelerationSettings != nil {
 22835  		if err := s.AccelerationSettings.Validate(); err != nil {
 22836  			invalidParams.AddNested("AccelerationSettings", err.(request.ErrInvalidParams))
 22837  		}
 22838  	}
 22839  	if s.HopDestinations != nil {
 22840  		for i, v := range s.HopDestinations {
 22841  			if v == nil {
 22842  				continue
 22843  			}
 22844  			if err := v.Validate(); err != nil {
 22845  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HopDestinations", i), err.(request.ErrInvalidParams))
 22846  			}
 22847  		}
 22848  	}
 22849  	if s.Settings != nil {
 22850  		if err := s.Settings.Validate(); err != nil {
 22851  			invalidParams.AddNested("Settings", err.(request.ErrInvalidParams))
 22852  		}
 22853  	}
 22854  
 22855  	if invalidParams.Len() > 0 {
 22856  		return invalidParams
 22857  	}
 22858  	return nil
 22859  }
 22860  
 22861  // SetAccelerationSettings sets the AccelerationSettings field's value.
 22862  func (s *UpdateJobTemplateInput) SetAccelerationSettings(v *AccelerationSettings) *UpdateJobTemplateInput {
 22863  	s.AccelerationSettings = v
 22864  	return s
 22865  }
 22866  
 22867  // SetCategory sets the Category field's value.
 22868  func (s *UpdateJobTemplateInput) SetCategory(v string) *UpdateJobTemplateInput {
 22869  	s.Category = &v
 22870  	return s
 22871  }
 22872  
 22873  // SetDescription sets the Description field's value.
 22874  func (s *UpdateJobTemplateInput) SetDescription(v string) *UpdateJobTemplateInput {
 22875  	s.Description = &v
 22876  	return s
 22877  }
 22878  
 22879  // SetHopDestinations sets the HopDestinations field's value.
 22880  func (s *UpdateJobTemplateInput) SetHopDestinations(v []*HopDestination) *UpdateJobTemplateInput {
 22881  	s.HopDestinations = v
 22882  	return s
 22883  }
 22884  
 22885  // SetName sets the Name field's value.
 22886  func (s *UpdateJobTemplateInput) SetName(v string) *UpdateJobTemplateInput {
 22887  	s.Name = &v
 22888  	return s
 22889  }
 22890  
 22891  // SetPriority sets the Priority field's value.
 22892  func (s *UpdateJobTemplateInput) SetPriority(v int64) *UpdateJobTemplateInput {
 22893  	s.Priority = &v
 22894  	return s
 22895  }
 22896  
 22897  // SetQueue sets the Queue field's value.
 22898  func (s *UpdateJobTemplateInput) SetQueue(v string) *UpdateJobTemplateInput {
 22899  	s.Queue = &v
 22900  	return s
 22901  }
 22902  
 22903  // SetSettings sets the Settings field's value.
 22904  func (s *UpdateJobTemplateInput) SetSettings(v *JobTemplateSettings) *UpdateJobTemplateInput {
 22905  	s.Settings = v
 22906  	return s
 22907  }
 22908  
 22909  // SetStatusUpdateInterval sets the StatusUpdateInterval field's value.
 22910  func (s *UpdateJobTemplateInput) SetStatusUpdateInterval(v string) *UpdateJobTemplateInput {
 22911  	s.StatusUpdateInterval = &v
 22912  	return s
 22913  }
 22914  
 22915  // Successful update job template requests will return the new job template
 22916  // JSON.
 22917  type UpdateJobTemplateOutput struct {
 22918  	_ struct{} `type:"structure"`
 22919  
 22920  	// A job template is a pre-made set of encoding instructions that you can use
 22921  	// to quickly create a job.
 22922  	JobTemplate *JobTemplate `locationName:"jobTemplate" type:"structure"`
 22923  }
 22924  
 22925  // String returns the string representation.
 22926  //
 22927  // API parameter values that are decorated as "sensitive" in the API will not
 22928  // be included in the string output. The member name will be present, but the
 22929  // value will be replaced with "sensitive".
 22930  func (s UpdateJobTemplateOutput) String() string {
 22931  	return awsutil.Prettify(s)
 22932  }
 22933  
 22934  // GoString returns the string representation.
 22935  //
 22936  // API parameter values that are decorated as "sensitive" in the API will not
 22937  // be included in the string output. The member name will be present, but the
 22938  // value will be replaced with "sensitive".
 22939  func (s UpdateJobTemplateOutput) GoString() string {
 22940  	return s.String()
 22941  }
 22942  
 22943  // SetJobTemplate sets the JobTemplate field's value.
 22944  func (s *UpdateJobTemplateOutput) SetJobTemplate(v *JobTemplate) *UpdateJobTemplateOutput {
 22945  	s.JobTemplate = v
 22946  	return s
 22947  }
 22948  
 22949  // Modify a preset by sending a request with the preset name and any of the
 22950  // following that you wish to change: description, category, and transcoding
 22951  // settings.
 22952  type UpdatePresetInput struct {
 22953  	_ struct{} `type:"structure"`
 22954  
 22955  	// The new category for the preset, if you are changing it.
 22956  	Category *string `locationName:"category" type:"string"`
 22957  
 22958  	// The new description for the preset, if you are changing it.
 22959  	Description *string `locationName:"description" type:"string"`
 22960  
 22961  	// The name of the preset you are modifying.
 22962  	//
 22963  	// Name is a required field
 22964  	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
 22965  
 22966  	// Settings for preset
 22967  	Settings *PresetSettings `locationName:"settings" type:"structure"`
 22968  }
 22969  
 22970  // String returns the string representation.
 22971  //
 22972  // API parameter values that are decorated as "sensitive" in the API will not
 22973  // be included in the string output. The member name will be present, but the
 22974  // value will be replaced with "sensitive".
 22975  func (s UpdatePresetInput) String() string {
 22976  	return awsutil.Prettify(s)
 22977  }
 22978  
 22979  // GoString returns the string representation.
 22980  //
 22981  // API parameter values that are decorated as "sensitive" in the API will not
 22982  // be included in the string output. The member name will be present, but the
 22983  // value will be replaced with "sensitive".
 22984  func (s UpdatePresetInput) GoString() string {
 22985  	return s.String()
 22986  }
 22987  
 22988  // Validate inspects the fields of the type to determine if they are valid.
 22989  func (s *UpdatePresetInput) Validate() error {
 22990  	invalidParams := request.ErrInvalidParams{Context: "UpdatePresetInput"}
 22991  	if s.Name == nil {
 22992  		invalidParams.Add(request.NewErrParamRequired("Name"))
 22993  	}
 22994  	if s.Name != nil && len(*s.Name) < 1 {
 22995  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 22996  	}
 22997  	if s.Settings != nil {
 22998  		if err := s.Settings.Validate(); err != nil {
 22999  			invalidParams.AddNested("Settings", err.(request.ErrInvalidParams))
 23000  		}
 23001  	}
 23002  
 23003  	if invalidParams.Len() > 0 {
 23004  		return invalidParams
 23005  	}
 23006  	return nil
 23007  }
 23008  
 23009  // SetCategory sets the Category field's value.
 23010  func (s *UpdatePresetInput) SetCategory(v string) *UpdatePresetInput {
 23011  	s.Category = &v
 23012  	return s
 23013  }
 23014  
 23015  // SetDescription sets the Description field's value.
 23016  func (s *UpdatePresetInput) SetDescription(v string) *UpdatePresetInput {
 23017  	s.Description = &v
 23018  	return s
 23019  }
 23020  
 23021  // SetName sets the Name field's value.
 23022  func (s *UpdatePresetInput) SetName(v string) *UpdatePresetInput {
 23023  	s.Name = &v
 23024  	return s
 23025  }
 23026  
 23027  // SetSettings sets the Settings field's value.
 23028  func (s *UpdatePresetInput) SetSettings(v *PresetSettings) *UpdatePresetInput {
 23029  	s.Settings = v
 23030  	return s
 23031  }
 23032  
 23033  // Successful update preset requests will return the new preset JSON.
 23034  type UpdatePresetOutput struct {
 23035  	_ struct{} `type:"structure"`
 23036  
 23037  	// A preset is a collection of preconfigured media conversion settings that
 23038  	// you want MediaConvert to apply to the output during the conversion process.
 23039  	Preset *Preset `locationName:"preset" type:"structure"`
 23040  }
 23041  
 23042  // String returns the string representation.
 23043  //
 23044  // API parameter values that are decorated as "sensitive" in the API will not
 23045  // be included in the string output. The member name will be present, but the
 23046  // value will be replaced with "sensitive".
 23047  func (s UpdatePresetOutput) String() string {
 23048  	return awsutil.Prettify(s)
 23049  }
 23050  
 23051  // GoString returns the string representation.
 23052  //
 23053  // API parameter values that are decorated as "sensitive" in the API will not
 23054  // be included in the string output. The member name will be present, but the
 23055  // value will be replaced with "sensitive".
 23056  func (s UpdatePresetOutput) GoString() string {
 23057  	return s.String()
 23058  }
 23059  
 23060  // SetPreset sets the Preset field's value.
 23061  func (s *UpdatePresetOutput) SetPreset(v *Preset) *UpdatePresetOutput {
 23062  	s.Preset = v
 23063  	return s
 23064  }
 23065  
 23066  // Modify a queue by sending a request with the queue name and any changes to
 23067  // the queue.
 23068  type UpdateQueueInput struct {
 23069  	_ struct{} `type:"structure"`
 23070  
 23071  	// The new description for the queue, if you are changing it.
 23072  	Description *string `locationName:"description" type:"string"`
 23073  
 23074  	// The name of the queue that you are modifying.
 23075  	//
 23076  	// Name is a required field
 23077  	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
 23078  
 23079  	// The new details of your pricing plan for your reserved queue. When you set
 23080  	// up a new pricing plan to replace an expired one, you enter into another 12-month
 23081  	// commitment. When you add capacity to your queue by increasing the number
 23082  	// of RTS, you extend the term of your commitment to 12 months from when you
 23083  	// add capacity. After you make these commitments, you can't cancel them.
 23084  	ReservationPlanSettings *ReservationPlanSettings `locationName:"reservationPlanSettings" type:"structure"`
 23085  
 23086  	// Pause or activate a queue by changing its status between ACTIVE and PAUSED.
 23087  	// If you pause a queue, jobs in that queue won't begin. Jobs that are running
 23088  	// when you pause the queue continue to run until they finish or result in an
 23089  	// error.
 23090  	Status *string `locationName:"status" type:"string" enum:"QueueStatus"`
 23091  }
 23092  
 23093  // String returns the string representation.
 23094  //
 23095  // API parameter values that are decorated as "sensitive" in the API will not
 23096  // be included in the string output. The member name will be present, but the
 23097  // value will be replaced with "sensitive".
 23098  func (s UpdateQueueInput) String() string {
 23099  	return awsutil.Prettify(s)
 23100  }
 23101  
 23102  // GoString returns the string representation.
 23103  //
 23104  // API parameter values that are decorated as "sensitive" in the API will not
 23105  // be included in the string output. The member name will be present, but the
 23106  // value will be replaced with "sensitive".
 23107  func (s UpdateQueueInput) GoString() string {
 23108  	return s.String()
 23109  }
 23110  
 23111  // Validate inspects the fields of the type to determine if they are valid.
 23112  func (s *UpdateQueueInput) Validate() error {
 23113  	invalidParams := request.ErrInvalidParams{Context: "UpdateQueueInput"}
 23114  	if s.Name == nil {
 23115  		invalidParams.Add(request.NewErrParamRequired("Name"))
 23116  	}
 23117  	if s.Name != nil && len(*s.Name) < 1 {
 23118  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 23119  	}
 23120  	if s.ReservationPlanSettings != nil {
 23121  		if err := s.ReservationPlanSettings.Validate(); err != nil {
 23122  			invalidParams.AddNested("ReservationPlanSettings", err.(request.ErrInvalidParams))
 23123  		}
 23124  	}
 23125  
 23126  	if invalidParams.Len() > 0 {
 23127  		return invalidParams
 23128  	}
 23129  	return nil
 23130  }
 23131  
 23132  // SetDescription sets the Description field's value.
 23133  func (s *UpdateQueueInput) SetDescription(v string) *UpdateQueueInput {
 23134  	s.Description = &v
 23135  	return s
 23136  }
 23137  
 23138  // SetName sets the Name field's value.
 23139  func (s *UpdateQueueInput) SetName(v string) *UpdateQueueInput {
 23140  	s.Name = &v
 23141  	return s
 23142  }
 23143  
 23144  // SetReservationPlanSettings sets the ReservationPlanSettings field's value.
 23145  func (s *UpdateQueueInput) SetReservationPlanSettings(v *ReservationPlanSettings) *UpdateQueueInput {
 23146  	s.ReservationPlanSettings = v
 23147  	return s
 23148  }
 23149  
 23150  // SetStatus sets the Status field's value.
 23151  func (s *UpdateQueueInput) SetStatus(v string) *UpdateQueueInput {
 23152  	s.Status = &v
 23153  	return s
 23154  }
 23155  
 23156  // Successful update queue requests return the new queue information in JSON
 23157  // format.
 23158  type UpdateQueueOutput struct {
 23159  	_ struct{} `type:"structure"`
 23160  
 23161  	// You can use queues to manage the resources that are available to your AWS
 23162  	// account for running multiple transcoding jobs at the same time. If you don't
 23163  	// specify a queue, the service sends all jobs through the default queue. For
 23164  	// more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html.
 23165  	Queue *Queue `locationName:"queue" type:"structure"`
 23166  }
 23167  
 23168  // String returns the string representation.
 23169  //
 23170  // API parameter values that are decorated as "sensitive" in the API will not
 23171  // be included in the string output. The member name will be present, but the
 23172  // value will be replaced with "sensitive".
 23173  func (s UpdateQueueOutput) String() string {
 23174  	return awsutil.Prettify(s)
 23175  }
 23176  
 23177  // GoString returns the string representation.
 23178  //
 23179  // API parameter values that are decorated as "sensitive" in the API will not
 23180  // be included in the string output. The member name will be present, but the
 23181  // value will be replaced with "sensitive".
 23182  func (s UpdateQueueOutput) GoString() string {
 23183  	return s.String()
 23184  }
 23185  
 23186  // SetQueue sets the Queue field's value.
 23187  func (s *UpdateQueueOutput) SetQueue(v *Queue) *UpdateQueueOutput {
 23188  	s.Queue = v
 23189  	return s
 23190  }
 23191  
 23192  // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
 23193  // the value VC3
 23194  type Vc3Settings struct {
 23195  	_ struct{} `type:"structure"`
 23196  
 23197  	// If you are using the console, use the Framerate setting to specify the frame
 23198  	// rate for this output. If you want to keep the same frame rate as the input
 23199  	// video, choose Follow source. If you want to do frame rate conversion, choose
 23200  	// a frame rate from the dropdown list or choose Custom. The framerates shown
 23201  	// in the dropdown list are decimal approximations of fractions. If you choose
 23202  	// Custom, specify your frame rate as a fraction. If you are creating your transcoding
 23203  	// job specification as a JSON file without the console, use FramerateControl
 23204  	// to specify which value the service uses for the frame rate for this output.
 23205  	// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 23206  	// from the input. Choose SPECIFIED if you want the service to use the frame
 23207  	// rate you specify in the settings FramerateNumerator and FramerateDenominator.
 23208  	FramerateControl *string `locationName:"framerateControl" type:"string" enum:"Vc3FramerateControl"`
 23209  
 23210  	// Choose the method that you want MediaConvert to use when increasing or decreasing
 23211  	// the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 23212  	// simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 23213  	// you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 23214  	// smooth picture, but might introduce undesirable video artifacts. For complex
 23215  	// frame rate conversions, especially if your source video has already been
 23216  	// converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 23217  	// motion-compensated interpolation. FrameFormer chooses the best conversion
 23218  	// method frame by frame. Note that using FrameFormer increases the transcoding
 23219  	// time and incurs a significant add-on cost.
 23220  	FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"Vc3FramerateConversionAlgorithm"`
 23221  
 23222  	// When you use the API for transcode jobs that use frame rate conversion, specify
 23223  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
 23224  	// FramerateDenominator to specify the denominator of this fraction. In this
 23225  	// example, use 1001 for the value of FramerateDenominator. When you use the
 23226  	// console for transcode jobs that use frame rate conversion, provide the value
 23227  	// as a decimal number for Framerate. In this example, specify 23.976.
 23228  	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
 23229  
 23230  	// When you use the API for transcode jobs that use frame rate conversion, specify
 23231  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
 23232  	// FramerateNumerator to specify the numerator of this fraction. In this example,
 23233  	// use 24000 for the value of FramerateNumerator. When you use the console for
 23234  	// transcode jobs that use frame rate conversion, provide the value as a decimal
 23235  	// number for Framerate. In this example, specify 23.976.
 23236  	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"24" type:"integer"`
 23237  
 23238  	// Optional. Choose the scan line type for this output. If you don't specify
 23239  	// a value, MediaConvert will create a progressive output.
 23240  	InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"Vc3InterlaceMode"`
 23241  
 23242  	// Use this setting for interlaced outputs, when your output frame rate is half
 23243  	// of your input frame rate. In this situation, choose Optimized interlacing
 23244  	// (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this
 23245  	// case, each progressive frame from the input corresponds to an interlaced
 23246  	// field in the output. Keep the default value, Basic interlacing (INTERLACED),
 23247  	// for all other output frame rates. With basic interlacing, MediaConvert performs
 23248  	// any frame rate conversion first and then interlaces the frames. When you
 23249  	// choose Optimized interlacing and you set your output frame rate to a value
 23250  	// that isn't suitable for optimized interlacing, MediaConvert automatically
 23251  	// falls back to basic interlacing. Required settings: To use optimized interlacing,
 23252  	// you must set Telecine (telecine) to None (NONE) or Soft (SOFT). You can't
 23253  	// use optimized interlacing for hard telecine outputs. You must also set Interlace
 23254  	// mode (interlaceMode) to a value other than Progressive (PROGRESSIVE).
 23255  	ScanTypeConversionMode *string `locationName:"scanTypeConversionMode" type:"string" enum:"Vc3ScanTypeConversionMode"`
 23256  
 23257  	// Ignore this setting unless your input frame rate is 23.976 or 24 frames per
 23258  	// second (fps). Enable slow PAL to create a 25 fps output by relabeling the
 23259  	// video frames and resampling your audio. Note that enabling this setting will
 23260  	// slightly reduce the duration of your video. Related settings: You must also
 23261  	// set Framerate to 25. In your JSON job specification, set (framerateControl)
 23262  	// to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to
 23263  	// 1.
 23264  	SlowPal *string `locationName:"slowPal" type:"string" enum:"Vc3SlowPal"`
 23265  
 23266  	// When you do frame rate conversion from 23.976 frames per second (fps) to
 23267  	// 29.97 fps, and your output scan type is interlaced, you can optionally enable
 23268  	// hard telecine (HARD) to create a smoother picture. When you keep the default
 23269  	// value, None (NONE), MediaConvert does a standard frame rate conversion to
 23270  	// 29.97 without doing anything with the field polarity to create a smoother
 23271  	// picture.
 23272  	Telecine *string `locationName:"telecine" type:"string" enum:"Vc3Telecine"`
 23273  
 23274  	// Specify the VC3 class to choose the quality characteristics for this output.
 23275  	// VC3 class, together with the settings Framerate (framerateNumerator and framerateDenominator)
 23276  	// and Resolution (height and width), determine your output bitrate. For example,
 23277  	// say that your video resolution is 1920x1080 and your framerate is 29.97.
 23278  	// Then Class 145 (CLASS_145) gives you an output with a bitrate of approximately
 23279  	// 145 Mbps and Class 220 (CLASS_220) gives you and output with a bitrate of
 23280  	// approximately 220 Mbps. VC3 class also specifies the color bit depth of your
 23281  	// output.
 23282  	Vc3Class *string `locationName:"vc3Class" type:"string" enum:"Vc3Class"`
 23283  }
 23284  
 23285  // String returns the string representation.
 23286  //
 23287  // API parameter values that are decorated as "sensitive" in the API will not
 23288  // be included in the string output. The member name will be present, but the
 23289  // value will be replaced with "sensitive".
 23290  func (s Vc3Settings) String() string {
 23291  	return awsutil.Prettify(s)
 23292  }
 23293  
 23294  // GoString returns the string representation.
 23295  //
 23296  // API parameter values that are decorated as "sensitive" in the API will not
 23297  // be included in the string output. The member name will be present, but the
 23298  // value will be replaced with "sensitive".
 23299  func (s Vc3Settings) GoString() string {
 23300  	return s.String()
 23301  }
 23302  
 23303  // Validate inspects the fields of the type to determine if they are valid.
 23304  func (s *Vc3Settings) Validate() error {
 23305  	invalidParams := request.ErrInvalidParams{Context: "Vc3Settings"}
 23306  	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
 23307  		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
 23308  	}
 23309  	if s.FramerateNumerator != nil && *s.FramerateNumerator < 24 {
 23310  		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 24))
 23311  	}
 23312  
 23313  	if invalidParams.Len() > 0 {
 23314  		return invalidParams
 23315  	}
 23316  	return nil
 23317  }
 23318  
 23319  // SetFramerateControl sets the FramerateControl field's value.
 23320  func (s *Vc3Settings) SetFramerateControl(v string) *Vc3Settings {
 23321  	s.FramerateControl = &v
 23322  	return s
 23323  }
 23324  
 23325  // SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value.
 23326  func (s *Vc3Settings) SetFramerateConversionAlgorithm(v string) *Vc3Settings {
 23327  	s.FramerateConversionAlgorithm = &v
 23328  	return s
 23329  }
 23330  
 23331  // SetFramerateDenominator sets the FramerateDenominator field's value.
 23332  func (s *Vc3Settings) SetFramerateDenominator(v int64) *Vc3Settings {
 23333  	s.FramerateDenominator = &v
 23334  	return s
 23335  }
 23336  
 23337  // SetFramerateNumerator sets the FramerateNumerator field's value.
 23338  func (s *Vc3Settings) SetFramerateNumerator(v int64) *Vc3Settings {
 23339  	s.FramerateNumerator = &v
 23340  	return s
 23341  }
 23342  
 23343  // SetInterlaceMode sets the InterlaceMode field's value.
 23344  func (s *Vc3Settings) SetInterlaceMode(v string) *Vc3Settings {
 23345  	s.InterlaceMode = &v
 23346  	return s
 23347  }
 23348  
 23349  // SetScanTypeConversionMode sets the ScanTypeConversionMode field's value.
 23350  func (s *Vc3Settings) SetScanTypeConversionMode(v string) *Vc3Settings {
 23351  	s.ScanTypeConversionMode = &v
 23352  	return s
 23353  }
 23354  
 23355  // SetSlowPal sets the SlowPal field's value.
 23356  func (s *Vc3Settings) SetSlowPal(v string) *Vc3Settings {
 23357  	s.SlowPal = &v
 23358  	return s
 23359  }
 23360  
 23361  // SetTelecine sets the Telecine field's value.
 23362  func (s *Vc3Settings) SetTelecine(v string) *Vc3Settings {
 23363  	s.Telecine = &v
 23364  	return s
 23365  }
 23366  
 23367  // SetVc3Class sets the Vc3Class field's value.
 23368  func (s *Vc3Settings) SetVc3Class(v string) *Vc3Settings {
 23369  	s.Vc3Class = &v
 23370  	return s
 23371  }
 23372  
 23373  // Video codec settings, (CodecSettings) under (VideoDescription), contains
 23374  // the group of settings related to video encoding. The settings in this group
 23375  // vary depending on the value that you choose for Video codec (Codec). For
 23376  // each codec enum that you choose, define the corresponding settings object.
 23377  // The following lists the codec enum, settings object pairs. * AV1, Av1Settings
 23378  // * AVC_INTRA, AvcIntraSettings * FRAME_CAPTURE, FrameCaptureSettings * H_264,
 23379  // H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings
 23380  // * VC3, Vc3Settings * VP8, Vp8Settings * VP9, Vp9Settings * XAVC, XavcSettings
 23381  type VideoCodecSettings struct {
 23382  	_ struct{} `type:"structure"`
 23383  
 23384  	// Required when you set Codec, under VideoDescription>CodecSettings to the
 23385  	// value AV1.
 23386  	Av1Settings *Av1Settings `locationName:"av1Settings" type:"structure"`
 23387  
 23388  	// Required when you choose AVC-Intra for your output video codec. For more
 23389  	// information about the AVC-Intra settings, see the relevant specification.
 23390  	// For detailed information about SD and HD in AVC-Intra, see https://ieeexplore.ieee.org/document/7290936.
 23391  	// For information about 4K/2K in AVC-Intra, see https://pro-av.panasonic.net/en/avc-ultra/AVC-ULTRAoverview.pdf.
 23392  	AvcIntraSettings *AvcIntraSettings `locationName:"avcIntraSettings" type:"structure"`
 23393  
 23394  	// Specifies the video codec. This must be equal to one of the enum values defined
 23395  	// by the object VideoCodec.
 23396  	Codec *string `locationName:"codec" type:"string" enum:"VideoCodec"`
 23397  
 23398  	// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
 23399  	// the value FRAME_CAPTURE.
 23400  	FrameCaptureSettings *FrameCaptureSettings `locationName:"frameCaptureSettings" type:"structure"`
 23401  
 23402  	// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
 23403  	// the value H_264.
 23404  	H264Settings *H264Settings `locationName:"h264Settings" type:"structure"`
 23405  
 23406  	// Settings for H265 codec
 23407  	H265Settings *H265Settings `locationName:"h265Settings" type:"structure"`
 23408  
 23409  	// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
 23410  	// the value MPEG2.
 23411  	Mpeg2Settings *Mpeg2Settings `locationName:"mpeg2Settings" type:"structure"`
 23412  
 23413  	// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
 23414  	// the value PRORES.
 23415  	ProresSettings *ProresSettings `locationName:"proresSettings" type:"structure"`
 23416  
 23417  	// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
 23418  	// the value VC3
 23419  	Vc3Settings *Vc3Settings `locationName:"vc3Settings" type:"structure"`
 23420  
 23421  	// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
 23422  	// the value VP8.
 23423  	Vp8Settings *Vp8Settings `locationName:"vp8Settings" type:"structure"`
 23424  
 23425  	// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
 23426  	// the value VP9.
 23427  	Vp9Settings *Vp9Settings `locationName:"vp9Settings" type:"structure"`
 23428  
 23429  	// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
 23430  	// the value XAVC.
 23431  	XavcSettings *XavcSettings `locationName:"xavcSettings" type:"structure"`
 23432  }
 23433  
 23434  // String returns the string representation.
 23435  //
 23436  // API parameter values that are decorated as "sensitive" in the API will not
 23437  // be included in the string output. The member name will be present, but the
 23438  // value will be replaced with "sensitive".
 23439  func (s VideoCodecSettings) String() string {
 23440  	return awsutil.Prettify(s)
 23441  }
 23442  
 23443  // GoString returns the string representation.
 23444  //
 23445  // API parameter values that are decorated as "sensitive" in the API will not
 23446  // be included in the string output. The member name will be present, but the
 23447  // value will be replaced with "sensitive".
 23448  func (s VideoCodecSettings) GoString() string {
 23449  	return s.String()
 23450  }
 23451  
 23452  // Validate inspects the fields of the type to determine if they are valid.
 23453  func (s *VideoCodecSettings) Validate() error {
 23454  	invalidParams := request.ErrInvalidParams{Context: "VideoCodecSettings"}
 23455  	if s.Av1Settings != nil {
 23456  		if err := s.Av1Settings.Validate(); err != nil {
 23457  			invalidParams.AddNested("Av1Settings", err.(request.ErrInvalidParams))
 23458  		}
 23459  	}
 23460  	if s.AvcIntraSettings != nil {
 23461  		if err := s.AvcIntraSettings.Validate(); err != nil {
 23462  			invalidParams.AddNested("AvcIntraSettings", err.(request.ErrInvalidParams))
 23463  		}
 23464  	}
 23465  	if s.FrameCaptureSettings != nil {
 23466  		if err := s.FrameCaptureSettings.Validate(); err != nil {
 23467  			invalidParams.AddNested("FrameCaptureSettings", err.(request.ErrInvalidParams))
 23468  		}
 23469  	}
 23470  	if s.H264Settings != nil {
 23471  		if err := s.H264Settings.Validate(); err != nil {
 23472  			invalidParams.AddNested("H264Settings", err.(request.ErrInvalidParams))
 23473  		}
 23474  	}
 23475  	if s.H265Settings != nil {
 23476  		if err := s.H265Settings.Validate(); err != nil {
 23477  			invalidParams.AddNested("H265Settings", err.(request.ErrInvalidParams))
 23478  		}
 23479  	}
 23480  	if s.Mpeg2Settings != nil {
 23481  		if err := s.Mpeg2Settings.Validate(); err != nil {
 23482  			invalidParams.AddNested("Mpeg2Settings", err.(request.ErrInvalidParams))
 23483  		}
 23484  	}
 23485  	if s.ProresSettings != nil {
 23486  		if err := s.ProresSettings.Validate(); err != nil {
 23487  			invalidParams.AddNested("ProresSettings", err.(request.ErrInvalidParams))
 23488  		}
 23489  	}
 23490  	if s.Vc3Settings != nil {
 23491  		if err := s.Vc3Settings.Validate(); err != nil {
 23492  			invalidParams.AddNested("Vc3Settings", err.(request.ErrInvalidParams))
 23493  		}
 23494  	}
 23495  	if s.Vp8Settings != nil {
 23496  		if err := s.Vp8Settings.Validate(); err != nil {
 23497  			invalidParams.AddNested("Vp8Settings", err.(request.ErrInvalidParams))
 23498  		}
 23499  	}
 23500  	if s.Vp9Settings != nil {
 23501  		if err := s.Vp9Settings.Validate(); err != nil {
 23502  			invalidParams.AddNested("Vp9Settings", err.(request.ErrInvalidParams))
 23503  		}
 23504  	}
 23505  	if s.XavcSettings != nil {
 23506  		if err := s.XavcSettings.Validate(); err != nil {
 23507  			invalidParams.AddNested("XavcSettings", err.(request.ErrInvalidParams))
 23508  		}
 23509  	}
 23510  
 23511  	if invalidParams.Len() > 0 {
 23512  		return invalidParams
 23513  	}
 23514  	return nil
 23515  }
 23516  
 23517  // SetAv1Settings sets the Av1Settings field's value.
 23518  func (s *VideoCodecSettings) SetAv1Settings(v *Av1Settings) *VideoCodecSettings {
 23519  	s.Av1Settings = v
 23520  	return s
 23521  }
 23522  
 23523  // SetAvcIntraSettings sets the AvcIntraSettings field's value.
 23524  func (s *VideoCodecSettings) SetAvcIntraSettings(v *AvcIntraSettings) *VideoCodecSettings {
 23525  	s.AvcIntraSettings = v
 23526  	return s
 23527  }
 23528  
 23529  // SetCodec sets the Codec field's value.
 23530  func (s *VideoCodecSettings) SetCodec(v string) *VideoCodecSettings {
 23531  	s.Codec = &v
 23532  	return s
 23533  }
 23534  
 23535  // SetFrameCaptureSettings sets the FrameCaptureSettings field's value.
 23536  func (s *VideoCodecSettings) SetFrameCaptureSettings(v *FrameCaptureSettings) *VideoCodecSettings {
 23537  	s.FrameCaptureSettings = v
 23538  	return s
 23539  }
 23540  
 23541  // SetH264Settings sets the H264Settings field's value.
 23542  func (s *VideoCodecSettings) SetH264Settings(v *H264Settings) *VideoCodecSettings {
 23543  	s.H264Settings = v
 23544  	return s
 23545  }
 23546  
 23547  // SetH265Settings sets the H265Settings field's value.
 23548  func (s *VideoCodecSettings) SetH265Settings(v *H265Settings) *VideoCodecSettings {
 23549  	s.H265Settings = v
 23550  	return s
 23551  }
 23552  
 23553  // SetMpeg2Settings sets the Mpeg2Settings field's value.
 23554  func (s *VideoCodecSettings) SetMpeg2Settings(v *Mpeg2Settings) *VideoCodecSettings {
 23555  	s.Mpeg2Settings = v
 23556  	return s
 23557  }
 23558  
 23559  // SetProresSettings sets the ProresSettings field's value.
 23560  func (s *VideoCodecSettings) SetProresSettings(v *ProresSettings) *VideoCodecSettings {
 23561  	s.ProresSettings = v
 23562  	return s
 23563  }
 23564  
 23565  // SetVc3Settings sets the Vc3Settings field's value.
 23566  func (s *VideoCodecSettings) SetVc3Settings(v *Vc3Settings) *VideoCodecSettings {
 23567  	s.Vc3Settings = v
 23568  	return s
 23569  }
 23570  
 23571  // SetVp8Settings sets the Vp8Settings field's value.
 23572  func (s *VideoCodecSettings) SetVp8Settings(v *Vp8Settings) *VideoCodecSettings {
 23573  	s.Vp8Settings = v
 23574  	return s
 23575  }
 23576  
 23577  // SetVp9Settings sets the Vp9Settings field's value.
 23578  func (s *VideoCodecSettings) SetVp9Settings(v *Vp9Settings) *VideoCodecSettings {
 23579  	s.Vp9Settings = v
 23580  	return s
 23581  }
 23582  
 23583  // SetXavcSettings sets the XavcSettings field's value.
 23584  func (s *VideoCodecSettings) SetXavcSettings(v *XavcSettings) *VideoCodecSettings {
 23585  	s.XavcSettings = v
 23586  	return s
 23587  }
 23588  
 23589  // Settings related to video encoding of your output. The specific video settings
 23590  // depend on the video codec that you choose. When you work directly in your
 23591  // JSON job specification, include one instance of Video description (VideoDescription)
 23592  // per output.
 23593  type VideoDescription struct {
 23594  	_ struct{} `type:"structure"`
 23595  
 23596  	// This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert
 23597  	// AFD signaling (AfdSignaling) to specify whether the service includes AFD
 23598  	// values in the output video data and what those values are. * Choose None
 23599  	// to remove all AFD values from this output. * Choose Fixed to ignore input
 23600  	// AFD values and instead encode the value specified in the job. * Choose Auto
 23601  	// to calculate output AFD values based on the input AFD scaler data.
 23602  	AfdSignaling *string `locationName:"afdSignaling" type:"string" enum:"AfdSignaling"`
 23603  
 23604  	// The anti-alias filter is automatically applied to all outputs. The service
 23605  	// no longer accepts the value DISABLED for AntiAlias. If you specify that in
 23606  	// your job, the service will ignore the setting.
 23607  	AntiAlias *string `locationName:"antiAlias" type:"string" enum:"AntiAlias"`
 23608  
 23609  	// Video codec settings, (CodecSettings) under (VideoDescription), contains
 23610  	// the group of settings related to video encoding. The settings in this group
 23611  	// vary depending on the value that you choose for Video codec (Codec). For
 23612  	// each codec enum that you choose, define the corresponding settings object.
 23613  	// The following lists the codec enum, settings object pairs. * AV1, Av1Settings
 23614  	// * AVC_INTRA, AvcIntraSettings * FRAME_CAPTURE, FrameCaptureSettings * H_264,
 23615  	// H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings
 23616  	// * VC3, Vc3Settings * VP8, Vp8Settings * VP9, Vp9Settings * XAVC, XavcSettings
 23617  	CodecSettings *VideoCodecSettings `locationName:"codecSettings" type:"structure"`
 23618  
 23619  	// Choose Insert (INSERT) for this setting to include color metadata in this
 23620  	// output. Choose Ignore (IGNORE) to exclude color metadata from this output.
 23621  	// If you don't specify a value, the service sets this to Insert by default.
 23622  	ColorMetadata *string `locationName:"colorMetadata" type:"string" enum:"ColorMetadata"`
 23623  
 23624  	// Use Cropping selection (crop) to specify the video area that the service
 23625  	// will include in the output video frame.
 23626  	Crop *Rectangle `locationName:"crop" type:"structure"`
 23627  
 23628  	// Applies only to 29.97 fps outputs. When this feature is enabled, the service
 23629  	// will use drop-frame timecode on outputs. If it is not possible to use drop-frame
 23630  	// timecode, the system will fall back to non-drop-frame. This setting is enabled
 23631  	// by default when Timecode insertion (TimecodeInsertion) is enabled.
 23632  	DropFrameTimecode *string `locationName:"dropFrameTimecode" type:"string" enum:"DropFrameTimecode"`
 23633  
 23634  	// Applies only if you set AFD Signaling(AfdSignaling) to Fixed (FIXED). Use
 23635  	// Fixed (FixedAfd) to specify a four-bit AFD value which the service will write
 23636  	// on all frames of this video output.
 23637  	FixedAfd *int64 `locationName:"fixedAfd" type:"integer"`
 23638  
 23639  	// Use the Height (Height) setting to define the video resolution height for
 23640  	// this output. Specify in pixels. If you don't provide a value here, the service
 23641  	// will use the input height.
 23642  	Height *int64 `locationName:"height" min:"32" type:"integer"`
 23643  
 23644  	// Use Selection placement (position) to define the video area in your output
 23645  	// frame. The area outside of the rectangle that you specify here is black.
 23646  	Position *Rectangle `locationName:"position" type:"structure"`
 23647  
 23648  	// Use Respond to AFD (RespondToAfd) to specify how the service changes the
 23649  	// video itself in response to AFD values in the input. * Choose Respond to
 23650  	// clip the input video frame according to the AFD value, input display aspect
 23651  	// ratio, and output display aspect ratio. * Choose Passthrough to include the
 23652  	// input AFD values. Do not choose this when AfdSignaling is set to (NONE).
 23653  	// A preferred implementation of this workflow is to set RespondToAfd to (NONE)
 23654  	// and set AfdSignaling to (AUTO). * Choose None to remove all input AFD values
 23655  	// from this output.
 23656  	RespondToAfd *string `locationName:"respondToAfd" type:"string" enum:"RespondToAfd"`
 23657  
 23658  	// Specify how the service handles outputs that have a different aspect ratio
 23659  	// from the input aspect ratio. Choose Stretch to output (STRETCH_TO_OUTPUT)
 23660  	// to have the service stretch your video image to fit. Keep the setting Default
 23661  	// (DEFAULT) to have the service letterbox your video instead. This setting
 23662  	// overrides any value that you specify for the setting Selection placement
 23663  	// (position) in this output.
 23664  	ScalingBehavior *string `locationName:"scalingBehavior" type:"string" enum:"ScalingBehavior"`
 23665  
 23666  	// Use Sharpness (Sharpness) setting to specify the strength of anti-aliasing.
 23667  	// This setting changes the width of the anti-alias filter kernel used for scaling.
 23668  	// Sharpness only applies if your output resolution is different from your input
 23669  	// resolution. 0 is the softest setting, 100 the sharpest, and 50 recommended
 23670  	// for most content.
 23671  	Sharpness *int64 `locationName:"sharpness" type:"integer"`
 23672  
 23673  	// Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode
 23674  	// insertion when the input frame rate is identical to the output frame rate.
 23675  	// To include timecodes in this output, set Timecode insertion (VideoTimecodeInsertion)
 23676  	// to PIC_TIMING_SEI. To leave them out, set it to DISABLED. Default is DISABLED.
 23677  	// When the service inserts timecodes in an output, by default, it uses any
 23678  	// embedded timecodes from the input. If none are present, the service will
 23679  	// set the timecode for the first output frame to zero. To change this default
 23680  	// behavior, adjust the settings under Timecode configuration (TimecodeConfig).
 23681  	// In the console, these settings are located under Job > Job settings > Timecode
 23682  	// configuration. Note - Timecode source under input settings (InputTimecodeSource)
 23683  	// does not affect the timecodes that are inserted in the output. Source under
 23684  	// Job settings > Timecode configuration (TimecodeSource) does.
 23685  	TimecodeInsertion *string `locationName:"timecodeInsertion" type:"string" enum:"VideoTimecodeInsertion"`
 23686  
 23687  	// Find additional transcoding features under Preprocessors (VideoPreprocessors).
 23688  	// Enable the features at each output individually. These features are disabled
 23689  	// by default.
 23690  	VideoPreprocessors *VideoPreprocessor `locationName:"videoPreprocessors" type:"structure"`
 23691  
 23692  	// Use Width (Width) to define the video resolution width, in pixels, for this
 23693  	// output. If you don't provide a value here, the service will use the input
 23694  	// width.
 23695  	Width *int64 `locationName:"width" min:"32" type:"integer"`
 23696  }
 23697  
 23698  // String returns the string representation.
 23699  //
 23700  // API parameter values that are decorated as "sensitive" in the API will not
 23701  // be included in the string output. The member name will be present, but the
 23702  // value will be replaced with "sensitive".
 23703  func (s VideoDescription) String() string {
 23704  	return awsutil.Prettify(s)
 23705  }
 23706  
 23707  // GoString returns the string representation.
 23708  //
 23709  // API parameter values that are decorated as "sensitive" in the API will not
 23710  // be included in the string output. The member name will be present, but the
 23711  // value will be replaced with "sensitive".
 23712  func (s VideoDescription) GoString() string {
 23713  	return s.String()
 23714  }
 23715  
 23716  // Validate inspects the fields of the type to determine if they are valid.
 23717  func (s *VideoDescription) Validate() error {
 23718  	invalidParams := request.ErrInvalidParams{Context: "VideoDescription"}
 23719  	if s.Height != nil && *s.Height < 32 {
 23720  		invalidParams.Add(request.NewErrParamMinValue("Height", 32))
 23721  	}
 23722  	if s.Width != nil && *s.Width < 32 {
 23723  		invalidParams.Add(request.NewErrParamMinValue("Width", 32))
 23724  	}
 23725  	if s.CodecSettings != nil {
 23726  		if err := s.CodecSettings.Validate(); err != nil {
 23727  			invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams))
 23728  		}
 23729  	}
 23730  	if s.Crop != nil {
 23731  		if err := s.Crop.Validate(); err != nil {
 23732  			invalidParams.AddNested("Crop", err.(request.ErrInvalidParams))
 23733  		}
 23734  	}
 23735  	if s.Position != nil {
 23736  		if err := s.Position.Validate(); err != nil {
 23737  			invalidParams.AddNested("Position", err.(request.ErrInvalidParams))
 23738  		}
 23739  	}
 23740  	if s.VideoPreprocessors != nil {
 23741  		if err := s.VideoPreprocessors.Validate(); err != nil {
 23742  			invalidParams.AddNested("VideoPreprocessors", err.(request.ErrInvalidParams))
 23743  		}
 23744  	}
 23745  
 23746  	if invalidParams.Len() > 0 {
 23747  		return invalidParams
 23748  	}
 23749  	return nil
 23750  }
 23751  
 23752  // SetAfdSignaling sets the AfdSignaling field's value.
 23753  func (s *VideoDescription) SetAfdSignaling(v string) *VideoDescription {
 23754  	s.AfdSignaling = &v
 23755  	return s
 23756  }
 23757  
 23758  // SetAntiAlias sets the AntiAlias field's value.
 23759  func (s *VideoDescription) SetAntiAlias(v string) *VideoDescription {
 23760  	s.AntiAlias = &v
 23761  	return s
 23762  }
 23763  
 23764  // SetCodecSettings sets the CodecSettings field's value.
 23765  func (s *VideoDescription) SetCodecSettings(v *VideoCodecSettings) *VideoDescription {
 23766  	s.CodecSettings = v
 23767  	return s
 23768  }
 23769  
 23770  // SetColorMetadata sets the ColorMetadata field's value.
 23771  func (s *VideoDescription) SetColorMetadata(v string) *VideoDescription {
 23772  	s.ColorMetadata = &v
 23773  	return s
 23774  }
 23775  
 23776  // SetCrop sets the Crop field's value.
 23777  func (s *VideoDescription) SetCrop(v *Rectangle) *VideoDescription {
 23778  	s.Crop = v
 23779  	return s
 23780  }
 23781  
 23782  // SetDropFrameTimecode sets the DropFrameTimecode field's value.
 23783  func (s *VideoDescription) SetDropFrameTimecode(v string) *VideoDescription {
 23784  	s.DropFrameTimecode = &v
 23785  	return s
 23786  }
 23787  
 23788  // SetFixedAfd sets the FixedAfd field's value.
 23789  func (s *VideoDescription) SetFixedAfd(v int64) *VideoDescription {
 23790  	s.FixedAfd = &v
 23791  	return s
 23792  }
 23793  
 23794  // SetHeight sets the Height field's value.
 23795  func (s *VideoDescription) SetHeight(v int64) *VideoDescription {
 23796  	s.Height = &v
 23797  	return s
 23798  }
 23799  
 23800  // SetPosition sets the Position field's value.
 23801  func (s *VideoDescription) SetPosition(v *Rectangle) *VideoDescription {
 23802  	s.Position = v
 23803  	return s
 23804  }
 23805  
 23806  // SetRespondToAfd sets the RespondToAfd field's value.
 23807  func (s *VideoDescription) SetRespondToAfd(v string) *VideoDescription {
 23808  	s.RespondToAfd = &v
 23809  	return s
 23810  }
 23811  
 23812  // SetScalingBehavior sets the ScalingBehavior field's value.
 23813  func (s *VideoDescription) SetScalingBehavior(v string) *VideoDescription {
 23814  	s.ScalingBehavior = &v
 23815  	return s
 23816  }
 23817  
 23818  // SetSharpness sets the Sharpness field's value.
 23819  func (s *VideoDescription) SetSharpness(v int64) *VideoDescription {
 23820  	s.Sharpness = &v
 23821  	return s
 23822  }
 23823  
 23824  // SetTimecodeInsertion sets the TimecodeInsertion field's value.
 23825  func (s *VideoDescription) SetTimecodeInsertion(v string) *VideoDescription {
 23826  	s.TimecodeInsertion = &v
 23827  	return s
 23828  }
 23829  
 23830  // SetVideoPreprocessors sets the VideoPreprocessors field's value.
 23831  func (s *VideoDescription) SetVideoPreprocessors(v *VideoPreprocessor) *VideoDescription {
 23832  	s.VideoPreprocessors = v
 23833  	return s
 23834  }
 23835  
 23836  // SetWidth sets the Width field's value.
 23837  func (s *VideoDescription) SetWidth(v int64) *VideoDescription {
 23838  	s.Width = &v
 23839  	return s
 23840  }
 23841  
 23842  // Contains details about the output's video stream
 23843  type VideoDetail struct {
 23844  	_ struct{} `type:"structure"`
 23845  
 23846  	// Height in pixels for the output
 23847  	HeightInPx *int64 `locationName:"heightInPx" type:"integer"`
 23848  
 23849  	// Width in pixels for the output
 23850  	WidthInPx *int64 `locationName:"widthInPx" type:"integer"`
 23851  }
 23852  
 23853  // String returns the string representation.
 23854  //
 23855  // API parameter values that are decorated as "sensitive" in the API will not
 23856  // be included in the string output. The member name will be present, but the
 23857  // value will be replaced with "sensitive".
 23858  func (s VideoDetail) String() string {
 23859  	return awsutil.Prettify(s)
 23860  }
 23861  
 23862  // GoString returns the string representation.
 23863  //
 23864  // API parameter values that are decorated as "sensitive" in the API will not
 23865  // be included in the string output. The member name will be present, but the
 23866  // value will be replaced with "sensitive".
 23867  func (s VideoDetail) GoString() string {
 23868  	return s.String()
 23869  }
 23870  
 23871  // SetHeightInPx sets the HeightInPx field's value.
 23872  func (s *VideoDetail) SetHeightInPx(v int64) *VideoDetail {
 23873  	s.HeightInPx = &v
 23874  	return s
 23875  }
 23876  
 23877  // SetWidthInPx sets the WidthInPx field's value.
 23878  func (s *VideoDetail) SetWidthInPx(v int64) *VideoDetail {
 23879  	s.WidthInPx = &v
 23880  	return s
 23881  }
 23882  
 23883  // Find additional transcoding features under Preprocessors (VideoPreprocessors).
 23884  // Enable the features at each output individually. These features are disabled
 23885  // by default.
 23886  type VideoPreprocessor struct {
 23887  	_ struct{} `type:"structure"`
 23888  
 23889  	// Use these settings to convert the color space or to modify properties such
 23890  	// as hue and contrast for this output. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/converting-the-color-space.html.
 23891  	ColorCorrector *ColorCorrector `locationName:"colorCorrector" type:"structure"`
 23892  
 23893  	// Use the deinterlacer to produce smoother motion and a clearer picture. For
 23894  	// more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-scan-type.html.
 23895  	Deinterlacer *Deinterlacer `locationName:"deinterlacer" type:"structure"`
 23896  
 23897  	// Enable Dolby Vision feature to produce Dolby Vision compatible video output.
 23898  	DolbyVision *DolbyVision `locationName:"dolbyVision" type:"structure"`
 23899  
 23900  	// Enable HDR10+ analyis and metadata injection. Compatible with HEVC only.
 23901  	Hdr10Plus *Hdr10Plus `locationName:"hdr10Plus" type:"structure"`
 23902  
 23903  	// Enable the Image inserter (ImageInserter) feature to include a graphic overlay
 23904  	// on your video. Enable or disable this feature for each output individually.
 23905  	// This setting is disabled by default.
 23906  	ImageInserter *ImageInserter `locationName:"imageInserter" type:"structure"`
 23907  
 23908  	// Enable the Noise reducer (NoiseReducer) feature to remove noise from your
 23909  	// video output if necessary. Enable or disable this feature for each output
 23910  	// individually. This setting is disabled by default.
 23911  	NoiseReducer *NoiseReducer `locationName:"noiseReducer" type:"structure"`
 23912  
 23913  	// If you work with a third party video watermarking partner, use the group
 23914  	// of settings that correspond with your watermarking partner to include watermarks
 23915  	// in your output.
 23916  	PartnerWatermarking *PartnerWatermarking `locationName:"partnerWatermarking" type:"structure"`
 23917  
 23918  	// Settings for burning the output timecode and specified prefix into the output.
 23919  	TimecodeBurnin *TimecodeBurnin `locationName:"timecodeBurnin" type:"structure"`
 23920  }
 23921  
 23922  // String returns the string representation.
 23923  //
 23924  // API parameter values that are decorated as "sensitive" in the API will not
 23925  // be included in the string output. The member name will be present, but the
 23926  // value will be replaced with "sensitive".
 23927  func (s VideoPreprocessor) String() string {
 23928  	return awsutil.Prettify(s)
 23929  }
 23930  
 23931  // GoString returns the string representation.
 23932  //
 23933  // API parameter values that are decorated as "sensitive" in the API will not
 23934  // be included in the string output. The member name will be present, but the
 23935  // value will be replaced with "sensitive".
 23936  func (s VideoPreprocessor) GoString() string {
 23937  	return s.String()
 23938  }
 23939  
 23940  // Validate inspects the fields of the type to determine if they are valid.
 23941  func (s *VideoPreprocessor) Validate() error {
 23942  	invalidParams := request.ErrInvalidParams{Context: "VideoPreprocessor"}
 23943  	if s.ColorCorrector != nil {
 23944  		if err := s.ColorCorrector.Validate(); err != nil {
 23945  			invalidParams.AddNested("ColorCorrector", err.(request.ErrInvalidParams))
 23946  		}
 23947  	}
 23948  	if s.ImageInserter != nil {
 23949  		if err := s.ImageInserter.Validate(); err != nil {
 23950  			invalidParams.AddNested("ImageInserter", err.(request.ErrInvalidParams))
 23951  		}
 23952  	}
 23953  	if s.NoiseReducer != nil {
 23954  		if err := s.NoiseReducer.Validate(); err != nil {
 23955  			invalidParams.AddNested("NoiseReducer", err.(request.ErrInvalidParams))
 23956  		}
 23957  	}
 23958  	if s.PartnerWatermarking != nil {
 23959  		if err := s.PartnerWatermarking.Validate(); err != nil {
 23960  			invalidParams.AddNested("PartnerWatermarking", err.(request.ErrInvalidParams))
 23961  		}
 23962  	}
 23963  	if s.TimecodeBurnin != nil {
 23964  		if err := s.TimecodeBurnin.Validate(); err != nil {
 23965  			invalidParams.AddNested("TimecodeBurnin", err.(request.ErrInvalidParams))
 23966  		}
 23967  	}
 23968  
 23969  	if invalidParams.Len() > 0 {
 23970  		return invalidParams
 23971  	}
 23972  	return nil
 23973  }
 23974  
 23975  // SetColorCorrector sets the ColorCorrector field's value.
 23976  func (s *VideoPreprocessor) SetColorCorrector(v *ColorCorrector) *VideoPreprocessor {
 23977  	s.ColorCorrector = v
 23978  	return s
 23979  }
 23980  
 23981  // SetDeinterlacer sets the Deinterlacer field's value.
 23982  func (s *VideoPreprocessor) SetDeinterlacer(v *Deinterlacer) *VideoPreprocessor {
 23983  	s.Deinterlacer = v
 23984  	return s
 23985  }
 23986  
 23987  // SetDolbyVision sets the DolbyVision field's value.
 23988  func (s *VideoPreprocessor) SetDolbyVision(v *DolbyVision) *VideoPreprocessor {
 23989  	s.DolbyVision = v
 23990  	return s
 23991  }
 23992  
 23993  // SetHdr10Plus sets the Hdr10Plus field's value.
 23994  func (s *VideoPreprocessor) SetHdr10Plus(v *Hdr10Plus) *VideoPreprocessor {
 23995  	s.Hdr10Plus = v
 23996  	return s
 23997  }
 23998  
 23999  // SetImageInserter sets the ImageInserter field's value.
 24000  func (s *VideoPreprocessor) SetImageInserter(v *ImageInserter) *VideoPreprocessor {
 24001  	s.ImageInserter = v
 24002  	return s
 24003  }
 24004  
 24005  // SetNoiseReducer sets the NoiseReducer field's value.
 24006  func (s *VideoPreprocessor) SetNoiseReducer(v *NoiseReducer) *VideoPreprocessor {
 24007  	s.NoiseReducer = v
 24008  	return s
 24009  }
 24010  
 24011  // SetPartnerWatermarking sets the PartnerWatermarking field's value.
 24012  func (s *VideoPreprocessor) SetPartnerWatermarking(v *PartnerWatermarking) *VideoPreprocessor {
 24013  	s.PartnerWatermarking = v
 24014  	return s
 24015  }
 24016  
 24017  // SetTimecodeBurnin sets the TimecodeBurnin field's value.
 24018  func (s *VideoPreprocessor) SetTimecodeBurnin(v *TimecodeBurnin) *VideoPreprocessor {
 24019  	s.TimecodeBurnin = v
 24020  	return s
 24021  }
 24022  
 24023  // Input video selectors contain the video settings for the input. Each of your
 24024  // inputs can have up to one video selector.
 24025  type VideoSelector struct {
 24026  	_ struct{} `type:"structure"`
 24027  
 24028  	// Ignore this setting unless this input is a QuickTime animation with an alpha
 24029  	// channel. Use this setting to create separate Key and Fill outputs. In each
 24030  	// output, specify which part of the input MediaConvert uses. Leave this setting
 24031  	// at the default value DISCARD to delete the alpha channel and preserve the
 24032  	// video. Set it to REMAP_TO_LUMA to delete the video and map the alpha channel
 24033  	// to the luma channel of your outputs.
 24034  	AlphaBehavior *string `locationName:"alphaBehavior" type:"string" enum:"AlphaBehavior"`
 24035  
 24036  	// If your input video has accurate color space metadata, or if you don't know
 24037  	// about color space, leave this set to the default value Follow (FOLLOW). The
 24038  	// service will automatically detect your input color space. If your input video
 24039  	// has metadata indicating the wrong color space, specify the accurate color
 24040  	// space here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering
 24041  	// Display Color Volume static metadata isn't present in your video stream,
 24042  	// or if that metadata is present but not accurate, choose Force HDR 10 (FORCE_HDR10)
 24043  	// here and specify correct values in the input HDR 10 metadata (Hdr10Metadata)
 24044  	// settings. For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr.
 24045  	ColorSpace *string `locationName:"colorSpace" type:"string" enum:"ColorSpace"`
 24046  
 24047  	// There are two sources for color metadata, the input file and the job input
 24048  	// settings Color space (ColorSpace) and HDR master display information settings(Hdr10Metadata).
 24049  	// The Color space usage setting determines which takes precedence. Choose Force
 24050  	// (FORCE) to use color metadata from the input job settings. If you don't specify
 24051  	// values for those settings, the service defaults to using metadata from your
 24052  	// input. FALLBACK - Choose Fallback (FALLBACK) to use color metadata from the
 24053  	// source when it is present. If there's no color metadata in your input file,
 24054  	// the service defaults to using values you specify in the input settings.
 24055  	ColorSpaceUsage *string `locationName:"colorSpaceUsage" type:"string" enum:"ColorSpaceUsage"`
 24056  
 24057  	// Use these settings to provide HDR 10 metadata that is missing or inaccurate
 24058  	// in your input video. Appropriate values vary depending on the input video
 24059  	// and must be provided by a color grader. The color grader generates these
 24060  	// values during the HDR 10 mastering process. The valid range for each of these
 24061  	// settings is 0 to 50,000. Each increment represents 0.00002 in CIE1931 color
 24062  	// coordinate. Related settings - When you specify these values, you must also
 24063  	// set Color space (ColorSpace) to HDR 10 (HDR10). To specify whether the the
 24064  	// values you specify here take precedence over the values in the metadata of
 24065  	// your input file, set Color space usage (ColorSpaceUsage). To specify whether
 24066  	// color metadata is included in an output, set Color metadata (ColorMetadata).
 24067  	// For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr.
 24068  	Hdr10Metadata *Hdr10Metadata `locationName:"hdr10Metadata" type:"structure"`
 24069  
 24070  	// Use PID (Pid) to select specific video data from an input file. Specify this
 24071  	// value as an integer; the system automatically converts it to the hexidecimal
 24072  	// value. For example, 257 selects PID 0x101. A PID, or packet identifier, is
 24073  	// an identifier for a set of data in an MPEG-2 transport stream container.
 24074  	Pid *int64 `locationName:"pid" min:"1" type:"integer"`
 24075  
 24076  	// Selects a specific program from within a multi-program transport stream.
 24077  	// Note that Quad 4K is not currently supported.
 24078  	ProgramNumber *int64 `locationName:"programNumber" type:"integer"`
 24079  
 24080  	// Use Rotate (InputRotate) to specify how the service rotates your video. You
 24081  	// can choose automatic rotation or specify a rotation. You can specify a clockwise
 24082  	// rotation of 0, 90, 180, or 270 degrees. If your input video container is
 24083  	// .mov or .mp4 and your input has rotation metadata, you can choose Automatic
 24084  	// to have the service rotate your video according to the rotation specified
 24085  	// in the metadata. The rotation must be within one degree of 90, 180, or 270
 24086  	// degrees. If the rotation metadata specifies any other rotation, the service
 24087  	// will default to no rotation. By default, the service does no rotation, even
 24088  	// if your input video has rotation metadata. The service doesn't pass through
 24089  	// rotation metadata.
 24090  	Rotate *string `locationName:"rotate" type:"string" enum:"InputRotate"`
 24091  
 24092  	// Use this setting when your input video codec is AVC-Intra. Ignore this setting
 24093  	// for all other inputs. If the sample range metadata in your input video is
 24094  	// accurate, or if you don't know about sample range, keep the default value,
 24095  	// Follow (FOLLOW), for this setting. When you do, the service automatically
 24096  	// detects your input sample range. If your input video has metadata indicating
 24097  	// the wrong sample range, specify the accurate sample range here. When you
 24098  	// do, MediaConvert ignores any sample range information in the input metadata.
 24099  	// Regardless of whether MediaConvert uses the input sample range or the sample
 24100  	// range that you specify, MediaConvert uses the sample range for transcoding
 24101  	// and also writes it to the output metadata.
 24102  	SampleRange *string `locationName:"sampleRange" type:"string" enum:"InputSampleRange"`
 24103  }
 24104  
 24105  // String returns the string representation.
 24106  //
 24107  // API parameter values that are decorated as "sensitive" in the API will not
 24108  // be included in the string output. The member name will be present, but the
 24109  // value will be replaced with "sensitive".
 24110  func (s VideoSelector) String() string {
 24111  	return awsutil.Prettify(s)
 24112  }
 24113  
 24114  // GoString returns the string representation.
 24115  //
 24116  // API parameter values that are decorated as "sensitive" in the API will not
 24117  // be included in the string output. The member name will be present, but the
 24118  // value will be replaced with "sensitive".
 24119  func (s VideoSelector) GoString() string {
 24120  	return s.String()
 24121  }
 24122  
 24123  // Validate inspects the fields of the type to determine if they are valid.
 24124  func (s *VideoSelector) Validate() error {
 24125  	invalidParams := request.ErrInvalidParams{Context: "VideoSelector"}
 24126  	if s.Pid != nil && *s.Pid < 1 {
 24127  		invalidParams.Add(request.NewErrParamMinValue("Pid", 1))
 24128  	}
 24129  	if s.ProgramNumber != nil && *s.ProgramNumber < -2.147483648e+09 {
 24130  		invalidParams.Add(request.NewErrParamMinValue("ProgramNumber", -2.147483648e+09))
 24131  	}
 24132  
 24133  	if invalidParams.Len() > 0 {
 24134  		return invalidParams
 24135  	}
 24136  	return nil
 24137  }
 24138  
 24139  // SetAlphaBehavior sets the AlphaBehavior field's value.
 24140  func (s *VideoSelector) SetAlphaBehavior(v string) *VideoSelector {
 24141  	s.AlphaBehavior = &v
 24142  	return s
 24143  }
 24144  
 24145  // SetColorSpace sets the ColorSpace field's value.
 24146  func (s *VideoSelector) SetColorSpace(v string) *VideoSelector {
 24147  	s.ColorSpace = &v
 24148  	return s
 24149  }
 24150  
 24151  // SetColorSpaceUsage sets the ColorSpaceUsage field's value.
 24152  func (s *VideoSelector) SetColorSpaceUsage(v string) *VideoSelector {
 24153  	s.ColorSpaceUsage = &v
 24154  	return s
 24155  }
 24156  
 24157  // SetHdr10Metadata sets the Hdr10Metadata field's value.
 24158  func (s *VideoSelector) SetHdr10Metadata(v *Hdr10Metadata) *VideoSelector {
 24159  	s.Hdr10Metadata = v
 24160  	return s
 24161  }
 24162  
 24163  // SetPid sets the Pid field's value.
 24164  func (s *VideoSelector) SetPid(v int64) *VideoSelector {
 24165  	s.Pid = &v
 24166  	return s
 24167  }
 24168  
 24169  // SetProgramNumber sets the ProgramNumber field's value.
 24170  func (s *VideoSelector) SetProgramNumber(v int64) *VideoSelector {
 24171  	s.ProgramNumber = &v
 24172  	return s
 24173  }
 24174  
 24175  // SetRotate sets the Rotate field's value.
 24176  func (s *VideoSelector) SetRotate(v string) *VideoSelector {
 24177  	s.Rotate = &v
 24178  	return s
 24179  }
 24180  
 24181  // SetSampleRange sets the SampleRange field's value.
 24182  func (s *VideoSelector) SetSampleRange(v string) *VideoSelector {
 24183  	s.SampleRange = &v
 24184  	return s
 24185  }
 24186  
 24187  // Required when you set Codec, under AudioDescriptions>CodecSettings, to the
 24188  // value Vorbis.
 24189  type VorbisSettings struct {
 24190  	_ struct{} `type:"structure"`
 24191  
 24192  	// Optional. Specify the number of channels in this output audio track. Choosing
 24193  	// Mono on the console gives you 1 output channel; choosing Stereo gives you
 24194  	// 2. In the API, valid values are 1 and 2. The default value is 2.
 24195  	Channels *int64 `locationName:"channels" min:"1" type:"integer"`
 24196  
 24197  	// Optional. Specify the audio sample rate in Hz. Valid values are 22050, 32000,
 24198  	// 44100, and 48000. The default value is 48000.
 24199  	SampleRate *int64 `locationName:"sampleRate" min:"22050" type:"integer"`
 24200  
 24201  	// Optional. Specify the variable audio quality of this Vorbis output from -1
 24202  	// (lowest quality, ~45 kbit/s) to 10 (highest quality, ~500 kbit/s). The default
 24203  	// value is 4 (~128 kbit/s). Values 5 and 6 are approximately 160 and 192 kbit/s,
 24204  	// respectively.
 24205  	VbrQuality *int64 `locationName:"vbrQuality" type:"integer"`
 24206  }
 24207  
 24208  // String returns the string representation.
 24209  //
 24210  // API parameter values that are decorated as "sensitive" in the API will not
 24211  // be included in the string output. The member name will be present, but the
 24212  // value will be replaced with "sensitive".
 24213  func (s VorbisSettings) String() string {
 24214  	return awsutil.Prettify(s)
 24215  }
 24216  
 24217  // GoString returns the string representation.
 24218  //
 24219  // API parameter values that are decorated as "sensitive" in the API will not
 24220  // be included in the string output. The member name will be present, but the
 24221  // value will be replaced with "sensitive".
 24222  func (s VorbisSettings) GoString() string {
 24223  	return s.String()
 24224  }
 24225  
 24226  // Validate inspects the fields of the type to determine if they are valid.
 24227  func (s *VorbisSettings) Validate() error {
 24228  	invalidParams := request.ErrInvalidParams{Context: "VorbisSettings"}
 24229  	if s.Channels != nil && *s.Channels < 1 {
 24230  		invalidParams.Add(request.NewErrParamMinValue("Channels", 1))
 24231  	}
 24232  	if s.SampleRate != nil && *s.SampleRate < 22050 {
 24233  		invalidParams.Add(request.NewErrParamMinValue("SampleRate", 22050))
 24234  	}
 24235  	if s.VbrQuality != nil && *s.VbrQuality < -1 {
 24236  		invalidParams.Add(request.NewErrParamMinValue("VbrQuality", -1))
 24237  	}
 24238  
 24239  	if invalidParams.Len() > 0 {
 24240  		return invalidParams
 24241  	}
 24242  	return nil
 24243  }
 24244  
 24245  // SetChannels sets the Channels field's value.
 24246  func (s *VorbisSettings) SetChannels(v int64) *VorbisSettings {
 24247  	s.Channels = &v
 24248  	return s
 24249  }
 24250  
 24251  // SetSampleRate sets the SampleRate field's value.
 24252  func (s *VorbisSettings) SetSampleRate(v int64) *VorbisSettings {
 24253  	s.SampleRate = &v
 24254  	return s
 24255  }
 24256  
 24257  // SetVbrQuality sets the VbrQuality field's value.
 24258  func (s *VorbisSettings) SetVbrQuality(v int64) *VorbisSettings {
 24259  	s.VbrQuality = &v
 24260  	return s
 24261  }
 24262  
 24263  // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
 24264  // the value VP8.
 24265  type Vp8Settings struct {
 24266  	_ struct{} `type:"structure"`
 24267  
 24268  	// Target bitrate in bits/second. For example, enter five megabits per second
 24269  	// as 5000000.
 24270  	Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"`
 24271  
 24272  	// If you are using the console, use the Framerate setting to specify the frame
 24273  	// rate for this output. If you want to keep the same frame rate as the input
 24274  	// video, choose Follow source. If you want to do frame rate conversion, choose
 24275  	// a frame rate from the dropdown list or choose Custom. The framerates shown
 24276  	// in the dropdown list are decimal approximations of fractions. If you choose
 24277  	// Custom, specify your frame rate as a fraction. If you are creating your transcoding
 24278  	// job specification as a JSON file without the console, use FramerateControl
 24279  	// to specify which value the service uses for the frame rate for this output.
 24280  	// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 24281  	// from the input. Choose SPECIFIED if you want the service to use the frame
 24282  	// rate you specify in the settings FramerateNumerator and FramerateDenominator.
 24283  	FramerateControl *string `locationName:"framerateControl" type:"string" enum:"Vp8FramerateControl"`
 24284  
 24285  	// Choose the method that you want MediaConvert to use when increasing or decreasing
 24286  	// the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 24287  	// simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 24288  	// you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 24289  	// smooth picture, but might introduce undesirable video artifacts. For complex
 24290  	// frame rate conversions, especially if your source video has already been
 24291  	// converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 24292  	// motion-compensated interpolation. FrameFormer chooses the best conversion
 24293  	// method frame by frame. Note that using FrameFormer increases the transcoding
 24294  	// time and incurs a significant add-on cost.
 24295  	FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"Vp8FramerateConversionAlgorithm"`
 24296  
 24297  	// When you use the API for transcode jobs that use frame rate conversion, specify
 24298  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
 24299  	// FramerateDenominator to specify the denominator of this fraction. In this
 24300  	// example, use 1001 for the value of FramerateDenominator. When you use the
 24301  	// console for transcode jobs that use frame rate conversion, provide the value
 24302  	// as a decimal number for Framerate. In this example, specify 23.976.
 24303  	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
 24304  
 24305  	// When you use the API for transcode jobs that use frame rate conversion, specify
 24306  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
 24307  	// FramerateNumerator to specify the numerator of this fraction. In this example,
 24308  	// use 24000 for the value of FramerateNumerator. When you use the console for
 24309  	// transcode jobs that use frame rate conversion, provide the value as a decimal
 24310  	// number for Framerate. In this example, specify 23.976.
 24311  	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"`
 24312  
 24313  	// GOP Length (keyframe interval) in frames. Must be greater than zero.
 24314  	GopSize *float64 `locationName:"gopSize" type:"double"`
 24315  
 24316  	// Optional. Size of buffer (HRD buffer model) in bits. For example, enter five
 24317  	// megabits as 5000000.
 24318  	HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"`
 24319  
 24320  	// Ignore this setting unless you set qualityTuningLevel to MULTI_PASS. Optional.
 24321  	// Specify the maximum bitrate in bits/second. For example, enter five megabits
 24322  	// per second as 5000000. The default behavior uses twice the target bitrate
 24323  	// as the maximum bitrate.
 24324  	MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"`
 24325  
 24326  	// Optional. Specify how the service determines the pixel aspect ratio (PAR)
 24327  	// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE),
 24328  	// uses the PAR from your input video for your output. To specify a different
 24329  	// PAR in the console, choose any value other than Follow source. To specify
 24330  	// a different PAR by editing the JSON job specification, choose SPECIFIED.
 24331  	// When you choose SPECIFIED for this setting, you must also specify values
 24332  	// for the parNumerator and parDenominator settings.
 24333  	ParControl *string `locationName:"parControl" type:"string" enum:"Vp8ParControl"`
 24334  
 24335  	// Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the
 24336  	// console, this corresponds to any value other than Follow source. When you
 24337  	// specify an output pixel aspect ratio (PAR) that is different from your input
 24338  	// video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC
 24339  	// widescreen, you would specify the ratio 40:33. In this example, the value
 24340  	// for parDenominator is 33.
 24341  	ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"`
 24342  
 24343  	// Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the
 24344  	// console, this corresponds to any value other than Follow source. When you
 24345  	// specify an output pixel aspect ratio (PAR) that is different from your input
 24346  	// video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC
 24347  	// widescreen, you would specify the ratio 40:33. In this example, the value
 24348  	// for parNumerator is 40.
 24349  	ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"`
 24350  
 24351  	// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you
 24352  	// want to trade off encoding speed for output video quality. The default behavior
 24353  	// is faster, lower quality, multi-pass encoding.
 24354  	QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"Vp8QualityTuningLevel"`
 24355  
 24356  	// With the VP8 codec, you can use only the variable bitrate (VBR) rate control
 24357  	// mode.
 24358  	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"Vp8RateControlMode"`
 24359  }
 24360  
 24361  // String returns the string representation.
 24362  //
 24363  // API parameter values that are decorated as "sensitive" in the API will not
 24364  // be included in the string output. The member name will be present, but the
 24365  // value will be replaced with "sensitive".
 24366  func (s Vp8Settings) String() string {
 24367  	return awsutil.Prettify(s)
 24368  }
 24369  
 24370  // GoString returns the string representation.
 24371  //
 24372  // API parameter values that are decorated as "sensitive" in the API will not
 24373  // be included in the string output. The member name will be present, but the
 24374  // value will be replaced with "sensitive".
 24375  func (s Vp8Settings) GoString() string {
 24376  	return s.String()
 24377  }
 24378  
 24379  // Validate inspects the fields of the type to determine if they are valid.
 24380  func (s *Vp8Settings) Validate() error {
 24381  	invalidParams := request.ErrInvalidParams{Context: "Vp8Settings"}
 24382  	if s.Bitrate != nil && *s.Bitrate < 1000 {
 24383  		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000))
 24384  	}
 24385  	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
 24386  		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
 24387  	}
 24388  	if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 {
 24389  		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1))
 24390  	}
 24391  	if s.MaxBitrate != nil && *s.MaxBitrate < 1000 {
 24392  		invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000))
 24393  	}
 24394  	if s.ParDenominator != nil && *s.ParDenominator < 1 {
 24395  		invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1))
 24396  	}
 24397  	if s.ParNumerator != nil && *s.ParNumerator < 1 {
 24398  		invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1))
 24399  	}
 24400  
 24401  	if invalidParams.Len() > 0 {
 24402  		return invalidParams
 24403  	}
 24404  	return nil
 24405  }
 24406  
 24407  // SetBitrate sets the Bitrate field's value.
 24408  func (s *Vp8Settings) SetBitrate(v int64) *Vp8Settings {
 24409  	s.Bitrate = &v
 24410  	return s
 24411  }
 24412  
 24413  // SetFramerateControl sets the FramerateControl field's value.
 24414  func (s *Vp8Settings) SetFramerateControl(v string) *Vp8Settings {
 24415  	s.FramerateControl = &v
 24416  	return s
 24417  }
 24418  
 24419  // SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value.
 24420  func (s *Vp8Settings) SetFramerateConversionAlgorithm(v string) *Vp8Settings {
 24421  	s.FramerateConversionAlgorithm = &v
 24422  	return s
 24423  }
 24424  
 24425  // SetFramerateDenominator sets the FramerateDenominator field's value.
 24426  func (s *Vp8Settings) SetFramerateDenominator(v int64) *Vp8Settings {
 24427  	s.FramerateDenominator = &v
 24428  	return s
 24429  }
 24430  
 24431  // SetFramerateNumerator sets the FramerateNumerator field's value.
 24432  func (s *Vp8Settings) SetFramerateNumerator(v int64) *Vp8Settings {
 24433  	s.FramerateNumerator = &v
 24434  	return s
 24435  }
 24436  
 24437  // SetGopSize sets the GopSize field's value.
 24438  func (s *Vp8Settings) SetGopSize(v float64) *Vp8Settings {
 24439  	s.GopSize = &v
 24440  	return s
 24441  }
 24442  
 24443  // SetHrdBufferSize sets the HrdBufferSize field's value.
 24444  func (s *Vp8Settings) SetHrdBufferSize(v int64) *Vp8Settings {
 24445  	s.HrdBufferSize = &v
 24446  	return s
 24447  }
 24448  
 24449  // SetMaxBitrate sets the MaxBitrate field's value.
 24450  func (s *Vp8Settings) SetMaxBitrate(v int64) *Vp8Settings {
 24451  	s.MaxBitrate = &v
 24452  	return s
 24453  }
 24454  
 24455  // SetParControl sets the ParControl field's value.
 24456  func (s *Vp8Settings) SetParControl(v string) *Vp8Settings {
 24457  	s.ParControl = &v
 24458  	return s
 24459  }
 24460  
 24461  // SetParDenominator sets the ParDenominator field's value.
 24462  func (s *Vp8Settings) SetParDenominator(v int64) *Vp8Settings {
 24463  	s.ParDenominator = &v
 24464  	return s
 24465  }
 24466  
 24467  // SetParNumerator sets the ParNumerator field's value.
 24468  func (s *Vp8Settings) SetParNumerator(v int64) *Vp8Settings {
 24469  	s.ParNumerator = &v
 24470  	return s
 24471  }
 24472  
 24473  // SetQualityTuningLevel sets the QualityTuningLevel field's value.
 24474  func (s *Vp8Settings) SetQualityTuningLevel(v string) *Vp8Settings {
 24475  	s.QualityTuningLevel = &v
 24476  	return s
 24477  }
 24478  
 24479  // SetRateControlMode sets the RateControlMode field's value.
 24480  func (s *Vp8Settings) SetRateControlMode(v string) *Vp8Settings {
 24481  	s.RateControlMode = &v
 24482  	return s
 24483  }
 24484  
 24485  // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
 24486  // the value VP9.
 24487  type Vp9Settings struct {
 24488  	_ struct{} `type:"structure"`
 24489  
 24490  	// Target bitrate in bits/second. For example, enter five megabits per second
 24491  	// as 5000000.
 24492  	Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"`
 24493  
 24494  	// If you are using the console, use the Framerate setting to specify the frame
 24495  	// rate for this output. If you want to keep the same frame rate as the input
 24496  	// video, choose Follow source. If you want to do frame rate conversion, choose
 24497  	// a frame rate from the dropdown list or choose Custom. The framerates shown
 24498  	// in the dropdown list are decimal approximations of fractions. If you choose
 24499  	// Custom, specify your frame rate as a fraction. If you are creating your transcoding
 24500  	// job specification as a JSON file without the console, use FramerateControl
 24501  	// to specify which value the service uses for the frame rate for this output.
 24502  	// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 24503  	// from the input. Choose SPECIFIED if you want the service to use the frame
 24504  	// rate you specify in the settings FramerateNumerator and FramerateDenominator.
 24505  	FramerateControl *string `locationName:"framerateControl" type:"string" enum:"Vp9FramerateControl"`
 24506  
 24507  	// Choose the method that you want MediaConvert to use when increasing or decreasing
 24508  	// the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 24509  	// simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 24510  	// you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 24511  	// smooth picture, but might introduce undesirable video artifacts. For complex
 24512  	// frame rate conversions, especially if your source video has already been
 24513  	// converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 24514  	// motion-compensated interpolation. FrameFormer chooses the best conversion
 24515  	// method frame by frame. Note that using FrameFormer increases the transcoding
 24516  	// time and incurs a significant add-on cost.
 24517  	FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"Vp9FramerateConversionAlgorithm"`
 24518  
 24519  	// When you use the API for transcode jobs that use frame rate conversion, specify
 24520  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
 24521  	// FramerateDenominator to specify the denominator of this fraction. In this
 24522  	// example, use 1001 for the value of FramerateDenominator. When you use the
 24523  	// console for transcode jobs that use frame rate conversion, provide the value
 24524  	// as a decimal number for Framerate. In this example, specify 23.976.
 24525  	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
 24526  
 24527  	// When you use the API for transcode jobs that use frame rate conversion, specify
 24528  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
 24529  	// FramerateNumerator to specify the numerator of this fraction. In this example,
 24530  	// use 24000 for the value of FramerateNumerator. When you use the console for
 24531  	// transcode jobs that use frame rate conversion, provide the value as a decimal
 24532  	// number for Framerate. In this example, specify 23.976.
 24533  	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"`
 24534  
 24535  	// GOP Length (keyframe interval) in frames. Must be greater than zero.
 24536  	GopSize *float64 `locationName:"gopSize" type:"double"`
 24537  
 24538  	// Size of buffer (HRD buffer model) in bits. For example, enter five megabits
 24539  	// as 5000000.
 24540  	HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"`
 24541  
 24542  	// Ignore this setting unless you set qualityTuningLevel to MULTI_PASS. Optional.
 24543  	// Specify the maximum bitrate in bits/second. For example, enter five megabits
 24544  	// per second as 5000000. The default behavior uses twice the target bitrate
 24545  	// as the maximum bitrate.
 24546  	MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"`
 24547  
 24548  	// Optional. Specify how the service determines the pixel aspect ratio for this
 24549  	// output. The default behavior is to use the same pixel aspect ratio as your
 24550  	// input video.
 24551  	ParControl *string `locationName:"parControl" type:"string" enum:"Vp9ParControl"`
 24552  
 24553  	// Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the
 24554  	// console, this corresponds to any value other than Follow source. When you
 24555  	// specify an output pixel aspect ratio (PAR) that is different from your input
 24556  	// video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC
 24557  	// widescreen, you would specify the ratio 40:33. In this example, the value
 24558  	// for parDenominator is 33.
 24559  	ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"`
 24560  
 24561  	// Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the
 24562  	// console, this corresponds to any value other than Follow source. When you
 24563  	// specify an output pixel aspect ratio (PAR) that is different from your input
 24564  	// video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC
 24565  	// widescreen, you would specify the ratio 40:33. In this example, the value
 24566  	// for parNumerator is 40.
 24567  	ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"`
 24568  
 24569  	// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you
 24570  	// want to trade off encoding speed for output video quality. The default behavior
 24571  	// is faster, lower quality, multi-pass encoding.
 24572  	QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"Vp9QualityTuningLevel"`
 24573  
 24574  	// With the VP9 codec, you can use only the variable bitrate (VBR) rate control
 24575  	// mode.
 24576  	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"Vp9RateControlMode"`
 24577  }
 24578  
 24579  // String returns the string representation.
 24580  //
 24581  // API parameter values that are decorated as "sensitive" in the API will not
 24582  // be included in the string output. The member name will be present, but the
 24583  // value will be replaced with "sensitive".
 24584  func (s Vp9Settings) String() string {
 24585  	return awsutil.Prettify(s)
 24586  }
 24587  
 24588  // GoString returns the string representation.
 24589  //
 24590  // API parameter values that are decorated as "sensitive" in the API will not
 24591  // be included in the string output. The member name will be present, but the
 24592  // value will be replaced with "sensitive".
 24593  func (s Vp9Settings) GoString() string {
 24594  	return s.String()
 24595  }
 24596  
 24597  // Validate inspects the fields of the type to determine if they are valid.
 24598  func (s *Vp9Settings) Validate() error {
 24599  	invalidParams := request.ErrInvalidParams{Context: "Vp9Settings"}
 24600  	if s.Bitrate != nil && *s.Bitrate < 1000 {
 24601  		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000))
 24602  	}
 24603  	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
 24604  		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
 24605  	}
 24606  	if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 {
 24607  		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1))
 24608  	}
 24609  	if s.MaxBitrate != nil && *s.MaxBitrate < 1000 {
 24610  		invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000))
 24611  	}
 24612  	if s.ParDenominator != nil && *s.ParDenominator < 1 {
 24613  		invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1))
 24614  	}
 24615  	if s.ParNumerator != nil && *s.ParNumerator < 1 {
 24616  		invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1))
 24617  	}
 24618  
 24619  	if invalidParams.Len() > 0 {
 24620  		return invalidParams
 24621  	}
 24622  	return nil
 24623  }
 24624  
 24625  // SetBitrate sets the Bitrate field's value.
 24626  func (s *Vp9Settings) SetBitrate(v int64) *Vp9Settings {
 24627  	s.Bitrate = &v
 24628  	return s
 24629  }
 24630  
 24631  // SetFramerateControl sets the FramerateControl field's value.
 24632  func (s *Vp9Settings) SetFramerateControl(v string) *Vp9Settings {
 24633  	s.FramerateControl = &v
 24634  	return s
 24635  }
 24636  
 24637  // SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value.
 24638  func (s *Vp9Settings) SetFramerateConversionAlgorithm(v string) *Vp9Settings {
 24639  	s.FramerateConversionAlgorithm = &v
 24640  	return s
 24641  }
 24642  
 24643  // SetFramerateDenominator sets the FramerateDenominator field's value.
 24644  func (s *Vp9Settings) SetFramerateDenominator(v int64) *Vp9Settings {
 24645  	s.FramerateDenominator = &v
 24646  	return s
 24647  }
 24648  
 24649  // SetFramerateNumerator sets the FramerateNumerator field's value.
 24650  func (s *Vp9Settings) SetFramerateNumerator(v int64) *Vp9Settings {
 24651  	s.FramerateNumerator = &v
 24652  	return s
 24653  }
 24654  
 24655  // SetGopSize sets the GopSize field's value.
 24656  func (s *Vp9Settings) SetGopSize(v float64) *Vp9Settings {
 24657  	s.GopSize = &v
 24658  	return s
 24659  }
 24660  
 24661  // SetHrdBufferSize sets the HrdBufferSize field's value.
 24662  func (s *Vp9Settings) SetHrdBufferSize(v int64) *Vp9Settings {
 24663  	s.HrdBufferSize = &v
 24664  	return s
 24665  }
 24666  
 24667  // SetMaxBitrate sets the MaxBitrate field's value.
 24668  func (s *Vp9Settings) SetMaxBitrate(v int64) *Vp9Settings {
 24669  	s.MaxBitrate = &v
 24670  	return s
 24671  }
 24672  
 24673  // SetParControl sets the ParControl field's value.
 24674  func (s *Vp9Settings) SetParControl(v string) *Vp9Settings {
 24675  	s.ParControl = &v
 24676  	return s
 24677  }
 24678  
 24679  // SetParDenominator sets the ParDenominator field's value.
 24680  func (s *Vp9Settings) SetParDenominator(v int64) *Vp9Settings {
 24681  	s.ParDenominator = &v
 24682  	return s
 24683  }
 24684  
 24685  // SetParNumerator sets the ParNumerator field's value.
 24686  func (s *Vp9Settings) SetParNumerator(v int64) *Vp9Settings {
 24687  	s.ParNumerator = &v
 24688  	return s
 24689  }
 24690  
 24691  // SetQualityTuningLevel sets the QualityTuningLevel field's value.
 24692  func (s *Vp9Settings) SetQualityTuningLevel(v string) *Vp9Settings {
 24693  	s.QualityTuningLevel = &v
 24694  	return s
 24695  }
 24696  
 24697  // SetRateControlMode sets the RateControlMode field's value.
 24698  func (s *Vp9Settings) SetRateControlMode(v string) *Vp9Settings {
 24699  	s.RateControlMode = &v
 24700  	return s
 24701  }
 24702  
 24703  // Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
 24704  // the value WAV.
 24705  type WavSettings struct {
 24706  	_ struct{} `type:"structure"`
 24707  
 24708  	// Specify Bit depth (BitDepth), in bits per sample, to choose the encoding
 24709  	// quality for this audio track.
 24710  	BitDepth *int64 `locationName:"bitDepth" min:"16" type:"integer"`
 24711  
 24712  	// Specify the number of channels in this output audio track. Valid values are
 24713  	// 1 and even numbers up to 64. For example, 1, 2, 4, 6, and so on, up to 64.
 24714  	Channels *int64 `locationName:"channels" min:"1" type:"integer"`
 24715  
 24716  	// The service defaults to using RIFF for WAV outputs. If your output audio
 24717  	// is likely to exceed 4 GB in file size, or if you otherwise need the extended
 24718  	// support of the RF64 format, set your output WAV file format to RF64.
 24719  	Format *string `locationName:"format" type:"string" enum:"WavFormat"`
 24720  
 24721  	// Sample rate in Hz.
 24722  	SampleRate *int64 `locationName:"sampleRate" min:"8000" type:"integer"`
 24723  }
 24724  
 24725  // String returns the string representation.
 24726  //
 24727  // API parameter values that are decorated as "sensitive" in the API will not
 24728  // be included in the string output. The member name will be present, but the
 24729  // value will be replaced with "sensitive".
 24730  func (s WavSettings) String() string {
 24731  	return awsutil.Prettify(s)
 24732  }
 24733  
 24734  // GoString returns the string representation.
 24735  //
 24736  // API parameter values that are decorated as "sensitive" in the API will not
 24737  // be included in the string output. The member name will be present, but the
 24738  // value will be replaced with "sensitive".
 24739  func (s WavSettings) GoString() string {
 24740  	return s.String()
 24741  }
 24742  
 24743  // Validate inspects the fields of the type to determine if they are valid.
 24744  func (s *WavSettings) Validate() error {
 24745  	invalidParams := request.ErrInvalidParams{Context: "WavSettings"}
 24746  	if s.BitDepth != nil && *s.BitDepth < 16 {
 24747  		invalidParams.Add(request.NewErrParamMinValue("BitDepth", 16))
 24748  	}
 24749  	if s.Channels != nil && *s.Channels < 1 {
 24750  		invalidParams.Add(request.NewErrParamMinValue("Channels", 1))
 24751  	}
 24752  	if s.SampleRate != nil && *s.SampleRate < 8000 {
 24753  		invalidParams.Add(request.NewErrParamMinValue("SampleRate", 8000))
 24754  	}
 24755  
 24756  	if invalidParams.Len() > 0 {
 24757  		return invalidParams
 24758  	}
 24759  	return nil
 24760  }
 24761  
 24762  // SetBitDepth sets the BitDepth field's value.
 24763  func (s *WavSettings) SetBitDepth(v int64) *WavSettings {
 24764  	s.BitDepth = &v
 24765  	return s
 24766  }
 24767  
 24768  // SetChannels sets the Channels field's value.
 24769  func (s *WavSettings) SetChannels(v int64) *WavSettings {
 24770  	s.Channels = &v
 24771  	return s
 24772  }
 24773  
 24774  // SetFormat sets the Format field's value.
 24775  func (s *WavSettings) SetFormat(v string) *WavSettings {
 24776  	s.Format = &v
 24777  	return s
 24778  }
 24779  
 24780  // SetSampleRate sets the SampleRate field's value.
 24781  func (s *WavSettings) SetSampleRate(v int64) *WavSettings {
 24782  	s.SampleRate = &v
 24783  	return s
 24784  }
 24785  
 24786  // WEBVTT Destination Settings
 24787  type WebvttDestinationSettings struct {
 24788  	_ struct{} `type:"structure"`
 24789  
 24790  	// Choose Enabled (ENABLED) to have MediaConvert use the font style, color,
 24791  	// and position information from the captions source in the input. Keep the
 24792  	// default value, Disabled (DISABLED), for simplified output captions.
 24793  	StylePassthrough *string `locationName:"stylePassthrough" type:"string" enum:"WebvttStylePassthrough"`
 24794  }
 24795  
 24796  // String returns the string representation.
 24797  //
 24798  // API parameter values that are decorated as "sensitive" in the API will not
 24799  // be included in the string output. The member name will be present, but the
 24800  // value will be replaced with "sensitive".
 24801  func (s WebvttDestinationSettings) String() string {
 24802  	return awsutil.Prettify(s)
 24803  }
 24804  
 24805  // GoString returns the string representation.
 24806  //
 24807  // API parameter values that are decorated as "sensitive" in the API will not
 24808  // be included in the string output. The member name will be present, but the
 24809  // value will be replaced with "sensitive".
 24810  func (s WebvttDestinationSettings) GoString() string {
 24811  	return s.String()
 24812  }
 24813  
 24814  // SetStylePassthrough sets the StylePassthrough field's value.
 24815  func (s *WebvttDestinationSettings) SetStylePassthrough(v string) *WebvttDestinationSettings {
 24816  	s.StylePassthrough = &v
 24817  	return s
 24818  }
 24819  
 24820  // Settings specific to WebVTT sources in HLS alternative rendition group. Specify
 24821  // the properties (renditionGroupId, renditionName or renditionLanguageCode)
 24822  // to identify the unique subtitle track among the alternative rendition groups
 24823  // present in the HLS manifest. If no unique track is found, or multiple tracks
 24824  // match the specified properties, the job fails. If there is only one subtitle
 24825  // track in the rendition group, the settings can be left empty and the default
 24826  // subtitle track will be chosen. If your caption source is a sidecar file,
 24827  // use FileSourceSettings instead of WebvttHlsSourceSettings.
 24828  type WebvttHlsSourceSettings struct {
 24829  	_ struct{} `type:"structure"`
 24830  
 24831  	// Optional. Specify alternative group ID
 24832  	RenditionGroupId *string `locationName:"renditionGroupId" type:"string"`
 24833  
 24834  	// Optional. Specify ISO 639-2 or ISO 639-3 code in the language property
 24835  	RenditionLanguageCode *string `locationName:"renditionLanguageCode" type:"string" enum:"LanguageCode"`
 24836  
 24837  	// Optional. Specify media name
 24838  	RenditionName *string `locationName:"renditionName" type:"string"`
 24839  }
 24840  
 24841  // String returns the string representation.
 24842  //
 24843  // API parameter values that are decorated as "sensitive" in the API will not
 24844  // be included in the string output. The member name will be present, but the
 24845  // value will be replaced with "sensitive".
 24846  func (s WebvttHlsSourceSettings) String() string {
 24847  	return awsutil.Prettify(s)
 24848  }
 24849  
 24850  // GoString returns the string representation.
 24851  //
 24852  // API parameter values that are decorated as "sensitive" in the API will not
 24853  // be included in the string output. The member name will be present, but the
 24854  // value will be replaced with "sensitive".
 24855  func (s WebvttHlsSourceSettings) GoString() string {
 24856  	return s.String()
 24857  }
 24858  
 24859  // SetRenditionGroupId sets the RenditionGroupId field's value.
 24860  func (s *WebvttHlsSourceSettings) SetRenditionGroupId(v string) *WebvttHlsSourceSettings {
 24861  	s.RenditionGroupId = &v
 24862  	return s
 24863  }
 24864  
 24865  // SetRenditionLanguageCode sets the RenditionLanguageCode field's value.
 24866  func (s *WebvttHlsSourceSettings) SetRenditionLanguageCode(v string) *WebvttHlsSourceSettings {
 24867  	s.RenditionLanguageCode = &v
 24868  	return s
 24869  }
 24870  
 24871  // SetRenditionName sets the RenditionName field's value.
 24872  func (s *WebvttHlsSourceSettings) SetRenditionName(v string) *WebvttHlsSourceSettings {
 24873  	s.RenditionName = &v
 24874  	return s
 24875  }
 24876  
 24877  // Required when you set (Profile) under (VideoDescription)>(CodecSettings)>(XavcSettings)
 24878  // to the value XAVC_4K_INTRA_CBG.
 24879  type Xavc4kIntraCbgProfileSettings struct {
 24880  	_ struct{} `type:"structure"`
 24881  
 24882  	// Specify the XAVC Intra 4k (CBG) Class to set the bitrate of your output.
 24883  	// Outputs of the same class have similar image quality over the operating points
 24884  	// that are valid for that class.
 24885  	XavcClass *string `locationName:"xavcClass" type:"string" enum:"Xavc4kIntraCbgProfileClass"`
 24886  }
 24887  
 24888  // String returns the string representation.
 24889  //
 24890  // API parameter values that are decorated as "sensitive" in the API will not
 24891  // be included in the string output. The member name will be present, but the
 24892  // value will be replaced with "sensitive".
 24893  func (s Xavc4kIntraCbgProfileSettings) String() string {
 24894  	return awsutil.Prettify(s)
 24895  }
 24896  
 24897  // GoString returns the string representation.
 24898  //
 24899  // API parameter values that are decorated as "sensitive" in the API will not
 24900  // be included in the string output. The member name will be present, but the
 24901  // value will be replaced with "sensitive".
 24902  func (s Xavc4kIntraCbgProfileSettings) GoString() string {
 24903  	return s.String()
 24904  }
 24905  
 24906  // SetXavcClass sets the XavcClass field's value.
 24907  func (s *Xavc4kIntraCbgProfileSettings) SetXavcClass(v string) *Xavc4kIntraCbgProfileSettings {
 24908  	s.XavcClass = &v
 24909  	return s
 24910  }
 24911  
 24912  // Required when you set (Profile) under (VideoDescription)>(CodecSettings)>(XavcSettings)
 24913  // to the value XAVC_4K_INTRA_VBR.
 24914  type Xavc4kIntraVbrProfileSettings struct {
 24915  	_ struct{} `type:"structure"`
 24916  
 24917  	// Specify the XAVC Intra 4k (VBR) Class to set the bitrate of your output.
 24918  	// Outputs of the same class have similar image quality over the operating points
 24919  	// that are valid for that class.
 24920  	XavcClass *string `locationName:"xavcClass" type:"string" enum:"Xavc4kIntraVbrProfileClass"`
 24921  }
 24922  
 24923  // String returns the string representation.
 24924  //
 24925  // API parameter values that are decorated as "sensitive" in the API will not
 24926  // be included in the string output. The member name will be present, but the
 24927  // value will be replaced with "sensitive".
 24928  func (s Xavc4kIntraVbrProfileSettings) String() string {
 24929  	return awsutil.Prettify(s)
 24930  }
 24931  
 24932  // GoString returns the string representation.
 24933  //
 24934  // API parameter values that are decorated as "sensitive" in the API will not
 24935  // be included in the string output. The member name will be present, but the
 24936  // value will be replaced with "sensitive".
 24937  func (s Xavc4kIntraVbrProfileSettings) GoString() string {
 24938  	return s.String()
 24939  }
 24940  
 24941  // SetXavcClass sets the XavcClass field's value.
 24942  func (s *Xavc4kIntraVbrProfileSettings) SetXavcClass(v string) *Xavc4kIntraVbrProfileSettings {
 24943  	s.XavcClass = &v
 24944  	return s
 24945  }
 24946  
 24947  // Required when you set (Profile) under (VideoDescription)>(CodecSettings)>(XavcSettings)
 24948  // to the value XAVC_4K.
 24949  type Xavc4kProfileSettings struct {
 24950  	_ struct{} `type:"structure"`
 24951  
 24952  	// Specify the XAVC 4k (Long GOP) Bitrate Class to set the bitrate of your output.
 24953  	// Outputs of the same class have similar image quality over the operating points
 24954  	// that are valid for that class.
 24955  	BitrateClass *string `locationName:"bitrateClass" type:"string" enum:"Xavc4kProfileBitrateClass"`
 24956  
 24957  	// Specify the codec profile for this output. Choose High, 8-bit, 4:2:0 (HIGH)
 24958  	// or High, 10-bit, 4:2:2 (HIGH_422). These profiles are specified in ITU-T
 24959  	// H.264.
 24960  	CodecProfile *string `locationName:"codecProfile" type:"string" enum:"Xavc4kProfileCodecProfile"`
 24961  
 24962  	// The best way to set up adaptive quantization is to keep the default value,
 24963  	// Auto (AUTO), for the setting Adaptive quantization (XavcAdaptiveQuantization).
 24964  	// When you do so, MediaConvert automatically applies the best types of quantization
 24965  	// for your video content. Include this setting in your JSON job specification
 24966  	// only when you choose to change the default value for Adaptive quantization.
 24967  	// Enable this setting to have the encoder reduce I-frame pop. I-frame pop appears
 24968  	// as a visual flicker that can arise when the encoder saves bits by copying
 24969  	// some macroblocks many times from frame to frame, and then refreshes them
 24970  	// at the I-frame. When you enable this setting, the encoder updates these macroblocks
 24971  	// slightly more often to smooth out the flicker. This setting is disabled by
 24972  	// default. Related setting: In addition to enabling this setting, you must
 24973  	// also set Adaptive quantization (adaptiveQuantization) to a value other than
 24974  	// Off (OFF) or Auto (AUTO). Use Adaptive quantization to adjust the degree
 24975  	// of smoothing that Flicker adaptive quantization provides.
 24976  	FlickerAdaptiveQuantization *string `locationName:"flickerAdaptiveQuantization" type:"string" enum:"XavcFlickerAdaptiveQuantization"`
 24977  
 24978  	// Specify whether the encoder uses B-frames as reference frames for other pictures
 24979  	// in the same GOP. Choose Allow (ENABLED) to allow the encoder to use B-frames
 24980  	// as reference frames. Choose Don't allow (DISABLED) to prevent the encoder
 24981  	// from using B-frames as reference frames.
 24982  	GopBReference *string `locationName:"gopBReference" type:"string" enum:"XavcGopBReference"`
 24983  
 24984  	// Frequency of closed GOPs. In streaming applications, it is recommended that
 24985  	// this be set to 1 so a decoder joining mid-stream will receive an IDR frame
 24986  	// as quickly as possible. Setting this value to 0 will break output segmenting.
 24987  	GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"`
 24988  
 24989  	// Specify the size of the buffer that MediaConvert uses in the HRD buffer model
 24990  	// for this output. Specify this value in bits; for example, enter five megabits
 24991  	// as 5000000. When you don't set this value, or you set it to zero, MediaConvert
 24992  	// calculates the default by doubling the bitrate of this output point.
 24993  	HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"`
 24994  
 24995  	// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you
 24996  	// want to trade off encoding speed for output video quality. The default behavior
 24997  	// is faster, lower quality, single-pass encoding.
 24998  	QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"Xavc4kProfileQualityTuningLevel"`
 24999  
 25000  	// Number of slices per picture. Must be less than or equal to the number of
 25001  	// macroblock rows for progressive pictures, and less than or equal to half
 25002  	// the number of macroblock rows for interlaced pictures.
 25003  	Slices *int64 `locationName:"slices" min:"8" type:"integer"`
 25004  }
 25005  
 25006  // String returns the string representation.
 25007  //
 25008  // API parameter values that are decorated as "sensitive" in the API will not
 25009  // be included in the string output. The member name will be present, but the
 25010  // value will be replaced with "sensitive".
 25011  func (s Xavc4kProfileSettings) String() string {
 25012  	return awsutil.Prettify(s)
 25013  }
 25014  
 25015  // GoString returns the string representation.
 25016  //
 25017  // API parameter values that are decorated as "sensitive" in the API will not
 25018  // be included in the string output. The member name will be present, but the
 25019  // value will be replaced with "sensitive".
 25020  func (s Xavc4kProfileSettings) GoString() string {
 25021  	return s.String()
 25022  }
 25023  
 25024  // Validate inspects the fields of the type to determine if they are valid.
 25025  func (s *Xavc4kProfileSettings) Validate() error {
 25026  	invalidParams := request.ErrInvalidParams{Context: "Xavc4kProfileSettings"}
 25027  	if s.Slices != nil && *s.Slices < 8 {
 25028  		invalidParams.Add(request.NewErrParamMinValue("Slices", 8))
 25029  	}
 25030  
 25031  	if invalidParams.Len() > 0 {
 25032  		return invalidParams
 25033  	}
 25034  	return nil
 25035  }
 25036  
 25037  // SetBitrateClass sets the BitrateClass field's value.
 25038  func (s *Xavc4kProfileSettings) SetBitrateClass(v string) *Xavc4kProfileSettings {
 25039  	s.BitrateClass = &v
 25040  	return s
 25041  }
 25042  
 25043  // SetCodecProfile sets the CodecProfile field's value.
 25044  func (s *Xavc4kProfileSettings) SetCodecProfile(v string) *Xavc4kProfileSettings {
 25045  	s.CodecProfile = &v
 25046  	return s
 25047  }
 25048  
 25049  // SetFlickerAdaptiveQuantization sets the FlickerAdaptiveQuantization field's value.
 25050  func (s *Xavc4kProfileSettings) SetFlickerAdaptiveQuantization(v string) *Xavc4kProfileSettings {
 25051  	s.FlickerAdaptiveQuantization = &v
 25052  	return s
 25053  }
 25054  
 25055  // SetGopBReference sets the GopBReference field's value.
 25056  func (s *Xavc4kProfileSettings) SetGopBReference(v string) *Xavc4kProfileSettings {
 25057  	s.GopBReference = &v
 25058  	return s
 25059  }
 25060  
 25061  // SetGopClosedCadence sets the GopClosedCadence field's value.
 25062  func (s *Xavc4kProfileSettings) SetGopClosedCadence(v int64) *Xavc4kProfileSettings {
 25063  	s.GopClosedCadence = &v
 25064  	return s
 25065  }
 25066  
 25067  // SetHrdBufferSize sets the HrdBufferSize field's value.
 25068  func (s *Xavc4kProfileSettings) SetHrdBufferSize(v int64) *Xavc4kProfileSettings {
 25069  	s.HrdBufferSize = &v
 25070  	return s
 25071  }
 25072  
 25073  // SetQualityTuningLevel sets the QualityTuningLevel field's value.
 25074  func (s *Xavc4kProfileSettings) SetQualityTuningLevel(v string) *Xavc4kProfileSettings {
 25075  	s.QualityTuningLevel = &v
 25076  	return s
 25077  }
 25078  
 25079  // SetSlices sets the Slices field's value.
 25080  func (s *Xavc4kProfileSettings) SetSlices(v int64) *Xavc4kProfileSettings {
 25081  	s.Slices = &v
 25082  	return s
 25083  }
 25084  
 25085  // Required when you set (Profile) under (VideoDescription)>(CodecSettings)>(XavcSettings)
 25086  // to the value XAVC_HD_INTRA_CBG.
 25087  type XavcHdIntraCbgProfileSettings struct {
 25088  	_ struct{} `type:"structure"`
 25089  
 25090  	// Specify the XAVC Intra HD (CBG) Class to set the bitrate of your output.
 25091  	// Outputs of the same class have similar image quality over the operating points
 25092  	// that are valid for that class.
 25093  	XavcClass *string `locationName:"xavcClass" type:"string" enum:"XavcHdIntraCbgProfileClass"`
 25094  }
 25095  
 25096  // String returns the string representation.
 25097  //
 25098  // API parameter values that are decorated as "sensitive" in the API will not
 25099  // be included in the string output. The member name will be present, but the
 25100  // value will be replaced with "sensitive".
 25101  func (s XavcHdIntraCbgProfileSettings) String() string {
 25102  	return awsutil.Prettify(s)
 25103  }
 25104  
 25105  // GoString returns the string representation.
 25106  //
 25107  // API parameter values that are decorated as "sensitive" in the API will not
 25108  // be included in the string output. The member name will be present, but the
 25109  // value will be replaced with "sensitive".
 25110  func (s XavcHdIntraCbgProfileSettings) GoString() string {
 25111  	return s.String()
 25112  }
 25113  
 25114  // SetXavcClass sets the XavcClass field's value.
 25115  func (s *XavcHdIntraCbgProfileSettings) SetXavcClass(v string) *XavcHdIntraCbgProfileSettings {
 25116  	s.XavcClass = &v
 25117  	return s
 25118  }
 25119  
 25120  // Required when you set (Profile) under (VideoDescription)>(CodecSettings)>(XavcSettings)
 25121  // to the value XAVC_HD.
 25122  type XavcHdProfileSettings struct {
 25123  	_ struct{} `type:"structure"`
 25124  
 25125  	// Specify the XAVC HD (Long GOP) Bitrate Class to set the bitrate of your output.
 25126  	// Outputs of the same class have similar image quality over the operating points
 25127  	// that are valid for that class.
 25128  	BitrateClass *string `locationName:"bitrateClass" type:"string" enum:"XavcHdProfileBitrateClass"`
 25129  
 25130  	// The best way to set up adaptive quantization is to keep the default value,
 25131  	// Auto (AUTO), for the setting Adaptive quantization (XavcAdaptiveQuantization).
 25132  	// When you do so, MediaConvert automatically applies the best types of quantization
 25133  	// for your video content. Include this setting in your JSON job specification
 25134  	// only when you choose to change the default value for Adaptive quantization.
 25135  	// Enable this setting to have the encoder reduce I-frame pop. I-frame pop appears
 25136  	// as a visual flicker that can arise when the encoder saves bits by copying
 25137  	// some macroblocks many times from frame to frame, and then refreshes them
 25138  	// at the I-frame. When you enable this setting, the encoder updates these macroblocks
 25139  	// slightly more often to smooth out the flicker. This setting is disabled by
 25140  	// default. Related setting: In addition to enabling this setting, you must
 25141  	// also set Adaptive quantization (adaptiveQuantization) to a value other than
 25142  	// Off (OFF) or Auto (AUTO). Use Adaptive quantization to adjust the degree
 25143  	// of smoothing that Flicker adaptive quantization provides.
 25144  	FlickerAdaptiveQuantization *string `locationName:"flickerAdaptiveQuantization" type:"string" enum:"XavcFlickerAdaptiveQuantization"`
 25145  
 25146  	// Specify whether the encoder uses B-frames as reference frames for other pictures
 25147  	// in the same GOP. Choose Allow (ENABLED) to allow the encoder to use B-frames
 25148  	// as reference frames. Choose Don't allow (DISABLED) to prevent the encoder
 25149  	// from using B-frames as reference frames.
 25150  	GopBReference *string `locationName:"gopBReference" type:"string" enum:"XavcGopBReference"`
 25151  
 25152  	// Frequency of closed GOPs. In streaming applications, it is recommended that
 25153  	// this be set to 1 so a decoder joining mid-stream will receive an IDR frame
 25154  	// as quickly as possible. Setting this value to 0 will break output segmenting.
 25155  	GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"`
 25156  
 25157  	// Specify the size of the buffer that MediaConvert uses in the HRD buffer model
 25158  	// for this output. Specify this value in bits; for example, enter five megabits
 25159  	// as 5000000. When you don't set this value, or you set it to zero, MediaConvert
 25160  	// calculates the default by doubling the bitrate of this output point.
 25161  	HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"`
 25162  
 25163  	// Choose the scan line type for the output. Keep the default value, Progressive
 25164  	// (PROGRESSIVE) to create a progressive output, regardless of the scan type
 25165  	// of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD)
 25166  	// to create an output that's interlaced with the same field polarity throughout.
 25167  	// Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD)
 25168  	// to produce outputs with the same field polarity as the source. For jobs that
 25169  	// have multiple inputs, the output field polarity might change over the course
 25170  	// of the output. Follow behavior depends on the input scan type. If the source
 25171  	// is interlaced, the output will be interlaced with the same polarity as the
 25172  	// source. If the source is progressive, the output will be interlaced with
 25173  	// top field bottom field first, depending on which of the Follow options you
 25174  	// choose.
 25175  	InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"XavcInterlaceMode"`
 25176  
 25177  	// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you
 25178  	// want to trade off encoding speed for output video quality. The default behavior
 25179  	// is faster, lower quality, single-pass encoding.
 25180  	QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"XavcHdProfileQualityTuningLevel"`
 25181  
 25182  	// Number of slices per picture. Must be less than or equal to the number of
 25183  	// macroblock rows for progressive pictures, and less than or equal to half
 25184  	// the number of macroblock rows for interlaced pictures.
 25185  	Slices *int64 `locationName:"slices" min:"4" type:"integer"`
 25186  
 25187  	// Ignore this setting unless you set Frame rate (framerateNumerator divided
 25188  	// by framerateDenominator) to 29.970. If your input framerate is 23.976, choose
 25189  	// Hard (HARD). Otherwise, keep the default value None (NONE). For more information,
 25190  	// see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-telecine-and-inverse-telecine.html.
 25191  	Telecine *string `locationName:"telecine" type:"string" enum:"XavcHdProfileTelecine"`
 25192  }
 25193  
 25194  // String returns the string representation.
 25195  //
 25196  // API parameter values that are decorated as "sensitive" in the API will not
 25197  // be included in the string output. The member name will be present, but the
 25198  // value will be replaced with "sensitive".
 25199  func (s XavcHdProfileSettings) String() string {
 25200  	return awsutil.Prettify(s)
 25201  }
 25202  
 25203  // GoString returns the string representation.
 25204  //
 25205  // API parameter values that are decorated as "sensitive" in the API will not
 25206  // be included in the string output. The member name will be present, but the
 25207  // value will be replaced with "sensitive".
 25208  func (s XavcHdProfileSettings) GoString() string {
 25209  	return s.String()
 25210  }
 25211  
 25212  // Validate inspects the fields of the type to determine if they are valid.
 25213  func (s *XavcHdProfileSettings) Validate() error {
 25214  	invalidParams := request.ErrInvalidParams{Context: "XavcHdProfileSettings"}
 25215  	if s.Slices != nil && *s.Slices < 4 {
 25216  		invalidParams.Add(request.NewErrParamMinValue("Slices", 4))
 25217  	}
 25218  
 25219  	if invalidParams.Len() > 0 {
 25220  		return invalidParams
 25221  	}
 25222  	return nil
 25223  }
 25224  
 25225  // SetBitrateClass sets the BitrateClass field's value.
 25226  func (s *XavcHdProfileSettings) SetBitrateClass(v string) *XavcHdProfileSettings {
 25227  	s.BitrateClass = &v
 25228  	return s
 25229  }
 25230  
 25231  // SetFlickerAdaptiveQuantization sets the FlickerAdaptiveQuantization field's value.
 25232  func (s *XavcHdProfileSettings) SetFlickerAdaptiveQuantization(v string) *XavcHdProfileSettings {
 25233  	s.FlickerAdaptiveQuantization = &v
 25234  	return s
 25235  }
 25236  
 25237  // SetGopBReference sets the GopBReference field's value.
 25238  func (s *XavcHdProfileSettings) SetGopBReference(v string) *XavcHdProfileSettings {
 25239  	s.GopBReference = &v
 25240  	return s
 25241  }
 25242  
 25243  // SetGopClosedCadence sets the GopClosedCadence field's value.
 25244  func (s *XavcHdProfileSettings) SetGopClosedCadence(v int64) *XavcHdProfileSettings {
 25245  	s.GopClosedCadence = &v
 25246  	return s
 25247  }
 25248  
 25249  // SetHrdBufferSize sets the HrdBufferSize field's value.
 25250  func (s *XavcHdProfileSettings) SetHrdBufferSize(v int64) *XavcHdProfileSettings {
 25251  	s.HrdBufferSize = &v
 25252  	return s
 25253  }
 25254  
 25255  // SetInterlaceMode sets the InterlaceMode field's value.
 25256  func (s *XavcHdProfileSettings) SetInterlaceMode(v string) *XavcHdProfileSettings {
 25257  	s.InterlaceMode = &v
 25258  	return s
 25259  }
 25260  
 25261  // SetQualityTuningLevel sets the QualityTuningLevel field's value.
 25262  func (s *XavcHdProfileSettings) SetQualityTuningLevel(v string) *XavcHdProfileSettings {
 25263  	s.QualityTuningLevel = &v
 25264  	return s
 25265  }
 25266  
 25267  // SetSlices sets the Slices field's value.
 25268  func (s *XavcHdProfileSettings) SetSlices(v int64) *XavcHdProfileSettings {
 25269  	s.Slices = &v
 25270  	return s
 25271  }
 25272  
 25273  // SetTelecine sets the Telecine field's value.
 25274  func (s *XavcHdProfileSettings) SetTelecine(v string) *XavcHdProfileSettings {
 25275  	s.Telecine = &v
 25276  	return s
 25277  }
 25278  
 25279  // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
 25280  // the value XAVC.
 25281  type XavcSettings struct {
 25282  	_ struct{} `type:"structure"`
 25283  
 25284  	// Keep the default value, Auto (AUTO), for this setting to have MediaConvert
 25285  	// automatically apply the best types of quantization for your video content.
 25286  	// When you want to apply your quantization settings manually, you must set
 25287  	// Adaptive quantization (adaptiveQuantization) to a value other than Auto (AUTO).
 25288  	// Use this setting to specify the strength of any adaptive quantization filters
 25289  	// that you enable. If you don't want MediaConvert to do any adaptive quantization
 25290  	// in this transcode, set Adaptive quantization to Off (OFF). Related settings:
 25291  	// The value that you choose here applies to the following settings: Flicker
 25292  	// adaptive quantization (flickerAdaptiveQuantization), Spatial adaptive quantization
 25293  	// (spatialAdaptiveQuantization), and Temporal adaptive quantization (temporalAdaptiveQuantization).
 25294  	AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"XavcAdaptiveQuantization"`
 25295  
 25296  	// Optional. Choose a specific entropy encoding mode only when you want to override
 25297  	// XAVC recommendations. If you choose the value auto, MediaConvert uses the
 25298  	// mode that the XAVC file format specifies given this output's operating point.
 25299  	EntropyEncoding *string `locationName:"entropyEncoding" type:"string" enum:"XavcEntropyEncoding"`
 25300  
 25301  	// If you are using the console, use the Frame rate setting to specify the frame
 25302  	// rate for this output. If you want to keep the same frame rate as the input
 25303  	// video, choose Follow source. If you want to do frame rate conversion, choose
 25304  	// a frame rate from the dropdown list. The framerates shown in the dropdown
 25305  	// list are decimal approximations of fractions. If you are creating your transcoding
 25306  	// job specification as a JSON file without the console, use FramerateControl
 25307  	// to specify which value the service uses for the frame rate for this output.
 25308  	// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 25309  	// from the input. Choose SPECIFIED if you want the service to use the frame
 25310  	// rate that you specify in the settings FramerateNumerator and FramerateDenominator.
 25311  	FramerateControl *string `locationName:"framerateControl" type:"string" enum:"XavcFramerateControl"`
 25312  
 25313  	// Choose the method that you want MediaConvert to use when increasing or decreasing
 25314  	// the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 25315  	// simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 25316  	// you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 25317  	// smooth picture, but might introduce undesirable video artifacts. For complex
 25318  	// frame rate conversions, especially if your source video has already been
 25319  	// converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 25320  	// motion-compensated interpolation. FrameFormer chooses the best conversion
 25321  	// method frame by frame. Note that using FrameFormer increases the transcoding
 25322  	// time and incurs a significant add-on cost.
 25323  	FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"XavcFramerateConversionAlgorithm"`
 25324  
 25325  	// When you use the API for transcode jobs that use frame rate conversion, specify
 25326  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
 25327  	// FramerateDenominator to specify the denominator of this fraction. In this
 25328  	// example, use 1001 for the value of FramerateDenominator. When you use the
 25329  	// console for transcode jobs that use frame rate conversion, provide the value
 25330  	// as a decimal number for Frame rate. In this example, specify 23.976.
 25331  	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
 25332  
 25333  	// When you use the API for transcode jobs that use frame rate conversion, specify
 25334  	// the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
 25335  	// FramerateNumerator to specify the numerator of this fraction. In this example,
 25336  	// use 24000 for the value of FramerateNumerator. When you use the console for
 25337  	// transcode jobs that use frame rate conversion, provide the value as a decimal
 25338  	// number for Framerate. In this example, specify 23.976.
 25339  	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"24" type:"integer"`
 25340  
 25341  	// Specify the XAVC profile for this output. For more information, see the Sony
 25342  	// documentation at https://www.xavc-info.org/. Note that MediaConvert doesn't
 25343  	// support the interlaced video XAVC operating points for XAVC_HD_INTRA_CBG.
 25344  	// To create an interlaced XAVC output, choose the profile XAVC_HD.
 25345  	Profile *string `locationName:"profile" type:"string" enum:"XavcProfile"`
 25346  
 25347  	// Ignore this setting unless your input frame rate is 23.976 or 24 frames per
 25348  	// second (fps). Enable slow PAL to create a 25 fps output by relabeling the
 25349  	// video frames and resampling your audio. Note that enabling this setting will
 25350  	// slightly reduce the duration of your video. Related settings: You must also
 25351  	// set Frame rate to 25. In your JSON job specification, set (framerateControl)
 25352  	// to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to
 25353  	// 1.
 25354  	SlowPal *string `locationName:"slowPal" type:"string" enum:"XavcSlowPal"`
 25355  
 25356  	// Ignore this setting unless your downstream workflow requires that you specify
 25357  	// it explicitly. Otherwise, we recommend that you adjust the softness of your
 25358  	// output by using a lower value for the setting Sharpness (sharpness) or by
 25359  	// enabling a noise reducer filter (noiseReducerFilter). The Softness (softness)
 25360  	// setting specifies the quantization matrices that the encoder uses. Keep the
 25361  	// default value, 0, for flat quantization. Choose the value 1 or 16 to use
 25362  	// the default JVT softening quantization matricies from the H.264 specification.
 25363  	// Choose a value from 17 to 128 to use planar interpolation. Increasing values
 25364  	// from 17 to 128 result in increasing reduction of high-frequency data. The
 25365  	// value 128 results in the softest video.
 25366  	Softness *int64 `locationName:"softness" type:"integer"`
 25367  
 25368  	// The best way to set up adaptive quantization is to keep the default value,
 25369  	// Auto (AUTO), for the setting Adaptive quantization (adaptiveQuantization).
 25370  	// When you do so, MediaConvert automatically applies the best types of quantization
 25371  	// for your video content. Include this setting in your JSON job specification
 25372  	// only when you choose to change the default value for Adaptive quantization.
 25373  	// For this setting, keep the default value, Enabled (ENABLED), to adjust quantization
 25374  	// within each frame based on spatial variation of content complexity. When
 25375  	// you enable this feature, the encoder uses fewer bits on areas that can sustain
 25376  	// more distortion with no noticeable visual degradation and uses more bits
 25377  	// on areas where any small distortion will be noticeable. For example, complex
 25378  	// textured blocks are encoded with fewer bits and smooth textured blocks are
 25379  	// encoded with more bits. Enabling this feature will almost always improve
 25380  	// your video quality. Note, though, that this feature doesn't take into account
 25381  	// where the viewer's attention is likely to be. If viewers are likely to be
 25382  	// focusing their attention on a part of the screen with a lot of complex texture,
 25383  	// you might choose to disable this feature. Related setting: When you enable
 25384  	// spatial adaptive quantization, set the value for Adaptive quantization (adaptiveQuantization)
 25385  	// depending on your content. For homogeneous content, such as cartoons and
 25386  	// video games, set it to Low. For content with a wider variety of textures,
 25387  	// set it to High or Higher.
 25388  	SpatialAdaptiveQuantization *string `locationName:"spatialAdaptiveQuantization" type:"string" enum:"XavcSpatialAdaptiveQuantization"`
 25389  
 25390  	// The best way to set up adaptive quantization is to keep the default value,
 25391  	// Auto (AUTO), for the setting Adaptive quantization (adaptiveQuantization).
 25392  	// When you do so, MediaConvert automatically applies the best types of quantization
 25393  	// for your video content. Include this setting in your JSON job specification
 25394  	// only when you choose to change the default value for Adaptive quantization.
 25395  	// For this setting, keep the default value, Enabled (ENABLED), to adjust quantization
 25396  	// within each frame based on temporal variation of content complexity. When
 25397  	// you enable this feature, the encoder uses fewer bits on areas of the frame
 25398  	// that aren't moving and uses more bits on complex objects with sharp edges
 25399  	// that move a lot. For example, this feature improves the readability of text
 25400  	// tickers on newscasts and scoreboards on sports matches. Enabling this feature
 25401  	// will almost always improve your video quality. Note, though, that this feature
 25402  	// doesn't take into account where the viewer's attention is likely to be. If
 25403  	// viewers are likely to be focusing their attention on a part of the screen
 25404  	// that doesn't have moving objects with sharp edges, such as sports athletes'
 25405  	// faces, you might choose to disable this feature. Related setting: When you
 25406  	// enable temporal adaptive quantization, adjust the strength of the filter
 25407  	// with the setting Adaptive quantization (adaptiveQuantization).
 25408  	TemporalAdaptiveQuantization *string `locationName:"temporalAdaptiveQuantization" type:"string" enum:"XavcTemporalAdaptiveQuantization"`
 25409  
 25410  	// Required when you set (Profile) under (VideoDescription)>(CodecSettings)>(XavcSettings)
 25411  	// to the value XAVC_4K_INTRA_CBG.
 25412  	Xavc4kIntraCbgProfileSettings *Xavc4kIntraCbgProfileSettings `locationName:"xavc4kIntraCbgProfileSettings" type:"structure"`
 25413  
 25414  	// Required when you set (Profile) under (VideoDescription)>(CodecSettings)>(XavcSettings)
 25415  	// to the value XAVC_4K_INTRA_VBR.
 25416  	Xavc4kIntraVbrProfileSettings *Xavc4kIntraVbrProfileSettings `locationName:"xavc4kIntraVbrProfileSettings" type:"structure"`
 25417  
 25418  	// Required when you set (Profile) under (VideoDescription)>(CodecSettings)>(XavcSettings)
 25419  	// to the value XAVC_4K.
 25420  	Xavc4kProfileSettings *Xavc4kProfileSettings `locationName:"xavc4kProfileSettings" type:"structure"`
 25421  
 25422  	// Required when you set (Profile) under (VideoDescription)>(CodecSettings)>(XavcSettings)
 25423  	// to the value XAVC_HD_INTRA_CBG.
 25424  	XavcHdIntraCbgProfileSettings *XavcHdIntraCbgProfileSettings `locationName:"xavcHdIntraCbgProfileSettings" type:"structure"`
 25425  
 25426  	// Required when you set (Profile) under (VideoDescription)>(CodecSettings)>(XavcSettings)
 25427  	// to the value XAVC_HD.
 25428  	XavcHdProfileSettings *XavcHdProfileSettings `locationName:"xavcHdProfileSettings" type:"structure"`
 25429  }
 25430  
 25431  // String returns the string representation.
 25432  //
 25433  // API parameter values that are decorated as "sensitive" in the API will not
 25434  // be included in the string output. The member name will be present, but the
 25435  // value will be replaced with "sensitive".
 25436  func (s XavcSettings) String() string {
 25437  	return awsutil.Prettify(s)
 25438  }
 25439  
 25440  // GoString returns the string representation.
 25441  //
 25442  // API parameter values that are decorated as "sensitive" in the API will not
 25443  // be included in the string output. The member name will be present, but the
 25444  // value will be replaced with "sensitive".
 25445  func (s XavcSettings) GoString() string {
 25446  	return s.String()
 25447  }
 25448  
 25449  // Validate inspects the fields of the type to determine if they are valid.
 25450  func (s *XavcSettings) Validate() error {
 25451  	invalidParams := request.ErrInvalidParams{Context: "XavcSettings"}
 25452  	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
 25453  		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
 25454  	}
 25455  	if s.FramerateNumerator != nil && *s.FramerateNumerator < 24 {
 25456  		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 24))
 25457  	}
 25458  	if s.Xavc4kProfileSettings != nil {
 25459  		if err := s.Xavc4kProfileSettings.Validate(); err != nil {
 25460  			invalidParams.AddNested("Xavc4kProfileSettings", err.(request.ErrInvalidParams))
 25461  		}
 25462  	}
 25463  	if s.XavcHdProfileSettings != nil {
 25464  		if err := s.XavcHdProfileSettings.Validate(); err != nil {
 25465  			invalidParams.AddNested("XavcHdProfileSettings", err.(request.ErrInvalidParams))
 25466  		}
 25467  	}
 25468  
 25469  	if invalidParams.Len() > 0 {
 25470  		return invalidParams
 25471  	}
 25472  	return nil
 25473  }
 25474  
 25475  // SetAdaptiveQuantization sets the AdaptiveQuantization field's value.
 25476  func (s *XavcSettings) SetAdaptiveQuantization(v string) *XavcSettings {
 25477  	s.AdaptiveQuantization = &v
 25478  	return s
 25479  }
 25480  
 25481  // SetEntropyEncoding sets the EntropyEncoding field's value.
 25482  func (s *XavcSettings) SetEntropyEncoding(v string) *XavcSettings {
 25483  	s.EntropyEncoding = &v
 25484  	return s
 25485  }
 25486  
 25487  // SetFramerateControl sets the FramerateControl field's value.
 25488  func (s *XavcSettings) SetFramerateControl(v string) *XavcSettings {
 25489  	s.FramerateControl = &v
 25490  	return s
 25491  }
 25492  
 25493  // SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value.
 25494  func (s *XavcSettings) SetFramerateConversionAlgorithm(v string) *XavcSettings {
 25495  	s.FramerateConversionAlgorithm = &v
 25496  	return s
 25497  }
 25498  
 25499  // SetFramerateDenominator sets the FramerateDenominator field's value.
 25500  func (s *XavcSettings) SetFramerateDenominator(v int64) *XavcSettings {
 25501  	s.FramerateDenominator = &v
 25502  	return s
 25503  }
 25504  
 25505  // SetFramerateNumerator sets the FramerateNumerator field's value.
 25506  func (s *XavcSettings) SetFramerateNumerator(v int64) *XavcSettings {
 25507  	s.FramerateNumerator = &v
 25508  	return s
 25509  }
 25510  
 25511  // SetProfile sets the Profile field's value.
 25512  func (s *XavcSettings) SetProfile(v string) *XavcSettings {
 25513  	s.Profile = &v
 25514  	return s
 25515  }
 25516  
 25517  // SetSlowPal sets the SlowPal field's value.
 25518  func (s *XavcSettings) SetSlowPal(v string) *XavcSettings {
 25519  	s.SlowPal = &v
 25520  	return s
 25521  }
 25522  
 25523  // SetSoftness sets the Softness field's value.
 25524  func (s *XavcSettings) SetSoftness(v int64) *XavcSettings {
 25525  	s.Softness = &v
 25526  	return s
 25527  }
 25528  
 25529  // SetSpatialAdaptiveQuantization sets the SpatialAdaptiveQuantization field's value.
 25530  func (s *XavcSettings) SetSpatialAdaptiveQuantization(v string) *XavcSettings {
 25531  	s.SpatialAdaptiveQuantization = &v
 25532  	return s
 25533  }
 25534  
 25535  // SetTemporalAdaptiveQuantization sets the TemporalAdaptiveQuantization field's value.
 25536  func (s *XavcSettings) SetTemporalAdaptiveQuantization(v string) *XavcSettings {
 25537  	s.TemporalAdaptiveQuantization = &v
 25538  	return s
 25539  }
 25540  
 25541  // SetXavc4kIntraCbgProfileSettings sets the Xavc4kIntraCbgProfileSettings field's value.
 25542  func (s *XavcSettings) SetXavc4kIntraCbgProfileSettings(v *Xavc4kIntraCbgProfileSettings) *XavcSettings {
 25543  	s.Xavc4kIntraCbgProfileSettings = v
 25544  	return s
 25545  }
 25546  
 25547  // SetXavc4kIntraVbrProfileSettings sets the Xavc4kIntraVbrProfileSettings field's value.
 25548  func (s *XavcSettings) SetXavc4kIntraVbrProfileSettings(v *Xavc4kIntraVbrProfileSettings) *XavcSettings {
 25549  	s.Xavc4kIntraVbrProfileSettings = v
 25550  	return s
 25551  }
 25552  
 25553  // SetXavc4kProfileSettings sets the Xavc4kProfileSettings field's value.
 25554  func (s *XavcSettings) SetXavc4kProfileSettings(v *Xavc4kProfileSettings) *XavcSettings {
 25555  	s.Xavc4kProfileSettings = v
 25556  	return s
 25557  }
 25558  
 25559  // SetXavcHdIntraCbgProfileSettings sets the XavcHdIntraCbgProfileSettings field's value.
 25560  func (s *XavcSettings) SetXavcHdIntraCbgProfileSettings(v *XavcHdIntraCbgProfileSettings) *XavcSettings {
 25561  	s.XavcHdIntraCbgProfileSettings = v
 25562  	return s
 25563  }
 25564  
 25565  // SetXavcHdProfileSettings sets the XavcHdProfileSettings field's value.
 25566  func (s *XavcSettings) SetXavcHdProfileSettings(v *XavcHdProfileSettings) *XavcSettings {
 25567  	s.XavcHdProfileSettings = v
 25568  	return s
 25569  }
 25570  
 25571  // Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio
 25572  // + audio description (AD) as a stereo pair. The value for AudioType will be
 25573  // set to 3, which signals to downstream systems that this stream contains "broadcaster
 25574  // mixed AD". Note that the input received by the encoder must contain pre-mixed
 25575  // audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD,
 25576  // the encoder ignores any values you provide in AudioType and FollowInputAudioType.
 25577  // Choose NORMAL when the input does not contain pre-mixed audio + audio description
 25578  // (AD). In this case, the encoder will use any values you provide for AudioType
 25579  // and FollowInputAudioType.
 25580  const (
 25581  	// AacAudioDescriptionBroadcasterMixBroadcasterMixedAd is a AacAudioDescriptionBroadcasterMix enum value
 25582  	AacAudioDescriptionBroadcasterMixBroadcasterMixedAd = "BROADCASTER_MIXED_AD"
 25583  
 25584  	// AacAudioDescriptionBroadcasterMixNormal is a AacAudioDescriptionBroadcasterMix enum value
 25585  	AacAudioDescriptionBroadcasterMixNormal = "NORMAL"
 25586  )
 25587  
 25588  // AacAudioDescriptionBroadcasterMix_Values returns all elements of the AacAudioDescriptionBroadcasterMix enum
 25589  func AacAudioDescriptionBroadcasterMix_Values() []string {
 25590  	return []string{
 25591  		AacAudioDescriptionBroadcasterMixBroadcasterMixedAd,
 25592  		AacAudioDescriptionBroadcasterMixNormal,
 25593  	}
 25594  }
 25595  
 25596  // AAC Profile.
 25597  const (
 25598  	// AacCodecProfileLc is a AacCodecProfile enum value
 25599  	AacCodecProfileLc = "LC"
 25600  
 25601  	// AacCodecProfileHev1 is a AacCodecProfile enum value
 25602  	AacCodecProfileHev1 = "HEV1"
 25603  
 25604  	// AacCodecProfileHev2 is a AacCodecProfile enum value
 25605  	AacCodecProfileHev2 = "HEV2"
 25606  )
 25607  
 25608  // AacCodecProfile_Values returns all elements of the AacCodecProfile enum
 25609  func AacCodecProfile_Values() []string {
 25610  	return []string{
 25611  		AacCodecProfileLc,
 25612  		AacCodecProfileHev1,
 25613  		AacCodecProfileHev2,
 25614  	}
 25615  }
 25616  
 25617  // Mono (Audio Description), Mono, Stereo, or 5.1 channel layout. Valid values
 25618  // depend on rate control mode and profile. "1.0 - Audio Description (Receiver
 25619  // Mix)" setting receives a stereo description plus control track and emits
 25620  // a mono AAC encode of the description track, with control data emitted in
 25621  // the PES header as per ETSI TS 101 154 Annex E.
 25622  const (
 25623  	// AacCodingModeAdReceiverMix is a AacCodingMode enum value
 25624  	AacCodingModeAdReceiverMix = "AD_RECEIVER_MIX"
 25625  
 25626  	// AacCodingModeCodingMode10 is a AacCodingMode enum value
 25627  	AacCodingModeCodingMode10 = "CODING_MODE_1_0"
 25628  
 25629  	// AacCodingModeCodingMode11 is a AacCodingMode enum value
 25630  	AacCodingModeCodingMode11 = "CODING_MODE_1_1"
 25631  
 25632  	// AacCodingModeCodingMode20 is a AacCodingMode enum value
 25633  	AacCodingModeCodingMode20 = "CODING_MODE_2_0"
 25634  
 25635  	// AacCodingModeCodingMode51 is a AacCodingMode enum value
 25636  	AacCodingModeCodingMode51 = "CODING_MODE_5_1"
 25637  )
 25638  
 25639  // AacCodingMode_Values returns all elements of the AacCodingMode enum
 25640  func AacCodingMode_Values() []string {
 25641  	return []string{
 25642  		AacCodingModeAdReceiverMix,
 25643  		AacCodingModeCodingMode10,
 25644  		AacCodingModeCodingMode11,
 25645  		AacCodingModeCodingMode20,
 25646  		AacCodingModeCodingMode51,
 25647  	}
 25648  }
 25649  
 25650  // Rate Control Mode.
 25651  const (
 25652  	// AacRateControlModeCbr is a AacRateControlMode enum value
 25653  	AacRateControlModeCbr = "CBR"
 25654  
 25655  	// AacRateControlModeVbr is a AacRateControlMode enum value
 25656  	AacRateControlModeVbr = "VBR"
 25657  )
 25658  
 25659  // AacRateControlMode_Values returns all elements of the AacRateControlMode enum
 25660  func AacRateControlMode_Values() []string {
 25661  	return []string{
 25662  		AacRateControlModeCbr,
 25663  		AacRateControlModeVbr,
 25664  	}
 25665  }
 25666  
 25667  // Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output,
 25668  // you must choose "No container" for the output container.
 25669  const (
 25670  	// AacRawFormatLatmLoas is a AacRawFormat enum value
 25671  	AacRawFormatLatmLoas = "LATM_LOAS"
 25672  
 25673  	// AacRawFormatNone is a AacRawFormat enum value
 25674  	AacRawFormatNone = "NONE"
 25675  )
 25676  
 25677  // AacRawFormat_Values returns all elements of the AacRawFormat enum
 25678  func AacRawFormat_Values() []string {
 25679  	return []string{
 25680  		AacRawFormatLatmLoas,
 25681  		AacRawFormatNone,
 25682  	}
 25683  }
 25684  
 25685  // Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream
 25686  // containers.
 25687  const (
 25688  	// AacSpecificationMpeg2 is a AacSpecification enum value
 25689  	AacSpecificationMpeg2 = "MPEG2"
 25690  
 25691  	// AacSpecificationMpeg4 is a AacSpecification enum value
 25692  	AacSpecificationMpeg4 = "MPEG4"
 25693  )
 25694  
 25695  // AacSpecification_Values returns all elements of the AacSpecification enum
 25696  func AacSpecification_Values() []string {
 25697  	return []string{
 25698  		AacSpecificationMpeg2,
 25699  		AacSpecificationMpeg4,
 25700  	}
 25701  }
 25702  
 25703  // VBR Quality Level - Only used if rate_control_mode is VBR.
 25704  const (
 25705  	// AacVbrQualityLow is a AacVbrQuality enum value
 25706  	AacVbrQualityLow = "LOW"
 25707  
 25708  	// AacVbrQualityMediumLow is a AacVbrQuality enum value
 25709  	AacVbrQualityMediumLow = "MEDIUM_LOW"
 25710  
 25711  	// AacVbrQualityMediumHigh is a AacVbrQuality enum value
 25712  	AacVbrQualityMediumHigh = "MEDIUM_HIGH"
 25713  
 25714  	// AacVbrQualityHigh is a AacVbrQuality enum value
 25715  	AacVbrQualityHigh = "HIGH"
 25716  )
 25717  
 25718  // AacVbrQuality_Values returns all elements of the AacVbrQuality enum
 25719  func AacVbrQuality_Values() []string {
 25720  	return []string{
 25721  		AacVbrQualityLow,
 25722  		AacVbrQualityMediumLow,
 25723  		AacVbrQualityMediumHigh,
 25724  		AacVbrQualityHigh,
 25725  	}
 25726  }
 25727  
 25728  // Specify the bitstream mode for the AC-3 stream that the encoder emits. For
 25729  // more information about the AC3 bitstream mode, see ATSC A/52-2012 (Annex
 25730  // E).
 25731  const (
 25732  	// Ac3BitstreamModeCompleteMain is a Ac3BitstreamMode enum value
 25733  	Ac3BitstreamModeCompleteMain = "COMPLETE_MAIN"
 25734  
 25735  	// Ac3BitstreamModeCommentary is a Ac3BitstreamMode enum value
 25736  	Ac3BitstreamModeCommentary = "COMMENTARY"
 25737  
 25738  	// Ac3BitstreamModeDialogue is a Ac3BitstreamMode enum value
 25739  	Ac3BitstreamModeDialogue = "DIALOGUE"
 25740  
 25741  	// Ac3BitstreamModeEmergency is a Ac3BitstreamMode enum value
 25742  	Ac3BitstreamModeEmergency = "EMERGENCY"
 25743  
 25744  	// Ac3BitstreamModeHearingImpaired is a Ac3BitstreamMode enum value
 25745  	Ac3BitstreamModeHearingImpaired = "HEARING_IMPAIRED"
 25746  
 25747  	// Ac3BitstreamModeMusicAndEffects is a Ac3BitstreamMode enum value
 25748  	Ac3BitstreamModeMusicAndEffects = "MUSIC_AND_EFFECTS"
 25749  
 25750  	// Ac3BitstreamModeVisuallyImpaired is a Ac3BitstreamMode enum value
 25751  	Ac3BitstreamModeVisuallyImpaired = "VISUALLY_IMPAIRED"
 25752  
 25753  	// Ac3BitstreamModeVoiceOver is a Ac3BitstreamMode enum value
 25754  	Ac3BitstreamModeVoiceOver = "VOICE_OVER"
 25755  )
 25756  
 25757  // Ac3BitstreamMode_Values returns all elements of the Ac3BitstreamMode enum
 25758  func Ac3BitstreamMode_Values() []string {
 25759  	return []string{
 25760  		Ac3BitstreamModeCompleteMain,
 25761  		Ac3BitstreamModeCommentary,
 25762  		Ac3BitstreamModeDialogue,
 25763  		Ac3BitstreamModeEmergency,
 25764  		Ac3BitstreamModeHearingImpaired,
 25765  		Ac3BitstreamModeMusicAndEffects,
 25766  		Ac3BitstreamModeVisuallyImpaired,
 25767  		Ac3BitstreamModeVoiceOver,
 25768  	}
 25769  }
 25770  
 25771  // Dolby Digital coding mode. Determines number of channels.
 25772  const (
 25773  	// Ac3CodingModeCodingMode10 is a Ac3CodingMode enum value
 25774  	Ac3CodingModeCodingMode10 = "CODING_MODE_1_0"
 25775  
 25776  	// Ac3CodingModeCodingMode11 is a Ac3CodingMode enum value
 25777  	Ac3CodingModeCodingMode11 = "CODING_MODE_1_1"
 25778  
 25779  	// Ac3CodingModeCodingMode20 is a Ac3CodingMode enum value
 25780  	Ac3CodingModeCodingMode20 = "CODING_MODE_2_0"
 25781  
 25782  	// Ac3CodingModeCodingMode32Lfe is a Ac3CodingMode enum value
 25783  	Ac3CodingModeCodingMode32Lfe = "CODING_MODE_3_2_LFE"
 25784  )
 25785  
 25786  // Ac3CodingMode_Values returns all elements of the Ac3CodingMode enum
 25787  func Ac3CodingMode_Values() []string {
 25788  	return []string{
 25789  		Ac3CodingModeCodingMode10,
 25790  		Ac3CodingModeCodingMode11,
 25791  		Ac3CodingModeCodingMode20,
 25792  		Ac3CodingModeCodingMode32Lfe,
 25793  	}
 25794  }
 25795  
 25796  // Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
 25797  // uses when encoding the metadata in the Dolby Digital stream for the line
 25798  // operating mode. Related setting: When you use this setting, MediaConvert
 25799  // ignores any value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile).
 25800  // For information about the Dolby Digital DRC operating modes and profiles,
 25801  // see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
 25802  const (
 25803  	// Ac3DynamicRangeCompressionLineFilmStandard is a Ac3DynamicRangeCompressionLine enum value
 25804  	Ac3DynamicRangeCompressionLineFilmStandard = "FILM_STANDARD"
 25805  
 25806  	// Ac3DynamicRangeCompressionLineFilmLight is a Ac3DynamicRangeCompressionLine enum value
 25807  	Ac3DynamicRangeCompressionLineFilmLight = "FILM_LIGHT"
 25808  
 25809  	// Ac3DynamicRangeCompressionLineMusicStandard is a Ac3DynamicRangeCompressionLine enum value
 25810  	Ac3DynamicRangeCompressionLineMusicStandard = "MUSIC_STANDARD"
 25811  
 25812  	// Ac3DynamicRangeCompressionLineMusicLight is a Ac3DynamicRangeCompressionLine enum value
 25813  	Ac3DynamicRangeCompressionLineMusicLight = "MUSIC_LIGHT"
 25814  
 25815  	// Ac3DynamicRangeCompressionLineSpeech is a Ac3DynamicRangeCompressionLine enum value
 25816  	Ac3DynamicRangeCompressionLineSpeech = "SPEECH"
 25817  
 25818  	// Ac3DynamicRangeCompressionLineNone is a Ac3DynamicRangeCompressionLine enum value
 25819  	Ac3DynamicRangeCompressionLineNone = "NONE"
 25820  )
 25821  
 25822  // Ac3DynamicRangeCompressionLine_Values returns all elements of the Ac3DynamicRangeCompressionLine enum
 25823  func Ac3DynamicRangeCompressionLine_Values() []string {
 25824  	return []string{
 25825  		Ac3DynamicRangeCompressionLineFilmStandard,
 25826  		Ac3DynamicRangeCompressionLineFilmLight,
 25827  		Ac3DynamicRangeCompressionLineMusicStandard,
 25828  		Ac3DynamicRangeCompressionLineMusicLight,
 25829  		Ac3DynamicRangeCompressionLineSpeech,
 25830  		Ac3DynamicRangeCompressionLineNone,
 25831  	}
 25832  }
 25833  
 25834  // When you want to add Dolby dynamic range compression (DRC) signaling to your
 25835  // output stream, we recommend that you use the mode-specific settings instead
 25836  // of Dynamic range compression profile (DynamicRangeCompressionProfile). The
 25837  // mode-specific settings are Dynamic range compression profile, line mode (dynamicRangeCompressionLine)
 25838  // and Dynamic range compression profile, RF mode (dynamicRangeCompressionRf).
 25839  // Note that when you specify values for all three settings, MediaConvert ignores
 25840  // the value of this setting in favor of the mode-specific settings. If you
 25841  // do use this setting instead of the mode-specific settings, choose None (NONE)
 25842  // to leave out DRC signaling. Keep the default Film standard (FILM_STANDARD)
 25843  // to set the profile to Dolby's film standard profile for all operating modes.
 25844  const (
 25845  	// Ac3DynamicRangeCompressionProfileFilmStandard is a Ac3DynamicRangeCompressionProfile enum value
 25846  	Ac3DynamicRangeCompressionProfileFilmStandard = "FILM_STANDARD"
 25847  
 25848  	// Ac3DynamicRangeCompressionProfileNone is a Ac3DynamicRangeCompressionProfile enum value
 25849  	Ac3DynamicRangeCompressionProfileNone = "NONE"
 25850  )
 25851  
 25852  // Ac3DynamicRangeCompressionProfile_Values returns all elements of the Ac3DynamicRangeCompressionProfile enum
 25853  func Ac3DynamicRangeCompressionProfile_Values() []string {
 25854  	return []string{
 25855  		Ac3DynamicRangeCompressionProfileFilmStandard,
 25856  		Ac3DynamicRangeCompressionProfileNone,
 25857  	}
 25858  }
 25859  
 25860  // Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
 25861  // uses when encoding the metadata in the Dolby Digital stream for the RF operating
 25862  // mode. Related setting: When you use this setting, MediaConvert ignores any
 25863  // value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile).
 25864  // For information about the Dolby Digital DRC operating modes and profiles,
 25865  // see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
 25866  const (
 25867  	// Ac3DynamicRangeCompressionRfFilmStandard is a Ac3DynamicRangeCompressionRf enum value
 25868  	Ac3DynamicRangeCompressionRfFilmStandard = "FILM_STANDARD"
 25869  
 25870  	// Ac3DynamicRangeCompressionRfFilmLight is a Ac3DynamicRangeCompressionRf enum value
 25871  	Ac3DynamicRangeCompressionRfFilmLight = "FILM_LIGHT"
 25872  
 25873  	// Ac3DynamicRangeCompressionRfMusicStandard is a Ac3DynamicRangeCompressionRf enum value
 25874  	Ac3DynamicRangeCompressionRfMusicStandard = "MUSIC_STANDARD"
 25875  
 25876  	// Ac3DynamicRangeCompressionRfMusicLight is a Ac3DynamicRangeCompressionRf enum value
 25877  	Ac3DynamicRangeCompressionRfMusicLight = "MUSIC_LIGHT"
 25878  
 25879  	// Ac3DynamicRangeCompressionRfSpeech is a Ac3DynamicRangeCompressionRf enum value
 25880  	Ac3DynamicRangeCompressionRfSpeech = "SPEECH"
 25881  
 25882  	// Ac3DynamicRangeCompressionRfNone is a Ac3DynamicRangeCompressionRf enum value
 25883  	Ac3DynamicRangeCompressionRfNone = "NONE"
 25884  )
 25885  
 25886  // Ac3DynamicRangeCompressionRf_Values returns all elements of the Ac3DynamicRangeCompressionRf enum
 25887  func Ac3DynamicRangeCompressionRf_Values() []string {
 25888  	return []string{
 25889  		Ac3DynamicRangeCompressionRfFilmStandard,
 25890  		Ac3DynamicRangeCompressionRfFilmLight,
 25891  		Ac3DynamicRangeCompressionRfMusicStandard,
 25892  		Ac3DynamicRangeCompressionRfMusicLight,
 25893  		Ac3DynamicRangeCompressionRfSpeech,
 25894  		Ac3DynamicRangeCompressionRfNone,
 25895  	}
 25896  }
 25897  
 25898  // Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only
 25899  // valid with 3_2_LFE coding mode.
 25900  const (
 25901  	// Ac3LfeFilterEnabled is a Ac3LfeFilter enum value
 25902  	Ac3LfeFilterEnabled = "ENABLED"
 25903  
 25904  	// Ac3LfeFilterDisabled is a Ac3LfeFilter enum value
 25905  	Ac3LfeFilterDisabled = "DISABLED"
 25906  )
 25907  
 25908  // Ac3LfeFilter_Values returns all elements of the Ac3LfeFilter enum
 25909  func Ac3LfeFilter_Values() []string {
 25910  	return []string{
 25911  		Ac3LfeFilterEnabled,
 25912  		Ac3LfeFilterDisabled,
 25913  	}
 25914  }
 25915  
 25916  // When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+,
 25917  // or DolbyE decoder that supplied this audio data. If audio was not supplied
 25918  // from one of these streams, then the static metadata settings will be used.
 25919  const (
 25920  	// Ac3MetadataControlFollowInput is a Ac3MetadataControl enum value
 25921  	Ac3MetadataControlFollowInput = "FOLLOW_INPUT"
 25922  
 25923  	// Ac3MetadataControlUseConfigured is a Ac3MetadataControl enum value
 25924  	Ac3MetadataControlUseConfigured = "USE_CONFIGURED"
 25925  )
 25926  
 25927  // Ac3MetadataControl_Values returns all elements of the Ac3MetadataControl enum
 25928  func Ac3MetadataControl_Values() []string {
 25929  	return []string{
 25930  		Ac3MetadataControlFollowInput,
 25931  		Ac3MetadataControlUseConfigured,
 25932  	}
 25933  }
 25934  
 25935  // Specify whether the service runs your job with accelerated transcoding. Choose
 25936  // DISABLED if you don't want accelerated transcoding. Choose ENABLED if you
 25937  // want your job to run with accelerated transcoding and to fail if your input
 25938  // files or your job settings aren't compatible with accelerated transcoding.
 25939  // Choose PREFERRED if you want your job to run with accelerated transcoding
 25940  // if the job is compatible with the feature and to run at standard speed if
 25941  // it's not.
 25942  const (
 25943  	// AccelerationModeDisabled is a AccelerationMode enum value
 25944  	AccelerationModeDisabled = "DISABLED"
 25945  
 25946  	// AccelerationModeEnabled is a AccelerationMode enum value
 25947  	AccelerationModeEnabled = "ENABLED"
 25948  
 25949  	// AccelerationModePreferred is a AccelerationMode enum value
 25950  	AccelerationModePreferred = "PREFERRED"
 25951  )
 25952  
 25953  // AccelerationMode_Values returns all elements of the AccelerationMode enum
 25954  func AccelerationMode_Values() []string {
 25955  	return []string{
 25956  		AccelerationModeDisabled,
 25957  		AccelerationModeEnabled,
 25958  		AccelerationModePreferred,
 25959  	}
 25960  }
 25961  
 25962  // Describes whether the current job is running with accelerated transcoding.
 25963  // For jobs that have Acceleration (AccelerationMode) set to DISABLED, AccelerationStatus
 25964  // is always NOT_APPLICABLE. For jobs that have Acceleration (AccelerationMode)
 25965  // set to ENABLED or PREFERRED, AccelerationStatus is one of the other states.
 25966  // AccelerationStatus is IN_PROGRESS initially, while the service determines
 25967  // whether the input files and job settings are compatible with accelerated
 25968  // transcoding. If they are, AcclerationStatus is ACCELERATED. If your input
 25969  // files and job settings aren't compatible with accelerated transcoding, the
 25970  // service either fails your job or runs it without accelerated transcoding,
 25971  // depending on how you set Acceleration (AccelerationMode). When the service
 25972  // runs your job without accelerated transcoding, AccelerationStatus is NOT_ACCELERATED.
 25973  const (
 25974  	// AccelerationStatusNotApplicable is a AccelerationStatus enum value
 25975  	AccelerationStatusNotApplicable = "NOT_APPLICABLE"
 25976  
 25977  	// AccelerationStatusInProgress is a AccelerationStatus enum value
 25978  	AccelerationStatusInProgress = "IN_PROGRESS"
 25979  
 25980  	// AccelerationStatusAccelerated is a AccelerationStatus enum value
 25981  	AccelerationStatusAccelerated = "ACCELERATED"
 25982  
 25983  	// AccelerationStatusNotAccelerated is a AccelerationStatus enum value
 25984  	AccelerationStatusNotAccelerated = "NOT_ACCELERATED"
 25985  )
 25986  
 25987  // AccelerationStatus_Values returns all elements of the AccelerationStatus enum
 25988  func AccelerationStatus_Values() []string {
 25989  	return []string{
 25990  		AccelerationStatusNotApplicable,
 25991  		AccelerationStatusInProgress,
 25992  		AccelerationStatusAccelerated,
 25993  		AccelerationStatusNotAccelerated,
 25994  	}
 25995  }
 25996  
 25997  // This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert
 25998  // AFD signaling (AfdSignaling) to specify whether the service includes AFD
 25999  // values in the output video data and what those values are. * Choose None
 26000  // to remove all AFD values from this output. * Choose Fixed to ignore input
 26001  // AFD values and instead encode the value specified in the job. * Choose Auto
 26002  // to calculate output AFD values based on the input AFD scaler data.
 26003  const (
 26004  	// AfdSignalingNone is a AfdSignaling enum value
 26005  	AfdSignalingNone = "NONE"
 26006  
 26007  	// AfdSignalingAuto is a AfdSignaling enum value
 26008  	AfdSignalingAuto = "AUTO"
 26009  
 26010  	// AfdSignalingFixed is a AfdSignaling enum value
 26011  	AfdSignalingFixed = "FIXED"
 26012  )
 26013  
 26014  // AfdSignaling_Values returns all elements of the AfdSignaling enum
 26015  func AfdSignaling_Values() []string {
 26016  	return []string{
 26017  		AfdSignalingNone,
 26018  		AfdSignalingAuto,
 26019  		AfdSignalingFixed,
 26020  	}
 26021  }
 26022  
 26023  // Ignore this setting unless this input is a QuickTime animation with an alpha
 26024  // channel. Use this setting to create separate Key and Fill outputs. In each
 26025  // output, specify which part of the input MediaConvert uses. Leave this setting
 26026  // at the default value DISCARD to delete the alpha channel and preserve the
 26027  // video. Set it to REMAP_TO_LUMA to delete the video and map the alpha channel
 26028  // to the luma channel of your outputs.
 26029  const (
 26030  	// AlphaBehaviorDiscard is a AlphaBehavior enum value
 26031  	AlphaBehaviorDiscard = "DISCARD"
 26032  
 26033  	// AlphaBehaviorRemapToLuma is a AlphaBehavior enum value
 26034  	AlphaBehaviorRemapToLuma = "REMAP_TO_LUMA"
 26035  )
 26036  
 26037  // AlphaBehavior_Values returns all elements of the AlphaBehavior enum
 26038  func AlphaBehavior_Values() []string {
 26039  	return []string{
 26040  		AlphaBehaviorDiscard,
 26041  		AlphaBehaviorRemapToLuma,
 26042  	}
 26043  }
 26044  
 26045  // Specify whether this set of input captions appears in your outputs in both
 26046  // 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes
 26047  // the captions data in two ways: it passes the 608 data through using the 608
 26048  // compatibility bytes fields of the 708 wrapper, and it also translates the
 26049  // 608 data into 708.
 26050  const (
 26051  	// AncillaryConvert608To708Upconvert is a AncillaryConvert608To708 enum value
 26052  	AncillaryConvert608To708Upconvert = "UPCONVERT"
 26053  
 26054  	// AncillaryConvert608To708Disabled is a AncillaryConvert608To708 enum value
 26055  	AncillaryConvert608To708Disabled = "DISABLED"
 26056  )
 26057  
 26058  // AncillaryConvert608To708_Values returns all elements of the AncillaryConvert608To708 enum
 26059  func AncillaryConvert608To708_Values() []string {
 26060  	return []string{
 26061  		AncillaryConvert608To708Upconvert,
 26062  		AncillaryConvert608To708Disabled,
 26063  	}
 26064  }
 26065  
 26066  // By default, the service terminates any unterminated captions at the end of
 26067  // each input. If you want the caption to continue onto your next input, disable
 26068  // this setting.
 26069  const (
 26070  	// AncillaryTerminateCaptionsEndOfInput is a AncillaryTerminateCaptions enum value
 26071  	AncillaryTerminateCaptionsEndOfInput = "END_OF_INPUT"
 26072  
 26073  	// AncillaryTerminateCaptionsDisabled is a AncillaryTerminateCaptions enum value
 26074  	AncillaryTerminateCaptionsDisabled = "DISABLED"
 26075  )
 26076  
 26077  // AncillaryTerminateCaptions_Values returns all elements of the AncillaryTerminateCaptions enum
 26078  func AncillaryTerminateCaptions_Values() []string {
 26079  	return []string{
 26080  		AncillaryTerminateCaptionsEndOfInput,
 26081  		AncillaryTerminateCaptionsDisabled,
 26082  	}
 26083  }
 26084  
 26085  // The anti-alias filter is automatically applied to all outputs. The service
 26086  // no longer accepts the value DISABLED for AntiAlias. If you specify that in
 26087  // your job, the service will ignore the setting.
 26088  const (
 26089  	// AntiAliasDisabled is a AntiAlias enum value
 26090  	AntiAliasDisabled = "DISABLED"
 26091  
 26092  	// AntiAliasEnabled is a AntiAlias enum value
 26093  	AntiAliasEnabled = "ENABLED"
 26094  )
 26095  
 26096  // AntiAlias_Values returns all elements of the AntiAlias enum
 26097  func AntiAlias_Values() []string {
 26098  	return []string{
 26099  		AntiAliasDisabled,
 26100  		AntiAliasEnabled,
 26101  	}
 26102  }
 26103  
 26104  // You can add a tag for this mono-channel audio track to mimic its placement
 26105  // in a multi-channel layout. For example, if this track is the left surround
 26106  // channel, choose Left surround (LS).
 26107  const (
 26108  	// AudioChannelTagL is a AudioChannelTag enum value
 26109  	AudioChannelTagL = "L"
 26110  
 26111  	// AudioChannelTagR is a AudioChannelTag enum value
 26112  	AudioChannelTagR = "R"
 26113  
 26114  	// AudioChannelTagC is a AudioChannelTag enum value
 26115  	AudioChannelTagC = "C"
 26116  
 26117  	// AudioChannelTagLfe is a AudioChannelTag enum value
 26118  	AudioChannelTagLfe = "LFE"
 26119  
 26120  	// AudioChannelTagLs is a AudioChannelTag enum value
 26121  	AudioChannelTagLs = "LS"
 26122  
 26123  	// AudioChannelTagRs is a AudioChannelTag enum value
 26124  	AudioChannelTagRs = "RS"
 26125  
 26126  	// AudioChannelTagLc is a AudioChannelTag enum value
 26127  	AudioChannelTagLc = "LC"
 26128  
 26129  	// AudioChannelTagRc is a AudioChannelTag enum value
 26130  	AudioChannelTagRc = "RC"
 26131  
 26132  	// AudioChannelTagCs is a AudioChannelTag enum value
 26133  	AudioChannelTagCs = "CS"
 26134  
 26135  	// AudioChannelTagLsd is a AudioChannelTag enum value
 26136  	AudioChannelTagLsd = "LSD"
 26137  
 26138  	// AudioChannelTagRsd is a AudioChannelTag enum value
 26139  	AudioChannelTagRsd = "RSD"
 26140  
 26141  	// AudioChannelTagTcs is a AudioChannelTag enum value
 26142  	AudioChannelTagTcs = "TCS"
 26143  
 26144  	// AudioChannelTagVhl is a AudioChannelTag enum value
 26145  	AudioChannelTagVhl = "VHL"
 26146  
 26147  	// AudioChannelTagVhc is a AudioChannelTag enum value
 26148  	AudioChannelTagVhc = "VHC"
 26149  
 26150  	// AudioChannelTagVhr is a AudioChannelTag enum value
 26151  	AudioChannelTagVhr = "VHR"
 26152  )
 26153  
 26154  // AudioChannelTag_Values returns all elements of the AudioChannelTag enum
 26155  func AudioChannelTag_Values() []string {
 26156  	return []string{
 26157  		AudioChannelTagL,
 26158  		AudioChannelTagR,
 26159  		AudioChannelTagC,
 26160  		AudioChannelTagLfe,
 26161  		AudioChannelTagLs,
 26162  		AudioChannelTagRs,
 26163  		AudioChannelTagLc,
 26164  		AudioChannelTagRc,
 26165  		AudioChannelTagCs,
 26166  		AudioChannelTagLsd,
 26167  		AudioChannelTagRsd,
 26168  		AudioChannelTagTcs,
 26169  		AudioChannelTagVhl,
 26170  		AudioChannelTagVhc,
 26171  		AudioChannelTagVhr,
 26172  	}
 26173  }
 26174  
 26175  // Choose the audio codec for this output. Note that the option Dolby Digital
 26176  // passthrough (PASSTHROUGH) applies only to Dolby Digital and Dolby Digital
 26177  // Plus audio inputs. Make sure that you choose a codec that's supported with
 26178  // your output container: https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#reference-codecs-containers-output-audio
 26179  // For audio-only outputs, make sure that both your input audio codec and your
 26180  // output audio codec are supported for audio-only workflows. For more information,
 26181  // see: https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers-input.html#reference-codecs-containers-input-audio-only
 26182  // and https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#audio-only-output
 26183  const (
 26184  	// AudioCodecAac is a AudioCodec enum value
 26185  	AudioCodecAac = "AAC"
 26186  
 26187  	// AudioCodecMp2 is a AudioCodec enum value
 26188  	AudioCodecMp2 = "MP2"
 26189  
 26190  	// AudioCodecMp3 is a AudioCodec enum value
 26191  	AudioCodecMp3 = "MP3"
 26192  
 26193  	// AudioCodecWav is a AudioCodec enum value
 26194  	AudioCodecWav = "WAV"
 26195  
 26196  	// AudioCodecAiff is a AudioCodec enum value
 26197  	AudioCodecAiff = "AIFF"
 26198  
 26199  	// AudioCodecAc3 is a AudioCodec enum value
 26200  	AudioCodecAc3 = "AC3"
 26201  
 26202  	// AudioCodecEac3 is a AudioCodec enum value
 26203  	AudioCodecEac3 = "EAC3"
 26204  
 26205  	// AudioCodecEac3Atmos is a AudioCodec enum value
 26206  	AudioCodecEac3Atmos = "EAC3_ATMOS"
 26207  
 26208  	// AudioCodecVorbis is a AudioCodec enum value
 26209  	AudioCodecVorbis = "VORBIS"
 26210  
 26211  	// AudioCodecOpus is a AudioCodec enum value
 26212  	AudioCodecOpus = "OPUS"
 26213  
 26214  	// AudioCodecPassthrough is a AudioCodec enum value
 26215  	AudioCodecPassthrough = "PASSTHROUGH"
 26216  )
 26217  
 26218  // AudioCodec_Values returns all elements of the AudioCodec enum
 26219  func AudioCodec_Values() []string {
 26220  	return []string{
 26221  		AudioCodecAac,
 26222  		AudioCodecMp2,
 26223  		AudioCodecMp3,
 26224  		AudioCodecWav,
 26225  		AudioCodecAiff,
 26226  		AudioCodecAc3,
 26227  		AudioCodecEac3,
 26228  		AudioCodecEac3Atmos,
 26229  		AudioCodecVorbis,
 26230  		AudioCodecOpus,
 26231  		AudioCodecPassthrough,
 26232  	}
 26233  }
 26234  
 26235  // Enable this setting on one audio selector to set it as the default for the
 26236  // job. The service uses this default for outputs where it can't find the specified
 26237  // input audio. If you don't set a default, those outputs have no audio.
 26238  const (
 26239  	// AudioDefaultSelectionDefault is a AudioDefaultSelection enum value
 26240  	AudioDefaultSelectionDefault = "DEFAULT"
 26241  
 26242  	// AudioDefaultSelectionNotDefault is a AudioDefaultSelection enum value
 26243  	AudioDefaultSelectionNotDefault = "NOT_DEFAULT"
 26244  )
 26245  
 26246  // AudioDefaultSelection_Values returns all elements of the AudioDefaultSelection enum
 26247  func AudioDefaultSelection_Values() []string {
 26248  	return []string{
 26249  		AudioDefaultSelectionDefault,
 26250  		AudioDefaultSelectionNotDefault,
 26251  	}
 26252  }
 26253  
 26254  // Specify which source for language code takes precedence for this audio track.
 26255  // When you choose Follow input (FOLLOW_INPUT), the service uses the language
 26256  // code from the input track if it's present. If there's no languge code on
 26257  // the input track, the service uses the code that you specify in the setting
 26258  // Language code (languageCode or customLanguageCode). When you choose Use configured
 26259  // (USE_CONFIGURED), the service uses the language code that you specify.
 26260  const (
 26261  	// AudioLanguageCodeControlFollowInput is a AudioLanguageCodeControl enum value
 26262  	AudioLanguageCodeControlFollowInput = "FOLLOW_INPUT"
 26263  
 26264  	// AudioLanguageCodeControlUseConfigured is a AudioLanguageCodeControl enum value
 26265  	AudioLanguageCodeControlUseConfigured = "USE_CONFIGURED"
 26266  )
 26267  
 26268  // AudioLanguageCodeControl_Values returns all elements of the AudioLanguageCodeControl enum
 26269  func AudioLanguageCodeControl_Values() []string {
 26270  	return []string{
 26271  		AudioLanguageCodeControlFollowInput,
 26272  		AudioLanguageCodeControlUseConfigured,
 26273  	}
 26274  }
 26275  
 26276  // Choose one of the following audio normalization algorithms: ITU-R BS.1770-1:
 26277  // Ungated loudness. A measurement of ungated average loudness for an entire
 26278  // piece of content, suitable for measurement of short-form content under ATSC
 26279  // recommendation A/85. Supports up to 5.1 audio channels. ITU-R BS.1770-2:
 26280  // Gated loudness. A measurement of gated average loudness compliant with the
 26281  // requirements of EBU-R128. Supports up to 5.1 audio channels. ITU-R BS.1770-3:
 26282  // Modified peak. The same loudness measurement algorithm as 1770-2, with an
 26283  // updated true peak measurement. ITU-R BS.1770-4: Higher channel count. Allows
 26284  // for more audio channels than the other algorithms, including configurations
 26285  // such as 7.1.
 26286  const (
 26287  	// AudioNormalizationAlgorithmItuBs17701 is a AudioNormalizationAlgorithm enum value
 26288  	AudioNormalizationAlgorithmItuBs17701 = "ITU_BS_1770_1"
 26289  
 26290  	// AudioNormalizationAlgorithmItuBs17702 is a AudioNormalizationAlgorithm enum value
 26291  	AudioNormalizationAlgorithmItuBs17702 = "ITU_BS_1770_2"
 26292  
 26293  	// AudioNormalizationAlgorithmItuBs17703 is a AudioNormalizationAlgorithm enum value
 26294  	AudioNormalizationAlgorithmItuBs17703 = "ITU_BS_1770_3"
 26295  
 26296  	// AudioNormalizationAlgorithmItuBs17704 is a AudioNormalizationAlgorithm enum value
 26297  	AudioNormalizationAlgorithmItuBs17704 = "ITU_BS_1770_4"
 26298  )
 26299  
 26300  // AudioNormalizationAlgorithm_Values returns all elements of the AudioNormalizationAlgorithm enum
 26301  func AudioNormalizationAlgorithm_Values() []string {
 26302  	return []string{
 26303  		AudioNormalizationAlgorithmItuBs17701,
 26304  		AudioNormalizationAlgorithmItuBs17702,
 26305  		AudioNormalizationAlgorithmItuBs17703,
 26306  		AudioNormalizationAlgorithmItuBs17704,
 26307  	}
 26308  }
 26309  
 26310  // When enabled the output audio is corrected using the chosen algorithm. If
 26311  // disabled, the audio will be measured but not adjusted.
 26312  const (
 26313  	// AudioNormalizationAlgorithmControlCorrectAudio is a AudioNormalizationAlgorithmControl enum value
 26314  	AudioNormalizationAlgorithmControlCorrectAudio = "CORRECT_AUDIO"
 26315  
 26316  	// AudioNormalizationAlgorithmControlMeasureOnly is a AudioNormalizationAlgorithmControl enum value
 26317  	AudioNormalizationAlgorithmControlMeasureOnly = "MEASURE_ONLY"
 26318  )
 26319  
 26320  // AudioNormalizationAlgorithmControl_Values returns all elements of the AudioNormalizationAlgorithmControl enum
 26321  func AudioNormalizationAlgorithmControl_Values() []string {
 26322  	return []string{
 26323  		AudioNormalizationAlgorithmControlCorrectAudio,
 26324  		AudioNormalizationAlgorithmControlMeasureOnly,
 26325  	}
 26326  }
 26327  
 26328  // If set to LOG, log each output's audio track loudness to a CSV file.
 26329  const (
 26330  	// AudioNormalizationLoudnessLoggingLog is a AudioNormalizationLoudnessLogging enum value
 26331  	AudioNormalizationLoudnessLoggingLog = "LOG"
 26332  
 26333  	// AudioNormalizationLoudnessLoggingDontLog is a AudioNormalizationLoudnessLogging enum value
 26334  	AudioNormalizationLoudnessLoggingDontLog = "DONT_LOG"
 26335  )
 26336  
 26337  // AudioNormalizationLoudnessLogging_Values returns all elements of the AudioNormalizationLoudnessLogging enum
 26338  func AudioNormalizationLoudnessLogging_Values() []string {
 26339  	return []string{
 26340  		AudioNormalizationLoudnessLoggingLog,
 26341  		AudioNormalizationLoudnessLoggingDontLog,
 26342  	}
 26343  }
 26344  
 26345  // If set to TRUE_PEAK, calculate and log the TruePeak for each output's audio
 26346  // track loudness.
 26347  const (
 26348  	// AudioNormalizationPeakCalculationTruePeak is a AudioNormalizationPeakCalculation enum value
 26349  	AudioNormalizationPeakCalculationTruePeak = "TRUE_PEAK"
 26350  
 26351  	// AudioNormalizationPeakCalculationNone is a AudioNormalizationPeakCalculation enum value
 26352  	AudioNormalizationPeakCalculationNone = "NONE"
 26353  )
 26354  
 26355  // AudioNormalizationPeakCalculation_Values returns all elements of the AudioNormalizationPeakCalculation enum
 26356  func AudioNormalizationPeakCalculation_Values() []string {
 26357  	return []string{
 26358  		AudioNormalizationPeakCalculationTruePeak,
 26359  		AudioNormalizationPeakCalculationNone,
 26360  	}
 26361  }
 26362  
 26363  // Specifies the type of the audio selector.
 26364  const (
 26365  	// AudioSelectorTypePid is a AudioSelectorType enum value
 26366  	AudioSelectorTypePid = "PID"
 26367  
 26368  	// AudioSelectorTypeTrack is a AudioSelectorType enum value
 26369  	AudioSelectorTypeTrack = "TRACK"
 26370  
 26371  	// AudioSelectorTypeLanguageCode is a AudioSelectorType enum value
 26372  	AudioSelectorTypeLanguageCode = "LANGUAGE_CODE"
 26373  
 26374  	// AudioSelectorTypeHlsRenditionGroup is a AudioSelectorType enum value
 26375  	AudioSelectorTypeHlsRenditionGroup = "HLS_RENDITION_GROUP"
 26376  )
 26377  
 26378  // AudioSelectorType_Values returns all elements of the AudioSelectorType enum
 26379  func AudioSelectorType_Values() []string {
 26380  	return []string{
 26381  		AudioSelectorTypePid,
 26382  		AudioSelectorTypeTrack,
 26383  		AudioSelectorTypeLanguageCode,
 26384  		AudioSelectorTypeHlsRenditionGroup,
 26385  	}
 26386  }
 26387  
 26388  // When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then
 26389  // that value is passed through to the output. If the input contains no ISO
 26390  // 639 audio_type, the value in Audio Type is included in the output. Otherwise
 26391  // the value in Audio Type is included in the output. Note that this field and
 26392  // audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD.
 26393  const (
 26394  	// AudioTypeControlFollowInput is a AudioTypeControl enum value
 26395  	AudioTypeControlFollowInput = "FOLLOW_INPUT"
 26396  
 26397  	// AudioTypeControlUseConfigured is a AudioTypeControl enum value
 26398  	AudioTypeControlUseConfigured = "USE_CONFIGURED"
 26399  )
 26400  
 26401  // AudioTypeControl_Values returns all elements of the AudioTypeControl enum
 26402  func AudioTypeControl_Values() []string {
 26403  	return []string{
 26404  		AudioTypeControlFollowInput,
 26405  		AudioTypeControlUseConfigured,
 26406  	}
 26407  }
 26408  
 26409  // Specify the strength of any adaptive quantization filters that you enable.
 26410  // The value that you choose here applies to Spatial adaptive quantization (spatialAdaptiveQuantization).
 26411  const (
 26412  	// Av1AdaptiveQuantizationOff is a Av1AdaptiveQuantization enum value
 26413  	Av1AdaptiveQuantizationOff = "OFF"
 26414  
 26415  	// Av1AdaptiveQuantizationLow is a Av1AdaptiveQuantization enum value
 26416  	Av1AdaptiveQuantizationLow = "LOW"
 26417  
 26418  	// Av1AdaptiveQuantizationMedium is a Av1AdaptiveQuantization enum value
 26419  	Av1AdaptiveQuantizationMedium = "MEDIUM"
 26420  
 26421  	// Av1AdaptiveQuantizationHigh is a Av1AdaptiveQuantization enum value
 26422  	Av1AdaptiveQuantizationHigh = "HIGH"
 26423  
 26424  	// Av1AdaptiveQuantizationHigher is a Av1AdaptiveQuantization enum value
 26425  	Av1AdaptiveQuantizationHigher = "HIGHER"
 26426  
 26427  	// Av1AdaptiveQuantizationMax is a Av1AdaptiveQuantization enum value
 26428  	Av1AdaptiveQuantizationMax = "MAX"
 26429  )
 26430  
 26431  // Av1AdaptiveQuantization_Values returns all elements of the Av1AdaptiveQuantization enum
 26432  func Av1AdaptiveQuantization_Values() []string {
 26433  	return []string{
 26434  		Av1AdaptiveQuantizationOff,
 26435  		Av1AdaptiveQuantizationLow,
 26436  		Av1AdaptiveQuantizationMedium,
 26437  		Av1AdaptiveQuantizationHigh,
 26438  		Av1AdaptiveQuantizationHigher,
 26439  		Av1AdaptiveQuantizationMax,
 26440  	}
 26441  }
 26442  
 26443  // If you are using the console, use the Framerate setting to specify the frame
 26444  // rate for this output. If you want to keep the same frame rate as the input
 26445  // video, choose Follow source. If you want to do frame rate conversion, choose
 26446  // a frame rate from the dropdown list or choose Custom. The framerates shown
 26447  // in the dropdown list are decimal approximations of fractions. If you choose
 26448  // Custom, specify your frame rate as a fraction. If you are creating your transcoding
 26449  // job specification as a JSON file without the console, use FramerateControl
 26450  // to specify which value the service uses for the frame rate for this output.
 26451  // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 26452  // from the input. Choose SPECIFIED if you want the service to use the frame
 26453  // rate you specify in the settings FramerateNumerator and FramerateDenominator.
 26454  const (
 26455  	// Av1FramerateControlInitializeFromSource is a Av1FramerateControl enum value
 26456  	Av1FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 26457  
 26458  	// Av1FramerateControlSpecified is a Av1FramerateControl enum value
 26459  	Av1FramerateControlSpecified = "SPECIFIED"
 26460  )
 26461  
 26462  // Av1FramerateControl_Values returns all elements of the Av1FramerateControl enum
 26463  func Av1FramerateControl_Values() []string {
 26464  	return []string{
 26465  		Av1FramerateControlInitializeFromSource,
 26466  		Av1FramerateControlSpecified,
 26467  	}
 26468  }
 26469  
 26470  // Choose the method that you want MediaConvert to use when increasing or decreasing
 26471  // the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 26472  // simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 26473  // you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 26474  // smooth picture, but might introduce undesirable video artifacts. For complex
 26475  // frame rate conversions, especially if your source video has already been
 26476  // converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 26477  // motion-compensated interpolation. FrameFormer chooses the best conversion
 26478  // method frame by frame. Note that using FrameFormer increases the transcoding
 26479  // time and incurs a significant add-on cost.
 26480  const (
 26481  	// Av1FramerateConversionAlgorithmDuplicateDrop is a Av1FramerateConversionAlgorithm enum value
 26482  	Av1FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP"
 26483  
 26484  	// Av1FramerateConversionAlgorithmInterpolate is a Av1FramerateConversionAlgorithm enum value
 26485  	Av1FramerateConversionAlgorithmInterpolate = "INTERPOLATE"
 26486  
 26487  	// Av1FramerateConversionAlgorithmFrameformer is a Av1FramerateConversionAlgorithm enum value
 26488  	Av1FramerateConversionAlgorithmFrameformer = "FRAMEFORMER"
 26489  )
 26490  
 26491  // Av1FramerateConversionAlgorithm_Values returns all elements of the Av1FramerateConversionAlgorithm enum
 26492  func Av1FramerateConversionAlgorithm_Values() []string {
 26493  	return []string{
 26494  		Av1FramerateConversionAlgorithmDuplicateDrop,
 26495  		Av1FramerateConversionAlgorithmInterpolate,
 26496  		Av1FramerateConversionAlgorithmFrameformer,
 26497  	}
 26498  }
 26499  
 26500  // 'With AV1 outputs, for rate control mode, MediaConvert supports only quality-defined
 26501  // variable bitrate (QVBR). You can''t use CBR or VBR.'
 26502  const (
 26503  	// Av1RateControlModeQvbr is a Av1RateControlMode enum value
 26504  	Av1RateControlModeQvbr = "QVBR"
 26505  )
 26506  
 26507  // Av1RateControlMode_Values returns all elements of the Av1RateControlMode enum
 26508  func Av1RateControlMode_Values() []string {
 26509  	return []string{
 26510  		Av1RateControlModeQvbr,
 26511  	}
 26512  }
 26513  
 26514  // Keep the default value, Enabled (ENABLED), to adjust quantization within
 26515  // each frame based on spatial variation of content complexity. When you enable
 26516  // this feature, the encoder uses fewer bits on areas that can sustain more
 26517  // distortion with no noticeable visual degradation and uses more bits on areas
 26518  // where any small distortion will be noticeable. For example, complex textured
 26519  // blocks are encoded with fewer bits and smooth textured blocks are encoded
 26520  // with more bits. Enabling this feature will almost always improve your video
 26521  // quality. Note, though, that this feature doesn't take into account where
 26522  // the viewer's attention is likely to be. If viewers are likely to be focusing
 26523  // their attention on a part of the screen with a lot of complex texture, you
 26524  // might choose to disable this feature. Related setting: When you enable spatial
 26525  // adaptive quantization, set the value for Adaptive quantization (adaptiveQuantization)
 26526  // depending on your content. For homogeneous content, such as cartoons and
 26527  // video games, set it to Low. For content with a wider variety of textures,
 26528  // set it to High or Higher.
 26529  const (
 26530  	// Av1SpatialAdaptiveQuantizationDisabled is a Av1SpatialAdaptiveQuantization enum value
 26531  	Av1SpatialAdaptiveQuantizationDisabled = "DISABLED"
 26532  
 26533  	// Av1SpatialAdaptiveQuantizationEnabled is a Av1SpatialAdaptiveQuantization enum value
 26534  	Av1SpatialAdaptiveQuantizationEnabled = "ENABLED"
 26535  )
 26536  
 26537  // Av1SpatialAdaptiveQuantization_Values returns all elements of the Av1SpatialAdaptiveQuantization enum
 26538  func Av1SpatialAdaptiveQuantization_Values() []string {
 26539  	return []string{
 26540  		Av1SpatialAdaptiveQuantizationDisabled,
 26541  		Av1SpatialAdaptiveQuantizationEnabled,
 26542  	}
 26543  }
 26544  
 26545  // Specify the AVC-Intra class of your output. The AVC-Intra class selection
 26546  // determines the output video bit rate depending on the frame rate of the output.
 26547  // Outputs with higher class values have higher bitrates and improved image
 26548  // quality. Note that for Class 4K/2K, MediaConvert supports only 4:2:2 chroma
 26549  // subsampling.
 26550  const (
 26551  	// AvcIntraClassClass50 is a AvcIntraClass enum value
 26552  	AvcIntraClassClass50 = "CLASS_50"
 26553  
 26554  	// AvcIntraClassClass100 is a AvcIntraClass enum value
 26555  	AvcIntraClassClass100 = "CLASS_100"
 26556  
 26557  	// AvcIntraClassClass200 is a AvcIntraClass enum value
 26558  	AvcIntraClassClass200 = "CLASS_200"
 26559  
 26560  	// AvcIntraClassClass4k2k is a AvcIntraClass enum value
 26561  	AvcIntraClassClass4k2k = "CLASS_4K_2K"
 26562  )
 26563  
 26564  // AvcIntraClass_Values returns all elements of the AvcIntraClass enum
 26565  func AvcIntraClass_Values() []string {
 26566  	return []string{
 26567  		AvcIntraClassClass50,
 26568  		AvcIntraClassClass100,
 26569  		AvcIntraClassClass200,
 26570  		AvcIntraClassClass4k2k,
 26571  	}
 26572  }
 26573  
 26574  // If you are using the console, use the Framerate setting to specify the frame
 26575  // rate for this output. If you want to keep the same frame rate as the input
 26576  // video, choose Follow source. If you want to do frame rate conversion, choose
 26577  // a frame rate from the dropdown list or choose Custom. The framerates shown
 26578  // in the dropdown list are decimal approximations of fractions. If you choose
 26579  // Custom, specify your frame rate as a fraction. If you are creating your transcoding
 26580  // job specification as a JSON file without the console, use FramerateControl
 26581  // to specify which value the service uses for the frame rate for this output.
 26582  // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 26583  // from the input. Choose SPECIFIED if you want the service to use the frame
 26584  // rate you specify in the settings FramerateNumerator and FramerateDenominator.
 26585  const (
 26586  	// AvcIntraFramerateControlInitializeFromSource is a AvcIntraFramerateControl enum value
 26587  	AvcIntraFramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 26588  
 26589  	// AvcIntraFramerateControlSpecified is a AvcIntraFramerateControl enum value
 26590  	AvcIntraFramerateControlSpecified = "SPECIFIED"
 26591  )
 26592  
 26593  // AvcIntraFramerateControl_Values returns all elements of the AvcIntraFramerateControl enum
 26594  func AvcIntraFramerateControl_Values() []string {
 26595  	return []string{
 26596  		AvcIntraFramerateControlInitializeFromSource,
 26597  		AvcIntraFramerateControlSpecified,
 26598  	}
 26599  }
 26600  
 26601  // Choose the method that you want MediaConvert to use when increasing or decreasing
 26602  // the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 26603  // simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 26604  // you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 26605  // smooth picture, but might introduce undesirable video artifacts. For complex
 26606  // frame rate conversions, especially if your source video has already been
 26607  // converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 26608  // motion-compensated interpolation. FrameFormer chooses the best conversion
 26609  // method frame by frame. Note that using FrameFormer increases the transcoding
 26610  // time and incurs a significant add-on cost.
 26611  const (
 26612  	// AvcIntraFramerateConversionAlgorithmDuplicateDrop is a AvcIntraFramerateConversionAlgorithm enum value
 26613  	AvcIntraFramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP"
 26614  
 26615  	// AvcIntraFramerateConversionAlgorithmInterpolate is a AvcIntraFramerateConversionAlgorithm enum value
 26616  	AvcIntraFramerateConversionAlgorithmInterpolate = "INTERPOLATE"
 26617  
 26618  	// AvcIntraFramerateConversionAlgorithmFrameformer is a AvcIntraFramerateConversionAlgorithm enum value
 26619  	AvcIntraFramerateConversionAlgorithmFrameformer = "FRAMEFORMER"
 26620  )
 26621  
 26622  // AvcIntraFramerateConversionAlgorithm_Values returns all elements of the AvcIntraFramerateConversionAlgorithm enum
 26623  func AvcIntraFramerateConversionAlgorithm_Values() []string {
 26624  	return []string{
 26625  		AvcIntraFramerateConversionAlgorithmDuplicateDrop,
 26626  		AvcIntraFramerateConversionAlgorithmInterpolate,
 26627  		AvcIntraFramerateConversionAlgorithmFrameformer,
 26628  	}
 26629  }
 26630  
 26631  // Choose the scan line type for the output. Keep the default value, Progressive
 26632  // (PROGRESSIVE) to create a progressive output, regardless of the scan type
 26633  // of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD)
 26634  // to create an output that's interlaced with the same field polarity throughout.
 26635  // Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD)
 26636  // to produce outputs with the same field polarity as the source. For jobs that
 26637  // have multiple inputs, the output field polarity might change over the course
 26638  // of the output. Follow behavior depends on the input scan type. If the source
 26639  // is interlaced, the output will be interlaced with the same polarity as the
 26640  // source. If the source is progressive, the output will be interlaced with
 26641  // top field bottom field first, depending on which of the Follow options you
 26642  // choose.
 26643  const (
 26644  	// AvcIntraInterlaceModeProgressive is a AvcIntraInterlaceMode enum value
 26645  	AvcIntraInterlaceModeProgressive = "PROGRESSIVE"
 26646  
 26647  	// AvcIntraInterlaceModeTopField is a AvcIntraInterlaceMode enum value
 26648  	AvcIntraInterlaceModeTopField = "TOP_FIELD"
 26649  
 26650  	// AvcIntraInterlaceModeBottomField is a AvcIntraInterlaceMode enum value
 26651  	AvcIntraInterlaceModeBottomField = "BOTTOM_FIELD"
 26652  
 26653  	// AvcIntraInterlaceModeFollowTopField is a AvcIntraInterlaceMode enum value
 26654  	AvcIntraInterlaceModeFollowTopField = "FOLLOW_TOP_FIELD"
 26655  
 26656  	// AvcIntraInterlaceModeFollowBottomField is a AvcIntraInterlaceMode enum value
 26657  	AvcIntraInterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD"
 26658  )
 26659  
 26660  // AvcIntraInterlaceMode_Values returns all elements of the AvcIntraInterlaceMode enum
 26661  func AvcIntraInterlaceMode_Values() []string {
 26662  	return []string{
 26663  		AvcIntraInterlaceModeProgressive,
 26664  		AvcIntraInterlaceModeTopField,
 26665  		AvcIntraInterlaceModeBottomField,
 26666  		AvcIntraInterlaceModeFollowTopField,
 26667  		AvcIntraInterlaceModeFollowBottomField,
 26668  	}
 26669  }
 26670  
 26671  // Use this setting for interlaced outputs, when your output frame rate is half
 26672  // of your input frame rate. In this situation, choose Optimized interlacing
 26673  // (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this
 26674  // case, each progressive frame from the input corresponds to an interlaced
 26675  // field in the output. Keep the default value, Basic interlacing (INTERLACED),
 26676  // for all other output frame rates. With basic interlacing, MediaConvert performs
 26677  // any frame rate conversion first and then interlaces the frames. When you
 26678  // choose Optimized interlacing and you set your output frame rate to a value
 26679  // that isn't suitable for optimized interlacing, MediaConvert automatically
 26680  // falls back to basic interlacing. Required settings: To use optimized interlacing,
 26681  // you must set Telecine (telecine) to None (NONE) or Soft (SOFT). You can't
 26682  // use optimized interlacing for hard telecine outputs. You must also set Interlace
 26683  // mode (interlaceMode) to a value other than Progressive (PROGRESSIVE).
 26684  const (
 26685  	// AvcIntraScanTypeConversionModeInterlaced is a AvcIntraScanTypeConversionMode enum value
 26686  	AvcIntraScanTypeConversionModeInterlaced = "INTERLACED"
 26687  
 26688  	// AvcIntraScanTypeConversionModeInterlacedOptimize is a AvcIntraScanTypeConversionMode enum value
 26689  	AvcIntraScanTypeConversionModeInterlacedOptimize = "INTERLACED_OPTIMIZE"
 26690  )
 26691  
 26692  // AvcIntraScanTypeConversionMode_Values returns all elements of the AvcIntraScanTypeConversionMode enum
 26693  func AvcIntraScanTypeConversionMode_Values() []string {
 26694  	return []string{
 26695  		AvcIntraScanTypeConversionModeInterlaced,
 26696  		AvcIntraScanTypeConversionModeInterlacedOptimize,
 26697  	}
 26698  }
 26699  
 26700  // Ignore this setting unless your input frame rate is 23.976 or 24 frames per
 26701  // second (fps). Enable slow PAL to create a 25 fps output. When you enable
 26702  // slow PAL, MediaConvert relabels the video frames to 25 fps and resamples
 26703  // your audio to keep it synchronized with the video. Note that enabling this
 26704  // setting will slightly reduce the duration of your video. Required settings:
 26705  // You must also set Framerate to 25. In your JSON job specification, set (framerateControl)
 26706  // to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to
 26707  // 1.
 26708  const (
 26709  	// AvcIntraSlowPalDisabled is a AvcIntraSlowPal enum value
 26710  	AvcIntraSlowPalDisabled = "DISABLED"
 26711  
 26712  	// AvcIntraSlowPalEnabled is a AvcIntraSlowPal enum value
 26713  	AvcIntraSlowPalEnabled = "ENABLED"
 26714  )
 26715  
 26716  // AvcIntraSlowPal_Values returns all elements of the AvcIntraSlowPal enum
 26717  func AvcIntraSlowPal_Values() []string {
 26718  	return []string{
 26719  		AvcIntraSlowPalDisabled,
 26720  		AvcIntraSlowPalEnabled,
 26721  	}
 26722  }
 26723  
 26724  // When you do frame rate conversion from 23.976 frames per second (fps) to
 26725  // 29.97 fps, and your output scan type is interlaced, you can optionally enable
 26726  // hard telecine (HARD) to create a smoother picture. When you keep the default
 26727  // value, None (NONE), MediaConvert does a standard frame rate conversion to
 26728  // 29.97 without doing anything with the field polarity to create a smoother
 26729  // picture.
 26730  const (
 26731  	// AvcIntraTelecineNone is a AvcIntraTelecine enum value
 26732  	AvcIntraTelecineNone = "NONE"
 26733  
 26734  	// AvcIntraTelecineHard is a AvcIntraTelecine enum value
 26735  	AvcIntraTelecineHard = "HARD"
 26736  )
 26737  
 26738  // AvcIntraTelecine_Values returns all elements of the AvcIntraTelecine enum
 26739  func AvcIntraTelecine_Values() []string {
 26740  	return []string{
 26741  		AvcIntraTelecineNone,
 26742  		AvcIntraTelecineHard,
 26743  	}
 26744  }
 26745  
 26746  // Optional. Use Quality tuning level (qualityTuningLevel) to choose how many
 26747  // transcoding passes MediaConvert does with your video. When you choose Multi-pass
 26748  // (MULTI_PASS), your video quality is better and your output bitrate is more
 26749  // accurate. That is, the actual bitrate of your output is closer to the target
 26750  // bitrate defined in the specification. When you choose Single-pass (SINGLE_PASS),
 26751  // your encoding time is faster. The default behavior is Single-pass (SINGLE_PASS).
 26752  const (
 26753  	// AvcIntraUhdQualityTuningLevelSinglePass is a AvcIntraUhdQualityTuningLevel enum value
 26754  	AvcIntraUhdQualityTuningLevelSinglePass = "SINGLE_PASS"
 26755  
 26756  	// AvcIntraUhdQualityTuningLevelMultiPass is a AvcIntraUhdQualityTuningLevel enum value
 26757  	AvcIntraUhdQualityTuningLevelMultiPass = "MULTI_PASS"
 26758  )
 26759  
 26760  // AvcIntraUhdQualityTuningLevel_Values returns all elements of the AvcIntraUhdQualityTuningLevel enum
 26761  func AvcIntraUhdQualityTuningLevel_Values() []string {
 26762  	return []string{
 26763  		AvcIntraUhdQualityTuningLevelSinglePass,
 26764  		AvcIntraUhdQualityTuningLevelMultiPass,
 26765  	}
 26766  }
 26767  
 26768  // The tag type that AWS Billing and Cost Management will use to sort your AWS
 26769  // Elemental MediaConvert costs on any billing report that you set up.
 26770  const (
 26771  	// BillingTagsSourceQueue is a BillingTagsSource enum value
 26772  	BillingTagsSourceQueue = "QUEUE"
 26773  
 26774  	// BillingTagsSourcePreset is a BillingTagsSource enum value
 26775  	BillingTagsSourcePreset = "PRESET"
 26776  
 26777  	// BillingTagsSourceJobTemplate is a BillingTagsSource enum value
 26778  	BillingTagsSourceJobTemplate = "JOB_TEMPLATE"
 26779  
 26780  	// BillingTagsSourceJob is a BillingTagsSource enum value
 26781  	BillingTagsSourceJob = "JOB"
 26782  )
 26783  
 26784  // BillingTagsSource_Values returns all elements of the BillingTagsSource enum
 26785  func BillingTagsSource_Values() []string {
 26786  	return []string{
 26787  		BillingTagsSourceQueue,
 26788  		BillingTagsSourcePreset,
 26789  		BillingTagsSourceJobTemplate,
 26790  		BillingTagsSourceJob,
 26791  	}
 26792  }
 26793  
 26794  // Ignore this setting unless your output captions are burned in. Choose which
 26795  // set of style and position values the service applies to your output captions.
 26796  // When you choose ENABLED, the service uses the input style and position information
 26797  // from your input. When you choose DISABLED, the service uses any style values
 26798  // that you specify in your output settings. If you don't specify values, the
 26799  // service uses default style and position values. When you choose DISABLED,
 26800  // the service ignores all style and position values from your input.
 26801  const (
 26802  	// BurnInSubtitleStylePassthroughEnabled is a BurnInSubtitleStylePassthrough enum value
 26803  	BurnInSubtitleStylePassthroughEnabled = "ENABLED"
 26804  
 26805  	// BurnInSubtitleStylePassthroughDisabled is a BurnInSubtitleStylePassthrough enum value
 26806  	BurnInSubtitleStylePassthroughDisabled = "DISABLED"
 26807  )
 26808  
 26809  // BurnInSubtitleStylePassthrough_Values returns all elements of the BurnInSubtitleStylePassthrough enum
 26810  func BurnInSubtitleStylePassthrough_Values() []string {
 26811  	return []string{
 26812  		BurnInSubtitleStylePassthroughEnabled,
 26813  		BurnInSubtitleStylePassthroughDisabled,
 26814  	}
 26815  }
 26816  
 26817  // If no explicit x_position or y_position is provided, setting alignment to
 26818  // centered will place the captions at the bottom center of the output. Similarly,
 26819  // setting a left alignment will align captions to the bottom left of the output.
 26820  // If x and y positions are given in conjunction with the alignment parameter,
 26821  // the font will be justified (either left or centered) relative to those coordinates.
 26822  // This option is not valid for source captions that are STL, 608/embedded or
 26823  // teletext. These source settings are already pre-defined by the caption stream.
 26824  // All burn-in and DVB-Sub font settings must match.
 26825  const (
 26826  	// BurninSubtitleAlignmentCentered is a BurninSubtitleAlignment enum value
 26827  	BurninSubtitleAlignmentCentered = "CENTERED"
 26828  
 26829  	// BurninSubtitleAlignmentLeft is a BurninSubtitleAlignment enum value
 26830  	BurninSubtitleAlignmentLeft = "LEFT"
 26831  
 26832  	// BurninSubtitleAlignmentAuto is a BurninSubtitleAlignment enum value
 26833  	BurninSubtitleAlignmentAuto = "AUTO"
 26834  )
 26835  
 26836  // BurninSubtitleAlignment_Values returns all elements of the BurninSubtitleAlignment enum
 26837  func BurninSubtitleAlignment_Values() []string {
 26838  	return []string{
 26839  		BurninSubtitleAlignmentCentered,
 26840  		BurninSubtitleAlignmentLeft,
 26841  		BurninSubtitleAlignmentAuto,
 26842  	}
 26843  }
 26844  
 26845  // Ignore this setting unless your input captions are STL, any type of 608,
 26846  // teletext, or TTML, and your output captions are burned in. Specify how the
 26847  // service applies the color specified in the setting Font color (BurninSubtitleFontColor).
 26848  // By default, this color is white. When you choose WHITE_TEXT_ONLY, the service
 26849  // uses the specified font color only for text that is white in the input. When
 26850  // you choose ALL_TEXT, the service uses the specified font color for all output
 26851  // captions text. If you leave both settings at their default value, your output
 26852  // font color is the same as your input font color.
 26853  const (
 26854  	// BurninSubtitleApplyFontColorWhiteTextOnly is a BurninSubtitleApplyFontColor enum value
 26855  	BurninSubtitleApplyFontColorWhiteTextOnly = "WHITE_TEXT_ONLY"
 26856  
 26857  	// BurninSubtitleApplyFontColorAllText is a BurninSubtitleApplyFontColor enum value
 26858  	BurninSubtitleApplyFontColorAllText = "ALL_TEXT"
 26859  )
 26860  
 26861  // BurninSubtitleApplyFontColor_Values returns all elements of the BurninSubtitleApplyFontColor enum
 26862  func BurninSubtitleApplyFontColor_Values() []string {
 26863  	return []string{
 26864  		BurninSubtitleApplyFontColorWhiteTextOnly,
 26865  		BurninSubtitleApplyFontColorAllText,
 26866  	}
 26867  }
 26868  
 26869  // Specifies the color of the rectangle behind the captions.All burn-in and
 26870  // DVB-Sub font settings must match.
 26871  const (
 26872  	// BurninSubtitleBackgroundColorNone is a BurninSubtitleBackgroundColor enum value
 26873  	BurninSubtitleBackgroundColorNone = "NONE"
 26874  
 26875  	// BurninSubtitleBackgroundColorBlack is a BurninSubtitleBackgroundColor enum value
 26876  	BurninSubtitleBackgroundColorBlack = "BLACK"
 26877  
 26878  	// BurninSubtitleBackgroundColorWhite is a BurninSubtitleBackgroundColor enum value
 26879  	BurninSubtitleBackgroundColorWhite = "WHITE"
 26880  
 26881  	// BurninSubtitleBackgroundColorAuto is a BurninSubtitleBackgroundColor enum value
 26882  	BurninSubtitleBackgroundColorAuto = "AUTO"
 26883  )
 26884  
 26885  // BurninSubtitleBackgroundColor_Values returns all elements of the BurninSubtitleBackgroundColor enum
 26886  func BurninSubtitleBackgroundColor_Values() []string {
 26887  	return []string{
 26888  		BurninSubtitleBackgroundColorNone,
 26889  		BurninSubtitleBackgroundColorBlack,
 26890  		BurninSubtitleBackgroundColorWhite,
 26891  		BurninSubtitleBackgroundColorAuto,
 26892  	}
 26893  }
 26894  
 26895  // Specify the font that you want the service to use for your burn in captions
 26896  // when your input captions specify a font that MediaConvert doesn't support.
 26897  // When you keep the default value, Best match (BEST_MATCH), MediaConvert uses
 26898  // a supported font that most closely matches the font that your input captions
 26899  // specify. When there are multiple unsupported fonts in your input captions,
 26900  // MediaConvert matches each font with the supported font that matches best.
 26901  // When you explicitly choose a replacement font, MediaConvert uses that font
 26902  // to replace all unsupported fonts from your input.
 26903  const (
 26904  	// BurninSubtitleFallbackFontBestMatch is a BurninSubtitleFallbackFont enum value
 26905  	BurninSubtitleFallbackFontBestMatch = "BEST_MATCH"
 26906  
 26907  	// BurninSubtitleFallbackFontMonospacedSansserif is a BurninSubtitleFallbackFont enum value
 26908  	BurninSubtitleFallbackFontMonospacedSansserif = "MONOSPACED_SANSSERIF"
 26909  
 26910  	// BurninSubtitleFallbackFontMonospacedSerif is a BurninSubtitleFallbackFont enum value
 26911  	BurninSubtitleFallbackFontMonospacedSerif = "MONOSPACED_SERIF"
 26912  
 26913  	// BurninSubtitleFallbackFontProportionalSansserif is a BurninSubtitleFallbackFont enum value
 26914  	BurninSubtitleFallbackFontProportionalSansserif = "PROPORTIONAL_SANSSERIF"
 26915  
 26916  	// BurninSubtitleFallbackFontProportionalSerif is a BurninSubtitleFallbackFont enum value
 26917  	BurninSubtitleFallbackFontProportionalSerif = "PROPORTIONAL_SERIF"
 26918  )
 26919  
 26920  // BurninSubtitleFallbackFont_Values returns all elements of the BurninSubtitleFallbackFont enum
 26921  func BurninSubtitleFallbackFont_Values() []string {
 26922  	return []string{
 26923  		BurninSubtitleFallbackFontBestMatch,
 26924  		BurninSubtitleFallbackFontMonospacedSansserif,
 26925  		BurninSubtitleFallbackFontMonospacedSerif,
 26926  		BurninSubtitleFallbackFontProportionalSansserif,
 26927  		BurninSubtitleFallbackFontProportionalSerif,
 26928  	}
 26929  }
 26930  
 26931  // Specifies the color of the burned-in captions. This option is not valid for
 26932  // source captions that are STL, 608/embedded or teletext. These source settings
 26933  // are already pre-defined by the caption stream. All burn-in and DVB-Sub font
 26934  // settings must match.
 26935  const (
 26936  	// BurninSubtitleFontColorWhite is a BurninSubtitleFontColor enum value
 26937  	BurninSubtitleFontColorWhite = "WHITE"
 26938  
 26939  	// BurninSubtitleFontColorBlack is a BurninSubtitleFontColor enum value
 26940  	BurninSubtitleFontColorBlack = "BLACK"
 26941  
 26942  	// BurninSubtitleFontColorYellow is a BurninSubtitleFontColor enum value
 26943  	BurninSubtitleFontColorYellow = "YELLOW"
 26944  
 26945  	// BurninSubtitleFontColorRed is a BurninSubtitleFontColor enum value
 26946  	BurninSubtitleFontColorRed = "RED"
 26947  
 26948  	// BurninSubtitleFontColorGreen is a BurninSubtitleFontColor enum value
 26949  	BurninSubtitleFontColorGreen = "GREEN"
 26950  
 26951  	// BurninSubtitleFontColorBlue is a BurninSubtitleFontColor enum value
 26952  	BurninSubtitleFontColorBlue = "BLUE"
 26953  
 26954  	// BurninSubtitleFontColorHex is a BurninSubtitleFontColor enum value
 26955  	BurninSubtitleFontColorHex = "HEX"
 26956  
 26957  	// BurninSubtitleFontColorAuto is a BurninSubtitleFontColor enum value
 26958  	BurninSubtitleFontColorAuto = "AUTO"
 26959  )
 26960  
 26961  // BurninSubtitleFontColor_Values returns all elements of the BurninSubtitleFontColor enum
 26962  func BurninSubtitleFontColor_Values() []string {
 26963  	return []string{
 26964  		BurninSubtitleFontColorWhite,
 26965  		BurninSubtitleFontColorBlack,
 26966  		BurninSubtitleFontColorYellow,
 26967  		BurninSubtitleFontColorRed,
 26968  		BurninSubtitleFontColorGreen,
 26969  		BurninSubtitleFontColorBlue,
 26970  		BurninSubtitleFontColorHex,
 26971  		BurninSubtitleFontColorAuto,
 26972  	}
 26973  }
 26974  
 26975  // Specifies font outline color. This option is not valid for source captions
 26976  // that are either 608/embedded or teletext. These source settings are already
 26977  // pre-defined by the caption stream. All burn-in and DVB-Sub font settings
 26978  // must match.
 26979  const (
 26980  	// BurninSubtitleOutlineColorBlack is a BurninSubtitleOutlineColor enum value
 26981  	BurninSubtitleOutlineColorBlack = "BLACK"
 26982  
 26983  	// BurninSubtitleOutlineColorWhite is a BurninSubtitleOutlineColor enum value
 26984  	BurninSubtitleOutlineColorWhite = "WHITE"
 26985  
 26986  	// BurninSubtitleOutlineColorYellow is a BurninSubtitleOutlineColor enum value
 26987  	BurninSubtitleOutlineColorYellow = "YELLOW"
 26988  
 26989  	// BurninSubtitleOutlineColorRed is a BurninSubtitleOutlineColor enum value
 26990  	BurninSubtitleOutlineColorRed = "RED"
 26991  
 26992  	// BurninSubtitleOutlineColorGreen is a BurninSubtitleOutlineColor enum value
 26993  	BurninSubtitleOutlineColorGreen = "GREEN"
 26994  
 26995  	// BurninSubtitleOutlineColorBlue is a BurninSubtitleOutlineColor enum value
 26996  	BurninSubtitleOutlineColorBlue = "BLUE"
 26997  
 26998  	// BurninSubtitleOutlineColorAuto is a BurninSubtitleOutlineColor enum value
 26999  	BurninSubtitleOutlineColorAuto = "AUTO"
 27000  )
 27001  
 27002  // BurninSubtitleOutlineColor_Values returns all elements of the BurninSubtitleOutlineColor enum
 27003  func BurninSubtitleOutlineColor_Values() []string {
 27004  	return []string{
 27005  		BurninSubtitleOutlineColorBlack,
 27006  		BurninSubtitleOutlineColorWhite,
 27007  		BurninSubtitleOutlineColorYellow,
 27008  		BurninSubtitleOutlineColorRed,
 27009  		BurninSubtitleOutlineColorGreen,
 27010  		BurninSubtitleOutlineColorBlue,
 27011  		BurninSubtitleOutlineColorAuto,
 27012  	}
 27013  }
 27014  
 27015  // Specifies the color of the shadow cast by the captions.All burn-in and DVB-Sub
 27016  // font settings must match.
 27017  const (
 27018  	// BurninSubtitleShadowColorNone is a BurninSubtitleShadowColor enum value
 27019  	BurninSubtitleShadowColorNone = "NONE"
 27020  
 27021  	// BurninSubtitleShadowColorBlack is a BurninSubtitleShadowColor enum value
 27022  	BurninSubtitleShadowColorBlack = "BLACK"
 27023  
 27024  	// BurninSubtitleShadowColorWhite is a BurninSubtitleShadowColor enum value
 27025  	BurninSubtitleShadowColorWhite = "WHITE"
 27026  
 27027  	// BurninSubtitleShadowColorAuto is a BurninSubtitleShadowColor enum value
 27028  	BurninSubtitleShadowColorAuto = "AUTO"
 27029  )
 27030  
 27031  // BurninSubtitleShadowColor_Values returns all elements of the BurninSubtitleShadowColor enum
 27032  func BurninSubtitleShadowColor_Values() []string {
 27033  	return []string{
 27034  		BurninSubtitleShadowColorNone,
 27035  		BurninSubtitleShadowColorBlack,
 27036  		BurninSubtitleShadowColorWhite,
 27037  		BurninSubtitleShadowColorAuto,
 27038  	}
 27039  }
 27040  
 27041  // Only applies to jobs with input captions in Teletext or STL formats. Specify
 27042  // whether the spacing between letters in your captions is set by the captions
 27043  // grid or varies depending on letter width. Choose fixed grid to conform to
 27044  // the spacing specified in the captions file more accurately. Choose proportional
 27045  // to make the text easier to read if the captions are closed caption.
 27046  const (
 27047  	// BurninSubtitleTeletextSpacingFixedGrid is a BurninSubtitleTeletextSpacing enum value
 27048  	BurninSubtitleTeletextSpacingFixedGrid = "FIXED_GRID"
 27049  
 27050  	// BurninSubtitleTeletextSpacingProportional is a BurninSubtitleTeletextSpacing enum value
 27051  	BurninSubtitleTeletextSpacingProportional = "PROPORTIONAL"
 27052  
 27053  	// BurninSubtitleTeletextSpacingAuto is a BurninSubtitleTeletextSpacing enum value
 27054  	BurninSubtitleTeletextSpacingAuto = "AUTO"
 27055  )
 27056  
 27057  // BurninSubtitleTeletextSpacing_Values returns all elements of the BurninSubtitleTeletextSpacing enum
 27058  func BurninSubtitleTeletextSpacing_Values() []string {
 27059  	return []string{
 27060  		BurninSubtitleTeletextSpacingFixedGrid,
 27061  		BurninSubtitleTeletextSpacingProportional,
 27062  		BurninSubtitleTeletextSpacingAuto,
 27063  	}
 27064  }
 27065  
 27066  // Specify the format for this set of captions on this output. The default format
 27067  // is embedded without SCTE-20. Note that your choice of video output container
 27068  // constrains your choice of output captions format. For more information, see
 27069  // https://docs.aws.amazon.com/mediaconvert/latest/ug/captions-support-tables.html.
 27070  // If you are using SCTE-20 and you want to create an output that complies with
 27071  // the SCTE-43 spec, choose SCTE-20 plus embedded (SCTE20_PLUS_EMBEDDED). To
 27072  // create a non-compliant output where the embedded captions come first, choose
 27073  // Embedded plus SCTE-20 (EMBEDDED_PLUS_SCTE20).
 27074  const (
 27075  	// CaptionDestinationTypeBurnIn is a CaptionDestinationType enum value
 27076  	CaptionDestinationTypeBurnIn = "BURN_IN"
 27077  
 27078  	// CaptionDestinationTypeDvbSub is a CaptionDestinationType enum value
 27079  	CaptionDestinationTypeDvbSub = "DVB_SUB"
 27080  
 27081  	// CaptionDestinationTypeEmbedded is a CaptionDestinationType enum value
 27082  	CaptionDestinationTypeEmbedded = "EMBEDDED"
 27083  
 27084  	// CaptionDestinationTypeEmbeddedPlusScte20 is a CaptionDestinationType enum value
 27085  	CaptionDestinationTypeEmbeddedPlusScte20 = "EMBEDDED_PLUS_SCTE20"
 27086  
 27087  	// CaptionDestinationTypeImsc is a CaptionDestinationType enum value
 27088  	CaptionDestinationTypeImsc = "IMSC"
 27089  
 27090  	// CaptionDestinationTypeScte20PlusEmbedded is a CaptionDestinationType enum value
 27091  	CaptionDestinationTypeScte20PlusEmbedded = "SCTE20_PLUS_EMBEDDED"
 27092  
 27093  	// CaptionDestinationTypeScc is a CaptionDestinationType enum value
 27094  	CaptionDestinationTypeScc = "SCC"
 27095  
 27096  	// CaptionDestinationTypeSrt is a CaptionDestinationType enum value
 27097  	CaptionDestinationTypeSrt = "SRT"
 27098  
 27099  	// CaptionDestinationTypeSmi is a CaptionDestinationType enum value
 27100  	CaptionDestinationTypeSmi = "SMI"
 27101  
 27102  	// CaptionDestinationTypeTeletext is a CaptionDestinationType enum value
 27103  	CaptionDestinationTypeTeletext = "TELETEXT"
 27104  
 27105  	// CaptionDestinationTypeTtml is a CaptionDestinationType enum value
 27106  	CaptionDestinationTypeTtml = "TTML"
 27107  
 27108  	// CaptionDestinationTypeWebvtt is a CaptionDestinationType enum value
 27109  	CaptionDestinationTypeWebvtt = "WEBVTT"
 27110  )
 27111  
 27112  // CaptionDestinationType_Values returns all elements of the CaptionDestinationType enum
 27113  func CaptionDestinationType_Values() []string {
 27114  	return []string{
 27115  		CaptionDestinationTypeBurnIn,
 27116  		CaptionDestinationTypeDvbSub,
 27117  		CaptionDestinationTypeEmbedded,
 27118  		CaptionDestinationTypeEmbeddedPlusScte20,
 27119  		CaptionDestinationTypeImsc,
 27120  		CaptionDestinationTypeScte20PlusEmbedded,
 27121  		CaptionDestinationTypeScc,
 27122  		CaptionDestinationTypeSrt,
 27123  		CaptionDestinationTypeSmi,
 27124  		CaptionDestinationTypeTeletext,
 27125  		CaptionDestinationTypeTtml,
 27126  		CaptionDestinationTypeWebvtt,
 27127  	}
 27128  }
 27129  
 27130  // Use Source (SourceType) to identify the format of your input captions. The
 27131  // service cannot auto-detect caption format.
 27132  const (
 27133  	// CaptionSourceTypeAncillary is a CaptionSourceType enum value
 27134  	CaptionSourceTypeAncillary = "ANCILLARY"
 27135  
 27136  	// CaptionSourceTypeDvbSub is a CaptionSourceType enum value
 27137  	CaptionSourceTypeDvbSub = "DVB_SUB"
 27138  
 27139  	// CaptionSourceTypeEmbedded is a CaptionSourceType enum value
 27140  	CaptionSourceTypeEmbedded = "EMBEDDED"
 27141  
 27142  	// CaptionSourceTypeScte20 is a CaptionSourceType enum value
 27143  	CaptionSourceTypeScte20 = "SCTE20"
 27144  
 27145  	// CaptionSourceTypeScc is a CaptionSourceType enum value
 27146  	CaptionSourceTypeScc = "SCC"
 27147  
 27148  	// CaptionSourceTypeTtml is a CaptionSourceType enum value
 27149  	CaptionSourceTypeTtml = "TTML"
 27150  
 27151  	// CaptionSourceTypeStl is a CaptionSourceType enum value
 27152  	CaptionSourceTypeStl = "STL"
 27153  
 27154  	// CaptionSourceTypeSrt is a CaptionSourceType enum value
 27155  	CaptionSourceTypeSrt = "SRT"
 27156  
 27157  	// CaptionSourceTypeSmi is a CaptionSourceType enum value
 27158  	CaptionSourceTypeSmi = "SMI"
 27159  
 27160  	// CaptionSourceTypeSmpteTt is a CaptionSourceType enum value
 27161  	CaptionSourceTypeSmpteTt = "SMPTE_TT"
 27162  
 27163  	// CaptionSourceTypeTeletext is a CaptionSourceType enum value
 27164  	CaptionSourceTypeTeletext = "TELETEXT"
 27165  
 27166  	// CaptionSourceTypeNullSource is a CaptionSourceType enum value
 27167  	CaptionSourceTypeNullSource = "NULL_SOURCE"
 27168  
 27169  	// CaptionSourceTypeImsc is a CaptionSourceType enum value
 27170  	CaptionSourceTypeImsc = "IMSC"
 27171  
 27172  	// CaptionSourceTypeWebvtt is a CaptionSourceType enum value
 27173  	CaptionSourceTypeWebvtt = "WEBVTT"
 27174  )
 27175  
 27176  // CaptionSourceType_Values returns all elements of the CaptionSourceType enum
 27177  func CaptionSourceType_Values() []string {
 27178  	return []string{
 27179  		CaptionSourceTypeAncillary,
 27180  		CaptionSourceTypeDvbSub,
 27181  		CaptionSourceTypeEmbedded,
 27182  		CaptionSourceTypeScte20,
 27183  		CaptionSourceTypeScc,
 27184  		CaptionSourceTypeTtml,
 27185  		CaptionSourceTypeStl,
 27186  		CaptionSourceTypeSrt,
 27187  		CaptionSourceTypeSmi,
 27188  		CaptionSourceTypeSmpteTt,
 27189  		CaptionSourceTypeTeletext,
 27190  		CaptionSourceTypeNullSource,
 27191  		CaptionSourceTypeImsc,
 27192  		CaptionSourceTypeWebvtt,
 27193  	}
 27194  }
 27195  
 27196  // Disable this setting only when your workflow requires the #EXT-X-ALLOW-CACHE:no
 27197  // tag. Otherwise, keep the default value Enabled (ENABLED) and control caching
 27198  // in your video distribution set up. For example, use the Cache-Control http
 27199  // header.
 27200  const (
 27201  	// CmafClientCacheDisabled is a CmafClientCache enum value
 27202  	CmafClientCacheDisabled = "DISABLED"
 27203  
 27204  	// CmafClientCacheEnabled is a CmafClientCache enum value
 27205  	CmafClientCacheEnabled = "ENABLED"
 27206  )
 27207  
 27208  // CmafClientCache_Values returns all elements of the CmafClientCache enum
 27209  func CmafClientCache_Values() []string {
 27210  	return []string{
 27211  		CmafClientCacheDisabled,
 27212  		CmafClientCacheEnabled,
 27213  	}
 27214  }
 27215  
 27216  // Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist
 27217  // generation.
 27218  const (
 27219  	// CmafCodecSpecificationRfc6381 is a CmafCodecSpecification enum value
 27220  	CmafCodecSpecificationRfc6381 = "RFC_6381"
 27221  
 27222  	// CmafCodecSpecificationRfc4281 is a CmafCodecSpecification enum value
 27223  	CmafCodecSpecificationRfc4281 = "RFC_4281"
 27224  )
 27225  
 27226  // CmafCodecSpecification_Values returns all elements of the CmafCodecSpecification enum
 27227  func CmafCodecSpecification_Values() []string {
 27228  	return []string{
 27229  		CmafCodecSpecificationRfc6381,
 27230  		CmafCodecSpecificationRfc4281,
 27231  	}
 27232  }
 27233  
 27234  // Specify the encryption scheme that you want the service to use when encrypting
 27235  // your CMAF segments. Choose AES-CBC subsample (SAMPLE-AES) or AES_CTR (AES-CTR).
 27236  const (
 27237  	// CmafEncryptionTypeSampleAes is a CmafEncryptionType enum value
 27238  	CmafEncryptionTypeSampleAes = "SAMPLE_AES"
 27239  
 27240  	// CmafEncryptionTypeAesCtr is a CmafEncryptionType enum value
 27241  	CmafEncryptionTypeAesCtr = "AES_CTR"
 27242  )
 27243  
 27244  // CmafEncryptionType_Values returns all elements of the CmafEncryptionType enum
 27245  func CmafEncryptionType_Values() []string {
 27246  	return []string{
 27247  		CmafEncryptionTypeSampleAes,
 27248  		CmafEncryptionTypeAesCtr,
 27249  	}
 27250  }
 27251  
 27252  // Specify whether MediaConvert generates images for trick play. Keep the default
 27253  // value, None (NONE), to not generate any images. Choose Thumbnail (THUMBNAIL)
 27254  // to generate tiled thumbnails. Choose Thumbnail and full frame (THUMBNAIL_AND_FULLFRAME)
 27255  // to generate tiled thumbnails and full-resolution images of single frames.
 27256  // When you enable Write HLS manifest (WriteHlsManifest), MediaConvert creates
 27257  // a child manifest for each set of images that you generate and adds corresponding
 27258  // entries to the parent manifest. When you enable Write DASH manifest (WriteDashManifest),
 27259  // MediaConvert adds an entry in the .mpd manifest for each set of images that
 27260  // you generate. A common application for these images is Roku trick mode. The
 27261  // thumbnails and full-frame images that MediaConvert creates with this feature
 27262  // are compatible with this Roku specification: https://developer.roku.com/docs/developer-program/media-playback/trick-mode/hls-and-dash.md
 27263  const (
 27264  	// CmafImageBasedTrickPlayNone is a CmafImageBasedTrickPlay enum value
 27265  	CmafImageBasedTrickPlayNone = "NONE"
 27266  
 27267  	// CmafImageBasedTrickPlayThumbnail is a CmafImageBasedTrickPlay enum value
 27268  	CmafImageBasedTrickPlayThumbnail = "THUMBNAIL"
 27269  
 27270  	// CmafImageBasedTrickPlayThumbnailAndFullframe is a CmafImageBasedTrickPlay enum value
 27271  	CmafImageBasedTrickPlayThumbnailAndFullframe = "THUMBNAIL_AND_FULLFRAME"
 27272  
 27273  	// CmafImageBasedTrickPlayAdvanced is a CmafImageBasedTrickPlay enum value
 27274  	CmafImageBasedTrickPlayAdvanced = "ADVANCED"
 27275  )
 27276  
 27277  // CmafImageBasedTrickPlay_Values returns all elements of the CmafImageBasedTrickPlay enum
 27278  func CmafImageBasedTrickPlay_Values() []string {
 27279  	return []string{
 27280  		CmafImageBasedTrickPlayNone,
 27281  		CmafImageBasedTrickPlayThumbnail,
 27282  		CmafImageBasedTrickPlayThumbnailAndFullframe,
 27283  		CmafImageBasedTrickPlayAdvanced,
 27284  	}
 27285  }
 27286  
 27287  // When you use DRM with CMAF outputs, choose whether the service writes the
 27288  // 128-bit encryption initialization vector in the HLS and DASH manifests.
 27289  const (
 27290  	// CmafInitializationVectorInManifestInclude is a CmafInitializationVectorInManifest enum value
 27291  	CmafInitializationVectorInManifestInclude = "INCLUDE"
 27292  
 27293  	// CmafInitializationVectorInManifestExclude is a CmafInitializationVectorInManifest enum value
 27294  	CmafInitializationVectorInManifestExclude = "EXCLUDE"
 27295  )
 27296  
 27297  // CmafInitializationVectorInManifest_Values returns all elements of the CmafInitializationVectorInManifest enum
 27298  func CmafInitializationVectorInManifest_Values() []string {
 27299  	return []string{
 27300  		CmafInitializationVectorInManifestInclude,
 27301  		CmafInitializationVectorInManifestExclude,
 27302  	}
 27303  }
 27304  
 27305  // The cadence MediaConvert follows for generating thumbnails. If set to FOLLOW_IFRAME,
 27306  // MediaConvert generates thumbnails for each IDR frame in the output (matching
 27307  // the GOP cadence). If set to FOLLOW_CUSTOM, MediaConvert generates thumbnails
 27308  // according to the interval you specify in thumbnailInterval.
 27309  const (
 27310  	// CmafIntervalCadenceFollowIframe is a CmafIntervalCadence enum value
 27311  	CmafIntervalCadenceFollowIframe = "FOLLOW_IFRAME"
 27312  
 27313  	// CmafIntervalCadenceFollowCustom is a CmafIntervalCadence enum value
 27314  	CmafIntervalCadenceFollowCustom = "FOLLOW_CUSTOM"
 27315  )
 27316  
 27317  // CmafIntervalCadence_Values returns all elements of the CmafIntervalCadence enum
 27318  func CmafIntervalCadence_Values() []string {
 27319  	return []string{
 27320  		CmafIntervalCadenceFollowIframe,
 27321  		CmafIntervalCadenceFollowCustom,
 27322  	}
 27323  }
 27324  
 27325  // Specify whether your DRM encryption key is static or from a key provider
 27326  // that follows the SPEKE standard. For more information about SPEKE, see https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.html.
 27327  const (
 27328  	// CmafKeyProviderTypeSpeke is a CmafKeyProviderType enum value
 27329  	CmafKeyProviderTypeSpeke = "SPEKE"
 27330  
 27331  	// CmafKeyProviderTypeStaticKey is a CmafKeyProviderType enum value
 27332  	CmafKeyProviderTypeStaticKey = "STATIC_KEY"
 27333  )
 27334  
 27335  // CmafKeyProviderType_Values returns all elements of the CmafKeyProviderType enum
 27336  func CmafKeyProviderType_Values() []string {
 27337  	return []string{
 27338  		CmafKeyProviderTypeSpeke,
 27339  		CmafKeyProviderTypeStaticKey,
 27340  	}
 27341  }
 27342  
 27343  // When set to GZIP, compresses HLS playlist.
 27344  const (
 27345  	// CmafManifestCompressionGzip is a CmafManifestCompression enum value
 27346  	CmafManifestCompressionGzip = "GZIP"
 27347  
 27348  	// CmafManifestCompressionNone is a CmafManifestCompression enum value
 27349  	CmafManifestCompressionNone = "NONE"
 27350  )
 27351  
 27352  // CmafManifestCompression_Values returns all elements of the CmafManifestCompression enum
 27353  func CmafManifestCompression_Values() []string {
 27354  	return []string{
 27355  		CmafManifestCompressionGzip,
 27356  		CmafManifestCompressionNone,
 27357  	}
 27358  }
 27359  
 27360  // Indicates whether the output manifest should use floating point values for
 27361  // segment duration.
 27362  const (
 27363  	// CmafManifestDurationFormatFloatingPoint is a CmafManifestDurationFormat enum value
 27364  	CmafManifestDurationFormatFloatingPoint = "FLOATING_POINT"
 27365  
 27366  	// CmafManifestDurationFormatInteger is a CmafManifestDurationFormat enum value
 27367  	CmafManifestDurationFormatInteger = "INTEGER"
 27368  )
 27369  
 27370  // CmafManifestDurationFormat_Values returns all elements of the CmafManifestDurationFormat enum
 27371  func CmafManifestDurationFormat_Values() []string {
 27372  	return []string{
 27373  		CmafManifestDurationFormatFloatingPoint,
 27374  		CmafManifestDurationFormatInteger,
 27375  	}
 27376  }
 27377  
 27378  // Specify whether your DASH profile is on-demand or main. When you choose Main
 27379  // profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011
 27380  // in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE),
 27381  // the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd.
 27382  // When you choose On-demand, you must also set the output group setting Segment
 27383  // control (SegmentControl) to Single file (SINGLE_FILE).
 27384  const (
 27385  	// CmafMpdProfileMainProfile is a CmafMpdProfile enum value
 27386  	CmafMpdProfileMainProfile = "MAIN_PROFILE"
 27387  
 27388  	// CmafMpdProfileOnDemandProfile is a CmafMpdProfile enum value
 27389  	CmafMpdProfileOnDemandProfile = "ON_DEMAND_PROFILE"
 27390  )
 27391  
 27392  // CmafMpdProfile_Values returns all elements of the CmafMpdProfile enum
 27393  func CmafMpdProfile_Values() []string {
 27394  	return []string{
 27395  		CmafMpdProfileMainProfile,
 27396  		CmafMpdProfileOnDemandProfile,
 27397  	}
 27398  }
 27399  
 27400  // Use this setting only when your output video stream has B-frames, which causes
 27401  // the initial presentation time stamp (PTS) to be offset from the initial decode
 27402  // time stamp (DTS). Specify how MediaConvert handles PTS when writing time
 27403  // stamps in output DASH manifests. Choose Match initial PTS (MATCH_INITIAL_PTS)
 27404  // when you want MediaConvert to use the initial PTS as the first time stamp
 27405  // in the manifest. Choose Zero-based (ZERO_BASED) to have MediaConvert ignore
 27406  // the initial PTS in the video stream and instead write the initial time stamp
 27407  // as zero in the manifest. For outputs that don't have B-frames, the time stamps
 27408  // in your DASH manifests start at zero regardless of your choice here.
 27409  const (
 27410  	// CmafPtsOffsetHandlingForBFramesZeroBased is a CmafPtsOffsetHandlingForBFrames enum value
 27411  	CmafPtsOffsetHandlingForBFramesZeroBased = "ZERO_BASED"
 27412  
 27413  	// CmafPtsOffsetHandlingForBFramesMatchInitialPts is a CmafPtsOffsetHandlingForBFrames enum value
 27414  	CmafPtsOffsetHandlingForBFramesMatchInitialPts = "MATCH_INITIAL_PTS"
 27415  )
 27416  
 27417  // CmafPtsOffsetHandlingForBFrames_Values returns all elements of the CmafPtsOffsetHandlingForBFrames enum
 27418  func CmafPtsOffsetHandlingForBFrames_Values() []string {
 27419  	return []string{
 27420  		CmafPtsOffsetHandlingForBFramesZeroBased,
 27421  		CmafPtsOffsetHandlingForBFramesMatchInitialPts,
 27422  	}
 27423  }
 27424  
 27425  // When set to SINGLE_FILE, a single output file is generated, which is internally
 27426  // segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES,
 27427  // separate segment files will be created.
 27428  const (
 27429  	// CmafSegmentControlSingleFile is a CmafSegmentControl enum value
 27430  	CmafSegmentControlSingleFile = "SINGLE_FILE"
 27431  
 27432  	// CmafSegmentControlSegmentedFiles is a CmafSegmentControl enum value
 27433  	CmafSegmentControlSegmentedFiles = "SEGMENTED_FILES"
 27434  )
 27435  
 27436  // CmafSegmentControl_Values returns all elements of the CmafSegmentControl enum
 27437  func CmafSegmentControl_Values() []string {
 27438  	return []string{
 27439  		CmafSegmentControlSingleFile,
 27440  		CmafSegmentControlSegmentedFiles,
 27441  	}
 27442  }
 27443  
 27444  // Specify how you want MediaConvert to determine the segment length. Choose
 27445  // Exact (EXACT) to have the encoder use the exact length that you specify with
 27446  // the setting Segment length (SegmentLength). This might result in extra I-frames.
 27447  // Choose Multiple of GOP (GOP_MULTIPLE) to have the encoder round up the segment
 27448  // lengths to match the next GOP boundary.
 27449  const (
 27450  	// CmafSegmentLengthControlExact is a CmafSegmentLengthControl enum value
 27451  	CmafSegmentLengthControlExact = "EXACT"
 27452  
 27453  	// CmafSegmentLengthControlGopMultiple is a CmafSegmentLengthControl enum value
 27454  	CmafSegmentLengthControlGopMultiple = "GOP_MULTIPLE"
 27455  )
 27456  
 27457  // CmafSegmentLengthControl_Values returns all elements of the CmafSegmentLengthControl enum
 27458  func CmafSegmentLengthControl_Values() []string {
 27459  	return []string{
 27460  		CmafSegmentLengthControlExact,
 27461  		CmafSegmentLengthControlGopMultiple,
 27462  	}
 27463  }
 27464  
 27465  // Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag
 27466  // of variant manifest.
 27467  const (
 27468  	// CmafStreamInfResolutionInclude is a CmafStreamInfResolution enum value
 27469  	CmafStreamInfResolutionInclude = "INCLUDE"
 27470  
 27471  	// CmafStreamInfResolutionExclude is a CmafStreamInfResolution enum value
 27472  	CmafStreamInfResolutionExclude = "EXCLUDE"
 27473  )
 27474  
 27475  // CmafStreamInfResolution_Values returns all elements of the CmafStreamInfResolution enum
 27476  func CmafStreamInfResolution_Values() []string {
 27477  	return []string{
 27478  		CmafStreamInfResolutionInclude,
 27479  		CmafStreamInfResolutionExclude,
 27480  	}
 27481  }
 27482  
 27483  // When set to LEGACY, the segment target duration is always rounded up to the
 27484  // nearest integer value above its current value in seconds. When set to SPEC\\_COMPLIANT,
 27485  // the segment target duration is rounded up to the nearest integer value if
 27486  // fraction seconds are greater than or equal to 0.5 (>= 0.5) and rounded down
 27487  // if less than 0.5 (< 0.5). You may need to use LEGACY if your client needs
 27488  // to ensure that the target duration is always longer than the actual duration
 27489  // of the segment. Some older players may experience interrupted playback when
 27490  // the actual duration of a track in a segment is longer than the target duration.
 27491  const (
 27492  	// CmafTargetDurationCompatibilityModeLegacy is a CmafTargetDurationCompatibilityMode enum value
 27493  	CmafTargetDurationCompatibilityModeLegacy = "LEGACY"
 27494  
 27495  	// CmafTargetDurationCompatibilityModeSpecCompliant is a CmafTargetDurationCompatibilityMode enum value
 27496  	CmafTargetDurationCompatibilityModeSpecCompliant = "SPEC_COMPLIANT"
 27497  )
 27498  
 27499  // CmafTargetDurationCompatibilityMode_Values returns all elements of the CmafTargetDurationCompatibilityMode enum
 27500  func CmafTargetDurationCompatibilityMode_Values() []string {
 27501  	return []string{
 27502  		CmafTargetDurationCompatibilityModeLegacy,
 27503  		CmafTargetDurationCompatibilityModeSpecCompliant,
 27504  	}
 27505  }
 27506  
 27507  // When set to ENABLED, a DASH MPD manifest will be generated for this output.
 27508  const (
 27509  	// CmafWriteDASHManifestDisabled is a CmafWriteDASHManifest enum value
 27510  	CmafWriteDASHManifestDisabled = "DISABLED"
 27511  
 27512  	// CmafWriteDASHManifestEnabled is a CmafWriteDASHManifest enum value
 27513  	CmafWriteDASHManifestEnabled = "ENABLED"
 27514  )
 27515  
 27516  // CmafWriteDASHManifest_Values returns all elements of the CmafWriteDASHManifest enum
 27517  func CmafWriteDASHManifest_Values() []string {
 27518  	return []string{
 27519  		CmafWriteDASHManifestDisabled,
 27520  		CmafWriteDASHManifestEnabled,
 27521  	}
 27522  }
 27523  
 27524  // When set to ENABLED, an Apple HLS manifest will be generated for this output.
 27525  const (
 27526  	// CmafWriteHLSManifestDisabled is a CmafWriteHLSManifest enum value
 27527  	CmafWriteHLSManifestDisabled = "DISABLED"
 27528  
 27529  	// CmafWriteHLSManifestEnabled is a CmafWriteHLSManifest enum value
 27530  	CmafWriteHLSManifestEnabled = "ENABLED"
 27531  )
 27532  
 27533  // CmafWriteHLSManifest_Values returns all elements of the CmafWriteHLSManifest enum
 27534  func CmafWriteHLSManifest_Values() []string {
 27535  	return []string{
 27536  		CmafWriteHLSManifestDisabled,
 27537  		CmafWriteHLSManifestEnabled,
 27538  	}
 27539  }
 27540  
 27541  // When you enable Precise segment duration in DASH manifests (writeSegmentTimelineInRepresentation),
 27542  // your DASH manifest shows precise segment durations. The segment duration
 27543  // information appears inside the SegmentTimeline element, inside SegmentTemplate
 27544  // at the Representation level. When this feature isn't enabled, the segment
 27545  // durations in your DASH manifest are approximate. The segment duration information
 27546  // appears in the duration attribute of the SegmentTemplate element.
 27547  const (
 27548  	// CmafWriteSegmentTimelineInRepresentationEnabled is a CmafWriteSegmentTimelineInRepresentation enum value
 27549  	CmafWriteSegmentTimelineInRepresentationEnabled = "ENABLED"
 27550  
 27551  	// CmafWriteSegmentTimelineInRepresentationDisabled is a CmafWriteSegmentTimelineInRepresentation enum value
 27552  	CmafWriteSegmentTimelineInRepresentationDisabled = "DISABLED"
 27553  )
 27554  
 27555  // CmafWriteSegmentTimelineInRepresentation_Values returns all elements of the CmafWriteSegmentTimelineInRepresentation enum
 27556  func CmafWriteSegmentTimelineInRepresentation_Values() []string {
 27557  	return []string{
 27558  		CmafWriteSegmentTimelineInRepresentationEnabled,
 27559  		CmafWriteSegmentTimelineInRepresentationDisabled,
 27560  	}
 27561  }
 27562  
 27563  // Specify this setting only when your output will be consumed by a downstream
 27564  // repackaging workflow that is sensitive to very small duration differences
 27565  // between video and audio. For this situation, choose Match video duration
 27566  // (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default
 27567  // codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration,
 27568  // MediaConvert pads the output audio streams with silence or trims them to
 27569  // ensure that the total duration of each audio stream is at least as long as
 27570  // the total duration of the video stream. After padding or trimming, the audio
 27571  // stream duration is no more than one frame longer than the video stream. MediaConvert
 27572  // applies audio padding or trimming only to the end of the last segment of
 27573  // the output. For unsegmented outputs, MediaConvert adds padding only to the
 27574  // end of the file. When you keep the default value, any minor discrepancies
 27575  // between audio and video duration will depend on your output audio codec.
 27576  const (
 27577  	// CmfcAudioDurationDefaultCodecDuration is a CmfcAudioDuration enum value
 27578  	CmfcAudioDurationDefaultCodecDuration = "DEFAULT_CODEC_DURATION"
 27579  
 27580  	// CmfcAudioDurationMatchVideoDuration is a CmfcAudioDuration enum value
 27581  	CmfcAudioDurationMatchVideoDuration = "MATCH_VIDEO_DURATION"
 27582  )
 27583  
 27584  // CmfcAudioDuration_Values returns all elements of the CmfcAudioDuration enum
 27585  func CmfcAudioDuration_Values() []string {
 27586  	return []string{
 27587  		CmfcAudioDurationDefaultCodecDuration,
 27588  		CmfcAudioDurationMatchVideoDuration,
 27589  	}
 27590  }
 27591  
 27592  // Use this setting to control the values that MediaConvert puts in your HLS
 27593  // parent playlist to control how the client player selects which audio track
 27594  // to play. The other options for this setting determine the values that MediaConvert
 27595  // writes for the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry
 27596  // for the audio variant. For more information about these attributes, see the
 27597  // Apple documentation article https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist.
 27598  // Choose Alternate audio, auto select, default (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT)
 27599  // to set DEFAULT=YES and AUTOSELECT=YES. Choose this value for only one variant
 27600  // in your output group. Choose Alternate audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT)
 27601  // to set DEFAULT=NO and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select
 27602  // to set DEFAULT=NO and AUTOSELECT=NO. When you don't specify a value for this
 27603  // setting, MediaConvert defaults to Alternate audio, auto select, default.
 27604  // When there is more than one variant in your output group, you must explicitly
 27605  // choose a value for this setting.
 27606  const (
 27607  	// CmfcAudioTrackTypeAlternateAudioAutoSelectDefault is a CmfcAudioTrackType enum value
 27608  	CmfcAudioTrackTypeAlternateAudioAutoSelectDefault = "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT"
 27609  
 27610  	// CmfcAudioTrackTypeAlternateAudioAutoSelect is a CmfcAudioTrackType enum value
 27611  	CmfcAudioTrackTypeAlternateAudioAutoSelect = "ALTERNATE_AUDIO_AUTO_SELECT"
 27612  
 27613  	// CmfcAudioTrackTypeAlternateAudioNotAutoSelect is a CmfcAudioTrackType enum value
 27614  	CmfcAudioTrackTypeAlternateAudioNotAutoSelect = "ALTERNATE_AUDIO_NOT_AUTO_SELECT"
 27615  )
 27616  
 27617  // CmfcAudioTrackType_Values returns all elements of the CmfcAudioTrackType enum
 27618  func CmfcAudioTrackType_Values() []string {
 27619  	return []string{
 27620  		CmfcAudioTrackTypeAlternateAudioAutoSelectDefault,
 27621  		CmfcAudioTrackTypeAlternateAudioAutoSelect,
 27622  		CmfcAudioTrackTypeAlternateAudioNotAutoSelect,
 27623  	}
 27624  }
 27625  
 27626  // Specify whether to flag this audio track as descriptive video service (DVS)
 27627  // in your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes
 27628  // the parameter CHARACTERISTICS="public.accessibility.describes-video" in the
 27629  // EXT-X-MEDIA entry for this track. When you keep the default choice, Don't
 27630  // flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can
 27631  // help with accessibility on Apple devices. For more information, see the Apple
 27632  // documentation.
 27633  const (
 27634  	// CmfcDescriptiveVideoServiceFlagDontFlag is a CmfcDescriptiveVideoServiceFlag enum value
 27635  	CmfcDescriptiveVideoServiceFlagDontFlag = "DONT_FLAG"
 27636  
 27637  	// CmfcDescriptiveVideoServiceFlagFlag is a CmfcDescriptiveVideoServiceFlag enum value
 27638  	CmfcDescriptiveVideoServiceFlagFlag = "FLAG"
 27639  )
 27640  
 27641  // CmfcDescriptiveVideoServiceFlag_Values returns all elements of the CmfcDescriptiveVideoServiceFlag enum
 27642  func CmfcDescriptiveVideoServiceFlag_Values() []string {
 27643  	return []string{
 27644  		CmfcDescriptiveVideoServiceFlagDontFlag,
 27645  		CmfcDescriptiveVideoServiceFlagFlag,
 27646  	}
 27647  }
 27648  
 27649  // Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest
 27650  // that lists only the I-frames for this rendition, in addition to your regular
 27651  // manifest for this rendition. You might use this manifest as part of a workflow
 27652  // that creates preview functions for your video. MediaConvert adds both the
 27653  // I-frame only child manifest and the regular child manifest to the parent
 27654  // manifest. When you don't need the I-frame only child manifest, keep the default
 27655  // value Exclude (EXCLUDE).
 27656  const (
 27657  	// CmfcIFrameOnlyManifestInclude is a CmfcIFrameOnlyManifest enum value
 27658  	CmfcIFrameOnlyManifestInclude = "INCLUDE"
 27659  
 27660  	// CmfcIFrameOnlyManifestExclude is a CmfcIFrameOnlyManifest enum value
 27661  	CmfcIFrameOnlyManifestExclude = "EXCLUDE"
 27662  )
 27663  
 27664  // CmfcIFrameOnlyManifest_Values returns all elements of the CmfcIFrameOnlyManifest enum
 27665  func CmfcIFrameOnlyManifest_Values() []string {
 27666  	return []string{
 27667  		CmfcIFrameOnlyManifestInclude,
 27668  		CmfcIFrameOnlyManifestExclude,
 27669  	}
 27670  }
 27671  
 27672  // Use this setting only when you specify SCTE-35 markers from ESAM. Choose
 27673  // INSERT to put SCTE-35 markers in this output at the insertion points that
 27674  // you specify in an ESAM XML document. Provide the document in the setting
 27675  // SCC XML (sccXml).
 27676  const (
 27677  	// CmfcScte35EsamInsert is a CmfcScte35Esam enum value
 27678  	CmfcScte35EsamInsert = "INSERT"
 27679  
 27680  	// CmfcScte35EsamNone is a CmfcScte35Esam enum value
 27681  	CmfcScte35EsamNone = "NONE"
 27682  )
 27683  
 27684  // CmfcScte35Esam_Values returns all elements of the CmfcScte35Esam enum
 27685  func CmfcScte35Esam_Values() []string {
 27686  	return []string{
 27687  		CmfcScte35EsamInsert,
 27688  		CmfcScte35EsamNone,
 27689  	}
 27690  }
 27691  
 27692  // Ignore this setting unless you have SCTE-35 markers in your input video file.
 27693  // Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear
 27694  // in your input to also appear in this output. Choose None (NONE) if you don't
 27695  // want those SCTE-35 markers in this output.
 27696  const (
 27697  	// CmfcScte35SourcePassthrough is a CmfcScte35Source enum value
 27698  	CmfcScte35SourcePassthrough = "PASSTHROUGH"
 27699  
 27700  	// CmfcScte35SourceNone is a CmfcScte35Source enum value
 27701  	CmfcScte35SourceNone = "NONE"
 27702  )
 27703  
 27704  // CmfcScte35Source_Values returns all elements of the CmfcScte35Source enum
 27705  func CmfcScte35Source_Values() []string {
 27706  	return []string{
 27707  		CmfcScte35SourcePassthrough,
 27708  		CmfcScte35SourceNone,
 27709  	}
 27710  }
 27711  
 27712  // Choose Insert (INSERT) for this setting to include color metadata in this
 27713  // output. Choose Ignore (IGNORE) to exclude color metadata from this output.
 27714  // If you don't specify a value, the service sets this to Insert by default.
 27715  const (
 27716  	// ColorMetadataIgnore is a ColorMetadata enum value
 27717  	ColorMetadataIgnore = "IGNORE"
 27718  
 27719  	// ColorMetadataInsert is a ColorMetadata enum value
 27720  	ColorMetadataInsert = "INSERT"
 27721  )
 27722  
 27723  // ColorMetadata_Values returns all elements of the ColorMetadata enum
 27724  func ColorMetadata_Values() []string {
 27725  	return []string{
 27726  		ColorMetadataIgnore,
 27727  		ColorMetadataInsert,
 27728  	}
 27729  }
 27730  
 27731  // If your input video has accurate color space metadata, or if you don't know
 27732  // about color space, leave this set to the default value Follow (FOLLOW). The
 27733  // service will automatically detect your input color space. If your input video
 27734  // has metadata indicating the wrong color space, specify the accurate color
 27735  // space here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering
 27736  // Display Color Volume static metadata isn't present in your video stream,
 27737  // or if that metadata is present but not accurate, choose Force HDR 10 (FORCE_HDR10)
 27738  // here and specify correct values in the input HDR 10 metadata (Hdr10Metadata)
 27739  // settings. For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr.
 27740  const (
 27741  	// ColorSpaceFollow is a ColorSpace enum value
 27742  	ColorSpaceFollow = "FOLLOW"
 27743  
 27744  	// ColorSpaceRec601 is a ColorSpace enum value
 27745  	ColorSpaceRec601 = "REC_601"
 27746  
 27747  	// ColorSpaceRec709 is a ColorSpace enum value
 27748  	ColorSpaceRec709 = "REC_709"
 27749  
 27750  	// ColorSpaceHdr10 is a ColorSpace enum value
 27751  	ColorSpaceHdr10 = "HDR10"
 27752  
 27753  	// ColorSpaceHlg2020 is a ColorSpace enum value
 27754  	ColorSpaceHlg2020 = "HLG_2020"
 27755  )
 27756  
 27757  // ColorSpace_Values returns all elements of the ColorSpace enum
 27758  func ColorSpace_Values() []string {
 27759  	return []string{
 27760  		ColorSpaceFollow,
 27761  		ColorSpaceRec601,
 27762  		ColorSpaceRec709,
 27763  		ColorSpaceHdr10,
 27764  		ColorSpaceHlg2020,
 27765  	}
 27766  }
 27767  
 27768  // Specify the color space you want for this output. The service supports conversion
 27769  // between HDR formats, between SDR formats, from SDR to HDR, and from HDR to
 27770  // SDR. SDR to HDR conversion doesn't upgrade the dynamic range. The converted
 27771  // video has an HDR format, but visually appears the same as an unconverted
 27772  // output. HDR to SDR conversion uses Elemental tone mapping technology to approximate
 27773  // the outcome of manually regrading from HDR to SDR.
 27774  const (
 27775  	// ColorSpaceConversionNone is a ColorSpaceConversion enum value
 27776  	ColorSpaceConversionNone = "NONE"
 27777  
 27778  	// ColorSpaceConversionForce601 is a ColorSpaceConversion enum value
 27779  	ColorSpaceConversionForce601 = "FORCE_601"
 27780  
 27781  	// ColorSpaceConversionForce709 is a ColorSpaceConversion enum value
 27782  	ColorSpaceConversionForce709 = "FORCE_709"
 27783  
 27784  	// ColorSpaceConversionForceHdr10 is a ColorSpaceConversion enum value
 27785  	ColorSpaceConversionForceHdr10 = "FORCE_HDR10"
 27786  
 27787  	// ColorSpaceConversionForceHlg2020 is a ColorSpaceConversion enum value
 27788  	ColorSpaceConversionForceHlg2020 = "FORCE_HLG_2020"
 27789  )
 27790  
 27791  // ColorSpaceConversion_Values returns all elements of the ColorSpaceConversion enum
 27792  func ColorSpaceConversion_Values() []string {
 27793  	return []string{
 27794  		ColorSpaceConversionNone,
 27795  		ColorSpaceConversionForce601,
 27796  		ColorSpaceConversionForce709,
 27797  		ColorSpaceConversionForceHdr10,
 27798  		ColorSpaceConversionForceHlg2020,
 27799  	}
 27800  }
 27801  
 27802  // There are two sources for color metadata, the input file and the job input
 27803  // settings Color space (ColorSpace) and HDR master display information settings(Hdr10Metadata).
 27804  // The Color space usage setting determines which takes precedence. Choose Force
 27805  // (FORCE) to use color metadata from the input job settings. If you don't specify
 27806  // values for those settings, the service defaults to using metadata from your
 27807  // input. FALLBACK - Choose Fallback (FALLBACK) to use color metadata from the
 27808  // source when it is present. If there's no color metadata in your input file,
 27809  // the service defaults to using values you specify in the input settings.
 27810  const (
 27811  	// ColorSpaceUsageForce is a ColorSpaceUsage enum value
 27812  	ColorSpaceUsageForce = "FORCE"
 27813  
 27814  	// ColorSpaceUsageFallback is a ColorSpaceUsage enum value
 27815  	ColorSpaceUsageFallback = "FALLBACK"
 27816  )
 27817  
 27818  // ColorSpaceUsage_Values returns all elements of the ColorSpaceUsage enum
 27819  func ColorSpaceUsage_Values() []string {
 27820  	return []string{
 27821  		ColorSpaceUsageForce,
 27822  		ColorSpaceUsageFallback,
 27823  	}
 27824  }
 27825  
 27826  // The length of the term of your reserved queue pricing plan commitment.
 27827  const (
 27828  	// CommitmentOneYear is a Commitment enum value
 27829  	CommitmentOneYear = "ONE_YEAR"
 27830  )
 27831  
 27832  // Commitment_Values returns all elements of the Commitment enum
 27833  func Commitment_Values() []string {
 27834  	return []string{
 27835  		CommitmentOneYear,
 27836  	}
 27837  }
 27838  
 27839  // Container for this output. Some containers require a container settings object.
 27840  // If not specified, the default object will be created.
 27841  const (
 27842  	// ContainerTypeF4v is a ContainerType enum value
 27843  	ContainerTypeF4v = "F4V"
 27844  
 27845  	// ContainerTypeIsmv is a ContainerType enum value
 27846  	ContainerTypeIsmv = "ISMV"
 27847  
 27848  	// ContainerTypeM2ts is a ContainerType enum value
 27849  	ContainerTypeM2ts = "M2TS"
 27850  
 27851  	// ContainerTypeM3u8 is a ContainerType enum value
 27852  	ContainerTypeM3u8 = "M3U8"
 27853  
 27854  	// ContainerTypeCmfc is a ContainerType enum value
 27855  	ContainerTypeCmfc = "CMFC"
 27856  
 27857  	// ContainerTypeMov is a ContainerType enum value
 27858  	ContainerTypeMov = "MOV"
 27859  
 27860  	// ContainerTypeMp4 is a ContainerType enum value
 27861  	ContainerTypeMp4 = "MP4"
 27862  
 27863  	// ContainerTypeMpd is a ContainerType enum value
 27864  	ContainerTypeMpd = "MPD"
 27865  
 27866  	// ContainerTypeMxf is a ContainerType enum value
 27867  	ContainerTypeMxf = "MXF"
 27868  
 27869  	// ContainerTypeWebm is a ContainerType enum value
 27870  	ContainerTypeWebm = "WEBM"
 27871  
 27872  	// ContainerTypeRaw is a ContainerType enum value
 27873  	ContainerTypeRaw = "RAW"
 27874  )
 27875  
 27876  // ContainerType_Values returns all elements of the ContainerType enum
 27877  func ContainerType_Values() []string {
 27878  	return []string{
 27879  		ContainerTypeF4v,
 27880  		ContainerTypeIsmv,
 27881  		ContainerTypeM2ts,
 27882  		ContainerTypeM3u8,
 27883  		ContainerTypeCmfc,
 27884  		ContainerTypeMov,
 27885  		ContainerTypeMp4,
 27886  		ContainerTypeMpd,
 27887  		ContainerTypeMxf,
 27888  		ContainerTypeWebm,
 27889  		ContainerTypeRaw,
 27890  	}
 27891  }
 27892  
 27893  // The action to take on copy and redistribution control XDS packets. If you
 27894  // select PASSTHROUGH, packets will not be changed. If you select STRIP, any
 27895  // packets will be removed in output captions.
 27896  const (
 27897  	// CopyProtectionActionPassthrough is a CopyProtectionAction enum value
 27898  	CopyProtectionActionPassthrough = "PASSTHROUGH"
 27899  
 27900  	// CopyProtectionActionStrip is a CopyProtectionAction enum value
 27901  	CopyProtectionActionStrip = "STRIP"
 27902  )
 27903  
 27904  // CopyProtectionAction_Values returns all elements of the CopyProtectionAction enum
 27905  func CopyProtectionAction_Values() []string {
 27906  	return []string{
 27907  		CopyProtectionActionPassthrough,
 27908  		CopyProtectionActionStrip,
 27909  	}
 27910  }
 27911  
 27912  // Use this setting only when your audio codec is a Dolby one (AC3, EAC3, or
 27913  // Atmos) and your downstream workflow requires that your DASH manifest use
 27914  // the Dolby channel configuration tag, rather than the MPEG one. For example,
 27915  // you might need to use this to make dynamic ad insertion work. Specify which
 27916  // audio channel configuration scheme ID URI MediaConvert writes in your DASH
 27917  // manifest. Keep the default value, MPEG channel configuration (MPEG_CHANNEL_CONFIGURATION),
 27918  // to have MediaConvert write this: urn:mpeg:mpegB:cicp:ChannelConfiguration.
 27919  // Choose Dolby channel configuration (DOLBY_CHANNEL_CONFIGURATION) to have
 27920  // MediaConvert write this instead: tag:dolby.com,2014:dash:audio_channel_configuration:2011.
 27921  const (
 27922  	// DashIsoGroupAudioChannelConfigSchemeIdUriMpegChannelConfiguration is a DashIsoGroupAudioChannelConfigSchemeIdUri enum value
 27923  	DashIsoGroupAudioChannelConfigSchemeIdUriMpegChannelConfiguration = "MPEG_CHANNEL_CONFIGURATION"
 27924  
 27925  	// DashIsoGroupAudioChannelConfigSchemeIdUriDolbyChannelConfiguration is a DashIsoGroupAudioChannelConfigSchemeIdUri enum value
 27926  	DashIsoGroupAudioChannelConfigSchemeIdUriDolbyChannelConfiguration = "DOLBY_CHANNEL_CONFIGURATION"
 27927  )
 27928  
 27929  // DashIsoGroupAudioChannelConfigSchemeIdUri_Values returns all elements of the DashIsoGroupAudioChannelConfigSchemeIdUri enum
 27930  func DashIsoGroupAudioChannelConfigSchemeIdUri_Values() []string {
 27931  	return []string{
 27932  		DashIsoGroupAudioChannelConfigSchemeIdUriMpegChannelConfiguration,
 27933  		DashIsoGroupAudioChannelConfigSchemeIdUriDolbyChannelConfiguration,
 27934  	}
 27935  }
 27936  
 27937  // Supports HbbTV specification as indicated
 27938  const (
 27939  	// DashIsoHbbtvComplianceHbbtv15 is a DashIsoHbbtvCompliance enum value
 27940  	DashIsoHbbtvComplianceHbbtv15 = "HBBTV_1_5"
 27941  
 27942  	// DashIsoHbbtvComplianceNone is a DashIsoHbbtvCompliance enum value
 27943  	DashIsoHbbtvComplianceNone = "NONE"
 27944  )
 27945  
 27946  // DashIsoHbbtvCompliance_Values returns all elements of the DashIsoHbbtvCompliance enum
 27947  func DashIsoHbbtvCompliance_Values() []string {
 27948  	return []string{
 27949  		DashIsoHbbtvComplianceHbbtv15,
 27950  		DashIsoHbbtvComplianceNone,
 27951  	}
 27952  }
 27953  
 27954  // Specify whether MediaConvert generates images for trick play. Keep the default
 27955  // value, None (NONE), to not generate any images. Choose Thumbnail (THUMBNAIL)
 27956  // to generate tiled thumbnails. Choose Thumbnail and full frame (THUMBNAIL_AND_FULLFRAME)
 27957  // to generate tiled thumbnails and full-resolution images of single frames.
 27958  // MediaConvert adds an entry in the .mpd manifest for each set of images that
 27959  // you generate. A common application for these images is Roku trick mode. The
 27960  // thumbnails and full-frame images that MediaConvert creates with this feature
 27961  // are compatible with this Roku specification: https://developer.roku.com/docs/developer-program/media-playback/trick-mode/hls-and-dash.md
 27962  const (
 27963  	// DashIsoImageBasedTrickPlayNone is a DashIsoImageBasedTrickPlay enum value
 27964  	DashIsoImageBasedTrickPlayNone = "NONE"
 27965  
 27966  	// DashIsoImageBasedTrickPlayThumbnail is a DashIsoImageBasedTrickPlay enum value
 27967  	DashIsoImageBasedTrickPlayThumbnail = "THUMBNAIL"
 27968  
 27969  	// DashIsoImageBasedTrickPlayThumbnailAndFullframe is a DashIsoImageBasedTrickPlay enum value
 27970  	DashIsoImageBasedTrickPlayThumbnailAndFullframe = "THUMBNAIL_AND_FULLFRAME"
 27971  
 27972  	// DashIsoImageBasedTrickPlayAdvanced is a DashIsoImageBasedTrickPlay enum value
 27973  	DashIsoImageBasedTrickPlayAdvanced = "ADVANCED"
 27974  )
 27975  
 27976  // DashIsoImageBasedTrickPlay_Values returns all elements of the DashIsoImageBasedTrickPlay enum
 27977  func DashIsoImageBasedTrickPlay_Values() []string {
 27978  	return []string{
 27979  		DashIsoImageBasedTrickPlayNone,
 27980  		DashIsoImageBasedTrickPlayThumbnail,
 27981  		DashIsoImageBasedTrickPlayThumbnailAndFullframe,
 27982  		DashIsoImageBasedTrickPlayAdvanced,
 27983  	}
 27984  }
 27985  
 27986  // The cadence MediaConvert follows for generating thumbnails. If set to FOLLOW_IFRAME,
 27987  // MediaConvert generates thumbnails for each IDR frame in the output (matching
 27988  // the GOP cadence). If set to FOLLOW_CUSTOM, MediaConvert generates thumbnails
 27989  // according to the interval you specify in thumbnailInterval.
 27990  const (
 27991  	// DashIsoIntervalCadenceFollowIframe is a DashIsoIntervalCadence enum value
 27992  	DashIsoIntervalCadenceFollowIframe = "FOLLOW_IFRAME"
 27993  
 27994  	// DashIsoIntervalCadenceFollowCustom is a DashIsoIntervalCadence enum value
 27995  	DashIsoIntervalCadenceFollowCustom = "FOLLOW_CUSTOM"
 27996  )
 27997  
 27998  // DashIsoIntervalCadence_Values returns all elements of the DashIsoIntervalCadence enum
 27999  func DashIsoIntervalCadence_Values() []string {
 28000  	return []string{
 28001  		DashIsoIntervalCadenceFollowIframe,
 28002  		DashIsoIntervalCadenceFollowCustom,
 28003  	}
 28004  }
 28005  
 28006  // Specify whether your DASH profile is on-demand or main. When you choose Main
 28007  // profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011
 28008  // in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE),
 28009  // the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd.
 28010  // When you choose On-demand, you must also set the output group setting Segment
 28011  // control (SegmentControl) to Single file (SINGLE_FILE).
 28012  const (
 28013  	// DashIsoMpdProfileMainProfile is a DashIsoMpdProfile enum value
 28014  	DashIsoMpdProfileMainProfile = "MAIN_PROFILE"
 28015  
 28016  	// DashIsoMpdProfileOnDemandProfile is a DashIsoMpdProfile enum value
 28017  	DashIsoMpdProfileOnDemandProfile = "ON_DEMAND_PROFILE"
 28018  )
 28019  
 28020  // DashIsoMpdProfile_Values returns all elements of the DashIsoMpdProfile enum
 28021  func DashIsoMpdProfile_Values() []string {
 28022  	return []string{
 28023  		DashIsoMpdProfileMainProfile,
 28024  		DashIsoMpdProfileOnDemandProfile,
 28025  	}
 28026  }
 28027  
 28028  // This setting can improve the compatibility of your output with video players
 28029  // on obsolete devices. It applies only to DASH H.264 outputs with DRM encryption.
 28030  // Choose Unencrypted SEI (UNENCRYPTED_SEI) only to correct problems with playback
 28031  // on older devices. Otherwise, keep the default setting CENC v1 (CENC_V1).
 28032  // If you choose Unencrypted SEI, for that output, the service will exclude
 28033  // the access unit delimiter and will leave the SEI NAL units unencrypted.
 28034  const (
 28035  	// DashIsoPlaybackDeviceCompatibilityCencV1 is a DashIsoPlaybackDeviceCompatibility enum value
 28036  	DashIsoPlaybackDeviceCompatibilityCencV1 = "CENC_V1"
 28037  
 28038  	// DashIsoPlaybackDeviceCompatibilityUnencryptedSei is a DashIsoPlaybackDeviceCompatibility enum value
 28039  	DashIsoPlaybackDeviceCompatibilityUnencryptedSei = "UNENCRYPTED_SEI"
 28040  )
 28041  
 28042  // DashIsoPlaybackDeviceCompatibility_Values returns all elements of the DashIsoPlaybackDeviceCompatibility enum
 28043  func DashIsoPlaybackDeviceCompatibility_Values() []string {
 28044  	return []string{
 28045  		DashIsoPlaybackDeviceCompatibilityCencV1,
 28046  		DashIsoPlaybackDeviceCompatibilityUnencryptedSei,
 28047  	}
 28048  }
 28049  
 28050  // Use this setting only when your output video stream has B-frames, which causes
 28051  // the initial presentation time stamp (PTS) to be offset from the initial decode
 28052  // time stamp (DTS). Specify how MediaConvert handles PTS when writing time
 28053  // stamps in output DASH manifests. Choose Match initial PTS (MATCH_INITIAL_PTS)
 28054  // when you want MediaConvert to use the initial PTS as the first time stamp
 28055  // in the manifest. Choose Zero-based (ZERO_BASED) to have MediaConvert ignore
 28056  // the initial PTS in the video stream and instead write the initial time stamp
 28057  // as zero in the manifest. For outputs that don't have B-frames, the time stamps
 28058  // in your DASH manifests start at zero regardless of your choice here.
 28059  const (
 28060  	// DashIsoPtsOffsetHandlingForBFramesZeroBased is a DashIsoPtsOffsetHandlingForBFrames enum value
 28061  	DashIsoPtsOffsetHandlingForBFramesZeroBased = "ZERO_BASED"
 28062  
 28063  	// DashIsoPtsOffsetHandlingForBFramesMatchInitialPts is a DashIsoPtsOffsetHandlingForBFrames enum value
 28064  	DashIsoPtsOffsetHandlingForBFramesMatchInitialPts = "MATCH_INITIAL_PTS"
 28065  )
 28066  
 28067  // DashIsoPtsOffsetHandlingForBFrames_Values returns all elements of the DashIsoPtsOffsetHandlingForBFrames enum
 28068  func DashIsoPtsOffsetHandlingForBFrames_Values() []string {
 28069  	return []string{
 28070  		DashIsoPtsOffsetHandlingForBFramesZeroBased,
 28071  		DashIsoPtsOffsetHandlingForBFramesMatchInitialPts,
 28072  	}
 28073  }
 28074  
 28075  // When set to SINGLE_FILE, a single output file is generated, which is internally
 28076  // segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES,
 28077  // separate segment files will be created.
 28078  const (
 28079  	// DashIsoSegmentControlSingleFile is a DashIsoSegmentControl enum value
 28080  	DashIsoSegmentControlSingleFile = "SINGLE_FILE"
 28081  
 28082  	// DashIsoSegmentControlSegmentedFiles is a DashIsoSegmentControl enum value
 28083  	DashIsoSegmentControlSegmentedFiles = "SEGMENTED_FILES"
 28084  )
 28085  
 28086  // DashIsoSegmentControl_Values returns all elements of the DashIsoSegmentControl enum
 28087  func DashIsoSegmentControl_Values() []string {
 28088  	return []string{
 28089  		DashIsoSegmentControlSingleFile,
 28090  		DashIsoSegmentControlSegmentedFiles,
 28091  	}
 28092  }
 28093  
 28094  // Specify how you want MediaConvert to determine the segment length. Choose
 28095  // Exact (EXACT) to have the encoder use the exact length that you specify with
 28096  // the setting Segment length (SegmentLength). This might result in extra I-frames.
 28097  // Choose Multiple of GOP (GOP_MULTIPLE) to have the encoder round up the segment
 28098  // lengths to match the next GOP boundary.
 28099  const (
 28100  	// DashIsoSegmentLengthControlExact is a DashIsoSegmentLengthControl enum value
 28101  	DashIsoSegmentLengthControlExact = "EXACT"
 28102  
 28103  	// DashIsoSegmentLengthControlGopMultiple is a DashIsoSegmentLengthControl enum value
 28104  	DashIsoSegmentLengthControlGopMultiple = "GOP_MULTIPLE"
 28105  )
 28106  
 28107  // DashIsoSegmentLengthControl_Values returns all elements of the DashIsoSegmentLengthControl enum
 28108  func DashIsoSegmentLengthControl_Values() []string {
 28109  	return []string{
 28110  		DashIsoSegmentLengthControlExact,
 28111  		DashIsoSegmentLengthControlGopMultiple,
 28112  	}
 28113  }
 28114  
 28115  // When you enable Precise segment duration in manifests (writeSegmentTimelineInRepresentation),
 28116  // your DASH manifest shows precise segment durations. The segment duration
 28117  // information appears inside the SegmentTimeline element, inside SegmentTemplate
 28118  // at the Representation level. When this feature isn't enabled, the segment
 28119  // durations in your DASH manifest are approximate. The segment duration information
 28120  // appears in the duration attribute of the SegmentTemplate element.
 28121  const (
 28122  	// DashIsoWriteSegmentTimelineInRepresentationEnabled is a DashIsoWriteSegmentTimelineInRepresentation enum value
 28123  	DashIsoWriteSegmentTimelineInRepresentationEnabled = "ENABLED"
 28124  
 28125  	// DashIsoWriteSegmentTimelineInRepresentationDisabled is a DashIsoWriteSegmentTimelineInRepresentation enum value
 28126  	DashIsoWriteSegmentTimelineInRepresentationDisabled = "DISABLED"
 28127  )
 28128  
 28129  // DashIsoWriteSegmentTimelineInRepresentation_Values returns all elements of the DashIsoWriteSegmentTimelineInRepresentation enum
 28130  func DashIsoWriteSegmentTimelineInRepresentation_Values() []string {
 28131  	return []string{
 28132  		DashIsoWriteSegmentTimelineInRepresentationEnabled,
 28133  		DashIsoWriteSegmentTimelineInRepresentationDisabled,
 28134  	}
 28135  }
 28136  
 28137  // Specify the encryption mode that you used to encrypt your input files.
 28138  const (
 28139  	// DecryptionModeAesCtr is a DecryptionMode enum value
 28140  	DecryptionModeAesCtr = "AES_CTR"
 28141  
 28142  	// DecryptionModeAesCbc is a DecryptionMode enum value
 28143  	DecryptionModeAesCbc = "AES_CBC"
 28144  
 28145  	// DecryptionModeAesGcm is a DecryptionMode enum value
 28146  	DecryptionModeAesGcm = "AES_GCM"
 28147  )
 28148  
 28149  // DecryptionMode_Values returns all elements of the DecryptionMode enum
 28150  func DecryptionMode_Values() []string {
 28151  	return []string{
 28152  		DecryptionModeAesCtr,
 28153  		DecryptionModeAesCbc,
 28154  		DecryptionModeAesGcm,
 28155  	}
 28156  }
 28157  
 28158  // Only applies when you set Deinterlacer (DeinterlaceMode) to Deinterlace (DEINTERLACE)
 28159  // or Adaptive (ADAPTIVE). Motion adaptive interpolate (INTERPOLATE) produces
 28160  // sharper pictures, while blend (BLEND) produces smoother motion. Use (INTERPOLATE_TICKER)
 28161  // OR (BLEND_TICKER) if your source file includes a ticker, such as a scrolling
 28162  // headline at the bottom of the frame.
 28163  const (
 28164  	// DeinterlaceAlgorithmInterpolate is a DeinterlaceAlgorithm enum value
 28165  	DeinterlaceAlgorithmInterpolate = "INTERPOLATE"
 28166  
 28167  	// DeinterlaceAlgorithmInterpolateTicker is a DeinterlaceAlgorithm enum value
 28168  	DeinterlaceAlgorithmInterpolateTicker = "INTERPOLATE_TICKER"
 28169  
 28170  	// DeinterlaceAlgorithmBlend is a DeinterlaceAlgorithm enum value
 28171  	DeinterlaceAlgorithmBlend = "BLEND"
 28172  
 28173  	// DeinterlaceAlgorithmBlendTicker is a DeinterlaceAlgorithm enum value
 28174  	DeinterlaceAlgorithmBlendTicker = "BLEND_TICKER"
 28175  )
 28176  
 28177  // DeinterlaceAlgorithm_Values returns all elements of the DeinterlaceAlgorithm enum
 28178  func DeinterlaceAlgorithm_Values() []string {
 28179  	return []string{
 28180  		DeinterlaceAlgorithmInterpolate,
 28181  		DeinterlaceAlgorithmInterpolateTicker,
 28182  		DeinterlaceAlgorithmBlend,
 28183  		DeinterlaceAlgorithmBlendTicker,
 28184  	}
 28185  }
 28186  
 28187  // - When set to NORMAL (default), the deinterlacer does not convert frames
 28188  // that are tagged in metadata as progressive. It will only convert those that
 28189  // are tagged as some other type. - When set to FORCE_ALL_FRAMES, the deinterlacer
 28190  // converts every frame to progressive - even those that are already tagged
 28191  // as progressive. Turn Force mode on only if there is a good chance that the
 28192  // metadata has tagged frames as progressive when they are not progressive.
 28193  // Do not turn on otherwise; processing frames that are already progressive
 28194  // into progressive will probably result in lower quality video.
 28195  const (
 28196  	// DeinterlacerControlForceAllFrames is a DeinterlacerControl enum value
 28197  	DeinterlacerControlForceAllFrames = "FORCE_ALL_FRAMES"
 28198  
 28199  	// DeinterlacerControlNormal is a DeinterlacerControl enum value
 28200  	DeinterlacerControlNormal = "NORMAL"
 28201  )
 28202  
 28203  // DeinterlacerControl_Values returns all elements of the DeinterlacerControl enum
 28204  func DeinterlacerControl_Values() []string {
 28205  	return []string{
 28206  		DeinterlacerControlForceAllFrames,
 28207  		DeinterlacerControlNormal,
 28208  	}
 28209  }
 28210  
 28211  // Use Deinterlacer (DeinterlaceMode) to choose how the service will do deinterlacing.
 28212  // Default is Deinterlace. - Deinterlace converts interlaced to progressive.
 28213  // - Inverse telecine converts Hard Telecine 29.97i to progressive 23.976p.
 28214  // - Adaptive auto-detects and converts to progressive.
 28215  const (
 28216  	// DeinterlacerModeDeinterlace is a DeinterlacerMode enum value
 28217  	DeinterlacerModeDeinterlace = "DEINTERLACE"
 28218  
 28219  	// DeinterlacerModeInverseTelecine is a DeinterlacerMode enum value
 28220  	DeinterlacerModeInverseTelecine = "INVERSE_TELECINE"
 28221  
 28222  	// DeinterlacerModeAdaptive is a DeinterlacerMode enum value
 28223  	DeinterlacerModeAdaptive = "ADAPTIVE"
 28224  )
 28225  
 28226  // DeinterlacerMode_Values returns all elements of the DeinterlacerMode enum
 28227  func DeinterlacerMode_Values() []string {
 28228  	return []string{
 28229  		DeinterlacerModeDeinterlace,
 28230  		DeinterlacerModeInverseTelecine,
 28231  		DeinterlacerModeAdaptive,
 28232  	}
 28233  }
 28234  
 28235  // Optional field, defaults to DEFAULT. Specify DEFAULT for this operation to
 28236  // return your endpoints if any exist, or to create an endpoint for you and
 28237  // return it if one doesn't already exist. Specify GET_ONLY to return your endpoints
 28238  // if any exist, or an empty list if none exist.
 28239  const (
 28240  	// DescribeEndpointsModeDefault is a DescribeEndpointsMode enum value
 28241  	DescribeEndpointsModeDefault = "DEFAULT"
 28242  
 28243  	// DescribeEndpointsModeGetOnly is a DescribeEndpointsMode enum value
 28244  	DescribeEndpointsModeGetOnly = "GET_ONLY"
 28245  )
 28246  
 28247  // DescribeEndpointsMode_Values returns all elements of the DescribeEndpointsMode enum
 28248  func DescribeEndpointsMode_Values() []string {
 28249  	return []string{
 28250  		DescribeEndpointsModeDefault,
 28251  		DescribeEndpointsModeGetOnly,
 28252  	}
 28253  }
 28254  
 28255  // Use Dolby Vision Mode to choose how the service will handle Dolby Vision
 28256  // MaxCLL and MaxFALL properies.
 28257  const (
 28258  	// DolbyVisionLevel6ModePassthrough is a DolbyVisionLevel6Mode enum value
 28259  	DolbyVisionLevel6ModePassthrough = "PASSTHROUGH"
 28260  
 28261  	// DolbyVisionLevel6ModeRecalculate is a DolbyVisionLevel6Mode enum value
 28262  	DolbyVisionLevel6ModeRecalculate = "RECALCULATE"
 28263  
 28264  	// DolbyVisionLevel6ModeSpecify is a DolbyVisionLevel6Mode enum value
 28265  	DolbyVisionLevel6ModeSpecify = "SPECIFY"
 28266  )
 28267  
 28268  // DolbyVisionLevel6Mode_Values returns all elements of the DolbyVisionLevel6Mode enum
 28269  func DolbyVisionLevel6Mode_Values() []string {
 28270  	return []string{
 28271  		DolbyVisionLevel6ModePassthrough,
 28272  		DolbyVisionLevel6ModeRecalculate,
 28273  		DolbyVisionLevel6ModeSpecify,
 28274  	}
 28275  }
 28276  
 28277  // In the current MediaConvert implementation, the Dolby Vision profile is always
 28278  // 5 (PROFILE_5). Therefore, all of your inputs must contain Dolby Vision frame
 28279  // interleaved data.
 28280  const (
 28281  	// DolbyVisionProfileProfile5 is a DolbyVisionProfile enum value
 28282  	DolbyVisionProfileProfile5 = "PROFILE_5"
 28283  )
 28284  
 28285  // DolbyVisionProfile_Values returns all elements of the DolbyVisionProfile enum
 28286  func DolbyVisionProfile_Values() []string {
 28287  	return []string{
 28288  		DolbyVisionProfileProfile5,
 28289  	}
 28290  }
 28291  
 28292  // Applies only to 29.97 fps outputs. When this feature is enabled, the service
 28293  // will use drop-frame timecode on outputs. If it is not possible to use drop-frame
 28294  // timecode, the system will fall back to non-drop-frame. This setting is enabled
 28295  // by default when Timecode insertion (TimecodeInsertion) is enabled.
 28296  const (
 28297  	// DropFrameTimecodeDisabled is a DropFrameTimecode enum value
 28298  	DropFrameTimecodeDisabled = "DISABLED"
 28299  
 28300  	// DropFrameTimecodeEnabled is a DropFrameTimecode enum value
 28301  	DropFrameTimecodeEnabled = "ENABLED"
 28302  )
 28303  
 28304  // DropFrameTimecode_Values returns all elements of the DropFrameTimecode enum
 28305  func DropFrameTimecode_Values() []string {
 28306  	return []string{
 28307  		DropFrameTimecodeDisabled,
 28308  		DropFrameTimecodeEnabled,
 28309  	}
 28310  }
 28311  
 28312  // Specify the font that you want the service to use for your burn in captions
 28313  // when your input captions specify a font that MediaConvert doesn't support.
 28314  // When you keep the default value, Best match (BEST_MATCH), MediaConvert uses
 28315  // a supported font that most closely matches the font that your input captions
 28316  // specify. When there are multiple unsupported fonts in your input captions,
 28317  // MediaConvert matches each font with the supported font that matches best.
 28318  // When you explicitly choose a replacement font, MediaConvert uses that font
 28319  // to replace all unsupported fonts from your input.
 28320  const (
 28321  	// DvbSubSubtitleFallbackFontBestMatch is a DvbSubSubtitleFallbackFont enum value
 28322  	DvbSubSubtitleFallbackFontBestMatch = "BEST_MATCH"
 28323  
 28324  	// DvbSubSubtitleFallbackFontMonospacedSansserif is a DvbSubSubtitleFallbackFont enum value
 28325  	DvbSubSubtitleFallbackFontMonospacedSansserif = "MONOSPACED_SANSSERIF"
 28326  
 28327  	// DvbSubSubtitleFallbackFontMonospacedSerif is a DvbSubSubtitleFallbackFont enum value
 28328  	DvbSubSubtitleFallbackFontMonospacedSerif = "MONOSPACED_SERIF"
 28329  
 28330  	// DvbSubSubtitleFallbackFontProportionalSansserif is a DvbSubSubtitleFallbackFont enum value
 28331  	DvbSubSubtitleFallbackFontProportionalSansserif = "PROPORTIONAL_SANSSERIF"
 28332  
 28333  	// DvbSubSubtitleFallbackFontProportionalSerif is a DvbSubSubtitleFallbackFont enum value
 28334  	DvbSubSubtitleFallbackFontProportionalSerif = "PROPORTIONAL_SERIF"
 28335  )
 28336  
 28337  // DvbSubSubtitleFallbackFont_Values returns all elements of the DvbSubSubtitleFallbackFont enum
 28338  func DvbSubSubtitleFallbackFont_Values() []string {
 28339  	return []string{
 28340  		DvbSubSubtitleFallbackFontBestMatch,
 28341  		DvbSubSubtitleFallbackFontMonospacedSansserif,
 28342  		DvbSubSubtitleFallbackFontMonospacedSerif,
 28343  		DvbSubSubtitleFallbackFontProportionalSansserif,
 28344  		DvbSubSubtitleFallbackFontProportionalSerif,
 28345  	}
 28346  }
 28347  
 28348  // If no explicit x_position or y_position is provided, setting alignment to
 28349  // centered will place the captions at the bottom center of the output. Similarly,
 28350  // setting a left alignment will align captions to the bottom left of the output.
 28351  // If x and y positions are given in conjunction with the alignment parameter,
 28352  // the font will be justified (either left or centered) relative to those coordinates.
 28353  // This option is not valid for source captions that are STL, 608/embedded or
 28354  // teletext. These source settings are already pre-defined by the caption stream.
 28355  // All burn-in and DVB-Sub font settings must match.
 28356  const (
 28357  	// DvbSubtitleAlignmentCentered is a DvbSubtitleAlignment enum value
 28358  	DvbSubtitleAlignmentCentered = "CENTERED"
 28359  
 28360  	// DvbSubtitleAlignmentLeft is a DvbSubtitleAlignment enum value
 28361  	DvbSubtitleAlignmentLeft = "LEFT"
 28362  
 28363  	// DvbSubtitleAlignmentAuto is a DvbSubtitleAlignment enum value
 28364  	DvbSubtitleAlignmentAuto = "AUTO"
 28365  )
 28366  
 28367  // DvbSubtitleAlignment_Values returns all elements of the DvbSubtitleAlignment enum
 28368  func DvbSubtitleAlignment_Values() []string {
 28369  	return []string{
 28370  		DvbSubtitleAlignmentCentered,
 28371  		DvbSubtitleAlignmentLeft,
 28372  		DvbSubtitleAlignmentAuto,
 28373  	}
 28374  }
 28375  
 28376  // Ignore this setting unless your input captions are STL, any type of 608,
 28377  // teletext, or TTML, and your output captions are DVB-SUB. Specify how the
 28378  // service applies the color specified in the setting Font color (DvbSubtitleFontColor).
 28379  // By default, this color is white. When you choose WHITE_TEXT_ONLY, the service
 28380  // uses the specified font color only for text that is white in the input. When
 28381  // you choose ALL_TEXT, the service uses the specified font color for all output
 28382  // captions text. If you leave both settings at their default value, your output
 28383  // font color is the same as your input font color.
 28384  const (
 28385  	// DvbSubtitleApplyFontColorWhiteTextOnly is a DvbSubtitleApplyFontColor enum value
 28386  	DvbSubtitleApplyFontColorWhiteTextOnly = "WHITE_TEXT_ONLY"
 28387  
 28388  	// DvbSubtitleApplyFontColorAllText is a DvbSubtitleApplyFontColor enum value
 28389  	DvbSubtitleApplyFontColorAllText = "ALL_TEXT"
 28390  )
 28391  
 28392  // DvbSubtitleApplyFontColor_Values returns all elements of the DvbSubtitleApplyFontColor enum
 28393  func DvbSubtitleApplyFontColor_Values() []string {
 28394  	return []string{
 28395  		DvbSubtitleApplyFontColorWhiteTextOnly,
 28396  		DvbSubtitleApplyFontColorAllText,
 28397  	}
 28398  }
 28399  
 28400  // Specifies the color of the rectangle behind the captions.All burn-in and
 28401  // DVB-Sub font settings must match.
 28402  const (
 28403  	// DvbSubtitleBackgroundColorNone is a DvbSubtitleBackgroundColor enum value
 28404  	DvbSubtitleBackgroundColorNone = "NONE"
 28405  
 28406  	// DvbSubtitleBackgroundColorBlack is a DvbSubtitleBackgroundColor enum value
 28407  	DvbSubtitleBackgroundColorBlack = "BLACK"
 28408  
 28409  	// DvbSubtitleBackgroundColorWhite is a DvbSubtitleBackgroundColor enum value
 28410  	DvbSubtitleBackgroundColorWhite = "WHITE"
 28411  
 28412  	// DvbSubtitleBackgroundColorAuto is a DvbSubtitleBackgroundColor enum value
 28413  	DvbSubtitleBackgroundColorAuto = "AUTO"
 28414  )
 28415  
 28416  // DvbSubtitleBackgroundColor_Values returns all elements of the DvbSubtitleBackgroundColor enum
 28417  func DvbSubtitleBackgroundColor_Values() []string {
 28418  	return []string{
 28419  		DvbSubtitleBackgroundColorNone,
 28420  		DvbSubtitleBackgroundColorBlack,
 28421  		DvbSubtitleBackgroundColorWhite,
 28422  		DvbSubtitleBackgroundColorAuto,
 28423  	}
 28424  }
 28425  
 28426  // Specifies the color of the DVB-SUB captions. This option is not valid for
 28427  // source captions that are STL, 608/embedded or teletext. These source settings
 28428  // are already pre-defined by the caption stream. All burn-in and DVB-Sub font
 28429  // settings must match.
 28430  const (
 28431  	// DvbSubtitleFontColorWhite is a DvbSubtitleFontColor enum value
 28432  	DvbSubtitleFontColorWhite = "WHITE"
 28433  
 28434  	// DvbSubtitleFontColorBlack is a DvbSubtitleFontColor enum value
 28435  	DvbSubtitleFontColorBlack = "BLACK"
 28436  
 28437  	// DvbSubtitleFontColorYellow is a DvbSubtitleFontColor enum value
 28438  	DvbSubtitleFontColorYellow = "YELLOW"
 28439  
 28440  	// DvbSubtitleFontColorRed is a DvbSubtitleFontColor enum value
 28441  	DvbSubtitleFontColorRed = "RED"
 28442  
 28443  	// DvbSubtitleFontColorGreen is a DvbSubtitleFontColor enum value
 28444  	DvbSubtitleFontColorGreen = "GREEN"
 28445  
 28446  	// DvbSubtitleFontColorBlue is a DvbSubtitleFontColor enum value
 28447  	DvbSubtitleFontColorBlue = "BLUE"
 28448  
 28449  	// DvbSubtitleFontColorHex is a DvbSubtitleFontColor enum value
 28450  	DvbSubtitleFontColorHex = "HEX"
 28451  
 28452  	// DvbSubtitleFontColorAuto is a DvbSubtitleFontColor enum value
 28453  	DvbSubtitleFontColorAuto = "AUTO"
 28454  )
 28455  
 28456  // DvbSubtitleFontColor_Values returns all elements of the DvbSubtitleFontColor enum
 28457  func DvbSubtitleFontColor_Values() []string {
 28458  	return []string{
 28459  		DvbSubtitleFontColorWhite,
 28460  		DvbSubtitleFontColorBlack,
 28461  		DvbSubtitleFontColorYellow,
 28462  		DvbSubtitleFontColorRed,
 28463  		DvbSubtitleFontColorGreen,
 28464  		DvbSubtitleFontColorBlue,
 28465  		DvbSubtitleFontColorHex,
 28466  		DvbSubtitleFontColorAuto,
 28467  	}
 28468  }
 28469  
 28470  // Specifies font outline color. This option is not valid for source captions
 28471  // that are either 608/embedded or teletext. These source settings are already
 28472  // pre-defined by the caption stream. All burn-in and DVB-Sub font settings
 28473  // must match.
 28474  const (
 28475  	// DvbSubtitleOutlineColorBlack is a DvbSubtitleOutlineColor enum value
 28476  	DvbSubtitleOutlineColorBlack = "BLACK"
 28477  
 28478  	// DvbSubtitleOutlineColorWhite is a DvbSubtitleOutlineColor enum value
 28479  	DvbSubtitleOutlineColorWhite = "WHITE"
 28480  
 28481  	// DvbSubtitleOutlineColorYellow is a DvbSubtitleOutlineColor enum value
 28482  	DvbSubtitleOutlineColorYellow = "YELLOW"
 28483  
 28484  	// DvbSubtitleOutlineColorRed is a DvbSubtitleOutlineColor enum value
 28485  	DvbSubtitleOutlineColorRed = "RED"
 28486  
 28487  	// DvbSubtitleOutlineColorGreen is a DvbSubtitleOutlineColor enum value
 28488  	DvbSubtitleOutlineColorGreen = "GREEN"
 28489  
 28490  	// DvbSubtitleOutlineColorBlue is a DvbSubtitleOutlineColor enum value
 28491  	DvbSubtitleOutlineColorBlue = "BLUE"
 28492  
 28493  	// DvbSubtitleOutlineColorAuto is a DvbSubtitleOutlineColor enum value
 28494  	DvbSubtitleOutlineColorAuto = "AUTO"
 28495  )
 28496  
 28497  // DvbSubtitleOutlineColor_Values returns all elements of the DvbSubtitleOutlineColor enum
 28498  func DvbSubtitleOutlineColor_Values() []string {
 28499  	return []string{
 28500  		DvbSubtitleOutlineColorBlack,
 28501  		DvbSubtitleOutlineColorWhite,
 28502  		DvbSubtitleOutlineColorYellow,
 28503  		DvbSubtitleOutlineColorRed,
 28504  		DvbSubtitleOutlineColorGreen,
 28505  		DvbSubtitleOutlineColorBlue,
 28506  		DvbSubtitleOutlineColorAuto,
 28507  	}
 28508  }
 28509  
 28510  // Specifies the color of the shadow cast by the captions.All burn-in and DVB-Sub
 28511  // font settings must match.
 28512  const (
 28513  	// DvbSubtitleShadowColorNone is a DvbSubtitleShadowColor enum value
 28514  	DvbSubtitleShadowColorNone = "NONE"
 28515  
 28516  	// DvbSubtitleShadowColorBlack is a DvbSubtitleShadowColor enum value
 28517  	DvbSubtitleShadowColorBlack = "BLACK"
 28518  
 28519  	// DvbSubtitleShadowColorWhite is a DvbSubtitleShadowColor enum value
 28520  	DvbSubtitleShadowColorWhite = "WHITE"
 28521  
 28522  	// DvbSubtitleShadowColorAuto is a DvbSubtitleShadowColor enum value
 28523  	DvbSubtitleShadowColorAuto = "AUTO"
 28524  )
 28525  
 28526  // DvbSubtitleShadowColor_Values returns all elements of the DvbSubtitleShadowColor enum
 28527  func DvbSubtitleShadowColor_Values() []string {
 28528  	return []string{
 28529  		DvbSubtitleShadowColorNone,
 28530  		DvbSubtitleShadowColorBlack,
 28531  		DvbSubtitleShadowColorWhite,
 28532  		DvbSubtitleShadowColorAuto,
 28533  	}
 28534  }
 28535  
 28536  // Choose which set of style and position values the service applies to your
 28537  // output captions. When you choose ENABLED, the service uses the input style
 28538  // and position information from your input. When you choose DISABLED, the service
 28539  // uses any style values that you specify in your output settings. If you don't
 28540  // specify values, the service uses default style and position values. When
 28541  // you choose DISABLED, the service ignores all style and position values from
 28542  // your input.
 28543  const (
 28544  	// DvbSubtitleStylePassthroughEnabled is a DvbSubtitleStylePassthrough enum value
 28545  	DvbSubtitleStylePassthroughEnabled = "ENABLED"
 28546  
 28547  	// DvbSubtitleStylePassthroughDisabled is a DvbSubtitleStylePassthrough enum value
 28548  	DvbSubtitleStylePassthroughDisabled = "DISABLED"
 28549  )
 28550  
 28551  // DvbSubtitleStylePassthrough_Values returns all elements of the DvbSubtitleStylePassthrough enum
 28552  func DvbSubtitleStylePassthrough_Values() []string {
 28553  	return []string{
 28554  		DvbSubtitleStylePassthroughEnabled,
 28555  		DvbSubtitleStylePassthroughDisabled,
 28556  	}
 28557  }
 28558  
 28559  // Only applies to jobs with input captions in Teletext or STL formats. Specify
 28560  // whether the spacing between letters in your captions is set by the captions
 28561  // grid or varies depending on letter width. Choose fixed grid to conform to
 28562  // the spacing specified in the captions file more accurately. Choose proportional
 28563  // to make the text easier to read if the captions are closed caption.
 28564  const (
 28565  	// DvbSubtitleTeletextSpacingFixedGrid is a DvbSubtitleTeletextSpacing enum value
 28566  	DvbSubtitleTeletextSpacingFixedGrid = "FIXED_GRID"
 28567  
 28568  	// DvbSubtitleTeletextSpacingProportional is a DvbSubtitleTeletextSpacing enum value
 28569  	DvbSubtitleTeletextSpacingProportional = "PROPORTIONAL"
 28570  
 28571  	// DvbSubtitleTeletextSpacingAuto is a DvbSubtitleTeletextSpacing enum value
 28572  	DvbSubtitleTeletextSpacingAuto = "AUTO"
 28573  )
 28574  
 28575  // DvbSubtitleTeletextSpacing_Values returns all elements of the DvbSubtitleTeletextSpacing enum
 28576  func DvbSubtitleTeletextSpacing_Values() []string {
 28577  	return []string{
 28578  		DvbSubtitleTeletextSpacingFixedGrid,
 28579  		DvbSubtitleTeletextSpacingProportional,
 28580  		DvbSubtitleTeletextSpacingAuto,
 28581  	}
 28582  }
 28583  
 28584  // Specify whether your DVB subtitles are standard or for hearing impaired.
 28585  // Choose hearing impaired if your subtitles include audio descriptions and
 28586  // dialogue. Choose standard if your subtitles include only dialogue.
 28587  const (
 28588  	// DvbSubtitlingTypeHearingImpaired is a DvbSubtitlingType enum value
 28589  	DvbSubtitlingTypeHearingImpaired = "HEARING_IMPAIRED"
 28590  
 28591  	// DvbSubtitlingTypeStandard is a DvbSubtitlingType enum value
 28592  	DvbSubtitlingTypeStandard = "STANDARD"
 28593  )
 28594  
 28595  // DvbSubtitlingType_Values returns all elements of the DvbSubtitlingType enum
 28596  func DvbSubtitlingType_Values() []string {
 28597  	return []string{
 28598  		DvbSubtitlingTypeHearingImpaired,
 28599  		DvbSubtitlingTypeStandard,
 28600  	}
 28601  }
 28602  
 28603  // Specify how MediaConvert handles the display definition segment (DDS). Keep
 28604  // the default, None (NONE), to exclude the DDS from this set of captions. Choose
 28605  // No display window (NO_DISPLAY_WINDOW) to have MediaConvert include the DDS
 28606  // but not include display window data. In this case, MediaConvert writes that
 28607  // information to the page composition segment (PCS) instead. Choose Specify
 28608  // (SPECIFIED) to have MediaConvert set up the display window based on the values
 28609  // that you specify in related job settings. For video resolutions that are
 28610  // 576 pixels or smaller in height, MediaConvert doesn't include the DDS, regardless
 28611  // of the value you choose for DDS handling (ddsHandling). In this case, it
 28612  // doesn't write the display window data to the PCS either. Related settings:
 28613  // Use the settings DDS x-coordinate (ddsXCoordinate) and DDS y-coordinate (ddsYCoordinate)
 28614  // to specify the offset between the top left corner of the display window and
 28615  // the top left corner of the video frame. All burn-in and DVB-Sub font settings
 28616  // must match.
 28617  const (
 28618  	// DvbddsHandlingNone is a DvbddsHandling enum value
 28619  	DvbddsHandlingNone = "NONE"
 28620  
 28621  	// DvbddsHandlingSpecified is a DvbddsHandling enum value
 28622  	DvbddsHandlingSpecified = "SPECIFIED"
 28623  
 28624  	// DvbddsHandlingNoDisplayWindow is a DvbddsHandling enum value
 28625  	DvbddsHandlingNoDisplayWindow = "NO_DISPLAY_WINDOW"
 28626  )
 28627  
 28628  // DvbddsHandling_Values returns all elements of the DvbddsHandling enum
 28629  func DvbddsHandling_Values() []string {
 28630  	return []string{
 28631  		DvbddsHandlingNone,
 28632  		DvbddsHandlingSpecified,
 28633  		DvbddsHandlingNoDisplayWindow,
 28634  	}
 28635  }
 28636  
 28637  // Specify the bitstream mode for the E-AC-3 stream that the encoder emits.
 28638  // For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex
 28639  // E).
 28640  const (
 28641  	// Eac3AtmosBitstreamModeCompleteMain is a Eac3AtmosBitstreamMode enum value
 28642  	Eac3AtmosBitstreamModeCompleteMain = "COMPLETE_MAIN"
 28643  )
 28644  
 28645  // Eac3AtmosBitstreamMode_Values returns all elements of the Eac3AtmosBitstreamMode enum
 28646  func Eac3AtmosBitstreamMode_Values() []string {
 28647  	return []string{
 28648  		Eac3AtmosBitstreamModeCompleteMain,
 28649  	}
 28650  }
 28651  
 28652  // The coding mode for Dolby Digital Plus JOC (Atmos).
 28653  const (
 28654  	// Eac3AtmosCodingModeCodingModeAuto is a Eac3AtmosCodingMode enum value
 28655  	Eac3AtmosCodingModeCodingModeAuto = "CODING_MODE_AUTO"
 28656  
 28657  	// Eac3AtmosCodingModeCodingMode514 is a Eac3AtmosCodingMode enum value
 28658  	Eac3AtmosCodingModeCodingMode514 = "CODING_MODE_5_1_4"
 28659  
 28660  	// Eac3AtmosCodingModeCodingMode714 is a Eac3AtmosCodingMode enum value
 28661  	Eac3AtmosCodingModeCodingMode714 = "CODING_MODE_7_1_4"
 28662  
 28663  	// Eac3AtmosCodingModeCodingMode916 is a Eac3AtmosCodingMode enum value
 28664  	Eac3AtmosCodingModeCodingMode916 = "CODING_MODE_9_1_6"
 28665  )
 28666  
 28667  // Eac3AtmosCodingMode_Values returns all elements of the Eac3AtmosCodingMode enum
 28668  func Eac3AtmosCodingMode_Values() []string {
 28669  	return []string{
 28670  		Eac3AtmosCodingModeCodingModeAuto,
 28671  		Eac3AtmosCodingModeCodingMode514,
 28672  		Eac3AtmosCodingModeCodingMode714,
 28673  		Eac3AtmosCodingModeCodingMode916,
 28674  	}
 28675  }
 28676  
 28677  // Enable Dolby Dialogue Intelligence to adjust loudness based on dialogue analysis.
 28678  const (
 28679  	// Eac3AtmosDialogueIntelligenceEnabled is a Eac3AtmosDialogueIntelligence enum value
 28680  	Eac3AtmosDialogueIntelligenceEnabled = "ENABLED"
 28681  
 28682  	// Eac3AtmosDialogueIntelligenceDisabled is a Eac3AtmosDialogueIntelligence enum value
 28683  	Eac3AtmosDialogueIntelligenceDisabled = "DISABLED"
 28684  )
 28685  
 28686  // Eac3AtmosDialogueIntelligence_Values returns all elements of the Eac3AtmosDialogueIntelligence enum
 28687  func Eac3AtmosDialogueIntelligence_Values() []string {
 28688  	return []string{
 28689  		Eac3AtmosDialogueIntelligenceEnabled,
 28690  		Eac3AtmosDialogueIntelligenceDisabled,
 28691  	}
 28692  }
 28693  
 28694  // Specify whether MediaConvert should use any downmix metadata from your input
 28695  // file. Keep the default value, Custom (SPECIFIED) to provide downmix values
 28696  // in your job settings. Choose Follow source (INITIALIZE_FROM_SOURCE) to use
 28697  // the metadata from your input. Related settings--Use these settings to specify
 28698  // your downmix values: Left only/Right only surround (LoRoSurroundMixLevel),
 28699  // Left total/Right total surround (LtRtSurroundMixLevel), Left total/Right
 28700  // total center (LtRtCenterMixLevel), Left only/Right only center (LoRoCenterMixLevel),
 28701  // and Stereo downmix (StereoDownmix). When you keep Custom (SPECIFIED) for
 28702  // Downmix control (DownmixControl) and you don't specify values for the related
 28703  // settings, MediaConvert uses default values for those settings.
 28704  const (
 28705  	// Eac3AtmosDownmixControlSpecified is a Eac3AtmosDownmixControl enum value
 28706  	Eac3AtmosDownmixControlSpecified = "SPECIFIED"
 28707  
 28708  	// Eac3AtmosDownmixControlInitializeFromSource is a Eac3AtmosDownmixControl enum value
 28709  	Eac3AtmosDownmixControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 28710  )
 28711  
 28712  // Eac3AtmosDownmixControl_Values returns all elements of the Eac3AtmosDownmixControl enum
 28713  func Eac3AtmosDownmixControl_Values() []string {
 28714  	return []string{
 28715  		Eac3AtmosDownmixControlSpecified,
 28716  		Eac3AtmosDownmixControlInitializeFromSource,
 28717  	}
 28718  }
 28719  
 28720  // Choose the Dolby dynamic range control (DRC) profile that MediaConvert uses
 28721  // when encoding the metadata in the Dolby stream for the line operating mode.
 28722  // Default value: Film light (ATMOS_STORAGE_DDP_COMPR_FILM_LIGHT) Related setting:
 28723  // To have MediaConvert use the value you specify here, keep the default value,
 28724  // Custom (SPECIFIED) for the setting Dynamic range control (DynamicRangeControl).
 28725  // Otherwise, MediaConvert ignores Dynamic range compression line (DynamicRangeCompressionLine).
 28726  // For information about the Dolby DRC operating modes and profiles, see the
 28727  // Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
 28728  const (
 28729  	// Eac3AtmosDynamicRangeCompressionLineNone is a Eac3AtmosDynamicRangeCompressionLine enum value
 28730  	Eac3AtmosDynamicRangeCompressionLineNone = "NONE"
 28731  
 28732  	// Eac3AtmosDynamicRangeCompressionLineFilmStandard is a Eac3AtmosDynamicRangeCompressionLine enum value
 28733  	Eac3AtmosDynamicRangeCompressionLineFilmStandard = "FILM_STANDARD"
 28734  
 28735  	// Eac3AtmosDynamicRangeCompressionLineFilmLight is a Eac3AtmosDynamicRangeCompressionLine enum value
 28736  	Eac3AtmosDynamicRangeCompressionLineFilmLight = "FILM_LIGHT"
 28737  
 28738  	// Eac3AtmosDynamicRangeCompressionLineMusicStandard is a Eac3AtmosDynamicRangeCompressionLine enum value
 28739  	Eac3AtmosDynamicRangeCompressionLineMusicStandard = "MUSIC_STANDARD"
 28740  
 28741  	// Eac3AtmosDynamicRangeCompressionLineMusicLight is a Eac3AtmosDynamicRangeCompressionLine enum value
 28742  	Eac3AtmosDynamicRangeCompressionLineMusicLight = "MUSIC_LIGHT"
 28743  
 28744  	// Eac3AtmosDynamicRangeCompressionLineSpeech is a Eac3AtmosDynamicRangeCompressionLine enum value
 28745  	Eac3AtmosDynamicRangeCompressionLineSpeech = "SPEECH"
 28746  )
 28747  
 28748  // Eac3AtmosDynamicRangeCompressionLine_Values returns all elements of the Eac3AtmosDynamicRangeCompressionLine enum
 28749  func Eac3AtmosDynamicRangeCompressionLine_Values() []string {
 28750  	return []string{
 28751  		Eac3AtmosDynamicRangeCompressionLineNone,
 28752  		Eac3AtmosDynamicRangeCompressionLineFilmStandard,
 28753  		Eac3AtmosDynamicRangeCompressionLineFilmLight,
 28754  		Eac3AtmosDynamicRangeCompressionLineMusicStandard,
 28755  		Eac3AtmosDynamicRangeCompressionLineMusicLight,
 28756  		Eac3AtmosDynamicRangeCompressionLineSpeech,
 28757  	}
 28758  }
 28759  
 28760  // Choose the Dolby dynamic range control (DRC) profile that MediaConvert uses
 28761  // when encoding the metadata in the Dolby stream for the RF operating mode.
 28762  // Default value: Film light (ATMOS_STORAGE_DDP_COMPR_FILM_LIGHT) Related setting:
 28763  // To have MediaConvert use the value you specify here, keep the default value,
 28764  // Custom (SPECIFIED) for the setting Dynamic range control (DynamicRangeControl).
 28765  // Otherwise, MediaConvert ignores Dynamic range compression RF (DynamicRangeCompressionRf).
 28766  // For information about the Dolby DRC operating modes and profiles, see the
 28767  // Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
 28768  const (
 28769  	// Eac3AtmosDynamicRangeCompressionRfNone is a Eac3AtmosDynamicRangeCompressionRf enum value
 28770  	Eac3AtmosDynamicRangeCompressionRfNone = "NONE"
 28771  
 28772  	// Eac3AtmosDynamicRangeCompressionRfFilmStandard is a Eac3AtmosDynamicRangeCompressionRf enum value
 28773  	Eac3AtmosDynamicRangeCompressionRfFilmStandard = "FILM_STANDARD"
 28774  
 28775  	// Eac3AtmosDynamicRangeCompressionRfFilmLight is a Eac3AtmosDynamicRangeCompressionRf enum value
 28776  	Eac3AtmosDynamicRangeCompressionRfFilmLight = "FILM_LIGHT"
 28777  
 28778  	// Eac3AtmosDynamicRangeCompressionRfMusicStandard is a Eac3AtmosDynamicRangeCompressionRf enum value
 28779  	Eac3AtmosDynamicRangeCompressionRfMusicStandard = "MUSIC_STANDARD"
 28780  
 28781  	// Eac3AtmosDynamicRangeCompressionRfMusicLight is a Eac3AtmosDynamicRangeCompressionRf enum value
 28782  	Eac3AtmosDynamicRangeCompressionRfMusicLight = "MUSIC_LIGHT"
 28783  
 28784  	// Eac3AtmosDynamicRangeCompressionRfSpeech is a Eac3AtmosDynamicRangeCompressionRf enum value
 28785  	Eac3AtmosDynamicRangeCompressionRfSpeech = "SPEECH"
 28786  )
 28787  
 28788  // Eac3AtmosDynamicRangeCompressionRf_Values returns all elements of the Eac3AtmosDynamicRangeCompressionRf enum
 28789  func Eac3AtmosDynamicRangeCompressionRf_Values() []string {
 28790  	return []string{
 28791  		Eac3AtmosDynamicRangeCompressionRfNone,
 28792  		Eac3AtmosDynamicRangeCompressionRfFilmStandard,
 28793  		Eac3AtmosDynamicRangeCompressionRfFilmLight,
 28794  		Eac3AtmosDynamicRangeCompressionRfMusicStandard,
 28795  		Eac3AtmosDynamicRangeCompressionRfMusicLight,
 28796  		Eac3AtmosDynamicRangeCompressionRfSpeech,
 28797  	}
 28798  }
 28799  
 28800  // Specify whether MediaConvert should use any dynamic range control metadata
 28801  // from your input file. Keep the default value, Custom (SPECIFIED), to provide
 28802  // dynamic range control values in your job settings. Choose Follow source (INITIALIZE_FROM_SOURCE)
 28803  // to use the metadata from your input. Related settings--Use these settings
 28804  // to specify your dynamic range control values: Dynamic range compression line
 28805  // (DynamicRangeCompressionLine) and Dynamic range compression RF (DynamicRangeCompressionRf).
 28806  // When you keep the value Custom (SPECIFIED) for Dynamic range control (DynamicRangeControl)
 28807  // and you don't specify values for the related settings, MediaConvert uses
 28808  // default values for those settings.
 28809  const (
 28810  	// Eac3AtmosDynamicRangeControlSpecified is a Eac3AtmosDynamicRangeControl enum value
 28811  	Eac3AtmosDynamicRangeControlSpecified = "SPECIFIED"
 28812  
 28813  	// Eac3AtmosDynamicRangeControlInitializeFromSource is a Eac3AtmosDynamicRangeControl enum value
 28814  	Eac3AtmosDynamicRangeControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 28815  )
 28816  
 28817  // Eac3AtmosDynamicRangeControl_Values returns all elements of the Eac3AtmosDynamicRangeControl enum
 28818  func Eac3AtmosDynamicRangeControl_Values() []string {
 28819  	return []string{
 28820  		Eac3AtmosDynamicRangeControlSpecified,
 28821  		Eac3AtmosDynamicRangeControlInitializeFromSource,
 28822  	}
 28823  }
 28824  
 28825  // Choose how the service meters the loudness of your audio.
 28826  const (
 28827  	// Eac3AtmosMeteringModeLeqA is a Eac3AtmosMeteringMode enum value
 28828  	Eac3AtmosMeteringModeLeqA = "LEQ_A"
 28829  
 28830  	// Eac3AtmosMeteringModeItuBs17701 is a Eac3AtmosMeteringMode enum value
 28831  	Eac3AtmosMeteringModeItuBs17701 = "ITU_BS_1770_1"
 28832  
 28833  	// Eac3AtmosMeteringModeItuBs17702 is a Eac3AtmosMeteringMode enum value
 28834  	Eac3AtmosMeteringModeItuBs17702 = "ITU_BS_1770_2"
 28835  
 28836  	// Eac3AtmosMeteringModeItuBs17703 is a Eac3AtmosMeteringMode enum value
 28837  	Eac3AtmosMeteringModeItuBs17703 = "ITU_BS_1770_3"
 28838  
 28839  	// Eac3AtmosMeteringModeItuBs17704 is a Eac3AtmosMeteringMode enum value
 28840  	Eac3AtmosMeteringModeItuBs17704 = "ITU_BS_1770_4"
 28841  )
 28842  
 28843  // Eac3AtmosMeteringMode_Values returns all elements of the Eac3AtmosMeteringMode enum
 28844  func Eac3AtmosMeteringMode_Values() []string {
 28845  	return []string{
 28846  		Eac3AtmosMeteringModeLeqA,
 28847  		Eac3AtmosMeteringModeItuBs17701,
 28848  		Eac3AtmosMeteringModeItuBs17702,
 28849  		Eac3AtmosMeteringModeItuBs17703,
 28850  		Eac3AtmosMeteringModeItuBs17704,
 28851  	}
 28852  }
 28853  
 28854  // Choose how the service does stereo downmixing. Default value: Not indicated
 28855  // (ATMOS_STORAGE_DDP_DMIXMOD_NOT_INDICATED) Related setting: To have MediaConvert
 28856  // use this value, keep the default value, Custom (SPECIFIED) for the setting
 28857  // Downmix control (DownmixControl). Otherwise, MediaConvert ignores Stereo
 28858  // downmix (StereoDownmix).
 28859  const (
 28860  	// Eac3AtmosStereoDownmixNotIndicated is a Eac3AtmosStereoDownmix enum value
 28861  	Eac3AtmosStereoDownmixNotIndicated = "NOT_INDICATED"
 28862  
 28863  	// Eac3AtmosStereoDownmixStereo is a Eac3AtmosStereoDownmix enum value
 28864  	Eac3AtmosStereoDownmixStereo = "STEREO"
 28865  
 28866  	// Eac3AtmosStereoDownmixSurround is a Eac3AtmosStereoDownmix enum value
 28867  	Eac3AtmosStereoDownmixSurround = "SURROUND"
 28868  
 28869  	// Eac3AtmosStereoDownmixDpl2 is a Eac3AtmosStereoDownmix enum value
 28870  	Eac3AtmosStereoDownmixDpl2 = "DPL2"
 28871  )
 28872  
 28873  // Eac3AtmosStereoDownmix_Values returns all elements of the Eac3AtmosStereoDownmix enum
 28874  func Eac3AtmosStereoDownmix_Values() []string {
 28875  	return []string{
 28876  		Eac3AtmosStereoDownmixNotIndicated,
 28877  		Eac3AtmosStereoDownmixStereo,
 28878  		Eac3AtmosStereoDownmixSurround,
 28879  		Eac3AtmosStereoDownmixDpl2,
 28880  	}
 28881  }
 28882  
 28883  // Specify whether your input audio has an additional center rear surround channel
 28884  // matrix encoded into your left and right surround channels.
 28885  const (
 28886  	// Eac3AtmosSurroundExModeNotIndicated is a Eac3AtmosSurroundExMode enum value
 28887  	Eac3AtmosSurroundExModeNotIndicated = "NOT_INDICATED"
 28888  
 28889  	// Eac3AtmosSurroundExModeEnabled is a Eac3AtmosSurroundExMode enum value
 28890  	Eac3AtmosSurroundExModeEnabled = "ENABLED"
 28891  
 28892  	// Eac3AtmosSurroundExModeDisabled is a Eac3AtmosSurroundExMode enum value
 28893  	Eac3AtmosSurroundExModeDisabled = "DISABLED"
 28894  )
 28895  
 28896  // Eac3AtmosSurroundExMode_Values returns all elements of the Eac3AtmosSurroundExMode enum
 28897  func Eac3AtmosSurroundExMode_Values() []string {
 28898  	return []string{
 28899  		Eac3AtmosSurroundExModeNotIndicated,
 28900  		Eac3AtmosSurroundExModeEnabled,
 28901  		Eac3AtmosSurroundExModeDisabled,
 28902  	}
 28903  }
 28904  
 28905  // If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels.
 28906  // Only used for 3/2 coding mode.
 28907  const (
 28908  	// Eac3AttenuationControlAttenuate3Db is a Eac3AttenuationControl enum value
 28909  	Eac3AttenuationControlAttenuate3Db = "ATTENUATE_3_DB"
 28910  
 28911  	// Eac3AttenuationControlNone is a Eac3AttenuationControl enum value
 28912  	Eac3AttenuationControlNone = "NONE"
 28913  )
 28914  
 28915  // Eac3AttenuationControl_Values returns all elements of the Eac3AttenuationControl enum
 28916  func Eac3AttenuationControl_Values() []string {
 28917  	return []string{
 28918  		Eac3AttenuationControlAttenuate3Db,
 28919  		Eac3AttenuationControlNone,
 28920  	}
 28921  }
 28922  
 28923  // Specify the bitstream mode for the E-AC-3 stream that the encoder emits.
 28924  // For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex
 28925  // E).
 28926  const (
 28927  	// Eac3BitstreamModeCompleteMain is a Eac3BitstreamMode enum value
 28928  	Eac3BitstreamModeCompleteMain = "COMPLETE_MAIN"
 28929  
 28930  	// Eac3BitstreamModeCommentary is a Eac3BitstreamMode enum value
 28931  	Eac3BitstreamModeCommentary = "COMMENTARY"
 28932  
 28933  	// Eac3BitstreamModeEmergency is a Eac3BitstreamMode enum value
 28934  	Eac3BitstreamModeEmergency = "EMERGENCY"
 28935  
 28936  	// Eac3BitstreamModeHearingImpaired is a Eac3BitstreamMode enum value
 28937  	Eac3BitstreamModeHearingImpaired = "HEARING_IMPAIRED"
 28938  
 28939  	// Eac3BitstreamModeVisuallyImpaired is a Eac3BitstreamMode enum value
 28940  	Eac3BitstreamModeVisuallyImpaired = "VISUALLY_IMPAIRED"
 28941  )
 28942  
 28943  // Eac3BitstreamMode_Values returns all elements of the Eac3BitstreamMode enum
 28944  func Eac3BitstreamMode_Values() []string {
 28945  	return []string{
 28946  		Eac3BitstreamModeCompleteMain,
 28947  		Eac3BitstreamModeCommentary,
 28948  		Eac3BitstreamModeEmergency,
 28949  		Eac3BitstreamModeHearingImpaired,
 28950  		Eac3BitstreamModeVisuallyImpaired,
 28951  	}
 28952  }
 28953  
 28954  // Dolby Digital Plus coding mode. Determines number of channels.
 28955  const (
 28956  	// Eac3CodingModeCodingMode10 is a Eac3CodingMode enum value
 28957  	Eac3CodingModeCodingMode10 = "CODING_MODE_1_0"
 28958  
 28959  	// Eac3CodingModeCodingMode20 is a Eac3CodingMode enum value
 28960  	Eac3CodingModeCodingMode20 = "CODING_MODE_2_0"
 28961  
 28962  	// Eac3CodingModeCodingMode32 is a Eac3CodingMode enum value
 28963  	Eac3CodingModeCodingMode32 = "CODING_MODE_3_2"
 28964  )
 28965  
 28966  // Eac3CodingMode_Values returns all elements of the Eac3CodingMode enum
 28967  func Eac3CodingMode_Values() []string {
 28968  	return []string{
 28969  		Eac3CodingModeCodingMode10,
 28970  		Eac3CodingModeCodingMode20,
 28971  		Eac3CodingModeCodingMode32,
 28972  	}
 28973  }
 28974  
 28975  // Activates a DC highpass filter for all input channels.
 28976  const (
 28977  	// Eac3DcFilterEnabled is a Eac3DcFilter enum value
 28978  	Eac3DcFilterEnabled = "ENABLED"
 28979  
 28980  	// Eac3DcFilterDisabled is a Eac3DcFilter enum value
 28981  	Eac3DcFilterDisabled = "DISABLED"
 28982  )
 28983  
 28984  // Eac3DcFilter_Values returns all elements of the Eac3DcFilter enum
 28985  func Eac3DcFilter_Values() []string {
 28986  	return []string{
 28987  		Eac3DcFilterEnabled,
 28988  		Eac3DcFilterDisabled,
 28989  	}
 28990  }
 28991  
 28992  // Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
 28993  // uses when encoding the metadata in the Dolby Digital stream for the line
 28994  // operating mode. Related setting: When you use this setting, MediaConvert
 28995  // ignores any value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile).
 28996  // For information about the Dolby Digital DRC operating modes and profiles,
 28997  // see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
 28998  const (
 28999  	// Eac3DynamicRangeCompressionLineNone is a Eac3DynamicRangeCompressionLine enum value
 29000  	Eac3DynamicRangeCompressionLineNone = "NONE"
 29001  
 29002  	// Eac3DynamicRangeCompressionLineFilmStandard is a Eac3DynamicRangeCompressionLine enum value
 29003  	Eac3DynamicRangeCompressionLineFilmStandard = "FILM_STANDARD"
 29004  
 29005  	// Eac3DynamicRangeCompressionLineFilmLight is a Eac3DynamicRangeCompressionLine enum value
 29006  	Eac3DynamicRangeCompressionLineFilmLight = "FILM_LIGHT"
 29007  
 29008  	// Eac3DynamicRangeCompressionLineMusicStandard is a Eac3DynamicRangeCompressionLine enum value
 29009  	Eac3DynamicRangeCompressionLineMusicStandard = "MUSIC_STANDARD"
 29010  
 29011  	// Eac3DynamicRangeCompressionLineMusicLight is a Eac3DynamicRangeCompressionLine enum value
 29012  	Eac3DynamicRangeCompressionLineMusicLight = "MUSIC_LIGHT"
 29013  
 29014  	// Eac3DynamicRangeCompressionLineSpeech is a Eac3DynamicRangeCompressionLine enum value
 29015  	Eac3DynamicRangeCompressionLineSpeech = "SPEECH"
 29016  )
 29017  
 29018  // Eac3DynamicRangeCompressionLine_Values returns all elements of the Eac3DynamicRangeCompressionLine enum
 29019  func Eac3DynamicRangeCompressionLine_Values() []string {
 29020  	return []string{
 29021  		Eac3DynamicRangeCompressionLineNone,
 29022  		Eac3DynamicRangeCompressionLineFilmStandard,
 29023  		Eac3DynamicRangeCompressionLineFilmLight,
 29024  		Eac3DynamicRangeCompressionLineMusicStandard,
 29025  		Eac3DynamicRangeCompressionLineMusicLight,
 29026  		Eac3DynamicRangeCompressionLineSpeech,
 29027  	}
 29028  }
 29029  
 29030  // Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
 29031  // uses when encoding the metadata in the Dolby Digital stream for the RF operating
 29032  // mode. Related setting: When you use this setting, MediaConvert ignores any
 29033  // value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile).
 29034  // For information about the Dolby Digital DRC operating modes and profiles,
 29035  // see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
 29036  const (
 29037  	// Eac3DynamicRangeCompressionRfNone is a Eac3DynamicRangeCompressionRf enum value
 29038  	Eac3DynamicRangeCompressionRfNone = "NONE"
 29039  
 29040  	// Eac3DynamicRangeCompressionRfFilmStandard is a Eac3DynamicRangeCompressionRf enum value
 29041  	Eac3DynamicRangeCompressionRfFilmStandard = "FILM_STANDARD"
 29042  
 29043  	// Eac3DynamicRangeCompressionRfFilmLight is a Eac3DynamicRangeCompressionRf enum value
 29044  	Eac3DynamicRangeCompressionRfFilmLight = "FILM_LIGHT"
 29045  
 29046  	// Eac3DynamicRangeCompressionRfMusicStandard is a Eac3DynamicRangeCompressionRf enum value
 29047  	Eac3DynamicRangeCompressionRfMusicStandard = "MUSIC_STANDARD"
 29048  
 29049  	// Eac3DynamicRangeCompressionRfMusicLight is a Eac3DynamicRangeCompressionRf enum value
 29050  	Eac3DynamicRangeCompressionRfMusicLight = "MUSIC_LIGHT"
 29051  
 29052  	// Eac3DynamicRangeCompressionRfSpeech is a Eac3DynamicRangeCompressionRf enum value
 29053  	Eac3DynamicRangeCompressionRfSpeech = "SPEECH"
 29054  )
 29055  
 29056  // Eac3DynamicRangeCompressionRf_Values returns all elements of the Eac3DynamicRangeCompressionRf enum
 29057  func Eac3DynamicRangeCompressionRf_Values() []string {
 29058  	return []string{
 29059  		Eac3DynamicRangeCompressionRfNone,
 29060  		Eac3DynamicRangeCompressionRfFilmStandard,
 29061  		Eac3DynamicRangeCompressionRfFilmLight,
 29062  		Eac3DynamicRangeCompressionRfMusicStandard,
 29063  		Eac3DynamicRangeCompressionRfMusicLight,
 29064  		Eac3DynamicRangeCompressionRfSpeech,
 29065  	}
 29066  }
 29067  
 29068  // When encoding 3/2 audio, controls whether the LFE channel is enabled
 29069  const (
 29070  	// Eac3LfeControlLfe is a Eac3LfeControl enum value
 29071  	Eac3LfeControlLfe = "LFE"
 29072  
 29073  	// Eac3LfeControlNoLfe is a Eac3LfeControl enum value
 29074  	Eac3LfeControlNoLfe = "NO_LFE"
 29075  )
 29076  
 29077  // Eac3LfeControl_Values returns all elements of the Eac3LfeControl enum
 29078  func Eac3LfeControl_Values() []string {
 29079  	return []string{
 29080  		Eac3LfeControlLfe,
 29081  		Eac3LfeControlNoLfe,
 29082  	}
 29083  }
 29084  
 29085  // Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only
 29086  // valid with 3_2_LFE coding mode.
 29087  const (
 29088  	// Eac3LfeFilterEnabled is a Eac3LfeFilter enum value
 29089  	Eac3LfeFilterEnabled = "ENABLED"
 29090  
 29091  	// Eac3LfeFilterDisabled is a Eac3LfeFilter enum value
 29092  	Eac3LfeFilterDisabled = "DISABLED"
 29093  )
 29094  
 29095  // Eac3LfeFilter_Values returns all elements of the Eac3LfeFilter enum
 29096  func Eac3LfeFilter_Values() []string {
 29097  	return []string{
 29098  		Eac3LfeFilterEnabled,
 29099  		Eac3LfeFilterDisabled,
 29100  	}
 29101  }
 29102  
 29103  // When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+,
 29104  // or DolbyE decoder that supplied this audio data. If audio was not supplied
 29105  // from one of these streams, then the static metadata settings will be used.
 29106  const (
 29107  	// Eac3MetadataControlFollowInput is a Eac3MetadataControl enum value
 29108  	Eac3MetadataControlFollowInput = "FOLLOW_INPUT"
 29109  
 29110  	// Eac3MetadataControlUseConfigured is a Eac3MetadataControl enum value
 29111  	Eac3MetadataControlUseConfigured = "USE_CONFIGURED"
 29112  )
 29113  
 29114  // Eac3MetadataControl_Values returns all elements of the Eac3MetadataControl enum
 29115  func Eac3MetadataControl_Values() []string {
 29116  	return []string{
 29117  		Eac3MetadataControlFollowInput,
 29118  		Eac3MetadataControlUseConfigured,
 29119  	}
 29120  }
 29121  
 29122  // When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is
 29123  // present on the input. this detection is dynamic over the life of the transcode.
 29124  // Inputs that alternate between DD+ and non-DD+ content will have a consistent
 29125  // DD+ output as the system alternates between passthrough and encoding.
 29126  const (
 29127  	// Eac3PassthroughControlWhenPossible is a Eac3PassthroughControl enum value
 29128  	Eac3PassthroughControlWhenPossible = "WHEN_POSSIBLE"
 29129  
 29130  	// Eac3PassthroughControlNoPassthrough is a Eac3PassthroughControl enum value
 29131  	Eac3PassthroughControlNoPassthrough = "NO_PASSTHROUGH"
 29132  )
 29133  
 29134  // Eac3PassthroughControl_Values returns all elements of the Eac3PassthroughControl enum
 29135  func Eac3PassthroughControl_Values() []string {
 29136  	return []string{
 29137  		Eac3PassthroughControlWhenPossible,
 29138  		Eac3PassthroughControlNoPassthrough,
 29139  	}
 29140  }
 29141  
 29142  // Controls the amount of phase-shift applied to the surround channels. Only
 29143  // used for 3/2 coding mode.
 29144  const (
 29145  	// Eac3PhaseControlShift90Degrees is a Eac3PhaseControl enum value
 29146  	Eac3PhaseControlShift90Degrees = "SHIFT_90_DEGREES"
 29147  
 29148  	// Eac3PhaseControlNoShift is a Eac3PhaseControl enum value
 29149  	Eac3PhaseControlNoShift = "NO_SHIFT"
 29150  )
 29151  
 29152  // Eac3PhaseControl_Values returns all elements of the Eac3PhaseControl enum
 29153  func Eac3PhaseControl_Values() []string {
 29154  	return []string{
 29155  		Eac3PhaseControlShift90Degrees,
 29156  		Eac3PhaseControlNoShift,
 29157  	}
 29158  }
 29159  
 29160  // Choose how the service does stereo downmixing. This setting only applies
 29161  // if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2)
 29162  // for the setting Coding mode (Eac3CodingMode). If you choose a different value
 29163  // for Coding mode, the service ignores Stereo downmix (Eac3StereoDownmix).
 29164  const (
 29165  	// Eac3StereoDownmixNotIndicated is a Eac3StereoDownmix enum value
 29166  	Eac3StereoDownmixNotIndicated = "NOT_INDICATED"
 29167  
 29168  	// Eac3StereoDownmixLoRo is a Eac3StereoDownmix enum value
 29169  	Eac3StereoDownmixLoRo = "LO_RO"
 29170  
 29171  	// Eac3StereoDownmixLtRt is a Eac3StereoDownmix enum value
 29172  	Eac3StereoDownmixLtRt = "LT_RT"
 29173  
 29174  	// Eac3StereoDownmixDpl2 is a Eac3StereoDownmix enum value
 29175  	Eac3StereoDownmixDpl2 = "DPL2"
 29176  )
 29177  
 29178  // Eac3StereoDownmix_Values returns all elements of the Eac3StereoDownmix enum
 29179  func Eac3StereoDownmix_Values() []string {
 29180  	return []string{
 29181  		Eac3StereoDownmixNotIndicated,
 29182  		Eac3StereoDownmixLoRo,
 29183  		Eac3StereoDownmixLtRt,
 29184  		Eac3StereoDownmixDpl2,
 29185  	}
 29186  }
 29187  
 29188  // When encoding 3/2 audio, sets whether an extra center back surround channel
 29189  // is matrix encoded into the left and right surround channels.
 29190  const (
 29191  	// Eac3SurroundExModeNotIndicated is a Eac3SurroundExMode enum value
 29192  	Eac3SurroundExModeNotIndicated = "NOT_INDICATED"
 29193  
 29194  	// Eac3SurroundExModeEnabled is a Eac3SurroundExMode enum value
 29195  	Eac3SurroundExModeEnabled = "ENABLED"
 29196  
 29197  	// Eac3SurroundExModeDisabled is a Eac3SurroundExMode enum value
 29198  	Eac3SurroundExModeDisabled = "DISABLED"
 29199  )
 29200  
 29201  // Eac3SurroundExMode_Values returns all elements of the Eac3SurroundExMode enum
 29202  func Eac3SurroundExMode_Values() []string {
 29203  	return []string{
 29204  		Eac3SurroundExModeNotIndicated,
 29205  		Eac3SurroundExModeEnabled,
 29206  		Eac3SurroundExModeDisabled,
 29207  	}
 29208  }
 29209  
 29210  // When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into
 29211  // the two channels.
 29212  const (
 29213  	// Eac3SurroundModeNotIndicated is a Eac3SurroundMode enum value
 29214  	Eac3SurroundModeNotIndicated = "NOT_INDICATED"
 29215  
 29216  	// Eac3SurroundModeEnabled is a Eac3SurroundMode enum value
 29217  	Eac3SurroundModeEnabled = "ENABLED"
 29218  
 29219  	// Eac3SurroundModeDisabled is a Eac3SurroundMode enum value
 29220  	Eac3SurroundModeDisabled = "DISABLED"
 29221  )
 29222  
 29223  // Eac3SurroundMode_Values returns all elements of the Eac3SurroundMode enum
 29224  func Eac3SurroundMode_Values() []string {
 29225  	return []string{
 29226  		Eac3SurroundModeNotIndicated,
 29227  		Eac3SurroundModeEnabled,
 29228  		Eac3SurroundModeDisabled,
 29229  	}
 29230  }
 29231  
 29232  // Specify whether this set of input captions appears in your outputs in both
 29233  // 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes
 29234  // the captions data in two ways: it passes the 608 data through using the 608
 29235  // compatibility bytes fields of the 708 wrapper, and it also translates the
 29236  // 608 data into 708.
 29237  const (
 29238  	// EmbeddedConvert608To708Upconvert is a EmbeddedConvert608To708 enum value
 29239  	EmbeddedConvert608To708Upconvert = "UPCONVERT"
 29240  
 29241  	// EmbeddedConvert608To708Disabled is a EmbeddedConvert608To708 enum value
 29242  	EmbeddedConvert608To708Disabled = "DISABLED"
 29243  )
 29244  
 29245  // EmbeddedConvert608To708_Values returns all elements of the EmbeddedConvert608To708 enum
 29246  func EmbeddedConvert608To708_Values() []string {
 29247  	return []string{
 29248  		EmbeddedConvert608To708Upconvert,
 29249  		EmbeddedConvert608To708Disabled,
 29250  	}
 29251  }
 29252  
 29253  // By default, the service terminates any unterminated captions at the end of
 29254  // each input. If you want the caption to continue onto your next input, disable
 29255  // this setting.
 29256  const (
 29257  	// EmbeddedTerminateCaptionsEndOfInput is a EmbeddedTerminateCaptions enum value
 29258  	EmbeddedTerminateCaptionsEndOfInput = "END_OF_INPUT"
 29259  
 29260  	// EmbeddedTerminateCaptionsDisabled is a EmbeddedTerminateCaptions enum value
 29261  	EmbeddedTerminateCaptionsDisabled = "DISABLED"
 29262  )
 29263  
 29264  // EmbeddedTerminateCaptions_Values returns all elements of the EmbeddedTerminateCaptions enum
 29265  func EmbeddedTerminateCaptions_Values() []string {
 29266  	return []string{
 29267  		EmbeddedTerminateCaptionsEndOfInput,
 29268  		EmbeddedTerminateCaptionsDisabled,
 29269  	}
 29270  }
 29271  
 29272  // If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning
 29273  // of the archive as required for progressive downloading. Otherwise it is placed
 29274  // normally at the end.
 29275  const (
 29276  	// F4vMoovPlacementProgressiveDownload is a F4vMoovPlacement enum value
 29277  	F4vMoovPlacementProgressiveDownload = "PROGRESSIVE_DOWNLOAD"
 29278  
 29279  	// F4vMoovPlacementNormal is a F4vMoovPlacement enum value
 29280  	F4vMoovPlacementNormal = "NORMAL"
 29281  )
 29282  
 29283  // F4vMoovPlacement_Values returns all elements of the F4vMoovPlacement enum
 29284  func F4vMoovPlacement_Values() []string {
 29285  	return []string{
 29286  		F4vMoovPlacementProgressiveDownload,
 29287  		F4vMoovPlacementNormal,
 29288  	}
 29289  }
 29290  
 29291  // Specify whether this set of input captions appears in your outputs in both
 29292  // 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes
 29293  // the captions data in two ways: it passes the 608 data through using the 608
 29294  // compatibility bytes fields of the 708 wrapper, and it also translates the
 29295  // 608 data into 708.
 29296  const (
 29297  	// FileSourceConvert608To708Upconvert is a FileSourceConvert608To708 enum value
 29298  	FileSourceConvert608To708Upconvert = "UPCONVERT"
 29299  
 29300  	// FileSourceConvert608To708Disabled is a FileSourceConvert608To708 enum value
 29301  	FileSourceConvert608To708Disabled = "DISABLED"
 29302  )
 29303  
 29304  // FileSourceConvert608To708_Values returns all elements of the FileSourceConvert608To708 enum
 29305  func FileSourceConvert608To708_Values() []string {
 29306  	return []string{
 29307  		FileSourceConvert608To708Upconvert,
 29308  		FileSourceConvert608To708Disabled,
 29309  	}
 29310  }
 29311  
 29312  // Provide the font script, using an ISO 15924 script code, if the LanguageCode
 29313  // is not sufficient for determining the script type. Where LanguageCode or
 29314  // CustomLanguageCode is sufficient, use "AUTOMATIC" or leave unset.
 29315  const (
 29316  	// FontScriptAutomatic is a FontScript enum value
 29317  	FontScriptAutomatic = "AUTOMATIC"
 29318  
 29319  	// FontScriptHans is a FontScript enum value
 29320  	FontScriptHans = "HANS"
 29321  
 29322  	// FontScriptHant is a FontScript enum value
 29323  	FontScriptHant = "HANT"
 29324  )
 29325  
 29326  // FontScript_Values returns all elements of the FontScript enum
 29327  func FontScript_Values() []string {
 29328  	return []string{
 29329  		FontScriptAutomatic,
 29330  		FontScriptHans,
 29331  		FontScriptHant,
 29332  	}
 29333  }
 29334  
 29335  // Keep the default value, Auto (AUTO), for this setting to have MediaConvert
 29336  // automatically apply the best types of quantization for your video content.
 29337  // When you want to apply your quantization settings manually, you must set
 29338  // H264AdaptiveQuantization to a value other than Auto (AUTO). Use this setting
 29339  // to specify the strength of any adaptive quantization filters that you enable.
 29340  // If you don't want MediaConvert to do any adaptive quantization in this transcode,
 29341  // set Adaptive quantization (H264AdaptiveQuantization) to Off (OFF). Related
 29342  // settings: The value that you choose here applies to the following settings:
 29343  // H264FlickerAdaptiveQuantization, H264SpatialAdaptiveQuantization, and H264TemporalAdaptiveQuantization.
 29344  const (
 29345  	// H264AdaptiveQuantizationOff is a H264AdaptiveQuantization enum value
 29346  	H264AdaptiveQuantizationOff = "OFF"
 29347  
 29348  	// H264AdaptiveQuantizationAuto is a H264AdaptiveQuantization enum value
 29349  	H264AdaptiveQuantizationAuto = "AUTO"
 29350  
 29351  	// H264AdaptiveQuantizationLow is a H264AdaptiveQuantization enum value
 29352  	H264AdaptiveQuantizationLow = "LOW"
 29353  
 29354  	// H264AdaptiveQuantizationMedium is a H264AdaptiveQuantization enum value
 29355  	H264AdaptiveQuantizationMedium = "MEDIUM"
 29356  
 29357  	// H264AdaptiveQuantizationHigh is a H264AdaptiveQuantization enum value
 29358  	H264AdaptiveQuantizationHigh = "HIGH"
 29359  
 29360  	// H264AdaptiveQuantizationHigher is a H264AdaptiveQuantization enum value
 29361  	H264AdaptiveQuantizationHigher = "HIGHER"
 29362  
 29363  	// H264AdaptiveQuantizationMax is a H264AdaptiveQuantization enum value
 29364  	H264AdaptiveQuantizationMax = "MAX"
 29365  )
 29366  
 29367  // H264AdaptiveQuantization_Values returns all elements of the H264AdaptiveQuantization enum
 29368  func H264AdaptiveQuantization_Values() []string {
 29369  	return []string{
 29370  		H264AdaptiveQuantizationOff,
 29371  		H264AdaptiveQuantizationAuto,
 29372  		H264AdaptiveQuantizationLow,
 29373  		H264AdaptiveQuantizationMedium,
 29374  		H264AdaptiveQuantizationHigh,
 29375  		H264AdaptiveQuantizationHigher,
 29376  		H264AdaptiveQuantizationMax,
 29377  	}
 29378  }
 29379  
 29380  // Specify an H.264 level that is consistent with your output video settings.
 29381  // If you aren't sure what level to specify, choose Auto (AUTO).
 29382  const (
 29383  	// H264CodecLevelAuto is a H264CodecLevel enum value
 29384  	H264CodecLevelAuto = "AUTO"
 29385  
 29386  	// H264CodecLevelLevel1 is a H264CodecLevel enum value
 29387  	H264CodecLevelLevel1 = "LEVEL_1"
 29388  
 29389  	// H264CodecLevelLevel11 is a H264CodecLevel enum value
 29390  	H264CodecLevelLevel11 = "LEVEL_1_1"
 29391  
 29392  	// H264CodecLevelLevel12 is a H264CodecLevel enum value
 29393  	H264CodecLevelLevel12 = "LEVEL_1_2"
 29394  
 29395  	// H264CodecLevelLevel13 is a H264CodecLevel enum value
 29396  	H264CodecLevelLevel13 = "LEVEL_1_3"
 29397  
 29398  	// H264CodecLevelLevel2 is a H264CodecLevel enum value
 29399  	H264CodecLevelLevel2 = "LEVEL_2"
 29400  
 29401  	// H264CodecLevelLevel21 is a H264CodecLevel enum value
 29402  	H264CodecLevelLevel21 = "LEVEL_2_1"
 29403  
 29404  	// H264CodecLevelLevel22 is a H264CodecLevel enum value
 29405  	H264CodecLevelLevel22 = "LEVEL_2_2"
 29406  
 29407  	// H264CodecLevelLevel3 is a H264CodecLevel enum value
 29408  	H264CodecLevelLevel3 = "LEVEL_3"
 29409  
 29410  	// H264CodecLevelLevel31 is a H264CodecLevel enum value
 29411  	H264CodecLevelLevel31 = "LEVEL_3_1"
 29412  
 29413  	// H264CodecLevelLevel32 is a H264CodecLevel enum value
 29414  	H264CodecLevelLevel32 = "LEVEL_3_2"
 29415  
 29416  	// H264CodecLevelLevel4 is a H264CodecLevel enum value
 29417  	H264CodecLevelLevel4 = "LEVEL_4"
 29418  
 29419  	// H264CodecLevelLevel41 is a H264CodecLevel enum value
 29420  	H264CodecLevelLevel41 = "LEVEL_4_1"
 29421  
 29422  	// H264CodecLevelLevel42 is a H264CodecLevel enum value
 29423  	H264CodecLevelLevel42 = "LEVEL_4_2"
 29424  
 29425  	// H264CodecLevelLevel5 is a H264CodecLevel enum value
 29426  	H264CodecLevelLevel5 = "LEVEL_5"
 29427  
 29428  	// H264CodecLevelLevel51 is a H264CodecLevel enum value
 29429  	H264CodecLevelLevel51 = "LEVEL_5_1"
 29430  
 29431  	// H264CodecLevelLevel52 is a H264CodecLevel enum value
 29432  	H264CodecLevelLevel52 = "LEVEL_5_2"
 29433  )
 29434  
 29435  // H264CodecLevel_Values returns all elements of the H264CodecLevel enum
 29436  func H264CodecLevel_Values() []string {
 29437  	return []string{
 29438  		H264CodecLevelAuto,
 29439  		H264CodecLevelLevel1,
 29440  		H264CodecLevelLevel11,
 29441  		H264CodecLevelLevel12,
 29442  		H264CodecLevelLevel13,
 29443  		H264CodecLevelLevel2,
 29444  		H264CodecLevelLevel21,
 29445  		H264CodecLevelLevel22,
 29446  		H264CodecLevelLevel3,
 29447  		H264CodecLevelLevel31,
 29448  		H264CodecLevelLevel32,
 29449  		H264CodecLevelLevel4,
 29450  		H264CodecLevelLevel41,
 29451  		H264CodecLevelLevel42,
 29452  		H264CodecLevelLevel5,
 29453  		H264CodecLevelLevel51,
 29454  		H264CodecLevelLevel52,
 29455  	}
 29456  }
 29457  
 29458  // H.264 Profile. High 4:2:2 and 10-bit profiles are only available with the
 29459  // AVC-I License.
 29460  const (
 29461  	// H264CodecProfileBaseline is a H264CodecProfile enum value
 29462  	H264CodecProfileBaseline = "BASELINE"
 29463  
 29464  	// H264CodecProfileHigh is a H264CodecProfile enum value
 29465  	H264CodecProfileHigh = "HIGH"
 29466  
 29467  	// H264CodecProfileHigh10bit is a H264CodecProfile enum value
 29468  	H264CodecProfileHigh10bit = "HIGH_10BIT"
 29469  
 29470  	// H264CodecProfileHigh422 is a H264CodecProfile enum value
 29471  	H264CodecProfileHigh422 = "HIGH_422"
 29472  
 29473  	// H264CodecProfileHigh42210bit is a H264CodecProfile enum value
 29474  	H264CodecProfileHigh42210bit = "HIGH_422_10BIT"
 29475  
 29476  	// H264CodecProfileMain is a H264CodecProfile enum value
 29477  	H264CodecProfileMain = "MAIN"
 29478  )
 29479  
 29480  // H264CodecProfile_Values returns all elements of the H264CodecProfile enum
 29481  func H264CodecProfile_Values() []string {
 29482  	return []string{
 29483  		H264CodecProfileBaseline,
 29484  		H264CodecProfileHigh,
 29485  		H264CodecProfileHigh10bit,
 29486  		H264CodecProfileHigh422,
 29487  		H264CodecProfileHigh42210bit,
 29488  		H264CodecProfileMain,
 29489  	}
 29490  }
 29491  
 29492  // Choose Adaptive to improve subjective video quality for high-motion content.
 29493  // This will cause the service to use fewer B-frames (which infer information
 29494  // based on other frames) for high-motion portions of the video and more B-frames
 29495  // for low-motion portions. The maximum number of B-frames is limited by the
 29496  // value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).
 29497  const (
 29498  	// H264DynamicSubGopAdaptive is a H264DynamicSubGop enum value
 29499  	H264DynamicSubGopAdaptive = "ADAPTIVE"
 29500  
 29501  	// H264DynamicSubGopStatic is a H264DynamicSubGop enum value
 29502  	H264DynamicSubGopStatic = "STATIC"
 29503  )
 29504  
 29505  // H264DynamicSubGop_Values returns all elements of the H264DynamicSubGop enum
 29506  func H264DynamicSubGop_Values() []string {
 29507  	return []string{
 29508  		H264DynamicSubGopAdaptive,
 29509  		H264DynamicSubGopStatic,
 29510  	}
 29511  }
 29512  
 29513  // Entropy encoding mode. Use CABAC (must be in Main or High profile) or CAVLC.
 29514  const (
 29515  	// H264EntropyEncodingCabac is a H264EntropyEncoding enum value
 29516  	H264EntropyEncodingCabac = "CABAC"
 29517  
 29518  	// H264EntropyEncodingCavlc is a H264EntropyEncoding enum value
 29519  	H264EntropyEncodingCavlc = "CAVLC"
 29520  )
 29521  
 29522  // H264EntropyEncoding_Values returns all elements of the H264EntropyEncoding enum
 29523  func H264EntropyEncoding_Values() []string {
 29524  	return []string{
 29525  		H264EntropyEncodingCabac,
 29526  		H264EntropyEncodingCavlc,
 29527  	}
 29528  }
 29529  
 29530  // The video encoding method for your MPEG-4 AVC output. Keep the default value,
 29531  // PAFF, to have MediaConvert use PAFF encoding for interlaced outputs. Choose
 29532  // Force field (FORCE_FIELD) to disable PAFF encoding and create separate interlaced
 29533  // fields. Choose MBAFF to disable PAFF and have MediaConvert use MBAFF encoding
 29534  // for interlaced outputs.
 29535  const (
 29536  	// H264FieldEncodingPaff is a H264FieldEncoding enum value
 29537  	H264FieldEncodingPaff = "PAFF"
 29538  
 29539  	// H264FieldEncodingForceField is a H264FieldEncoding enum value
 29540  	H264FieldEncodingForceField = "FORCE_FIELD"
 29541  
 29542  	// H264FieldEncodingMbaff is a H264FieldEncoding enum value
 29543  	H264FieldEncodingMbaff = "MBAFF"
 29544  )
 29545  
 29546  // H264FieldEncoding_Values returns all elements of the H264FieldEncoding enum
 29547  func H264FieldEncoding_Values() []string {
 29548  	return []string{
 29549  		H264FieldEncodingPaff,
 29550  		H264FieldEncodingForceField,
 29551  		H264FieldEncodingMbaff,
 29552  	}
 29553  }
 29554  
 29555  // Only use this setting when you change the default value, AUTO, for the setting
 29556  // H264AdaptiveQuantization. When you keep all defaults, excluding H264AdaptiveQuantization
 29557  // and all other adaptive quantization from your JSON job specification, MediaConvert
 29558  // automatically applies the best types of quantization for your video content.
 29559  // When you set H264AdaptiveQuantization to a value other than AUTO, the default
 29560  // value for H264FlickerAdaptiveQuantization is Disabled (DISABLED). Change
 29561  // this value to Enabled (ENABLED) to reduce I-frame pop. I-frame pop appears
 29562  // as a visual flicker that can arise when the encoder saves bits by copying
 29563  // some macroblocks many times from frame to frame, and then refreshes them
 29564  // at the I-frame. When you enable this setting, the encoder updates these macroblocks
 29565  // slightly more often to smooth out the flicker. To manually enable or disable
 29566  // H264FlickerAdaptiveQuantization, you must set Adaptive quantization (H264AdaptiveQuantization)
 29567  // to a value other than AUTO.
 29568  const (
 29569  	// H264FlickerAdaptiveQuantizationDisabled is a H264FlickerAdaptiveQuantization enum value
 29570  	H264FlickerAdaptiveQuantizationDisabled = "DISABLED"
 29571  
 29572  	// H264FlickerAdaptiveQuantizationEnabled is a H264FlickerAdaptiveQuantization enum value
 29573  	H264FlickerAdaptiveQuantizationEnabled = "ENABLED"
 29574  )
 29575  
 29576  // H264FlickerAdaptiveQuantization_Values returns all elements of the H264FlickerAdaptiveQuantization enum
 29577  func H264FlickerAdaptiveQuantization_Values() []string {
 29578  	return []string{
 29579  		H264FlickerAdaptiveQuantizationDisabled,
 29580  		H264FlickerAdaptiveQuantizationEnabled,
 29581  	}
 29582  }
 29583  
 29584  // If you are using the console, use the Framerate setting to specify the frame
 29585  // rate for this output. If you want to keep the same frame rate as the input
 29586  // video, choose Follow source. If you want to do frame rate conversion, choose
 29587  // a frame rate from the dropdown list or choose Custom. The framerates shown
 29588  // in the dropdown list are decimal approximations of fractions. If you choose
 29589  // Custom, specify your frame rate as a fraction. If you are creating your transcoding
 29590  // job specification as a JSON file without the console, use FramerateControl
 29591  // to specify which value the service uses for the frame rate for this output.
 29592  // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 29593  // from the input. Choose SPECIFIED if you want the service to use the frame
 29594  // rate you specify in the settings FramerateNumerator and FramerateDenominator.
 29595  const (
 29596  	// H264FramerateControlInitializeFromSource is a H264FramerateControl enum value
 29597  	H264FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 29598  
 29599  	// H264FramerateControlSpecified is a H264FramerateControl enum value
 29600  	H264FramerateControlSpecified = "SPECIFIED"
 29601  )
 29602  
 29603  // H264FramerateControl_Values returns all elements of the H264FramerateControl enum
 29604  func H264FramerateControl_Values() []string {
 29605  	return []string{
 29606  		H264FramerateControlInitializeFromSource,
 29607  		H264FramerateControlSpecified,
 29608  	}
 29609  }
 29610  
 29611  // Choose the method that you want MediaConvert to use when increasing or decreasing
 29612  // the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 29613  // simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 29614  // you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 29615  // smooth picture, but might introduce undesirable video artifacts. For complex
 29616  // frame rate conversions, especially if your source video has already been
 29617  // converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 29618  // motion-compensated interpolation. FrameFormer chooses the best conversion
 29619  // method frame by frame. Note that using FrameFormer increases the transcoding
 29620  // time and incurs a significant add-on cost.
 29621  const (
 29622  	// H264FramerateConversionAlgorithmDuplicateDrop is a H264FramerateConversionAlgorithm enum value
 29623  	H264FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP"
 29624  
 29625  	// H264FramerateConversionAlgorithmInterpolate is a H264FramerateConversionAlgorithm enum value
 29626  	H264FramerateConversionAlgorithmInterpolate = "INTERPOLATE"
 29627  
 29628  	// H264FramerateConversionAlgorithmFrameformer is a H264FramerateConversionAlgorithm enum value
 29629  	H264FramerateConversionAlgorithmFrameformer = "FRAMEFORMER"
 29630  )
 29631  
 29632  // H264FramerateConversionAlgorithm_Values returns all elements of the H264FramerateConversionAlgorithm enum
 29633  func H264FramerateConversionAlgorithm_Values() []string {
 29634  	return []string{
 29635  		H264FramerateConversionAlgorithmDuplicateDrop,
 29636  		H264FramerateConversionAlgorithmInterpolate,
 29637  		H264FramerateConversionAlgorithmFrameformer,
 29638  	}
 29639  }
 29640  
 29641  // If enable, use reference B frames for GOP structures that have B frames >
 29642  // 1.
 29643  const (
 29644  	// H264GopBReferenceDisabled is a H264GopBReference enum value
 29645  	H264GopBReferenceDisabled = "DISABLED"
 29646  
 29647  	// H264GopBReferenceEnabled is a H264GopBReference enum value
 29648  	H264GopBReferenceEnabled = "ENABLED"
 29649  )
 29650  
 29651  // H264GopBReference_Values returns all elements of the H264GopBReference enum
 29652  func H264GopBReference_Values() []string {
 29653  	return []string{
 29654  		H264GopBReferenceDisabled,
 29655  		H264GopBReferenceEnabled,
 29656  	}
 29657  }
 29658  
 29659  // Indicates if the GOP Size in H264 is specified in frames or seconds. If seconds
 29660  // the system will convert the GOP Size into a frame count at run time.
 29661  const (
 29662  	// H264GopSizeUnitsFrames is a H264GopSizeUnits enum value
 29663  	H264GopSizeUnitsFrames = "FRAMES"
 29664  
 29665  	// H264GopSizeUnitsSeconds is a H264GopSizeUnits enum value
 29666  	H264GopSizeUnitsSeconds = "SECONDS"
 29667  )
 29668  
 29669  // H264GopSizeUnits_Values returns all elements of the H264GopSizeUnits enum
 29670  func H264GopSizeUnits_Values() []string {
 29671  	return []string{
 29672  		H264GopSizeUnitsFrames,
 29673  		H264GopSizeUnitsSeconds,
 29674  	}
 29675  }
 29676  
 29677  // Choose the scan line type for the output. Keep the default value, Progressive
 29678  // (PROGRESSIVE) to create a progressive output, regardless of the scan type
 29679  // of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD)
 29680  // to create an output that's interlaced with the same field polarity throughout.
 29681  // Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD)
 29682  // to produce outputs with the same field polarity as the source. For jobs that
 29683  // have multiple inputs, the output field polarity might change over the course
 29684  // of the output. Follow behavior depends on the input scan type. If the source
 29685  // is interlaced, the output will be interlaced with the same polarity as the
 29686  // source. If the source is progressive, the output will be interlaced with
 29687  // top field bottom field first, depending on which of the Follow options you
 29688  // choose.
 29689  const (
 29690  	// H264InterlaceModeProgressive is a H264InterlaceMode enum value
 29691  	H264InterlaceModeProgressive = "PROGRESSIVE"
 29692  
 29693  	// H264InterlaceModeTopField is a H264InterlaceMode enum value
 29694  	H264InterlaceModeTopField = "TOP_FIELD"
 29695  
 29696  	// H264InterlaceModeBottomField is a H264InterlaceMode enum value
 29697  	H264InterlaceModeBottomField = "BOTTOM_FIELD"
 29698  
 29699  	// H264InterlaceModeFollowTopField is a H264InterlaceMode enum value
 29700  	H264InterlaceModeFollowTopField = "FOLLOW_TOP_FIELD"
 29701  
 29702  	// H264InterlaceModeFollowBottomField is a H264InterlaceMode enum value
 29703  	H264InterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD"
 29704  )
 29705  
 29706  // H264InterlaceMode_Values returns all elements of the H264InterlaceMode enum
 29707  func H264InterlaceMode_Values() []string {
 29708  	return []string{
 29709  		H264InterlaceModeProgressive,
 29710  		H264InterlaceModeTopField,
 29711  		H264InterlaceModeBottomField,
 29712  		H264InterlaceModeFollowTopField,
 29713  		H264InterlaceModeFollowBottomField,
 29714  	}
 29715  }
 29716  
 29717  // Optional. Specify how the service determines the pixel aspect ratio (PAR)
 29718  // for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE),
 29719  // uses the PAR from your input video for your output. To specify a different
 29720  // PAR in the console, choose any value other than Follow source. To specify
 29721  // a different PAR by editing the JSON job specification, choose SPECIFIED.
 29722  // When you choose SPECIFIED for this setting, you must also specify values
 29723  // for the parNumerator and parDenominator settings.
 29724  const (
 29725  	// H264ParControlInitializeFromSource is a H264ParControl enum value
 29726  	H264ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 29727  
 29728  	// H264ParControlSpecified is a H264ParControl enum value
 29729  	H264ParControlSpecified = "SPECIFIED"
 29730  )
 29731  
 29732  // H264ParControl_Values returns all elements of the H264ParControl enum
 29733  func H264ParControl_Values() []string {
 29734  	return []string{
 29735  		H264ParControlInitializeFromSource,
 29736  		H264ParControlSpecified,
 29737  	}
 29738  }
 29739  
 29740  // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you
 29741  // want to trade off encoding speed for output video quality. The default behavior
 29742  // is faster, lower quality, single-pass encoding.
 29743  const (
 29744  	// H264QualityTuningLevelSinglePass is a H264QualityTuningLevel enum value
 29745  	H264QualityTuningLevelSinglePass = "SINGLE_PASS"
 29746  
 29747  	// H264QualityTuningLevelSinglePassHq is a H264QualityTuningLevel enum value
 29748  	H264QualityTuningLevelSinglePassHq = "SINGLE_PASS_HQ"
 29749  
 29750  	// H264QualityTuningLevelMultiPassHq is a H264QualityTuningLevel enum value
 29751  	H264QualityTuningLevelMultiPassHq = "MULTI_PASS_HQ"
 29752  )
 29753  
 29754  // H264QualityTuningLevel_Values returns all elements of the H264QualityTuningLevel enum
 29755  func H264QualityTuningLevel_Values() []string {
 29756  	return []string{
 29757  		H264QualityTuningLevelSinglePass,
 29758  		H264QualityTuningLevelSinglePassHq,
 29759  		H264QualityTuningLevelMultiPassHq,
 29760  	}
 29761  }
 29762  
 29763  // Use this setting to specify whether this output has a variable bitrate (VBR),
 29764  // constant bitrate (CBR) or quality-defined variable bitrate (QVBR).
 29765  const (
 29766  	// H264RateControlModeVbr is a H264RateControlMode enum value
 29767  	H264RateControlModeVbr = "VBR"
 29768  
 29769  	// H264RateControlModeCbr is a H264RateControlMode enum value
 29770  	H264RateControlModeCbr = "CBR"
 29771  
 29772  	// H264RateControlModeQvbr is a H264RateControlMode enum value
 29773  	H264RateControlModeQvbr = "QVBR"
 29774  )
 29775  
 29776  // H264RateControlMode_Values returns all elements of the H264RateControlMode enum
 29777  func H264RateControlMode_Values() []string {
 29778  	return []string{
 29779  		H264RateControlModeVbr,
 29780  		H264RateControlModeCbr,
 29781  		H264RateControlModeQvbr,
 29782  	}
 29783  }
 29784  
 29785  // Places a PPS header on each encoded picture, even if repeated.
 29786  const (
 29787  	// H264RepeatPpsDisabled is a H264RepeatPps enum value
 29788  	H264RepeatPpsDisabled = "DISABLED"
 29789  
 29790  	// H264RepeatPpsEnabled is a H264RepeatPps enum value
 29791  	H264RepeatPpsEnabled = "ENABLED"
 29792  )
 29793  
 29794  // H264RepeatPps_Values returns all elements of the H264RepeatPps enum
 29795  func H264RepeatPps_Values() []string {
 29796  	return []string{
 29797  		H264RepeatPpsDisabled,
 29798  		H264RepeatPpsEnabled,
 29799  	}
 29800  }
 29801  
 29802  // Use this setting for interlaced outputs, when your output frame rate is half
 29803  // of your input frame rate. In this situation, choose Optimized interlacing
 29804  // (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this
 29805  // case, each progressive frame from the input corresponds to an interlaced
 29806  // field in the output. Keep the default value, Basic interlacing (INTERLACED),
 29807  // for all other output frame rates. With basic interlacing, MediaConvert performs
 29808  // any frame rate conversion first and then interlaces the frames. When you
 29809  // choose Optimized interlacing and you set your output frame rate to a value
 29810  // that isn't suitable for optimized interlacing, MediaConvert automatically
 29811  // falls back to basic interlacing. Required settings: To use optimized interlacing,
 29812  // you must set Telecine (telecine) to None (NONE) or Soft (SOFT). You can't
 29813  // use optimized interlacing for hard telecine outputs. You must also set Interlace
 29814  // mode (interlaceMode) to a value other than Progressive (PROGRESSIVE).
 29815  const (
 29816  	// H264ScanTypeConversionModeInterlaced is a H264ScanTypeConversionMode enum value
 29817  	H264ScanTypeConversionModeInterlaced = "INTERLACED"
 29818  
 29819  	// H264ScanTypeConversionModeInterlacedOptimize is a H264ScanTypeConversionMode enum value
 29820  	H264ScanTypeConversionModeInterlacedOptimize = "INTERLACED_OPTIMIZE"
 29821  )
 29822  
 29823  // H264ScanTypeConversionMode_Values returns all elements of the H264ScanTypeConversionMode enum
 29824  func H264ScanTypeConversionMode_Values() []string {
 29825  	return []string{
 29826  		H264ScanTypeConversionModeInterlaced,
 29827  		H264ScanTypeConversionModeInterlacedOptimize,
 29828  	}
 29829  }
 29830  
 29831  // Enable this setting to insert I-frames at scene changes that the service
 29832  // automatically detects. This improves video quality and is enabled by default.
 29833  // If this output uses QVBR, choose Transition detection (TRANSITION_DETECTION)
 29834  // for further video quality improvement. For more information about QVBR, see
 29835  // https://docs.aws.amazon.com/console/mediaconvert/cbr-vbr-qvbr.
 29836  const (
 29837  	// H264SceneChangeDetectDisabled is a H264SceneChangeDetect enum value
 29838  	H264SceneChangeDetectDisabled = "DISABLED"
 29839  
 29840  	// H264SceneChangeDetectEnabled is a H264SceneChangeDetect enum value
 29841  	H264SceneChangeDetectEnabled = "ENABLED"
 29842  
 29843  	// H264SceneChangeDetectTransitionDetection is a H264SceneChangeDetect enum value
 29844  	H264SceneChangeDetectTransitionDetection = "TRANSITION_DETECTION"
 29845  )
 29846  
 29847  // H264SceneChangeDetect_Values returns all elements of the H264SceneChangeDetect enum
 29848  func H264SceneChangeDetect_Values() []string {
 29849  	return []string{
 29850  		H264SceneChangeDetectDisabled,
 29851  		H264SceneChangeDetectEnabled,
 29852  		H264SceneChangeDetectTransitionDetection,
 29853  	}
 29854  }
 29855  
 29856  // Ignore this setting unless your input frame rate is 23.976 or 24 frames per
 29857  // second (fps). Enable slow PAL to create a 25 fps output. When you enable
 29858  // slow PAL, MediaConvert relabels the video frames to 25 fps and resamples
 29859  // your audio to keep it synchronized with the video. Note that enabling this
 29860  // setting will slightly reduce the duration of your video. Required settings:
 29861  // You must also set Framerate to 25. In your JSON job specification, set (framerateControl)
 29862  // to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to
 29863  // 1.
 29864  const (
 29865  	// H264SlowPalDisabled is a H264SlowPal enum value
 29866  	H264SlowPalDisabled = "DISABLED"
 29867  
 29868  	// H264SlowPalEnabled is a H264SlowPal enum value
 29869  	H264SlowPalEnabled = "ENABLED"
 29870  )
 29871  
 29872  // H264SlowPal_Values returns all elements of the H264SlowPal enum
 29873  func H264SlowPal_Values() []string {
 29874  	return []string{
 29875  		H264SlowPalDisabled,
 29876  		H264SlowPalEnabled,
 29877  	}
 29878  }
 29879  
 29880  // Only use this setting when you change the default value, Auto (AUTO), for
 29881  // the setting H264AdaptiveQuantization. When you keep all defaults, excluding
 29882  // H264AdaptiveQuantization and all other adaptive quantization from your JSON
 29883  // job specification, MediaConvert automatically applies the best types of quantization
 29884  // for your video content. When you set H264AdaptiveQuantization to a value
 29885  // other than AUTO, the default value for H264SpatialAdaptiveQuantization is
 29886  // Enabled (ENABLED). Keep this default value to adjust quantization within
 29887  // each frame based on spatial variation of content complexity. When you enable
 29888  // this feature, the encoder uses fewer bits on areas that can sustain more
 29889  // distortion with no noticeable visual degradation and uses more bits on areas
 29890  // where any small distortion will be noticeable. For example, complex textured
 29891  // blocks are encoded with fewer bits and smooth textured blocks are encoded
 29892  // with more bits. Enabling this feature will almost always improve your video
 29893  // quality. Note, though, that this feature doesn't take into account where
 29894  // the viewer's attention is likely to be. If viewers are likely to be focusing
 29895  // their attention on a part of the screen with a lot of complex texture, you
 29896  // might choose to set H264SpatialAdaptiveQuantization to Disabled (DISABLED).
 29897  // Related setting: When you enable spatial adaptive quantization, set the value
 29898  // for Adaptive quantization (H264AdaptiveQuantization) depending on your content.
 29899  // For homogeneous content, such as cartoons and video games, set it to Low.
 29900  // For content with a wider variety of textures, set it to High or Higher. To
 29901  // manually enable or disable H264SpatialAdaptiveQuantization, you must set
 29902  // Adaptive quantization (H264AdaptiveQuantization) to a value other than AUTO.
 29903  const (
 29904  	// H264SpatialAdaptiveQuantizationDisabled is a H264SpatialAdaptiveQuantization enum value
 29905  	H264SpatialAdaptiveQuantizationDisabled = "DISABLED"
 29906  
 29907  	// H264SpatialAdaptiveQuantizationEnabled is a H264SpatialAdaptiveQuantization enum value
 29908  	H264SpatialAdaptiveQuantizationEnabled = "ENABLED"
 29909  )
 29910  
 29911  // H264SpatialAdaptiveQuantization_Values returns all elements of the H264SpatialAdaptiveQuantization enum
 29912  func H264SpatialAdaptiveQuantization_Values() []string {
 29913  	return []string{
 29914  		H264SpatialAdaptiveQuantizationDisabled,
 29915  		H264SpatialAdaptiveQuantizationEnabled,
 29916  	}
 29917  }
 29918  
 29919  // Produces a bitstream compliant with SMPTE RP-2027.
 29920  const (
 29921  	// H264SyntaxDefault is a H264Syntax enum value
 29922  	H264SyntaxDefault = "DEFAULT"
 29923  
 29924  	// H264SyntaxRp2027 is a H264Syntax enum value
 29925  	H264SyntaxRp2027 = "RP2027"
 29926  )
 29927  
 29928  // H264Syntax_Values returns all elements of the H264Syntax enum
 29929  func H264Syntax_Values() []string {
 29930  	return []string{
 29931  		H264SyntaxDefault,
 29932  		H264SyntaxRp2027,
 29933  	}
 29934  }
 29935  
 29936  // When you do frame rate conversion from 23.976 frames per second (fps) to
 29937  // 29.97 fps, and your output scan type is interlaced, you can optionally enable
 29938  // hard or soft telecine to create a smoother picture. Hard telecine (HARD)
 29939  // produces a 29.97i output. Soft telecine (SOFT) produces an output with a
 29940  // 23.976 output that signals to the video player device to do the conversion
 29941  // during play back. When you keep the default value, None (NONE), MediaConvert
 29942  // does a standard frame rate conversion to 29.97 without doing anything with
 29943  // the field polarity to create a smoother picture.
 29944  const (
 29945  	// H264TelecineNone is a H264Telecine enum value
 29946  	H264TelecineNone = "NONE"
 29947  
 29948  	// H264TelecineSoft is a H264Telecine enum value
 29949  	H264TelecineSoft = "SOFT"
 29950  
 29951  	// H264TelecineHard is a H264Telecine enum value
 29952  	H264TelecineHard = "HARD"
 29953  )
 29954  
 29955  // H264Telecine_Values returns all elements of the H264Telecine enum
 29956  func H264Telecine_Values() []string {
 29957  	return []string{
 29958  		H264TelecineNone,
 29959  		H264TelecineSoft,
 29960  		H264TelecineHard,
 29961  	}
 29962  }
 29963  
 29964  // Only use this setting when you change the default value, AUTO, for the setting
 29965  // H264AdaptiveQuantization. When you keep all defaults, excluding H264AdaptiveQuantization
 29966  // and all other adaptive quantization from your JSON job specification, MediaConvert
 29967  // automatically applies the best types of quantization for your video content.
 29968  // When you set H264AdaptiveQuantization to a value other than AUTO, the default
 29969  // value for H264TemporalAdaptiveQuantization is Enabled (ENABLED). Keep this
 29970  // default value to adjust quantization within each frame based on temporal
 29971  // variation of content complexity. When you enable this feature, the encoder
 29972  // uses fewer bits on areas of the frame that aren't moving and uses more bits
 29973  // on complex objects with sharp edges that move a lot. For example, this feature
 29974  // improves the readability of text tickers on newscasts and scoreboards on
 29975  // sports matches. Enabling this feature will almost always improve your video
 29976  // quality. Note, though, that this feature doesn't take into account where
 29977  // the viewer's attention is likely to be. If viewers are likely to be focusing
 29978  // their attention on a part of the screen that doesn't have moving objects
 29979  // with sharp edges, such as sports athletes' faces, you might choose to set
 29980  // H264TemporalAdaptiveQuantization to Disabled (DISABLED). Related setting:
 29981  // When you enable temporal quantization, adjust the strength of the filter
 29982  // with the setting Adaptive quantization (adaptiveQuantization). To manually
 29983  // enable or disable H264TemporalAdaptiveQuantization, you must set Adaptive
 29984  // quantization (H264AdaptiveQuantization) to a value other than AUTO.
 29985  const (
 29986  	// H264TemporalAdaptiveQuantizationDisabled is a H264TemporalAdaptiveQuantization enum value
 29987  	H264TemporalAdaptiveQuantizationDisabled = "DISABLED"
 29988  
 29989  	// H264TemporalAdaptiveQuantizationEnabled is a H264TemporalAdaptiveQuantization enum value
 29990  	H264TemporalAdaptiveQuantizationEnabled = "ENABLED"
 29991  )
 29992  
 29993  // H264TemporalAdaptiveQuantization_Values returns all elements of the H264TemporalAdaptiveQuantization enum
 29994  func H264TemporalAdaptiveQuantization_Values() []string {
 29995  	return []string{
 29996  		H264TemporalAdaptiveQuantizationDisabled,
 29997  		H264TemporalAdaptiveQuantizationEnabled,
 29998  	}
 29999  }
 30000  
 30001  // Inserts timecode for each frame as 4 bytes of an unregistered SEI message.
 30002  const (
 30003  	// H264UnregisteredSeiTimecodeDisabled is a H264UnregisteredSeiTimecode enum value
 30004  	H264UnregisteredSeiTimecodeDisabled = "DISABLED"
 30005  
 30006  	// H264UnregisteredSeiTimecodeEnabled is a H264UnregisteredSeiTimecode enum value
 30007  	H264UnregisteredSeiTimecodeEnabled = "ENABLED"
 30008  )
 30009  
 30010  // H264UnregisteredSeiTimecode_Values returns all elements of the H264UnregisteredSeiTimecode enum
 30011  func H264UnregisteredSeiTimecode_Values() []string {
 30012  	return []string{
 30013  		H264UnregisteredSeiTimecodeDisabled,
 30014  		H264UnregisteredSeiTimecodeEnabled,
 30015  	}
 30016  }
 30017  
 30018  // Specify the strength of any adaptive quantization filters that you enable.
 30019  // The value that you choose here applies to the following settings: Flicker
 30020  // adaptive quantization (flickerAdaptiveQuantization), Spatial adaptive quantization
 30021  // (spatialAdaptiveQuantization), and Temporal adaptive quantization (temporalAdaptiveQuantization).
 30022  const (
 30023  	// H265AdaptiveQuantizationOff is a H265AdaptiveQuantization enum value
 30024  	H265AdaptiveQuantizationOff = "OFF"
 30025  
 30026  	// H265AdaptiveQuantizationLow is a H265AdaptiveQuantization enum value
 30027  	H265AdaptiveQuantizationLow = "LOW"
 30028  
 30029  	// H265AdaptiveQuantizationMedium is a H265AdaptiveQuantization enum value
 30030  	H265AdaptiveQuantizationMedium = "MEDIUM"
 30031  
 30032  	// H265AdaptiveQuantizationHigh is a H265AdaptiveQuantization enum value
 30033  	H265AdaptiveQuantizationHigh = "HIGH"
 30034  
 30035  	// H265AdaptiveQuantizationHigher is a H265AdaptiveQuantization enum value
 30036  	H265AdaptiveQuantizationHigher = "HIGHER"
 30037  
 30038  	// H265AdaptiveQuantizationMax is a H265AdaptiveQuantization enum value
 30039  	H265AdaptiveQuantizationMax = "MAX"
 30040  )
 30041  
 30042  // H265AdaptiveQuantization_Values returns all elements of the H265AdaptiveQuantization enum
 30043  func H265AdaptiveQuantization_Values() []string {
 30044  	return []string{
 30045  		H265AdaptiveQuantizationOff,
 30046  		H265AdaptiveQuantizationLow,
 30047  		H265AdaptiveQuantizationMedium,
 30048  		H265AdaptiveQuantizationHigh,
 30049  		H265AdaptiveQuantizationHigher,
 30050  		H265AdaptiveQuantizationMax,
 30051  	}
 30052  }
 30053  
 30054  // Enables Alternate Transfer Function SEI message for outputs using Hybrid
 30055  // Log Gamma (HLG) Electro-Optical Transfer Function (EOTF).
 30056  const (
 30057  	// H265AlternateTransferFunctionSeiDisabled is a H265AlternateTransferFunctionSei enum value
 30058  	H265AlternateTransferFunctionSeiDisabled = "DISABLED"
 30059  
 30060  	// H265AlternateTransferFunctionSeiEnabled is a H265AlternateTransferFunctionSei enum value
 30061  	H265AlternateTransferFunctionSeiEnabled = "ENABLED"
 30062  )
 30063  
 30064  // H265AlternateTransferFunctionSei_Values returns all elements of the H265AlternateTransferFunctionSei enum
 30065  func H265AlternateTransferFunctionSei_Values() []string {
 30066  	return []string{
 30067  		H265AlternateTransferFunctionSeiDisabled,
 30068  		H265AlternateTransferFunctionSeiEnabled,
 30069  	}
 30070  }
 30071  
 30072  // H.265 Level.
 30073  const (
 30074  	// H265CodecLevelAuto is a H265CodecLevel enum value
 30075  	H265CodecLevelAuto = "AUTO"
 30076  
 30077  	// H265CodecLevelLevel1 is a H265CodecLevel enum value
 30078  	H265CodecLevelLevel1 = "LEVEL_1"
 30079  
 30080  	// H265CodecLevelLevel2 is a H265CodecLevel enum value
 30081  	H265CodecLevelLevel2 = "LEVEL_2"
 30082  
 30083  	// H265CodecLevelLevel21 is a H265CodecLevel enum value
 30084  	H265CodecLevelLevel21 = "LEVEL_2_1"
 30085  
 30086  	// H265CodecLevelLevel3 is a H265CodecLevel enum value
 30087  	H265CodecLevelLevel3 = "LEVEL_3"
 30088  
 30089  	// H265CodecLevelLevel31 is a H265CodecLevel enum value
 30090  	H265CodecLevelLevel31 = "LEVEL_3_1"
 30091  
 30092  	// H265CodecLevelLevel4 is a H265CodecLevel enum value
 30093  	H265CodecLevelLevel4 = "LEVEL_4"
 30094  
 30095  	// H265CodecLevelLevel41 is a H265CodecLevel enum value
 30096  	H265CodecLevelLevel41 = "LEVEL_4_1"
 30097  
 30098  	// H265CodecLevelLevel5 is a H265CodecLevel enum value
 30099  	H265CodecLevelLevel5 = "LEVEL_5"
 30100  
 30101  	// H265CodecLevelLevel51 is a H265CodecLevel enum value
 30102  	H265CodecLevelLevel51 = "LEVEL_5_1"
 30103  
 30104  	// H265CodecLevelLevel52 is a H265CodecLevel enum value
 30105  	H265CodecLevelLevel52 = "LEVEL_5_2"
 30106  
 30107  	// H265CodecLevelLevel6 is a H265CodecLevel enum value
 30108  	H265CodecLevelLevel6 = "LEVEL_6"
 30109  
 30110  	// H265CodecLevelLevel61 is a H265CodecLevel enum value
 30111  	H265CodecLevelLevel61 = "LEVEL_6_1"
 30112  
 30113  	// H265CodecLevelLevel62 is a H265CodecLevel enum value
 30114  	H265CodecLevelLevel62 = "LEVEL_6_2"
 30115  )
 30116  
 30117  // H265CodecLevel_Values returns all elements of the H265CodecLevel enum
 30118  func H265CodecLevel_Values() []string {
 30119  	return []string{
 30120  		H265CodecLevelAuto,
 30121  		H265CodecLevelLevel1,
 30122  		H265CodecLevelLevel2,
 30123  		H265CodecLevelLevel21,
 30124  		H265CodecLevelLevel3,
 30125  		H265CodecLevelLevel31,
 30126  		H265CodecLevelLevel4,
 30127  		H265CodecLevelLevel41,
 30128  		H265CodecLevelLevel5,
 30129  		H265CodecLevelLevel51,
 30130  		H265CodecLevelLevel52,
 30131  		H265CodecLevelLevel6,
 30132  		H265CodecLevelLevel61,
 30133  		H265CodecLevelLevel62,
 30134  	}
 30135  }
 30136  
 30137  // Represents the Profile and Tier, per the HEVC (H.265) specification. Selections
 30138  // are grouped as [Profile] / [Tier], so "Main/High" represents Main Profile
 30139  // with High Tier. 4:2:2 profiles are only available with the HEVC 4:2:2 License.
 30140  const (
 30141  	// H265CodecProfileMainMain is a H265CodecProfile enum value
 30142  	H265CodecProfileMainMain = "MAIN_MAIN"
 30143  
 30144  	// H265CodecProfileMainHigh is a H265CodecProfile enum value
 30145  	H265CodecProfileMainHigh = "MAIN_HIGH"
 30146  
 30147  	// H265CodecProfileMain10Main is a H265CodecProfile enum value
 30148  	H265CodecProfileMain10Main = "MAIN10_MAIN"
 30149  
 30150  	// H265CodecProfileMain10High is a H265CodecProfile enum value
 30151  	H265CodecProfileMain10High = "MAIN10_HIGH"
 30152  
 30153  	// H265CodecProfileMain4228bitMain is a H265CodecProfile enum value
 30154  	H265CodecProfileMain4228bitMain = "MAIN_422_8BIT_MAIN"
 30155  
 30156  	// H265CodecProfileMain4228bitHigh is a H265CodecProfile enum value
 30157  	H265CodecProfileMain4228bitHigh = "MAIN_422_8BIT_HIGH"
 30158  
 30159  	// H265CodecProfileMain42210bitMain is a H265CodecProfile enum value
 30160  	H265CodecProfileMain42210bitMain = "MAIN_422_10BIT_MAIN"
 30161  
 30162  	// H265CodecProfileMain42210bitHigh is a H265CodecProfile enum value
 30163  	H265CodecProfileMain42210bitHigh = "MAIN_422_10BIT_HIGH"
 30164  )
 30165  
 30166  // H265CodecProfile_Values returns all elements of the H265CodecProfile enum
 30167  func H265CodecProfile_Values() []string {
 30168  	return []string{
 30169  		H265CodecProfileMainMain,
 30170  		H265CodecProfileMainHigh,
 30171  		H265CodecProfileMain10Main,
 30172  		H265CodecProfileMain10High,
 30173  		H265CodecProfileMain4228bitMain,
 30174  		H265CodecProfileMain4228bitHigh,
 30175  		H265CodecProfileMain42210bitMain,
 30176  		H265CodecProfileMain42210bitHigh,
 30177  	}
 30178  }
 30179  
 30180  // Choose Adaptive to improve subjective video quality for high-motion content.
 30181  // This will cause the service to use fewer B-frames (which infer information
 30182  // based on other frames) for high-motion portions of the video and more B-frames
 30183  // for low-motion portions. The maximum number of B-frames is limited by the
 30184  // value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).
 30185  const (
 30186  	// H265DynamicSubGopAdaptive is a H265DynamicSubGop enum value
 30187  	H265DynamicSubGopAdaptive = "ADAPTIVE"
 30188  
 30189  	// H265DynamicSubGopStatic is a H265DynamicSubGop enum value
 30190  	H265DynamicSubGopStatic = "STATIC"
 30191  )
 30192  
 30193  // H265DynamicSubGop_Values returns all elements of the H265DynamicSubGop enum
 30194  func H265DynamicSubGop_Values() []string {
 30195  	return []string{
 30196  		H265DynamicSubGopAdaptive,
 30197  		H265DynamicSubGopStatic,
 30198  	}
 30199  }
 30200  
 30201  // Enable this setting to have the encoder reduce I-frame pop. I-frame pop appears
 30202  // as a visual flicker that can arise when the encoder saves bits by copying
 30203  // some macroblocks many times from frame to frame, and then refreshes them
 30204  // at the I-frame. When you enable this setting, the encoder updates these macroblocks
 30205  // slightly more often to smooth out the flicker. This setting is disabled by
 30206  // default. Related setting: In addition to enabling this setting, you must
 30207  // also set adaptiveQuantization to a value other than Off (OFF).
 30208  const (
 30209  	// H265FlickerAdaptiveQuantizationDisabled is a H265FlickerAdaptiveQuantization enum value
 30210  	H265FlickerAdaptiveQuantizationDisabled = "DISABLED"
 30211  
 30212  	// H265FlickerAdaptiveQuantizationEnabled is a H265FlickerAdaptiveQuantization enum value
 30213  	H265FlickerAdaptiveQuantizationEnabled = "ENABLED"
 30214  )
 30215  
 30216  // H265FlickerAdaptiveQuantization_Values returns all elements of the H265FlickerAdaptiveQuantization enum
 30217  func H265FlickerAdaptiveQuantization_Values() []string {
 30218  	return []string{
 30219  		H265FlickerAdaptiveQuantizationDisabled,
 30220  		H265FlickerAdaptiveQuantizationEnabled,
 30221  	}
 30222  }
 30223  
 30224  // If you are using the console, use the Framerate setting to specify the frame
 30225  // rate for this output. If you want to keep the same frame rate as the input
 30226  // video, choose Follow source. If you want to do frame rate conversion, choose
 30227  // a frame rate from the dropdown list or choose Custom. The framerates shown
 30228  // in the dropdown list are decimal approximations of fractions. If you choose
 30229  // Custom, specify your frame rate as a fraction. If you are creating your transcoding
 30230  // job specification as a JSON file without the console, use FramerateControl
 30231  // to specify which value the service uses for the frame rate for this output.
 30232  // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 30233  // from the input. Choose SPECIFIED if you want the service to use the frame
 30234  // rate you specify in the settings FramerateNumerator and FramerateDenominator.
 30235  const (
 30236  	// H265FramerateControlInitializeFromSource is a H265FramerateControl enum value
 30237  	H265FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 30238  
 30239  	// H265FramerateControlSpecified is a H265FramerateControl enum value
 30240  	H265FramerateControlSpecified = "SPECIFIED"
 30241  )
 30242  
 30243  // H265FramerateControl_Values returns all elements of the H265FramerateControl enum
 30244  func H265FramerateControl_Values() []string {
 30245  	return []string{
 30246  		H265FramerateControlInitializeFromSource,
 30247  		H265FramerateControlSpecified,
 30248  	}
 30249  }
 30250  
 30251  // Choose the method that you want MediaConvert to use when increasing or decreasing
 30252  // the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 30253  // simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 30254  // you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 30255  // smooth picture, but might introduce undesirable video artifacts. For complex
 30256  // frame rate conversions, especially if your source video has already been
 30257  // converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 30258  // motion-compensated interpolation. FrameFormer chooses the best conversion
 30259  // method frame by frame. Note that using FrameFormer increases the transcoding
 30260  // time and incurs a significant add-on cost.
 30261  const (
 30262  	// H265FramerateConversionAlgorithmDuplicateDrop is a H265FramerateConversionAlgorithm enum value
 30263  	H265FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP"
 30264  
 30265  	// H265FramerateConversionAlgorithmInterpolate is a H265FramerateConversionAlgorithm enum value
 30266  	H265FramerateConversionAlgorithmInterpolate = "INTERPOLATE"
 30267  
 30268  	// H265FramerateConversionAlgorithmFrameformer is a H265FramerateConversionAlgorithm enum value
 30269  	H265FramerateConversionAlgorithmFrameformer = "FRAMEFORMER"
 30270  )
 30271  
 30272  // H265FramerateConversionAlgorithm_Values returns all elements of the H265FramerateConversionAlgorithm enum
 30273  func H265FramerateConversionAlgorithm_Values() []string {
 30274  	return []string{
 30275  		H265FramerateConversionAlgorithmDuplicateDrop,
 30276  		H265FramerateConversionAlgorithmInterpolate,
 30277  		H265FramerateConversionAlgorithmFrameformer,
 30278  	}
 30279  }
 30280  
 30281  // If enable, use reference B frames for GOP structures that have B frames >
 30282  // 1.
 30283  const (
 30284  	// H265GopBReferenceDisabled is a H265GopBReference enum value
 30285  	H265GopBReferenceDisabled = "DISABLED"
 30286  
 30287  	// H265GopBReferenceEnabled is a H265GopBReference enum value
 30288  	H265GopBReferenceEnabled = "ENABLED"
 30289  )
 30290  
 30291  // H265GopBReference_Values returns all elements of the H265GopBReference enum
 30292  func H265GopBReference_Values() []string {
 30293  	return []string{
 30294  		H265GopBReferenceDisabled,
 30295  		H265GopBReferenceEnabled,
 30296  	}
 30297  }
 30298  
 30299  // Indicates if the GOP Size in H265 is specified in frames or seconds. If seconds
 30300  // the system will convert the GOP Size into a frame count at run time.
 30301  const (
 30302  	// H265GopSizeUnitsFrames is a H265GopSizeUnits enum value
 30303  	H265GopSizeUnitsFrames = "FRAMES"
 30304  
 30305  	// H265GopSizeUnitsSeconds is a H265GopSizeUnits enum value
 30306  	H265GopSizeUnitsSeconds = "SECONDS"
 30307  )
 30308  
 30309  // H265GopSizeUnits_Values returns all elements of the H265GopSizeUnits enum
 30310  func H265GopSizeUnits_Values() []string {
 30311  	return []string{
 30312  		H265GopSizeUnitsFrames,
 30313  		H265GopSizeUnitsSeconds,
 30314  	}
 30315  }
 30316  
 30317  // Choose the scan line type for the output. Keep the default value, Progressive
 30318  // (PROGRESSIVE) to create a progressive output, regardless of the scan type
 30319  // of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD)
 30320  // to create an output that's interlaced with the same field polarity throughout.
 30321  // Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD)
 30322  // to produce outputs with the same field polarity as the source. For jobs that
 30323  // have multiple inputs, the output field polarity might change over the course
 30324  // of the output. Follow behavior depends on the input scan type. If the source
 30325  // is interlaced, the output will be interlaced with the same polarity as the
 30326  // source. If the source is progressive, the output will be interlaced with
 30327  // top field bottom field first, depending on which of the Follow options you
 30328  // choose.
 30329  const (
 30330  	// H265InterlaceModeProgressive is a H265InterlaceMode enum value
 30331  	H265InterlaceModeProgressive = "PROGRESSIVE"
 30332  
 30333  	// H265InterlaceModeTopField is a H265InterlaceMode enum value
 30334  	H265InterlaceModeTopField = "TOP_FIELD"
 30335  
 30336  	// H265InterlaceModeBottomField is a H265InterlaceMode enum value
 30337  	H265InterlaceModeBottomField = "BOTTOM_FIELD"
 30338  
 30339  	// H265InterlaceModeFollowTopField is a H265InterlaceMode enum value
 30340  	H265InterlaceModeFollowTopField = "FOLLOW_TOP_FIELD"
 30341  
 30342  	// H265InterlaceModeFollowBottomField is a H265InterlaceMode enum value
 30343  	H265InterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD"
 30344  )
 30345  
 30346  // H265InterlaceMode_Values returns all elements of the H265InterlaceMode enum
 30347  func H265InterlaceMode_Values() []string {
 30348  	return []string{
 30349  		H265InterlaceModeProgressive,
 30350  		H265InterlaceModeTopField,
 30351  		H265InterlaceModeBottomField,
 30352  		H265InterlaceModeFollowTopField,
 30353  		H265InterlaceModeFollowBottomField,
 30354  	}
 30355  }
 30356  
 30357  // Optional. Specify how the service determines the pixel aspect ratio (PAR)
 30358  // for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE),
 30359  // uses the PAR from your input video for your output. To specify a different
 30360  // PAR in the console, choose any value other than Follow source. To specify
 30361  // a different PAR by editing the JSON job specification, choose SPECIFIED.
 30362  // When you choose SPECIFIED for this setting, you must also specify values
 30363  // for the parNumerator and parDenominator settings.
 30364  const (
 30365  	// H265ParControlInitializeFromSource is a H265ParControl enum value
 30366  	H265ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 30367  
 30368  	// H265ParControlSpecified is a H265ParControl enum value
 30369  	H265ParControlSpecified = "SPECIFIED"
 30370  )
 30371  
 30372  // H265ParControl_Values returns all elements of the H265ParControl enum
 30373  func H265ParControl_Values() []string {
 30374  	return []string{
 30375  		H265ParControlInitializeFromSource,
 30376  		H265ParControlSpecified,
 30377  	}
 30378  }
 30379  
 30380  // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you
 30381  // want to trade off encoding speed for output video quality. The default behavior
 30382  // is faster, lower quality, single-pass encoding.
 30383  const (
 30384  	// H265QualityTuningLevelSinglePass is a H265QualityTuningLevel enum value
 30385  	H265QualityTuningLevelSinglePass = "SINGLE_PASS"
 30386  
 30387  	// H265QualityTuningLevelSinglePassHq is a H265QualityTuningLevel enum value
 30388  	H265QualityTuningLevelSinglePassHq = "SINGLE_PASS_HQ"
 30389  
 30390  	// H265QualityTuningLevelMultiPassHq is a H265QualityTuningLevel enum value
 30391  	H265QualityTuningLevelMultiPassHq = "MULTI_PASS_HQ"
 30392  )
 30393  
 30394  // H265QualityTuningLevel_Values returns all elements of the H265QualityTuningLevel enum
 30395  func H265QualityTuningLevel_Values() []string {
 30396  	return []string{
 30397  		H265QualityTuningLevelSinglePass,
 30398  		H265QualityTuningLevelSinglePassHq,
 30399  		H265QualityTuningLevelMultiPassHq,
 30400  	}
 30401  }
 30402  
 30403  // Use this setting to specify whether this output has a variable bitrate (VBR),
 30404  // constant bitrate (CBR) or quality-defined variable bitrate (QVBR).
 30405  const (
 30406  	// H265RateControlModeVbr is a H265RateControlMode enum value
 30407  	H265RateControlModeVbr = "VBR"
 30408  
 30409  	// H265RateControlModeCbr is a H265RateControlMode enum value
 30410  	H265RateControlModeCbr = "CBR"
 30411  
 30412  	// H265RateControlModeQvbr is a H265RateControlMode enum value
 30413  	H265RateControlModeQvbr = "QVBR"
 30414  )
 30415  
 30416  // H265RateControlMode_Values returns all elements of the H265RateControlMode enum
 30417  func H265RateControlMode_Values() []string {
 30418  	return []string{
 30419  		H265RateControlModeVbr,
 30420  		H265RateControlModeCbr,
 30421  		H265RateControlModeQvbr,
 30422  	}
 30423  }
 30424  
 30425  // Specify Sample Adaptive Offset (SAO) filter strength. Adaptive mode dynamically
 30426  // selects best strength based on content
 30427  const (
 30428  	// H265SampleAdaptiveOffsetFilterModeDefault is a H265SampleAdaptiveOffsetFilterMode enum value
 30429  	H265SampleAdaptiveOffsetFilterModeDefault = "DEFAULT"
 30430  
 30431  	// H265SampleAdaptiveOffsetFilterModeAdaptive is a H265SampleAdaptiveOffsetFilterMode enum value
 30432  	H265SampleAdaptiveOffsetFilterModeAdaptive = "ADAPTIVE"
 30433  
 30434  	// H265SampleAdaptiveOffsetFilterModeOff is a H265SampleAdaptiveOffsetFilterMode enum value
 30435  	H265SampleAdaptiveOffsetFilterModeOff = "OFF"
 30436  )
 30437  
 30438  // H265SampleAdaptiveOffsetFilterMode_Values returns all elements of the H265SampleAdaptiveOffsetFilterMode enum
 30439  func H265SampleAdaptiveOffsetFilterMode_Values() []string {
 30440  	return []string{
 30441  		H265SampleAdaptiveOffsetFilterModeDefault,
 30442  		H265SampleAdaptiveOffsetFilterModeAdaptive,
 30443  		H265SampleAdaptiveOffsetFilterModeOff,
 30444  	}
 30445  }
 30446  
 30447  // Use this setting for interlaced outputs, when your output frame rate is half
 30448  // of your input frame rate. In this situation, choose Optimized interlacing
 30449  // (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this
 30450  // case, each progressive frame from the input corresponds to an interlaced
 30451  // field in the output. Keep the default value, Basic interlacing (INTERLACED),
 30452  // for all other output frame rates. With basic interlacing, MediaConvert performs
 30453  // any frame rate conversion first and then interlaces the frames. When you
 30454  // choose Optimized interlacing and you set your output frame rate to a value
 30455  // that isn't suitable for optimized interlacing, MediaConvert automatically
 30456  // falls back to basic interlacing. Required settings: To use optimized interlacing,
 30457  // you must set Telecine (telecine) to None (NONE) or Soft (SOFT). You can't
 30458  // use optimized interlacing for hard telecine outputs. You must also set Interlace
 30459  // mode (interlaceMode) to a value other than Progressive (PROGRESSIVE).
 30460  const (
 30461  	// H265ScanTypeConversionModeInterlaced is a H265ScanTypeConversionMode enum value
 30462  	H265ScanTypeConversionModeInterlaced = "INTERLACED"
 30463  
 30464  	// H265ScanTypeConversionModeInterlacedOptimize is a H265ScanTypeConversionMode enum value
 30465  	H265ScanTypeConversionModeInterlacedOptimize = "INTERLACED_OPTIMIZE"
 30466  )
 30467  
 30468  // H265ScanTypeConversionMode_Values returns all elements of the H265ScanTypeConversionMode enum
 30469  func H265ScanTypeConversionMode_Values() []string {
 30470  	return []string{
 30471  		H265ScanTypeConversionModeInterlaced,
 30472  		H265ScanTypeConversionModeInterlacedOptimize,
 30473  	}
 30474  }
 30475  
 30476  // Enable this setting to insert I-frames at scene changes that the service
 30477  // automatically detects. This improves video quality and is enabled by default.
 30478  // If this output uses QVBR, choose Transition detection (TRANSITION_DETECTION)
 30479  // for further video quality improvement. For more information about QVBR, see
 30480  // https://docs.aws.amazon.com/console/mediaconvert/cbr-vbr-qvbr.
 30481  const (
 30482  	// H265SceneChangeDetectDisabled is a H265SceneChangeDetect enum value
 30483  	H265SceneChangeDetectDisabled = "DISABLED"
 30484  
 30485  	// H265SceneChangeDetectEnabled is a H265SceneChangeDetect enum value
 30486  	H265SceneChangeDetectEnabled = "ENABLED"
 30487  
 30488  	// H265SceneChangeDetectTransitionDetection is a H265SceneChangeDetect enum value
 30489  	H265SceneChangeDetectTransitionDetection = "TRANSITION_DETECTION"
 30490  )
 30491  
 30492  // H265SceneChangeDetect_Values returns all elements of the H265SceneChangeDetect enum
 30493  func H265SceneChangeDetect_Values() []string {
 30494  	return []string{
 30495  		H265SceneChangeDetectDisabled,
 30496  		H265SceneChangeDetectEnabled,
 30497  		H265SceneChangeDetectTransitionDetection,
 30498  	}
 30499  }
 30500  
 30501  // Ignore this setting unless your input frame rate is 23.976 or 24 frames per
 30502  // second (fps). Enable slow PAL to create a 25 fps output. When you enable
 30503  // slow PAL, MediaConvert relabels the video frames to 25 fps and resamples
 30504  // your audio to keep it synchronized with the video. Note that enabling this
 30505  // setting will slightly reduce the duration of your video. Required settings:
 30506  // You must also set Framerate to 25. In your JSON job specification, set (framerateControl)
 30507  // to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to
 30508  // 1.
 30509  const (
 30510  	// H265SlowPalDisabled is a H265SlowPal enum value
 30511  	H265SlowPalDisabled = "DISABLED"
 30512  
 30513  	// H265SlowPalEnabled is a H265SlowPal enum value
 30514  	H265SlowPalEnabled = "ENABLED"
 30515  )
 30516  
 30517  // H265SlowPal_Values returns all elements of the H265SlowPal enum
 30518  func H265SlowPal_Values() []string {
 30519  	return []string{
 30520  		H265SlowPalDisabled,
 30521  		H265SlowPalEnabled,
 30522  	}
 30523  }
 30524  
 30525  // Keep the default value, Enabled (ENABLED), to adjust quantization within
 30526  // each frame based on spatial variation of content complexity. When you enable
 30527  // this feature, the encoder uses fewer bits on areas that can sustain more
 30528  // distortion with no noticeable visual degradation and uses more bits on areas
 30529  // where any small distortion will be noticeable. For example, complex textured
 30530  // blocks are encoded with fewer bits and smooth textured blocks are encoded
 30531  // with more bits. Enabling this feature will almost always improve your video
 30532  // quality. Note, though, that this feature doesn't take into account where
 30533  // the viewer's attention is likely to be. If viewers are likely to be focusing
 30534  // their attention on a part of the screen with a lot of complex texture, you
 30535  // might choose to disable this feature. Related setting: When you enable spatial
 30536  // adaptive quantization, set the value for Adaptive quantization (adaptiveQuantization)
 30537  // depending on your content. For homogeneous content, such as cartoons and
 30538  // video games, set it to Low. For content with a wider variety of textures,
 30539  // set it to High or Higher.
 30540  const (
 30541  	// H265SpatialAdaptiveQuantizationDisabled is a H265SpatialAdaptiveQuantization enum value
 30542  	H265SpatialAdaptiveQuantizationDisabled = "DISABLED"
 30543  
 30544  	// H265SpatialAdaptiveQuantizationEnabled is a H265SpatialAdaptiveQuantization enum value
 30545  	H265SpatialAdaptiveQuantizationEnabled = "ENABLED"
 30546  )
 30547  
 30548  // H265SpatialAdaptiveQuantization_Values returns all elements of the H265SpatialAdaptiveQuantization enum
 30549  func H265SpatialAdaptiveQuantization_Values() []string {
 30550  	return []string{
 30551  		H265SpatialAdaptiveQuantizationDisabled,
 30552  		H265SpatialAdaptiveQuantizationEnabled,
 30553  	}
 30554  }
 30555  
 30556  // This field applies only if the Streams > Advanced > Framerate (framerate)
 30557  // field is set to 29.970. This field works with the Streams > Advanced > Preprocessors
 30558  // > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced
 30559  // Mode field (interlace_mode) to identify the scan type for the output: Progressive,
 30560  // Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output
 30561  // from 23.976 input. - Soft: produces 23.976; the player converts this output
 30562  // to 29.97i.
 30563  const (
 30564  	// H265TelecineNone is a H265Telecine enum value
 30565  	H265TelecineNone = "NONE"
 30566  
 30567  	// H265TelecineSoft is a H265Telecine enum value
 30568  	H265TelecineSoft = "SOFT"
 30569  
 30570  	// H265TelecineHard is a H265Telecine enum value
 30571  	H265TelecineHard = "HARD"
 30572  )
 30573  
 30574  // H265Telecine_Values returns all elements of the H265Telecine enum
 30575  func H265Telecine_Values() []string {
 30576  	return []string{
 30577  		H265TelecineNone,
 30578  		H265TelecineSoft,
 30579  		H265TelecineHard,
 30580  	}
 30581  }
 30582  
 30583  // Keep the default value, Enabled (ENABLED), to adjust quantization within
 30584  // each frame based on temporal variation of content complexity. When you enable
 30585  // this feature, the encoder uses fewer bits on areas of the frame that aren't
 30586  // moving and uses more bits on complex objects with sharp edges that move a
 30587  // lot. For example, this feature improves the readability of text tickers on
 30588  // newscasts and scoreboards on sports matches. Enabling this feature will almost
 30589  // always improve your video quality. Note, though, that this feature doesn't
 30590  // take into account where the viewer's attention is likely to be. If viewers
 30591  // are likely to be focusing their attention on a part of the screen that doesn't
 30592  // have moving objects with sharp edges, such as sports athletes' faces, you
 30593  // might choose to disable this feature. Related setting: When you enable temporal
 30594  // quantization, adjust the strength of the filter with the setting Adaptive
 30595  // quantization (adaptiveQuantization).
 30596  const (
 30597  	// H265TemporalAdaptiveQuantizationDisabled is a H265TemporalAdaptiveQuantization enum value
 30598  	H265TemporalAdaptiveQuantizationDisabled = "DISABLED"
 30599  
 30600  	// H265TemporalAdaptiveQuantizationEnabled is a H265TemporalAdaptiveQuantization enum value
 30601  	H265TemporalAdaptiveQuantizationEnabled = "ENABLED"
 30602  )
 30603  
 30604  // H265TemporalAdaptiveQuantization_Values returns all elements of the H265TemporalAdaptiveQuantization enum
 30605  func H265TemporalAdaptiveQuantization_Values() []string {
 30606  	return []string{
 30607  		H265TemporalAdaptiveQuantizationDisabled,
 30608  		H265TemporalAdaptiveQuantizationEnabled,
 30609  	}
 30610  }
 30611  
 30612  // Enables temporal layer identifiers in the encoded bitstream. Up to 3 layers
 30613  // are supported depending on GOP structure: I- and P-frames form one layer,
 30614  // reference B-frames can form a second layer and non-reference b-frames can
 30615  // form a third layer. Decoders can optionally decode only the lower temporal
 30616  // layers to generate a lower frame rate output. For example, given a bitstream
 30617  // with temporal IDs and with b-frames = 1 (i.e. IbPbPb display order), a decoder
 30618  // could decode all the frames for full frame rate output or only the I and
 30619  // P frames (lowest temporal layer) for a half frame rate output.
 30620  const (
 30621  	// H265TemporalIdsDisabled is a H265TemporalIds enum value
 30622  	H265TemporalIdsDisabled = "DISABLED"
 30623  
 30624  	// H265TemporalIdsEnabled is a H265TemporalIds enum value
 30625  	H265TemporalIdsEnabled = "ENABLED"
 30626  )
 30627  
 30628  // H265TemporalIds_Values returns all elements of the H265TemporalIds enum
 30629  func H265TemporalIds_Values() []string {
 30630  	return []string{
 30631  		H265TemporalIdsDisabled,
 30632  		H265TemporalIdsEnabled,
 30633  	}
 30634  }
 30635  
 30636  // Enable use of tiles, allowing horizontal as well as vertical subdivision
 30637  // of the encoded pictures.
 30638  const (
 30639  	// H265TilesDisabled is a H265Tiles enum value
 30640  	H265TilesDisabled = "DISABLED"
 30641  
 30642  	// H265TilesEnabled is a H265Tiles enum value
 30643  	H265TilesEnabled = "ENABLED"
 30644  )
 30645  
 30646  // H265Tiles_Values returns all elements of the H265Tiles enum
 30647  func H265Tiles_Values() []string {
 30648  	return []string{
 30649  		H265TilesDisabled,
 30650  		H265TilesEnabled,
 30651  	}
 30652  }
 30653  
 30654  // Inserts timecode for each frame as 4 bytes of an unregistered SEI message.
 30655  const (
 30656  	// H265UnregisteredSeiTimecodeDisabled is a H265UnregisteredSeiTimecode enum value
 30657  	H265UnregisteredSeiTimecodeDisabled = "DISABLED"
 30658  
 30659  	// H265UnregisteredSeiTimecodeEnabled is a H265UnregisteredSeiTimecode enum value
 30660  	H265UnregisteredSeiTimecodeEnabled = "ENABLED"
 30661  )
 30662  
 30663  // H265UnregisteredSeiTimecode_Values returns all elements of the H265UnregisteredSeiTimecode enum
 30664  func H265UnregisteredSeiTimecode_Values() []string {
 30665  	return []string{
 30666  		H265UnregisteredSeiTimecodeDisabled,
 30667  		H265UnregisteredSeiTimecodeEnabled,
 30668  	}
 30669  }
 30670  
 30671  // If the location of parameter set NAL units doesn't matter in your workflow,
 30672  // ignore this setting. Use this setting only with CMAF or DASH outputs, or
 30673  // with standalone file outputs in an MPEG-4 container (MP4 outputs). Choose
 30674  // HVC1 to mark your output as HVC1. This makes your output compliant with the
 30675  // following specification: ISO IECJTC1 SC29 N13798 Text ISO/IEC FDIS 14496-15
 30676  // 3rd Edition. For these outputs, the service stores parameter set NAL units
 30677  // in the sample headers but not in the samples directly. For MP4 outputs, when
 30678  // you choose HVC1, your output video might not work properly with some downstream
 30679  // systems and video players. The service defaults to marking your output as
 30680  // HEV1. For these outputs, the service writes parameter set NAL units directly
 30681  // into the samples.
 30682  const (
 30683  	// H265WriteMp4PackagingTypeHvc1 is a H265WriteMp4PackagingType enum value
 30684  	H265WriteMp4PackagingTypeHvc1 = "HVC1"
 30685  
 30686  	// H265WriteMp4PackagingTypeHev1 is a H265WriteMp4PackagingType enum value
 30687  	H265WriteMp4PackagingTypeHev1 = "HEV1"
 30688  )
 30689  
 30690  // H265WriteMp4PackagingType_Values returns all elements of the H265WriteMp4PackagingType enum
 30691  func H265WriteMp4PackagingType_Values() []string {
 30692  	return []string{
 30693  		H265WriteMp4PackagingTypeHvc1,
 30694  		H265WriteMp4PackagingTypeHev1,
 30695  	}
 30696  }
 30697  
 30698  const (
 30699  	// HlsAdMarkersElemental is a HlsAdMarkers enum value
 30700  	HlsAdMarkersElemental = "ELEMENTAL"
 30701  
 30702  	// HlsAdMarkersElementalScte35 is a HlsAdMarkers enum value
 30703  	HlsAdMarkersElementalScte35 = "ELEMENTAL_SCTE35"
 30704  )
 30705  
 30706  // HlsAdMarkers_Values returns all elements of the HlsAdMarkers enum
 30707  func HlsAdMarkers_Values() []string {
 30708  	return []string{
 30709  		HlsAdMarkersElemental,
 30710  		HlsAdMarkersElementalScte35,
 30711  	}
 30712  }
 30713  
 30714  // Use this setting only in audio-only outputs. Choose MPEG-2 Transport Stream
 30715  // (M2TS) to create a file in an MPEG2-TS container. Keep the default value
 30716  // Automatic (AUTOMATIC) to create a raw audio-only file with no container.
 30717  // Regardless of the value that you specify here, if this output has video,
 30718  // the service will place outputs into an MPEG2-TS container.
 30719  const (
 30720  	// HlsAudioOnlyContainerAutomatic is a HlsAudioOnlyContainer enum value
 30721  	HlsAudioOnlyContainerAutomatic = "AUTOMATIC"
 30722  
 30723  	// HlsAudioOnlyContainerM2ts is a HlsAudioOnlyContainer enum value
 30724  	HlsAudioOnlyContainerM2ts = "M2TS"
 30725  )
 30726  
 30727  // HlsAudioOnlyContainer_Values returns all elements of the HlsAudioOnlyContainer enum
 30728  func HlsAudioOnlyContainer_Values() []string {
 30729  	return []string{
 30730  		HlsAudioOnlyContainerAutomatic,
 30731  		HlsAudioOnlyContainerM2ts,
 30732  	}
 30733  }
 30734  
 30735  // Ignore this setting unless you are using FairPlay DRM with Verimatrix and
 30736  // you encounter playback issues. Keep the default value, Include (INCLUDE),
 30737  // to output audio-only headers. Choose Exclude (EXCLUDE) to remove the audio-only
 30738  // headers from your audio segments.
 30739  const (
 30740  	// HlsAudioOnlyHeaderInclude is a HlsAudioOnlyHeader enum value
 30741  	HlsAudioOnlyHeaderInclude = "INCLUDE"
 30742  
 30743  	// HlsAudioOnlyHeaderExclude is a HlsAudioOnlyHeader enum value
 30744  	HlsAudioOnlyHeaderExclude = "EXCLUDE"
 30745  )
 30746  
 30747  // HlsAudioOnlyHeader_Values returns all elements of the HlsAudioOnlyHeader enum
 30748  func HlsAudioOnlyHeader_Values() []string {
 30749  	return []string{
 30750  		HlsAudioOnlyHeaderInclude,
 30751  		HlsAudioOnlyHeaderExclude,
 30752  	}
 30753  }
 30754  
 30755  // Four types of audio-only tracks are supported: Audio-Only Variant Stream
 30756  // The client can play back this audio-only stream instead of video in low-bandwidth
 30757  // scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate
 30758  // Audio, Auto Select, Default Alternate rendition that the client should try
 30759  // to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest
 30760  // with DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default
 30761  // Alternate rendition that the client may try to play back by default. Represented
 30762  // as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate
 30763  // Audio, not Auto Select Alternate rendition that the client will not try to
 30764  // play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
 30765  // DEFAULT=NO, AUTOSELECT=NO
 30766  const (
 30767  	// HlsAudioTrackTypeAlternateAudioAutoSelectDefault is a HlsAudioTrackType enum value
 30768  	HlsAudioTrackTypeAlternateAudioAutoSelectDefault = "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT"
 30769  
 30770  	// HlsAudioTrackTypeAlternateAudioAutoSelect is a HlsAudioTrackType enum value
 30771  	HlsAudioTrackTypeAlternateAudioAutoSelect = "ALTERNATE_AUDIO_AUTO_SELECT"
 30772  
 30773  	// HlsAudioTrackTypeAlternateAudioNotAutoSelect is a HlsAudioTrackType enum value
 30774  	HlsAudioTrackTypeAlternateAudioNotAutoSelect = "ALTERNATE_AUDIO_NOT_AUTO_SELECT"
 30775  
 30776  	// HlsAudioTrackTypeAudioOnlyVariantStream is a HlsAudioTrackType enum value
 30777  	HlsAudioTrackTypeAudioOnlyVariantStream = "AUDIO_ONLY_VARIANT_STREAM"
 30778  )
 30779  
 30780  // HlsAudioTrackType_Values returns all elements of the HlsAudioTrackType enum
 30781  func HlsAudioTrackType_Values() []string {
 30782  	return []string{
 30783  		HlsAudioTrackTypeAlternateAudioAutoSelectDefault,
 30784  		HlsAudioTrackTypeAlternateAudioAutoSelect,
 30785  		HlsAudioTrackTypeAlternateAudioNotAutoSelect,
 30786  		HlsAudioTrackTypeAudioOnlyVariantStream,
 30787  	}
 30788  }
 30789  
 30790  // Applies only to 608 Embedded output captions. Insert: Include CLOSED-CAPTIONS
 30791  // lines in the manifest. Specify at least one language in the CC1 Language
 30792  // Code field. One CLOSED-CAPTION line is added for each Language Code you specify.
 30793  // Make sure to specify the languages in the order in which they appear in the
 30794  // original source (if the source is embedded format) or the order of the caption
 30795  // selectors (if the source is other than embedded). Otherwise, languages in
 30796  // the manifest will not match up properly with the output captions. None: Include
 30797  // CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any CLOSED-CAPTIONS
 30798  // line from the manifest.
 30799  const (
 30800  	// HlsCaptionLanguageSettingInsert is a HlsCaptionLanguageSetting enum value
 30801  	HlsCaptionLanguageSettingInsert = "INSERT"
 30802  
 30803  	// HlsCaptionLanguageSettingOmit is a HlsCaptionLanguageSetting enum value
 30804  	HlsCaptionLanguageSettingOmit = "OMIT"
 30805  
 30806  	// HlsCaptionLanguageSettingNone is a HlsCaptionLanguageSetting enum value
 30807  	HlsCaptionLanguageSettingNone = "NONE"
 30808  )
 30809  
 30810  // HlsCaptionLanguageSetting_Values returns all elements of the HlsCaptionLanguageSetting enum
 30811  func HlsCaptionLanguageSetting_Values() []string {
 30812  	return []string{
 30813  		HlsCaptionLanguageSettingInsert,
 30814  		HlsCaptionLanguageSettingOmit,
 30815  		HlsCaptionLanguageSettingNone,
 30816  	}
 30817  }
 30818  
 30819  // Disable this setting only when your workflow requires the #EXT-X-ALLOW-CACHE:no
 30820  // tag. Otherwise, keep the default value Enabled (ENABLED) and control caching
 30821  // in your video distribution set up. For example, use the Cache-Control http
 30822  // header.
 30823  const (
 30824  	// HlsClientCacheDisabled is a HlsClientCache enum value
 30825  	HlsClientCacheDisabled = "DISABLED"
 30826  
 30827  	// HlsClientCacheEnabled is a HlsClientCache enum value
 30828  	HlsClientCacheEnabled = "ENABLED"
 30829  )
 30830  
 30831  // HlsClientCache_Values returns all elements of the HlsClientCache enum
 30832  func HlsClientCache_Values() []string {
 30833  	return []string{
 30834  		HlsClientCacheDisabled,
 30835  		HlsClientCacheEnabled,
 30836  	}
 30837  }
 30838  
 30839  // Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist
 30840  // generation.
 30841  const (
 30842  	// HlsCodecSpecificationRfc6381 is a HlsCodecSpecification enum value
 30843  	HlsCodecSpecificationRfc6381 = "RFC_6381"
 30844  
 30845  	// HlsCodecSpecificationRfc4281 is a HlsCodecSpecification enum value
 30846  	HlsCodecSpecificationRfc4281 = "RFC_4281"
 30847  )
 30848  
 30849  // HlsCodecSpecification_Values returns all elements of the HlsCodecSpecification enum
 30850  func HlsCodecSpecification_Values() []string {
 30851  	return []string{
 30852  		HlsCodecSpecificationRfc6381,
 30853  		HlsCodecSpecificationRfc4281,
 30854  	}
 30855  }
 30856  
 30857  // Specify whether to flag this audio track as descriptive video service (DVS)
 30858  // in your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes
 30859  // the parameter CHARACTERISTICS="public.accessibility.describes-video" in the
 30860  // EXT-X-MEDIA entry for this track. When you keep the default choice, Don't
 30861  // flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can
 30862  // help with accessibility on Apple devices. For more information, see the Apple
 30863  // documentation.
 30864  const (
 30865  	// HlsDescriptiveVideoServiceFlagDontFlag is a HlsDescriptiveVideoServiceFlag enum value
 30866  	HlsDescriptiveVideoServiceFlagDontFlag = "DONT_FLAG"
 30867  
 30868  	// HlsDescriptiveVideoServiceFlagFlag is a HlsDescriptiveVideoServiceFlag enum value
 30869  	HlsDescriptiveVideoServiceFlagFlag = "FLAG"
 30870  )
 30871  
 30872  // HlsDescriptiveVideoServiceFlag_Values returns all elements of the HlsDescriptiveVideoServiceFlag enum
 30873  func HlsDescriptiveVideoServiceFlag_Values() []string {
 30874  	return []string{
 30875  		HlsDescriptiveVideoServiceFlagDontFlag,
 30876  		HlsDescriptiveVideoServiceFlagFlag,
 30877  	}
 30878  }
 30879  
 30880  // Indicates whether segments should be placed in subdirectories.
 30881  const (
 30882  	// HlsDirectoryStructureSingleDirectory is a HlsDirectoryStructure enum value
 30883  	HlsDirectoryStructureSingleDirectory = "SINGLE_DIRECTORY"
 30884  
 30885  	// HlsDirectoryStructureSubdirectoryPerStream is a HlsDirectoryStructure enum value
 30886  	HlsDirectoryStructureSubdirectoryPerStream = "SUBDIRECTORY_PER_STREAM"
 30887  )
 30888  
 30889  // HlsDirectoryStructure_Values returns all elements of the HlsDirectoryStructure enum
 30890  func HlsDirectoryStructure_Values() []string {
 30891  	return []string{
 30892  		HlsDirectoryStructureSingleDirectory,
 30893  		HlsDirectoryStructureSubdirectoryPerStream,
 30894  	}
 30895  }
 30896  
 30897  // Encrypts the segments with the given encryption scheme. Leave blank to disable.
 30898  // Selecting 'Disabled' in the web interface also disables encryption.
 30899  const (
 30900  	// HlsEncryptionTypeAes128 is a HlsEncryptionType enum value
 30901  	HlsEncryptionTypeAes128 = "AES128"
 30902  
 30903  	// HlsEncryptionTypeSampleAes is a HlsEncryptionType enum value
 30904  	HlsEncryptionTypeSampleAes = "SAMPLE_AES"
 30905  )
 30906  
 30907  // HlsEncryptionType_Values returns all elements of the HlsEncryptionType enum
 30908  func HlsEncryptionType_Values() []string {
 30909  	return []string{
 30910  		HlsEncryptionTypeAes128,
 30911  		HlsEncryptionTypeSampleAes,
 30912  	}
 30913  }
 30914  
 30915  // Choose Include (INCLUDE) to have MediaConvert generate a child manifest that
 30916  // lists only the I-frames for this rendition, in addition to your regular manifest
 30917  // for this rendition. You might use this manifest as part of a workflow that
 30918  // creates preview functions for your video. MediaConvert adds both the I-frame
 30919  // only child manifest and the regular child manifest to the parent manifest.
 30920  // When you don't need the I-frame only child manifest, keep the default value
 30921  // Exclude (EXCLUDE).
 30922  const (
 30923  	// HlsIFrameOnlyManifestInclude is a HlsIFrameOnlyManifest enum value
 30924  	HlsIFrameOnlyManifestInclude = "INCLUDE"
 30925  
 30926  	// HlsIFrameOnlyManifestExclude is a HlsIFrameOnlyManifest enum value
 30927  	HlsIFrameOnlyManifestExclude = "EXCLUDE"
 30928  )
 30929  
 30930  // HlsIFrameOnlyManifest_Values returns all elements of the HlsIFrameOnlyManifest enum
 30931  func HlsIFrameOnlyManifest_Values() []string {
 30932  	return []string{
 30933  		HlsIFrameOnlyManifestInclude,
 30934  		HlsIFrameOnlyManifestExclude,
 30935  	}
 30936  }
 30937  
 30938  // Specify whether MediaConvert generates images for trick play. Keep the default
 30939  // value, None (NONE), to not generate any images. Choose Thumbnail (THUMBNAIL)
 30940  // to generate tiled thumbnails. Choose Thumbnail and full frame (THUMBNAIL_AND_FULLFRAME)
 30941  // to generate tiled thumbnails and full-resolution images of single frames.
 30942  // MediaConvert creates a child manifest for each set of images that you generate
 30943  // and adds corresponding entries to the parent manifest. A common application
 30944  // for these images is Roku trick mode. The thumbnails and full-frame images
 30945  // that MediaConvert creates with this feature are compatible with this Roku
 30946  // specification: https://developer.roku.com/docs/developer-program/media-playback/trick-mode/hls-and-dash.md
 30947  const (
 30948  	// HlsImageBasedTrickPlayNone is a HlsImageBasedTrickPlay enum value
 30949  	HlsImageBasedTrickPlayNone = "NONE"
 30950  
 30951  	// HlsImageBasedTrickPlayThumbnail is a HlsImageBasedTrickPlay enum value
 30952  	HlsImageBasedTrickPlayThumbnail = "THUMBNAIL"
 30953  
 30954  	// HlsImageBasedTrickPlayThumbnailAndFullframe is a HlsImageBasedTrickPlay enum value
 30955  	HlsImageBasedTrickPlayThumbnailAndFullframe = "THUMBNAIL_AND_FULLFRAME"
 30956  
 30957  	// HlsImageBasedTrickPlayAdvanced is a HlsImageBasedTrickPlay enum value
 30958  	HlsImageBasedTrickPlayAdvanced = "ADVANCED"
 30959  )
 30960  
 30961  // HlsImageBasedTrickPlay_Values returns all elements of the HlsImageBasedTrickPlay enum
 30962  func HlsImageBasedTrickPlay_Values() []string {
 30963  	return []string{
 30964  		HlsImageBasedTrickPlayNone,
 30965  		HlsImageBasedTrickPlayThumbnail,
 30966  		HlsImageBasedTrickPlayThumbnailAndFullframe,
 30967  		HlsImageBasedTrickPlayAdvanced,
 30968  	}
 30969  }
 30970  
 30971  // The Initialization Vector is a 128-bit number used in conjunction with the
 30972  // key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed
 30973  // in the manifest. Otherwise Initialization Vector is not in the manifest.
 30974  const (
 30975  	// HlsInitializationVectorInManifestInclude is a HlsInitializationVectorInManifest enum value
 30976  	HlsInitializationVectorInManifestInclude = "INCLUDE"
 30977  
 30978  	// HlsInitializationVectorInManifestExclude is a HlsInitializationVectorInManifest enum value
 30979  	HlsInitializationVectorInManifestExclude = "EXCLUDE"
 30980  )
 30981  
 30982  // HlsInitializationVectorInManifest_Values returns all elements of the HlsInitializationVectorInManifest enum
 30983  func HlsInitializationVectorInManifest_Values() []string {
 30984  	return []string{
 30985  		HlsInitializationVectorInManifestInclude,
 30986  		HlsInitializationVectorInManifestExclude,
 30987  	}
 30988  }
 30989  
 30990  // The cadence MediaConvert follows for generating thumbnails. If set to FOLLOW_IFRAME,
 30991  // MediaConvert generates thumbnails for each IDR frame in the output (matching
 30992  // the GOP cadence). If set to FOLLOW_CUSTOM, MediaConvert generates thumbnails
 30993  // according to the interval you specify in thumbnailInterval.
 30994  const (
 30995  	// HlsIntervalCadenceFollowIframe is a HlsIntervalCadence enum value
 30996  	HlsIntervalCadenceFollowIframe = "FOLLOW_IFRAME"
 30997  
 30998  	// HlsIntervalCadenceFollowCustom is a HlsIntervalCadence enum value
 30999  	HlsIntervalCadenceFollowCustom = "FOLLOW_CUSTOM"
 31000  )
 31001  
 31002  // HlsIntervalCadence_Values returns all elements of the HlsIntervalCadence enum
 31003  func HlsIntervalCadence_Values() []string {
 31004  	return []string{
 31005  		HlsIntervalCadenceFollowIframe,
 31006  		HlsIntervalCadenceFollowCustom,
 31007  	}
 31008  }
 31009  
 31010  // Specify whether your DRM encryption key is static or from a key provider
 31011  // that follows the SPEKE standard. For more information about SPEKE, see https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.html.
 31012  const (
 31013  	// HlsKeyProviderTypeSpeke is a HlsKeyProviderType enum value
 31014  	HlsKeyProviderTypeSpeke = "SPEKE"
 31015  
 31016  	// HlsKeyProviderTypeStaticKey is a HlsKeyProviderType enum value
 31017  	HlsKeyProviderTypeStaticKey = "STATIC_KEY"
 31018  )
 31019  
 31020  // HlsKeyProviderType_Values returns all elements of the HlsKeyProviderType enum
 31021  func HlsKeyProviderType_Values() []string {
 31022  	return []string{
 31023  		HlsKeyProviderTypeSpeke,
 31024  		HlsKeyProviderTypeStaticKey,
 31025  	}
 31026  }
 31027  
 31028  // When set to GZIP, compresses HLS playlist.
 31029  const (
 31030  	// HlsManifestCompressionGzip is a HlsManifestCompression enum value
 31031  	HlsManifestCompressionGzip = "GZIP"
 31032  
 31033  	// HlsManifestCompressionNone is a HlsManifestCompression enum value
 31034  	HlsManifestCompressionNone = "NONE"
 31035  )
 31036  
 31037  // HlsManifestCompression_Values returns all elements of the HlsManifestCompression enum
 31038  func HlsManifestCompression_Values() []string {
 31039  	return []string{
 31040  		HlsManifestCompressionGzip,
 31041  		HlsManifestCompressionNone,
 31042  	}
 31043  }
 31044  
 31045  // Indicates whether the output manifest should use floating point values for
 31046  // segment duration.
 31047  const (
 31048  	// HlsManifestDurationFormatFloatingPoint is a HlsManifestDurationFormat enum value
 31049  	HlsManifestDurationFormatFloatingPoint = "FLOATING_POINT"
 31050  
 31051  	// HlsManifestDurationFormatInteger is a HlsManifestDurationFormat enum value
 31052  	HlsManifestDurationFormatInteger = "INTEGER"
 31053  )
 31054  
 31055  // HlsManifestDurationFormat_Values returns all elements of the HlsManifestDurationFormat enum
 31056  func HlsManifestDurationFormat_Values() []string {
 31057  	return []string{
 31058  		HlsManifestDurationFormatFloatingPoint,
 31059  		HlsManifestDurationFormatInteger,
 31060  	}
 31061  }
 31062  
 31063  // Enable this setting to insert the EXT-X-SESSION-KEY element into the master
 31064  // playlist. This allows for offline Apple HLS FairPlay content protection.
 31065  const (
 31066  	// HlsOfflineEncryptedEnabled is a HlsOfflineEncrypted enum value
 31067  	HlsOfflineEncryptedEnabled = "ENABLED"
 31068  
 31069  	// HlsOfflineEncryptedDisabled is a HlsOfflineEncrypted enum value
 31070  	HlsOfflineEncryptedDisabled = "DISABLED"
 31071  )
 31072  
 31073  // HlsOfflineEncrypted_Values returns all elements of the HlsOfflineEncrypted enum
 31074  func HlsOfflineEncrypted_Values() []string {
 31075  	return []string{
 31076  		HlsOfflineEncryptedEnabled,
 31077  		HlsOfflineEncryptedDisabled,
 31078  	}
 31079  }
 31080  
 31081  // Indicates whether the .m3u8 manifest file should be generated for this HLS
 31082  // output group.
 31083  const (
 31084  	// HlsOutputSelectionManifestsAndSegments is a HlsOutputSelection enum value
 31085  	HlsOutputSelectionManifestsAndSegments = "MANIFESTS_AND_SEGMENTS"
 31086  
 31087  	// HlsOutputSelectionSegmentsOnly is a HlsOutputSelection enum value
 31088  	HlsOutputSelectionSegmentsOnly = "SEGMENTS_ONLY"
 31089  )
 31090  
 31091  // HlsOutputSelection_Values returns all elements of the HlsOutputSelection enum
 31092  func HlsOutputSelection_Values() []string {
 31093  	return []string{
 31094  		HlsOutputSelectionManifestsAndSegments,
 31095  		HlsOutputSelectionSegmentsOnly,
 31096  	}
 31097  }
 31098  
 31099  // Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files.
 31100  // The value is calculated as follows: either the program date and time are
 31101  // initialized using the input timecode source, or the time is initialized using
 31102  // the input timecode source and the date is initialized using the timestamp_offset.
 31103  const (
 31104  	// HlsProgramDateTimeInclude is a HlsProgramDateTime enum value
 31105  	HlsProgramDateTimeInclude = "INCLUDE"
 31106  
 31107  	// HlsProgramDateTimeExclude is a HlsProgramDateTime enum value
 31108  	HlsProgramDateTimeExclude = "EXCLUDE"
 31109  )
 31110  
 31111  // HlsProgramDateTime_Values returns all elements of the HlsProgramDateTime enum
 31112  func HlsProgramDateTime_Values() []string {
 31113  	return []string{
 31114  		HlsProgramDateTimeInclude,
 31115  		HlsProgramDateTimeExclude,
 31116  	}
 31117  }
 31118  
 31119  // When set to SINGLE_FILE, emits program as a single media resource (.ts) file,
 31120  // uses #EXT-X-BYTERANGE tags to index segment for playback.
 31121  const (
 31122  	// HlsSegmentControlSingleFile is a HlsSegmentControl enum value
 31123  	HlsSegmentControlSingleFile = "SINGLE_FILE"
 31124  
 31125  	// HlsSegmentControlSegmentedFiles is a HlsSegmentControl enum value
 31126  	HlsSegmentControlSegmentedFiles = "SEGMENTED_FILES"
 31127  )
 31128  
 31129  // HlsSegmentControl_Values returns all elements of the HlsSegmentControl enum
 31130  func HlsSegmentControl_Values() []string {
 31131  	return []string{
 31132  		HlsSegmentControlSingleFile,
 31133  		HlsSegmentControlSegmentedFiles,
 31134  	}
 31135  }
 31136  
 31137  // Specify how you want MediaConvert to determine the segment length. Choose
 31138  // Exact (EXACT) to have the encoder use the exact length that you specify with
 31139  // the setting Segment length (SegmentLength). This might result in extra I-frames.
 31140  // Choose Multiple of GOP (GOP_MULTIPLE) to have the encoder round up the segment
 31141  // lengths to match the next GOP boundary.
 31142  const (
 31143  	// HlsSegmentLengthControlExact is a HlsSegmentLengthControl enum value
 31144  	HlsSegmentLengthControlExact = "EXACT"
 31145  
 31146  	// HlsSegmentLengthControlGopMultiple is a HlsSegmentLengthControl enum value
 31147  	HlsSegmentLengthControlGopMultiple = "GOP_MULTIPLE"
 31148  )
 31149  
 31150  // HlsSegmentLengthControl_Values returns all elements of the HlsSegmentLengthControl enum
 31151  func HlsSegmentLengthControl_Values() []string {
 31152  	return []string{
 31153  		HlsSegmentLengthControlExact,
 31154  		HlsSegmentLengthControlGopMultiple,
 31155  	}
 31156  }
 31157  
 31158  // Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag
 31159  // of variant manifest.
 31160  const (
 31161  	// HlsStreamInfResolutionInclude is a HlsStreamInfResolution enum value
 31162  	HlsStreamInfResolutionInclude = "INCLUDE"
 31163  
 31164  	// HlsStreamInfResolutionExclude is a HlsStreamInfResolution enum value
 31165  	HlsStreamInfResolutionExclude = "EXCLUDE"
 31166  )
 31167  
 31168  // HlsStreamInfResolution_Values returns all elements of the HlsStreamInfResolution enum
 31169  func HlsStreamInfResolution_Values() []string {
 31170  	return []string{
 31171  		HlsStreamInfResolutionInclude,
 31172  		HlsStreamInfResolutionExclude,
 31173  	}
 31174  }
 31175  
 31176  // When set to LEGACY, the segment target duration is always rounded up to the
 31177  // nearest integer value above its current value in seconds. When set to SPEC\\_COMPLIANT,
 31178  // the segment target duration is rounded up to the nearest integer value if
 31179  // fraction seconds are greater than or equal to 0.5 (>= 0.5) and rounded down
 31180  // if less than 0.5 (< 0.5). You may need to use LEGACY if your client needs
 31181  // to ensure that the target duration is always longer than the actual duration
 31182  // of the segment. Some older players may experience interrupted playback when
 31183  // the actual duration of a track in a segment is longer than the target duration.
 31184  const (
 31185  	// HlsTargetDurationCompatibilityModeLegacy is a HlsTargetDurationCompatibilityMode enum value
 31186  	HlsTargetDurationCompatibilityModeLegacy = "LEGACY"
 31187  
 31188  	// HlsTargetDurationCompatibilityModeSpecCompliant is a HlsTargetDurationCompatibilityMode enum value
 31189  	HlsTargetDurationCompatibilityModeSpecCompliant = "SPEC_COMPLIANT"
 31190  )
 31191  
 31192  // HlsTargetDurationCompatibilityMode_Values returns all elements of the HlsTargetDurationCompatibilityMode enum
 31193  func HlsTargetDurationCompatibilityMode_Values() []string {
 31194  	return []string{
 31195  		HlsTargetDurationCompatibilityModeLegacy,
 31196  		HlsTargetDurationCompatibilityModeSpecCompliant,
 31197  	}
 31198  }
 31199  
 31200  // Indicates ID3 frame that has the timecode.
 31201  const (
 31202  	// HlsTimedMetadataId3FrameNone is a HlsTimedMetadataId3Frame enum value
 31203  	HlsTimedMetadataId3FrameNone = "NONE"
 31204  
 31205  	// HlsTimedMetadataId3FramePriv is a HlsTimedMetadataId3Frame enum value
 31206  	HlsTimedMetadataId3FramePriv = "PRIV"
 31207  
 31208  	// HlsTimedMetadataId3FrameTdrl is a HlsTimedMetadataId3Frame enum value
 31209  	HlsTimedMetadataId3FrameTdrl = "TDRL"
 31210  )
 31211  
 31212  // HlsTimedMetadataId3Frame_Values returns all elements of the HlsTimedMetadataId3Frame enum
 31213  func HlsTimedMetadataId3Frame_Values() []string {
 31214  	return []string{
 31215  		HlsTimedMetadataId3FrameNone,
 31216  		HlsTimedMetadataId3FramePriv,
 31217  		HlsTimedMetadataId3FrameTdrl,
 31218  	}
 31219  }
 31220  
 31221  // Keep this setting enabled to have MediaConvert use the font style and position
 31222  // information from the captions source in the output. This option is available
 31223  // only when your input captions are IMSC, SMPTE-TT, or TTML. Disable this setting
 31224  // for simplified output captions.
 31225  const (
 31226  	// ImscStylePassthroughEnabled is a ImscStylePassthrough enum value
 31227  	ImscStylePassthroughEnabled = "ENABLED"
 31228  
 31229  	// ImscStylePassthroughDisabled is a ImscStylePassthrough enum value
 31230  	ImscStylePassthroughDisabled = "DISABLED"
 31231  )
 31232  
 31233  // ImscStylePassthrough_Values returns all elements of the ImscStylePassthrough enum
 31234  func ImscStylePassthrough_Values() []string {
 31235  	return []string{
 31236  		ImscStylePassthroughEnabled,
 31237  		ImscStylePassthroughDisabled,
 31238  	}
 31239  }
 31240  
 31241  // Enable Deblock (InputDeblockFilter) to produce smoother motion in the output.
 31242  // Default is disabled. Only manually controllable for MPEG2 and uncompressed
 31243  // video inputs.
 31244  const (
 31245  	// InputDeblockFilterEnabled is a InputDeblockFilter enum value
 31246  	InputDeblockFilterEnabled = "ENABLED"
 31247  
 31248  	// InputDeblockFilterDisabled is a InputDeblockFilter enum value
 31249  	InputDeblockFilterDisabled = "DISABLED"
 31250  )
 31251  
 31252  // InputDeblockFilter_Values returns all elements of the InputDeblockFilter enum
 31253  func InputDeblockFilter_Values() []string {
 31254  	return []string{
 31255  		InputDeblockFilterEnabled,
 31256  		InputDeblockFilterDisabled,
 31257  	}
 31258  }
 31259  
 31260  // Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default
 31261  // is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video
 31262  // inputs.
 31263  const (
 31264  	// InputDenoiseFilterEnabled is a InputDenoiseFilter enum value
 31265  	InputDenoiseFilterEnabled = "ENABLED"
 31266  
 31267  	// InputDenoiseFilterDisabled is a InputDenoiseFilter enum value
 31268  	InputDenoiseFilterDisabled = "DISABLED"
 31269  )
 31270  
 31271  // InputDenoiseFilter_Values returns all elements of the InputDenoiseFilter enum
 31272  func InputDenoiseFilter_Values() []string {
 31273  	return []string{
 31274  		InputDenoiseFilterEnabled,
 31275  		InputDenoiseFilterDisabled,
 31276  	}
 31277  }
 31278  
 31279  // Specify how the transcoding service applies the denoise and deblock filters.
 31280  // You must also enable the filters separately, with Denoise (InputDenoiseFilter)
 31281  // and Deblock (InputDeblockFilter). * Auto - The transcoding service determines
 31282  // whether to apply filtering, depending on input type and quality. * Disable
 31283  // - The input is not filtered. This is true even if you use the API to enable
 31284  // them in (InputDeblockFilter) and (InputDeblockFilter). * Force - The input
 31285  // is filtered regardless of input type.
 31286  const (
 31287  	// InputFilterEnableAuto is a InputFilterEnable enum value
 31288  	InputFilterEnableAuto = "AUTO"
 31289  
 31290  	// InputFilterEnableDisable is a InputFilterEnable enum value
 31291  	InputFilterEnableDisable = "DISABLE"
 31292  
 31293  	// InputFilterEnableForce is a InputFilterEnable enum value
 31294  	InputFilterEnableForce = "FORCE"
 31295  )
 31296  
 31297  // InputFilterEnable_Values returns all elements of the InputFilterEnable enum
 31298  func InputFilterEnable_Values() []string {
 31299  	return []string{
 31300  		InputFilterEnableAuto,
 31301  		InputFilterEnableDisable,
 31302  		InputFilterEnableForce,
 31303  	}
 31304  }
 31305  
 31306  // An input policy allows or disallows a job you submit to run based on the
 31307  // conditions that you specify.
 31308  const (
 31309  	// InputPolicyAllowed is a InputPolicy enum value
 31310  	InputPolicyAllowed = "ALLOWED"
 31311  
 31312  	// InputPolicyDisallowed is a InputPolicy enum value
 31313  	InputPolicyDisallowed = "DISALLOWED"
 31314  )
 31315  
 31316  // InputPolicy_Values returns all elements of the InputPolicy enum
 31317  func InputPolicy_Values() []string {
 31318  	return []string{
 31319  		InputPolicyAllowed,
 31320  		InputPolicyDisallowed,
 31321  	}
 31322  }
 31323  
 31324  // Set PSI control (InputPsiControl) for transport stream inputs to specify
 31325  // which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio
 31326  // and video. * Use PSI - Scan only PSI data.
 31327  const (
 31328  	// InputPsiControlIgnorePsi is a InputPsiControl enum value
 31329  	InputPsiControlIgnorePsi = "IGNORE_PSI"
 31330  
 31331  	// InputPsiControlUsePsi is a InputPsiControl enum value
 31332  	InputPsiControlUsePsi = "USE_PSI"
 31333  )
 31334  
 31335  // InputPsiControl_Values returns all elements of the InputPsiControl enum
 31336  func InputPsiControl_Values() []string {
 31337  	return []string{
 31338  		InputPsiControlIgnorePsi,
 31339  		InputPsiControlUsePsi,
 31340  	}
 31341  }
 31342  
 31343  // Use Rotate (InputRotate) to specify how the service rotates your video. You
 31344  // can choose automatic rotation or specify a rotation. You can specify a clockwise
 31345  // rotation of 0, 90, 180, or 270 degrees. If your input video container is
 31346  // .mov or .mp4 and your input has rotation metadata, you can choose Automatic
 31347  // to have the service rotate your video according to the rotation specified
 31348  // in the metadata. The rotation must be within one degree of 90, 180, or 270
 31349  // degrees. If the rotation metadata specifies any other rotation, the service
 31350  // will default to no rotation. By default, the service does no rotation, even
 31351  // if your input video has rotation metadata. The service doesn't pass through
 31352  // rotation metadata.
 31353  const (
 31354  	// InputRotateDegree0 is a InputRotate enum value
 31355  	InputRotateDegree0 = "DEGREE_0"
 31356  
 31357  	// InputRotateDegrees90 is a InputRotate enum value
 31358  	InputRotateDegrees90 = "DEGREES_90"
 31359  
 31360  	// InputRotateDegrees180 is a InputRotate enum value
 31361  	InputRotateDegrees180 = "DEGREES_180"
 31362  
 31363  	// InputRotateDegrees270 is a InputRotate enum value
 31364  	InputRotateDegrees270 = "DEGREES_270"
 31365  
 31366  	// InputRotateAuto is a InputRotate enum value
 31367  	InputRotateAuto = "AUTO"
 31368  )
 31369  
 31370  // InputRotate_Values returns all elements of the InputRotate enum
 31371  func InputRotate_Values() []string {
 31372  	return []string{
 31373  		InputRotateDegree0,
 31374  		InputRotateDegrees90,
 31375  		InputRotateDegrees180,
 31376  		InputRotateDegrees270,
 31377  		InputRotateAuto,
 31378  	}
 31379  }
 31380  
 31381  // Use this setting when your input video codec is AVC-Intra. Ignore this setting
 31382  // for all other inputs. If the sample range metadata in your input video is
 31383  // accurate, or if you don't know about sample range, keep the default value,
 31384  // Follow (FOLLOW), for this setting. When you do, the service automatically
 31385  // detects your input sample range. If your input video has metadata indicating
 31386  // the wrong sample range, specify the accurate sample range here. When you
 31387  // do, MediaConvert ignores any sample range information in the input metadata.
 31388  // Regardless of whether MediaConvert uses the input sample range or the sample
 31389  // range that you specify, MediaConvert uses the sample range for transcoding
 31390  // and also writes it to the output metadata.
 31391  const (
 31392  	// InputSampleRangeFollow is a InputSampleRange enum value
 31393  	InputSampleRangeFollow = "FOLLOW"
 31394  
 31395  	// InputSampleRangeFullRange is a InputSampleRange enum value
 31396  	InputSampleRangeFullRange = "FULL_RANGE"
 31397  
 31398  	// InputSampleRangeLimitedRange is a InputSampleRange enum value
 31399  	InputSampleRangeLimitedRange = "LIMITED_RANGE"
 31400  )
 31401  
 31402  // InputSampleRange_Values returns all elements of the InputSampleRange enum
 31403  func InputSampleRange_Values() []string {
 31404  	return []string{
 31405  		InputSampleRangeFollow,
 31406  		InputSampleRangeFullRange,
 31407  		InputSampleRangeLimitedRange,
 31408  	}
 31409  }
 31410  
 31411  // When you have a progressive segmented frame (PsF) input, use this setting
 31412  // to flag the input as PsF. MediaConvert doesn't automatically detect PsF.
 31413  // Therefore, flagging your input as PsF results in better preservation of video
 31414  // quality when you do deinterlacing and frame rate conversion. If you don't
 31415  // specify, the default value is Auto (AUTO). Auto is the correct setting for
 31416  // all inputs that are not PsF. Don't set this value to PsF when your input
 31417  // is interlaced. Doing so creates horizontal interlacing artifacts.
 31418  const (
 31419  	// InputScanTypeAuto is a InputScanType enum value
 31420  	InputScanTypeAuto = "AUTO"
 31421  
 31422  	// InputScanTypePsf is a InputScanType enum value
 31423  	InputScanTypePsf = "PSF"
 31424  )
 31425  
 31426  // InputScanType_Values returns all elements of the InputScanType enum
 31427  func InputScanType_Values() []string {
 31428  	return []string{
 31429  		InputScanTypeAuto,
 31430  		InputScanTypePsf,
 31431  	}
 31432  }
 31433  
 31434  // Use this Timecode source setting, located under the input settings (InputTimecodeSource),
 31435  // to specify how the service counts input video frames. This input frame count
 31436  // affects only the behavior of features that apply to a single input at a time,
 31437  // such as input clipping and synchronizing some captions formats. Choose Embedded
 31438  // (EMBEDDED) to use the timecodes in your input video. Choose Start at zero
 31439  // (ZEROBASED) to start the first frame at zero. Choose Specified start (SPECIFIEDSTART)
 31440  // to start the first frame at the timecode that you specify in the setting
 31441  // Start timecode (timecodeStart). If you don't specify a value for Timecode
 31442  // source, the service will use Embedded by default. For more information about
 31443  // timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode.
 31444  const (
 31445  	// InputTimecodeSourceEmbedded is a InputTimecodeSource enum value
 31446  	InputTimecodeSourceEmbedded = "EMBEDDED"
 31447  
 31448  	// InputTimecodeSourceZerobased is a InputTimecodeSource enum value
 31449  	InputTimecodeSourceZerobased = "ZEROBASED"
 31450  
 31451  	// InputTimecodeSourceSpecifiedstart is a InputTimecodeSource enum value
 31452  	InputTimecodeSourceSpecifiedstart = "SPECIFIEDSTART"
 31453  )
 31454  
 31455  // InputTimecodeSource_Values returns all elements of the InputTimecodeSource enum
 31456  func InputTimecodeSource_Values() []string {
 31457  	return []string{
 31458  		InputTimecodeSourceEmbedded,
 31459  		InputTimecodeSourceZerobased,
 31460  		InputTimecodeSourceSpecifiedstart,
 31461  	}
 31462  }
 31463  
 31464  // A job's phase can be PROBING, TRANSCODING OR UPLOADING
 31465  const (
 31466  	// JobPhaseProbing is a JobPhase enum value
 31467  	JobPhaseProbing = "PROBING"
 31468  
 31469  	// JobPhaseTranscoding is a JobPhase enum value
 31470  	JobPhaseTranscoding = "TRANSCODING"
 31471  
 31472  	// JobPhaseUploading is a JobPhase enum value
 31473  	JobPhaseUploading = "UPLOADING"
 31474  )
 31475  
 31476  // JobPhase_Values returns all elements of the JobPhase enum
 31477  func JobPhase_Values() []string {
 31478  	return []string{
 31479  		JobPhaseProbing,
 31480  		JobPhaseTranscoding,
 31481  		JobPhaseUploading,
 31482  	}
 31483  }
 31484  
 31485  // A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR.
 31486  const (
 31487  	// JobStatusSubmitted is a JobStatus enum value
 31488  	JobStatusSubmitted = "SUBMITTED"
 31489  
 31490  	// JobStatusProgressing is a JobStatus enum value
 31491  	JobStatusProgressing = "PROGRESSING"
 31492  
 31493  	// JobStatusComplete is a JobStatus enum value
 31494  	JobStatusComplete = "COMPLETE"
 31495  
 31496  	// JobStatusCanceled is a JobStatus enum value
 31497  	JobStatusCanceled = "CANCELED"
 31498  
 31499  	// JobStatusError is a JobStatus enum value
 31500  	JobStatusError = "ERROR"
 31501  )
 31502  
 31503  // JobStatus_Values returns all elements of the JobStatus enum
 31504  func JobStatus_Values() []string {
 31505  	return []string{
 31506  		JobStatusSubmitted,
 31507  		JobStatusProgressing,
 31508  		JobStatusComplete,
 31509  		JobStatusCanceled,
 31510  		JobStatusError,
 31511  	}
 31512  }
 31513  
 31514  // Optional. When you request a list of job templates, you can choose to list
 31515  // them alphabetically by NAME or chronologically by CREATION_DATE. If you don't
 31516  // specify, the service will list them by name.
 31517  const (
 31518  	// JobTemplateListByName is a JobTemplateListBy enum value
 31519  	JobTemplateListByName = "NAME"
 31520  
 31521  	// JobTemplateListByCreationDate is a JobTemplateListBy enum value
 31522  	JobTemplateListByCreationDate = "CREATION_DATE"
 31523  
 31524  	// JobTemplateListBySystem is a JobTemplateListBy enum value
 31525  	JobTemplateListBySystem = "SYSTEM"
 31526  )
 31527  
 31528  // JobTemplateListBy_Values returns all elements of the JobTemplateListBy enum
 31529  func JobTemplateListBy_Values() []string {
 31530  	return []string{
 31531  		JobTemplateListByName,
 31532  		JobTemplateListByCreationDate,
 31533  		JobTemplateListBySystem,
 31534  	}
 31535  }
 31536  
 31537  // Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php.
 31538  const (
 31539  	// LanguageCodeEng is a LanguageCode enum value
 31540  	LanguageCodeEng = "ENG"
 31541  
 31542  	// LanguageCodeSpa is a LanguageCode enum value
 31543  	LanguageCodeSpa = "SPA"
 31544  
 31545  	// LanguageCodeFra is a LanguageCode enum value
 31546  	LanguageCodeFra = "FRA"
 31547  
 31548  	// LanguageCodeDeu is a LanguageCode enum value
 31549  	LanguageCodeDeu = "DEU"
 31550  
 31551  	// LanguageCodeGer is a LanguageCode enum value
 31552  	LanguageCodeGer = "GER"
 31553  
 31554  	// LanguageCodeZho is a LanguageCode enum value
 31555  	LanguageCodeZho = "ZHO"
 31556  
 31557  	// LanguageCodeAra is a LanguageCode enum value
 31558  	LanguageCodeAra = "ARA"
 31559  
 31560  	// LanguageCodeHin is a LanguageCode enum value
 31561  	LanguageCodeHin = "HIN"
 31562  
 31563  	// LanguageCodeJpn is a LanguageCode enum value
 31564  	LanguageCodeJpn = "JPN"
 31565  
 31566  	// LanguageCodeRus is a LanguageCode enum value
 31567  	LanguageCodeRus = "RUS"
 31568  
 31569  	// LanguageCodePor is a LanguageCode enum value
 31570  	LanguageCodePor = "POR"
 31571  
 31572  	// LanguageCodeIta is a LanguageCode enum value
 31573  	LanguageCodeIta = "ITA"
 31574  
 31575  	// LanguageCodeUrd is a LanguageCode enum value
 31576  	LanguageCodeUrd = "URD"
 31577  
 31578  	// LanguageCodeVie is a LanguageCode enum value
 31579  	LanguageCodeVie = "VIE"
 31580  
 31581  	// LanguageCodeKor is a LanguageCode enum value
 31582  	LanguageCodeKor = "KOR"
 31583  
 31584  	// LanguageCodePan is a LanguageCode enum value
 31585  	LanguageCodePan = "PAN"
 31586  
 31587  	// LanguageCodeAbk is a LanguageCode enum value
 31588  	LanguageCodeAbk = "ABK"
 31589  
 31590  	// LanguageCodeAar is a LanguageCode enum value
 31591  	LanguageCodeAar = "AAR"
 31592  
 31593  	// LanguageCodeAfr is a LanguageCode enum value
 31594  	LanguageCodeAfr = "AFR"
 31595  
 31596  	// LanguageCodeAka is a LanguageCode enum value
 31597  	LanguageCodeAka = "AKA"
 31598  
 31599  	// LanguageCodeSqi is a LanguageCode enum value
 31600  	LanguageCodeSqi = "SQI"
 31601  
 31602  	// LanguageCodeAmh is a LanguageCode enum value
 31603  	LanguageCodeAmh = "AMH"
 31604  
 31605  	// LanguageCodeArg is a LanguageCode enum value
 31606  	LanguageCodeArg = "ARG"
 31607  
 31608  	// LanguageCodeHye is a LanguageCode enum value
 31609  	LanguageCodeHye = "HYE"
 31610  
 31611  	// LanguageCodeAsm is a LanguageCode enum value
 31612  	LanguageCodeAsm = "ASM"
 31613  
 31614  	// LanguageCodeAva is a LanguageCode enum value
 31615  	LanguageCodeAva = "AVA"
 31616  
 31617  	// LanguageCodeAve is a LanguageCode enum value
 31618  	LanguageCodeAve = "AVE"
 31619  
 31620  	// LanguageCodeAym is a LanguageCode enum value
 31621  	LanguageCodeAym = "AYM"
 31622  
 31623  	// LanguageCodeAze is a LanguageCode enum value
 31624  	LanguageCodeAze = "AZE"
 31625  
 31626  	// LanguageCodeBam is a LanguageCode enum value
 31627  	LanguageCodeBam = "BAM"
 31628  
 31629  	// LanguageCodeBak is a LanguageCode enum value
 31630  	LanguageCodeBak = "BAK"
 31631  
 31632  	// LanguageCodeEus is a LanguageCode enum value
 31633  	LanguageCodeEus = "EUS"
 31634  
 31635  	// LanguageCodeBel is a LanguageCode enum value
 31636  	LanguageCodeBel = "BEL"
 31637  
 31638  	// LanguageCodeBen is a LanguageCode enum value
 31639  	LanguageCodeBen = "BEN"
 31640  
 31641  	// LanguageCodeBih is a LanguageCode enum value
 31642  	LanguageCodeBih = "BIH"
 31643  
 31644  	// LanguageCodeBis is a LanguageCode enum value
 31645  	LanguageCodeBis = "BIS"
 31646  
 31647  	// LanguageCodeBos is a LanguageCode enum value
 31648  	LanguageCodeBos = "BOS"
 31649  
 31650  	// LanguageCodeBre is a LanguageCode enum value
 31651  	LanguageCodeBre = "BRE"
 31652  
 31653  	// LanguageCodeBul is a LanguageCode enum value
 31654  	LanguageCodeBul = "BUL"
 31655  
 31656  	// LanguageCodeMya is a LanguageCode enum value
 31657  	LanguageCodeMya = "MYA"
 31658  
 31659  	// LanguageCodeCat is a LanguageCode enum value
 31660  	LanguageCodeCat = "CAT"
 31661  
 31662  	// LanguageCodeKhm is a LanguageCode enum value
 31663  	LanguageCodeKhm = "KHM"
 31664  
 31665  	// LanguageCodeCha is a LanguageCode enum value
 31666  	LanguageCodeCha = "CHA"
 31667  
 31668  	// LanguageCodeChe is a LanguageCode enum value
 31669  	LanguageCodeChe = "CHE"
 31670  
 31671  	// LanguageCodeNya is a LanguageCode enum value
 31672  	LanguageCodeNya = "NYA"
 31673  
 31674  	// LanguageCodeChu is a LanguageCode enum value
 31675  	LanguageCodeChu = "CHU"
 31676  
 31677  	// LanguageCodeChv is a LanguageCode enum value
 31678  	LanguageCodeChv = "CHV"
 31679  
 31680  	// LanguageCodeCor is a LanguageCode enum value
 31681  	LanguageCodeCor = "COR"
 31682  
 31683  	// LanguageCodeCos is a LanguageCode enum value
 31684  	LanguageCodeCos = "COS"
 31685  
 31686  	// LanguageCodeCre is a LanguageCode enum value
 31687  	LanguageCodeCre = "CRE"
 31688  
 31689  	// LanguageCodeHrv is a LanguageCode enum value
 31690  	LanguageCodeHrv = "HRV"
 31691  
 31692  	// LanguageCodeCes is a LanguageCode enum value
 31693  	LanguageCodeCes = "CES"
 31694  
 31695  	// LanguageCodeDan is a LanguageCode enum value
 31696  	LanguageCodeDan = "DAN"
 31697  
 31698  	// LanguageCodeDiv is a LanguageCode enum value
 31699  	LanguageCodeDiv = "DIV"
 31700  
 31701  	// LanguageCodeNld is a LanguageCode enum value
 31702  	LanguageCodeNld = "NLD"
 31703  
 31704  	// LanguageCodeDzo is a LanguageCode enum value
 31705  	LanguageCodeDzo = "DZO"
 31706  
 31707  	// LanguageCodeEnm is a LanguageCode enum value
 31708  	LanguageCodeEnm = "ENM"
 31709  
 31710  	// LanguageCodeEpo is a LanguageCode enum value
 31711  	LanguageCodeEpo = "EPO"
 31712  
 31713  	// LanguageCodeEst is a LanguageCode enum value
 31714  	LanguageCodeEst = "EST"
 31715  
 31716  	// LanguageCodeEwe is a LanguageCode enum value
 31717  	LanguageCodeEwe = "EWE"
 31718  
 31719  	// LanguageCodeFao is a LanguageCode enum value
 31720  	LanguageCodeFao = "FAO"
 31721  
 31722  	// LanguageCodeFij is a LanguageCode enum value
 31723  	LanguageCodeFij = "FIJ"
 31724  
 31725  	// LanguageCodeFin is a LanguageCode enum value
 31726  	LanguageCodeFin = "FIN"
 31727  
 31728  	// LanguageCodeFrm is a LanguageCode enum value
 31729  	LanguageCodeFrm = "FRM"
 31730  
 31731  	// LanguageCodeFul is a LanguageCode enum value
 31732  	LanguageCodeFul = "FUL"
 31733  
 31734  	// LanguageCodeGla is a LanguageCode enum value
 31735  	LanguageCodeGla = "GLA"
 31736  
 31737  	// LanguageCodeGlg is a LanguageCode enum value
 31738  	LanguageCodeGlg = "GLG"
 31739  
 31740  	// LanguageCodeLug is a LanguageCode enum value
 31741  	LanguageCodeLug = "LUG"
 31742  
 31743  	// LanguageCodeKat is a LanguageCode enum value
 31744  	LanguageCodeKat = "KAT"
 31745  
 31746  	// LanguageCodeEll is a LanguageCode enum value
 31747  	LanguageCodeEll = "ELL"
 31748  
 31749  	// LanguageCodeGrn is a LanguageCode enum value
 31750  	LanguageCodeGrn = "GRN"
 31751  
 31752  	// LanguageCodeGuj is a LanguageCode enum value
 31753  	LanguageCodeGuj = "GUJ"
 31754  
 31755  	// LanguageCodeHat is a LanguageCode enum value
 31756  	LanguageCodeHat = "HAT"
 31757  
 31758  	// LanguageCodeHau is a LanguageCode enum value
 31759  	LanguageCodeHau = "HAU"
 31760  
 31761  	// LanguageCodeHeb is a LanguageCode enum value
 31762  	LanguageCodeHeb = "HEB"
 31763  
 31764  	// LanguageCodeHer is a LanguageCode enum value
 31765  	LanguageCodeHer = "HER"
 31766  
 31767  	// LanguageCodeHmo is a LanguageCode enum value
 31768  	LanguageCodeHmo = "HMO"
 31769  
 31770  	// LanguageCodeHun is a LanguageCode enum value
 31771  	LanguageCodeHun = "HUN"
 31772  
 31773  	// LanguageCodeIsl is a LanguageCode enum value
 31774  	LanguageCodeIsl = "ISL"
 31775  
 31776  	// LanguageCodeIdo is a LanguageCode enum value
 31777  	LanguageCodeIdo = "IDO"
 31778  
 31779  	// LanguageCodeIbo is a LanguageCode enum value
 31780  	LanguageCodeIbo = "IBO"
 31781  
 31782  	// LanguageCodeInd is a LanguageCode enum value
 31783  	LanguageCodeInd = "IND"
 31784  
 31785  	// LanguageCodeIna is a LanguageCode enum value
 31786  	LanguageCodeIna = "INA"
 31787  
 31788  	// LanguageCodeIle is a LanguageCode enum value
 31789  	LanguageCodeIle = "ILE"
 31790  
 31791  	// LanguageCodeIku is a LanguageCode enum value
 31792  	LanguageCodeIku = "IKU"
 31793  
 31794  	// LanguageCodeIpk is a LanguageCode enum value
 31795  	LanguageCodeIpk = "IPK"
 31796  
 31797  	// LanguageCodeGle is a LanguageCode enum value
 31798  	LanguageCodeGle = "GLE"
 31799  
 31800  	// LanguageCodeJav is a LanguageCode enum value
 31801  	LanguageCodeJav = "JAV"
 31802  
 31803  	// LanguageCodeKal is a LanguageCode enum value
 31804  	LanguageCodeKal = "KAL"
 31805  
 31806  	// LanguageCodeKan is a LanguageCode enum value
 31807  	LanguageCodeKan = "KAN"
 31808  
 31809  	// LanguageCodeKau is a LanguageCode enum value
 31810  	LanguageCodeKau = "KAU"
 31811  
 31812  	// LanguageCodeKas is a LanguageCode enum value
 31813  	LanguageCodeKas = "KAS"
 31814  
 31815  	// LanguageCodeKaz is a LanguageCode enum value
 31816  	LanguageCodeKaz = "KAZ"
 31817  
 31818  	// LanguageCodeKik is a LanguageCode enum value
 31819  	LanguageCodeKik = "KIK"
 31820  
 31821  	// LanguageCodeKin is a LanguageCode enum value
 31822  	LanguageCodeKin = "KIN"
 31823  
 31824  	// LanguageCodeKir is a LanguageCode enum value
 31825  	LanguageCodeKir = "KIR"
 31826  
 31827  	// LanguageCodeKom is a LanguageCode enum value
 31828  	LanguageCodeKom = "KOM"
 31829  
 31830  	// LanguageCodeKon is a LanguageCode enum value
 31831  	LanguageCodeKon = "KON"
 31832  
 31833  	// LanguageCodeKua is a LanguageCode enum value
 31834  	LanguageCodeKua = "KUA"
 31835  
 31836  	// LanguageCodeKur is a LanguageCode enum value
 31837  	LanguageCodeKur = "KUR"
 31838  
 31839  	// LanguageCodeLao is a LanguageCode enum value
 31840  	LanguageCodeLao = "LAO"
 31841  
 31842  	// LanguageCodeLat is a LanguageCode enum value
 31843  	LanguageCodeLat = "LAT"
 31844  
 31845  	// LanguageCodeLav is a LanguageCode enum value
 31846  	LanguageCodeLav = "LAV"
 31847  
 31848  	// LanguageCodeLim is a LanguageCode enum value
 31849  	LanguageCodeLim = "LIM"
 31850  
 31851  	// LanguageCodeLin is a LanguageCode enum value
 31852  	LanguageCodeLin = "LIN"
 31853  
 31854  	// LanguageCodeLit is a LanguageCode enum value
 31855  	LanguageCodeLit = "LIT"
 31856  
 31857  	// LanguageCodeLub is a LanguageCode enum value
 31858  	LanguageCodeLub = "LUB"
 31859  
 31860  	// LanguageCodeLtz is a LanguageCode enum value
 31861  	LanguageCodeLtz = "LTZ"
 31862  
 31863  	// LanguageCodeMkd is a LanguageCode enum value
 31864  	LanguageCodeMkd = "MKD"
 31865  
 31866  	// LanguageCodeMlg is a LanguageCode enum value
 31867  	LanguageCodeMlg = "MLG"
 31868  
 31869  	// LanguageCodeMsa is a LanguageCode enum value
 31870  	LanguageCodeMsa = "MSA"
 31871  
 31872  	// LanguageCodeMal is a LanguageCode enum value
 31873  	LanguageCodeMal = "MAL"
 31874  
 31875  	// LanguageCodeMlt is a LanguageCode enum value
 31876  	LanguageCodeMlt = "MLT"
 31877  
 31878  	// LanguageCodeGlv is a LanguageCode enum value
 31879  	LanguageCodeGlv = "GLV"
 31880  
 31881  	// LanguageCodeMri is a LanguageCode enum value
 31882  	LanguageCodeMri = "MRI"
 31883  
 31884  	// LanguageCodeMar is a LanguageCode enum value
 31885  	LanguageCodeMar = "MAR"
 31886  
 31887  	// LanguageCodeMah is a LanguageCode enum value
 31888  	LanguageCodeMah = "MAH"
 31889  
 31890  	// LanguageCodeMon is a LanguageCode enum value
 31891  	LanguageCodeMon = "MON"
 31892  
 31893  	// LanguageCodeNau is a LanguageCode enum value
 31894  	LanguageCodeNau = "NAU"
 31895  
 31896  	// LanguageCodeNav is a LanguageCode enum value
 31897  	LanguageCodeNav = "NAV"
 31898  
 31899  	// LanguageCodeNde is a LanguageCode enum value
 31900  	LanguageCodeNde = "NDE"
 31901  
 31902  	// LanguageCodeNbl is a LanguageCode enum value
 31903  	LanguageCodeNbl = "NBL"
 31904  
 31905  	// LanguageCodeNdo is a LanguageCode enum value
 31906  	LanguageCodeNdo = "NDO"
 31907  
 31908  	// LanguageCodeNep is a LanguageCode enum value
 31909  	LanguageCodeNep = "NEP"
 31910  
 31911  	// LanguageCodeSme is a LanguageCode enum value
 31912  	LanguageCodeSme = "SME"
 31913  
 31914  	// LanguageCodeNor is a LanguageCode enum value
 31915  	LanguageCodeNor = "NOR"
 31916  
 31917  	// LanguageCodeNob is a LanguageCode enum value
 31918  	LanguageCodeNob = "NOB"
 31919  
 31920  	// LanguageCodeNno is a LanguageCode enum value
 31921  	LanguageCodeNno = "NNO"
 31922  
 31923  	// LanguageCodeOci is a LanguageCode enum value
 31924  	LanguageCodeOci = "OCI"
 31925  
 31926  	// LanguageCodeOji is a LanguageCode enum value
 31927  	LanguageCodeOji = "OJI"
 31928  
 31929  	// LanguageCodeOri is a LanguageCode enum value
 31930  	LanguageCodeOri = "ORI"
 31931  
 31932  	// LanguageCodeOrm is a LanguageCode enum value
 31933  	LanguageCodeOrm = "ORM"
 31934  
 31935  	// LanguageCodeOss is a LanguageCode enum value
 31936  	LanguageCodeOss = "OSS"
 31937  
 31938  	// LanguageCodePli is a LanguageCode enum value
 31939  	LanguageCodePli = "PLI"
 31940  
 31941  	// LanguageCodeFas is a LanguageCode enum value
 31942  	LanguageCodeFas = "FAS"
 31943  
 31944  	// LanguageCodePol is a LanguageCode enum value
 31945  	LanguageCodePol = "POL"
 31946  
 31947  	// LanguageCodePus is a LanguageCode enum value
 31948  	LanguageCodePus = "PUS"
 31949  
 31950  	// LanguageCodeQue is a LanguageCode enum value
 31951  	LanguageCodeQue = "QUE"
 31952  
 31953  	// LanguageCodeQaa is a LanguageCode enum value
 31954  	LanguageCodeQaa = "QAA"
 31955  
 31956  	// LanguageCodeRon is a LanguageCode enum value
 31957  	LanguageCodeRon = "RON"
 31958  
 31959  	// LanguageCodeRoh is a LanguageCode enum value
 31960  	LanguageCodeRoh = "ROH"
 31961  
 31962  	// LanguageCodeRun is a LanguageCode enum value
 31963  	LanguageCodeRun = "RUN"
 31964  
 31965  	// LanguageCodeSmo is a LanguageCode enum value
 31966  	LanguageCodeSmo = "SMO"
 31967  
 31968  	// LanguageCodeSag is a LanguageCode enum value
 31969  	LanguageCodeSag = "SAG"
 31970  
 31971  	// LanguageCodeSan is a LanguageCode enum value
 31972  	LanguageCodeSan = "SAN"
 31973  
 31974  	// LanguageCodeSrd is a LanguageCode enum value
 31975  	LanguageCodeSrd = "SRD"
 31976  
 31977  	// LanguageCodeSrb is a LanguageCode enum value
 31978  	LanguageCodeSrb = "SRB"
 31979  
 31980  	// LanguageCodeSna is a LanguageCode enum value
 31981  	LanguageCodeSna = "SNA"
 31982  
 31983  	// LanguageCodeIii is a LanguageCode enum value
 31984  	LanguageCodeIii = "III"
 31985  
 31986  	// LanguageCodeSnd is a LanguageCode enum value
 31987  	LanguageCodeSnd = "SND"
 31988  
 31989  	// LanguageCodeSin is a LanguageCode enum value
 31990  	LanguageCodeSin = "SIN"
 31991  
 31992  	// LanguageCodeSlk is a LanguageCode enum value
 31993  	LanguageCodeSlk = "SLK"
 31994  
 31995  	// LanguageCodeSlv is a LanguageCode enum value
 31996  	LanguageCodeSlv = "SLV"
 31997  
 31998  	// LanguageCodeSom is a LanguageCode enum value
 31999  	LanguageCodeSom = "SOM"
 32000  
 32001  	// LanguageCodeSot is a LanguageCode enum value
 32002  	LanguageCodeSot = "SOT"
 32003  
 32004  	// LanguageCodeSun is a LanguageCode enum value
 32005  	LanguageCodeSun = "SUN"
 32006  
 32007  	// LanguageCodeSwa is a LanguageCode enum value
 32008  	LanguageCodeSwa = "SWA"
 32009  
 32010  	// LanguageCodeSsw is a LanguageCode enum value
 32011  	LanguageCodeSsw = "SSW"
 32012  
 32013  	// LanguageCodeSwe is a LanguageCode enum value
 32014  	LanguageCodeSwe = "SWE"
 32015  
 32016  	// LanguageCodeTgl is a LanguageCode enum value
 32017  	LanguageCodeTgl = "TGL"
 32018  
 32019  	// LanguageCodeTah is a LanguageCode enum value
 32020  	LanguageCodeTah = "TAH"
 32021  
 32022  	// LanguageCodeTgk is a LanguageCode enum value
 32023  	LanguageCodeTgk = "TGK"
 32024  
 32025  	// LanguageCodeTam is a LanguageCode enum value
 32026  	LanguageCodeTam = "TAM"
 32027  
 32028  	// LanguageCodeTat is a LanguageCode enum value
 32029  	LanguageCodeTat = "TAT"
 32030  
 32031  	// LanguageCodeTel is a LanguageCode enum value
 32032  	LanguageCodeTel = "TEL"
 32033  
 32034  	// LanguageCodeTha is a LanguageCode enum value
 32035  	LanguageCodeTha = "THA"
 32036  
 32037  	// LanguageCodeBod is a LanguageCode enum value
 32038  	LanguageCodeBod = "BOD"
 32039  
 32040  	// LanguageCodeTir is a LanguageCode enum value
 32041  	LanguageCodeTir = "TIR"
 32042  
 32043  	// LanguageCodeTon is a LanguageCode enum value
 32044  	LanguageCodeTon = "TON"
 32045  
 32046  	// LanguageCodeTso is a LanguageCode enum value
 32047  	LanguageCodeTso = "TSO"
 32048  
 32049  	// LanguageCodeTsn is a LanguageCode enum value
 32050  	LanguageCodeTsn = "TSN"
 32051  
 32052  	// LanguageCodeTur is a LanguageCode enum value
 32053  	LanguageCodeTur = "TUR"
 32054  
 32055  	// LanguageCodeTuk is a LanguageCode enum value
 32056  	LanguageCodeTuk = "TUK"
 32057  
 32058  	// LanguageCodeTwi is a LanguageCode enum value
 32059  	LanguageCodeTwi = "TWI"
 32060  
 32061  	// LanguageCodeUig is a LanguageCode enum value
 32062  	LanguageCodeUig = "UIG"
 32063  
 32064  	// LanguageCodeUkr is a LanguageCode enum value
 32065  	LanguageCodeUkr = "UKR"
 32066  
 32067  	// LanguageCodeUzb is a LanguageCode enum value
 32068  	LanguageCodeUzb = "UZB"
 32069  
 32070  	// LanguageCodeVen is a LanguageCode enum value
 32071  	LanguageCodeVen = "VEN"
 32072  
 32073  	// LanguageCodeVol is a LanguageCode enum value
 32074  	LanguageCodeVol = "VOL"
 32075  
 32076  	// LanguageCodeWln is a LanguageCode enum value
 32077  	LanguageCodeWln = "WLN"
 32078  
 32079  	// LanguageCodeCym is a LanguageCode enum value
 32080  	LanguageCodeCym = "CYM"
 32081  
 32082  	// LanguageCodeFry is a LanguageCode enum value
 32083  	LanguageCodeFry = "FRY"
 32084  
 32085  	// LanguageCodeWol is a LanguageCode enum value
 32086  	LanguageCodeWol = "WOL"
 32087  
 32088  	// LanguageCodeXho is a LanguageCode enum value
 32089  	LanguageCodeXho = "XHO"
 32090  
 32091  	// LanguageCodeYid is a LanguageCode enum value
 32092  	LanguageCodeYid = "YID"
 32093  
 32094  	// LanguageCodeYor is a LanguageCode enum value
 32095  	LanguageCodeYor = "YOR"
 32096  
 32097  	// LanguageCodeZha is a LanguageCode enum value
 32098  	LanguageCodeZha = "ZHA"
 32099  
 32100  	// LanguageCodeZul is a LanguageCode enum value
 32101  	LanguageCodeZul = "ZUL"
 32102  
 32103  	// LanguageCodeOrj is a LanguageCode enum value
 32104  	LanguageCodeOrj = "ORJ"
 32105  
 32106  	// LanguageCodeQpc is a LanguageCode enum value
 32107  	LanguageCodeQpc = "QPC"
 32108  
 32109  	// LanguageCodeTng is a LanguageCode enum value
 32110  	LanguageCodeTng = "TNG"
 32111  )
 32112  
 32113  // LanguageCode_Values returns all elements of the LanguageCode enum
 32114  func LanguageCode_Values() []string {
 32115  	return []string{
 32116  		LanguageCodeEng,
 32117  		LanguageCodeSpa,
 32118  		LanguageCodeFra,
 32119  		LanguageCodeDeu,
 32120  		LanguageCodeGer,
 32121  		LanguageCodeZho,
 32122  		LanguageCodeAra,
 32123  		LanguageCodeHin,
 32124  		LanguageCodeJpn,
 32125  		LanguageCodeRus,
 32126  		LanguageCodePor,
 32127  		LanguageCodeIta,
 32128  		LanguageCodeUrd,
 32129  		LanguageCodeVie,
 32130  		LanguageCodeKor,
 32131  		LanguageCodePan,
 32132  		LanguageCodeAbk,
 32133  		LanguageCodeAar,
 32134  		LanguageCodeAfr,
 32135  		LanguageCodeAka,
 32136  		LanguageCodeSqi,
 32137  		LanguageCodeAmh,
 32138  		LanguageCodeArg,
 32139  		LanguageCodeHye,
 32140  		LanguageCodeAsm,
 32141  		LanguageCodeAva,
 32142  		LanguageCodeAve,
 32143  		LanguageCodeAym,
 32144  		LanguageCodeAze,
 32145  		LanguageCodeBam,
 32146  		LanguageCodeBak,
 32147  		LanguageCodeEus,
 32148  		LanguageCodeBel,
 32149  		LanguageCodeBen,
 32150  		LanguageCodeBih,
 32151  		LanguageCodeBis,
 32152  		LanguageCodeBos,
 32153  		LanguageCodeBre,
 32154  		LanguageCodeBul,
 32155  		LanguageCodeMya,
 32156  		LanguageCodeCat,
 32157  		LanguageCodeKhm,
 32158  		LanguageCodeCha,
 32159  		LanguageCodeChe,
 32160  		LanguageCodeNya,
 32161  		LanguageCodeChu,
 32162  		LanguageCodeChv,
 32163  		LanguageCodeCor,
 32164  		LanguageCodeCos,
 32165  		LanguageCodeCre,
 32166  		LanguageCodeHrv,
 32167  		LanguageCodeCes,
 32168  		LanguageCodeDan,
 32169  		LanguageCodeDiv,
 32170  		LanguageCodeNld,
 32171  		LanguageCodeDzo,
 32172  		LanguageCodeEnm,
 32173  		LanguageCodeEpo,
 32174  		LanguageCodeEst,
 32175  		LanguageCodeEwe,
 32176  		LanguageCodeFao,
 32177  		LanguageCodeFij,
 32178  		LanguageCodeFin,
 32179  		LanguageCodeFrm,
 32180  		LanguageCodeFul,
 32181  		LanguageCodeGla,
 32182  		LanguageCodeGlg,
 32183  		LanguageCodeLug,
 32184  		LanguageCodeKat,
 32185  		LanguageCodeEll,
 32186  		LanguageCodeGrn,
 32187  		LanguageCodeGuj,
 32188  		LanguageCodeHat,
 32189  		LanguageCodeHau,
 32190  		LanguageCodeHeb,
 32191  		LanguageCodeHer,
 32192  		LanguageCodeHmo,
 32193  		LanguageCodeHun,
 32194  		LanguageCodeIsl,
 32195  		LanguageCodeIdo,
 32196  		LanguageCodeIbo,
 32197  		LanguageCodeInd,
 32198  		LanguageCodeIna,
 32199  		LanguageCodeIle,
 32200  		LanguageCodeIku,
 32201  		LanguageCodeIpk,
 32202  		LanguageCodeGle,
 32203  		LanguageCodeJav,
 32204  		LanguageCodeKal,
 32205  		LanguageCodeKan,
 32206  		LanguageCodeKau,
 32207  		LanguageCodeKas,
 32208  		LanguageCodeKaz,
 32209  		LanguageCodeKik,
 32210  		LanguageCodeKin,
 32211  		LanguageCodeKir,
 32212  		LanguageCodeKom,
 32213  		LanguageCodeKon,
 32214  		LanguageCodeKua,
 32215  		LanguageCodeKur,
 32216  		LanguageCodeLao,
 32217  		LanguageCodeLat,
 32218  		LanguageCodeLav,
 32219  		LanguageCodeLim,
 32220  		LanguageCodeLin,
 32221  		LanguageCodeLit,
 32222  		LanguageCodeLub,
 32223  		LanguageCodeLtz,
 32224  		LanguageCodeMkd,
 32225  		LanguageCodeMlg,
 32226  		LanguageCodeMsa,
 32227  		LanguageCodeMal,
 32228  		LanguageCodeMlt,
 32229  		LanguageCodeGlv,
 32230  		LanguageCodeMri,
 32231  		LanguageCodeMar,
 32232  		LanguageCodeMah,
 32233  		LanguageCodeMon,
 32234  		LanguageCodeNau,
 32235  		LanguageCodeNav,
 32236  		LanguageCodeNde,
 32237  		LanguageCodeNbl,
 32238  		LanguageCodeNdo,
 32239  		LanguageCodeNep,
 32240  		LanguageCodeSme,
 32241  		LanguageCodeNor,
 32242  		LanguageCodeNob,
 32243  		LanguageCodeNno,
 32244  		LanguageCodeOci,
 32245  		LanguageCodeOji,
 32246  		LanguageCodeOri,
 32247  		LanguageCodeOrm,
 32248  		LanguageCodeOss,
 32249  		LanguageCodePli,
 32250  		LanguageCodeFas,
 32251  		LanguageCodePol,
 32252  		LanguageCodePus,
 32253  		LanguageCodeQue,
 32254  		LanguageCodeQaa,
 32255  		LanguageCodeRon,
 32256  		LanguageCodeRoh,
 32257  		LanguageCodeRun,
 32258  		LanguageCodeSmo,
 32259  		LanguageCodeSag,
 32260  		LanguageCodeSan,
 32261  		LanguageCodeSrd,
 32262  		LanguageCodeSrb,
 32263  		LanguageCodeSna,
 32264  		LanguageCodeIii,
 32265  		LanguageCodeSnd,
 32266  		LanguageCodeSin,
 32267  		LanguageCodeSlk,
 32268  		LanguageCodeSlv,
 32269  		LanguageCodeSom,
 32270  		LanguageCodeSot,
 32271  		LanguageCodeSun,
 32272  		LanguageCodeSwa,
 32273  		LanguageCodeSsw,
 32274  		LanguageCodeSwe,
 32275  		LanguageCodeTgl,
 32276  		LanguageCodeTah,
 32277  		LanguageCodeTgk,
 32278  		LanguageCodeTam,
 32279  		LanguageCodeTat,
 32280  		LanguageCodeTel,
 32281  		LanguageCodeTha,
 32282  		LanguageCodeBod,
 32283  		LanguageCodeTir,
 32284  		LanguageCodeTon,
 32285  		LanguageCodeTso,
 32286  		LanguageCodeTsn,
 32287  		LanguageCodeTur,
 32288  		LanguageCodeTuk,
 32289  		LanguageCodeTwi,
 32290  		LanguageCodeUig,
 32291  		LanguageCodeUkr,
 32292  		LanguageCodeUzb,
 32293  		LanguageCodeVen,
 32294  		LanguageCodeVol,
 32295  		LanguageCodeWln,
 32296  		LanguageCodeCym,
 32297  		LanguageCodeFry,
 32298  		LanguageCodeWol,
 32299  		LanguageCodeXho,
 32300  		LanguageCodeYid,
 32301  		LanguageCodeYor,
 32302  		LanguageCodeZha,
 32303  		LanguageCodeZul,
 32304  		LanguageCodeOrj,
 32305  		LanguageCodeQpc,
 32306  		LanguageCodeTng,
 32307  	}
 32308  }
 32309  
 32310  // Selects between the DVB and ATSC buffer models for Dolby Digital audio.
 32311  const (
 32312  	// M2tsAudioBufferModelDvb is a M2tsAudioBufferModel enum value
 32313  	M2tsAudioBufferModelDvb = "DVB"
 32314  
 32315  	// M2tsAudioBufferModelAtsc is a M2tsAudioBufferModel enum value
 32316  	M2tsAudioBufferModelAtsc = "ATSC"
 32317  )
 32318  
 32319  // M2tsAudioBufferModel_Values returns all elements of the M2tsAudioBufferModel enum
 32320  func M2tsAudioBufferModel_Values() []string {
 32321  	return []string{
 32322  		M2tsAudioBufferModelDvb,
 32323  		M2tsAudioBufferModelAtsc,
 32324  	}
 32325  }
 32326  
 32327  // Specify this setting only when your output will be consumed by a downstream
 32328  // repackaging workflow that is sensitive to very small duration differences
 32329  // between video and audio. For this situation, choose Match video duration
 32330  // (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default
 32331  // codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration,
 32332  // MediaConvert pads the output audio streams with silence or trims them to
 32333  // ensure that the total duration of each audio stream is at least as long as
 32334  // the total duration of the video stream. After padding or trimming, the audio
 32335  // stream duration is no more than one frame longer than the video stream. MediaConvert
 32336  // applies audio padding or trimming only to the end of the last segment of
 32337  // the output. For unsegmented outputs, MediaConvert adds padding only to the
 32338  // end of the file. When you keep the default value, any minor discrepancies
 32339  // between audio and video duration will depend on your output audio codec.
 32340  const (
 32341  	// M2tsAudioDurationDefaultCodecDuration is a M2tsAudioDuration enum value
 32342  	M2tsAudioDurationDefaultCodecDuration = "DEFAULT_CODEC_DURATION"
 32343  
 32344  	// M2tsAudioDurationMatchVideoDuration is a M2tsAudioDuration enum value
 32345  	M2tsAudioDurationMatchVideoDuration = "MATCH_VIDEO_DURATION"
 32346  )
 32347  
 32348  // M2tsAudioDuration_Values returns all elements of the M2tsAudioDuration enum
 32349  func M2tsAudioDuration_Values() []string {
 32350  	return []string{
 32351  		M2tsAudioDurationDefaultCodecDuration,
 32352  		M2tsAudioDurationMatchVideoDuration,
 32353  	}
 32354  }
 32355  
 32356  // Controls what buffer model to use for accurate interleaving. If set to MULTIPLEX,
 32357  // use multiplex buffer model. If set to NONE, this can lead to lower latency,
 32358  // but low-memory devices may not be able to play back the stream without interruptions.
 32359  const (
 32360  	// M2tsBufferModelMultiplex is a M2tsBufferModel enum value
 32361  	M2tsBufferModelMultiplex = "MULTIPLEX"
 32362  
 32363  	// M2tsBufferModelNone is a M2tsBufferModel enum value
 32364  	M2tsBufferModelNone = "NONE"
 32365  )
 32366  
 32367  // M2tsBufferModel_Values returns all elements of the M2tsBufferModel enum
 32368  func M2tsBufferModel_Values() []string {
 32369  	return []string{
 32370  		M2tsBufferModelMultiplex,
 32371  		M2tsBufferModelNone,
 32372  	}
 32373  }
 32374  
 32375  // If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets
 32376  // with Presentation Timestamp (PTS) values greater than or equal to the first
 32377  // video packet PTS (MediaConvert drops captions and data packets with lesser
 32378  // PTS values). Keep the default value (AUTO) to allow all PTS values.
 32379  const (
 32380  	// M2tsDataPtsControlAuto is a M2tsDataPtsControl enum value
 32381  	M2tsDataPtsControlAuto = "AUTO"
 32382  
 32383  	// M2tsDataPtsControlAlignToVideo is a M2tsDataPtsControl enum value
 32384  	M2tsDataPtsControlAlignToVideo = "ALIGN_TO_VIDEO"
 32385  )
 32386  
 32387  // M2tsDataPtsControl_Values returns all elements of the M2tsDataPtsControl enum
 32388  func M2tsDataPtsControl_Values() []string {
 32389  	return []string{
 32390  		M2tsDataPtsControlAuto,
 32391  		M2tsDataPtsControlAlignToVideo,
 32392  	}
 32393  }
 32394  
 32395  // When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to
 32396  // partitions 3 and 4. The interval between these additional markers will be
 32397  // fixed, and will be slightly shorter than the video EBP marker interval. When
 32398  // set to VIDEO_INTERVAL, these additional markers will not be inserted. Only
 32399  // applicable when EBP segmentation markers are is selected (segmentationMarkers
 32400  // is EBP or EBP_LEGACY).
 32401  const (
 32402  	// M2tsEbpAudioIntervalVideoAndFixedIntervals is a M2tsEbpAudioInterval enum value
 32403  	M2tsEbpAudioIntervalVideoAndFixedIntervals = "VIDEO_AND_FIXED_INTERVALS"
 32404  
 32405  	// M2tsEbpAudioIntervalVideoInterval is a M2tsEbpAudioInterval enum value
 32406  	M2tsEbpAudioIntervalVideoInterval = "VIDEO_INTERVAL"
 32407  )
 32408  
 32409  // M2tsEbpAudioInterval_Values returns all elements of the M2tsEbpAudioInterval enum
 32410  func M2tsEbpAudioInterval_Values() []string {
 32411  	return []string{
 32412  		M2tsEbpAudioIntervalVideoAndFixedIntervals,
 32413  		M2tsEbpAudioIntervalVideoInterval,
 32414  	}
 32415  }
 32416  
 32417  // Selects which PIDs to place EBP markers on. They can either be placed only
 32418  // on the video PID, or on both the video PID and all audio PIDs. Only applicable
 32419  // when EBP segmentation markers are is selected (segmentationMarkers is EBP
 32420  // or EBP_LEGACY).
 32421  const (
 32422  	// M2tsEbpPlacementVideoAndAudioPids is a M2tsEbpPlacement enum value
 32423  	M2tsEbpPlacementVideoAndAudioPids = "VIDEO_AND_AUDIO_PIDS"
 32424  
 32425  	// M2tsEbpPlacementVideoPid is a M2tsEbpPlacement enum value
 32426  	M2tsEbpPlacementVideoPid = "VIDEO_PID"
 32427  )
 32428  
 32429  // M2tsEbpPlacement_Values returns all elements of the M2tsEbpPlacement enum
 32430  func M2tsEbpPlacement_Values() []string {
 32431  	return []string{
 32432  		M2tsEbpPlacementVideoAndAudioPids,
 32433  		M2tsEbpPlacementVideoPid,
 32434  	}
 32435  }
 32436  
 32437  // Controls whether to include the ES Rate field in the PES header.
 32438  const (
 32439  	// M2tsEsRateInPesInclude is a M2tsEsRateInPes enum value
 32440  	M2tsEsRateInPesInclude = "INCLUDE"
 32441  
 32442  	// M2tsEsRateInPesExclude is a M2tsEsRateInPes enum value
 32443  	M2tsEsRateInPesExclude = "EXCLUDE"
 32444  )
 32445  
 32446  // M2tsEsRateInPes_Values returns all elements of the M2tsEsRateInPes enum
 32447  func M2tsEsRateInPes_Values() []string {
 32448  	return []string{
 32449  		M2tsEsRateInPesInclude,
 32450  		M2tsEsRateInPesExclude,
 32451  	}
 32452  }
 32453  
 32454  // Keep the default value (DEFAULT) unless you know that your audio EBP markers
 32455  // are incorrectly appearing before your video EBP markers. To correct this
 32456  // problem, set this value to Force (FORCE).
 32457  const (
 32458  	// M2tsForceTsVideoEbpOrderForce is a M2tsForceTsVideoEbpOrder enum value
 32459  	M2tsForceTsVideoEbpOrderForce = "FORCE"
 32460  
 32461  	// M2tsForceTsVideoEbpOrderDefault is a M2tsForceTsVideoEbpOrder enum value
 32462  	M2tsForceTsVideoEbpOrderDefault = "DEFAULT"
 32463  )
 32464  
 32465  // M2tsForceTsVideoEbpOrder_Values returns all elements of the M2tsForceTsVideoEbpOrder enum
 32466  func M2tsForceTsVideoEbpOrder_Values() []string {
 32467  	return []string{
 32468  		M2tsForceTsVideoEbpOrderForce,
 32469  		M2tsForceTsVideoEbpOrderDefault,
 32470  	}
 32471  }
 32472  
 32473  // If INSERT, Nielsen inaudible tones for media tracking will be detected in
 32474  // the input audio and an equivalent ID3 tag will be inserted in the output.
 32475  const (
 32476  	// M2tsNielsenId3Insert is a M2tsNielsenId3 enum value
 32477  	M2tsNielsenId3Insert = "INSERT"
 32478  
 32479  	// M2tsNielsenId3None is a M2tsNielsenId3 enum value
 32480  	M2tsNielsenId3None = "NONE"
 32481  )
 32482  
 32483  // M2tsNielsenId3_Values returns all elements of the M2tsNielsenId3 enum
 32484  func M2tsNielsenId3_Values() []string {
 32485  	return []string{
 32486  		M2tsNielsenId3Insert,
 32487  		M2tsNielsenId3None,
 32488  	}
 32489  }
 32490  
 32491  // When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted
 32492  // for every Packetized Elementary Stream (PES) header. This is effective only
 32493  // when the PCR PID is the same as the video or audio elementary stream.
 32494  const (
 32495  	// M2tsPcrControlPcrEveryPesPacket is a M2tsPcrControl enum value
 32496  	M2tsPcrControlPcrEveryPesPacket = "PCR_EVERY_PES_PACKET"
 32497  
 32498  	// M2tsPcrControlConfiguredPcrPeriod is a M2tsPcrControl enum value
 32499  	M2tsPcrControlConfiguredPcrPeriod = "CONFIGURED_PCR_PERIOD"
 32500  )
 32501  
 32502  // M2tsPcrControl_Values returns all elements of the M2tsPcrControl enum
 32503  func M2tsPcrControl_Values() []string {
 32504  	return []string{
 32505  		M2tsPcrControlPcrEveryPesPacket,
 32506  		M2tsPcrControlConfiguredPcrPeriod,
 32507  	}
 32508  }
 32509  
 32510  // When set to CBR, inserts null packets into transport stream to fill specified
 32511  // bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate,
 32512  // but the output will not be padded up to that bitrate.
 32513  const (
 32514  	// M2tsRateModeVbr is a M2tsRateMode enum value
 32515  	M2tsRateModeVbr = "VBR"
 32516  
 32517  	// M2tsRateModeCbr is a M2tsRateMode enum value
 32518  	M2tsRateModeCbr = "CBR"
 32519  )
 32520  
 32521  // M2tsRateMode_Values returns all elements of the M2tsRateMode enum
 32522  func M2tsRateMode_Values() []string {
 32523  	return []string{
 32524  		M2tsRateModeVbr,
 32525  		M2tsRateModeCbr,
 32526  	}
 32527  }
 32528  
 32529  // For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if
 32530  // you want SCTE-35 markers that appear in your input to also appear in this
 32531  // output. Choose None (NONE) if you don't want SCTE-35 markers in this output.
 32532  // For SCTE-35 markers from an ESAM XML document-- Choose None (NONE). Also
 32533  // provide the ESAM XML as a string in the setting Signal processing notification
 32534  // XML (sccXml). Also enable ESAM SCTE-35 (include the property scte35Esam).
 32535  const (
 32536  	// M2tsScte35SourcePassthrough is a M2tsScte35Source enum value
 32537  	M2tsScte35SourcePassthrough = "PASSTHROUGH"
 32538  
 32539  	// M2tsScte35SourceNone is a M2tsScte35Source enum value
 32540  	M2tsScte35SourceNone = "NONE"
 32541  )
 32542  
 32543  // M2tsScte35Source_Values returns all elements of the M2tsScte35Source enum
 32544  func M2tsScte35Source_Values() []string {
 32545  	return []string{
 32546  		M2tsScte35SourcePassthrough,
 32547  		M2tsScte35SourceNone,
 32548  	}
 32549  }
 32550  
 32551  // Inserts segmentation markers at each segmentation_time period. rai_segstart
 32552  // sets the Random Access Indicator bit in the adaptation field. rai_adapt sets
 32553  // the RAI bit and adds the current timecode in the private data bytes. psi_segstart
 32554  // inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary
 32555  // Point information to the adaptation field as per OpenCable specification
 32556  // OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information
 32557  // to the adaptation field using a legacy proprietary format.
 32558  const (
 32559  	// M2tsSegmentationMarkersNone is a M2tsSegmentationMarkers enum value
 32560  	M2tsSegmentationMarkersNone = "NONE"
 32561  
 32562  	// M2tsSegmentationMarkersRaiSegstart is a M2tsSegmentationMarkers enum value
 32563  	M2tsSegmentationMarkersRaiSegstart = "RAI_SEGSTART"
 32564  
 32565  	// M2tsSegmentationMarkersRaiAdapt is a M2tsSegmentationMarkers enum value
 32566  	M2tsSegmentationMarkersRaiAdapt = "RAI_ADAPT"
 32567  
 32568  	// M2tsSegmentationMarkersPsiSegstart is a M2tsSegmentationMarkers enum value
 32569  	M2tsSegmentationMarkersPsiSegstart = "PSI_SEGSTART"
 32570  
 32571  	// M2tsSegmentationMarkersEbp is a M2tsSegmentationMarkers enum value
 32572  	M2tsSegmentationMarkersEbp = "EBP"
 32573  
 32574  	// M2tsSegmentationMarkersEbpLegacy is a M2tsSegmentationMarkers enum value
 32575  	M2tsSegmentationMarkersEbpLegacy = "EBP_LEGACY"
 32576  )
 32577  
 32578  // M2tsSegmentationMarkers_Values returns all elements of the M2tsSegmentationMarkers enum
 32579  func M2tsSegmentationMarkers_Values() []string {
 32580  	return []string{
 32581  		M2tsSegmentationMarkersNone,
 32582  		M2tsSegmentationMarkersRaiSegstart,
 32583  		M2tsSegmentationMarkersRaiAdapt,
 32584  		M2tsSegmentationMarkersPsiSegstart,
 32585  		M2tsSegmentationMarkersEbp,
 32586  		M2tsSegmentationMarkersEbpLegacy,
 32587  	}
 32588  }
 32589  
 32590  // The segmentation style parameter controls how segmentation markers are inserted
 32591  // into the transport stream. With avails, it is possible that segments may
 32592  // be truncated, which can influence where future segmentation markers are inserted.
 32593  // When a segmentation style of "reset_cadence" is selected and a segment is
 32594  // truncated due to an avail, we will reset the segmentation cadence. This means
 32595  // the subsequent segment will have a duration of of $segmentation_time seconds.
 32596  // When a segmentation style of "maintain_cadence" is selected and a segment
 32597  // is truncated due to an avail, we will not reset the segmentation cadence.
 32598  // This means the subsequent segment will likely be truncated as well. However,
 32599  // all segments after that will have a duration of $segmentation_time seconds.
 32600  // Note that EBP lookahead is a slight exception to this rule.
 32601  const (
 32602  	// M2tsSegmentationStyleMaintainCadence is a M2tsSegmentationStyle enum value
 32603  	M2tsSegmentationStyleMaintainCadence = "MAINTAIN_CADENCE"
 32604  
 32605  	// M2tsSegmentationStyleResetCadence is a M2tsSegmentationStyle enum value
 32606  	M2tsSegmentationStyleResetCadence = "RESET_CADENCE"
 32607  )
 32608  
 32609  // M2tsSegmentationStyle_Values returns all elements of the M2tsSegmentationStyle enum
 32610  func M2tsSegmentationStyle_Values() []string {
 32611  	return []string{
 32612  		M2tsSegmentationStyleMaintainCadence,
 32613  		M2tsSegmentationStyleResetCadence,
 32614  	}
 32615  }
 32616  
 32617  // Specify this setting only when your output will be consumed by a downstream
 32618  // repackaging workflow that is sensitive to very small duration differences
 32619  // between video and audio. For this situation, choose Match video duration
 32620  // (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default
 32621  // codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration,
 32622  // MediaConvert pads the output audio streams with silence or trims them to
 32623  // ensure that the total duration of each audio stream is at least as long as
 32624  // the total duration of the video stream. After padding or trimming, the audio
 32625  // stream duration is no more than one frame longer than the video stream. MediaConvert
 32626  // applies audio padding or trimming only to the end of the last segment of
 32627  // the output. For unsegmented outputs, MediaConvert adds padding only to the
 32628  // end of the file. When you keep the default value, any minor discrepancies
 32629  // between audio and video duration will depend on your output audio codec.
 32630  const (
 32631  	// M3u8AudioDurationDefaultCodecDuration is a M3u8AudioDuration enum value
 32632  	M3u8AudioDurationDefaultCodecDuration = "DEFAULT_CODEC_DURATION"
 32633  
 32634  	// M3u8AudioDurationMatchVideoDuration is a M3u8AudioDuration enum value
 32635  	M3u8AudioDurationMatchVideoDuration = "MATCH_VIDEO_DURATION"
 32636  )
 32637  
 32638  // M3u8AudioDuration_Values returns all elements of the M3u8AudioDuration enum
 32639  func M3u8AudioDuration_Values() []string {
 32640  	return []string{
 32641  		M3u8AudioDurationDefaultCodecDuration,
 32642  		M3u8AudioDurationMatchVideoDuration,
 32643  	}
 32644  }
 32645  
 32646  // If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets
 32647  // with Presentation Timestamp (PTS) values greater than or equal to the first
 32648  // video packet PTS (MediaConvert drops captions and data packets with lesser
 32649  // PTS values). Keep the default value (AUTO) to allow all PTS values.
 32650  const (
 32651  	// M3u8DataPtsControlAuto is a M3u8DataPtsControl enum value
 32652  	M3u8DataPtsControlAuto = "AUTO"
 32653  
 32654  	// M3u8DataPtsControlAlignToVideo is a M3u8DataPtsControl enum value
 32655  	M3u8DataPtsControlAlignToVideo = "ALIGN_TO_VIDEO"
 32656  )
 32657  
 32658  // M3u8DataPtsControl_Values returns all elements of the M3u8DataPtsControl enum
 32659  func M3u8DataPtsControl_Values() []string {
 32660  	return []string{
 32661  		M3u8DataPtsControlAuto,
 32662  		M3u8DataPtsControlAlignToVideo,
 32663  	}
 32664  }
 32665  
 32666  // If INSERT, Nielsen inaudible tones for media tracking will be detected in
 32667  // the input audio and an equivalent ID3 tag will be inserted in the output.
 32668  const (
 32669  	// M3u8NielsenId3Insert is a M3u8NielsenId3 enum value
 32670  	M3u8NielsenId3Insert = "INSERT"
 32671  
 32672  	// M3u8NielsenId3None is a M3u8NielsenId3 enum value
 32673  	M3u8NielsenId3None = "NONE"
 32674  )
 32675  
 32676  // M3u8NielsenId3_Values returns all elements of the M3u8NielsenId3 enum
 32677  func M3u8NielsenId3_Values() []string {
 32678  	return []string{
 32679  		M3u8NielsenId3Insert,
 32680  		M3u8NielsenId3None,
 32681  	}
 32682  }
 32683  
 32684  // When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted
 32685  // for every Packetized Elementary Stream (PES) header. This parameter is effective
 32686  // only when the PCR PID is the same as the video or audio elementary stream.
 32687  const (
 32688  	// M3u8PcrControlPcrEveryPesPacket is a M3u8PcrControl enum value
 32689  	M3u8PcrControlPcrEveryPesPacket = "PCR_EVERY_PES_PACKET"
 32690  
 32691  	// M3u8PcrControlConfiguredPcrPeriod is a M3u8PcrControl enum value
 32692  	M3u8PcrControlConfiguredPcrPeriod = "CONFIGURED_PCR_PERIOD"
 32693  )
 32694  
 32695  // M3u8PcrControl_Values returns all elements of the M3u8PcrControl enum
 32696  func M3u8PcrControl_Values() []string {
 32697  	return []string{
 32698  		M3u8PcrControlPcrEveryPesPacket,
 32699  		M3u8PcrControlConfiguredPcrPeriod,
 32700  	}
 32701  }
 32702  
 32703  // For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if
 32704  // you want SCTE-35 markers that appear in your input to also appear in this
 32705  // output. Choose None (NONE) if you don't want SCTE-35 markers in this output.
 32706  // For SCTE-35 markers from an ESAM XML document-- Choose None (NONE) if you
 32707  // don't want manifest conditioning. Choose Passthrough (PASSTHROUGH) and choose
 32708  // Ad markers (adMarkers) if you do want manifest conditioning. In both cases,
 32709  // also provide the ESAM XML as a string in the setting Signal processing notification
 32710  // XML (sccXml).
 32711  const (
 32712  	// M3u8Scte35SourcePassthrough is a M3u8Scte35Source enum value
 32713  	M3u8Scte35SourcePassthrough = "PASSTHROUGH"
 32714  
 32715  	// M3u8Scte35SourceNone is a M3u8Scte35Source enum value
 32716  	M3u8Scte35SourceNone = "NONE"
 32717  )
 32718  
 32719  // M3u8Scte35Source_Values returns all elements of the M3u8Scte35Source enum
 32720  func M3u8Scte35Source_Values() []string {
 32721  	return []string{
 32722  		M3u8Scte35SourcePassthrough,
 32723  		M3u8Scte35SourceNone,
 32724  	}
 32725  }
 32726  
 32727  // Choose the type of motion graphic asset that you are providing for your overlay.
 32728  // You can choose either a .mov file or a series of .png files.
 32729  const (
 32730  	// MotionImageInsertionModeMov is a MotionImageInsertionMode enum value
 32731  	MotionImageInsertionModeMov = "MOV"
 32732  
 32733  	// MotionImageInsertionModePng is a MotionImageInsertionMode enum value
 32734  	MotionImageInsertionModePng = "PNG"
 32735  )
 32736  
 32737  // MotionImageInsertionMode_Values returns all elements of the MotionImageInsertionMode enum
 32738  func MotionImageInsertionMode_Values() []string {
 32739  	return []string{
 32740  		MotionImageInsertionModeMov,
 32741  		MotionImageInsertionModePng,
 32742  	}
 32743  }
 32744  
 32745  // Specify whether your motion graphic overlay repeats on a loop or plays only
 32746  // once.
 32747  const (
 32748  	// MotionImagePlaybackOnce is a MotionImagePlayback enum value
 32749  	MotionImagePlaybackOnce = "ONCE"
 32750  
 32751  	// MotionImagePlaybackRepeat is a MotionImagePlayback enum value
 32752  	MotionImagePlaybackRepeat = "REPEAT"
 32753  )
 32754  
 32755  // MotionImagePlayback_Values returns all elements of the MotionImagePlayback enum
 32756  func MotionImagePlayback_Values() []string {
 32757  	return []string{
 32758  		MotionImagePlaybackOnce,
 32759  		MotionImagePlaybackRepeat,
 32760  	}
 32761  }
 32762  
 32763  // When enabled, include 'clap' atom if appropriate for the video output settings.
 32764  const (
 32765  	// MovClapAtomInclude is a MovClapAtom enum value
 32766  	MovClapAtomInclude = "INCLUDE"
 32767  
 32768  	// MovClapAtomExclude is a MovClapAtom enum value
 32769  	MovClapAtomExclude = "EXCLUDE"
 32770  )
 32771  
 32772  // MovClapAtom_Values returns all elements of the MovClapAtom enum
 32773  func MovClapAtom_Values() []string {
 32774  	return []string{
 32775  		MovClapAtomInclude,
 32776  		MovClapAtomExclude,
 32777  	}
 32778  }
 32779  
 32780  // When enabled, file composition times will start at zero, composition times
 32781  // in the 'ctts' (composition time to sample) box for B-frames will be negative,
 32782  // and a 'cslg' (composition shift least greatest) box will be included per
 32783  // 14496-1 amendment 1. This improves compatibility with Apple players and tools.
 32784  const (
 32785  	// MovCslgAtomInclude is a MovCslgAtom enum value
 32786  	MovCslgAtomInclude = "INCLUDE"
 32787  
 32788  	// MovCslgAtomExclude is a MovCslgAtom enum value
 32789  	MovCslgAtomExclude = "EXCLUDE"
 32790  )
 32791  
 32792  // MovCslgAtom_Values returns all elements of the MovCslgAtom enum
 32793  func MovCslgAtom_Values() []string {
 32794  	return []string{
 32795  		MovCslgAtomInclude,
 32796  		MovCslgAtomExclude,
 32797  	}
 32798  }
 32799  
 32800  // When set to XDCAM, writes MPEG2 video streams into the QuickTime file using
 32801  // XDCAM fourcc codes. This increases compatibility with Apple editors and players,
 32802  // but may decrease compatibility with other players. Only applicable when the
 32803  // video codec is MPEG2.
 32804  const (
 32805  	// MovMpeg2FourCCControlXdcam is a MovMpeg2FourCCControl enum value
 32806  	MovMpeg2FourCCControlXdcam = "XDCAM"
 32807  
 32808  	// MovMpeg2FourCCControlMpeg is a MovMpeg2FourCCControl enum value
 32809  	MovMpeg2FourCCControlMpeg = "MPEG"
 32810  )
 32811  
 32812  // MovMpeg2FourCCControl_Values returns all elements of the MovMpeg2FourCCControl enum
 32813  func MovMpeg2FourCCControl_Values() []string {
 32814  	return []string{
 32815  		MovMpeg2FourCCControlXdcam,
 32816  		MovMpeg2FourCCControlMpeg,
 32817  	}
 32818  }
 32819  
 32820  // To make this output compatible with Omenon, keep the default value, OMNEON.
 32821  // Unless you need Omneon compatibility, set this value to NONE. When you keep
 32822  // the default value, OMNEON, MediaConvert increases the length of the edit
 32823  // list atom. This might cause file rejections when a recipient of the output
 32824  // file doesn't expct this extra padding.
 32825  const (
 32826  	// MovPaddingControlOmneon is a MovPaddingControl enum value
 32827  	MovPaddingControlOmneon = "OMNEON"
 32828  
 32829  	// MovPaddingControlNone is a MovPaddingControl enum value
 32830  	MovPaddingControlNone = "NONE"
 32831  )
 32832  
 32833  // MovPaddingControl_Values returns all elements of the MovPaddingControl enum
 32834  func MovPaddingControl_Values() []string {
 32835  	return []string{
 32836  		MovPaddingControlOmneon,
 32837  		MovPaddingControlNone,
 32838  	}
 32839  }
 32840  
 32841  // Always keep the default value (SELF_CONTAINED) for this setting.
 32842  const (
 32843  	// MovReferenceSelfContained is a MovReference enum value
 32844  	MovReferenceSelfContained = "SELF_CONTAINED"
 32845  
 32846  	// MovReferenceExternal is a MovReference enum value
 32847  	MovReferenceExternal = "EXTERNAL"
 32848  )
 32849  
 32850  // MovReference_Values returns all elements of the MovReference enum
 32851  func MovReference_Values() []string {
 32852  	return []string{
 32853  		MovReferenceSelfContained,
 32854  		MovReferenceExternal,
 32855  	}
 32856  }
 32857  
 32858  // Specify whether the service encodes this MP3 audio output with a constant
 32859  // bitrate (CBR) or a variable bitrate (VBR).
 32860  const (
 32861  	// Mp3RateControlModeCbr is a Mp3RateControlMode enum value
 32862  	Mp3RateControlModeCbr = "CBR"
 32863  
 32864  	// Mp3RateControlModeVbr is a Mp3RateControlMode enum value
 32865  	Mp3RateControlModeVbr = "VBR"
 32866  )
 32867  
 32868  // Mp3RateControlMode_Values returns all elements of the Mp3RateControlMode enum
 32869  func Mp3RateControlMode_Values() []string {
 32870  	return []string{
 32871  		Mp3RateControlModeCbr,
 32872  		Mp3RateControlModeVbr,
 32873  	}
 32874  }
 32875  
 32876  // When enabled, file composition times will start at zero, composition times
 32877  // in the 'ctts' (composition time to sample) box for B-frames will be negative,
 32878  // and a 'cslg' (composition shift least greatest) box will be included per
 32879  // 14496-1 amendment 1. This improves compatibility with Apple players and tools.
 32880  const (
 32881  	// Mp4CslgAtomInclude is a Mp4CslgAtom enum value
 32882  	Mp4CslgAtomInclude = "INCLUDE"
 32883  
 32884  	// Mp4CslgAtomExclude is a Mp4CslgAtom enum value
 32885  	Mp4CslgAtomExclude = "EXCLUDE"
 32886  )
 32887  
 32888  // Mp4CslgAtom_Values returns all elements of the Mp4CslgAtom enum
 32889  func Mp4CslgAtom_Values() []string {
 32890  	return []string{
 32891  		Mp4CslgAtomInclude,
 32892  		Mp4CslgAtomExclude,
 32893  	}
 32894  }
 32895  
 32896  // Inserts a free-space box immediately after the moov box.
 32897  const (
 32898  	// Mp4FreeSpaceBoxInclude is a Mp4FreeSpaceBox enum value
 32899  	Mp4FreeSpaceBoxInclude = "INCLUDE"
 32900  
 32901  	// Mp4FreeSpaceBoxExclude is a Mp4FreeSpaceBox enum value
 32902  	Mp4FreeSpaceBoxExclude = "EXCLUDE"
 32903  )
 32904  
 32905  // Mp4FreeSpaceBox_Values returns all elements of the Mp4FreeSpaceBox enum
 32906  func Mp4FreeSpaceBox_Values() []string {
 32907  	return []string{
 32908  		Mp4FreeSpaceBoxInclude,
 32909  		Mp4FreeSpaceBoxExclude,
 32910  	}
 32911  }
 32912  
 32913  // If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning
 32914  // of the archive as required for progressive downloading. Otherwise it is placed
 32915  // normally at the end.
 32916  const (
 32917  	// Mp4MoovPlacementProgressiveDownload is a Mp4MoovPlacement enum value
 32918  	Mp4MoovPlacementProgressiveDownload = "PROGRESSIVE_DOWNLOAD"
 32919  
 32920  	// Mp4MoovPlacementNormal is a Mp4MoovPlacement enum value
 32921  	Mp4MoovPlacementNormal = "NORMAL"
 32922  )
 32923  
 32924  // Mp4MoovPlacement_Values returns all elements of the Mp4MoovPlacement enum
 32925  func Mp4MoovPlacement_Values() []string {
 32926  	return []string{
 32927  		Mp4MoovPlacementProgressiveDownload,
 32928  		Mp4MoovPlacementNormal,
 32929  	}
 32930  }
 32931  
 32932  // Optional. Choose Include (INCLUDE) to have MediaConvert mark up your DASH
 32933  // manifest with elements for embedded 608 captions. This markup isn't generally
 32934  // required, but some video players require it to discover and play embedded
 32935  // 608 captions. Keep the default value, Exclude (EXCLUDE), to leave these elements
 32936  // out. When you enable this setting, this is the markup that MediaConvert includes
 32937  // in your manifest:
 32938  const (
 32939  	// MpdAccessibilityCaptionHintsInclude is a MpdAccessibilityCaptionHints enum value
 32940  	MpdAccessibilityCaptionHintsInclude = "INCLUDE"
 32941  
 32942  	// MpdAccessibilityCaptionHintsExclude is a MpdAccessibilityCaptionHints enum value
 32943  	MpdAccessibilityCaptionHintsExclude = "EXCLUDE"
 32944  )
 32945  
 32946  // MpdAccessibilityCaptionHints_Values returns all elements of the MpdAccessibilityCaptionHints enum
 32947  func MpdAccessibilityCaptionHints_Values() []string {
 32948  	return []string{
 32949  		MpdAccessibilityCaptionHintsInclude,
 32950  		MpdAccessibilityCaptionHintsExclude,
 32951  	}
 32952  }
 32953  
 32954  // Specify this setting only when your output will be consumed by a downstream
 32955  // repackaging workflow that is sensitive to very small duration differences
 32956  // between video and audio. For this situation, choose Match video duration
 32957  // (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default
 32958  // codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration,
 32959  // MediaConvert pads the output audio streams with silence or trims them to
 32960  // ensure that the total duration of each audio stream is at least as long as
 32961  // the total duration of the video stream. After padding or trimming, the audio
 32962  // stream duration is no more than one frame longer than the video stream. MediaConvert
 32963  // applies audio padding or trimming only to the end of the last segment of
 32964  // the output. For unsegmented outputs, MediaConvert adds padding only to the
 32965  // end of the file. When you keep the default value, any minor discrepancies
 32966  // between audio and video duration will depend on your output audio codec.
 32967  const (
 32968  	// MpdAudioDurationDefaultCodecDuration is a MpdAudioDuration enum value
 32969  	MpdAudioDurationDefaultCodecDuration = "DEFAULT_CODEC_DURATION"
 32970  
 32971  	// MpdAudioDurationMatchVideoDuration is a MpdAudioDuration enum value
 32972  	MpdAudioDurationMatchVideoDuration = "MATCH_VIDEO_DURATION"
 32973  )
 32974  
 32975  // MpdAudioDuration_Values returns all elements of the MpdAudioDuration enum
 32976  func MpdAudioDuration_Values() []string {
 32977  	return []string{
 32978  		MpdAudioDurationDefaultCodecDuration,
 32979  		MpdAudioDurationMatchVideoDuration,
 32980  	}
 32981  }
 32982  
 32983  // Use this setting only in DASH output groups that include sidecar TTML or
 32984  // IMSC captions. You specify sidecar captions in a separate output from your
 32985  // audio and video. Choose Raw (RAW) for captions in a single XML file in a
 32986  // raw container. Choose Fragmented MPEG-4 (FRAGMENTED_MP4) for captions in
 32987  // XML format contained within fragmented MP4 files. This set of fragmented
 32988  // MP4 files is separate from your video and audio fragmented MP4 files.
 32989  const (
 32990  	// MpdCaptionContainerTypeRaw is a MpdCaptionContainerType enum value
 32991  	MpdCaptionContainerTypeRaw = "RAW"
 32992  
 32993  	// MpdCaptionContainerTypeFragmentedMp4 is a MpdCaptionContainerType enum value
 32994  	MpdCaptionContainerTypeFragmentedMp4 = "FRAGMENTED_MP4"
 32995  )
 32996  
 32997  // MpdCaptionContainerType_Values returns all elements of the MpdCaptionContainerType enum
 32998  func MpdCaptionContainerType_Values() []string {
 32999  	return []string{
 33000  		MpdCaptionContainerTypeRaw,
 33001  		MpdCaptionContainerTypeFragmentedMp4,
 33002  	}
 33003  }
 33004  
 33005  // Use this setting only when you specify SCTE-35 markers from ESAM. Choose
 33006  // INSERT to put SCTE-35 markers in this output at the insertion points that
 33007  // you specify in an ESAM XML document. Provide the document in the setting
 33008  // SCC XML (sccXml).
 33009  const (
 33010  	// MpdScte35EsamInsert is a MpdScte35Esam enum value
 33011  	MpdScte35EsamInsert = "INSERT"
 33012  
 33013  	// MpdScte35EsamNone is a MpdScte35Esam enum value
 33014  	MpdScte35EsamNone = "NONE"
 33015  )
 33016  
 33017  // MpdScte35Esam_Values returns all elements of the MpdScte35Esam enum
 33018  func MpdScte35Esam_Values() []string {
 33019  	return []string{
 33020  		MpdScte35EsamInsert,
 33021  		MpdScte35EsamNone,
 33022  	}
 33023  }
 33024  
 33025  // Ignore this setting unless you have SCTE-35 markers in your input video file.
 33026  // Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear
 33027  // in your input to also appear in this output. Choose None (NONE) if you don't
 33028  // want those SCTE-35 markers in this output.
 33029  const (
 33030  	// MpdScte35SourcePassthrough is a MpdScte35Source enum value
 33031  	MpdScte35SourcePassthrough = "PASSTHROUGH"
 33032  
 33033  	// MpdScte35SourceNone is a MpdScte35Source enum value
 33034  	MpdScte35SourceNone = "NONE"
 33035  )
 33036  
 33037  // MpdScte35Source_Values returns all elements of the MpdScte35Source enum
 33038  func MpdScte35Source_Values() []string {
 33039  	return []string{
 33040  		MpdScte35SourcePassthrough,
 33041  		MpdScte35SourceNone,
 33042  	}
 33043  }
 33044  
 33045  // Specify the strength of any adaptive quantization filters that you enable.
 33046  // The value that you choose here applies to the following settings: Spatial
 33047  // adaptive quantization (spatialAdaptiveQuantization), and Temporal adaptive
 33048  // quantization (temporalAdaptiveQuantization).
 33049  const (
 33050  	// Mpeg2AdaptiveQuantizationOff is a Mpeg2AdaptiveQuantization enum value
 33051  	Mpeg2AdaptiveQuantizationOff = "OFF"
 33052  
 33053  	// Mpeg2AdaptiveQuantizationLow is a Mpeg2AdaptiveQuantization enum value
 33054  	Mpeg2AdaptiveQuantizationLow = "LOW"
 33055  
 33056  	// Mpeg2AdaptiveQuantizationMedium is a Mpeg2AdaptiveQuantization enum value
 33057  	Mpeg2AdaptiveQuantizationMedium = "MEDIUM"
 33058  
 33059  	// Mpeg2AdaptiveQuantizationHigh is a Mpeg2AdaptiveQuantization enum value
 33060  	Mpeg2AdaptiveQuantizationHigh = "HIGH"
 33061  )
 33062  
 33063  // Mpeg2AdaptiveQuantization_Values returns all elements of the Mpeg2AdaptiveQuantization enum
 33064  func Mpeg2AdaptiveQuantization_Values() []string {
 33065  	return []string{
 33066  		Mpeg2AdaptiveQuantizationOff,
 33067  		Mpeg2AdaptiveQuantizationLow,
 33068  		Mpeg2AdaptiveQuantizationMedium,
 33069  		Mpeg2AdaptiveQuantizationHigh,
 33070  	}
 33071  }
 33072  
 33073  // Use Level (Mpeg2CodecLevel) to set the MPEG-2 level for the video output.
 33074  const (
 33075  	// Mpeg2CodecLevelAuto is a Mpeg2CodecLevel enum value
 33076  	Mpeg2CodecLevelAuto = "AUTO"
 33077  
 33078  	// Mpeg2CodecLevelLow is a Mpeg2CodecLevel enum value
 33079  	Mpeg2CodecLevelLow = "LOW"
 33080  
 33081  	// Mpeg2CodecLevelMain is a Mpeg2CodecLevel enum value
 33082  	Mpeg2CodecLevelMain = "MAIN"
 33083  
 33084  	// Mpeg2CodecLevelHigh1440 is a Mpeg2CodecLevel enum value
 33085  	Mpeg2CodecLevelHigh1440 = "HIGH1440"
 33086  
 33087  	// Mpeg2CodecLevelHigh is a Mpeg2CodecLevel enum value
 33088  	Mpeg2CodecLevelHigh = "HIGH"
 33089  )
 33090  
 33091  // Mpeg2CodecLevel_Values returns all elements of the Mpeg2CodecLevel enum
 33092  func Mpeg2CodecLevel_Values() []string {
 33093  	return []string{
 33094  		Mpeg2CodecLevelAuto,
 33095  		Mpeg2CodecLevelLow,
 33096  		Mpeg2CodecLevelMain,
 33097  		Mpeg2CodecLevelHigh1440,
 33098  		Mpeg2CodecLevelHigh,
 33099  	}
 33100  }
 33101  
 33102  // Use Profile (Mpeg2CodecProfile) to set the MPEG-2 profile for the video output.
 33103  const (
 33104  	// Mpeg2CodecProfileMain is a Mpeg2CodecProfile enum value
 33105  	Mpeg2CodecProfileMain = "MAIN"
 33106  
 33107  	// Mpeg2CodecProfileProfile422 is a Mpeg2CodecProfile enum value
 33108  	Mpeg2CodecProfileProfile422 = "PROFILE_422"
 33109  )
 33110  
 33111  // Mpeg2CodecProfile_Values returns all elements of the Mpeg2CodecProfile enum
 33112  func Mpeg2CodecProfile_Values() []string {
 33113  	return []string{
 33114  		Mpeg2CodecProfileMain,
 33115  		Mpeg2CodecProfileProfile422,
 33116  	}
 33117  }
 33118  
 33119  // Choose Adaptive to improve subjective video quality for high-motion content.
 33120  // This will cause the service to use fewer B-frames (which infer information
 33121  // based on other frames) for high-motion portions of the video and more B-frames
 33122  // for low-motion portions. The maximum number of B-frames is limited by the
 33123  // value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).
 33124  const (
 33125  	// Mpeg2DynamicSubGopAdaptive is a Mpeg2DynamicSubGop enum value
 33126  	Mpeg2DynamicSubGopAdaptive = "ADAPTIVE"
 33127  
 33128  	// Mpeg2DynamicSubGopStatic is a Mpeg2DynamicSubGop enum value
 33129  	Mpeg2DynamicSubGopStatic = "STATIC"
 33130  )
 33131  
 33132  // Mpeg2DynamicSubGop_Values returns all elements of the Mpeg2DynamicSubGop enum
 33133  func Mpeg2DynamicSubGop_Values() []string {
 33134  	return []string{
 33135  		Mpeg2DynamicSubGopAdaptive,
 33136  		Mpeg2DynamicSubGopStatic,
 33137  	}
 33138  }
 33139  
 33140  // If you are using the console, use the Framerate setting to specify the frame
 33141  // rate for this output. If you want to keep the same frame rate as the input
 33142  // video, choose Follow source. If you want to do frame rate conversion, choose
 33143  // a frame rate from the dropdown list or choose Custom. The framerates shown
 33144  // in the dropdown list are decimal approximations of fractions. If you choose
 33145  // Custom, specify your frame rate as a fraction. If you are creating your transcoding
 33146  // job specification as a JSON file without the console, use FramerateControl
 33147  // to specify which value the service uses for the frame rate for this output.
 33148  // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 33149  // from the input. Choose SPECIFIED if you want the service to use the frame
 33150  // rate you specify in the settings FramerateNumerator and FramerateDenominator.
 33151  const (
 33152  	// Mpeg2FramerateControlInitializeFromSource is a Mpeg2FramerateControl enum value
 33153  	Mpeg2FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 33154  
 33155  	// Mpeg2FramerateControlSpecified is a Mpeg2FramerateControl enum value
 33156  	Mpeg2FramerateControlSpecified = "SPECIFIED"
 33157  )
 33158  
 33159  // Mpeg2FramerateControl_Values returns all elements of the Mpeg2FramerateControl enum
 33160  func Mpeg2FramerateControl_Values() []string {
 33161  	return []string{
 33162  		Mpeg2FramerateControlInitializeFromSource,
 33163  		Mpeg2FramerateControlSpecified,
 33164  	}
 33165  }
 33166  
 33167  // Choose the method that you want MediaConvert to use when increasing or decreasing
 33168  // the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 33169  // simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 33170  // you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 33171  // smooth picture, but might introduce undesirable video artifacts. For complex
 33172  // frame rate conversions, especially if your source video has already been
 33173  // converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 33174  // motion-compensated interpolation. FrameFormer chooses the best conversion
 33175  // method frame by frame. Note that using FrameFormer increases the transcoding
 33176  // time and incurs a significant add-on cost.
 33177  const (
 33178  	// Mpeg2FramerateConversionAlgorithmDuplicateDrop is a Mpeg2FramerateConversionAlgorithm enum value
 33179  	Mpeg2FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP"
 33180  
 33181  	// Mpeg2FramerateConversionAlgorithmInterpolate is a Mpeg2FramerateConversionAlgorithm enum value
 33182  	Mpeg2FramerateConversionAlgorithmInterpolate = "INTERPOLATE"
 33183  
 33184  	// Mpeg2FramerateConversionAlgorithmFrameformer is a Mpeg2FramerateConversionAlgorithm enum value
 33185  	Mpeg2FramerateConversionAlgorithmFrameformer = "FRAMEFORMER"
 33186  )
 33187  
 33188  // Mpeg2FramerateConversionAlgorithm_Values returns all elements of the Mpeg2FramerateConversionAlgorithm enum
 33189  func Mpeg2FramerateConversionAlgorithm_Values() []string {
 33190  	return []string{
 33191  		Mpeg2FramerateConversionAlgorithmDuplicateDrop,
 33192  		Mpeg2FramerateConversionAlgorithmInterpolate,
 33193  		Mpeg2FramerateConversionAlgorithmFrameformer,
 33194  	}
 33195  }
 33196  
 33197  // Specify the units for GOP size (GopSize). If you don't specify a value here,
 33198  // by default the encoder measures GOP size in frames.
 33199  const (
 33200  	// Mpeg2GopSizeUnitsFrames is a Mpeg2GopSizeUnits enum value
 33201  	Mpeg2GopSizeUnitsFrames = "FRAMES"
 33202  
 33203  	// Mpeg2GopSizeUnitsSeconds is a Mpeg2GopSizeUnits enum value
 33204  	Mpeg2GopSizeUnitsSeconds = "SECONDS"
 33205  )
 33206  
 33207  // Mpeg2GopSizeUnits_Values returns all elements of the Mpeg2GopSizeUnits enum
 33208  func Mpeg2GopSizeUnits_Values() []string {
 33209  	return []string{
 33210  		Mpeg2GopSizeUnitsFrames,
 33211  		Mpeg2GopSizeUnitsSeconds,
 33212  	}
 33213  }
 33214  
 33215  // Choose the scan line type for the output. Keep the default value, Progressive
 33216  // (PROGRESSIVE) to create a progressive output, regardless of the scan type
 33217  // of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD)
 33218  // to create an output that's interlaced with the same field polarity throughout.
 33219  // Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD)
 33220  // to produce outputs with the same field polarity as the source. For jobs that
 33221  // have multiple inputs, the output field polarity might change over the course
 33222  // of the output. Follow behavior depends on the input scan type. If the source
 33223  // is interlaced, the output will be interlaced with the same polarity as the
 33224  // source. If the source is progressive, the output will be interlaced with
 33225  // top field bottom field first, depending on which of the Follow options you
 33226  // choose.
 33227  const (
 33228  	// Mpeg2InterlaceModeProgressive is a Mpeg2InterlaceMode enum value
 33229  	Mpeg2InterlaceModeProgressive = "PROGRESSIVE"
 33230  
 33231  	// Mpeg2InterlaceModeTopField is a Mpeg2InterlaceMode enum value
 33232  	Mpeg2InterlaceModeTopField = "TOP_FIELD"
 33233  
 33234  	// Mpeg2InterlaceModeBottomField is a Mpeg2InterlaceMode enum value
 33235  	Mpeg2InterlaceModeBottomField = "BOTTOM_FIELD"
 33236  
 33237  	// Mpeg2InterlaceModeFollowTopField is a Mpeg2InterlaceMode enum value
 33238  	Mpeg2InterlaceModeFollowTopField = "FOLLOW_TOP_FIELD"
 33239  
 33240  	// Mpeg2InterlaceModeFollowBottomField is a Mpeg2InterlaceMode enum value
 33241  	Mpeg2InterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD"
 33242  )
 33243  
 33244  // Mpeg2InterlaceMode_Values returns all elements of the Mpeg2InterlaceMode enum
 33245  func Mpeg2InterlaceMode_Values() []string {
 33246  	return []string{
 33247  		Mpeg2InterlaceModeProgressive,
 33248  		Mpeg2InterlaceModeTopField,
 33249  		Mpeg2InterlaceModeBottomField,
 33250  		Mpeg2InterlaceModeFollowTopField,
 33251  		Mpeg2InterlaceModeFollowBottomField,
 33252  	}
 33253  }
 33254  
 33255  // Use Intra DC precision (Mpeg2IntraDcPrecision) to set quantization precision
 33256  // for intra-block DC coefficients. If you choose the value auto, the service
 33257  // will automatically select the precision based on the per-frame compression
 33258  // ratio.
 33259  const (
 33260  	// Mpeg2IntraDcPrecisionAuto is a Mpeg2IntraDcPrecision enum value
 33261  	Mpeg2IntraDcPrecisionAuto = "AUTO"
 33262  
 33263  	// Mpeg2IntraDcPrecisionIntraDcPrecision8 is a Mpeg2IntraDcPrecision enum value
 33264  	Mpeg2IntraDcPrecisionIntraDcPrecision8 = "INTRA_DC_PRECISION_8"
 33265  
 33266  	// Mpeg2IntraDcPrecisionIntraDcPrecision9 is a Mpeg2IntraDcPrecision enum value
 33267  	Mpeg2IntraDcPrecisionIntraDcPrecision9 = "INTRA_DC_PRECISION_9"
 33268  
 33269  	// Mpeg2IntraDcPrecisionIntraDcPrecision10 is a Mpeg2IntraDcPrecision enum value
 33270  	Mpeg2IntraDcPrecisionIntraDcPrecision10 = "INTRA_DC_PRECISION_10"
 33271  
 33272  	// Mpeg2IntraDcPrecisionIntraDcPrecision11 is a Mpeg2IntraDcPrecision enum value
 33273  	Mpeg2IntraDcPrecisionIntraDcPrecision11 = "INTRA_DC_PRECISION_11"
 33274  )
 33275  
 33276  // Mpeg2IntraDcPrecision_Values returns all elements of the Mpeg2IntraDcPrecision enum
 33277  func Mpeg2IntraDcPrecision_Values() []string {
 33278  	return []string{
 33279  		Mpeg2IntraDcPrecisionAuto,
 33280  		Mpeg2IntraDcPrecisionIntraDcPrecision8,
 33281  		Mpeg2IntraDcPrecisionIntraDcPrecision9,
 33282  		Mpeg2IntraDcPrecisionIntraDcPrecision10,
 33283  		Mpeg2IntraDcPrecisionIntraDcPrecision11,
 33284  	}
 33285  }
 33286  
 33287  // Optional. Specify how the service determines the pixel aspect ratio (PAR)
 33288  // for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE),
 33289  // uses the PAR from your input video for your output. To specify a different
 33290  // PAR in the console, choose any value other than Follow source. To specify
 33291  // a different PAR by editing the JSON job specification, choose SPECIFIED.
 33292  // When you choose SPECIFIED for this setting, you must also specify values
 33293  // for the parNumerator and parDenominator settings.
 33294  const (
 33295  	// Mpeg2ParControlInitializeFromSource is a Mpeg2ParControl enum value
 33296  	Mpeg2ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 33297  
 33298  	// Mpeg2ParControlSpecified is a Mpeg2ParControl enum value
 33299  	Mpeg2ParControlSpecified = "SPECIFIED"
 33300  )
 33301  
 33302  // Mpeg2ParControl_Values returns all elements of the Mpeg2ParControl enum
 33303  func Mpeg2ParControl_Values() []string {
 33304  	return []string{
 33305  		Mpeg2ParControlInitializeFromSource,
 33306  		Mpeg2ParControlSpecified,
 33307  	}
 33308  }
 33309  
 33310  // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you
 33311  // want to trade off encoding speed for output video quality. The default behavior
 33312  // is faster, lower quality, single-pass encoding.
 33313  const (
 33314  	// Mpeg2QualityTuningLevelSinglePass is a Mpeg2QualityTuningLevel enum value
 33315  	Mpeg2QualityTuningLevelSinglePass = "SINGLE_PASS"
 33316  
 33317  	// Mpeg2QualityTuningLevelMultiPass is a Mpeg2QualityTuningLevel enum value
 33318  	Mpeg2QualityTuningLevelMultiPass = "MULTI_PASS"
 33319  )
 33320  
 33321  // Mpeg2QualityTuningLevel_Values returns all elements of the Mpeg2QualityTuningLevel enum
 33322  func Mpeg2QualityTuningLevel_Values() []string {
 33323  	return []string{
 33324  		Mpeg2QualityTuningLevelSinglePass,
 33325  		Mpeg2QualityTuningLevelMultiPass,
 33326  	}
 33327  }
 33328  
 33329  // Use Rate control mode (Mpeg2RateControlMode) to specify whether the bitrate
 33330  // is variable (vbr) or constant (cbr).
 33331  const (
 33332  	// Mpeg2RateControlModeVbr is a Mpeg2RateControlMode enum value
 33333  	Mpeg2RateControlModeVbr = "VBR"
 33334  
 33335  	// Mpeg2RateControlModeCbr is a Mpeg2RateControlMode enum value
 33336  	Mpeg2RateControlModeCbr = "CBR"
 33337  )
 33338  
 33339  // Mpeg2RateControlMode_Values returns all elements of the Mpeg2RateControlMode enum
 33340  func Mpeg2RateControlMode_Values() []string {
 33341  	return []string{
 33342  		Mpeg2RateControlModeVbr,
 33343  		Mpeg2RateControlModeCbr,
 33344  	}
 33345  }
 33346  
 33347  // Use this setting for interlaced outputs, when your output frame rate is half
 33348  // of your input frame rate. In this situation, choose Optimized interlacing
 33349  // (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this
 33350  // case, each progressive frame from the input corresponds to an interlaced
 33351  // field in the output. Keep the default value, Basic interlacing (INTERLACED),
 33352  // for all other output frame rates. With basic interlacing, MediaConvert performs
 33353  // any frame rate conversion first and then interlaces the frames. When you
 33354  // choose Optimized interlacing and you set your output frame rate to a value
 33355  // that isn't suitable for optimized interlacing, MediaConvert automatically
 33356  // falls back to basic interlacing. Required settings: To use optimized interlacing,
 33357  // you must set Telecine (telecine) to None (NONE) or Soft (SOFT). You can't
 33358  // use optimized interlacing for hard telecine outputs. You must also set Interlace
 33359  // mode (interlaceMode) to a value other than Progressive (PROGRESSIVE).
 33360  const (
 33361  	// Mpeg2ScanTypeConversionModeInterlaced is a Mpeg2ScanTypeConversionMode enum value
 33362  	Mpeg2ScanTypeConversionModeInterlaced = "INTERLACED"
 33363  
 33364  	// Mpeg2ScanTypeConversionModeInterlacedOptimize is a Mpeg2ScanTypeConversionMode enum value
 33365  	Mpeg2ScanTypeConversionModeInterlacedOptimize = "INTERLACED_OPTIMIZE"
 33366  )
 33367  
 33368  // Mpeg2ScanTypeConversionMode_Values returns all elements of the Mpeg2ScanTypeConversionMode enum
 33369  func Mpeg2ScanTypeConversionMode_Values() []string {
 33370  	return []string{
 33371  		Mpeg2ScanTypeConversionModeInterlaced,
 33372  		Mpeg2ScanTypeConversionModeInterlacedOptimize,
 33373  	}
 33374  }
 33375  
 33376  // Enable this setting to insert I-frames at scene changes that the service
 33377  // automatically detects. This improves video quality and is enabled by default.
 33378  const (
 33379  	// Mpeg2SceneChangeDetectDisabled is a Mpeg2SceneChangeDetect enum value
 33380  	Mpeg2SceneChangeDetectDisabled = "DISABLED"
 33381  
 33382  	// Mpeg2SceneChangeDetectEnabled is a Mpeg2SceneChangeDetect enum value
 33383  	Mpeg2SceneChangeDetectEnabled = "ENABLED"
 33384  )
 33385  
 33386  // Mpeg2SceneChangeDetect_Values returns all elements of the Mpeg2SceneChangeDetect enum
 33387  func Mpeg2SceneChangeDetect_Values() []string {
 33388  	return []string{
 33389  		Mpeg2SceneChangeDetectDisabled,
 33390  		Mpeg2SceneChangeDetectEnabled,
 33391  	}
 33392  }
 33393  
 33394  // Ignore this setting unless your input frame rate is 23.976 or 24 frames per
 33395  // second (fps). Enable slow PAL to create a 25 fps output. When you enable
 33396  // slow PAL, MediaConvert relabels the video frames to 25 fps and resamples
 33397  // your audio to keep it synchronized with the video. Note that enabling this
 33398  // setting will slightly reduce the duration of your video. Required settings:
 33399  // You must also set Framerate to 25. In your JSON job specification, set (framerateControl)
 33400  // to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to
 33401  // 1.
 33402  const (
 33403  	// Mpeg2SlowPalDisabled is a Mpeg2SlowPal enum value
 33404  	Mpeg2SlowPalDisabled = "DISABLED"
 33405  
 33406  	// Mpeg2SlowPalEnabled is a Mpeg2SlowPal enum value
 33407  	Mpeg2SlowPalEnabled = "ENABLED"
 33408  )
 33409  
 33410  // Mpeg2SlowPal_Values returns all elements of the Mpeg2SlowPal enum
 33411  func Mpeg2SlowPal_Values() []string {
 33412  	return []string{
 33413  		Mpeg2SlowPalDisabled,
 33414  		Mpeg2SlowPalEnabled,
 33415  	}
 33416  }
 33417  
 33418  // Keep the default value, Enabled (ENABLED), to adjust quantization within
 33419  // each frame based on spatial variation of content complexity. When you enable
 33420  // this feature, the encoder uses fewer bits on areas that can sustain more
 33421  // distortion with no noticeable visual degradation and uses more bits on areas
 33422  // where any small distortion will be noticeable. For example, complex textured
 33423  // blocks are encoded with fewer bits and smooth textured blocks are encoded
 33424  // with more bits. Enabling this feature will almost always improve your video
 33425  // quality. Note, though, that this feature doesn't take into account where
 33426  // the viewer's attention is likely to be. If viewers are likely to be focusing
 33427  // their attention on a part of the screen with a lot of complex texture, you
 33428  // might choose to disable this feature. Related setting: When you enable spatial
 33429  // adaptive quantization, set the value for Adaptive quantization (adaptiveQuantization)
 33430  // depending on your content. For homogeneous content, such as cartoons and
 33431  // video games, set it to Low. For content with a wider variety of textures,
 33432  // set it to High or Higher.
 33433  const (
 33434  	// Mpeg2SpatialAdaptiveQuantizationDisabled is a Mpeg2SpatialAdaptiveQuantization enum value
 33435  	Mpeg2SpatialAdaptiveQuantizationDisabled = "DISABLED"
 33436  
 33437  	// Mpeg2SpatialAdaptiveQuantizationEnabled is a Mpeg2SpatialAdaptiveQuantization enum value
 33438  	Mpeg2SpatialAdaptiveQuantizationEnabled = "ENABLED"
 33439  )
 33440  
 33441  // Mpeg2SpatialAdaptiveQuantization_Values returns all elements of the Mpeg2SpatialAdaptiveQuantization enum
 33442  func Mpeg2SpatialAdaptiveQuantization_Values() []string {
 33443  	return []string{
 33444  		Mpeg2SpatialAdaptiveQuantizationDisabled,
 33445  		Mpeg2SpatialAdaptiveQuantizationEnabled,
 33446  	}
 33447  }
 33448  
 33449  // Specify whether this output's video uses the D10 syntax. Keep the default
 33450  // value to not use the syntax. Related settings: When you choose D10 (D_10)
 33451  // for your MXF profile (profile), you must also set this value to to D10 (D_10).
 33452  const (
 33453  	// Mpeg2SyntaxDefault is a Mpeg2Syntax enum value
 33454  	Mpeg2SyntaxDefault = "DEFAULT"
 33455  
 33456  	// Mpeg2SyntaxD10 is a Mpeg2Syntax enum value
 33457  	Mpeg2SyntaxD10 = "D_10"
 33458  )
 33459  
 33460  // Mpeg2Syntax_Values returns all elements of the Mpeg2Syntax enum
 33461  func Mpeg2Syntax_Values() []string {
 33462  	return []string{
 33463  		Mpeg2SyntaxDefault,
 33464  		Mpeg2SyntaxD10,
 33465  	}
 33466  }
 33467  
 33468  // When you do frame rate conversion from 23.976 frames per second (fps) to
 33469  // 29.97 fps, and your output scan type is interlaced, you can optionally enable
 33470  // hard or soft telecine to create a smoother picture. Hard telecine (HARD)
 33471  // produces a 29.97i output. Soft telecine (SOFT) produces an output with a
 33472  // 23.976 output that signals to the video player device to do the conversion
 33473  // during play back. When you keep the default value, None (NONE), MediaConvert
 33474  // does a standard frame rate conversion to 29.97 without doing anything with
 33475  // the field polarity to create a smoother picture.
 33476  const (
 33477  	// Mpeg2TelecineNone is a Mpeg2Telecine enum value
 33478  	Mpeg2TelecineNone = "NONE"
 33479  
 33480  	// Mpeg2TelecineSoft is a Mpeg2Telecine enum value
 33481  	Mpeg2TelecineSoft = "SOFT"
 33482  
 33483  	// Mpeg2TelecineHard is a Mpeg2Telecine enum value
 33484  	Mpeg2TelecineHard = "HARD"
 33485  )
 33486  
 33487  // Mpeg2Telecine_Values returns all elements of the Mpeg2Telecine enum
 33488  func Mpeg2Telecine_Values() []string {
 33489  	return []string{
 33490  		Mpeg2TelecineNone,
 33491  		Mpeg2TelecineSoft,
 33492  		Mpeg2TelecineHard,
 33493  	}
 33494  }
 33495  
 33496  // Keep the default value, Enabled (ENABLED), to adjust quantization within
 33497  // each frame based on temporal variation of content complexity. When you enable
 33498  // this feature, the encoder uses fewer bits on areas of the frame that aren't
 33499  // moving and uses more bits on complex objects with sharp edges that move a
 33500  // lot. For example, this feature improves the readability of text tickers on
 33501  // newscasts and scoreboards on sports matches. Enabling this feature will almost
 33502  // always improve your video quality. Note, though, that this feature doesn't
 33503  // take into account where the viewer's attention is likely to be. If viewers
 33504  // are likely to be focusing their attention on a part of the screen that doesn't
 33505  // have moving objects with sharp edges, such as sports athletes' faces, you
 33506  // might choose to disable this feature. Related setting: When you enable temporal
 33507  // quantization, adjust the strength of the filter with the setting Adaptive
 33508  // quantization (adaptiveQuantization).
 33509  const (
 33510  	// Mpeg2TemporalAdaptiveQuantizationDisabled is a Mpeg2TemporalAdaptiveQuantization enum value
 33511  	Mpeg2TemporalAdaptiveQuantizationDisabled = "DISABLED"
 33512  
 33513  	// Mpeg2TemporalAdaptiveQuantizationEnabled is a Mpeg2TemporalAdaptiveQuantization enum value
 33514  	Mpeg2TemporalAdaptiveQuantizationEnabled = "ENABLED"
 33515  )
 33516  
 33517  // Mpeg2TemporalAdaptiveQuantization_Values returns all elements of the Mpeg2TemporalAdaptiveQuantization enum
 33518  func Mpeg2TemporalAdaptiveQuantization_Values() []string {
 33519  	return []string{
 33520  		Mpeg2TemporalAdaptiveQuantizationDisabled,
 33521  		Mpeg2TemporalAdaptiveQuantizationEnabled,
 33522  	}
 33523  }
 33524  
 33525  // COMBINE_DUPLICATE_STREAMS combines identical audio encoding settings across
 33526  // a Microsoft Smooth output group into a single audio stream.
 33527  const (
 33528  	// MsSmoothAudioDeduplicationCombineDuplicateStreams is a MsSmoothAudioDeduplication enum value
 33529  	MsSmoothAudioDeduplicationCombineDuplicateStreams = "COMBINE_DUPLICATE_STREAMS"
 33530  
 33531  	// MsSmoothAudioDeduplicationNone is a MsSmoothAudioDeduplication enum value
 33532  	MsSmoothAudioDeduplicationNone = "NONE"
 33533  )
 33534  
 33535  // MsSmoothAudioDeduplication_Values returns all elements of the MsSmoothAudioDeduplication enum
 33536  func MsSmoothAudioDeduplication_Values() []string {
 33537  	return []string{
 33538  		MsSmoothAudioDeduplicationCombineDuplicateStreams,
 33539  		MsSmoothAudioDeduplicationNone,
 33540  	}
 33541  }
 33542  
 33543  // Specify how you want MediaConvert to determine the fragment length. Choose
 33544  // Exact (EXACT) to have the encoder use the exact length that you specify with
 33545  // the setting Fragment length (FragmentLength). This might result in extra
 33546  // I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have the encoder round
 33547  // up the segment lengths to match the next GOP boundary.
 33548  const (
 33549  	// MsSmoothFragmentLengthControlExact is a MsSmoothFragmentLengthControl enum value
 33550  	MsSmoothFragmentLengthControlExact = "EXACT"
 33551  
 33552  	// MsSmoothFragmentLengthControlGopMultiple is a MsSmoothFragmentLengthControl enum value
 33553  	MsSmoothFragmentLengthControlGopMultiple = "GOP_MULTIPLE"
 33554  )
 33555  
 33556  // MsSmoothFragmentLengthControl_Values returns all elements of the MsSmoothFragmentLengthControl enum
 33557  func MsSmoothFragmentLengthControl_Values() []string {
 33558  	return []string{
 33559  		MsSmoothFragmentLengthControlExact,
 33560  		MsSmoothFragmentLengthControlGopMultiple,
 33561  	}
 33562  }
 33563  
 33564  // Use Manifest encoding (MsSmoothManifestEncoding) to specify the encoding
 33565  // format for the server and client manifest. Valid options are utf8 and utf16.
 33566  const (
 33567  	// MsSmoothManifestEncodingUtf8 is a MsSmoothManifestEncoding enum value
 33568  	MsSmoothManifestEncodingUtf8 = "UTF8"
 33569  
 33570  	// MsSmoothManifestEncodingUtf16 is a MsSmoothManifestEncoding enum value
 33571  	MsSmoothManifestEncodingUtf16 = "UTF16"
 33572  )
 33573  
 33574  // MsSmoothManifestEncoding_Values returns all elements of the MsSmoothManifestEncoding enum
 33575  func MsSmoothManifestEncoding_Values() []string {
 33576  	return []string{
 33577  		MsSmoothManifestEncodingUtf8,
 33578  		MsSmoothManifestEncodingUtf16,
 33579  	}
 33580  }
 33581  
 33582  // Optional. When you have AFD signaling set up in your output video stream,
 33583  // use this setting to choose whether to also include it in the MXF wrapper.
 33584  // Choose Don't copy (NO_COPY) to exclude AFD signaling from the MXF wrapper.
 33585  // Choose Copy from video stream (COPY_FROM_VIDEO) to copy the AFD values from
 33586  // the video stream for this output to the MXF wrapper. Regardless of which
 33587  // option you choose, the AFD values remain in the video stream. Related settings:
 33588  // To set up your output to include or exclude AFD values, see AfdSignaling,
 33589  // under VideoDescription. On the console, find AFD signaling under the output's
 33590  // video encoding settings.
 33591  const (
 33592  	// MxfAfdSignalingNoCopy is a MxfAfdSignaling enum value
 33593  	MxfAfdSignalingNoCopy = "NO_COPY"
 33594  
 33595  	// MxfAfdSignalingCopyFromVideo is a MxfAfdSignaling enum value
 33596  	MxfAfdSignalingCopyFromVideo = "COPY_FROM_VIDEO"
 33597  )
 33598  
 33599  // MxfAfdSignaling_Values returns all elements of the MxfAfdSignaling enum
 33600  func MxfAfdSignaling_Values() []string {
 33601  	return []string{
 33602  		MxfAfdSignalingNoCopy,
 33603  		MxfAfdSignalingCopyFromVideo,
 33604  	}
 33605  }
 33606  
 33607  // Specify the MXF profile, also called shim, for this output. When you choose
 33608  // Auto, MediaConvert chooses a profile based on the video codec and resolution.
 33609  // For a list of codecs supported with each MXF profile, see https://docs.aws.amazon.com/mediaconvert/latest/ug/codecs-supported-with-each-mxf-profile.html.
 33610  // For more information about the automatic selection behavior, see https://docs.aws.amazon.com/mediaconvert/latest/ug/default-automatic-selection-of-mxf-profiles.html.
 33611  const (
 33612  	// MxfProfileD10 is a MxfProfile enum value
 33613  	MxfProfileD10 = "D_10"
 33614  
 33615  	// MxfProfileXdcam is a MxfProfile enum value
 33616  	MxfProfileXdcam = "XDCAM"
 33617  
 33618  	// MxfProfileOp1a is a MxfProfile enum value
 33619  	MxfProfileOp1a = "OP1A"
 33620  
 33621  	// MxfProfileXavc is a MxfProfile enum value
 33622  	MxfProfileXavc = "XAVC"
 33623  )
 33624  
 33625  // MxfProfile_Values returns all elements of the MxfProfile enum
 33626  func MxfProfile_Values() []string {
 33627  	return []string{
 33628  		MxfProfileD10,
 33629  		MxfProfileXdcam,
 33630  		MxfProfileOp1a,
 33631  		MxfProfileXavc,
 33632  	}
 33633  }
 33634  
 33635  // To create an output that complies with the XAVC file format guidelines for
 33636  // interoperability, keep the default value, Drop frames for compliance (DROP_FRAMES_FOR_COMPLIANCE).
 33637  // To include all frames from your input in this output, keep the default setting,
 33638  // Allow any duration (ALLOW_ANY_DURATION). The number of frames that MediaConvert
 33639  // excludes when you set this to Drop frames for compliance depends on the output
 33640  // frame rate and duration.
 33641  const (
 33642  	// MxfXavcDurationModeAllowAnyDuration is a MxfXavcDurationMode enum value
 33643  	MxfXavcDurationModeAllowAnyDuration = "ALLOW_ANY_DURATION"
 33644  
 33645  	// MxfXavcDurationModeDropFramesForCompliance is a MxfXavcDurationMode enum value
 33646  	MxfXavcDurationModeDropFramesForCompliance = "DROP_FRAMES_FOR_COMPLIANCE"
 33647  )
 33648  
 33649  // MxfXavcDurationMode_Values returns all elements of the MxfXavcDurationMode enum
 33650  func MxfXavcDurationMode_Values() []string {
 33651  	return []string{
 33652  		MxfXavcDurationModeAllowAnyDuration,
 33653  		MxfXavcDurationModeDropFramesForCompliance,
 33654  	}
 33655  }
 33656  
 33657  // Choose the type of Nielsen watermarks that you want in your outputs. When
 33658  // you choose NAES 2 and NW (NAES2_AND_NW), you must provide a value for the
 33659  // setting SID (sourceId). When you choose CBET (CBET), you must provide a value
 33660  // for the setting CSID (cbetSourceId). When you choose NAES 2, NW, and CBET
 33661  // (NAES2_AND_NW_AND_CBET), you must provide values for both of these settings.
 33662  const (
 33663  	// NielsenActiveWatermarkProcessTypeNaes2AndNw is a NielsenActiveWatermarkProcessType enum value
 33664  	NielsenActiveWatermarkProcessTypeNaes2AndNw = "NAES2_AND_NW"
 33665  
 33666  	// NielsenActiveWatermarkProcessTypeCbet is a NielsenActiveWatermarkProcessType enum value
 33667  	NielsenActiveWatermarkProcessTypeCbet = "CBET"
 33668  
 33669  	// NielsenActiveWatermarkProcessTypeNaes2AndNwAndCbet is a NielsenActiveWatermarkProcessType enum value
 33670  	NielsenActiveWatermarkProcessTypeNaes2AndNwAndCbet = "NAES2_AND_NW_AND_CBET"
 33671  )
 33672  
 33673  // NielsenActiveWatermarkProcessType_Values returns all elements of the NielsenActiveWatermarkProcessType enum
 33674  func NielsenActiveWatermarkProcessType_Values() []string {
 33675  	return []string{
 33676  		NielsenActiveWatermarkProcessTypeNaes2AndNw,
 33677  		NielsenActiveWatermarkProcessTypeCbet,
 33678  		NielsenActiveWatermarkProcessTypeNaes2AndNwAndCbet,
 33679  	}
 33680  }
 33681  
 33682  // Required. Specify whether your source content already contains Nielsen non-linear
 33683  // watermarks. When you set this value to Watermarked (WATERMARKED), the service
 33684  // fails the job. Nielsen requires that you add non-linear watermarking to only
 33685  // clean content that doesn't already have non-linear Nielsen watermarks.
 33686  const (
 33687  	// NielsenSourceWatermarkStatusTypeClean is a NielsenSourceWatermarkStatusType enum value
 33688  	NielsenSourceWatermarkStatusTypeClean = "CLEAN"
 33689  
 33690  	// NielsenSourceWatermarkStatusTypeWatermarked is a NielsenSourceWatermarkStatusType enum value
 33691  	NielsenSourceWatermarkStatusTypeWatermarked = "WATERMARKED"
 33692  )
 33693  
 33694  // NielsenSourceWatermarkStatusType_Values returns all elements of the NielsenSourceWatermarkStatusType enum
 33695  func NielsenSourceWatermarkStatusType_Values() []string {
 33696  	return []string{
 33697  		NielsenSourceWatermarkStatusTypeClean,
 33698  		NielsenSourceWatermarkStatusTypeWatermarked,
 33699  	}
 33700  }
 33701  
 33702  // To create assets that have the same TIC values in each audio track, keep
 33703  // the default value Share TICs (SAME_TICS_PER_TRACK). To create assets that
 33704  // have unique TIC values for each audio track, choose Use unique TICs (RESERVE_UNIQUE_TICS_PER_TRACK).
 33705  const (
 33706  	// NielsenUniqueTicPerAudioTrackTypeReserveUniqueTicsPerTrack is a NielsenUniqueTicPerAudioTrackType enum value
 33707  	NielsenUniqueTicPerAudioTrackTypeReserveUniqueTicsPerTrack = "RESERVE_UNIQUE_TICS_PER_TRACK"
 33708  
 33709  	// NielsenUniqueTicPerAudioTrackTypeSameTicsPerTrack is a NielsenUniqueTicPerAudioTrackType enum value
 33710  	NielsenUniqueTicPerAudioTrackTypeSameTicsPerTrack = "SAME_TICS_PER_TRACK"
 33711  )
 33712  
 33713  // NielsenUniqueTicPerAudioTrackType_Values returns all elements of the NielsenUniqueTicPerAudioTrackType enum
 33714  func NielsenUniqueTicPerAudioTrackType_Values() []string {
 33715  	return []string{
 33716  		NielsenUniqueTicPerAudioTrackTypeReserveUniqueTicsPerTrack,
 33717  		NielsenUniqueTicPerAudioTrackTypeSameTicsPerTrack,
 33718  	}
 33719  }
 33720  
 33721  // Optional. When you set Noise reducer (noiseReducer) to Temporal (TEMPORAL),
 33722  // you can use this setting to apply sharpening. The default behavior, Auto
 33723  // (AUTO), allows the transcoder to determine whether to apply filtering, depending
 33724  // on input type and quality. When you set Noise reducer to Temporal, your output
 33725  // bandwidth is reduced. When Post temporal sharpening is also enabled, that
 33726  // bandwidth reduction is smaller.
 33727  const (
 33728  	// NoiseFilterPostTemporalSharpeningDisabled is a NoiseFilterPostTemporalSharpening enum value
 33729  	NoiseFilterPostTemporalSharpeningDisabled = "DISABLED"
 33730  
 33731  	// NoiseFilterPostTemporalSharpeningEnabled is a NoiseFilterPostTemporalSharpening enum value
 33732  	NoiseFilterPostTemporalSharpeningEnabled = "ENABLED"
 33733  
 33734  	// NoiseFilterPostTemporalSharpeningAuto is a NoiseFilterPostTemporalSharpening enum value
 33735  	NoiseFilterPostTemporalSharpeningAuto = "AUTO"
 33736  )
 33737  
 33738  // NoiseFilterPostTemporalSharpening_Values returns all elements of the NoiseFilterPostTemporalSharpening enum
 33739  func NoiseFilterPostTemporalSharpening_Values() []string {
 33740  	return []string{
 33741  		NoiseFilterPostTemporalSharpeningDisabled,
 33742  		NoiseFilterPostTemporalSharpeningEnabled,
 33743  		NoiseFilterPostTemporalSharpeningAuto,
 33744  	}
 33745  }
 33746  
 33747  // Use Noise reducer filter (NoiseReducerFilter) to select one of the following
 33748  // spatial image filtering functions. To use this setting, you must also enable
 33749  // Noise reducer (NoiseReducer). * Bilateral preserves edges while reducing
 33750  // noise. * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) do convolution
 33751  // filtering. * Conserve does min/max noise reduction. * Spatial does frequency-domain
 33752  // filtering based on JND principles. * Temporal optimizes video quality for
 33753  // complex motion.
 33754  const (
 33755  	// NoiseReducerFilterBilateral is a NoiseReducerFilter enum value
 33756  	NoiseReducerFilterBilateral = "BILATERAL"
 33757  
 33758  	// NoiseReducerFilterMean is a NoiseReducerFilter enum value
 33759  	NoiseReducerFilterMean = "MEAN"
 33760  
 33761  	// NoiseReducerFilterGaussian is a NoiseReducerFilter enum value
 33762  	NoiseReducerFilterGaussian = "GAUSSIAN"
 33763  
 33764  	// NoiseReducerFilterLanczos is a NoiseReducerFilter enum value
 33765  	NoiseReducerFilterLanczos = "LANCZOS"
 33766  
 33767  	// NoiseReducerFilterSharpen is a NoiseReducerFilter enum value
 33768  	NoiseReducerFilterSharpen = "SHARPEN"
 33769  
 33770  	// NoiseReducerFilterConserve is a NoiseReducerFilter enum value
 33771  	NoiseReducerFilterConserve = "CONSERVE"
 33772  
 33773  	// NoiseReducerFilterSpatial is a NoiseReducerFilter enum value
 33774  	NoiseReducerFilterSpatial = "SPATIAL"
 33775  
 33776  	// NoiseReducerFilterTemporal is a NoiseReducerFilter enum value
 33777  	NoiseReducerFilterTemporal = "TEMPORAL"
 33778  )
 33779  
 33780  // NoiseReducerFilter_Values returns all elements of the NoiseReducerFilter enum
 33781  func NoiseReducerFilter_Values() []string {
 33782  	return []string{
 33783  		NoiseReducerFilterBilateral,
 33784  		NoiseReducerFilterMean,
 33785  		NoiseReducerFilterGaussian,
 33786  		NoiseReducerFilterLanczos,
 33787  		NoiseReducerFilterSharpen,
 33788  		NoiseReducerFilterConserve,
 33789  		NoiseReducerFilterSpatial,
 33790  		NoiseReducerFilterTemporal,
 33791  	}
 33792  }
 33793  
 33794  // Optional. When you request lists of resources, you can specify whether they
 33795  // are sorted in ASCENDING or DESCENDING order. Default varies by resource.
 33796  const (
 33797  	// OrderAscending is a Order enum value
 33798  	OrderAscending = "ASCENDING"
 33799  
 33800  	// OrderDescending is a Order enum value
 33801  	OrderDescending = "DESCENDING"
 33802  )
 33803  
 33804  // Order_Values returns all elements of the Order enum
 33805  func Order_Values() []string {
 33806  	return []string{
 33807  		OrderAscending,
 33808  		OrderDescending,
 33809  	}
 33810  }
 33811  
 33812  // Type of output group (File group, Apple HLS, DASH ISO, Microsoft Smooth Streaming,
 33813  // CMAF)
 33814  const (
 33815  	// OutputGroupTypeHlsGroupSettings is a OutputGroupType enum value
 33816  	OutputGroupTypeHlsGroupSettings = "HLS_GROUP_SETTINGS"
 33817  
 33818  	// OutputGroupTypeDashIsoGroupSettings is a OutputGroupType enum value
 33819  	OutputGroupTypeDashIsoGroupSettings = "DASH_ISO_GROUP_SETTINGS"
 33820  
 33821  	// OutputGroupTypeFileGroupSettings is a OutputGroupType enum value
 33822  	OutputGroupTypeFileGroupSettings = "FILE_GROUP_SETTINGS"
 33823  
 33824  	// OutputGroupTypeMsSmoothGroupSettings is a OutputGroupType enum value
 33825  	OutputGroupTypeMsSmoothGroupSettings = "MS_SMOOTH_GROUP_SETTINGS"
 33826  
 33827  	// OutputGroupTypeCmafGroupSettings is a OutputGroupType enum value
 33828  	OutputGroupTypeCmafGroupSettings = "CMAF_GROUP_SETTINGS"
 33829  )
 33830  
 33831  // OutputGroupType_Values returns all elements of the OutputGroupType enum
 33832  func OutputGroupType_Values() []string {
 33833  	return []string{
 33834  		OutputGroupTypeHlsGroupSettings,
 33835  		OutputGroupTypeDashIsoGroupSettings,
 33836  		OutputGroupTypeFileGroupSettings,
 33837  		OutputGroupTypeMsSmoothGroupSettings,
 33838  		OutputGroupTypeCmafGroupSettings,
 33839  	}
 33840  }
 33841  
 33842  // Selects method of inserting SDT information into output stream. "Follow input
 33843  // SDT" copies SDT information from input stream to output stream. "Follow input
 33844  // SDT if present" copies SDT information from input stream to output stream
 33845  // if SDT information is present in the input, otherwise it will fall back on
 33846  // the user-defined values. Enter "SDT Manually" means user will enter the SDT
 33847  // information. "No SDT" means output stream will not contain SDT information.
 33848  const (
 33849  	// OutputSdtSdtFollow is a OutputSdt enum value
 33850  	OutputSdtSdtFollow = "SDT_FOLLOW"
 33851  
 33852  	// OutputSdtSdtFollowIfPresent is a OutputSdt enum value
 33853  	OutputSdtSdtFollowIfPresent = "SDT_FOLLOW_IF_PRESENT"
 33854  
 33855  	// OutputSdtSdtManual is a OutputSdt enum value
 33856  	OutputSdtSdtManual = "SDT_MANUAL"
 33857  
 33858  	// OutputSdtSdtNone is a OutputSdt enum value
 33859  	OutputSdtSdtNone = "SDT_NONE"
 33860  )
 33861  
 33862  // OutputSdt_Values returns all elements of the OutputSdt enum
 33863  func OutputSdt_Values() []string {
 33864  	return []string{
 33865  		OutputSdtSdtFollow,
 33866  		OutputSdtSdtFollowIfPresent,
 33867  		OutputSdtSdtManual,
 33868  		OutputSdtSdtNone,
 33869  	}
 33870  }
 33871  
 33872  // Optional. When you request a list of presets, you can choose to list them
 33873  // alphabetically by NAME or chronologically by CREATION_DATE. If you don't
 33874  // specify, the service will list them by name.
 33875  const (
 33876  	// PresetListByName is a PresetListBy enum value
 33877  	PresetListByName = "NAME"
 33878  
 33879  	// PresetListByCreationDate is a PresetListBy enum value
 33880  	PresetListByCreationDate = "CREATION_DATE"
 33881  
 33882  	// PresetListBySystem is a PresetListBy enum value
 33883  	PresetListBySystem = "SYSTEM"
 33884  )
 33885  
 33886  // PresetListBy_Values returns all elements of the PresetListBy enum
 33887  func PresetListBy_Values() []string {
 33888  	return []string{
 33889  		PresetListByName,
 33890  		PresetListByCreationDate,
 33891  		PresetListBySystem,
 33892  	}
 33893  }
 33894  
 33895  // Specifies whether the pricing plan for the queue is on-demand or reserved.
 33896  // For on-demand, you pay per minute, billed in increments of .01 minute. For
 33897  // reserved, you pay for the transcoding capacity of the entire queue, regardless
 33898  // of how much or how little you use it. Reserved pricing requires a 12-month
 33899  // commitment.
 33900  const (
 33901  	// PricingPlanOnDemand is a PricingPlan enum value
 33902  	PricingPlanOnDemand = "ON_DEMAND"
 33903  
 33904  	// PricingPlanReserved is a PricingPlan enum value
 33905  	PricingPlanReserved = "RESERVED"
 33906  )
 33907  
 33908  // PricingPlan_Values returns all elements of the PricingPlan enum
 33909  func PricingPlan_Values() []string {
 33910  	return []string{
 33911  		PricingPlanOnDemand,
 33912  		PricingPlanReserved,
 33913  	}
 33914  }
 33915  
 33916  // This setting applies only to ProRes 4444 and ProRes 4444 XQ outputs that
 33917  // you create from inputs that use 4:4:4 chroma sampling. Set Preserve 4:4:4
 33918  // sampling (PRESERVE_444_SAMPLING) to allow outputs to also use 4:4:4 chroma
 33919  // sampling. You must specify a value for this setting when your output codec
 33920  // profile supports 4:4:4 chroma sampling. Related Settings: When you set Chroma
 33921  // sampling to Preserve 4:4:4 sampling (PRESERVE_444_SAMPLING), you must choose
 33922  // an output codec profile that supports 4:4:4 chroma sampling. These values
 33923  // for Profile (CodecProfile) support 4:4:4 chroma sampling: Apple ProRes 4444
 33924  // (APPLE_PRORES_4444) or Apple ProRes 4444 XQ (APPLE_PRORES_4444_XQ). When
 33925  // you set Chroma sampling to Preserve 4:4:4 sampling, you must disable all
 33926  // video preprocessors except for Nexguard file marker (PartnerWatermarking).
 33927  // When you set Chroma sampling to Preserve 4:4:4 sampling and use framerate
 33928  // conversion, you must set Frame rate conversion algorithm (FramerateConversionAlgorithm)
 33929  // to Drop duplicate (DUPLICATE_DROP).
 33930  const (
 33931  	// ProresChromaSamplingPreserve444Sampling is a ProresChromaSampling enum value
 33932  	ProresChromaSamplingPreserve444Sampling = "PRESERVE_444_SAMPLING"
 33933  
 33934  	// ProresChromaSamplingSubsampleTo422 is a ProresChromaSampling enum value
 33935  	ProresChromaSamplingSubsampleTo422 = "SUBSAMPLE_TO_422"
 33936  )
 33937  
 33938  // ProresChromaSampling_Values returns all elements of the ProresChromaSampling enum
 33939  func ProresChromaSampling_Values() []string {
 33940  	return []string{
 33941  		ProresChromaSamplingPreserve444Sampling,
 33942  		ProresChromaSamplingSubsampleTo422,
 33943  	}
 33944  }
 33945  
 33946  // Use Profile (ProResCodecProfile) to specify the type of Apple ProRes codec
 33947  // to use for this output.
 33948  const (
 33949  	// ProresCodecProfileAppleProres422 is a ProresCodecProfile enum value
 33950  	ProresCodecProfileAppleProres422 = "APPLE_PRORES_422"
 33951  
 33952  	// ProresCodecProfileAppleProres422Hq is a ProresCodecProfile enum value
 33953  	ProresCodecProfileAppleProres422Hq = "APPLE_PRORES_422_HQ"
 33954  
 33955  	// ProresCodecProfileAppleProres422Lt is a ProresCodecProfile enum value
 33956  	ProresCodecProfileAppleProres422Lt = "APPLE_PRORES_422_LT"
 33957  
 33958  	// ProresCodecProfileAppleProres422Proxy is a ProresCodecProfile enum value
 33959  	ProresCodecProfileAppleProres422Proxy = "APPLE_PRORES_422_PROXY"
 33960  
 33961  	// ProresCodecProfileAppleProres4444 is a ProresCodecProfile enum value
 33962  	ProresCodecProfileAppleProres4444 = "APPLE_PRORES_4444"
 33963  
 33964  	// ProresCodecProfileAppleProres4444Xq is a ProresCodecProfile enum value
 33965  	ProresCodecProfileAppleProres4444Xq = "APPLE_PRORES_4444_XQ"
 33966  )
 33967  
 33968  // ProresCodecProfile_Values returns all elements of the ProresCodecProfile enum
 33969  func ProresCodecProfile_Values() []string {
 33970  	return []string{
 33971  		ProresCodecProfileAppleProres422,
 33972  		ProresCodecProfileAppleProres422Hq,
 33973  		ProresCodecProfileAppleProres422Lt,
 33974  		ProresCodecProfileAppleProres422Proxy,
 33975  		ProresCodecProfileAppleProres4444,
 33976  		ProresCodecProfileAppleProres4444Xq,
 33977  	}
 33978  }
 33979  
 33980  // If you are using the console, use the Framerate setting to specify the frame
 33981  // rate for this output. If you want to keep the same frame rate as the input
 33982  // video, choose Follow source. If you want to do frame rate conversion, choose
 33983  // a frame rate from the dropdown list or choose Custom. The framerates shown
 33984  // in the dropdown list are decimal approximations of fractions. If you choose
 33985  // Custom, specify your frame rate as a fraction. If you are creating your transcoding
 33986  // job specification as a JSON file without the console, use FramerateControl
 33987  // to specify which value the service uses for the frame rate for this output.
 33988  // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 33989  // from the input. Choose SPECIFIED if you want the service to use the frame
 33990  // rate you specify in the settings FramerateNumerator and FramerateDenominator.
 33991  const (
 33992  	// ProresFramerateControlInitializeFromSource is a ProresFramerateControl enum value
 33993  	ProresFramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 33994  
 33995  	// ProresFramerateControlSpecified is a ProresFramerateControl enum value
 33996  	ProresFramerateControlSpecified = "SPECIFIED"
 33997  )
 33998  
 33999  // ProresFramerateControl_Values returns all elements of the ProresFramerateControl enum
 34000  func ProresFramerateControl_Values() []string {
 34001  	return []string{
 34002  		ProresFramerateControlInitializeFromSource,
 34003  		ProresFramerateControlSpecified,
 34004  	}
 34005  }
 34006  
 34007  // Choose the method that you want MediaConvert to use when increasing or decreasing
 34008  // the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 34009  // simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 34010  // you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 34011  // smooth picture, but might introduce undesirable video artifacts. For complex
 34012  // frame rate conversions, especially if your source video has already been
 34013  // converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 34014  // motion-compensated interpolation. FrameFormer chooses the best conversion
 34015  // method frame by frame. Note that using FrameFormer increases the transcoding
 34016  // time and incurs a significant add-on cost.
 34017  const (
 34018  	// ProresFramerateConversionAlgorithmDuplicateDrop is a ProresFramerateConversionAlgorithm enum value
 34019  	ProresFramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP"
 34020  
 34021  	// ProresFramerateConversionAlgorithmInterpolate is a ProresFramerateConversionAlgorithm enum value
 34022  	ProresFramerateConversionAlgorithmInterpolate = "INTERPOLATE"
 34023  
 34024  	// ProresFramerateConversionAlgorithmFrameformer is a ProresFramerateConversionAlgorithm enum value
 34025  	ProresFramerateConversionAlgorithmFrameformer = "FRAMEFORMER"
 34026  )
 34027  
 34028  // ProresFramerateConversionAlgorithm_Values returns all elements of the ProresFramerateConversionAlgorithm enum
 34029  func ProresFramerateConversionAlgorithm_Values() []string {
 34030  	return []string{
 34031  		ProresFramerateConversionAlgorithmDuplicateDrop,
 34032  		ProresFramerateConversionAlgorithmInterpolate,
 34033  		ProresFramerateConversionAlgorithmFrameformer,
 34034  	}
 34035  }
 34036  
 34037  // Choose the scan line type for the output. Keep the default value, Progressive
 34038  // (PROGRESSIVE) to create a progressive output, regardless of the scan type
 34039  // of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD)
 34040  // to create an output that's interlaced with the same field polarity throughout.
 34041  // Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD)
 34042  // to produce outputs with the same field polarity as the source. For jobs that
 34043  // have multiple inputs, the output field polarity might change over the course
 34044  // of the output. Follow behavior depends on the input scan type. If the source
 34045  // is interlaced, the output will be interlaced with the same polarity as the
 34046  // source. If the source is progressive, the output will be interlaced with
 34047  // top field bottom field first, depending on which of the Follow options you
 34048  // choose.
 34049  const (
 34050  	// ProresInterlaceModeProgressive is a ProresInterlaceMode enum value
 34051  	ProresInterlaceModeProgressive = "PROGRESSIVE"
 34052  
 34053  	// ProresInterlaceModeTopField is a ProresInterlaceMode enum value
 34054  	ProresInterlaceModeTopField = "TOP_FIELD"
 34055  
 34056  	// ProresInterlaceModeBottomField is a ProresInterlaceMode enum value
 34057  	ProresInterlaceModeBottomField = "BOTTOM_FIELD"
 34058  
 34059  	// ProresInterlaceModeFollowTopField is a ProresInterlaceMode enum value
 34060  	ProresInterlaceModeFollowTopField = "FOLLOW_TOP_FIELD"
 34061  
 34062  	// ProresInterlaceModeFollowBottomField is a ProresInterlaceMode enum value
 34063  	ProresInterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD"
 34064  )
 34065  
 34066  // ProresInterlaceMode_Values returns all elements of the ProresInterlaceMode enum
 34067  func ProresInterlaceMode_Values() []string {
 34068  	return []string{
 34069  		ProresInterlaceModeProgressive,
 34070  		ProresInterlaceModeTopField,
 34071  		ProresInterlaceModeBottomField,
 34072  		ProresInterlaceModeFollowTopField,
 34073  		ProresInterlaceModeFollowBottomField,
 34074  	}
 34075  }
 34076  
 34077  // Optional. Specify how the service determines the pixel aspect ratio (PAR)
 34078  // for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE),
 34079  // uses the PAR from your input video for your output. To specify a different
 34080  // PAR in the console, choose any value other than Follow source. To specify
 34081  // a different PAR by editing the JSON job specification, choose SPECIFIED.
 34082  // When you choose SPECIFIED for this setting, you must also specify values
 34083  // for the parNumerator and parDenominator settings.
 34084  const (
 34085  	// ProresParControlInitializeFromSource is a ProresParControl enum value
 34086  	ProresParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 34087  
 34088  	// ProresParControlSpecified is a ProresParControl enum value
 34089  	ProresParControlSpecified = "SPECIFIED"
 34090  )
 34091  
 34092  // ProresParControl_Values returns all elements of the ProresParControl enum
 34093  func ProresParControl_Values() []string {
 34094  	return []string{
 34095  		ProresParControlInitializeFromSource,
 34096  		ProresParControlSpecified,
 34097  	}
 34098  }
 34099  
 34100  // Use this setting for interlaced outputs, when your output frame rate is half
 34101  // of your input frame rate. In this situation, choose Optimized interlacing
 34102  // (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this
 34103  // case, each progressive frame from the input corresponds to an interlaced
 34104  // field in the output. Keep the default value, Basic interlacing (INTERLACED),
 34105  // for all other output frame rates. With basic interlacing, MediaConvert performs
 34106  // any frame rate conversion first and then interlaces the frames. When you
 34107  // choose Optimized interlacing and you set your output frame rate to a value
 34108  // that isn't suitable for optimized interlacing, MediaConvert automatically
 34109  // falls back to basic interlacing. Required settings: To use optimized interlacing,
 34110  // you must set Telecine (telecine) to None (NONE) or Soft (SOFT). You can't
 34111  // use optimized interlacing for hard telecine outputs. You must also set Interlace
 34112  // mode (interlaceMode) to a value other than Progressive (PROGRESSIVE).
 34113  const (
 34114  	// ProresScanTypeConversionModeInterlaced is a ProresScanTypeConversionMode enum value
 34115  	ProresScanTypeConversionModeInterlaced = "INTERLACED"
 34116  
 34117  	// ProresScanTypeConversionModeInterlacedOptimize is a ProresScanTypeConversionMode enum value
 34118  	ProresScanTypeConversionModeInterlacedOptimize = "INTERLACED_OPTIMIZE"
 34119  )
 34120  
 34121  // ProresScanTypeConversionMode_Values returns all elements of the ProresScanTypeConversionMode enum
 34122  func ProresScanTypeConversionMode_Values() []string {
 34123  	return []string{
 34124  		ProresScanTypeConversionModeInterlaced,
 34125  		ProresScanTypeConversionModeInterlacedOptimize,
 34126  	}
 34127  }
 34128  
 34129  // Ignore this setting unless your input frame rate is 23.976 or 24 frames per
 34130  // second (fps). Enable slow PAL to create a 25 fps output. When you enable
 34131  // slow PAL, MediaConvert relabels the video frames to 25 fps and resamples
 34132  // your audio to keep it synchronized with the video. Note that enabling this
 34133  // setting will slightly reduce the duration of your video. Required settings:
 34134  // You must also set Framerate to 25. In your JSON job specification, set (framerateControl)
 34135  // to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to
 34136  // 1.
 34137  const (
 34138  	// ProresSlowPalDisabled is a ProresSlowPal enum value
 34139  	ProresSlowPalDisabled = "DISABLED"
 34140  
 34141  	// ProresSlowPalEnabled is a ProresSlowPal enum value
 34142  	ProresSlowPalEnabled = "ENABLED"
 34143  )
 34144  
 34145  // ProresSlowPal_Values returns all elements of the ProresSlowPal enum
 34146  func ProresSlowPal_Values() []string {
 34147  	return []string{
 34148  		ProresSlowPalDisabled,
 34149  		ProresSlowPalEnabled,
 34150  	}
 34151  }
 34152  
 34153  // When you do frame rate conversion from 23.976 frames per second (fps) to
 34154  // 29.97 fps, and your output scan type is interlaced, you can optionally enable
 34155  // hard telecine (HARD) to create a smoother picture. When you keep the default
 34156  // value, None (NONE), MediaConvert does a standard frame rate conversion to
 34157  // 29.97 without doing anything with the field polarity to create a smoother
 34158  // picture.
 34159  const (
 34160  	// ProresTelecineNone is a ProresTelecine enum value
 34161  	ProresTelecineNone = "NONE"
 34162  
 34163  	// ProresTelecineHard is a ProresTelecine enum value
 34164  	ProresTelecineHard = "HARD"
 34165  )
 34166  
 34167  // ProresTelecine_Values returns all elements of the ProresTelecine enum
 34168  func ProresTelecine_Values() []string {
 34169  	return []string{
 34170  		ProresTelecineNone,
 34171  		ProresTelecineHard,
 34172  	}
 34173  }
 34174  
 34175  // Optional. When you request a list of queues, you can choose to list them
 34176  // alphabetically by NAME or chronologically by CREATION_DATE. If you don't
 34177  // specify, the service will list them by creation date.
 34178  const (
 34179  	// QueueListByName is a QueueListBy enum value
 34180  	QueueListByName = "NAME"
 34181  
 34182  	// QueueListByCreationDate is a QueueListBy enum value
 34183  	QueueListByCreationDate = "CREATION_DATE"
 34184  )
 34185  
 34186  // QueueListBy_Values returns all elements of the QueueListBy enum
 34187  func QueueListBy_Values() []string {
 34188  	return []string{
 34189  		QueueListByName,
 34190  		QueueListByCreationDate,
 34191  	}
 34192  }
 34193  
 34194  // Queues can be ACTIVE or PAUSED. If you pause a queue, jobs in that queue
 34195  // won't begin. Jobs that are running when you pause a queue continue to run
 34196  // until they finish or result in an error.
 34197  const (
 34198  	// QueueStatusActive is a QueueStatus enum value
 34199  	QueueStatusActive = "ACTIVE"
 34200  
 34201  	// QueueStatusPaused is a QueueStatus enum value
 34202  	QueueStatusPaused = "PAUSED"
 34203  )
 34204  
 34205  // QueueStatus_Values returns all elements of the QueueStatus enum
 34206  func QueueStatus_Values() []string {
 34207  	return []string{
 34208  		QueueStatusActive,
 34209  		QueueStatusPaused,
 34210  	}
 34211  }
 34212  
 34213  // Specifies whether the term of your reserved queue pricing plan is automatically
 34214  // extended (AUTO_RENEW) or expires (EXPIRE) at the end of the term.
 34215  const (
 34216  	// RenewalTypeAutoRenew is a RenewalType enum value
 34217  	RenewalTypeAutoRenew = "AUTO_RENEW"
 34218  
 34219  	// RenewalTypeExpire is a RenewalType enum value
 34220  	RenewalTypeExpire = "EXPIRE"
 34221  )
 34222  
 34223  // RenewalType_Values returns all elements of the RenewalType enum
 34224  func RenewalType_Values() []string {
 34225  	return []string{
 34226  		RenewalTypeAutoRenew,
 34227  		RenewalTypeExpire,
 34228  	}
 34229  }
 34230  
 34231  // Specifies whether the pricing plan for your reserved queue is ACTIVE or EXPIRED.
 34232  const (
 34233  	// ReservationPlanStatusActive is a ReservationPlanStatus enum value
 34234  	ReservationPlanStatusActive = "ACTIVE"
 34235  
 34236  	// ReservationPlanStatusExpired is a ReservationPlanStatus enum value
 34237  	ReservationPlanStatusExpired = "EXPIRED"
 34238  )
 34239  
 34240  // ReservationPlanStatus_Values returns all elements of the ReservationPlanStatus enum
 34241  func ReservationPlanStatus_Values() []string {
 34242  	return []string{
 34243  		ReservationPlanStatusActive,
 34244  		ReservationPlanStatusExpired,
 34245  	}
 34246  }
 34247  
 34248  // Use Respond to AFD (RespondToAfd) to specify how the service changes the
 34249  // video itself in response to AFD values in the input. * Choose Respond to
 34250  // clip the input video frame according to the AFD value, input display aspect
 34251  // ratio, and output display aspect ratio. * Choose Passthrough to include the
 34252  // input AFD values. Do not choose this when AfdSignaling is set to (NONE).
 34253  // A preferred implementation of this workflow is to set RespondToAfd to (NONE)
 34254  // and set AfdSignaling to (AUTO). * Choose None to remove all input AFD values
 34255  // from this output.
 34256  const (
 34257  	// RespondToAfdNone is a RespondToAfd enum value
 34258  	RespondToAfdNone = "NONE"
 34259  
 34260  	// RespondToAfdRespond is a RespondToAfd enum value
 34261  	RespondToAfdRespond = "RESPOND"
 34262  
 34263  	// RespondToAfdPassthrough is a RespondToAfd enum value
 34264  	RespondToAfdPassthrough = "PASSTHROUGH"
 34265  )
 34266  
 34267  // RespondToAfd_Values returns all elements of the RespondToAfd enum
 34268  func RespondToAfd_Values() []string {
 34269  	return []string{
 34270  		RespondToAfdNone,
 34271  		RespondToAfdRespond,
 34272  		RespondToAfdPassthrough,
 34273  	}
 34274  }
 34275  
 34276  // Choose an Amazon S3 canned ACL for MediaConvert to apply to this output.
 34277  const (
 34278  	// S3ObjectCannedAclPublicRead is a S3ObjectCannedAcl enum value
 34279  	S3ObjectCannedAclPublicRead = "PUBLIC_READ"
 34280  
 34281  	// S3ObjectCannedAclAuthenticatedRead is a S3ObjectCannedAcl enum value
 34282  	S3ObjectCannedAclAuthenticatedRead = "AUTHENTICATED_READ"
 34283  
 34284  	// S3ObjectCannedAclBucketOwnerRead is a S3ObjectCannedAcl enum value
 34285  	S3ObjectCannedAclBucketOwnerRead = "BUCKET_OWNER_READ"
 34286  
 34287  	// S3ObjectCannedAclBucketOwnerFullControl is a S3ObjectCannedAcl enum value
 34288  	S3ObjectCannedAclBucketOwnerFullControl = "BUCKET_OWNER_FULL_CONTROL"
 34289  )
 34290  
 34291  // S3ObjectCannedAcl_Values returns all elements of the S3ObjectCannedAcl enum
 34292  func S3ObjectCannedAcl_Values() []string {
 34293  	return []string{
 34294  		S3ObjectCannedAclPublicRead,
 34295  		S3ObjectCannedAclAuthenticatedRead,
 34296  		S3ObjectCannedAclBucketOwnerRead,
 34297  		S3ObjectCannedAclBucketOwnerFullControl,
 34298  	}
 34299  }
 34300  
 34301  // Specify how you want your data keys managed. AWS uses data keys to encrypt
 34302  // your content. AWS also encrypts the data keys themselves, using a customer
 34303  // master key (CMK), and then stores the encrypted data keys alongside your
 34304  // encrypted content. Use this setting to specify which AWS service manages
 34305  // the CMK. For simplest set up, choose Amazon S3 (SERVER_SIDE_ENCRYPTION_S3).
 34306  // If you want your master key to be managed by AWS Key Management Service (KMS),
 34307  // choose AWS KMS (SERVER_SIDE_ENCRYPTION_KMS). By default, when you choose
 34308  // AWS KMS, KMS uses the AWS managed customer master key (CMK) associated with
 34309  // Amazon S3 to encrypt your data keys. You can optionally choose to specify
 34310  // a different, customer managed CMK. Do so by specifying the Amazon Resource
 34311  // Name (ARN) of the key for the setting KMS ARN (kmsKeyArn).
 34312  const (
 34313  	// S3ServerSideEncryptionTypeServerSideEncryptionS3 is a S3ServerSideEncryptionType enum value
 34314  	S3ServerSideEncryptionTypeServerSideEncryptionS3 = "SERVER_SIDE_ENCRYPTION_S3"
 34315  
 34316  	// S3ServerSideEncryptionTypeServerSideEncryptionKms is a S3ServerSideEncryptionType enum value
 34317  	S3ServerSideEncryptionTypeServerSideEncryptionKms = "SERVER_SIDE_ENCRYPTION_KMS"
 34318  )
 34319  
 34320  // S3ServerSideEncryptionType_Values returns all elements of the S3ServerSideEncryptionType enum
 34321  func S3ServerSideEncryptionType_Values() []string {
 34322  	return []string{
 34323  		S3ServerSideEncryptionTypeServerSideEncryptionS3,
 34324  		S3ServerSideEncryptionTypeServerSideEncryptionKms,
 34325  	}
 34326  }
 34327  
 34328  // Specify the video color sample range for this output. To create a full range
 34329  // output, you must start with a full range YUV input and keep the default value,
 34330  // None (NONE). To create a limited range output from a full range input, choose
 34331  // Limited range (LIMITED_RANGE_SQUEEZE). With RGB inputs, your output is always
 34332  // limited range, regardless of your choice here. When you create a limited
 34333  // range output from a full range input, MediaConvert limits the active pixel
 34334  // values in a way that depends on the output's bit depth: 8-bit outputs contain
 34335  // only values from 16 through 235 and 10-bit outputs contain only values from
 34336  // 64 through 940. With this conversion, MediaConvert also changes the output
 34337  // metadata to note the limited range.
 34338  const (
 34339  	// SampleRangeConversionLimitedRangeSqueeze is a SampleRangeConversion enum value
 34340  	SampleRangeConversionLimitedRangeSqueeze = "LIMITED_RANGE_SQUEEZE"
 34341  
 34342  	// SampleRangeConversionNone is a SampleRangeConversion enum value
 34343  	SampleRangeConversionNone = "NONE"
 34344  )
 34345  
 34346  // SampleRangeConversion_Values returns all elements of the SampleRangeConversion enum
 34347  func SampleRangeConversion_Values() []string {
 34348  	return []string{
 34349  		SampleRangeConversionLimitedRangeSqueeze,
 34350  		SampleRangeConversionNone,
 34351  	}
 34352  }
 34353  
 34354  // Specify how the service handles outputs that have a different aspect ratio
 34355  // from the input aspect ratio. Choose Stretch to output (STRETCH_TO_OUTPUT)
 34356  // to have the service stretch your video image to fit. Keep the setting Default
 34357  // (DEFAULT) to have the service letterbox your video instead. This setting
 34358  // overrides any value that you specify for the setting Selection placement
 34359  // (position) in this output.
 34360  const (
 34361  	// ScalingBehaviorDefault is a ScalingBehavior enum value
 34362  	ScalingBehaviorDefault = "DEFAULT"
 34363  
 34364  	// ScalingBehaviorStretchToOutput is a ScalingBehavior enum value
 34365  	ScalingBehaviorStretchToOutput = "STRETCH_TO_OUTPUT"
 34366  )
 34367  
 34368  // ScalingBehavior_Values returns all elements of the ScalingBehavior enum
 34369  func ScalingBehavior_Values() []string {
 34370  	return []string{
 34371  		ScalingBehaviorDefault,
 34372  		ScalingBehaviorStretchToOutput,
 34373  	}
 34374  }
 34375  
 34376  // Set Framerate (SccDestinationFramerate) to make sure that the captions and
 34377  // the video are synchronized in the output. Specify a frame rate that matches
 34378  // the frame rate of the associated video. If the video frame rate is 29.97,
 34379  // choose 29.97 dropframe (FRAMERATE_29_97_DROPFRAME) only if the video has
 34380  // video_insertion=true and drop_frame_timecode=true; otherwise, choose 29.97
 34381  // non-dropframe (FRAMERATE_29_97_NON_DROPFRAME).
 34382  const (
 34383  	// SccDestinationFramerateFramerate2397 is a SccDestinationFramerate enum value
 34384  	SccDestinationFramerateFramerate2397 = "FRAMERATE_23_97"
 34385  
 34386  	// SccDestinationFramerateFramerate24 is a SccDestinationFramerate enum value
 34387  	SccDestinationFramerateFramerate24 = "FRAMERATE_24"
 34388  
 34389  	// SccDestinationFramerateFramerate25 is a SccDestinationFramerate enum value
 34390  	SccDestinationFramerateFramerate25 = "FRAMERATE_25"
 34391  
 34392  	// SccDestinationFramerateFramerate2997Dropframe is a SccDestinationFramerate enum value
 34393  	SccDestinationFramerateFramerate2997Dropframe = "FRAMERATE_29_97_DROPFRAME"
 34394  
 34395  	// SccDestinationFramerateFramerate2997NonDropframe is a SccDestinationFramerate enum value
 34396  	SccDestinationFramerateFramerate2997NonDropframe = "FRAMERATE_29_97_NON_DROPFRAME"
 34397  )
 34398  
 34399  // SccDestinationFramerate_Values returns all elements of the SccDestinationFramerate enum
 34400  func SccDestinationFramerate_Values() []string {
 34401  	return []string{
 34402  		SccDestinationFramerateFramerate2397,
 34403  		SccDestinationFramerateFramerate24,
 34404  		SccDestinationFramerateFramerate25,
 34405  		SccDestinationFramerateFramerate2997Dropframe,
 34406  		SccDestinationFramerateFramerate2997NonDropframe,
 34407  	}
 34408  }
 34409  
 34410  // Enable this setting when you run a test job to estimate how many reserved
 34411  // transcoding slots (RTS) you need. When this is enabled, MediaConvert runs
 34412  // your job from an on-demand queue with similar performance to what you will
 34413  // see with one RTS in a reserved queue. This setting is disabled by default.
 34414  const (
 34415  	// SimulateReservedQueueDisabled is a SimulateReservedQueue enum value
 34416  	SimulateReservedQueueDisabled = "DISABLED"
 34417  
 34418  	// SimulateReservedQueueEnabled is a SimulateReservedQueue enum value
 34419  	SimulateReservedQueueEnabled = "ENABLED"
 34420  )
 34421  
 34422  // SimulateReservedQueue_Values returns all elements of the SimulateReservedQueue enum
 34423  func SimulateReservedQueue_Values() []string {
 34424  	return []string{
 34425  		SimulateReservedQueueDisabled,
 34426  		SimulateReservedQueueEnabled,
 34427  	}
 34428  }
 34429  
 34430  // Choose Enabled (ENABLED) to have MediaConvert use the font style, color,
 34431  // and position information from the captions source in the input. Keep the
 34432  // default value, Disabled (DISABLED), for simplified output captions.
 34433  const (
 34434  	// SrtStylePassthroughEnabled is a SrtStylePassthrough enum value
 34435  	SrtStylePassthroughEnabled = "ENABLED"
 34436  
 34437  	// SrtStylePassthroughDisabled is a SrtStylePassthrough enum value
 34438  	SrtStylePassthroughDisabled = "DISABLED"
 34439  )
 34440  
 34441  // SrtStylePassthrough_Values returns all elements of the SrtStylePassthrough enum
 34442  func SrtStylePassthrough_Values() []string {
 34443  	return []string{
 34444  		SrtStylePassthroughEnabled,
 34445  		SrtStylePassthroughDisabled,
 34446  	}
 34447  }
 34448  
 34449  // Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch
 34450  // Events. Set the interval, in seconds, between status updates. MediaConvert
 34451  // sends an update at this interval from the time the service begins processing
 34452  // your job to the time it completes the transcode or encounters an error.
 34453  const (
 34454  	// StatusUpdateIntervalSeconds10 is a StatusUpdateInterval enum value
 34455  	StatusUpdateIntervalSeconds10 = "SECONDS_10"
 34456  
 34457  	// StatusUpdateIntervalSeconds12 is a StatusUpdateInterval enum value
 34458  	StatusUpdateIntervalSeconds12 = "SECONDS_12"
 34459  
 34460  	// StatusUpdateIntervalSeconds15 is a StatusUpdateInterval enum value
 34461  	StatusUpdateIntervalSeconds15 = "SECONDS_15"
 34462  
 34463  	// StatusUpdateIntervalSeconds20 is a StatusUpdateInterval enum value
 34464  	StatusUpdateIntervalSeconds20 = "SECONDS_20"
 34465  
 34466  	// StatusUpdateIntervalSeconds30 is a StatusUpdateInterval enum value
 34467  	StatusUpdateIntervalSeconds30 = "SECONDS_30"
 34468  
 34469  	// StatusUpdateIntervalSeconds60 is a StatusUpdateInterval enum value
 34470  	StatusUpdateIntervalSeconds60 = "SECONDS_60"
 34471  
 34472  	// StatusUpdateIntervalSeconds120 is a StatusUpdateInterval enum value
 34473  	StatusUpdateIntervalSeconds120 = "SECONDS_120"
 34474  
 34475  	// StatusUpdateIntervalSeconds180 is a StatusUpdateInterval enum value
 34476  	StatusUpdateIntervalSeconds180 = "SECONDS_180"
 34477  
 34478  	// StatusUpdateIntervalSeconds240 is a StatusUpdateInterval enum value
 34479  	StatusUpdateIntervalSeconds240 = "SECONDS_240"
 34480  
 34481  	// StatusUpdateIntervalSeconds300 is a StatusUpdateInterval enum value
 34482  	StatusUpdateIntervalSeconds300 = "SECONDS_300"
 34483  
 34484  	// StatusUpdateIntervalSeconds360 is a StatusUpdateInterval enum value
 34485  	StatusUpdateIntervalSeconds360 = "SECONDS_360"
 34486  
 34487  	// StatusUpdateIntervalSeconds420 is a StatusUpdateInterval enum value
 34488  	StatusUpdateIntervalSeconds420 = "SECONDS_420"
 34489  
 34490  	// StatusUpdateIntervalSeconds480 is a StatusUpdateInterval enum value
 34491  	StatusUpdateIntervalSeconds480 = "SECONDS_480"
 34492  
 34493  	// StatusUpdateIntervalSeconds540 is a StatusUpdateInterval enum value
 34494  	StatusUpdateIntervalSeconds540 = "SECONDS_540"
 34495  
 34496  	// StatusUpdateIntervalSeconds600 is a StatusUpdateInterval enum value
 34497  	StatusUpdateIntervalSeconds600 = "SECONDS_600"
 34498  )
 34499  
 34500  // StatusUpdateInterval_Values returns all elements of the StatusUpdateInterval enum
 34501  func StatusUpdateInterval_Values() []string {
 34502  	return []string{
 34503  		StatusUpdateIntervalSeconds10,
 34504  		StatusUpdateIntervalSeconds12,
 34505  		StatusUpdateIntervalSeconds15,
 34506  		StatusUpdateIntervalSeconds20,
 34507  		StatusUpdateIntervalSeconds30,
 34508  		StatusUpdateIntervalSeconds60,
 34509  		StatusUpdateIntervalSeconds120,
 34510  		StatusUpdateIntervalSeconds180,
 34511  		StatusUpdateIntervalSeconds240,
 34512  		StatusUpdateIntervalSeconds300,
 34513  		StatusUpdateIntervalSeconds360,
 34514  		StatusUpdateIntervalSeconds420,
 34515  		StatusUpdateIntervalSeconds480,
 34516  		StatusUpdateIntervalSeconds540,
 34517  		StatusUpdateIntervalSeconds600,
 34518  	}
 34519  }
 34520  
 34521  // A page type as defined in the standard ETSI EN 300 468, Table 94
 34522  const (
 34523  	// TeletextPageTypePageTypeInitial is a TeletextPageType enum value
 34524  	TeletextPageTypePageTypeInitial = "PAGE_TYPE_INITIAL"
 34525  
 34526  	// TeletextPageTypePageTypeSubtitle is a TeletextPageType enum value
 34527  	TeletextPageTypePageTypeSubtitle = "PAGE_TYPE_SUBTITLE"
 34528  
 34529  	// TeletextPageTypePageTypeAddlInfo is a TeletextPageType enum value
 34530  	TeletextPageTypePageTypeAddlInfo = "PAGE_TYPE_ADDL_INFO"
 34531  
 34532  	// TeletextPageTypePageTypeProgramSchedule is a TeletextPageType enum value
 34533  	TeletextPageTypePageTypeProgramSchedule = "PAGE_TYPE_PROGRAM_SCHEDULE"
 34534  
 34535  	// TeletextPageTypePageTypeHearingImpairedSubtitle is a TeletextPageType enum value
 34536  	TeletextPageTypePageTypeHearingImpairedSubtitle = "PAGE_TYPE_HEARING_IMPAIRED_SUBTITLE"
 34537  )
 34538  
 34539  // TeletextPageType_Values returns all elements of the TeletextPageType enum
 34540  func TeletextPageType_Values() []string {
 34541  	return []string{
 34542  		TeletextPageTypePageTypeInitial,
 34543  		TeletextPageTypePageTypeSubtitle,
 34544  		TeletextPageTypePageTypeAddlInfo,
 34545  		TeletextPageTypePageTypeProgramSchedule,
 34546  		TeletextPageTypePageTypeHearingImpairedSubtitle,
 34547  	}
 34548  }
 34549  
 34550  // Use Position (Position) under under Timecode burn-in (TimecodeBurnIn) to
 34551  // specify the location the burned-in timecode on output video.
 34552  const (
 34553  	// TimecodeBurninPositionTopCenter is a TimecodeBurninPosition enum value
 34554  	TimecodeBurninPositionTopCenter = "TOP_CENTER"
 34555  
 34556  	// TimecodeBurninPositionTopLeft is a TimecodeBurninPosition enum value
 34557  	TimecodeBurninPositionTopLeft = "TOP_LEFT"
 34558  
 34559  	// TimecodeBurninPositionTopRight is a TimecodeBurninPosition enum value
 34560  	TimecodeBurninPositionTopRight = "TOP_RIGHT"
 34561  
 34562  	// TimecodeBurninPositionMiddleLeft is a TimecodeBurninPosition enum value
 34563  	TimecodeBurninPositionMiddleLeft = "MIDDLE_LEFT"
 34564  
 34565  	// TimecodeBurninPositionMiddleCenter is a TimecodeBurninPosition enum value
 34566  	TimecodeBurninPositionMiddleCenter = "MIDDLE_CENTER"
 34567  
 34568  	// TimecodeBurninPositionMiddleRight is a TimecodeBurninPosition enum value
 34569  	TimecodeBurninPositionMiddleRight = "MIDDLE_RIGHT"
 34570  
 34571  	// TimecodeBurninPositionBottomLeft is a TimecodeBurninPosition enum value
 34572  	TimecodeBurninPositionBottomLeft = "BOTTOM_LEFT"
 34573  
 34574  	// TimecodeBurninPositionBottomCenter is a TimecodeBurninPosition enum value
 34575  	TimecodeBurninPositionBottomCenter = "BOTTOM_CENTER"
 34576  
 34577  	// TimecodeBurninPositionBottomRight is a TimecodeBurninPosition enum value
 34578  	TimecodeBurninPositionBottomRight = "BOTTOM_RIGHT"
 34579  )
 34580  
 34581  // TimecodeBurninPosition_Values returns all elements of the TimecodeBurninPosition enum
 34582  func TimecodeBurninPosition_Values() []string {
 34583  	return []string{
 34584  		TimecodeBurninPositionTopCenter,
 34585  		TimecodeBurninPositionTopLeft,
 34586  		TimecodeBurninPositionTopRight,
 34587  		TimecodeBurninPositionMiddleLeft,
 34588  		TimecodeBurninPositionMiddleCenter,
 34589  		TimecodeBurninPositionMiddleRight,
 34590  		TimecodeBurninPositionBottomLeft,
 34591  		TimecodeBurninPositionBottomCenter,
 34592  		TimecodeBurninPositionBottomRight,
 34593  	}
 34594  }
 34595  
 34596  // Use Source (TimecodeSource) to set how timecodes are handled within this
 34597  // job. To make sure that your video, audio, captions, and markers are synchronized
 34598  // and that time-based features, such as image inserter, work correctly, choose
 34599  // the Timecode source option that matches your assets. All timecodes are in
 34600  // a 24-hour format with frame number (HH:MM:SS:FF). * Embedded (EMBEDDED) -
 34601  // Use the timecode that is in the input video. If no embedded timecode is in
 34602  // the source, the service will use Start at 0 (ZEROBASED) instead. * Start
 34603  // at 0 (ZEROBASED) - Set the timecode of the initial frame to 00:00:00:00.
 34604  // * Specified Start (SPECIFIEDSTART) - Set the timecode of the initial frame
 34605  // to a value other than zero. You use Start timecode (Start) to provide this
 34606  // value.
 34607  const (
 34608  	// TimecodeSourceEmbedded is a TimecodeSource enum value
 34609  	TimecodeSourceEmbedded = "EMBEDDED"
 34610  
 34611  	// TimecodeSourceZerobased is a TimecodeSource enum value
 34612  	TimecodeSourceZerobased = "ZEROBASED"
 34613  
 34614  	// TimecodeSourceSpecifiedstart is a TimecodeSource enum value
 34615  	TimecodeSourceSpecifiedstart = "SPECIFIEDSTART"
 34616  )
 34617  
 34618  // TimecodeSource_Values returns all elements of the TimecodeSource enum
 34619  func TimecodeSource_Values() []string {
 34620  	return []string{
 34621  		TimecodeSourceEmbedded,
 34622  		TimecodeSourceZerobased,
 34623  		TimecodeSourceSpecifiedstart,
 34624  	}
 34625  }
 34626  
 34627  // Applies only to HLS outputs. Use this setting to specify whether the service
 34628  // inserts the ID3 timed metadata from the input in this output.
 34629  const (
 34630  	// TimedMetadataPassthrough is a TimedMetadata enum value
 34631  	TimedMetadataPassthrough = "PASSTHROUGH"
 34632  
 34633  	// TimedMetadataNone is a TimedMetadata enum value
 34634  	TimedMetadataNone = "NONE"
 34635  )
 34636  
 34637  // TimedMetadata_Values returns all elements of the TimedMetadata enum
 34638  func TimedMetadata_Values() []string {
 34639  	return []string{
 34640  		TimedMetadataPassthrough,
 34641  		TimedMetadataNone,
 34642  	}
 34643  }
 34644  
 34645  // Pass through style and position information from a TTML-like input source
 34646  // (TTML, IMSC, SMPTE-TT) to the TTML output.
 34647  const (
 34648  	// TtmlStylePassthroughEnabled is a TtmlStylePassthrough enum value
 34649  	TtmlStylePassthroughEnabled = "ENABLED"
 34650  
 34651  	// TtmlStylePassthroughDisabled is a TtmlStylePassthrough enum value
 34652  	TtmlStylePassthroughDisabled = "DISABLED"
 34653  )
 34654  
 34655  // TtmlStylePassthrough_Values returns all elements of the TtmlStylePassthrough enum
 34656  func TtmlStylePassthrough_Values() []string {
 34657  	return []string{
 34658  		TtmlStylePassthroughEnabled,
 34659  		TtmlStylePassthroughDisabled,
 34660  	}
 34661  }
 34662  
 34663  const (
 34664  	// TypeSystem is a Type enum value
 34665  	TypeSystem = "SYSTEM"
 34666  
 34667  	// TypeCustom is a Type enum value
 34668  	TypeCustom = "CUSTOM"
 34669  )
 34670  
 34671  // Type_Values returns all elements of the Type enum
 34672  func Type_Values() []string {
 34673  	return []string{
 34674  		TypeSystem,
 34675  		TypeCustom,
 34676  	}
 34677  }
 34678  
 34679  // Specify the VC3 class to choose the quality characteristics for this output.
 34680  // VC3 class, together with the settings Framerate (framerateNumerator and framerateDenominator)
 34681  // and Resolution (height and width), determine your output bitrate. For example,
 34682  // say that your video resolution is 1920x1080 and your framerate is 29.97.
 34683  // Then Class 145 (CLASS_145) gives you an output with a bitrate of approximately
 34684  // 145 Mbps and Class 220 (CLASS_220) gives you and output with a bitrate of
 34685  // approximately 220 Mbps. VC3 class also specifies the color bit depth of your
 34686  // output.
 34687  const (
 34688  	// Vc3ClassClass1458bit is a Vc3Class enum value
 34689  	Vc3ClassClass1458bit = "CLASS_145_8BIT"
 34690  
 34691  	// Vc3ClassClass2208bit is a Vc3Class enum value
 34692  	Vc3ClassClass2208bit = "CLASS_220_8BIT"
 34693  
 34694  	// Vc3ClassClass22010bit is a Vc3Class enum value
 34695  	Vc3ClassClass22010bit = "CLASS_220_10BIT"
 34696  )
 34697  
 34698  // Vc3Class_Values returns all elements of the Vc3Class enum
 34699  func Vc3Class_Values() []string {
 34700  	return []string{
 34701  		Vc3ClassClass1458bit,
 34702  		Vc3ClassClass2208bit,
 34703  		Vc3ClassClass22010bit,
 34704  	}
 34705  }
 34706  
 34707  // If you are using the console, use the Framerate setting to specify the frame
 34708  // rate for this output. If you want to keep the same frame rate as the input
 34709  // video, choose Follow source. If you want to do frame rate conversion, choose
 34710  // a frame rate from the dropdown list or choose Custom. The framerates shown
 34711  // in the dropdown list are decimal approximations of fractions. If you choose
 34712  // Custom, specify your frame rate as a fraction. If you are creating your transcoding
 34713  // job specification as a JSON file without the console, use FramerateControl
 34714  // to specify which value the service uses for the frame rate for this output.
 34715  // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 34716  // from the input. Choose SPECIFIED if you want the service to use the frame
 34717  // rate you specify in the settings FramerateNumerator and FramerateDenominator.
 34718  const (
 34719  	// Vc3FramerateControlInitializeFromSource is a Vc3FramerateControl enum value
 34720  	Vc3FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 34721  
 34722  	// Vc3FramerateControlSpecified is a Vc3FramerateControl enum value
 34723  	Vc3FramerateControlSpecified = "SPECIFIED"
 34724  )
 34725  
 34726  // Vc3FramerateControl_Values returns all elements of the Vc3FramerateControl enum
 34727  func Vc3FramerateControl_Values() []string {
 34728  	return []string{
 34729  		Vc3FramerateControlInitializeFromSource,
 34730  		Vc3FramerateControlSpecified,
 34731  	}
 34732  }
 34733  
 34734  // Choose the method that you want MediaConvert to use when increasing or decreasing
 34735  // the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 34736  // simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 34737  // you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 34738  // smooth picture, but might introduce undesirable video artifacts. For complex
 34739  // frame rate conversions, especially if your source video has already been
 34740  // converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 34741  // motion-compensated interpolation. FrameFormer chooses the best conversion
 34742  // method frame by frame. Note that using FrameFormer increases the transcoding
 34743  // time and incurs a significant add-on cost.
 34744  const (
 34745  	// Vc3FramerateConversionAlgorithmDuplicateDrop is a Vc3FramerateConversionAlgorithm enum value
 34746  	Vc3FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP"
 34747  
 34748  	// Vc3FramerateConversionAlgorithmInterpolate is a Vc3FramerateConversionAlgorithm enum value
 34749  	Vc3FramerateConversionAlgorithmInterpolate = "INTERPOLATE"
 34750  
 34751  	// Vc3FramerateConversionAlgorithmFrameformer is a Vc3FramerateConversionAlgorithm enum value
 34752  	Vc3FramerateConversionAlgorithmFrameformer = "FRAMEFORMER"
 34753  )
 34754  
 34755  // Vc3FramerateConversionAlgorithm_Values returns all elements of the Vc3FramerateConversionAlgorithm enum
 34756  func Vc3FramerateConversionAlgorithm_Values() []string {
 34757  	return []string{
 34758  		Vc3FramerateConversionAlgorithmDuplicateDrop,
 34759  		Vc3FramerateConversionAlgorithmInterpolate,
 34760  		Vc3FramerateConversionAlgorithmFrameformer,
 34761  	}
 34762  }
 34763  
 34764  // Optional. Choose the scan line type for this output. If you don't specify
 34765  // a value, MediaConvert will create a progressive output.
 34766  const (
 34767  	// Vc3InterlaceModeInterlaced is a Vc3InterlaceMode enum value
 34768  	Vc3InterlaceModeInterlaced = "INTERLACED"
 34769  
 34770  	// Vc3InterlaceModeProgressive is a Vc3InterlaceMode enum value
 34771  	Vc3InterlaceModeProgressive = "PROGRESSIVE"
 34772  )
 34773  
 34774  // Vc3InterlaceMode_Values returns all elements of the Vc3InterlaceMode enum
 34775  func Vc3InterlaceMode_Values() []string {
 34776  	return []string{
 34777  		Vc3InterlaceModeInterlaced,
 34778  		Vc3InterlaceModeProgressive,
 34779  	}
 34780  }
 34781  
 34782  // Use this setting for interlaced outputs, when your output frame rate is half
 34783  // of your input frame rate. In this situation, choose Optimized interlacing
 34784  // (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this
 34785  // case, each progressive frame from the input corresponds to an interlaced
 34786  // field in the output. Keep the default value, Basic interlacing (INTERLACED),
 34787  // for all other output frame rates. With basic interlacing, MediaConvert performs
 34788  // any frame rate conversion first and then interlaces the frames. When you
 34789  // choose Optimized interlacing and you set your output frame rate to a value
 34790  // that isn't suitable for optimized interlacing, MediaConvert automatically
 34791  // falls back to basic interlacing. Required settings: To use optimized interlacing,
 34792  // you must set Telecine (telecine) to None (NONE) or Soft (SOFT). You can't
 34793  // use optimized interlacing for hard telecine outputs. You must also set Interlace
 34794  // mode (interlaceMode) to a value other than Progressive (PROGRESSIVE).
 34795  const (
 34796  	// Vc3ScanTypeConversionModeInterlaced is a Vc3ScanTypeConversionMode enum value
 34797  	Vc3ScanTypeConversionModeInterlaced = "INTERLACED"
 34798  
 34799  	// Vc3ScanTypeConversionModeInterlacedOptimize is a Vc3ScanTypeConversionMode enum value
 34800  	Vc3ScanTypeConversionModeInterlacedOptimize = "INTERLACED_OPTIMIZE"
 34801  )
 34802  
 34803  // Vc3ScanTypeConversionMode_Values returns all elements of the Vc3ScanTypeConversionMode enum
 34804  func Vc3ScanTypeConversionMode_Values() []string {
 34805  	return []string{
 34806  		Vc3ScanTypeConversionModeInterlaced,
 34807  		Vc3ScanTypeConversionModeInterlacedOptimize,
 34808  	}
 34809  }
 34810  
 34811  // Ignore this setting unless your input frame rate is 23.976 or 24 frames per
 34812  // second (fps). Enable slow PAL to create a 25 fps output by relabeling the
 34813  // video frames and resampling your audio. Note that enabling this setting will
 34814  // slightly reduce the duration of your video. Related settings: You must also
 34815  // set Framerate to 25. In your JSON job specification, set (framerateControl)
 34816  // to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to
 34817  // 1.
 34818  const (
 34819  	// Vc3SlowPalDisabled is a Vc3SlowPal enum value
 34820  	Vc3SlowPalDisabled = "DISABLED"
 34821  
 34822  	// Vc3SlowPalEnabled is a Vc3SlowPal enum value
 34823  	Vc3SlowPalEnabled = "ENABLED"
 34824  )
 34825  
 34826  // Vc3SlowPal_Values returns all elements of the Vc3SlowPal enum
 34827  func Vc3SlowPal_Values() []string {
 34828  	return []string{
 34829  		Vc3SlowPalDisabled,
 34830  		Vc3SlowPalEnabled,
 34831  	}
 34832  }
 34833  
 34834  // When you do frame rate conversion from 23.976 frames per second (fps) to
 34835  // 29.97 fps, and your output scan type is interlaced, you can optionally enable
 34836  // hard telecine (HARD) to create a smoother picture. When you keep the default
 34837  // value, None (NONE), MediaConvert does a standard frame rate conversion to
 34838  // 29.97 without doing anything with the field polarity to create a smoother
 34839  // picture.
 34840  const (
 34841  	// Vc3TelecineNone is a Vc3Telecine enum value
 34842  	Vc3TelecineNone = "NONE"
 34843  
 34844  	// Vc3TelecineHard is a Vc3Telecine enum value
 34845  	Vc3TelecineHard = "HARD"
 34846  )
 34847  
 34848  // Vc3Telecine_Values returns all elements of the Vc3Telecine enum
 34849  func Vc3Telecine_Values() []string {
 34850  	return []string{
 34851  		Vc3TelecineNone,
 34852  		Vc3TelecineHard,
 34853  	}
 34854  }
 34855  
 34856  // The action to take on content advisory XDS packets. If you select PASSTHROUGH,
 34857  // packets will not be changed. If you select STRIP, any packets will be removed
 34858  // in output captions.
 34859  const (
 34860  	// VchipActionPassthrough is a VchipAction enum value
 34861  	VchipActionPassthrough = "PASSTHROUGH"
 34862  
 34863  	// VchipActionStrip is a VchipAction enum value
 34864  	VchipActionStrip = "STRIP"
 34865  )
 34866  
 34867  // VchipAction_Values returns all elements of the VchipAction enum
 34868  func VchipAction_Values() []string {
 34869  	return []string{
 34870  		VchipActionPassthrough,
 34871  		VchipActionStrip,
 34872  	}
 34873  }
 34874  
 34875  // Type of video codec
 34876  const (
 34877  	// VideoCodecAv1 is a VideoCodec enum value
 34878  	VideoCodecAv1 = "AV1"
 34879  
 34880  	// VideoCodecAvcIntra is a VideoCodec enum value
 34881  	VideoCodecAvcIntra = "AVC_INTRA"
 34882  
 34883  	// VideoCodecFrameCapture is a VideoCodec enum value
 34884  	VideoCodecFrameCapture = "FRAME_CAPTURE"
 34885  
 34886  	// VideoCodecH264 is a VideoCodec enum value
 34887  	VideoCodecH264 = "H_264"
 34888  
 34889  	// VideoCodecH265 is a VideoCodec enum value
 34890  	VideoCodecH265 = "H_265"
 34891  
 34892  	// VideoCodecMpeg2 is a VideoCodec enum value
 34893  	VideoCodecMpeg2 = "MPEG2"
 34894  
 34895  	// VideoCodecProres is a VideoCodec enum value
 34896  	VideoCodecProres = "PRORES"
 34897  
 34898  	// VideoCodecVc3 is a VideoCodec enum value
 34899  	VideoCodecVc3 = "VC3"
 34900  
 34901  	// VideoCodecVp8 is a VideoCodec enum value
 34902  	VideoCodecVp8 = "VP8"
 34903  
 34904  	// VideoCodecVp9 is a VideoCodec enum value
 34905  	VideoCodecVp9 = "VP9"
 34906  
 34907  	// VideoCodecXavc is a VideoCodec enum value
 34908  	VideoCodecXavc = "XAVC"
 34909  )
 34910  
 34911  // VideoCodec_Values returns all elements of the VideoCodec enum
 34912  func VideoCodec_Values() []string {
 34913  	return []string{
 34914  		VideoCodecAv1,
 34915  		VideoCodecAvcIntra,
 34916  		VideoCodecFrameCapture,
 34917  		VideoCodecH264,
 34918  		VideoCodecH265,
 34919  		VideoCodecMpeg2,
 34920  		VideoCodecProres,
 34921  		VideoCodecVc3,
 34922  		VideoCodecVp8,
 34923  		VideoCodecVp9,
 34924  		VideoCodecXavc,
 34925  	}
 34926  }
 34927  
 34928  // Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode
 34929  // insertion when the input frame rate is identical to the output frame rate.
 34930  // To include timecodes in this output, set Timecode insertion (VideoTimecodeInsertion)
 34931  // to PIC_TIMING_SEI. To leave them out, set it to DISABLED. Default is DISABLED.
 34932  // When the service inserts timecodes in an output, by default, it uses any
 34933  // embedded timecodes from the input. If none are present, the service will
 34934  // set the timecode for the first output frame to zero. To change this default
 34935  // behavior, adjust the settings under Timecode configuration (TimecodeConfig).
 34936  // In the console, these settings are located under Job > Job settings > Timecode
 34937  // configuration. Note - Timecode source under input settings (InputTimecodeSource)
 34938  // does not affect the timecodes that are inserted in the output. Source under
 34939  // Job settings > Timecode configuration (TimecodeSource) does.
 34940  const (
 34941  	// VideoTimecodeInsertionDisabled is a VideoTimecodeInsertion enum value
 34942  	VideoTimecodeInsertionDisabled = "DISABLED"
 34943  
 34944  	// VideoTimecodeInsertionPicTimingSei is a VideoTimecodeInsertion enum value
 34945  	VideoTimecodeInsertionPicTimingSei = "PIC_TIMING_SEI"
 34946  )
 34947  
 34948  // VideoTimecodeInsertion_Values returns all elements of the VideoTimecodeInsertion enum
 34949  func VideoTimecodeInsertion_Values() []string {
 34950  	return []string{
 34951  		VideoTimecodeInsertionDisabled,
 34952  		VideoTimecodeInsertionPicTimingSei,
 34953  	}
 34954  }
 34955  
 34956  // If you are using the console, use the Framerate setting to specify the frame
 34957  // rate for this output. If you want to keep the same frame rate as the input
 34958  // video, choose Follow source. If you want to do frame rate conversion, choose
 34959  // a frame rate from the dropdown list or choose Custom. The framerates shown
 34960  // in the dropdown list are decimal approximations of fractions. If you choose
 34961  // Custom, specify your frame rate as a fraction. If you are creating your transcoding
 34962  // job specification as a JSON file without the console, use FramerateControl
 34963  // to specify which value the service uses for the frame rate for this output.
 34964  // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 34965  // from the input. Choose SPECIFIED if you want the service to use the frame
 34966  // rate you specify in the settings FramerateNumerator and FramerateDenominator.
 34967  const (
 34968  	// Vp8FramerateControlInitializeFromSource is a Vp8FramerateControl enum value
 34969  	Vp8FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 34970  
 34971  	// Vp8FramerateControlSpecified is a Vp8FramerateControl enum value
 34972  	Vp8FramerateControlSpecified = "SPECIFIED"
 34973  )
 34974  
 34975  // Vp8FramerateControl_Values returns all elements of the Vp8FramerateControl enum
 34976  func Vp8FramerateControl_Values() []string {
 34977  	return []string{
 34978  		Vp8FramerateControlInitializeFromSource,
 34979  		Vp8FramerateControlSpecified,
 34980  	}
 34981  }
 34982  
 34983  // Choose the method that you want MediaConvert to use when increasing or decreasing
 34984  // the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 34985  // simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 34986  // you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 34987  // smooth picture, but might introduce undesirable video artifacts. For complex
 34988  // frame rate conversions, especially if your source video has already been
 34989  // converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 34990  // motion-compensated interpolation. FrameFormer chooses the best conversion
 34991  // method frame by frame. Note that using FrameFormer increases the transcoding
 34992  // time and incurs a significant add-on cost.
 34993  const (
 34994  	// Vp8FramerateConversionAlgorithmDuplicateDrop is a Vp8FramerateConversionAlgorithm enum value
 34995  	Vp8FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP"
 34996  
 34997  	// Vp8FramerateConversionAlgorithmInterpolate is a Vp8FramerateConversionAlgorithm enum value
 34998  	Vp8FramerateConversionAlgorithmInterpolate = "INTERPOLATE"
 34999  
 35000  	// Vp8FramerateConversionAlgorithmFrameformer is a Vp8FramerateConversionAlgorithm enum value
 35001  	Vp8FramerateConversionAlgorithmFrameformer = "FRAMEFORMER"
 35002  )
 35003  
 35004  // Vp8FramerateConversionAlgorithm_Values returns all elements of the Vp8FramerateConversionAlgorithm enum
 35005  func Vp8FramerateConversionAlgorithm_Values() []string {
 35006  	return []string{
 35007  		Vp8FramerateConversionAlgorithmDuplicateDrop,
 35008  		Vp8FramerateConversionAlgorithmInterpolate,
 35009  		Vp8FramerateConversionAlgorithmFrameformer,
 35010  	}
 35011  }
 35012  
 35013  // Optional. Specify how the service determines the pixel aspect ratio (PAR)
 35014  // for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE),
 35015  // uses the PAR from your input video for your output. To specify a different
 35016  // PAR in the console, choose any value other than Follow source. To specify
 35017  // a different PAR by editing the JSON job specification, choose SPECIFIED.
 35018  // When you choose SPECIFIED for this setting, you must also specify values
 35019  // for the parNumerator and parDenominator settings.
 35020  const (
 35021  	// Vp8ParControlInitializeFromSource is a Vp8ParControl enum value
 35022  	Vp8ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 35023  
 35024  	// Vp8ParControlSpecified is a Vp8ParControl enum value
 35025  	Vp8ParControlSpecified = "SPECIFIED"
 35026  )
 35027  
 35028  // Vp8ParControl_Values returns all elements of the Vp8ParControl enum
 35029  func Vp8ParControl_Values() []string {
 35030  	return []string{
 35031  		Vp8ParControlInitializeFromSource,
 35032  		Vp8ParControlSpecified,
 35033  	}
 35034  }
 35035  
 35036  // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you
 35037  // want to trade off encoding speed for output video quality. The default behavior
 35038  // is faster, lower quality, multi-pass encoding.
 35039  const (
 35040  	// Vp8QualityTuningLevelMultiPass is a Vp8QualityTuningLevel enum value
 35041  	Vp8QualityTuningLevelMultiPass = "MULTI_PASS"
 35042  
 35043  	// Vp8QualityTuningLevelMultiPassHq is a Vp8QualityTuningLevel enum value
 35044  	Vp8QualityTuningLevelMultiPassHq = "MULTI_PASS_HQ"
 35045  )
 35046  
 35047  // Vp8QualityTuningLevel_Values returns all elements of the Vp8QualityTuningLevel enum
 35048  func Vp8QualityTuningLevel_Values() []string {
 35049  	return []string{
 35050  		Vp8QualityTuningLevelMultiPass,
 35051  		Vp8QualityTuningLevelMultiPassHq,
 35052  	}
 35053  }
 35054  
 35055  // With the VP8 codec, you can use only the variable bitrate (VBR) rate control
 35056  // mode.
 35057  const (
 35058  	// Vp8RateControlModeVbr is a Vp8RateControlMode enum value
 35059  	Vp8RateControlModeVbr = "VBR"
 35060  )
 35061  
 35062  // Vp8RateControlMode_Values returns all elements of the Vp8RateControlMode enum
 35063  func Vp8RateControlMode_Values() []string {
 35064  	return []string{
 35065  		Vp8RateControlModeVbr,
 35066  	}
 35067  }
 35068  
 35069  // If you are using the console, use the Framerate setting to specify the frame
 35070  // rate for this output. If you want to keep the same frame rate as the input
 35071  // video, choose Follow source. If you want to do frame rate conversion, choose
 35072  // a frame rate from the dropdown list or choose Custom. The framerates shown
 35073  // in the dropdown list are decimal approximations of fractions. If you choose
 35074  // Custom, specify your frame rate as a fraction. If you are creating your transcoding
 35075  // job specification as a JSON file without the console, use FramerateControl
 35076  // to specify which value the service uses for the frame rate for this output.
 35077  // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 35078  // from the input. Choose SPECIFIED if you want the service to use the frame
 35079  // rate you specify in the settings FramerateNumerator and FramerateDenominator.
 35080  const (
 35081  	// Vp9FramerateControlInitializeFromSource is a Vp9FramerateControl enum value
 35082  	Vp9FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 35083  
 35084  	// Vp9FramerateControlSpecified is a Vp9FramerateControl enum value
 35085  	Vp9FramerateControlSpecified = "SPECIFIED"
 35086  )
 35087  
 35088  // Vp9FramerateControl_Values returns all elements of the Vp9FramerateControl enum
 35089  func Vp9FramerateControl_Values() []string {
 35090  	return []string{
 35091  		Vp9FramerateControlInitializeFromSource,
 35092  		Vp9FramerateControlSpecified,
 35093  	}
 35094  }
 35095  
 35096  // Choose the method that you want MediaConvert to use when increasing or decreasing
 35097  // the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 35098  // simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 35099  // you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 35100  // smooth picture, but might introduce undesirable video artifacts. For complex
 35101  // frame rate conversions, especially if your source video has already been
 35102  // converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 35103  // motion-compensated interpolation. FrameFormer chooses the best conversion
 35104  // method frame by frame. Note that using FrameFormer increases the transcoding
 35105  // time and incurs a significant add-on cost.
 35106  const (
 35107  	// Vp9FramerateConversionAlgorithmDuplicateDrop is a Vp9FramerateConversionAlgorithm enum value
 35108  	Vp9FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP"
 35109  
 35110  	// Vp9FramerateConversionAlgorithmInterpolate is a Vp9FramerateConversionAlgorithm enum value
 35111  	Vp9FramerateConversionAlgorithmInterpolate = "INTERPOLATE"
 35112  
 35113  	// Vp9FramerateConversionAlgorithmFrameformer is a Vp9FramerateConversionAlgorithm enum value
 35114  	Vp9FramerateConversionAlgorithmFrameformer = "FRAMEFORMER"
 35115  )
 35116  
 35117  // Vp9FramerateConversionAlgorithm_Values returns all elements of the Vp9FramerateConversionAlgorithm enum
 35118  func Vp9FramerateConversionAlgorithm_Values() []string {
 35119  	return []string{
 35120  		Vp9FramerateConversionAlgorithmDuplicateDrop,
 35121  		Vp9FramerateConversionAlgorithmInterpolate,
 35122  		Vp9FramerateConversionAlgorithmFrameformer,
 35123  	}
 35124  }
 35125  
 35126  // Optional. Specify how the service determines the pixel aspect ratio (PAR)
 35127  // for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE),
 35128  // uses the PAR from your input video for your output. To specify a different
 35129  // PAR in the console, choose any value other than Follow source. To specify
 35130  // a different PAR by editing the JSON job specification, choose SPECIFIED.
 35131  // When you choose SPECIFIED for this setting, you must also specify values
 35132  // for the parNumerator and parDenominator settings.
 35133  const (
 35134  	// Vp9ParControlInitializeFromSource is a Vp9ParControl enum value
 35135  	Vp9ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 35136  
 35137  	// Vp9ParControlSpecified is a Vp9ParControl enum value
 35138  	Vp9ParControlSpecified = "SPECIFIED"
 35139  )
 35140  
 35141  // Vp9ParControl_Values returns all elements of the Vp9ParControl enum
 35142  func Vp9ParControl_Values() []string {
 35143  	return []string{
 35144  		Vp9ParControlInitializeFromSource,
 35145  		Vp9ParControlSpecified,
 35146  	}
 35147  }
 35148  
 35149  // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you
 35150  // want to trade off encoding speed for output video quality. The default behavior
 35151  // is faster, lower quality, multi-pass encoding.
 35152  const (
 35153  	// Vp9QualityTuningLevelMultiPass is a Vp9QualityTuningLevel enum value
 35154  	Vp9QualityTuningLevelMultiPass = "MULTI_PASS"
 35155  
 35156  	// Vp9QualityTuningLevelMultiPassHq is a Vp9QualityTuningLevel enum value
 35157  	Vp9QualityTuningLevelMultiPassHq = "MULTI_PASS_HQ"
 35158  )
 35159  
 35160  // Vp9QualityTuningLevel_Values returns all elements of the Vp9QualityTuningLevel enum
 35161  func Vp9QualityTuningLevel_Values() []string {
 35162  	return []string{
 35163  		Vp9QualityTuningLevelMultiPass,
 35164  		Vp9QualityTuningLevelMultiPassHq,
 35165  	}
 35166  }
 35167  
 35168  // With the VP9 codec, you can use only the variable bitrate (VBR) rate control
 35169  // mode.
 35170  const (
 35171  	// Vp9RateControlModeVbr is a Vp9RateControlMode enum value
 35172  	Vp9RateControlModeVbr = "VBR"
 35173  )
 35174  
 35175  // Vp9RateControlMode_Values returns all elements of the Vp9RateControlMode enum
 35176  func Vp9RateControlMode_Values() []string {
 35177  	return []string{
 35178  		Vp9RateControlModeVbr,
 35179  	}
 35180  }
 35181  
 35182  // Optional. Ignore this setting unless Nagra support directs you to specify
 35183  // a value. When you don't specify a value here, the Nagra NexGuard library
 35184  // uses its default value.
 35185  const (
 35186  	// WatermarkingStrengthLightest is a WatermarkingStrength enum value
 35187  	WatermarkingStrengthLightest = "LIGHTEST"
 35188  
 35189  	// WatermarkingStrengthLighter is a WatermarkingStrength enum value
 35190  	WatermarkingStrengthLighter = "LIGHTER"
 35191  
 35192  	// WatermarkingStrengthDefault is a WatermarkingStrength enum value
 35193  	WatermarkingStrengthDefault = "DEFAULT"
 35194  
 35195  	// WatermarkingStrengthStronger is a WatermarkingStrength enum value
 35196  	WatermarkingStrengthStronger = "STRONGER"
 35197  
 35198  	// WatermarkingStrengthStrongest is a WatermarkingStrength enum value
 35199  	WatermarkingStrengthStrongest = "STRONGEST"
 35200  )
 35201  
 35202  // WatermarkingStrength_Values returns all elements of the WatermarkingStrength enum
 35203  func WatermarkingStrength_Values() []string {
 35204  	return []string{
 35205  		WatermarkingStrengthLightest,
 35206  		WatermarkingStrengthLighter,
 35207  		WatermarkingStrengthDefault,
 35208  		WatermarkingStrengthStronger,
 35209  		WatermarkingStrengthStrongest,
 35210  	}
 35211  }
 35212  
 35213  // The service defaults to using RIFF for WAV outputs. If your output audio
 35214  // is likely to exceed 4 GB in file size, or if you otherwise need the extended
 35215  // support of the RF64 format, set your output WAV file format to RF64.
 35216  const (
 35217  	// WavFormatRiff is a WavFormat enum value
 35218  	WavFormatRiff = "RIFF"
 35219  
 35220  	// WavFormatRf64 is a WavFormat enum value
 35221  	WavFormatRf64 = "RF64"
 35222  )
 35223  
 35224  // WavFormat_Values returns all elements of the WavFormat enum
 35225  func WavFormat_Values() []string {
 35226  	return []string{
 35227  		WavFormatRiff,
 35228  		WavFormatRf64,
 35229  	}
 35230  }
 35231  
 35232  // Choose Enabled (ENABLED) to have MediaConvert use the font style, color,
 35233  // and position information from the captions source in the input. Keep the
 35234  // default value, Disabled (DISABLED), for simplified output captions.
 35235  const (
 35236  	// WebvttStylePassthroughEnabled is a WebvttStylePassthrough enum value
 35237  	WebvttStylePassthroughEnabled = "ENABLED"
 35238  
 35239  	// WebvttStylePassthroughDisabled is a WebvttStylePassthrough enum value
 35240  	WebvttStylePassthroughDisabled = "DISABLED"
 35241  )
 35242  
 35243  // WebvttStylePassthrough_Values returns all elements of the WebvttStylePassthrough enum
 35244  func WebvttStylePassthrough_Values() []string {
 35245  	return []string{
 35246  		WebvttStylePassthroughEnabled,
 35247  		WebvttStylePassthroughDisabled,
 35248  	}
 35249  }
 35250  
 35251  // Specify the XAVC Intra 4k (CBG) Class to set the bitrate of your output.
 35252  // Outputs of the same class have similar image quality over the operating points
 35253  // that are valid for that class.
 35254  const (
 35255  	// Xavc4kIntraCbgProfileClassClass100 is a Xavc4kIntraCbgProfileClass enum value
 35256  	Xavc4kIntraCbgProfileClassClass100 = "CLASS_100"
 35257  
 35258  	// Xavc4kIntraCbgProfileClassClass300 is a Xavc4kIntraCbgProfileClass enum value
 35259  	Xavc4kIntraCbgProfileClassClass300 = "CLASS_300"
 35260  
 35261  	// Xavc4kIntraCbgProfileClassClass480 is a Xavc4kIntraCbgProfileClass enum value
 35262  	Xavc4kIntraCbgProfileClassClass480 = "CLASS_480"
 35263  )
 35264  
 35265  // Xavc4kIntraCbgProfileClass_Values returns all elements of the Xavc4kIntraCbgProfileClass enum
 35266  func Xavc4kIntraCbgProfileClass_Values() []string {
 35267  	return []string{
 35268  		Xavc4kIntraCbgProfileClassClass100,
 35269  		Xavc4kIntraCbgProfileClassClass300,
 35270  		Xavc4kIntraCbgProfileClassClass480,
 35271  	}
 35272  }
 35273  
 35274  // Specify the XAVC Intra 4k (VBR) Class to set the bitrate of your output.
 35275  // Outputs of the same class have similar image quality over the operating points
 35276  // that are valid for that class.
 35277  const (
 35278  	// Xavc4kIntraVbrProfileClassClass100 is a Xavc4kIntraVbrProfileClass enum value
 35279  	Xavc4kIntraVbrProfileClassClass100 = "CLASS_100"
 35280  
 35281  	// Xavc4kIntraVbrProfileClassClass300 is a Xavc4kIntraVbrProfileClass enum value
 35282  	Xavc4kIntraVbrProfileClassClass300 = "CLASS_300"
 35283  
 35284  	// Xavc4kIntraVbrProfileClassClass480 is a Xavc4kIntraVbrProfileClass enum value
 35285  	Xavc4kIntraVbrProfileClassClass480 = "CLASS_480"
 35286  )
 35287  
 35288  // Xavc4kIntraVbrProfileClass_Values returns all elements of the Xavc4kIntraVbrProfileClass enum
 35289  func Xavc4kIntraVbrProfileClass_Values() []string {
 35290  	return []string{
 35291  		Xavc4kIntraVbrProfileClassClass100,
 35292  		Xavc4kIntraVbrProfileClassClass300,
 35293  		Xavc4kIntraVbrProfileClassClass480,
 35294  	}
 35295  }
 35296  
 35297  // Specify the XAVC 4k (Long GOP) Bitrate Class to set the bitrate of your output.
 35298  // Outputs of the same class have similar image quality over the operating points
 35299  // that are valid for that class.
 35300  const (
 35301  	// Xavc4kProfileBitrateClassBitrateClass100 is a Xavc4kProfileBitrateClass enum value
 35302  	Xavc4kProfileBitrateClassBitrateClass100 = "BITRATE_CLASS_100"
 35303  
 35304  	// Xavc4kProfileBitrateClassBitrateClass140 is a Xavc4kProfileBitrateClass enum value
 35305  	Xavc4kProfileBitrateClassBitrateClass140 = "BITRATE_CLASS_140"
 35306  
 35307  	// Xavc4kProfileBitrateClassBitrateClass200 is a Xavc4kProfileBitrateClass enum value
 35308  	Xavc4kProfileBitrateClassBitrateClass200 = "BITRATE_CLASS_200"
 35309  )
 35310  
 35311  // Xavc4kProfileBitrateClass_Values returns all elements of the Xavc4kProfileBitrateClass enum
 35312  func Xavc4kProfileBitrateClass_Values() []string {
 35313  	return []string{
 35314  		Xavc4kProfileBitrateClassBitrateClass100,
 35315  		Xavc4kProfileBitrateClassBitrateClass140,
 35316  		Xavc4kProfileBitrateClassBitrateClass200,
 35317  	}
 35318  }
 35319  
 35320  // Specify the codec profile for this output. Choose High, 8-bit, 4:2:0 (HIGH)
 35321  // or High, 10-bit, 4:2:2 (HIGH_422). These profiles are specified in ITU-T
 35322  // H.264.
 35323  const (
 35324  	// Xavc4kProfileCodecProfileHigh is a Xavc4kProfileCodecProfile enum value
 35325  	Xavc4kProfileCodecProfileHigh = "HIGH"
 35326  
 35327  	// Xavc4kProfileCodecProfileHigh422 is a Xavc4kProfileCodecProfile enum value
 35328  	Xavc4kProfileCodecProfileHigh422 = "HIGH_422"
 35329  )
 35330  
 35331  // Xavc4kProfileCodecProfile_Values returns all elements of the Xavc4kProfileCodecProfile enum
 35332  func Xavc4kProfileCodecProfile_Values() []string {
 35333  	return []string{
 35334  		Xavc4kProfileCodecProfileHigh,
 35335  		Xavc4kProfileCodecProfileHigh422,
 35336  	}
 35337  }
 35338  
 35339  // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you
 35340  // want to trade off encoding speed for output video quality. The default behavior
 35341  // is faster, lower quality, single-pass encoding.
 35342  const (
 35343  	// Xavc4kProfileQualityTuningLevelSinglePass is a Xavc4kProfileQualityTuningLevel enum value
 35344  	Xavc4kProfileQualityTuningLevelSinglePass = "SINGLE_PASS"
 35345  
 35346  	// Xavc4kProfileQualityTuningLevelSinglePassHq is a Xavc4kProfileQualityTuningLevel enum value
 35347  	Xavc4kProfileQualityTuningLevelSinglePassHq = "SINGLE_PASS_HQ"
 35348  
 35349  	// Xavc4kProfileQualityTuningLevelMultiPassHq is a Xavc4kProfileQualityTuningLevel enum value
 35350  	Xavc4kProfileQualityTuningLevelMultiPassHq = "MULTI_PASS_HQ"
 35351  )
 35352  
 35353  // Xavc4kProfileQualityTuningLevel_Values returns all elements of the Xavc4kProfileQualityTuningLevel enum
 35354  func Xavc4kProfileQualityTuningLevel_Values() []string {
 35355  	return []string{
 35356  		Xavc4kProfileQualityTuningLevelSinglePass,
 35357  		Xavc4kProfileQualityTuningLevelSinglePassHq,
 35358  		Xavc4kProfileQualityTuningLevelMultiPassHq,
 35359  	}
 35360  }
 35361  
 35362  // Keep the default value, Auto (AUTO), for this setting to have MediaConvert
 35363  // automatically apply the best types of quantization for your video content.
 35364  // When you want to apply your quantization settings manually, you must set
 35365  // Adaptive quantization (adaptiveQuantization) to a value other than Auto (AUTO).
 35366  // Use this setting to specify the strength of any adaptive quantization filters
 35367  // that you enable. If you don't want MediaConvert to do any adaptive quantization
 35368  // in this transcode, set Adaptive quantization to Off (OFF). Related settings:
 35369  // The value that you choose here applies to the following settings: Flicker
 35370  // adaptive quantization (flickerAdaptiveQuantization), Spatial adaptive quantization
 35371  // (spatialAdaptiveQuantization), and Temporal adaptive quantization (temporalAdaptiveQuantization).
 35372  const (
 35373  	// XavcAdaptiveQuantizationOff is a XavcAdaptiveQuantization enum value
 35374  	XavcAdaptiveQuantizationOff = "OFF"
 35375  
 35376  	// XavcAdaptiveQuantizationAuto is a XavcAdaptiveQuantization enum value
 35377  	XavcAdaptiveQuantizationAuto = "AUTO"
 35378  
 35379  	// XavcAdaptiveQuantizationLow is a XavcAdaptiveQuantization enum value
 35380  	XavcAdaptiveQuantizationLow = "LOW"
 35381  
 35382  	// XavcAdaptiveQuantizationMedium is a XavcAdaptiveQuantization enum value
 35383  	XavcAdaptiveQuantizationMedium = "MEDIUM"
 35384  
 35385  	// XavcAdaptiveQuantizationHigh is a XavcAdaptiveQuantization enum value
 35386  	XavcAdaptiveQuantizationHigh = "HIGH"
 35387  
 35388  	// XavcAdaptiveQuantizationHigher is a XavcAdaptiveQuantization enum value
 35389  	XavcAdaptiveQuantizationHigher = "HIGHER"
 35390  
 35391  	// XavcAdaptiveQuantizationMax is a XavcAdaptiveQuantization enum value
 35392  	XavcAdaptiveQuantizationMax = "MAX"
 35393  )
 35394  
 35395  // XavcAdaptiveQuantization_Values returns all elements of the XavcAdaptiveQuantization enum
 35396  func XavcAdaptiveQuantization_Values() []string {
 35397  	return []string{
 35398  		XavcAdaptiveQuantizationOff,
 35399  		XavcAdaptiveQuantizationAuto,
 35400  		XavcAdaptiveQuantizationLow,
 35401  		XavcAdaptiveQuantizationMedium,
 35402  		XavcAdaptiveQuantizationHigh,
 35403  		XavcAdaptiveQuantizationHigher,
 35404  		XavcAdaptiveQuantizationMax,
 35405  	}
 35406  }
 35407  
 35408  // Optional. Choose a specific entropy encoding mode only when you want to override
 35409  // XAVC recommendations. If you choose the value auto, MediaConvert uses the
 35410  // mode that the XAVC file format specifies given this output's operating point.
 35411  const (
 35412  	// XavcEntropyEncodingAuto is a XavcEntropyEncoding enum value
 35413  	XavcEntropyEncodingAuto = "AUTO"
 35414  
 35415  	// XavcEntropyEncodingCabac is a XavcEntropyEncoding enum value
 35416  	XavcEntropyEncodingCabac = "CABAC"
 35417  
 35418  	// XavcEntropyEncodingCavlc is a XavcEntropyEncoding enum value
 35419  	XavcEntropyEncodingCavlc = "CAVLC"
 35420  )
 35421  
 35422  // XavcEntropyEncoding_Values returns all elements of the XavcEntropyEncoding enum
 35423  func XavcEntropyEncoding_Values() []string {
 35424  	return []string{
 35425  		XavcEntropyEncodingAuto,
 35426  		XavcEntropyEncodingCabac,
 35427  		XavcEntropyEncodingCavlc,
 35428  	}
 35429  }
 35430  
 35431  // The best way to set up adaptive quantization is to keep the default value,
 35432  // Auto (AUTO), for the setting Adaptive quantization (XavcAdaptiveQuantization).
 35433  // When you do so, MediaConvert automatically applies the best types of quantization
 35434  // for your video content. Include this setting in your JSON job specification
 35435  // only when you choose to change the default value for Adaptive quantization.
 35436  // Enable this setting to have the encoder reduce I-frame pop. I-frame pop appears
 35437  // as a visual flicker that can arise when the encoder saves bits by copying
 35438  // some macroblocks many times from frame to frame, and then refreshes them
 35439  // at the I-frame. When you enable this setting, the encoder updates these macroblocks
 35440  // slightly more often to smooth out the flicker. This setting is disabled by
 35441  // default. Related setting: In addition to enabling this setting, you must
 35442  // also set Adaptive quantization (adaptiveQuantization) to a value other than
 35443  // Off (OFF) or Auto (AUTO). Use Adaptive quantization to adjust the degree
 35444  // of smoothing that Flicker adaptive quantization provides.
 35445  const (
 35446  	// XavcFlickerAdaptiveQuantizationDisabled is a XavcFlickerAdaptiveQuantization enum value
 35447  	XavcFlickerAdaptiveQuantizationDisabled = "DISABLED"
 35448  
 35449  	// XavcFlickerAdaptiveQuantizationEnabled is a XavcFlickerAdaptiveQuantization enum value
 35450  	XavcFlickerAdaptiveQuantizationEnabled = "ENABLED"
 35451  )
 35452  
 35453  // XavcFlickerAdaptiveQuantization_Values returns all elements of the XavcFlickerAdaptiveQuantization enum
 35454  func XavcFlickerAdaptiveQuantization_Values() []string {
 35455  	return []string{
 35456  		XavcFlickerAdaptiveQuantizationDisabled,
 35457  		XavcFlickerAdaptiveQuantizationEnabled,
 35458  	}
 35459  }
 35460  
 35461  // If you are using the console, use the Frame rate setting to specify the frame
 35462  // rate for this output. If you want to keep the same frame rate as the input
 35463  // video, choose Follow source. If you want to do frame rate conversion, choose
 35464  // a frame rate from the dropdown list. The framerates shown in the dropdown
 35465  // list are decimal approximations of fractions. If you are creating your transcoding
 35466  // job specification as a JSON file without the console, use FramerateControl
 35467  // to specify which value the service uses for the frame rate for this output.
 35468  // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate
 35469  // from the input. Choose SPECIFIED if you want the service to use the frame
 35470  // rate that you specify in the settings FramerateNumerator and FramerateDenominator.
 35471  const (
 35472  	// XavcFramerateControlInitializeFromSource is a XavcFramerateControl enum value
 35473  	XavcFramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
 35474  
 35475  	// XavcFramerateControlSpecified is a XavcFramerateControl enum value
 35476  	XavcFramerateControlSpecified = "SPECIFIED"
 35477  )
 35478  
 35479  // XavcFramerateControl_Values returns all elements of the XavcFramerateControl enum
 35480  func XavcFramerateControl_Values() []string {
 35481  	return []string{
 35482  		XavcFramerateControlInitializeFromSource,
 35483  		XavcFramerateControlSpecified,
 35484  	}
 35485  }
 35486  
 35487  // Choose the method that you want MediaConvert to use when increasing or decreasing
 35488  // the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically
 35489  // simple conversions, such as 60 fps to 30 fps. For numerically complex conversions,
 35490  // you can use interpolate (INTERPOLATE) to avoid stutter. This results in a
 35491  // smooth picture, but might introduce undesirable video artifacts. For complex
 35492  // frame rate conversions, especially if your source video has already been
 35493  // converted from its original cadence, use FrameFormer (FRAMEFORMER) to do
 35494  // motion-compensated interpolation. FrameFormer chooses the best conversion
 35495  // method frame by frame. Note that using FrameFormer increases the transcoding
 35496  // time and incurs a significant add-on cost.
 35497  const (
 35498  	// XavcFramerateConversionAlgorithmDuplicateDrop is a XavcFramerateConversionAlgorithm enum value
 35499  	XavcFramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP"
 35500  
 35501  	// XavcFramerateConversionAlgorithmInterpolate is a XavcFramerateConversionAlgorithm enum value
 35502  	XavcFramerateConversionAlgorithmInterpolate = "INTERPOLATE"
 35503  
 35504  	// XavcFramerateConversionAlgorithmFrameformer is a XavcFramerateConversionAlgorithm enum value
 35505  	XavcFramerateConversionAlgorithmFrameformer = "FRAMEFORMER"
 35506  )
 35507  
 35508  // XavcFramerateConversionAlgorithm_Values returns all elements of the XavcFramerateConversionAlgorithm enum
 35509  func XavcFramerateConversionAlgorithm_Values() []string {
 35510  	return []string{
 35511  		XavcFramerateConversionAlgorithmDuplicateDrop,
 35512  		XavcFramerateConversionAlgorithmInterpolate,
 35513  		XavcFramerateConversionAlgorithmFrameformer,
 35514  	}
 35515  }
 35516  
 35517  // Specify whether the encoder uses B-frames as reference frames for other pictures
 35518  // in the same GOP. Choose Allow (ENABLED) to allow the encoder to use B-frames
 35519  // as reference frames. Choose Don't allow (DISABLED) to prevent the encoder
 35520  // from using B-frames as reference frames.
 35521  const (
 35522  	// XavcGopBReferenceDisabled is a XavcGopBReference enum value
 35523  	XavcGopBReferenceDisabled = "DISABLED"
 35524  
 35525  	// XavcGopBReferenceEnabled is a XavcGopBReference enum value
 35526  	XavcGopBReferenceEnabled = "ENABLED"
 35527  )
 35528  
 35529  // XavcGopBReference_Values returns all elements of the XavcGopBReference enum
 35530  func XavcGopBReference_Values() []string {
 35531  	return []string{
 35532  		XavcGopBReferenceDisabled,
 35533  		XavcGopBReferenceEnabled,
 35534  	}
 35535  }
 35536  
 35537  // Specify the XAVC Intra HD (CBG) Class to set the bitrate of your output.
 35538  // Outputs of the same class have similar image quality over the operating points
 35539  // that are valid for that class.
 35540  const (
 35541  	// XavcHdIntraCbgProfileClassClass50 is a XavcHdIntraCbgProfileClass enum value
 35542  	XavcHdIntraCbgProfileClassClass50 = "CLASS_50"
 35543  
 35544  	// XavcHdIntraCbgProfileClassClass100 is a XavcHdIntraCbgProfileClass enum value
 35545  	XavcHdIntraCbgProfileClassClass100 = "CLASS_100"
 35546  
 35547  	// XavcHdIntraCbgProfileClassClass200 is a XavcHdIntraCbgProfileClass enum value
 35548  	XavcHdIntraCbgProfileClassClass200 = "CLASS_200"
 35549  )
 35550  
 35551  // XavcHdIntraCbgProfileClass_Values returns all elements of the XavcHdIntraCbgProfileClass enum
 35552  func XavcHdIntraCbgProfileClass_Values() []string {
 35553  	return []string{
 35554  		XavcHdIntraCbgProfileClassClass50,
 35555  		XavcHdIntraCbgProfileClassClass100,
 35556  		XavcHdIntraCbgProfileClassClass200,
 35557  	}
 35558  }
 35559  
 35560  // Specify the XAVC HD (Long GOP) Bitrate Class to set the bitrate of your output.
 35561  // Outputs of the same class have similar image quality over the operating points
 35562  // that are valid for that class.
 35563  const (
 35564  	// XavcHdProfileBitrateClassBitrateClass25 is a XavcHdProfileBitrateClass enum value
 35565  	XavcHdProfileBitrateClassBitrateClass25 = "BITRATE_CLASS_25"
 35566  
 35567  	// XavcHdProfileBitrateClassBitrateClass35 is a XavcHdProfileBitrateClass enum value
 35568  	XavcHdProfileBitrateClassBitrateClass35 = "BITRATE_CLASS_35"
 35569  
 35570  	// XavcHdProfileBitrateClassBitrateClass50 is a XavcHdProfileBitrateClass enum value
 35571  	XavcHdProfileBitrateClassBitrateClass50 = "BITRATE_CLASS_50"
 35572  )
 35573  
 35574  // XavcHdProfileBitrateClass_Values returns all elements of the XavcHdProfileBitrateClass enum
 35575  func XavcHdProfileBitrateClass_Values() []string {
 35576  	return []string{
 35577  		XavcHdProfileBitrateClassBitrateClass25,
 35578  		XavcHdProfileBitrateClassBitrateClass35,
 35579  		XavcHdProfileBitrateClassBitrateClass50,
 35580  	}
 35581  }
 35582  
 35583  // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you
 35584  // want to trade off encoding speed for output video quality. The default behavior
 35585  // is faster, lower quality, single-pass encoding.
 35586  const (
 35587  	// XavcHdProfileQualityTuningLevelSinglePass is a XavcHdProfileQualityTuningLevel enum value
 35588  	XavcHdProfileQualityTuningLevelSinglePass = "SINGLE_PASS"
 35589  
 35590  	// XavcHdProfileQualityTuningLevelSinglePassHq is a XavcHdProfileQualityTuningLevel enum value
 35591  	XavcHdProfileQualityTuningLevelSinglePassHq = "SINGLE_PASS_HQ"
 35592  
 35593  	// XavcHdProfileQualityTuningLevelMultiPassHq is a XavcHdProfileQualityTuningLevel enum value
 35594  	XavcHdProfileQualityTuningLevelMultiPassHq = "MULTI_PASS_HQ"
 35595  )
 35596  
 35597  // XavcHdProfileQualityTuningLevel_Values returns all elements of the XavcHdProfileQualityTuningLevel enum
 35598  func XavcHdProfileQualityTuningLevel_Values() []string {
 35599  	return []string{
 35600  		XavcHdProfileQualityTuningLevelSinglePass,
 35601  		XavcHdProfileQualityTuningLevelSinglePassHq,
 35602  		XavcHdProfileQualityTuningLevelMultiPassHq,
 35603  	}
 35604  }
 35605  
 35606  // Ignore this setting unless you set Frame rate (framerateNumerator divided
 35607  // by framerateDenominator) to 29.970. If your input framerate is 23.976, choose
 35608  // Hard (HARD). Otherwise, keep the default value None (NONE). For more information,
 35609  // see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-telecine-and-inverse-telecine.html.
 35610  const (
 35611  	// XavcHdProfileTelecineNone is a XavcHdProfileTelecine enum value
 35612  	XavcHdProfileTelecineNone = "NONE"
 35613  
 35614  	// XavcHdProfileTelecineHard is a XavcHdProfileTelecine enum value
 35615  	XavcHdProfileTelecineHard = "HARD"
 35616  )
 35617  
 35618  // XavcHdProfileTelecine_Values returns all elements of the XavcHdProfileTelecine enum
 35619  func XavcHdProfileTelecine_Values() []string {
 35620  	return []string{
 35621  		XavcHdProfileTelecineNone,
 35622  		XavcHdProfileTelecineHard,
 35623  	}
 35624  }
 35625  
 35626  // Choose the scan line type for the output. Keep the default value, Progressive
 35627  // (PROGRESSIVE) to create a progressive output, regardless of the scan type
 35628  // of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD)
 35629  // to create an output that's interlaced with the same field polarity throughout.
 35630  // Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD)
 35631  // to produce outputs with the same field polarity as the source. For jobs that
 35632  // have multiple inputs, the output field polarity might change over the course
 35633  // of the output. Follow behavior depends on the input scan type. If the source
 35634  // is interlaced, the output will be interlaced with the same polarity as the
 35635  // source. If the source is progressive, the output will be interlaced with
 35636  // top field bottom field first, depending on which of the Follow options you
 35637  // choose.
 35638  const (
 35639  	// XavcInterlaceModeProgressive is a XavcInterlaceMode enum value
 35640  	XavcInterlaceModeProgressive = "PROGRESSIVE"
 35641  
 35642  	// XavcInterlaceModeTopField is a XavcInterlaceMode enum value
 35643  	XavcInterlaceModeTopField = "TOP_FIELD"
 35644  
 35645  	// XavcInterlaceModeBottomField is a XavcInterlaceMode enum value
 35646  	XavcInterlaceModeBottomField = "BOTTOM_FIELD"
 35647  
 35648  	// XavcInterlaceModeFollowTopField is a XavcInterlaceMode enum value
 35649  	XavcInterlaceModeFollowTopField = "FOLLOW_TOP_FIELD"
 35650  
 35651  	// XavcInterlaceModeFollowBottomField is a XavcInterlaceMode enum value
 35652  	XavcInterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD"
 35653  )
 35654  
 35655  // XavcInterlaceMode_Values returns all elements of the XavcInterlaceMode enum
 35656  func XavcInterlaceMode_Values() []string {
 35657  	return []string{
 35658  		XavcInterlaceModeProgressive,
 35659  		XavcInterlaceModeTopField,
 35660  		XavcInterlaceModeBottomField,
 35661  		XavcInterlaceModeFollowTopField,
 35662  		XavcInterlaceModeFollowBottomField,
 35663  	}
 35664  }
 35665  
 35666  // Specify the XAVC profile for this output. For more information, see the Sony
 35667  // documentation at https://www.xavc-info.org/. Note that MediaConvert doesn't
 35668  // support the interlaced video XAVC operating points for XAVC_HD_INTRA_CBG.
 35669  // To create an interlaced XAVC output, choose the profile XAVC_HD.
 35670  const (
 35671  	// XavcProfileXavcHdIntraCbg is a XavcProfile enum value
 35672  	XavcProfileXavcHdIntraCbg = "XAVC_HD_INTRA_CBG"
 35673  
 35674  	// XavcProfileXavc4kIntraCbg is a XavcProfile enum value
 35675  	XavcProfileXavc4kIntraCbg = "XAVC_4K_INTRA_CBG"
 35676  
 35677  	// XavcProfileXavc4kIntraVbr is a XavcProfile enum value
 35678  	XavcProfileXavc4kIntraVbr = "XAVC_4K_INTRA_VBR"
 35679  
 35680  	// XavcProfileXavcHd is a XavcProfile enum value
 35681  	XavcProfileXavcHd = "XAVC_HD"
 35682  
 35683  	// XavcProfileXavc4k is a XavcProfile enum value
 35684  	XavcProfileXavc4k = "XAVC_4K"
 35685  )
 35686  
 35687  // XavcProfile_Values returns all elements of the XavcProfile enum
 35688  func XavcProfile_Values() []string {
 35689  	return []string{
 35690  		XavcProfileXavcHdIntraCbg,
 35691  		XavcProfileXavc4kIntraCbg,
 35692  		XavcProfileXavc4kIntraVbr,
 35693  		XavcProfileXavcHd,
 35694  		XavcProfileXavc4k,
 35695  	}
 35696  }
 35697  
 35698  // Ignore this setting unless your input frame rate is 23.976 or 24 frames per
 35699  // second (fps). Enable slow PAL to create a 25 fps output by relabeling the
 35700  // video frames and resampling your audio. Note that enabling this setting will
 35701  // slightly reduce the duration of your video. Related settings: You must also
 35702  // set Frame rate to 25. In your JSON job specification, set (framerateControl)
 35703  // to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to
 35704  // 1.
 35705  const (
 35706  	// XavcSlowPalDisabled is a XavcSlowPal enum value
 35707  	XavcSlowPalDisabled = "DISABLED"
 35708  
 35709  	// XavcSlowPalEnabled is a XavcSlowPal enum value
 35710  	XavcSlowPalEnabled = "ENABLED"
 35711  )
 35712  
 35713  // XavcSlowPal_Values returns all elements of the XavcSlowPal enum
 35714  func XavcSlowPal_Values() []string {
 35715  	return []string{
 35716  		XavcSlowPalDisabled,
 35717  		XavcSlowPalEnabled,
 35718  	}
 35719  }
 35720  
 35721  // The best way to set up adaptive quantization is to keep the default value,
 35722  // Auto (AUTO), for the setting Adaptive quantization (adaptiveQuantization).
 35723  // When you do so, MediaConvert automatically applies the best types of quantization
 35724  // for your video content. Include this setting in your JSON job specification
 35725  // only when you choose to change the default value for Adaptive quantization.
 35726  // For this setting, keep the default value, Enabled (ENABLED), to adjust quantization
 35727  // within each frame based on spatial variation of content complexity. When
 35728  // you enable this feature, the encoder uses fewer bits on areas that can sustain
 35729  // more distortion with no noticeable visual degradation and uses more bits
 35730  // on areas where any small distortion will be noticeable. For example, complex
 35731  // textured blocks are encoded with fewer bits and smooth textured blocks are
 35732  // encoded with more bits. Enabling this feature will almost always improve
 35733  // your video quality. Note, though, that this feature doesn't take into account
 35734  // where the viewer's attention is likely to be. If viewers are likely to be
 35735  // focusing their attention on a part of the screen with a lot of complex texture,
 35736  // you might choose to disable this feature. Related setting: When you enable
 35737  // spatial adaptive quantization, set the value for Adaptive quantization (adaptiveQuantization)
 35738  // depending on your content. For homogeneous content, such as cartoons and
 35739  // video games, set it to Low. For content with a wider variety of textures,
 35740  // set it to High or Higher.
 35741  const (
 35742  	// XavcSpatialAdaptiveQuantizationDisabled is a XavcSpatialAdaptiveQuantization enum value
 35743  	XavcSpatialAdaptiveQuantizationDisabled = "DISABLED"
 35744  
 35745  	// XavcSpatialAdaptiveQuantizationEnabled is a XavcSpatialAdaptiveQuantization enum value
 35746  	XavcSpatialAdaptiveQuantizationEnabled = "ENABLED"
 35747  )
 35748  
 35749  // XavcSpatialAdaptiveQuantization_Values returns all elements of the XavcSpatialAdaptiveQuantization enum
 35750  func XavcSpatialAdaptiveQuantization_Values() []string {
 35751  	return []string{
 35752  		XavcSpatialAdaptiveQuantizationDisabled,
 35753  		XavcSpatialAdaptiveQuantizationEnabled,
 35754  	}
 35755  }
 35756  
 35757  // The best way to set up adaptive quantization is to keep the default value,
 35758  // Auto (AUTO), for the setting Adaptive quantization (adaptiveQuantization).
 35759  // When you do so, MediaConvert automatically applies the best types of quantization
 35760  // for your video content. Include this setting in your JSON job specification
 35761  // only when you choose to change the default value for Adaptive quantization.
 35762  // For this setting, keep the default value, Enabled (ENABLED), to adjust quantization
 35763  // within each frame based on temporal variation of content complexity. When
 35764  // you enable this feature, the encoder uses fewer bits on areas of the frame
 35765  // that aren't moving and uses more bits on complex objects with sharp edges
 35766  // that move a lot. For example, this feature improves the readability of text
 35767  // tickers on newscasts and scoreboards on sports matches. Enabling this feature
 35768  // will almost always improve your video quality. Note, though, that this feature
 35769  // doesn't take into account where the viewer's attention is likely to be. If
 35770  // viewers are likely to be focusing their attention on a part of the screen
 35771  // that doesn't have moving objects with sharp edges, such as sports athletes'
 35772  // faces, you might choose to disable this feature. Related setting: When you
 35773  // enable temporal adaptive quantization, adjust the strength of the filter
 35774  // with the setting Adaptive quantization (adaptiveQuantization).
 35775  const (
 35776  	// XavcTemporalAdaptiveQuantizationDisabled is a XavcTemporalAdaptiveQuantization enum value
 35777  	XavcTemporalAdaptiveQuantizationDisabled = "DISABLED"
 35778  
 35779  	// XavcTemporalAdaptiveQuantizationEnabled is a XavcTemporalAdaptiveQuantization enum value
 35780  	XavcTemporalAdaptiveQuantizationEnabled = "ENABLED"
 35781  )
 35782  
 35783  // XavcTemporalAdaptiveQuantization_Values returns all elements of the XavcTemporalAdaptiveQuantization enum
 35784  func XavcTemporalAdaptiveQuantization_Values() []string {
 35785  	return []string{
 35786  		XavcTemporalAdaptiveQuantizationDisabled,
 35787  		XavcTemporalAdaptiveQuantizationEnabled,
 35788  	}
 35789  }