Software Migration Considerations

This section of documentation covers the notable API differences between the current release of SDK, 1.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. Aside from naming convention changes, new 2D composition and ML operations are now available.

-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.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

-force_key_frames:

Used to force IDR frame insertion, at specified frame numbers.

Deprecated

-force_key_frames

-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.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.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

Gstreamer API Changes

Options Encoder

Version 1.0

U30

tune_metrics:

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

tune-metrics

tune-metrics

ultra-low-latency:

Used to set ULL mode.

Set lookahead-depth to 0.

ultra-low-latency

target-bitrate:

Used to set target bit rate.

bitrate

target-bitrate

control_rate:

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

rate-control

control-rate

dev-idx:

Used to specify the index of the device on which the encoder should be executed.

device

dev-idx

aspect-ratio:

Used to set video’s aspect ratio.

Deprecated

aspect-ratio

avc-lowlat:

Used to enable/disable ULL for AVC.

Deprecated

avc-lowlat

dependent-slice:

Used to specify slice dependency.

Deprecated

dependent-slice

enable-pipeline:

Used to enable/disable pipelining.

Deprecated

enable-pipeline

ip-delta:

Used to set IP delta.

Deprecated

ip-delta

loop-filter-beta-offset:

Used to set loop filter beta offset.

Deprecated

loop-filter-beta-offset

loop-filter-tc-offset:

Used to set loop filter tc offset..

Deprecated

loop-filter-tc-offset

slice-qp:

Used to set slice QP mode.

Deprecated

slice-qp

scaling-list:

Used to set lscaling list mode.

Deprecated

scaling-list

reservation-id:

Used to set resource pool reservation id.

Deprecated

reservation-id

rc-mode:

Used to enable custom rate control mode.

Deprecated

rc-mode

qp-mode:

Used to set QP control mode used by the encoder.

Deprecated

qp-mode

pb-delta:

Used to set PB delta.

Deprecated

pb-delta

periodicity-idr:

Used to set periodicity of IDR frames.

Deprecated

periodicity-idr

num-cores:

Used to set the number of encoder cores to be used for current stream.

Deprecated

num-cores

num-slices:

Used to set the number of slices produced for each frame.

Deprecated

num-slices

Options Decoder

Version 1.0

U30

dev-idx:

Used to specify the index of the device on which the decoder should be executed.

device

dev-idx

avoid-dynamic-alloc:

Used to set a flag to avoid dynamic allocation of output buffers.

Deprecated

avoid-dynamic-alloc

avoid-output-copy:

Used to set a flag to avoid output frames copy.

Deprecated

avoid-output-copy

disable-hdr10-sei:

Used to configure whether to passthrough HDR10/10+ SEI messages or not.

Deprecated

disable-hdr10-sei

interpolate-timestamps:

Used to configure interpolation of output buffers PTS.

Deprecated

interpolate-timestamps

num-entropy-buf:

Used to specifie the number of decoder internal entropy buffers.

Deprecated

num-entropy-buf

reservation-id:

Used to set resource Pool Reservation id.

Deprecated

reservation-id

splitbuff-mode:

Used to configure decoder in split/unsplit input buffer mode.

Deprecated

splitbuff-mode

Options Scaler

Version 1.0

U30

dev-idx:

Used to specify the index of the device on which the scaler should be executed.

device

dev-idx

avoid-output-copy:

Used to set a flag to avoid output frames copy on all source pads.

Deprecated

avoid-output-copy

coef-load-type:

Used to configure coefficients loading type for scaling.

Deprecated

coef-load-type

enable-pipeline:

Used to enable buffer pipelining to improve performance in non zero-copy use cases.

Deprecated

enable-pipeline

reservation-id:

Used to configure resource pool reservation id.

Deprecated

reservation-id