code: func (w *Webcam) GetSupportedFormats() map[PixelFormat]string {
  
  	result := make(map[PixelFormat]string)
  	var err error
  	var code uint32
  	var desc string
  	var index uint32
  
  	for index = 0; err == nil; index++ {
  		code, desc, err = getPixelFormat(w.fd, index)
  
  		if err != nil {
  			break
  		}
  
  		result[PixelFormat(code)] = desc
  	}
  
  	return result
  }
docs: // Returns image formats supported by the device alongside with
  // their text description
  // Not that this function is somewhat experimental. Frames are not ordered in
  // any meaning, also duplicates can occur so it's up to developer to clean it up.
  // See http://linuxtv.org/downloads/v4l-dvb-apis/vidioc-enum-framesizes.html
  // for more information