[FFmpeg-devel] [PATCH v8 1/3] avcodec: add side data type for ancillary

Michael Niedermayer michael at niedermayer.cc
Wed Jul 11 12:27:02 EEST 2018


On Tue, Jul 10, 2018 at 05:51:59PM -0400, Patrick Keroulas wrote:
> Ancillary data can carry various side data that can't be transmitted in
> bitstreams. For now, this struct includes interlaced field flags and
> the must be attached to an AVPacket as side data.
> 
> Signed-off-by: Patrick Keroulas <patrick.keroulas at savoirfairelinux.com>
> ---
> 
> Changes v7 -> v8:
>  * Merge the definition of AVAncillaryData and its allocation in
> avcodec.h in a single patch.
> 
> ---
> ---
>  doc/APIchanges             |  3 +++
>  libavcodec/avcodec.h       |  7 +++++-
>  libavcodec/avpacket.c      |  1 +
>  libavcodec/version.h       |  4 ++--
>  libavutil/Makefile         |  2 ++
>  libavutil/ancillary_data.c | 27 ++++++++++++++++++++++
>  libavutil/ancillary_data.h | 56 ++++++++++++++++++++++++++++++++++++++++++++++
>  libavutil/version.h        |  4 ++--
>  8 files changed, 99 insertions(+), 5 deletions(-)
>  create mode 100644 libavutil/ancillary_data.c
>  create mode 100644 libavutil/ancillary_data.h

Iam not sure side data is the right place for information that is absolutely
required to use the main data. Such information feels as if it belongs in
the main data array.

Also "Ancillary" does not seem the right word for this.


[...]
> --- a/libavcodec/avcodec.h
> +++ b/libavcodec/avcodec.h
> @@ -1360,6 +1360,12 @@ enum AVPacketSideDataType {
>      AV_PKT_DATA_ENCRYPTION_INFO,
>  
>      /**
> +     * Generic side data for any parameter that can't fit in a AVPacket,
> +     * e.g. interlaced field flags.
> +     */

So this is basically opaque side data and not required to be a specific
struct ? (the documentation doesnt say anything about what it is)
Or do i misunderstand this ?
Because if it is then nothing really could use it except our libs and i dont
think thats a good idea
It would make interoperability impossible requiring the libavformat demxuer
always to be used with the libavcodec decoder.
And at that level i understand even less why the flag is not put in the 
main data[] of the packet or the main data[] contains normal rawvideo
which this is about IIUC

Please correct me if iam wrong on something, its quite possible i
misunderstand some of this.


[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I am the wisest man alive, for I know one thing, and that is that I know
nothing. -- Socrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20180711/b3ca090d/attachment.sig>


More information about the ffmpeg-devel mailing list