docs: public void marshall(H264Settings h264Settings, ProtocolMarshaller protocolMarshaller) {
  
          if (h264Settings == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(h264Settings.getAdaptiveQuantization(), ADAPTIVEQUANTIZATION_BINDING);
              protocolMarshaller.marshall(h264Settings.getBitrate(), BITRATE_BINDING);
              protocolMarshaller.marshall(h264Settings.getCodecLevel(), CODECLEVEL_BINDING);
              protocolMarshaller.marshall(h264Settings.getCodecProfile(), CODECPROFILE_BINDING);
              protocolMarshaller.marshall(h264Settings.getDynamicSubGop(), DYNAMICSUBGOP_BINDING);
              protocolMarshaller.marshall(h264Settings.getEntropyEncoding(), ENTROPYENCODING_BINDING);
              protocolMarshaller.marshall(h264Settings.getFieldEncoding(), FIELDENCODING_BINDING);
              protocolMarshaller.marshall(h264Settings.getFlickerAdaptiveQuantization(), FLICKERADAPTIVEQUANTIZATION_BINDING);
              protocolMarshaller.marshall(h264Settings.getFramerateControl(), FRAMERATECONTROL_BINDING);
              protocolMarshaller.marshall(h264Settings.getFramerateConversionAlgorithm(), FRAMERATECONVERSIONALGORITHM_BINDING);
              protocolMarshaller.marshall(h264Settings.getFramerateDenominator(), FRAMERATEDENOMINATOR_BINDING);
              protocolMarshaller.marshall(h264Settings.getFramerateNumerator(), FRAMERATENUMERATOR_BINDING);
              protocolMarshaller.marshall(h264Settings.getGopBReference(), GOPBREFERENCE_BINDING);
              protocolMarshaller.marshall(h264Settings.getGopClosedCadence(), GOPCLOSEDCADENCE_BINDING);
              protocolMarshaller.marshall(h264Settings.getGopSize(), GOPSIZE_BINDING);
              protocolMarshaller.marshall(h264Settings.getGopSizeUnits(), GOPSIZEUNITS_BINDING);
              protocolMarshaller.marshall(h264Settings.getHrdBufferInitialFillPercentage(), HRDBUFFERINITIALFILLPERCENTAGE_BINDING);
              protocolMarshaller.marshall(h264Settings.getHrdBufferSize(), HRDBUFFERSIZE_BINDING);
              protocolMarshaller.marshall(h264Settings.getInterlaceMode(), INTERLACEMODE_BINDING);
              protocolMarshaller.marshall(h264Settings.getMaxBitrate(), MAXBITRATE_BINDING);
              protocolMarshaller.marshall(h264Settings.getMinIInterval(), MINIINTERVAL_BINDING);
              protocolMarshaller.marshall(h264Settings.getNumberBFramesBetweenReferenceFrames(), NUMBERBFRAMESBETWEENREFERENCEFRAMES_BINDING);
              protocolMarshaller.marshall(h264Settings.getNumberReferenceFrames(), NUMBERREFERENCEFRAMES_BINDING);
              protocolMarshaller.marshall(h264Settings.getParControl(), PARCONTROL_BINDING);
              protocolMarshaller.marshall(h264Settings.getParDenominator(), PARDENOMINATOR_BINDING);
              protocolMarshaller.marshall(h264Settings.getParNumerator(), PARNUMERATOR_BINDING);
              protocolMarshaller.marshall(h264Settings.getQualityTuningLevel(), QUALITYTUNINGLEVEL_BINDING);
              protocolMarshaller.marshall(h264Settings.getQvbrSettings(), QVBRSETTINGS_BINDING);
              protocolMarshaller.marshall(h264Settings.getRateControlMode(), RATECONTROLMODE_BINDING);
              protocolMarshaller.marshall(h264Settings.getRepeatPps(), REPEATPPS_BINDING);
              protocolMarshaller.marshall(h264Settings.getSceneChangeDetect(), SCENECHANGEDETECT_BINDING);
              protocolMarshaller.marshall(h264Settings.getSlices(), SLICES_BINDING);
              protocolMarshaller.marshall(h264Settings.getSlowPal(), SLOWPAL_BINDING);
              protocolMarshaller.marshall(h264Settings.getSoftness(), SOFTNESS_BINDING);
              protocolMarshaller.marshall(h264Settings.getSpatialAdaptiveQuantization(), SPATIALADAPTIVEQUANTIZATION_BINDING);
              protocolMarshaller.marshall(h264Settings.getSyntax(), SYNTAX_BINDING);
              protocolMarshaller.marshall(h264Settings.getTelecine(), TELECINE_BINDING);
              protocolMarshaller.marshall(h264Settings.getTemporalAdaptiveQuantization(), TEMPORALADAPTIVEQUANTIZATION_BINDING);
              protocolMarshaller.marshall(h264Settings.getUnregisteredSeiTimecode(), UNREGISTEREDSEITIMECODE_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }