Opened 6 months ago

Closed 6 months 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 Changed 6 months ago by heleppkes

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 months ago by heleppkes (previous) (diff)

comment:2 Changed 6 months ago by cehoyos

  • Resolution set to wontfix
  • Status changed from new to closed
  • Type changed from enhancement to defect

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.