code: def rgb_to_ycbcr(input, name=None):
      """
      Convert a RGB image to YCbCr.
  
      Args:
        input: A 3-D (`[H, W, 3]`) or 4-D (`[N, H, W, 3]`) Tensor.
        name: A name for the operation (optional).
  
      Returns:
        A 3-D (`[H, W, 3]`) or 4-D (`[N, H, W, 3]`) Tensor.
      """
      kernel = tf.constant(
          [
              [65.783, 129.057, 25.064],
              [-37.945, -74.494, 112.439],
              [112.439, -94.154, -18.285],
          ],
          tf.float32,
      )
  
      input = tf.convert_to_tensor(input)
      assert input.dtype == tf.uint8
  
      value = tf.cast(input, tf.float32)
      value = value / 256.0
      value = tf.tensordot(
          value, tf.transpose(kernel), axes=((-1,), (0,))
      )
      value = value + tf.constant([16, 128, 128], tf.float32)
      value = tf.clip_by_value(value, 0, 255)
      return tf.cast(value, input.dtype)
  
imports: import tensorflow
label_desc: Use image node_id 5 for calling a global function with example usage: rgb_to_ycbcr(input, name) and returns: tf