Video standards

Updated: May 27, 2022

The video capture API includes constants that specify the video capture video standard properties.

Definitions:

#define CAPTURE_FLAG_ALLOW_UNBLOCK UINT32_C(0x0004)

Indicate capture_get_frame should return immediately (usually with an EINTR error) when CAPTURE_PROPERTY_UNBLOCK is set.

Normally this would be used to watch for device-specific events. Verify that CAPTURE_PROPERTY_UNBLOCK is supported before using the flag.

#define CAPTURE_PROPERTY_NORM CAPTURE_PROPERTY( 'Q', 'N', 'O', 'R' )

Set the video standard.

Refer to Video standard macros.

Read/Write const char *

#define CAPTURE_PROPERTY_UNBLOCK CAPTURE_PROPERTY( 'Q', 'U', 'B', 'L' )

When written, unblock any active capture_get_frame call; if not blocked in this function, cause the next capture_get_frame call to return immediately.

Usually EINTR would be returned, or ESRCH if the capture driver is known to be in an unrecoverable state.

Write uint32_t (0, or a device-specific value)

#define CAPTURE_NORM_AUTO "AUTO"

Use auto-detection to get the video standard.

Read/Write const char *

#define CAPTURE_PROPERTY_CURRENT_NORM CAPTURE_PROPERTY( 'Q', 'Q', 'N', 'M' )

Return the current detected video standard.

Refer to Video standard macros.

Read const char *

#define CAPTURE_NORM_NONE "NONE"

Video standard can't be detected; either there's no input, or the video signal is lost.

#define CAPTURE_NORM_UNKNOWN "UNKNOWN"

Detected standard is not known.

#define CAPTURE_NORM_NTSC_M_J "NTSC_M_J"

The video standard macros are common for CAPTURE_PROPERTY_NORM and CAPTURE_PROPERTY_CURRENT_NORM.

#define CAPTURE_NORM_NTSC_4_43 "NTSC_4_43"

A pseudo-color system that transmits NTSC encoding (not a broadcast format)

#define CAPTURE_NORM_PAL_M "PAL_M"

PAL format that uses 525 lines and 59.94 fields per second; this video standard is used in Brazil.

#define CAPTURE_NORM_PAL_B_G_H_I_D "PAL_B_G_H_I_D"

PAL format using 625 lines and 50 fields per second with various signal characteristics and color encodings.

#define CAPTURE_NORM_PAL_COMBINATION_N "PAL_COMBINATION_N"

PAL format with narrow bandwidth that's used in Argentina, Paraguay, and Uruguay.

#define CAPTURE_NORM_PAL_60 "PAL_60"

Multi-system PAL support that uses 525 lines and 60 fields per second (not a broadcast format)

#define CAPTURE_NORM_SECAM "SECAM"

Video standard used mainly in France.

#define CAPTURE_NORM_CEA_640X480P_60HZ "640x480p@60"

VIC Format 1, based on CEA-861-E specification.

#define CAPTURE_NORM_CEA_720X480P_60HZ "720x480p@60"

VIC Format 2, based on CEA-861-E specification.

#define CAPTURE_NORM_CEA_1280X720P_60HZ "1280x720p@60"

VIC Format 4, based on CEA-861-E specification.

#define CAPTURE_NORM_CEA_1920X1080I_60HZ "1920x1080i@60"

VIC Format 5, based on CEA-861-E specification.

#define CAPTURE_NORM_CEA_720X480I_60HZ "720x480i@60"

VIC Format 6, based on CEA-861-E specification.

#define CAPTURE_NORM_CEA_1920X1080P_60HZ "1920x1080p@60"

VIC Format 16, based on CEA-861-E specification.

#define CAPTURE_NORM_CEA_720X576P_50HZ "720x576p@50"

VIC Format 17, based on CEA-861-E specification.

#define CAPTURE_NORM_CEA_1920X1080P_50HZ "1920x1080p@50"

VIC Format 20, based on CEA-861-E specification.

#define CAPTURE_NORM_CEA_720X576I_50HZ "720x576i@50"

VIC Format 21, based on CEA-861-E specification.

#define CAPTURE_NORM_CEA_1920X1080P_24HZ "1920x1080p@24"

VIC Format 32, based on CEA-861-E specification.

#define CAPTURE_NORM_CEA_1920X1080P_25HZ "1920x1080p@25"

VIC Format 33, based on CEA-861-E specification.

#define CAPTURE_NORM_CEA_1920X1080P_30HZ "1920x1080p@30"

VIC Format 34, based on CEA-861-E specification.