Software Migration Considerations

This section of documentation covers the notable API differences between the current release of SDK, 1.4.0, and previous versions.

API Changes from Alveo U30

This sub-section describes differences between U30 and MA35D

FFmpeg API Changes

Options General

MA35D

U30

-c:v:

Used for codec selection. Aside from naming convention changes, new AV1 codec and VP9 decoder are now available.

-c:v

-c:v

-filter_complex:

Used for frame filtering operation.

-filter_complex

-filter_complex

-hwaccel:

Used to select hardware accelerator engine. This option was previously referred to as xlnx_hwdev.

-hwaccel

-xlnx_hwdev

-vf:

Used to select the DMA transfer direction between host and accelerator.

-vf

xvbm_convert

Options Encoder

Version 1.4.0

U30

-level:

Used to specify encoder's level. It now supports AV1's levels.

-level

-level

-profile:

Used to set encoder's profile. It now supports AV1's main.

-profile

-profile

-control_rate:

Used to set rate control mode. Options to this setting have changed.

-control_rate

-control-rate

-tune_metrics:

Used to tune VQ metrics. Options to this setting have changed.

-tune_metrics

-tune-metrics

-cores:

Used to explicitly specify the number of processing cores.

Deprecated

-cores

-periodicity-idr:

Used to determine IDR frame frequency.

Deprecated

-periodicity-idr

-disable-pipeline:

Used to enable/disable pipelining.

Deprecated

-disable-pipeline

-aspect-ratio:

Used to set video's aspect ratio.

Deprecated

-aspect-ratio

-expert-options:

Used to set encoder's expert option.

Deprecated

-expert-options

-avc-lowlat:

Used to enable/disable ULL for AVC.

Deprecated

-avc-lowlat

Options Decoder

Version 1.4.0

U30

-splitbuff_mode:

Used to configure decoder's buffer mode.

Deprecated

-splitbuff_mode

-entropy_buffers_count:

Used to set number of decoder's entropy buffers.

Deprecated

-entropy_buffers_count

Options Scaler

Version 1.4.0

U30

-out_{N}_width:

Used to configure width of an output rung.

Deprecated

-out_{N}_width

-out_{N}_height:

Used to configure height of an output rung.

Deprecated

-out_{N}_height

-out_{N}_rate:

Used to configure frame rate of an output rung.

Deprecated

-out_{N}_rate

Changes from 1.1.2 to 1.2

This sub-section describes differences between 1.1.2 and current version.

PCIe Addressing

Unlike the previous version, where PCIe devices were addressed as DBDF, this release uses BDF scheme. See Card Management.

FFmpeg CLI Changes

Options General

1.2

1.1.2

-c:v:

New still image codecs are now available. See -c:v for details.

-c:v

-c:v

Options Encoder

1.2

1.1.2

-control_rate:

cabr has been removed as a rate control mode, and can now be applied as a modifier to all encoding modes.

-control_rate and -cabr

-control_rate

-crf:

Changes have been made in the call parameters.

-crf <value>

-crf 1 -qp <value>

Options Decoder

1.2

1.1.2

-resize:

Option to perform downscaling through decoders has been added.

-resize

Options 2D Engine

1.2

1.1.2

crop, pad, drawbox, and other 2D operations:

2D operations that were previously sub-commands of 2d_ama are now invoked with a simpler syntax.

2D Engine

-scaler_ama and -2d_ama

Card Management

Options

1.2

1.1.2

maflash has been deprecated and it is now a sub command of mamgmt.

See mamgmt.

mamgmt

Syntax for creation of VF has been updated.

See mamgmt.

mautil

C APIs

See relevant sub-sections in C API Programming Guide.

Changes from 1.2 to 1.2.1

This sub-section describes differences between 1.2 and current version.

FFmpeg CLI Changes

Options Encoder

1.2.1

1.2

-control_rate:

cbr, vbr, and cvbr modes have to have their bit rate values set, explicitly.

const_qp mode have to have its qp value set, explicitly.

-control_rate

-control_rate

-crf:

-crf mode have to have its value set, explicitly.

-crf <value>

-crf <value>

hwupload and hwdownload:

hwupload and hwdownload plugins are deprecated.

hwupload_ama and hwdownload_ama

hwupload and hwdownload

C APIs

See 1.2.1 SDK API.

Changes from 1.2.1 to 1.4.0

This sub-section describes differences between 1.2.1 and current version.

C APIs

See 1.4.0 SDK API.