19 Commits

Author SHA1 Message Date
Kurt Kartaltepe
23feac1323 linux-v4l2: Use decoded MJPEG pixel format
Previously we assumed mjpeg was always decoded to 422 but it seems some
cameras provide frames that decode to different pixel formats such as
420.

This change delays setting the obs frame pixel format until after we
have decoded the v4l2 frame.

fixes #5821
2022-02-19 23:53:41 -03:00
Morten Bøgeskov
1c2aea4f89 linux-v4l2: Support for Motion-JPEG codec 2021-11-02 06:04:54 -07:00
Piotr Esden-Tempski
d7ec87ff0e linux-v4l2: Add auto reset on timeout option
Adds frame time multiple based timeout option, instead of the hardcoded
1 second timeout.

Adds optional automatic device stream reset when the device times out.
Helps with devices that "lock up" or "freeze", for example Magewell and
Elgato USB HDMI capture devices.

The automatic reset is by default off and optional. Turning it on can
cause issues for devices that work but drop a lot of frames.
2021-01-20 16:45:05 -08:00
Piotr Esden-Tempski
bb264b2b33 linux-v4l2: Improve error and debug logging
The capture loop errors are now logged as such.
Increased the amount of information logged in debug mode, including
state of all buffers on timeout.
Add device name to all capture loop debug output, especially useful when
debugging issues with multiple v4l2 video streams.
2021-01-12 09:33:11 -08:00
jp9000
f53df7da64 clang-format: Apply formatting
Code submissions have continually suffered from formatting
inconsistencies that constantly have to be addressed.  Using
clang-format simplifies this by making code formatting more consistent,
and allows automation of the code formatting so that maintainers can
focus more on the code itself instead of code formatting.
2019-06-23 23:49:10 -07:00
James Park
614025742b libobs: linux-v412: obs-ffmpeg: Add packed BGR3 video support
Someone mentioned this format preserves the most quality for a
particular capture card using V4L2.
2019-05-30 06:05:53 -07:00
Tjienta Vara
a92bd6b99a linux-v4l2: Add 4k and 21:9 resolutions
Add the following 16:9 4k resolutions:
 - 2560x1440
 - 3840x2160

Add the following 21:9 2k and 4k resolutions:
 - 2560x1080
 - 3440x1440
 - 5120x2160
2018-01-02 18:44:27 +01:00
fryshorts
161552beb8 linux-v4l2: Fix compile error for missing formats
Add ifdefs around the video format definitions in order to allow for
compilation with older kernel headers that don't yet have those defined.
2015-04-20 20:53:30 +02:00
fryshorts
3f4174a8c0 linux-v4l2: Add additional video formats
Add BGRX and BGRA as supported video formats, since obs can handle them
directly. I unfortunately missed those when i initially wrote this
mapping due to my webcam not offering those formats.
2015-04-20 20:09:14 +02:00
fryshorts
9734c6a49d linux-v4l2: Fix documentation
Change argument name in documentation to match the code.
2015-04-08 23:02:58 +02:00
fryshorts
707047a31e linux-v4l2: Fix documentation
Remove argument in documentation that does not exist in the code.
2015-04-08 23:02:58 +02:00
fryshorts
99b6a018cc linux-v4l2: Add helper function to set dv timing
Add a helper function to set the dv timing for the input.
2015-02-24 23:32:46 +01:00
fryshorts
0a6cf208f1 linux-v4l2: Add helper function to get dv timings
Add a helper function to get a dv timing by index for the input.
2015-02-24 23:32:46 +01:00
fryshorts
7dc9069c1b linux-v4l2: Add helper function for video standard
Add a helper function to get/set the video standard for the input.
2015-02-23 21:27:08 +01:00
fryshorts
96b994afb2 linux-v4l2: Add helper function to get input caps
Add a helper function to get the capabilities of a specific or the
currently selected input of the device.
2015-02-23 20:34:44 +01:00
fryshorts
dcd395f77e Use helper function to set framerate in v4l2 input. 2014-09-16 00:11:36 +02:00
fryshorts
6c8216c6a6 Use helper function to set format in v4l2 input.
Since the helper function also needs to pack/unpack the resolution, the
pack/unpack functions were moved to the helper library and prefixed with
v4l2_ in order to avoid possible collisions.
2014-09-16 00:11:28 +02:00
fryshorts
8d95a7fb47 Use helper function to set input in v4l2 input. 2014-09-16 00:09:16 +02:00
fryshorts
71200051b0 Move some functions to separate file for v4l2 plugin.
This moves some functions that are generic to a separate source
file. While doing so the api to those functions was improved to
be more generic and not depend on knowledge about the internal
structure of the plugin.
2014-08-11 23:35:43 +02:00