Opened 6 years ago

Closed 6 years ago

#7114 closed defect (wontfix)

Add options to set some AVCodecContext's field

Reported by: jyavenard Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

There's currently no options to set the following members of AVCodecContext via AVOptions, which are ABI dependent.

extradata
extradata_size
opaque
get_format
codec_id

that list isn't exhaustive obviously (but that's what we use today)

which means you must hope that the binary definition of AVCodecContext hasn't changed between the header you use and the library you're linking to.

One example would be if libavcodec was built with FF_API_CODEC_NAME set, all structure field would be shifted by 32 bytes.

Seeing that the ABI of AVCodecContext isn't fixed, one can't guarantee the outcome of using an external libavcodec shared lib.

Change History (2)

comment:1 by Hendrik, 6 years ago

which means you must hope that the binary definition of AVCodecContext hasn't changed
between the header you use and the library you're linking to.

Cases where this is not the case are not supported and violate any concept of ABI in the first place.

We're actually trying to move away from the bloat of all sorts of accessor functions, which were previously only added for compatibility with libav - a concept which we've long stopped.

Last edited 6 years ago by Hendrik (previous) (diff)

comment:2 by Carl Eugen Hoyos, 6 years ago

Resolution: wontfix
Status: newclosed
Type: enhancementdefect

I don’t think this will get implemented.
If you see a real-world issue, please report and explain!
Messing around with FF_API_CODEC_NAME is equivalent with changing the sources.

Note: See TracTickets for help on using tickets.