diff --git a/ext/vp8/gstvp8enc.c b/ext/vp8/gstvp8enc.c
index d21ed23..24a821a 100644
--- a/ext/vp8/gstvp8enc.c
+++ b/ext/vp8/gstvp8enc.c
@@ -94,7 +94,7 @@ gst_vp8_enc_coder_hook_free (GstVP8EncCoderHook * hook)
 #define DEFAULT_MAX_LATENCY 10
 #define DEFAULT_MAX_KEYFRAME_DISTANCE 60
 #define DEFAULT_SPEED 0
-#define DEFAULT_THREADS 1
+#define DEFAULT_MAX_THREADS 1
 #define DEFAULT_MULTIPASS_MODE VPX_RC_ONE_PASS
 #define DEFAULT_MULTIPASS_CACHE_FILE "multipass.cache"
 #define DEFAULT_AUTO_ALT_REF_FRAMES FALSE
@@ -128,7 +128,7 @@ enum
   PROP_MAX_LATENCY,
   PROP_MAX_KEYFRAME_DISTANCE,
   PROP_SPEED,
-  PROP_THREADS,
+  PROP_MAX_THREADS,
   PROP_MULTIPASS_MODE,
   PROP_MULTIPASS_CACHE_FILE,
   PROP_AUTO_ALT_REF_FRAMES,
@@ -353,10 +353,11 @@ gst_vp8_enc_class_init (GstVP8EncClass * klass)
           0, 7, DEFAULT_SPEED,
           (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
 
-  g_object_class_install_property (gobject_class, PROP_THREADS,
-      g_param_spec_int ("threads", "Threads",
-          "Threads",
-          1, 64, DEFAULT_THREADS,
+  g_object_class_install_property (gobject_class, PROP_MAX_THREADS,
+      g_param_spec_int ("max-threads", "Maximum allowed threads",
+          "User defined maximum limit for threads. Encoder will "
+          "automatically find count of CPU cores.",
+          1, 64, DEFAULT_MAX_THREADS,
           (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
 
   g_object_class_install_property (gobject_class, PROP_MULTIPASS_MODE,
@@ -512,8 +513,8 @@ gst_vp8_enc_set_property (GObject * object, guint prop_id,
     case PROP_SPEED:
       gst_vp8_enc->speed = g_value_get_int (value);
       break;
-    case PROP_THREADS:
-      gst_vp8_enc->threads = g_value_get_int (value);
+    case PROP_MAX_THREADS:
+      gst_vp8_enc->max_threads = g_value_get_int (value);
       break;
     case PROP_MULTIPASS_MODE:
       gst_vp8_enc->multipass_mode = g_value_get_enum (value);
@@ -603,8 +604,8 @@ gst_vp8_enc_get_property (GObject * object, guint prop_id, GValue * value,
     case PROP_SPEED:
       g_value_set_int (value, gst_vp8_enc->speed);
       break;
-    case PROP_THREADS:
-      g_value_set_int (value, gst_vp8_enc->threads);
+    case PROP_MAX_THREADS:
+      g_value_set_int (value, gst_vp8_enc->max_threads);
       break;
     case PROP_MULTIPASS_MODE:
       g_value_set_enum (value, gst_vp8_enc->multipass_mode);
@@ -723,7 +724,7 @@ gst_vp8_enc_set_format (GstBaseVideoEncoder * base_video_encoder,
 
   cfg.g_error_resilient = encoder->error_resilient;
   cfg.g_lag_in_frames = encoder->max_latency;
-  cfg.g_threads = encoder->threads;
+  cfg.g_threads = encoder->max_threads;
   cfg.rc_end_usage = encoder->mode;
   cfg.rc_2pass_vbr_minsection_pct = encoder->minsection_pct;
   cfg.rc_2pass_vbr_maxsection_pct = encoder->maxsection_pct;
diff --git a/ext/vp8/gstvp8enc.h b/ext/vp8/gstvp8enc.h
index 3b01512..46a2c11 100644
--- a/ext/vp8/gstvp8enc.h
+++ b/ext/vp8/gstvp8enc.h
@@ -69,7 +69,7 @@ struct _GstVP8Enc
   int max_latency;
   int max_keyframe_distance;
   int speed;
-  int threads;
+  int max_threads;
   enum vpx_enc_pass multipass_mode;
   gchar *multipass_cache_file;
   GByteArray *first_pass_cache_content;
