diff --git a/libs/libv4l/Makefile b/libs/libv4l/Makefile
index e16d36587..0ab9e223d 100644
--- a/libs/libv4l/Makefile
+++ b/libs/libv4l/Makefile
@@ -6,15 +6,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=v4l-utils
-PKG_VERSION:=1.14.2
-PKG_RELEASE:=2
+PKG_VERSION:=1.16.3
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://www.linuxtv.org/downloads/v4l-utils
-PKG_HASH:=e6b962c4b1253cf852c31da13fd6b5bb7cbe5aa9e182881aec55123bae680692
+PKG_HASH:=7c5c0d49c130cf65d384f28e9f3a53c5f7d17bf18740c48c40810e0fbbed5b54
 
 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
-
 PKG_LICENSE:=GPL-2.0 LGPL-2.1
 PKG_LICENSE_FILES:=COPYING COPYING.libv4l
 
@@ -73,13 +72,14 @@ define Package/v4l-utils/description
   This package contains the video4linux utilities.
 endef
 
-TARGET_CFLAGS += $(FPIC)
-TARGET_LDFLAGS += -largp
+TARGET_CFLAGS += -flto
+TARGET_LDFLAGS += -largp -Wl,--gc-sections
 
 CONFIGURE_ARGS+= \
 	--disable-doxygen-doc \
 	--disable-libdvbv5 \
 	--disable-qv4l2 \
+	--disable-qvidcap \
 	--without-jpeg \
 
 define Build/InstallDev
diff --git a/libs/libv4l/patches/010-remove-libudev-check.patch b/libs/libv4l/patches/010-remove-libudev-check.patch
index e646edf32..6a9784adb 100644
--- a/libs/libv4l/patches/010-remove-libudev-check.patch
+++ b/libs/libv4l/patches/010-remove-libudev-check.patch
@@ -1,6 +1,6 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -258,16 +258,9 @@ else
+@@ -283,16 +283,9 @@ else
     AC_MSG_WARN(ALSA library not available)
  fi
  
diff --git a/libs/libv4l/patches/020-add-missing-includes.patch b/libs/libv4l/patches/020-add-missing-includes.patch
index 0885fe42a..f1850c82c 100644
--- a/libs/libv4l/patches/020-add-missing-includes.patch
+++ b/libs/libv4l/patches/020-add-missing-includes.patch
@@ -1,68 +1,64 @@
---- a/utils/v4l2-ctl/v4l2-ctl.cpp
-+++ b/utils/v4l2-ctl/v4l2-ctl.cpp
-@@ -46,6 +46,7 @@
- #include <vector>
- #include <map>
- #include <algorithm>
-+#include <string_iostream>
- #include <fstream>
- 
- char options[OptLast];
---- a/utils/rds-ctl/rds-ctl.cpp
-+++ b/utils/rds-ctl/rds-ctl.cpp
-@@ -29,6 +29,7 @@
- #include <inttypes.h>
- #include <getopt.h>
- #include <sys/types.h>
-+#include <ctype.h>
- #include <fcntl.h>
- #include <errno.h>
- #include <sys/ioctl.h>
-@@ -36,6 +37,7 @@
- #include <dirent.h>
- #include <config.h>
- #include <signal.h>
-+#include <time.h>
- 
- #include <linux/videodev2.h>
- #include <libv4l2.h>
---- a/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
-+++ b/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
-@@ -17,6 +17,7 @@
- #include <sys/mman.h>
- #include <dirent.h>
- #include <math.h>
-+#include <time.h>
- 
- #include "v4l2-ctl.h"
- #include "v4l-stream.h"
 --- a/utils/cec-ctl/cec-ctl.cpp
 +++ b/utils/cec-ctl/cec-ctl.cpp
-@@ -30,6 +30,7 @@
+@@ -18,6 +18,7 @@
  #include <errno.h>
  #include <sys/ioctl.h>
  #include <stdarg.h>
-+#include <time.h>
++#include <ctime>
  #include <cerrno>
  #include <string>
  #include <vector>
---- a/utils/cec-compliance/cec-compliance.h
-+++ b/utils/cec-compliance/cec-compliance.h
-@@ -21,6 +21,7 @@
- #define _CEC_COMPLIANCE_H_
- 
- #include <stdarg.h>
-+#include <time.h>
- #include <cerrno>
- #include <string>
- #include <linux/cec-funcs.h>
 --- a/utils/cec-follower/cec-follower.h
 +++ b/utils/cec-follower/cec-follower.h
-@@ -37,6 +37,7 @@
+@@ -9,6 +9,7 @@
  #define _CEC_FOLLOWER_H_
  
  #include <stdarg.h>
-+#include <time.h>
++#include <ctime>
  #include <cerrno>
  #include <string>
  #include <linux/cec-funcs.h>
+--- a/utils/common/media-info.cpp
++++ b/utils/common/media-info.cpp
+@@ -20,7 +20,7 @@
+ 
+ #include <linux/media.h>
+ 
+-#include <fstream>
++#include <iostream>
+ #include <media-info.h>
+ 
+ static std::string num2s(unsigned num, bool is_hex = true)
+--- a/utils/rds-ctl/rds-ctl.cpp
++++ b/utils/rds-ctl/rds-ctl.cpp
+@@ -27,6 +27,8 @@
+ #include <linux/videodev2.h>
+ #include <libv4l2rds.h>
+ 
++#include <cctype>
++#include <ctime>
+ #include <list>
+ #include <vector>
+ #include <map>
+--- a/utils/v4l2-compliance/media-info.cpp
++++ b/utils/v4l2-compliance/media-info.cpp
+@@ -20,7 +20,7 @@
+ 
+ #include <linux/media.h>
+ 
+-#include <fstream>
++#include <iostream>
+ #include <media-info.h>
+ 
+ static std::string num2s(unsigned num, bool is_hex = true)
+--- a/utils/v4l2-ctl/media-info.cpp
++++ b/utils/v4l2-ctl/media-info.cpp
+@@ -20,7 +20,7 @@
+ 
+ #include <linux/media.h>
+ 
+-#include <fstream>
++#include <iostream>
+ #include <media-info.h>
+ 
+ static std::string num2s(unsigned num, bool is_hex = true)