FreeBSD Bugzilla – Attachment 213244 Details for
Bug 245501
[exp-run] Request for v4l-utils update
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Ports patch
libv4l-ports.diff (text/plain), 79.63 KB, created by
Hans Petter Selasky
on 2020-04-10 11:25:18 UTC
(
hide
)
Description:
Ports patch
Filename:
MIME Type:
Creator:
Hans Petter Selasky
Created:
2020-04-10 11:25:18 UTC
Size:
79.63 KB
patch
obsolete
>Index: multimedia/libv4l/Makefile >=================================================================== >--- multimedia/libv4l/Makefile (revision 531199) >+++ multimedia/libv4l/Makefile (working copy) >@@ -3,13 +3,14 @@ > # Check v4l_compat and v4l-utils slave ports > > PORTNAME?= libv4l >-PORTVERSION= 1.6.3 >-PORTREVISION?= 4 >+PORTVERSION= 1.18.0 >+WEBCAMDVERSION= 5.3.7.1 > CATEGORIES= multimedia > MASTER_SITES= http://linuxtv.org/downloads/v4l-utils/:master \ >- LOCAL/kwm:local >-DISTFILES+= v4l-utils-${PORTVERSION}.tar.bz2:master \ >- linux-3.16.7-dvb-headers.tar.xz:local >+ http://www.selasky.org/hans_petter/distfiles/:local \ >+ http://home.selasky.org/distfiles/:local >+DISTFILES= v4l-utils-${PORTVERSION}.tar.bz2:master \ >+ webcamd-${WEBCAMDVERSION}.tar.bz2:local > > MAINTAINER= multimedia@FreeBSD.org > COMMENT?= Video4Linux library >@@ -21,51 +22,93 @@ > WRKSRC= ${WRKDIR}/v4l-utils-${PORTVERSION} > > .if ${PORTNAME} == v4l-utils || ${PORTNAME} == libv4l >+LIB_DEPENDS+= libargp.so:devel/argp-standalone \ >+ libudev.so:devel/libudev-devd > BUILD_DEPENDS+= v4l_compat>=${PORTVERSION}:multimedia/v4l_compat > > GNU_CONFIGURE= yes > CPPFLAGS+= -I${LOCALBASE}/include > LDFLAGS+= -L${LOCALBASE}/lib >-USES+= gmake iconv jpeg libtool pathfix pkgconfig >+USES+= gmake gettext-runtime iconv jpeg libtool pathfix pkgconfig > USE_LDCONFIG= yes >-CONFIGURE_ARGS= --enable-libdvbv5 \ >- --disable-qv4l2 \ >- --without-libudev >+CONFIGURE_ARGS= \ >+ --disable-qv4l2 \ >+ --disable-qvidcap > INSTALL_TARGET= install-strip >+.endif > >-. if ${PORTNAME} == v4l-utils >+.if ${PORTNAME} == v4l-utils >+USES+= perl5 > BUILD_DEPENDS+= libv4l>=${PORTVERSION}:multimedia/libv4l >-LIB_DEPENDS+= libargp.so:devel/argp-standalone \ >+LIB_DEPENDS+= libepoll-shim.so:devel/libepoll-shim \ > libv4l2.so:multimedia/libv4l >-# Disabling building libv4l in the utils slave is too much hackery >-# Lets wait for subpackages >-CONFIGURE_ARGS+=--enable-v4l-utils >-. else >-CONFIGURE_ARGS+=--disable-v4l-utils --enable-libv4l >-EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-configure >-. endif >+LDFLAGS+= -lepoll-shim >+CONFIGURE_ARGS+= \ >+ --enable-v4l-utils \ >+ --without-v4l2-compliance > .endif > >-HEADER_PATCHES= extra-linux_dvb_ca.h \ >- extra-linux_dvb_osd.h \ >- patch-include_linux_dvb_frontend.h \ >- patch-include_linux_dvb_video.h >+.if ${PORTNAME} == libv4l >+CONFIGURE_ARGS+= \ >+ --disable-v4l-utils \ >+ --enable-dyn-libv4l \ >+ --enable-libdvbv5 >+.endif > > post-patch: >- @${REINPLACE_CMD} -e 's|$$libdir/pkgconfig|${PREFIX}/libdata/pkgconfig|g' \ >- ${WRKSRC}/configure >-# fix weird types, except a few headers which have compat code for these types. >- @${FIND} ${WRKDIR} -type f \( -iname "*.h" ! -iname "input.h" ! -iname "videodev2.h" \) | \ >+# Remove old FreeBSD include files (to be removed upstream) >+ @${RM} -r ${WRKDIR}/v4l-utils-${PORTVERSION}/contrib/freebsd/include/* >+# Apply webcamd patches first >+ @(cd ${WRKDIR}/webcamd-${WEBCAMDVERSION}/patches && ${SH} ./do_patch.sh) >+# Patch all source files >+ @${FIND} ${WRKDIR} -type f \( -iname "*.[ch]" -or -iname "*.cpp" -or -iname "msg2ctl.pl" \) | \ > ${XARGS} -n 10 ${REINPLACE_CMD} \ >- -e 's|linux/types.h|sys/types.h|g; s|__user||g; \ >- s|__u8|uint8_t|g; s|__s8|int8_t|g; \ >- s|__u16|uint16_t|g; s|__s16|int16_t|g; \ >- s|__u32|uint32_t|g; s|__s32|int32_t|g; \ >- s|__u64|uint64_t|g; s|__s64|int64_t|g' >-.if ${PORTNAME} == v4l_compat >-.for patch in ${HEADER_PATCHES} >- @cd ${WRKDIR}/linux && ${PATCH} -p2 < ${FILESDIR}/${patch} >-.endfor >-.endif >+ -e 's|__inline__|inline|g' \ >+ -e 's|__u8|uint8_t|g' \ >+ -e 's|__s8|int8_t|g' \ >+ -e 's|__le16|uint16_t|g' \ >+ -e 's|__be16|uint16_t|g' \ >+ -e 's|__u16|uint16_t|g' \ >+ -e 's|__s16|int16_t|g' \ >+ -e 's|__le32|uint32_t|g' \ >+ -e 's|__be32|uint32_t|g' \ >+ -e 's|__u32|uint32_t|g' \ >+ -e 's|__s32|int32_t|g' \ >+ -e 's|__le64|uint64_t|g' \ >+ -e 's|__be64|uint64_t|g' \ >+ -e 's|__u64|uint64_t|g' \ >+ -e 's|__s64|int64_t|g' \ >+ -e 's|uint16_t_to_cpu|letoh16|g' \ >+ -e 's|uint32_t_to_cpu|letoh32|g' \ >+ -e 's|uint64_t_to_cpu|letoh64|g' \ >+ -e 's|error_t|int|g' \ >+ -e 's|"gettext.h"|<libintl.h>|g' \ >+ -e 's|MSG_MORE|0|g' \ >+ -e 's|EBADR|EFAULT|g' \ >+ -e 's|ENONET|EHOSTDOWN|g' \ >+ -e 's|_IOC_READ|IOC_OUT|g' \ >+ -e 's|_IOC_WRITE|IOC_IN|g' \ >+ -e 's|_IOC_NONE|IOC_VOID|g' \ >+ -e 's|V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM|0x0004|g' \ >+ -e 's|V4L2_FMT_FLAG_DYN_RESOLUTION|0x0008|g' \ >+ -e 's|<endian.h>|<sys/endian.h>|g' \ >+ -e 's|<linux/compiler.h>|<sys/cdefs.h>|g' \ >+ -e 's|<linux/errno.h>|<errno.h>|g' \ >+ -e 's|<linux/ioctl.h>|<sys/ioctl.h>|g' \ >+ -e 's|<linux/kernel.h>|<sys/sysinfo.h>|g' \ >+ -e 's|<linux/string.h>|<string.h>|g' \ >+ -e 's|<linux/sysmacros.h>|<sys/types.h>|g' \ >+ -e 's|<linux/types.h>|<sys/types.h>|g' \ >+ -e 's|<malloc.h>|<stdlib.h>|g' \ >+ -e 's|<sys/epoll.h>|<libepoll-shim/sys/epoll.h>|g' \ >+ -e 's|<sys/sysmacros.h>|<sys/types.h>|g' \ >+ -e 's|/usr/bin/perl|${PREFIX}/bin/perl|g' \ >+ -e 's|__user||g' > >+# Duplicate some files to avoid patching >+ @${CP} ${WRKSRC}/utils/common/ir-encode.c ${WRKSRC}/utils/ir-ctl/ir-encode.c >+ @${CP} ${WRKSRC}/utils/common/ir-encode.c ${WRKSRC}/utils/keytable/ir-encode.c >+ @${CP} ${WRKSRC}/utils/common/keymap.h ${WRKSRC}/utils/ir-ctl/keymap.h >+ @${CP} ${WRKSRC}/utils/common/keymap.h ${WRKSRC}/utils/keytable/keymap.h >+ > .include <bsd.port.mk> >Index: multimedia/libv4l/distinfo >=================================================================== >--- multimedia/libv4l/distinfo (revision 531196) >+++ multimedia/libv4l/distinfo (working copy) >@@ -1,4 +1,5 @@ >-SHA256 (v4l-utils-1.6.3.tar.bz2) = 164abf5c1befcd27e8e6ef824a82d4015bdfb5d99ae82daa00e77d895ff9864c >-SIZE (v4l-utils-1.6.3.tar.bz2) = 1151081 >-SHA256 (linux-3.16.7-dvb-headers.tar.xz) = 0ee217b243d52b8104e6b61bbf009bf84155573317720f41930af0a9ef50cdaa >-SIZE (linux-3.16.7-dvb-headers.tar.xz) = 11712 >+TIMESTAMP = 1586294935 >+SHA256 (v4l-utils-1.18.0.tar.bz2) = 6cb60d822eeed20486a03cc23e0fc65956fbc1e85e0c1a7477f68bbd9802880d >+SIZE (v4l-utils-1.18.0.tar.bz2) = 1995506 >+SHA256 (webcamd-5.3.7.1.tar.bz2) = 75082bc48b6975f50ec4aaadc1ece874e132733dbbf8c23aff36bf92ed1e0b1c >+SIZE (webcamd-5.3.7.1.tar.bz2) = 13905071 >Index: multimedia/libv4l/files/extra-linux_dvb_ca.h >=================================================================== >--- multimedia/libv4l/files/extra-linux_dvb_ca.h (revision 531196) >+++ multimedia/libv4l/files/extra-linux_dvb_ca.h (nonexistent) >@@ -1,20 +0,0 @@ >---- ../linux/dvb/ca.h.orig 2014-12-01 10:58:18.000000000 +0100 >-+++ ../linux/dvb/ca.h 2015-01-23 22:41:21.761540460 +0100 >-@@ -80,9 +80,17 @@ >- >- #define CA_RESET _IO('o', 128) >- #define CA_GET_CAP _IOR('o', 129, ca_caps_t) >-+ >-+/* At least CA_GET_SLOT_INFO and CA_GET_MSG need to be _IOWR not _IOR. >-+ * This is wrong on Linux too but there the driver doesn't care. >-+ * >- #define CA_GET_SLOT_INFO _IOR('o', 130, ca_slot_info_t) >- #define CA_GET_DESCR_INFO _IOR('o', 131, ca_descr_info_t) >- #define CA_GET_MSG _IOR('o', 132, ca_msg_t) >-+ */ >-+#define CA_GET_SLOT_INFO _IOWR('o', 130, ca_slot_info_t) >-+#define CA_GET_DESCR_INFO _IOR('o', 131, ca_descr_info_t) >-+#define CA_GET_MSG _IOWR('o', 132, ca_msg_t) >- #define CA_SEND_MSG _IOW('o', 133, ca_msg_t) >- #define CA_SET_DESCR _IOW('o', 134, ca_descr_t) >- #define CA_SET_PID _IOW('o', 135, ca_pid_t) > >Property changes on: multimedia/libv4l/files/extra-linux_dvb_ca.h >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-1 >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/extra-linux_dvb_osd.h >=================================================================== >--- multimedia/libv4l/files/extra-linux_dvb_osd.h (revision 531196) >+++ multimedia/libv4l/files/extra-linux_dvb_osd.h (nonexistent) >@@ -1,11 +0,0 @@ >---- ../linux/dvb/osd.h.bak 2014-12-01 10:58:18.000000000 +0100 >-+++ ../linux/dvb/osd.h 2015-01-24 00:12:54.252160592 +0100 >-@@ -24,7 +24,7 @@ >- #ifndef _DVBOSD_H_ >- #define _DVBOSD_H_ >- >--#include <linux/compiler.h> >-+#include <sys/types.h> >- >- typedef enum { >- // All functions return -2 on "not open" > >Property changes on: multimedia/libv4l/files/extra-linux_dvb_osd.h >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-1 >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/extra-patch-configure >=================================================================== >--- multimedia/libv4l/files/extra-patch-configure (revision 531196) >+++ multimedia/libv4l/files/extra-patch-configure (nonexistent) >@@ -1,78 +0,0 @@ >---- configure.orig 2015-08-12 21:40:16 UTC >-+++ configure >-@@ -18563,75 +18563,6 @@ fi >- >- LIBS=$dl_saved_libs >- >--ac_fn_c_check_header_mongrel "$LINENO" "argp.h" "ac_cv_header_argp_h" "$ac_includes_default" >--if test "x$ac_cv_header_argp_h" = xyes; then : >-- >--else >-- as_fn_error $? "Cannot continue: argp.h not found" "$LINENO" 5 >--fi >-- >-- >--argp_saved_libs=$LIBS >-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing argp_parse" >&5 >--$as_echo_n "checking for library containing argp_parse... " >&6; } >--if ${ac_cv_search_argp_parse+:} false; then : >-- $as_echo_n "(cached) " >&6 >--else >-- ac_func_search_save_LIBS=$LIBS >--cat confdefs.h - <<_ACEOF >conftest.$ac_ext >--/* end confdefs.h. */ >-- >--/* Override any GCC internal prototype to avoid an error. >-- Use char because int might match the return type of a GCC >-- builtin and then its argument prototype would still apply. */ >--#ifdef __cplusplus >--extern "C" >--#endif >--char argp_parse (); >--int >--main () >--{ >--return argp_parse (); >-- ; >-- return 0; >--} >--_ACEOF >--for ac_lib in '' argp; do >-- if test -z "$ac_lib"; then >-- ac_res="none required" >-- else >-- ac_res=-l$ac_lib >-- LIBS="-l$ac_lib $ac_func_search_save_LIBS" >-- fi >-- if ac_fn_c_try_link "$LINENO"; then : >-- ac_cv_search_argp_parse=$ac_res >--fi >--rm -f core conftest.err conftest.$ac_objext \ >-- conftest$ac_exeext >-- if ${ac_cv_search_argp_parse+:} false; then : >-- break >--fi >--done >--if ${ac_cv_search_argp_parse+:} false; then : >-- >--else >-- ac_cv_search_argp_parse=no >--fi >--rm conftest.$ac_ext >--LIBS=$ac_func_search_save_LIBS >--fi >--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_argp_parse" >&5 >--$as_echo "$ac_cv_search_argp_parse" >&6; } >--ac_res=$ac_cv_search_argp_parse >--if test "$ac_res" != no; then : >-- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" >-- test "$ac_cv_search_argp_parse" = "none required" || ARGP_LIBS=$ac_cv_search_argp_parse >--else >-- as_fn_error $? "unable to find the argp_parse() function" "$LINENO" 5 >--fi >-- >-- >--LIBS=$argp_saved_libs >- >- ac_fn_c_check_header_mongrel "$LINENO" "linux/i2c-dev.h" "ac_cv_header_linux_i2c_dev_h" "$ac_includes_default" >- if test "x$ac_cv_header_linux_i2c_dev_h" = xyes; then : > >Property changes on: multimedia/libv4l/files/extra-patch-configure >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-configure >=================================================================== >--- multimedia/libv4l/files/patch-configure (revision 531196) >+++ multimedia/libv4l/files/patch-configure (nonexistent) >@@ -1,11 +0,0 @@ >---- configure.orig 2015-01-25 19:42:02.248041140 +0100 >-+++ configure 2015-01-25 19:42:14.503036421 +0100 >-@@ -19876,7 +19876,7 @@ >- WITH_LIBV4L_FALSE= >- fi >- >-- if test x$enable_v4l_utils != xno -a x$linux_os = xyes; then >-+ if test x$enable_v4l_utils != xno; then >- WITH_V4LUTILS_TRUE= >- WITH_V4LUTILS_FALSE='#' >- else > >Property changes on: multimedia/libv4l/files/patch-configure >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-contrib_freebsd_include_linux_videodev2.h >=================================================================== >--- multimedia/libv4l/files/patch-contrib_freebsd_include_linux_videodev2.h (revision 531196) >+++ multimedia/libv4l/files/patch-contrib_freebsd_include_linux_videodev2.h (nonexistent) >@@ -1,662 +0,0 @@ >---- contrib/freebsd/include/linux/videodev2.h.orig 2015-05-06 19:24:59 UTC >-+++ contrib/freebsd/include/linux/videodev2.h >-@@ -46,7 +46,7 @@ >- * All kernel-specific stuff were moved to media/v4l2-dev.h, so >- * no #if __KERNEL tests are allowed here >- * >-- * See http://linuxtv.org for more info >-+ * See https://linuxtv.org for more info >- * >- * Author: Bill Dirks <bill@thedirks.org> >- * Justin Schoeman >-@@ -170,13 +170,12 @@ enum v4l2_buf_type { >- V4L2_BUF_TYPE_VBI_OUTPUT = 5, >- V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6, >- V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7, >--#if 1 >-- /* Experimental */ >- V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY = 8, >--#endif >- V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE = 9, >- V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE = 10, >- V4L2_BUF_TYPE_SDR_CAPTURE = 11, >-+ V4L2_BUF_TYPE_SDR_OUTPUT = 12, >-+ V4L2_BUF_TYPE_META_CAPTURE = 13, >- /* Deprecated, do not use */ >- V4L2_BUF_TYPE_PRIVATE = 0x80, >- }; >-@@ -191,16 +190,20 @@ enum v4l2_buf_type { >- || (type) == V4L2_BUF_TYPE_VIDEO_OVERLAY \ >- || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY \ >- || (type) == V4L2_BUF_TYPE_VBI_OUTPUT \ >-- || (type) == V4L2_BUF_TYPE_SLICED_VBI_OUTPUT) >-+ || (type) == V4L2_BUF_TYPE_SLICED_VBI_OUTPUT \ >-+ || (type) == V4L2_BUF_TYPE_SDR_OUTPUT) >- >- enum v4l2_tuner_type { >- V4L2_TUNER_RADIO = 1, >- V4L2_TUNER_ANALOG_TV = 2, >- V4L2_TUNER_DIGITAL_TV = 3, >-- V4L2_TUNER_ADC = 4, >-+ V4L2_TUNER_SDR = 4, >- V4L2_TUNER_RF = 5, >- }; >- >-+/* Deprecated, do not use */ >-+#define V4L2_TUNER_ADC V4L2_TUNER_SDR >-+ >- enum v4l2_memory { >- V4L2_MEMORY_MMAP = 1, >- V4L2_MEMORY_USERPTR = 2, >-@@ -210,32 +213,206 @@ enum v4l2_memory { >- >- /* see also http://vektor.theorem.ca/graphics/ycbcr/ */ >- enum v4l2_colorspace { >-- /* ITU-R 601 -- broadcast NTSC/PAL */ >-+ /* >-+ * Default colorspace, i.e. let the driver figure it out. >-+ * Can only be used with video capture. >-+ */ >-+ V4L2_COLORSPACE_DEFAULT = 0, >-+ >-+ /* SMPTE 170M: used for broadcast NTSC/PAL SDTV */ >- V4L2_COLORSPACE_SMPTE170M = 1, >- >-- /* 1125-Line (US) HDTV */ >-+ /* Obsolete pre-1998 SMPTE 240M HDTV standard, superseded by Rec 709 */ >- V4L2_COLORSPACE_SMPTE240M = 2, >- >-- /* HD and modern captures. */ >-+ /* Rec.709: used for HDTV */ >- V4L2_COLORSPACE_REC709 = 3, >- >-- /* broken BT878 extents (601, luma range 16-253 instead of 16-235) */ >-+ /* >-+ * Deprecated, do not use. No driver will ever return this. This was >-+ * based on a misunderstanding of the bt878 datasheet. >-+ */ >- V4L2_COLORSPACE_BT878 = 4, >- >-- /* These should be useful. Assume 601 extents. */ >-+ /* >-+ * NTSC 1953 colorspace. This only makes sense when dealing with >-+ * really, really old NTSC recordings. Superseded by SMPTE 170M. >-+ */ >- V4L2_COLORSPACE_470_SYSTEM_M = 5, >-+ >-+ /* >-+ * EBU Tech 3213 PAL/SECAM colorspace. This only makes sense when >-+ * dealing with really old PAL/SECAM recordings. Superseded by >-+ * SMPTE 170M. >-+ */ >- V4L2_COLORSPACE_470_SYSTEM_BG = 6, >- >-- /* I know there will be cameras that send this. So, this is >-- * unspecified chromaticities and full 0-255 on each of the >-- * Y'CbCr components >-+ /* >-+ * Effectively shorthand for V4L2_COLORSPACE_SRGB, V4L2_YCBCR_ENC_601 >-+ * and V4L2_QUANTIZATION_FULL_RANGE. To be used for (Motion-)JPEG. >- */ >- V4L2_COLORSPACE_JPEG = 7, >- >-- /* For RGB colourspaces, this is probably a good start. */ >-+ /* For RGB colorspaces such as produces by most webcams. */ >- V4L2_COLORSPACE_SRGB = 8, >-+ >-+ /* AdobeRGB colorspace */ >-+ V4L2_COLORSPACE_ADOBERGB = 9, >-+ >-+ /* BT.2020 colorspace, used for UHDTV. */ >-+ V4L2_COLORSPACE_BT2020 = 10, >-+ >-+ /* Raw colorspace: for RAW unprocessed images */ >-+ V4L2_COLORSPACE_RAW = 11, >-+ >-+ /* DCI-P3 colorspace, used by cinema projectors */ >-+ V4L2_COLORSPACE_DCI_P3 = 12, >- }; >- >-+/* >-+ * Determine how COLORSPACE_DEFAULT should map to a proper colorspace. >-+ * This depends on whether this is a SDTV image (use SMPTE 170M), an >-+ * HDTV image (use Rec. 709), or something else (use sRGB). >-+ */ >-+#define V4L2_MAP_COLORSPACE_DEFAULT(is_sdtv, is_hdtv) \ >-+ ((is_sdtv) ? V4L2_COLORSPACE_SMPTE170M : \ >-+ ((is_hdtv) ? V4L2_COLORSPACE_REC709 : V4L2_COLORSPACE_SRGB)) >-+ >-+enum v4l2_xfer_func { >-+ /* >-+ * Mapping of V4L2_XFER_FUNC_DEFAULT to actual transfer functions >-+ * for the various colorspaces: >-+ * >-+ * V4L2_COLORSPACE_SMPTE170M, V4L2_COLORSPACE_470_SYSTEM_M, >-+ * V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_REC709 and >-+ * V4L2_COLORSPACE_BT2020: V4L2_XFER_FUNC_709 >-+ * >-+ * V4L2_COLORSPACE_SRGB, V4L2_COLORSPACE_JPEG: V4L2_XFER_FUNC_SRGB >-+ * >-+ * V4L2_COLORSPACE_ADOBERGB: V4L2_XFER_FUNC_ADOBERGB >-+ * >-+ * V4L2_COLORSPACE_SMPTE240M: V4L2_XFER_FUNC_SMPTE240M >-+ * >-+ * V4L2_COLORSPACE_RAW: V4L2_XFER_FUNC_NONE >-+ * >-+ * V4L2_COLORSPACE_DCI_P3: V4L2_XFER_FUNC_DCI_P3 >-+ */ >-+ V4L2_XFER_FUNC_DEFAULT = 0, >-+ V4L2_XFER_FUNC_709 = 1, >-+ V4L2_XFER_FUNC_SRGB = 2, >-+ V4L2_XFER_FUNC_ADOBERGB = 3, >-+ V4L2_XFER_FUNC_SMPTE240M = 4, >-+ V4L2_XFER_FUNC_NONE = 5, >-+ V4L2_XFER_FUNC_DCI_P3 = 6, >-+ V4L2_XFER_FUNC_SMPTE2084 = 7, >-+}; >-+ >-+/* >-+ * Determine how XFER_FUNC_DEFAULT should map to a proper transfer function. >-+ * This depends on the colorspace. >-+ */ >-+#define V4L2_MAP_XFER_FUNC_DEFAULT(colsp) \ >-+ ((colsp) == V4L2_COLORSPACE_ADOBERGB ? V4L2_XFER_FUNC_ADOBERGB : \ >-+ ((colsp) == V4L2_COLORSPACE_SMPTE240M ? V4L2_XFER_FUNC_SMPTE240M : \ >-+ ((colsp) == V4L2_COLORSPACE_DCI_P3 ? V4L2_XFER_FUNC_DCI_P3 : \ >-+ ((colsp) == V4L2_COLORSPACE_RAW ? V4L2_XFER_FUNC_NONE : \ >-+ ((colsp) == V4L2_COLORSPACE_SRGB || (colsp) == V4L2_COLORSPACE_JPEG ? \ >-+ V4L2_XFER_FUNC_SRGB : V4L2_XFER_FUNC_709))))) >-+ >-+enum v4l2_ycbcr_encoding { >-+ /* >-+ * Mapping of V4L2_YCBCR_ENC_DEFAULT to actual encodings for the >-+ * various colorspaces: >-+ * >-+ * V4L2_COLORSPACE_SMPTE170M, V4L2_COLORSPACE_470_SYSTEM_M, >-+ * V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_SRGB, >-+ * V4L2_COLORSPACE_ADOBERGB and V4L2_COLORSPACE_JPEG: V4L2_YCBCR_ENC_601 >-+ * >-+ * V4L2_COLORSPACE_REC709 and V4L2_COLORSPACE_DCI_P3: V4L2_YCBCR_ENC_709 >-+ * >-+ * V4L2_COLORSPACE_BT2020: V4L2_YCBCR_ENC_BT2020 >-+ * >-+ * V4L2_COLORSPACE_SMPTE240M: V4L2_YCBCR_ENC_SMPTE240M >-+ */ >-+ V4L2_YCBCR_ENC_DEFAULT = 0, >-+ >-+ /* ITU-R 601 -- SDTV */ >-+ V4L2_YCBCR_ENC_601 = 1, >-+ >-+ /* Rec. 709 -- HDTV */ >-+ V4L2_YCBCR_ENC_709 = 2, >-+ >-+ /* ITU-R 601/EN 61966-2-4 Extended Gamut -- SDTV */ >-+ V4L2_YCBCR_ENC_XV601 = 3, >-+ >-+ /* Rec. 709/EN 61966-2-4 Extended Gamut -- HDTV */ >-+ V4L2_YCBCR_ENC_XV709 = 4, >-+ >-+#ifndef __KERNEL__ >-+ /* >-+ * sYCC (Y'CbCr encoding of sRGB), identical to ENC_601. It was added >-+ * originally due to a misunderstanding of the sYCC standard. It should >-+ * not be used, instead use V4L2_YCBCR_ENC_601. >-+ */ >-+ V4L2_YCBCR_ENC_SYCC = 5, >-+#endif >-+ >-+ /* BT.2020 Non-constant Luminance Y'CbCr */ >-+ V4L2_YCBCR_ENC_BT2020 = 6, >-+ >-+ /* BT.2020 Constant Luminance Y'CbcCrc */ >-+ V4L2_YCBCR_ENC_BT2020_CONST_LUM = 7, >-+ >-+ /* SMPTE 240M -- Obsolete HDTV */ >-+ V4L2_YCBCR_ENC_SMPTE240M = 8, >-+}; >-+ >-+/* >-+ * enum v4l2_hsv_encoding values should not collide with the ones from >-+ * enum v4l2_ycbcr_encoding. >-+ */ >-+enum v4l2_hsv_encoding { >-+ >-+ /* Hue mapped to 0 - 179 */ >-+ V4L2_HSV_ENC_180 = 128, >-+ >-+ /* Hue mapped to 0-255 */ >-+ V4L2_HSV_ENC_256 = 129, >-+}; >-+ >-+/* >-+ * Determine how YCBCR_ENC_DEFAULT should map to a proper Y'CbCr encoding. >-+ * This depends on the colorspace. >-+ */ >-+#define V4L2_MAP_YCBCR_ENC_DEFAULT(colsp) \ >-+ (((colsp) == V4L2_COLORSPACE_REC709 || \ >-+ (colsp) == V4L2_COLORSPACE_DCI_P3) ? V4L2_YCBCR_ENC_709 : \ >-+ ((colsp) == V4L2_COLORSPACE_BT2020 ? V4L2_YCBCR_ENC_BT2020 : \ >-+ ((colsp) == V4L2_COLORSPACE_SMPTE240M ? V4L2_YCBCR_ENC_SMPTE240M : \ >-+ V4L2_YCBCR_ENC_601))) >-+ >-+enum v4l2_quantization { >-+ /* >-+ * The default for R'G'B' quantization is always full range, except >-+ * for the BT2020 colorspace. For Y'CbCr the quantization is always >-+ * limited range, except for COLORSPACE_JPEG: this is full range. >-+ */ >-+ V4L2_QUANTIZATION_DEFAULT = 0, >-+ V4L2_QUANTIZATION_FULL_RANGE = 1, >-+ V4L2_QUANTIZATION_LIM_RANGE = 2, >-+}; >-+ >-+/* >-+ * Determine how QUANTIZATION_DEFAULT should map to a proper quantization. >-+ * This depends on whether the image is RGB or not, the colorspace and the >-+ * Y'CbCr encoding. >-+ */ >-+#define V4L2_MAP_QUANTIZATION_DEFAULT(is_rgb_or_hsv, colsp, ycbcr_enc) \ >-+ (((is_rgb_or_hsv) && (colsp) == V4L2_COLORSPACE_BT2020) ? \ >-+ V4L2_QUANTIZATION_LIM_RANGE : \ >-+ (((is_rgb_or_hsv) || (colsp) == V4L2_COLORSPACE_JPEG) ? \ >-+ V4L2_QUANTIZATION_FULL_RANGE : V4L2_QUANTIZATION_LIM_RANGE)) >-+ >- enum v4l2_priority { >- V4L2_PRIORITY_UNSET = 0, /* not initialized */ >- V4L2_PRIORITY_BACKGROUND = 1, >-@@ -306,11 +483,15 @@ struct v4l2_capability { >- >- #define V4L2_CAP_SDR_CAPTURE 0x00100000 /* Is a SDR capture device */ >- #define V4L2_CAP_EXT_PIX_FORMAT 0x00200000 /* Supports the extended pixel format */ >-+#define V4L2_CAP_SDR_OUTPUT 0x00400000 /* Is a SDR output device */ >-+#define V4L2_CAP_META_CAPTURE 0x00800000 /* Is a metadata capture device */ >- >- #define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */ >- #define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */ >- #define V4L2_CAP_STREAMING 0x04000000 /* streaming I/O ioctls */ >- >-+#define V4L2_CAP_TOUCH 0x10000000 /* Is a touch device */ >-+ >- #define V4L2_CAP_DEVICE_CAPS 0x80000000 /* sets device capabilities field */ >- >- /* >-@@ -326,6 +507,12 @@ struct v4l2_pix_format { >- uint32_t colorspace; /* enum v4l2_colorspace */ >- uint32_t priv; /* private data, depends on pixelformat */ >- uint32_t flags; /* format flags (V4L2_PIX_FMT_FLAG_*) */ >-+ union { >-+ uint32_t ycbcr_enc; >-+ uint32_t hsv_enc; >-+ }; >-+ uint32_t quantization; >-+ uint32_t xfer_func; >- }; >- >- /* Pixel format FOURCC depth Description */ >-@@ -360,6 +547,7 @@ struct v4l2_pix_format { >- #define V4L2_PIX_FMT_Y10 v4l2_fourcc('Y', '1', '0', ' ') /* 10 Greyscale */ >- #define V4L2_PIX_FMT_Y12 v4l2_fourcc('Y', '1', '2', ' ') /* 12 Greyscale */ >- #define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */ >-+#define V4L2_PIX_FMT_Y16_BE v4l2_fourcc_be('Y', '1', '6', ' ') /* 16 Greyscale BE */ >- >- /* Grey bit-packed formats */ >- #define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B') /* 10 Greyscale bit-packed */ >-@@ -371,22 +559,16 @@ struct v4l2_pix_format { >- #define V4L2_PIX_FMT_UV8 v4l2_fourcc('U', 'V', '8', ' ') /* 8 UV 4:4 */ >- >- /* Luminance+Chrominance formats */ >--#define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y', 'V', 'U', '9') /* 9 YVU 4:1:0 */ >--#define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y', 'V', '1', '2') /* 12 YVU 4:2:0 */ >- #define V4L2_PIX_FMT_YUYV v4l2_fourcc('Y', 'U', 'Y', 'V') /* 16 YUV 4:2:2 */ >- #define V4L2_PIX_FMT_YYUV v4l2_fourcc('Y', 'Y', 'U', 'V') /* 16 YUV 4:2:2 */ >- #define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U') /* 16 YVU 4:2:2 */ >- #define V4L2_PIX_FMT_UYVY v4l2_fourcc('U', 'Y', 'V', 'Y') /* 16 YUV 4:2:2 */ >- #define V4L2_PIX_FMT_VYUY v4l2_fourcc('V', 'Y', 'U', 'Y') /* 16 YUV 4:2:2 */ >--#define V4L2_PIX_FMT_YUV422P v4l2_fourcc('4', '2', '2', 'P') /* 16 YVU422 planar */ >--#define V4L2_PIX_FMT_YUV411P v4l2_fourcc('4', '1', '1', 'P') /* 16 YVU411 planar */ >- #define V4L2_PIX_FMT_Y41P v4l2_fourcc('Y', '4', '1', 'P') /* 12 YUV 4:1:1 */ >- #define V4L2_PIX_FMT_YUV444 v4l2_fourcc('Y', '4', '4', '4') /* 16 xxxxyyyy uuuuvvvv */ >- #define V4L2_PIX_FMT_YUV555 v4l2_fourcc('Y', 'U', 'V', 'O') /* 16 YUV-5-5-5 */ >- #define V4L2_PIX_FMT_YUV565 v4l2_fourcc('Y', 'U', 'V', 'P') /* 16 YUV-5-6-5 */ >- #define V4L2_PIX_FMT_YUV32 v4l2_fourcc('Y', 'U', 'V', '4') /* 32 YUV-8-8-8-8 */ >--#define V4L2_PIX_FMT_YUV410 v4l2_fourcc('Y', 'U', 'V', '9') /* 9 YUV 4:1:0 */ >--#define V4L2_PIX_FMT_YUV420 v4l2_fourcc('Y', 'U', '1', '2') /* 12 YUV 4:2:0 */ >- #define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4') /* 8 8-bit color */ >- #define V4L2_PIX_FMT_HM12 v4l2_fourcc('H', 'M', '1', '2') /* 8 YUV 4:2:0 16x16 macroblocks */ >- #define V4L2_PIX_FMT_M420 v4l2_fourcc('M', '4', '2', '0') /* 12 YUV 4:2:0 2 lines y, 1 line uv interleaved */ >-@@ -407,9 +589,21 @@ struct v4l2_pix_format { >- #define V4L2_PIX_FMT_NV12MT v4l2_fourcc('T', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 64x32 macroblocks */ >- #define V4L2_PIX_FMT_NV12MT_16X16 v4l2_fourcc('V', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 16x16 macroblocks */ >- >-+/* three planes - Y Cb, Cr */ >-+#define V4L2_PIX_FMT_YUV410 v4l2_fourcc('Y', 'U', 'V', '9') /* 9 YUV 4:1:0 */ >-+#define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y', 'V', 'U', '9') /* 9 YVU 4:1:0 */ >-+#define V4L2_PIX_FMT_YUV411P v4l2_fourcc('4', '1', '1', 'P') /* 12 YVU411 planar */ >-+#define V4L2_PIX_FMT_YUV420 v4l2_fourcc('Y', 'U', '1', '2') /* 12 YUV 4:2:0 */ >-+#define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y', 'V', '1', '2') /* 12 YVU 4:2:0 */ >-+#define V4L2_PIX_FMT_YUV422P v4l2_fourcc('4', '2', '2', 'P') /* 16 YVU422 planar */ >-+ >- /* three non contiguous planes - Y, Cb, Cr */ >- #define V4L2_PIX_FMT_YUV420M v4l2_fourcc('Y', 'M', '1', '2') /* 12 YUV420 planar */ >- #define V4L2_PIX_FMT_YVU420M v4l2_fourcc('Y', 'M', '2', '1') /* 12 YVU420 planar */ >-+#define V4L2_PIX_FMT_YUV422M v4l2_fourcc('Y', 'M', '1', '6') /* 16 YUV422 planar */ >-+#define V4L2_PIX_FMT_YVU422M v4l2_fourcc('Y', 'M', '6', '1') /* 16 YVU422 planar */ >-+#define V4L2_PIX_FMT_YUV444M v4l2_fourcc('Y', 'M', '2', '4') /* 24 YUV444 planar */ >-+#define V4L2_PIX_FMT_YVU444M v4l2_fourcc('Y', 'M', '4', '2') /* 24 YVU444 planar */ >- >- /* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */ >- #define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B', 'A', '8', '1') /* 8 BGBG.. GRGR.. */ >-@@ -420,10 +614,11 @@ struct v4l2_pix_format { >- #define V4L2_PIX_FMT_SGBRG10 v4l2_fourcc('G', 'B', '1', '0') /* 10 GBGB.. RGRG.. */ >- #define V4L2_PIX_FMT_SGRBG10 v4l2_fourcc('B', 'A', '1', '0') /* 10 GRGR.. BGBG.. */ >- #define V4L2_PIX_FMT_SRGGB10 v4l2_fourcc('R', 'G', '1', '0') /* 10 RGRG.. GBGB.. */ >--#define V4L2_PIX_FMT_SBGGR12 v4l2_fourcc('B', 'G', '1', '2') /* 12 BGBG.. GRGR.. */ >--#define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12 GBGB.. RGRG.. */ >--#define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12 GRGR.. BGBG.. */ >--#define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */ >-+ /* 10bit raw bayer packed, 5 bytes for every 4 pixels */ >-+#define V4L2_PIX_FMT_SBGGR10P v4l2_fourcc('p', 'B', 'A', 'A') >-+#define V4L2_PIX_FMT_SGBRG10P v4l2_fourcc('p', 'G', 'A', 'A') >-+#define V4L2_PIX_FMT_SGRBG10P v4l2_fourcc('p', 'g', 'A', 'A') >-+#define V4L2_PIX_FMT_SRGGB10P v4l2_fourcc('p', 'R', 'A', 'A') >- /* 10bit raw bayer a-law compressed to 8 bits */ >- #define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8') >- #define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8') >-@@ -434,11 +629,23 @@ struct v4l2_pix_format { >- #define V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc('b', 'G', 'A', '8') >- #define V4L2_PIX_FMT_SGRBG10DPCM8 v4l2_fourcc('B', 'D', '1', '0') >- #define V4L2_PIX_FMT_SRGGB10DPCM8 v4l2_fourcc('b', 'R', 'A', '8') >-- /* >-- * 10bit raw bayer, expanded to 16 bits >-- * xxxxrrrrrrrrrrxxxxgggggggggg xxxxggggggggggxxxxbbbbbbbbbb... >-- */ >-+#define V4L2_PIX_FMT_SBGGR12 v4l2_fourcc('B', 'G', '1', '2') /* 12 BGBG.. GRGR.. */ >-+#define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12 GBGB.. RGRG.. */ >-+#define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12 GRGR.. BGBG.. */ >-+#define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */ >-+ /* 12bit raw bayer packed, 6 bytes for every 4 pixels */ >-+#define V4L2_PIX_FMT_SBGGR12P v4l2_fourcc('p', 'B', 'C', 'C') >-+#define V4L2_PIX_FMT_SGBRG12P v4l2_fourcc('p', 'G', 'C', 'C') >-+#define V4L2_PIX_FMT_SGRBG12P v4l2_fourcc('p', 'g', 'C', 'C') >-+#define V4L2_PIX_FMT_SRGGB12P v4l2_fourcc('p', 'R', 'C', 'C') >- #define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B', 'Y', 'R', '2') /* 16 BGBG.. GRGR.. */ >-+#define V4L2_PIX_FMT_SGBRG16 v4l2_fourcc('G', 'B', '1', '6') /* 16 GBGB.. RGRG.. */ >-+#define V4L2_PIX_FMT_SGRBG16 v4l2_fourcc('G', 'R', '1', '6') /* 16 GRGR.. BGBG.. */ >-+#define V4L2_PIX_FMT_SRGGB16 v4l2_fourcc('R', 'G', '1', '6') /* 16 RGRG.. GBGB.. */ >-+ >-+/* HSV formats */ >-+#define V4L2_PIX_FMT_HSV24 v4l2_fourcc('H', 'S', 'V', '3') >-+#define V4L2_PIX_FMT_HSV32 v4l2_fourcc('H', 'S', 'V', '4') >- >- /* compressed formats */ >- #define V4L2_PIX_FMT_MJPEG v4l2_fourcc('M', 'J', 'P', 'G') /* Motion-JPEG */ >-@@ -456,6 +663,8 @@ struct v4l2_pix_format { >- #define V4L2_PIX_FMT_VC1_ANNEX_G v4l2_fourcc('V', 'C', '1', 'G') /* SMPTE 421M Annex G compliant stream */ >- #define V4L2_PIX_FMT_VC1_ANNEX_L v4l2_fourcc('V', 'C', '1', 'L') /* SMPTE 421M Annex L compliant stream */ >- #define V4L2_PIX_FMT_VP8 v4l2_fourcc('V', 'P', '8', '0') /* VP8 */ >-+#define V4L2_PIX_FMT_VP9 v4l2_fourcc('V', 'P', '9', '0') /* VP9 */ >-+#define V4L2_PIX_FMT_HEVC v4l2_fourcc('H', 'E', 'V', 'C') /* HEVC aka H.265 */ >- >- /* Vendor-specific formats */ >- #define V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */ >-@@ -484,6 +693,17 @@ struct v4l2_pix_format { >- #define V4L2_PIX_FMT_JPGL v4l2_fourcc('J', 'P', 'G', 'L') /* JPEG-Lite */ >- #define V4L2_PIX_FMT_SE401 v4l2_fourcc('S', '4', '0', '1') /* se401 janggu compressed rgb */ >- #define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */ >-+#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */ >-+#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */ >-+#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */ >-+#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */ >-+#define V4L2_PIX_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel Planar Greyscale 10-bit and Depth 16-bit */ >-+ >-+/* 10bit raw bayer packed, 32 bytes for every 25 pixels, last LSB 6 bits unused */ >-+#define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b') /* IPU3 packed 10-bit BGGR bayer */ >-+#define V4L2_PIX_FMT_IPU3_SGBRG10 v4l2_fourcc('i', 'p', '3', 'g') /* IPU3 packed 10-bit GBRG bayer */ >-+#define V4L2_PIX_FMT_IPU3_SGRBG10 v4l2_fourcc('i', 'p', '3', 'G') /* IPU3 packed 10-bit GRBG bayer */ >-+#define V4L2_PIX_FMT_IPU3_SRGGB10 v4l2_fourcc('i', 'p', '3', 'r') /* IPU3 packed 10-bit RGGB bayer */ >- >- /* SDR formats - used only for Software Defined Radio devices */ >- #define V4L2_SDR_FMT_CU8 v4l2_fourcc('C', 'U', '0', '8') /* IQ u8 */ >-@@ -491,6 +711,20 @@ struct v4l2_pix_format { >- #define V4L2_SDR_FMT_CS8 v4l2_fourcc('C', 'S', '0', '8') /* complex s8 */ >- #define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */ >- #define V4L2_SDR_FMT_RU12LE v4l2_fourcc('R', 'U', '1', '2') /* real u12le */ >-+#define V4L2_SDR_FMT_PCU16BE v4l2_fourcc('P', 'C', '1', '6') /* planar complex u16be */ >-+#define V4L2_SDR_FMT_PCU18BE v4l2_fourcc('P', 'C', '1', '8') /* planar complex u18be */ >-+#define V4L2_SDR_FMT_PCU20BE v4l2_fourcc('P', 'C', '2', '0') /* planar complex u20be */ >-+ >-+/* Touch formats - used for Touch devices */ >-+#define V4L2_TCH_FMT_DELTA_TD16 v4l2_fourcc('T', 'D', '1', '6') /* 16-bit signed deltas */ >-+#define V4L2_TCH_FMT_DELTA_TD08 v4l2_fourcc('T', 'D', '0', '8') /* 8-bit signed deltas */ >-+#define V4L2_TCH_FMT_TU16 v4l2_fourcc('T', 'U', '1', '6') /* 16-bit unsigned touch data */ >-+#define V4L2_TCH_FMT_TU08 v4l2_fourcc('T', 'U', '0', '8') /* 8-bit unsigned touch data */ >-+ >-+/* Meta-data formats */ >-+#define V4L2_META_FMT_VSP1_HGO v4l2_fourcc('V', 'S', 'P', 'H') /* R-Car VSP1 1-D Histogram */ >-+#define V4L2_META_FMT_VSP1_HGT v4l2_fourcc('V', 'S', 'P', 'T') /* R-Car VSP1 2-D Histogram */ >-+#define V4L2_META_FMT_UVC v4l2_fourcc('U', 'V', 'C', 'H') /* UVC Payload Header metadata */ >- >- /* priv field value to indicates that subsequent fields are valid. */ >- #define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe >-@@ -513,8 +747,7 @@ struct v4l2_fmtdesc { >- #define V4L2_FMT_FLAG_COMPRESSED 0x0001 >- #define V4L2_FMT_FLAG_EMULATED 0x0002 >- >--#if 1 >-- /* Experimental Frame Size and frame rate enumeration */ >-+ /* Frame Size and frame rate enumeration */ >- /* >- * F R A M E S I Z E E N U M E R A T I O N >- */ >-@@ -580,7 +813,6 @@ struct v4l2_frmivalenum { >- >- uint32_t reserved[2]; /* Reserved space for future use */ >- }; >--#endif >- >- /* >- * T I M E C O D E >-@@ -765,6 +997,8 @@ struct v4l2_buffer { >- #define V4L2_BUF_FLAG_TSTAMP_SRC_MASK 0x00070000 >- #define V4L2_BUF_FLAG_TSTAMP_SRC_EOF 0x00000000 >- #define V4L2_BUF_FLAG_TSTAMP_SRC_SOE 0x00010000 >-+/* mem2mem encoder/decoder */ >-+#define V4L2_BUF_FLAG_LAST 0x00100000 >- >- /** >- * struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor >-@@ -1073,6 +1307,9 @@ struct v4l2_standard { >- * (aka field 2) of interlaced field formats >- * @standards: Standards the timing belongs to >- * @flags: Flags >-+ * @picture_aspect: The picture aspect ratio (hor/vert). >-+ * @cea861_vic: VIC code as per the CEA-861 standard. >-+ * @hdmi_vic: VIC code as per the HDMI standard. >- * @reserved: Reserved fields, must be zeroed. >- * >- * A note regarding vertical interlaced timings: height refers to the total >-@@ -1102,7 +1339,10 @@ struct v4l2_bt_timings { >- uint32_t il_vbackporch; >- uint32_t standards; >- uint32_t flags; >-- uint32_t reserved[14]; >-+ struct v4l2_fract picture_aspect; >-+ uint8_t cea861_vic; >-+ uint8_t hdmi_vic; >-+ uint8_t reserved[46]; >- } __attribute__ ((packed)); >- >- /* Interlaced or progressive format */ >-@@ -1118,6 +1358,7 @@ struct v4l2_bt_timings { >- #define V4L2_DV_BT_STD_DMT (1 << 1) /* VESA Discrete Monitor Timings */ >- #define V4L2_DV_BT_STD_CVT (1 << 2) /* VESA Coordinated Video Timings */ >- #define V4L2_DV_BT_STD_GTF (1 << 3) /* VESA Generalized Timings Formula */ >-+#define V4L2_DV_BT_STD_SDI (1 << 4) /* SDI Timings */ >- >- /* Flags */ >- >-@@ -1143,6 +1384,36 @@ struct v4l2_bt_timings { >- exactly the same number of half-lines. Whether half-lines can be detected >- or used depends on the hardware. */ >- #define V4L2_DV_FL_HALF_LINE (1 << 3) >-+/* >-+ * If set, then this is a Consumer Electronics (CE) video format. Such formats >-+ * differ from other formats (commonly called IT formats) in that if RGB >-+ * encoding is used then by default the RGB values use limited range (i.e. >-+ * use the range 16-235) as opposed to 0-255. All formats defined in CEA-861 >-+ * except for the 640x480 format are CE formats. >-+ */ >-+#define V4L2_DV_FL_IS_CE_VIDEO (1 << 4) >-+/* Some formats like SMPTE-125M have an interlaced signal with a odd >-+ * total height. For these formats, if this flag is set, the first >-+ * field has the extra line. If not, it is the second field. >-+ */ >-+#define V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE (1 << 5) >-+/* >-+ * If set, then the picture_aspect field is valid. Otherwise assume that the >-+ * pixels are square, so the picture aspect ratio is the same as the width to >-+ * height ratio. >-+ */ >-+#define V4L2_DV_FL_HAS_PICTURE_ASPECT (1 << 6) >-+/* >-+ * If set, then the cea861_vic field is valid and contains the Video >-+ * Identification Code as per the CEA-861 standard. >-+ */ >-+#define V4L2_DV_FL_HAS_CEA861_VIC (1 << 7) >-+/* >-+ * If set, then the hdmi_vic field is valid and contains the Video >-+ * Identification Code as per the HDMI standard (HDMI Vendor Specific >-+ * InfoFrame). >-+ */ >-+#define V4L2_DV_FL_HAS_HDMI_VIC (1 << 8) >- >- /* A few useful defines to calculate the total blanking and frame sizes */ >- #define V4L2_DV_BT_BLANKING_WIDTH(bt) \ >-@@ -1252,6 +1523,7 @@ struct v4l2_input { >- /* Values for the 'type' field */ >- #define V4L2_INPUT_TYPE_TUNER 1 >- #define V4L2_INPUT_TYPE_CAMERA 2 >-+#define V4L2_INPUT_TYPE_TOUCH 3 >- >- /* field 'status' - general */ >- #define V4L2_IN_ST_NO_POWER 0x00000001 /* Attached device is off */ >-@@ -1266,6 +1538,8 @@ struct v4l2_input { >- /* field 'status' - analog */ >- #define V4L2_IN_ST_NO_H_LOCK 0x00000100 /* No horizontal sync lock */ >- #define V4L2_IN_ST_COLOR_KILL 0x00000200 /* Color killer is active */ >-+#define V4L2_IN_ST_NO_V_LOCK 0x00000400 /* No vertical sync lock */ >-+#define V4L2_IN_ST_NO_STD_LOCK 0x00000800 /* No standard format lock */ >- >- /* field 'status' - digital */ >- #define V4L2_IN_ST_NO_SYNC 0x00010000 /* No synchronization lock */ >-@@ -1281,6 +1555,7 @@ struct v4l2_input { >- #define V4L2_IN_CAP_DV_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */ >- #define V4L2_IN_CAP_CUSTOM_TIMINGS V4L2_IN_CAP_DV_TIMINGS /* For compatibility */ >- #define V4L2_IN_CAP_STD 0x00000004 /* Supports S_STD */ >-+#define V4L2_IN_CAP_NATIVE_SIZE 0x00000008 /* Supports setting native size */ >- >- /* >- * V I D E O O U T P U T S >-@@ -1340,6 +1615,8 @@ struct v4l2_ext_controls { >- #define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL) >- #define V4L2_CTRL_DRIVER_PRIV(id) (((id) & 0xffff) >= 0x1000) >- #define V4L2_CTRL_MAX_DIMS (4) >-+#define V4L2_CTRL_WHICH_CUR_VAL 0 >-+#define V4L2_CTRL_WHICH_DEF_VAL 0x0f000000 >- >- enum v4l2_ctrl_type { >- V4L2_CTRL_TYPE_INTEGER = 1, >-@@ -1410,6 +1687,8 @@ struct v4l2_querymenu { >- #define V4L2_CTRL_FLAG_WRITE_ONLY 0x0040 >- #define V4L2_CTRL_FLAG_VOLATILE 0x0080 >- #define V4L2_CTRL_FLAG_HAS_PAYLOAD 0x0100 >-+#define V4L2_CTRL_FLAG_EXECUTE_ON_WRITE 0x0200 >-+#define V4L2_CTRL_FLAG_MODIFY_LAYOUT 0x0400 >- >- /* Query flags, to be ORed with the control ID */ >- #define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000 >-@@ -1562,8 +1841,6 @@ struct v4l2_audioout { >- >- /* >- * M P E G S E R V I C E S >-- * >-- * NOTE: EXPERIMENTAL API >- */ >- #if 1 >- #define V4L2_ENC_IDX_FRAME_I (0) >-@@ -1809,6 +2086,9 @@ struct v4l2_plane_pix_format { >- * @plane_fmt: per-plane information >- * @num_planes: number of planes for this format >- * @flags: format flags (V4L2_PIX_FMT_FLAG_*) >-+ * @ycbcr_enc: enum v4l2_ycbcr_encoding, Y'CbCr encoding >-+ * @quantization: enum v4l2_quantization, colorspace quantization >-+ * @xfer_func: enum v4l2_xfer_func, colorspace transfer function >- */ >- struct v4l2_pix_format_mplane { >- uint32_t width; >-@@ -1820,7 +2100,13 @@ struct v4l2_pix_format_mplane { >- struct v4l2_plane_pix_format plane_fmt[VIDEO_MAX_PLANES]; >- uint8_t num_planes; >- uint8_t flags; >-- uint8_t reserved[10]; >-+ union { >-+ uint8_t ycbcr_enc; >-+ uint8_t hsv_enc; >-+ }; >-+ uint8_t quantization; >-+ uint8_t xfer_func; >-+ uint8_t reserved[7]; >- } __attribute__ ((packed)); >- >- /** >-@@ -2094,45 +2380,32 @@ struct v4l2_create_buffers { >- #define VIDIOC_DBG_G_REGISTER _IOWR('V', 80, struct v4l2_dbg_register) >- >- #define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek) >-- >- #define VIDIOC_S_DV_TIMINGS _IOWR('V', 87, struct v4l2_dv_timings) >- #define VIDIOC_G_DV_TIMINGS _IOWR('V', 88, struct v4l2_dv_timings) >- #define VIDIOC_DQEVENT _IOR('V', 89, struct v4l2_event) >- #define VIDIOC_SUBSCRIBE_EVENT _IOW('V', 90, struct v4l2_event_subscription) >- #define VIDIOC_UNSUBSCRIBE_EVENT _IOW('V', 91, struct v4l2_event_subscription) >-- >--/* Experimental, the below two ioctls may change over the next couple of kernel >-- versions */ >- #define VIDIOC_CREATE_BUFS _IOWR('V', 92, struct v4l2_create_buffers) >- #define VIDIOC_PREPARE_BUF _IOWR('V', 93, struct v4l2_buffer) >-- >--/* Experimental selection API */ >- #define VIDIOC_G_SELECTION _IOWR('V', 94, struct v4l2_selection) >- #define VIDIOC_S_SELECTION _IOWR('V', 95, struct v4l2_selection) >-- >--/* Experimental, these two ioctls may change over the next couple of kernel >-- versions. */ >- #define VIDIOC_DECODER_CMD _IOWR('V', 96, struct v4l2_decoder_cmd) >- #define VIDIOC_TRY_DECODER_CMD _IOWR('V', 97, struct v4l2_decoder_cmd) >-- >--/* Experimental, these three ioctls may change over the next couple of kernel >-- versions. */ >- #define VIDIOC_ENUM_DV_TIMINGS _IOWR('V', 98, struct v4l2_enum_dv_timings) >- #define VIDIOC_QUERY_DV_TIMINGS _IOR('V', 99, struct v4l2_dv_timings) >- #define VIDIOC_DV_TIMINGS_CAP _IOWR('V', 100, struct v4l2_dv_timings_cap) >-- >--/* Experimental, this ioctl may change over the next couple of kernel >-- versions. */ >- #define VIDIOC_ENUM_FREQ_BANDS _IOWR('V', 101, struct v4l2_frequency_band) >- >--/* Experimental, meant for debugging, testing and internal use. >-- Never use these in applications! */ >-+/* >-+ * Experimental, meant for debugging, testing and internal use. >-+ * Never use this in applications! >-+ */ >- #define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info) >- >- #define VIDIOC_QUERY_EXT_CTRL _IOWR('V', 103, struct v4l2_query_ext_ctrl) >- >- /* Reminder: when adding new ioctls please add support for them to >-- drivers/media/video/v4l2-compat-ioctl32.c as well! */ >-+ drivers/media/v4l2-core/v4l2-compat-ioctl32.c as well! */ >- >- #define BASE_VIDIOC_PRIVATE 192 /* 192-255 are private */ >- > >Property changes on: multimedia/libv4l/files/patch-contrib_freebsd_include_linux_videodev2.h >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-include_linux_dvb_frontend.h >=================================================================== >--- multimedia/libv4l/files/patch-include_linux_dvb_frontend.h (revision 531196) >+++ multimedia/libv4l/files/patch-include_linux_dvb_frontend.h (nonexistent) >@@ -1,17 +0,0 @@ >---- include/linux/dvb/frontend.h.orig 2015-01-10 15:04:07.446370686 +0100 >-+++ include/linux/dvb/frontend.h 2015-01-10 15:05:20.367365809 +0100 >-@@ -549,7 +549,13 @@ >- }; >- >- #define FE_SET_PROPERTY _IOW('o', 82, struct dtv_properties) >--#define FE_GET_PROPERTY _IOR('o', 83, struct dtv_properties) >-+/* >-+ * This is broken on linux as well but they workaround it in the driver. >-+ * Since this is impossible to do on FreeBSD fix the header instead. >-+ * Detailed and discussion : >-+ * http://lists.freebsd.org/pipermail/freebsd-multimedia/2010-April/010958.html >-+ */ >-+#define FE_GET_PROPERTY _IOW('o', 83, struct dtv_properties) >- >- >- /** > >Property changes on: multimedia/libv4l/files/patch-include_linux_dvb_frontend.h >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-include_linux_dvb_video.h >=================================================================== >--- multimedia/libv4l/files/patch-include_linux_dvb_video.h (revision 531196) >+++ multimedia/libv4l/files/patch-include_linux_dvb_video.h (nonexistent) >@@ -1,11 +0,0 @@ >---- include/linux/dvb/video.h.orig 2015-01-10 15:05:58.438363362 +0100 >-+++ include/linux/dvb/video.h 2015-01-10 15:06:25.350361374 +0100 >-@@ -133,7 +133,7 @@ >- #define VIDEO_EVENT_FRAME_RATE_CHANGED 2 >- #define VIDEO_EVENT_DECODER_STOPPED 3 >- #define VIDEO_EVENT_VSYNC 4 >-- __kernel_time_t timestamp; >-+ struct timespec timestamp; >- union { >- video_size_t size; >- unsigned int frame_rate; /* in frames per 1000sec */ > >Property changes on: multimedia/libv4l/files/patch-include_linux_dvb_video.h >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-lib_Makefile.in >=================================================================== >--- multimedia/libv4l/files/patch-lib_Makefile.in (revision 531196) >+++ multimedia/libv4l/files/patch-lib_Makefile.in (nonexistent) >@@ -1,13 +0,0 @@ >---- lib/Makefile.in.orig 2015-01-12 10:51:50.193906738 +0100 >-+++ lib/Makefile.in 2015-01-12 10:52:04.848018891 +0100 >-@@ -77,8 +77,8 @@ >- POST_UNINSTALL = : >- build_triplet = @build@ >- host_triplet = @host@ >--@LINUX_OS_TRUE@am__append_1 = \ >--@LINUX_OS_TRUE@ libdvbv5 >-+am__append_1 = \ >-+ libdvbv5 >- >- subdir = lib >- DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am > >Property changes on: multimedia/libv4l/files/patch-lib_Makefile.in >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-lib_include_libdvbv5_descriptors.h >=================================================================== >--- multimedia/libv4l/files/patch-lib_include_libdvbv5_descriptors.h (nonexistent) >+++ multimedia/libv4l/files/patch-lib_include_libdvbv5_descriptors.h (working copy) >@@ -0,0 +1,20 @@ >+--- lib/include/libdvbv5/descriptors.h.orig 2020-04-09 16:29:54 UTC >++++ lib/include/libdvbv5/descriptors.h >+@@ -87,6 +87,9 @@ typedef void (*dvb_table_init_func)(struct dvb_v5_fe_p >+ extern const dvb_table_init_func dvb_table_initializers[256]; >+ >+ #ifndef _DOXYGEN >++#ifdef __FreeBSD__ >++#include <sys/endian.h> >++#else >+ #define bswap16(b) do {\ >+ b = ntohs(b); \ >+ } while (0) >+@@ -94,6 +97,7 @@ extern const dvb_table_init_func dvb_table_initializer >+ #define bswap32(b) do {\ >+ b = ntohl(b); \ >+ } while (0) >++#endif >+ >+ /* Deprecated */ >+ #define DVB_DESC_HEADER() \ > >Property changes on: multimedia/libv4l/files/patch-lib_include_libdvbv5_descriptors.h >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-lib_include_libdvbv5_dvb-frontend.h >=================================================================== >--- multimedia/libv4l/files/patch-lib_include_libdvbv5_dvb-frontend.h (revision 531196) >+++ multimedia/libv4l/files/patch-lib_include_libdvbv5_dvb-frontend.h (working copy) >@@ -1,17 +1,20 @@ >---- ./lib/include/libdvbv5/dvb-frontend.h.orig 2016-09-13 19:57:29.863954000 +0200 >-+++ ./lib/include/libdvbv5/dvb-frontend.h 2016-09-13 19:58:07.703108000 +0200 >-@@ -553,7 +553,13 @@ >- }; >+--- lib/include/libdvbv5/dvb-frontend.h.orig 2020-04-09 16:29:54 UTC >++++ lib/include/libdvbv5/dvb-frontend.h >+@@ -908,7 +908,17 @@ struct dtv_properties { >+ #define FE_DISHNETWORK_SEND_LEGACY_CMD _IO('o', 80) /* unsigned int */ > > #define FE_SET_PROPERTY _IOW('o', 82, struct dtv_properties) >--#define FE_GET_PROPERTY _IOR('o', 83, struct dtv_properties) >-+/* >-+ * This is broken on linux as well but they workaround it in the driver. >++#ifdef __linux__ >+ #define FE_GET_PROPERTY _IOR('o', 83, struct dtv_properties) >++#else >++/* >++ * This is broken on Linux as well but they workaround it in the driver. > + * Since this is impossible to do on FreeBSD fix the header instead. > + * Detailed and discussion : > + * http://lists.freebsd.org/pipermail/freebsd-multimedia/2010-April/010958.html > + */ > +#define FE_GET_PROPERTY _IOW('o', 83, struct dtv_properties) >++#endif > > >- /** >+ /* >Index: multimedia/libv4l/files/patch-lib_libdvbv5_dvb-dev-remote.c >=================================================================== >--- multimedia/libv4l/files/patch-lib_libdvbv5_dvb-dev-remote.c (nonexistent) >+++ multimedia/libv4l/files/patch-lib_libdvbv5_dvb-dev-remote.c (working copy) >@@ -0,0 +1,14 @@ >+--- lib/libdvbv5/dvb-dev-remote.c.orig 2020-04-09 16:29:54 UTC >++++ lib/libdvbv5/dvb-dev-remote.c >+@@ -32,9 +32,11 @@ >+ #include <libudev.h> >+ #include <stdio.h> >+ #include <stdlib.h> >++#include <stdarg.h> >+ #include <locale.h> >+ #include <pthread.h> >+ #include <unistd.h> >++#include <netinet/in.h> >+ #include <resolv.h> >+ #include <string.h> >+ #include <sys/socket.h> > >Property changes on: multimedia/libv4l/files/patch-lib_libdvbv5_dvb-dev-remote.c >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-lib_libv4lconvert_control_libv4lcontrol.c >=================================================================== >--- multimedia/libv4l/files/patch-lib_libv4lconvert_control_libv4lcontrol.c (revision 531196) >+++ multimedia/libv4l/files/patch-lib_libv4lconvert_control_libv4lcontrol.c (working copy) >@@ -1,6 +1,6 @@ >---- lib/libv4lconvert/control/libv4lcontrol.c.orig 2014-07-26 21:33:00.000000000 +0200 >-+++ lib/libv4lconvert/control/libv4lcontrol.c 2015-01-11 09:40:05.521158993 +0100 >-@@ -361,6 +361,16 @@ >+--- lib/libv4lconvert/control/libv4lcontrol.c.orig 2020-04-09 16:29:54 UTC >++++ lib/libv4lconvert/control/libv4lcontrol.c >+@@ -360,6 +360,16 @@ static int v4lcontrol_get_usb_info(struct v4lcontrol_d > unsigned short *vendor_id, unsigned short *product_id, > int *speed) > { >@@ -15,9 +15,9 @@ > + return (0); > +#else > FILE *f; >- int i, minor; >+ int i, minor_dev; > struct stat st; >-@@ -457,6 +467,7 @@ >+@@ -456,6 +466,7 @@ static int v4lcontrol_get_usb_info(struct v4lcontrol_d > return 0; /* Should never happen */ > > return 1; >Index: multimedia/libv4l/files/patch-lib_libv4lconvert_jpeg__memsrcdest.h >=================================================================== >--- multimedia/libv4l/files/patch-lib_libv4lconvert_jpeg__memsrcdest.h (revision 531196) >+++ multimedia/libv4l/files/patch-lib_libv4lconvert_jpeg__memsrcdest.h (nonexistent) >@@ -1,16 +0,0 @@ >---- lib/libv4lconvert/jpeg_memsrcdest.h.orig 2012-05-10 18:10:34 UTC >-+++ lib/libv4lconvert/jpeg_memsrcdest.h >-@@ -1,5 +1,7 @@ >- #include <jpeglib.h> >- >-+#if JPEG_LIB_VERSION < 80 >-+ >- void >- jpeg_mem_src (j_decompress_ptr cinfo, unsigned char * buffer, >- unsigned long bufsize); >-@@ -7,3 +9,5 @@ jpeg_mem_src (j_decompress_ptr cinfo, un >- void >- jpeg_mem_dest (j_compress_ptr cinfo, unsigned char ** outbuffer, >- unsigned long * outsize); >-+ >-+#endif > >Property changes on: multimedia/libv4l/files/patch-lib_libv4lconvert_jpeg__memsrcdest.h >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-lib_libv4lconvert_rgbyuv.c >=================================================================== >--- multimedia/libv4l/files/patch-lib_libv4lconvert_rgbyuv.c (nonexistent) >+++ multimedia/libv4l/files/patch-lib_libv4lconvert_rgbyuv.c (working copy) >@@ -0,0 +1,11 @@ >+--- lib/libv4lconvert/rgbyuv.c.orig 2020-04-09 16:29:54 UTC >++++ lib/libv4lconvert/rgbyuv.c >+@@ -893,7 +893,7 @@ void v4lconvert_nv12_to_yuv420(const unsigned char *sr >+ } >+ >+ for (i = 0; i < height; i++) >+- for (j = 0; i < width; j++) { >++ for (j = 0; j < width; j++) { >+ *ydst++ = *ysrc++; >+ if (((i % 2) == 0) && ((j % 2) == 0)) { >+ *udst++ = *uvsrc++; > >Property changes on: multimedia/libv4l/files/patch-lib_libv4lconvert_rgbyuv.c >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-utils_Makefile.in >=================================================================== >--- multimedia/libv4l/files/patch-utils_Makefile.in (revision 531196) >+++ multimedia/libv4l/files/patch-utils_Makefile.in (nonexistent) >@@ -1,11 +0,0 @@ >---- utils/Makefile.in.orig 2015-01-25 19:52:31.619994565 +0100 >-+++ utils/Makefile.in 2015-01-25 19:53:34.975249497 +0100 >-@@ -374,7 +374,7 @@ >- top_srcdir = @top_srcdir@ >- udevrulesdir = @udevrulesdir@ >- SUBDIRS = dvb libv4l2util libmedia_dev decode_tm6000 keytable \ >-- media-ctl v4l2-compliance v4l2-ctl v4l2-dbg v4l2-sysfs-path \ >-+ v4l2-compliance v4l2-dbg v4l2-sysfs-path \ >- rds-ctl $(am__append_1) $(am__append_2) $(am__append_3) >- all: all-recursive >- > >Property changes on: multimedia/libv4l/files/patch-utils_Makefile.in >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-utils_cec-ctl_msg2ctl.pl >=================================================================== >--- multimedia/libv4l/files/patch-utils_cec-ctl_msg2ctl.pl (nonexistent) >+++ multimedia/libv4l/files/patch-utils_cec-ctl_msg2ctl.pl (working copy) >@@ -0,0 +1,11 @@ >+--- utils/cec-ctl/msg2ctl.pl.orig 2020-04-09 16:29:54 UTC >++++ utils/cec-ctl/msg2ctl.pl >+@@ -49,7 +49,7 @@ sub process_func >+ } >+ my @args = split(/, */, $func_args); >+ my $has_struct = $func_args =~ /struct/; >+- return if ($func_args =~ /__u\d+\s*\*/); >++ return if ($func_args =~ /__u\d+\s*\*/ || $func_args =~ /uint\d+_t\s*\*/); >+ >+ my $cec_msg = $msg; >+ while ($cec_msg ne "" && !exists($msgs{$cec_msg})) { > >Property changes on: multimedia/libv4l/files/patch-utils_cec-ctl_msg2ctl.pl >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-utils_common_ir-encode.c >=================================================================== >--- multimedia/libv4l/files/patch-utils_common_ir-encode.c (nonexistent) >+++ multimedia/libv4l/files/patch-utils_common_ir-encode.c (working copy) >@@ -0,0 +1,322 @@ >+--- utils/common/ir-encode.c.orig 2020-04-09 16:29:54 UTC >++++ utils/common/ir-encode.c >+@@ -34,17 +34,18 @@ static int nec_encode(enum rc_proto proto, unsigned sc >+ const int nec_unit = 562500; >+ int n = 0; >+ >+- void add_byte(unsigned bits) >+- { >+- int i; >+- for (i=0; i<8; i++) { >+- buf[n++] = NS_TO_US(nec_unit); >+- if (bits & (1 << i)) >+- buf[n++] = NS_TO_US(nec_unit * 3); >+- else >+- buf[n++] = NS_TO_US(nec_unit); >+- } >+- } >++#define add_byte(__bits) \ >++ do { \ >++ const unsigned bits = (__bits); \ >++ int i; \ >++ for (i=0; i<8; i++) { \ >++ buf[n++] = NS_TO_US(nec_unit); \ >++ if (bits & (1U << i)) \ >++ buf[n++] = NS_TO_US(nec_unit * 3); \ >++ else \ >++ buf[n++] = NS_TO_US(nec_unit); \ >++ } \ >++ } while (0) >+ >+ buf[n++] = NS_TO_US(nec_unit * 16); >+ buf[n++] = NS_TO_US(nec_unit * 8); >+@@ -73,7 +74,7 @@ static int nec_encode(enum rc_proto proto, unsigned sc >+ } >+ >+ buf[n++] = NS_TO_US(nec_unit); >+- >++#undef add_bits >+ return n; >+ } >+ >+@@ -108,19 +109,21 @@ static int sanyo_encode(enum rc_proto proto, unsigned >+ { >+ const int sanyo_unit = 562500; >+ >+- void add_bits(int bits, int count) >+- { >+- int i; >+- for (i=0; i<count; i++) { >+- *buf++ = NS_TO_US(sanyo_unit); >++#define add_bits(__bits, __count) \ >++ do { \ >++ const unsigned bits = (__bits); \ >++ const int count = (__count); \ >++ int i; \ >++ for (i=0; i<count; i++) { \ >++ *buf++ = NS_TO_US(sanyo_unit); \ >++ \ >++ if (bits & (1U << i)) \ >++ *buf++ = NS_TO_US(sanyo_unit * 3); \ >++ else \ >++ *buf++ = NS_TO_US(sanyo_unit); \ >++ } \ >++ } while (0) >+ >+- if (bits & (1 << i)) >+- *buf++ = NS_TO_US(sanyo_unit * 3); >+- else >+- *buf++ = NS_TO_US(sanyo_unit); >+- } >+- } >+- >+ *buf++ = NS_TO_US(sanyo_unit * 16); >+ *buf++ = NS_TO_US(sanyo_unit * 8); >+ >+@@ -130,7 +133,7 @@ static int sanyo_encode(enum rc_proto proto, unsigned >+ add_bits(~scancode, 8); >+ >+ *buf = NS_TO_US(sanyo_unit); >+- >++#undef add_bits >+ return 87; >+ } >+ >+@@ -138,19 +141,21 @@ static int sharp_encode(enum rc_proto proto, unsigned >+ { >+ const int sharp_unit = 40000; >+ >+- void add_bits(int bits, int count) >+- { >+- int i; >+- for (i=0; i<count; i++) { >+- *buf++ = NS_TO_US(sharp_unit * 8); >++#define add_bits(__bits, __count) \ >++ do { \ >++ const unsigned bits = (__bits); \ >++ const int count = (__count); \ >++ int i; \ >++ for (i=0; i<count; i++) { \ >++ *buf++ = NS_TO_US(sharp_unit * 8); \ >++ \ >++ if (bits & (1U << i)) \ >++ *buf++ = NS_TO_US(sharp_unit * 50); \ >++ else \ >++ *buf++ = NS_TO_US(sharp_unit * 25); \ >++ } \ >++ } while (0) >+ >+- if (bits & (1 << i)) >+- *buf++ = NS_TO_US(sharp_unit * 50); >+- else >+- *buf++ = NS_TO_US(sharp_unit * 25); >+- } >+- } >+- >+ add_bits(scancode >> 8, 5); >+ add_bits(scancode, 8); >+ add_bits(1, 2); >+@@ -162,7 +167,7 @@ static int sharp_encode(enum rc_proto proto, unsigned >+ add_bits(~scancode, 8); >+ add_bits(~1, 2); >+ *buf++ = NS_TO_US(sharp_unit * 8); >+- >++#undef add_bits >+ return (13 + 2) * 4 + 3; >+ } >+ >+@@ -171,19 +176,21 @@ static int sony_encode(enum rc_proto proto, unsigned s >+ const int sony_unit = 600000; >+ int n = 0; >+ >+- void add_bits(int bits, int count) >+- { >+- int i; >+- for (i=0; i<count; i++) { >+- if (bits & (1 << i)) >+- buf[n++] = NS_TO_US(sony_unit * 2); >+- else >+- buf[n++] = NS_TO_US(sony_unit); >++#define add_bits(__bits, __count) \ >++ do { \ >++ const unsigned bits = (__bits); \ >++ const int count = (__count); \ >++ int i; \ >++ for (i=0; i<count; i++) { \ >++ if (bits & (1U << i)) \ >++ buf[n++] = NS_TO_US(sony_unit * 2); \ >++ else \ >++ buf[n++] = NS_TO_US(sony_unit); \ >++ \ >++ buf[n++] = NS_TO_US(sony_unit); \ >++ } \ >++ } while (0) >+ >+- buf[n++] = NS_TO_US(sony_unit); >+- } >+- } >+- >+ buf[n++] = NS_TO_US(sony_unit * 4); >+ buf[n++] = NS_TO_US(sony_unit); >+ >+@@ -204,7 +211,7 @@ static int sony_encode(enum rc_proto proto, unsigned s >+ default: >+ return 0; >+ } >+- >++#undef add_bits >+ /* ignore last space */ >+ return n - 1; >+ } >+@@ -214,34 +221,38 @@ static int rc5_encode(enum rc_proto proto, unsigned sc >+ const unsigned int rc5_unit = 888888; >+ unsigned n = 0; >+ >+- void advance_space(unsigned length) >+- { >+- if (n % 2) >+- buf[n] += length; >+- else >+- buf[++n] = length; >+- } >++#define advance_space(__length) \ >++ do { \ >++ const unsigned length = (__length); \ >++ if (n % 2) \ >++ buf[n] += length; \ >++ else \ >++ buf[++n] = length; \ >++ } while (0) >+ >+- void advance_pulse(unsigned length) >+- { >+- if (n % 2) >+- buf[++n] = length; >+- else >+- buf[n] += length; >+- } >++#define advance_pulse(__length) \ >++ do { \ >++ const unsigned length = (__length); \ >++ if (n % 2) \ >++ buf[++n] = length; \ >++ else \ >++ buf[n] += length; \ >++ } while (0) >+ >+- void add_bits(int bits, int count) >+- { >+- while (count--) { >+- if (bits & (1 << count)) { >+- advance_space(NS_TO_US(rc5_unit)); >+- advance_pulse(NS_TO_US(rc5_unit)); >+- } else { >+- advance_pulse(NS_TO_US(rc5_unit)); >+- advance_space(NS_TO_US(rc5_unit)); >+- } >+- } >+- } >++#define add_bits(__bits, __count) \ >++ do { \ >++ const unsigned bits = (__bits); \ >++ int count = (__count); \ >++ while (count--) { \ >++ if (bits & (1U << count)) { \ >++ advance_space(NS_TO_US(rc5_unit)); \ >++ advance_pulse(NS_TO_US(rc5_unit)); \ >++ } else { \ >++ advance_pulse(NS_TO_US(rc5_unit)); \ >++ advance_space(NS_TO_US(rc5_unit)); \ >++ } \ >++ } \ >++ } while (0) >+ >+ buf[n] = NS_TO_US(rc5_unit); >+ >+@@ -269,7 +280,9 @@ static int rc5_encode(enum rc_proto proto, unsigned sc >+ add_bits(scancode, 6); >+ break; >+ } >+- >++#undef advance_space >++#undef advance_pulse >++#undef add_bits >+ /* drop any trailing pulse */ >+ return (n % 2) ? n : n + 1; >+ } >+@@ -279,34 +292,38 @@ static int rc6_encode(enum rc_proto proto, unsigned sc >+ const unsigned int rc6_unit = 444444; >+ unsigned n = 0; >+ >+- void advance_space(unsigned length) >+- { >+- if (n % 2) >+- buf[n] += length; >+- else >+- buf[++n] = length; >+- } >++#define advance_space(__length) \ >++ do { \ >++ const unsigned length = (__length); \ >++ if (n % 2) \ >++ buf[n] += length; \ >++ else \ >++ buf[++n] = length; \ >++ } while (0) >+ >+- void advance_pulse(unsigned length) >+- { >+- if (n % 2) >+- buf[++n] = length; >+- else >+- buf[n] += length; >+- } >++#define advance_pulse(__length) \ >++ do { \ >++ const unsigned length = (__length); \ >++ if (n % 2) \ >++ buf[++n] = length; \ >++ else \ >++ buf[n] += length; \ >++ } while (0) >+ >+- void add_bits(unsigned bits, unsigned count, unsigned length) >+- { >+- while (count--) { >+- if (bits & (1 << count)) { >+- advance_pulse(length); >+- advance_space(length); >+- } else { >+- advance_space(length); >+- advance_pulse(length); >+- } >+- } >+- } >++#define add_bits(__bits, __count, length) \ >++ do { \ >++ const unsigned bits = (__bits); \ >++ int count = (__count); \ >++ while (count--) { \ >++ if (bits & (1U << count)) { \ >++ advance_pulse(length); \ >++ advance_space(length); \ >++ } else { \ >++ advance_space(length); \ >++ advance_pulse(length); \ >++ } \ >++ } \ >++ } while (0) >+ >+ buf[n++] = NS_TO_US(rc6_unit * 6); >+ buf[n++] = NS_TO_US(rc6_unit * 2); >+@@ -337,7 +354,9 @@ static int rc6_encode(enum rc_proto proto, unsigned sc >+ add_bits(scancode, 32, NS_TO_US(rc6_unit)); >+ break; >+ } >+- >++#undef advance_space >++#undef advance_pulse >++#undef add_bits >+ /* drop any trailing pulse */ >+ return (n % 2) ? n : n + 1; >+ } > >Property changes on: multimedia/libv4l/files/patch-utils_common_ir-encode.c >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-utils_common_keymap.h >=================================================================== >--- multimedia/libv4l/files/patch-utils_common_keymap.h (nonexistent) >+++ multimedia/libv4l/files/patch-utils_common_keymap.h (working copy) >@@ -0,0 +1,32 @@ >+--- utils/common/keymap.h.orig 2020-04-09 16:29:54 UTC >++++ utils/common/keymap.h >+@@ -2,6 +2,8 @@ >+ #ifndef __KEYMAP_H >+ #define __KEYMAP_H >+ >++#include <stdint.h> >++ >+ struct keymap { >+ struct keymap *next; >+ char *name; >+@@ -20,16 +22,16 @@ struct protocol_param { >+ >+ struct scancode_entry { >+ struct scancode_entry *next; >+- u_int32_t scancode; >++ uint32_t scancode; >+ char *keycode; >+ }; >+ >+ struct raw_entry { >+ struct raw_entry *next; >+- u_int32_t scancode; >+- u_int32_t raw_length; >++ uint32_t scancode; >++ uint32_t raw_length; >+ char *keycode; >+- u_int32_t raw[1]; >++ uint32_t raw[1]; >+ }; >+ >+ void free_keymap(struct keymap *map); > >Property changes on: multimedia/libv4l/files/patch-utils_common_keymap.h >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-utils_common_v4l2-tpg.h >=================================================================== >--- multimedia/libv4l/files/patch-utils_common_v4l2-tpg.h (nonexistent) >+++ multimedia/libv4l/files/patch-utils_common_v4l2-tpg.h (working copy) >@@ -0,0 +1,12 @@ >+--- utils/common/v4l2-tpg.h.orig 2020-04-09 16:29:54 UTC >++++ utils/common/v4l2-tpg.h >+@@ -22,7 +22,9 @@ typedef int16_t s16; >+ typedef uint8_t u8; >+ typedef int8_t s8; >+ >++#ifndef __packed >+ #define __packed __attribute__((packed)) >++#endif >+ #define pr_info printf >+ #define noinline >+ > >Property changes on: multimedia/libv4l/files/patch-utils_common_v4l2-tpg.h >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-utils_dvb_dvbv5-daemon.c >=================================================================== >--- multimedia/libv4l/files/patch-utils_dvb_dvbv5-daemon.c (nonexistent) >+++ multimedia/libv4l/files/patch-utils_dvb_dvbv5-daemon.c (working copy) >@@ -0,0 +1,14 @@ >+--- utils/dvb/dvbv5-daemon.c.orig 2020-04-09 16:29:54 UTC >++++ utils/dvb/dvbv5-daemon.c >+@@ -18,7 +18,11 @@ >+ * >+ */ >+ >++#ifndef __FreeBSD__ >+ #define _XOPEN_SOURCE 600 >++#else >++#define tdestroy(...) do {} while (0) >++#endif >+ >+ #define _FILE_OFFSET_BITS 64 >+ #define _LARGEFILE_SOURCE 1 > >Property changes on: multimedia/libv4l/files/patch-utils_dvb_dvbv5-daemon.c >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-utils_ir-ctl_bpf__encoder.c >=================================================================== >--- multimedia/libv4l/files/patch-utils_ir-ctl_bpf__encoder.c (nonexistent) >+++ multimedia/libv4l/files/patch-utils_ir-ctl_bpf__encoder.c (working copy) >@@ -0,0 +1,50 @@ >+--- utils/ir-ctl/bpf_encoder.c.orig 2020-04-09 16:29:54 UTC >++++ utils/ir-ctl/bpf_encoder.c >+@@ -84,21 +84,23 @@ static void encode_manchester(struct keymap *map, uint >+ { >+ int len = 0, bits, i; >+ >+- void advance_space(unsigned length) >+- { >+- if (len % 2) >+- buf[len] += length; >+- else >+- buf[++len] = length; >+- } >++#define advance_space(__length) \ >++ do { \ >++ const unsigned length = (__length); \ >++ if (len % 2) \ >++ buf[len] += length; \ >++ else \ >++ buf[++len] = length; \ >++ } while (0) >+ >+- void advance_pulse(unsigned length) >+- { >+- if (len % 2) >+- buf[++len] = length; >+- else >+- buf[len] += length; >+- } >++#define advance_pulse(__length) \ >++ do { \ >++ const unsigned length = (__length); \ >++ if (len % 2) \ >++ buf[++len] = length; \ >++ else \ >++ buf[len] += length; \ >++ } while (0) >+ >+ bits = keymap_param(map, "bits", 14); >+ >+@@ -111,7 +113,8 @@ static void encode_manchester(struct keymap *map, uint >+ advance_pulse(keymap_param(map, "zero_pulse", 888)); >+ } >+ } >+- >++#undef advance_space >++#undef advance_pulse >+ /* drop any trailing pulse */ >+ *length = (len % 2) ? len : len + 1; >+ } > >Property changes on: multimedia/libv4l/files/patch-utils_ir-ctl_bpf__encoder.c >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-utils_ir-ctl_ir-ctl.c >=================================================================== >--- multimedia/libv4l/files/patch-utils_ir-ctl_ir-ctl.c (nonexistent) >+++ multimedia/libv4l/files/patch-utils_ir-ctl_ir-ctl.c (working copy) >@@ -0,0 +1,10 @@ >+--- utils/ir-ctl/ir-ctl.c.orig 2020-04-09 16:29:54 UTC >++++ utils/ir-ctl/ir-ctl.c >+@@ -18,6 +18,7 @@ >+ #include <stdlib.h> >+ #include <stdbool.h> >+ #include <stdint.h> >++#include <string.h> >+ #include <sys/types.h> >+ #include <sys/stat.h> >+ #include <sys/ioctl.h> > >Property changes on: multimedia/libv4l/files/patch-utils_ir-ctl_ir-ctl.c >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-utils_media-ctl_media-ctl.c >=================================================================== >--- multimedia/libv4l/files/patch-utils_media-ctl_media-ctl.c (nonexistent) >+++ multimedia/libv4l/files/patch-utils_media-ctl_media-ctl.c (working copy) >@@ -0,0 +1,11 @@ >+--- utils/media-ctl/media-ctl.c.orig 2020-04-09 16:29:54 UTC >++++ utils/media-ctl/media-ctl.c >+@@ -213,7 +213,7 @@ static void v4l2_subdev_print_dv_timings(const struct >+ >+ printf(" %ux%u%s%llu (%ux%u)", >+ bt->width, bt->height, bt->interlaced ? "i" : "p", >+- (htotal * vtotal) > 0 ? (bt->pixelclock / (htotal * vtotal)) : 0, >++ ((htotal * vtotal) > 0 ? (bt->pixelclock / (htotal * vtotal)) : 0ULL), >+ htotal, vtotal); >+ >+ printf(" stds:"); > >Property changes on: multimedia/libv4l/files/patch-utils_media-ctl_media-ctl.c >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-utils_v4l2-compliance_v4l2-test-buffers.cpp >=================================================================== >--- multimedia/libv4l/files/patch-utils_v4l2-compliance_v4l2-test-buffers.cpp (nonexistent) >+++ multimedia/libv4l/files/patch-utils_v4l2-compliance_v4l2-test-buffers.cpp (working copy) >@@ -0,0 +1,30 @@ >+--- utils/v4l2-compliance/v4l2-test-buffers.cpp.orig 2020-04-09 16:29:54 UTC >++++ utils/v4l2-compliance/v4l2-test-buffers.cpp >+@@ -22,6 +22,7 @@ >+ #include <stdlib.h> >+ #include <stdio.h> >+ #include <string.h> >++#include <signal.h> >+ #include <inttypes.h> >+ #include <sys/types.h> >+ #include <sys/stat.h> >+@@ -48,8 +49,8 @@ >+ #define VIVID_CID_QUEUE_ERROR (VIVID_CID_VIVID_BASE + 70) >+ #define VIVID_CID_REQ_VALIDATE_ERROR (VIVID_CID_VIVID_BASE + 72) >+ >+-static struct cv4l_fmt cur_fmt; >+-static struct cv4l_fmt cur_m2m_fmt; >++static cv4l_fmt cur_fmt; >++static cv4l_fmt cur_m2m_fmt; >+ static int stream_from_fd = -1; >+ static bool stream_use_hdr; >+ >+@@ -354,7 +355,7 @@ int buffer::check(unsigned type, unsigned memory, unsi >+ unsigned timestamp_src = g_timestamp_src(); >+ unsigned frame_types = 0; >+ unsigned buf_states = 0; >+- const struct cv4l_fmt &fmt = is_m2m ? cur_m2m_fmt : cur_fmt; >++ const cv4l_fmt &fmt = is_m2m ? cur_m2m_fmt : cur_fmt; >+ >+ fail_on_test(g_type() != type); >+ fail_on_test(g_memory() == 0); > >Property changes on: multimedia/libv4l/files/patch-utils_v4l2-compliance_v4l2-test-buffers.cpp >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-utils_v4l2-ctl_v4l2-ctl-overlay.cpp >=================================================================== >--- multimedia/libv4l/files/patch-utils_v4l2-ctl_v4l2-ctl-overlay.cpp (nonexistent) >+++ multimedia/libv4l/files/patch-utils_v4l2-ctl_v4l2-ctl-overlay.cpp (working copy) >@@ -0,0 +1,42 @@ >+--- utils/v4l2-ctl/v4l2-ctl-overlay.cpp.orig 2020-04-09 16:29:54 UTC >++++ utils/v4l2-ctl/v4l2-ctl-overlay.cpp >+@@ -14,11 +14,12 @@ >+ #include <dirent.h> >+ #include <math.h> >+ >++#include "v4l2-ctl.h" >++ >++#ifndef __FreeBSD__ >+ #include <linux/fb.h> >+ #include <vector> >+ >+-#include "v4l2-ctl.h" >+- >+ static unsigned int set_fbuf; >+ static unsigned int set_overlay_fmt; >+ static struct v4l2_format overlay_fmt; /* set_format/get_format video overlay */ >+@@ -546,3 +547,24 @@ void overlay_list(cv4l_fd &fd) >+ if (options[OptFindFb]) >+ find_fb(fd.g_fd()); >+ } >++#else >++void overlay_usage(void) >++{ >++} >++ >++void overlay_cmd(int ch, char *optarg) >++{ >++} >++ >++void overlay_set(cv4l_fd &_fd) >++{ >++} >++ >++void overlay_get(cv4l_fd &_fd) >++{ >++} >++ >++void overlay_list(cv4l_fd &fd) >++{ >++} >++#endif > >Property changes on: multimedia/libv4l/files/patch-utils_v4l2-ctl_v4l2-ctl-overlay.cpp >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/libv4l/files/patch-utils_v4l2-ctl_v4l2-ctl.cpp >=================================================================== >--- multimedia/libv4l/files/patch-utils_v4l2-ctl_v4l2-ctl.cpp (revision 531196) >+++ multimedia/libv4l/files/patch-utils_v4l2-ctl_v4l2-ctl.cpp (nonexistent) >@@ -1,54 +0,0 @@ >---- utils/v4l2-ctl/v4l2-ctl.cpp.orig 2015-06-14 00:23:03.316457000 -0400 >-+++ utils/v4l2-ctl/v4l2-ctl.cpp 2015-06-14 00:28:46.421843000 -0400 >-@@ -614,9 +614,50 @@ static std::string cap2s(unsigned cap) >- return s; >- } >- >-+#if __FreeBSD_version < 1000000 >-+/* from FreeBSD src/lib/libc/string/strchrnul.c: */ >-+ >-+char *strchrnul(const char *p, int ch); >-+ >-+char * >-+strchrnul(const char *p, int ch) >-+{ >-+ char c; >-+ >-+ c = ch; >-+ for (;; ++p) { >-+ if (*p == c || *p == '\0') >-+ return ((char *)p); >-+ } >-+ /* NOTREACHED */ >-+} >-+#endif >-+ >-+int >-+my_getsubopt(char **optionp, char *const *tokens, char **valuep) >-+{ >-+ char *endp, *vstart; >-+ int cnt; >-+ >-+ if (**optionp == '\0') >-+ return -1; >-+ >-+ /* Find end of next token. */ >-+ endp = strchrnul (*optionp, ','); >-+ >-+ /* The current suboption does not match any option. */ >-+ *valuep = *optionp; >-+ >-+ if (*endp != '\0') >-+ *endp++ = '\0'; >-+ *optionp = endp; >-+ >-+ return -1; >-+} >-+ >- int parse_subopt(char **subs, const char * const *subopts, char **value) >- { >-- int opt = getsubopt(subs, (char * const *)subopts, value); >-+ int opt = my_getsubopt(subs, (char * const *)subopts, value); >- >- if (opt == -1) { >- fprintf(stderr, "Invalid suboptions specified\n"); > >Property changes on: multimedia/libv4l/files/patch-utils_v4l2-ctl_v4l2-ctl.cpp >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: multimedia/libv4l/pkg-plist >=================================================================== >--- multimedia/libv4l/pkg-plist (revision 531196) >+++ multimedia/libv4l/pkg-plist (working copy) >@@ -1,6 +1,7 @@ > include/libdvbv5/atsc_eit.h > include/libdvbv5/atsc_header.h > include/libdvbv5/cat.h >+include/libdvbv5/countries.h > include/libdvbv5/crc32.h > include/libdvbv5/desc_atsc_service_location.h > include/libdvbv5/desc_ca.h >@@ -23,6 +24,7 @@ > include/libdvbv5/desc_ts_info.h > include/libdvbv5/descriptors.h > include/libdvbv5/dvb-demux.h >+include/libdvbv5/dvb-dev.h > include/libdvbv5/dvb-fe.h > include/libdvbv5/dvb-file.h > include/libdvbv5/dvb-frontend.h >@@ -32,6 +34,7 @@ > include/libdvbv5/dvb-v5-std.h > include/libdvbv5/eit.h > include/libdvbv5/header.h >+include/libdvbv5/libdvb-version.h > include/libdvbv5/mgt.h > include/libdvbv5/mpeg_es.h > include/libdvbv5/mpeg_pes.h >Index: multimedia/v4l-utils/Makefile >=================================================================== >--- multimedia/v4l-utils/Makefile (revision 531199) >+++ multimedia/v4l-utils/Makefile (working copy) >@@ -2,7 +2,6 @@ > # $FreeBSD$ > > PORTNAME?= v4l-utils >-PORTREVISION= 0 > > COMMENT= Video4Linux utilities > >Index: multimedia/v4l-utils/pkg-plist >=================================================================== >--- multimedia/v4l-utils/pkg-plist (revision 531196) >+++ multimedia/v4l-utils/pkg-plist (working copy) >@@ -1,17 +1,32 @@ >-bin/decode_tm6000 >+bin/ivtv-ctl >+bin/ir-ctl >+bin/cx18-ctl >+bin/ir-keytable >+bin/media-ctl >+bin/v4l2-ctl >+@comment bin/v4l2-sysfs-path >+bin/cec-ctl >+bin/cec-compliance >+bin/cec-follower >+bin/rds-ctl > bin/dvb-fe-tool >+bin/dvbv5-zap >+bin/dvbv5-scan > bin/dvb-format-convert >-bin/dvbv5-scan >-bin/dvbv5-zap >-bin/ir-keytable >-bin/rds-ctl >+bin/dvbv5-daemon > bin/v4l2-compliance >-@comment bin/v4l2-sysfs-path > etc/rc_maps.cfg >+man/man1/v4l2-ctl.1.gz >+man/man1/cec-ctl.1.gz >+man/man1/cec-compliance.1.gz >+man/man1/cec-follower.1.gz > man/man1/dvb-fe-tool.1.gz >-man/man1/dvb-format-convert.1.gz >+man/man1/dvbv5-zap.1.gz > man/man1/dvbv5-scan.1.gz >-man/man1/dvbv5-zap.1.gz >+man/man1/v4l2-compliance.1.gz >+man/man1/ir-ctl.1.gz > man/man1/ir-keytable.1.gz >+man/man1/dvb-format-convert.1.gz >+man/man5/rc_keymap.5.gz > sbin/v4l2-dbg > @dir etc/rc_keymaps >Index: multimedia/v4l_compat/Makefile >=================================================================== >--- multimedia/v4l_compat/Makefile (revision 531199) >+++ multimedia/v4l_compat/Makefile (working copy) >@@ -1,7 +1,6 @@ > # $FreeBSD$ > > PORTNAME= v4l_compat >-PORTREVISION= 3 > > COMMENT= Video4Linux IOCTL header files > >@@ -9,33 +8,44 @@ > NO_ARCH= yes > > MASTERDIR= ${.CURDIR}/../libv4l >-EXTRADIR= ${WRKSRC}/../linux > DESCR= ${.CURDIR}/pkg-descr > PLIST= ${.CURDIR}/pkg-plist > >-BASE_HEADERS= ivtv.h v4l2-controls.h \ >- v4l2-common.h videodev2.h >-DVB_HEADERS= audio.h dmx.h frontend.h video.h >-EXTRA_HEADERS= ca.h net.h osd.h version.h >+BASE_HEADERS= \ >+ linux/cec.h \ >+ linux/cec-funcs.h \ >+ linux/dvb/audio.h \ >+ linux/dvb/ca.h \ >+ linux/dvb/dmx.h \ >+ linux/dvb/frontend.h \ >+ linux/dvb/net.h \ >+ linux/dvb/osd.h \ >+ linux/dvb/version.h \ >+ linux/dvb/video.h \ >+ linux/input.h \ >+ linux/input-event-codes.h \ >+ linux/ivtv.h \ >+ linux/lirc.h \ >+ linux/media.h \ >+ linux/media-bus-format.h \ >+ linux/v4l2-common.h \ >+ linux/v4l2-controls.h \ >+ linux/v4l2-mediabus.h \ >+ linux/v4l2-subdev.h \ >+ linux/videodev2.h > > do-install: >- @${MKDIR} ${STAGEDIR}${PREFIX}/include/linux/dvb/ >-.for i in ${BASE_HEADERS} >- ${INSTALL_DATA} ${WRKSRC}/contrib/freebsd/include/linux/${i} \ >- ${STAGEDIR}${PREFIX}/include/linux/ >+ @${MKDIR} ${STAGEDIR}${PREFIX}/include/linux/dvb >+ >+.for F in ${BASE_HEADERS} >+ ${INSTALL_DATA} \ >+ ${WRKDIR}/webcamd-${WEBCAMDVERSION}/media_tree/include/uapi/${F} \ >+ ${STAGEDIR}${PREFIX}/include/${F} > .endfor >-.for i in ${DVB_HEADERS} >- ${INSTALL_DATA} ${WRKSRC}/include/linux/dvb/${i} \ >- ${STAGEDIR}${PREFIX}/include/linux/dvb >-.endfor >-# V4L1 is dead in linux, however webcamd still supports it. >- ${INSTALL_DATA} ${FILESDIR}/videodev.h \ >+ >+# V4L1 is dead in upstream Linux, however libv4l still supports it. >+ ${INSTALL_DATA} \ >+ ${FILESDIR}/videodev.h \ > ${STAGEDIR}${PREFIX}/include/linux/ >-# Extra dvb headers supplied taken from the linux kernel distfile. >-# vdr and the gst dvb plugin need them at least >-.for i in ${EXTRA_HEADERS} >- ${INSTALL_DATA} ${EXTRADIR}/dvb/${i} \ >- ${STAGEDIR}${PREFIX}/include/linux/dvb/ >-.endfor > > .include "${MASTERDIR}/Makefile" >Index: multimedia/v4l_compat/pkg-plist >=================================================================== >--- multimedia/v4l_compat/pkg-plist (revision 531196) >+++ multimedia/v4l_compat/pkg-plist (working copy) >@@ -1,13 +1,22 @@ >+include/linux/cec.h >+include/linux/cec-funcs.h > include/linux/dvb/audio.h > include/linux/dvb/ca.h > include/linux/dvb/dmx.h >+include/linux/dvb/frontend.h > include/linux/dvb/net.h >-include/linux/dvb/frontend.h > include/linux/dvb/osd.h > include/linux/dvb/version.h > include/linux/dvb/video.h >+include/linux/input.h >+include/linux/input-event-codes.h > include/linux/ivtv.h >+include/linux/lirc.h >+include/linux/media.h >+include/linux/media-bus-format.h > include/linux/v4l2-common.h > include/linux/v4l2-controls.h >+include/linux/v4l2-mediabus.h >+include/linux/v4l2-subdev.h > include/linux/videodev.h > include/linux/videodev2.h
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 245501
:
213244
|
213278
|
213396