IAMAnalogVideoDecoder Interface

The IAMAnalogVideoDecoder interface specifies and retrieves information about the process of video digitization. It contains methods for selecting the digitization format, indicating the horizontal lock status, and controlling the time constant on the digitizer phase lock loop (PLL).

Implement this interface on Microsoft® DirectShow® filters that control hardware devices that digitize analog video signals.

Applications should use this interface to select and control the various aspects of video digitization, such as getting and setting the supported analog video format, determining whether the horizontal sync is locked, and retrieving other various information about the digitization format.

Methods in Vtable Order

IUnknown methodsDescription
QueryInterface Retrieves pointers to supported interfaces.
AddRef Increments the reference count.
Release Decrements the reference count.
IAMAnalogVideoDecoder methodsDescription
get_AvailableTVFormats Retrieves the currently available analog video formats.
put_TVFormat Sets the current analog video format.
get_TVFormat Retrieves the current analog video format.
get_HorizontalLocked Determines whether the horizontal sync is locked.
put_VCRHorizontalLocking Sets the condition for being connected to a VCR (changes PLL timing).
get_VCRHorizontalLocking Determines whether horizontal locking has been set.
get_NumberOfLines Retrieves the number of horizontal lines in the current video signal.
put_OutputEnable Enables or disables the output bus.
get_OutputEnable Determines whether the output bus is enabled.

IAMAnalogVideoDecoder::get_AvailableTVFormats

IAMAnalogVideoDecoder Interface

Retrieves the currently available analog video formats.

Syntax

HRESULT get_AvailableTVFormats(
    long *lAnalogVideoStandard
    );

Parameters

lAnalogVideoStandard
[out] Pointer to an integer that represents the available analog video formats. This can potentially be several values from the AnalogVideoStandard enumerated type, combined by a logical OR operation.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.

E_FAILFailure.
E_INVALIDARG Argument is invalid.
E_NOTIMPLMethod is not supported.
E_POINTER Null pointer argument.
S_OK Success.

IAMAnalogVideoDecoder::get_HorizontalLocked

IAMAnalogVideoDecoder Interface

Determines whether the horizontal sync is locked.

Syntax

HRESULT get_HorizontalLocked(
    long *plLocked
    );

Parameters

plLocked
[out] Pointer to a value indicating whether the horizontal sync is locked; TRUE indicates the horizontal sync is locked, FALSE indicates that it is not.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.

E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_POINTER Null pointer argument.
S_OK Success.

IAMAnalogVideoDecoder::get_NumberOfLines

IAMAnalogVideoDecoder Interface

Retrieves the number of horizontal lines in a video signal.

Syntax

HRESULT get_NumberOfLines(
    long *plNumberOfLines
    );

Parameters

plNumberOfLines
[out] Pointer to the number of horizontal lines in the video signal. For NTSC, this will generally be 525, and for PAL/SECAM, it will typically be 625.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.

E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_POINTER Null pointer argument.
S_OK Success.

IAMAnalogVideoDecoder::get_OutputEnable

IAMAnalogVideoDecoder Interface

Determines whether the output bus is enabled or disabled.

Syntax

HRESULT get_OutputEnable(
    long *plOutputEnable
    );

Parameters

plOutputEnable
[out] Pointer to a value specifying whether the output bus is enabled; returns TRUE if it is enabled, FALSE if it is disabled.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.

E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_POINTER Null pointer argument.
S_OK Success.

IAMAnalogVideoDecoder::get_TVFormat

IAMAnalogVideoDecoder Interface

Retrieves the current analog video format.

Syntax

HRESULT get_TVFormat(
    long *plAnalogVideoStandard
    );

Parameters

plAnalogVideoStandard
[out] Pointer to the AnalogVideoStandard enumerated type, which contains the supported analog video formats.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.

E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_POINTER Null pointer argument.
S_OK Success.

IAMAnalogVideoDecoder::get_VCRHorizontalLocking

IAMAnalogVideoDecoder Interface

Determines whether horizontal locking has been set.

Syntax

HRESULT get_VCRHorizontalLocking(
    long *plVCRHorizontalLocking
    );

Parameters

plVCRHorizontalLocking
[out] Pointer to a value indicting whether horizontal locking is set. TRUE indicates horizontal locking is set; FALSE otherwise.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.

E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_POINTER Null pointer argument.
S_OK Success.

Remarks

VCRs might have bad sync timing (due to tape slips, tape noise or dropouts, and the mechanical nature of the recording mechanism). Having the horizontal locking on tells the decoder to relax its standards, which leads to a better chance of maintaining sync.

IAMAnalogVideoDecoder::put_OutputEnable

IAMAnalogVideoDecoder Interface

Enables or disables the output bus.

Syntax

HRESULT put_OutputEnable(
    long lOutputEnable
    );

Parameters

lOutputEnable
[in] Value indicating if the output bus is enabled; specify TRUE to enable it, FALSE to disable it.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.

E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_POINTER Null pointer argument.
S_OK Success.

IAMAnalogVideoDecoder::put_TVFormat

IAMAnalogVideoDecoder Interface

Sets the current format to one of the supported analog video standards.

Syntax

HRESULT put_TVFormat(
    long lAnalogVideoStandard
    );

Parameters

lAnalogVideoStandard
[in] Value from the AnalogVideoStandard enumerated type, which contains the supported analog video formats.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.

E_FAILFailure.
E_INVALIDARG Argument is invalid.
E_NOTIMPLMethod is not supported.
E_POINTERNull pointer argument.
S_OK Success.

IAMAnalogVideoDecoder::put_VCRHorizontalLocking

IAMAnalogVideoDecoder Interface

Specifies whether horizontal locking is set.

Syntax

HRESULT put_VCRHorizontalLocking(
    long lVCRHorizontalLocking
    );

Parameters

lVCRHorizontalLocking
[in] Value indicating whether horizontal locking is set.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.

E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_POINTER Null pointer argument.
S_OK Success.

Remarks

VCRs might have bad sync timing (due to tape slips, tape noise or dropouts, and the mechanical nature of the recording mechanism). This method tells the decoder to relax its standards, which leads to a better chance of maintaining sync.


Top of Page Top of Page
© 2000 Microsoft and/or its suppliers. All rights reserved. Terms of Use.