On 08/01/13 15:35, Anton Khirnov wrote:
> +enum AVFrameSideDataType {
> +    /**
> +     * The data is the AVPanScan struct defined in libavcodec.
> +     */
> +    AV_FRAME_DATA_PANSCAN,
> +};
> +
> +typedef struct AVFrameSideData {
> +    enum AVFrameSideDataType type;
> +    uint8_t *data;
> +    int      size;
> +} AVFrameSideData;

Since the side data is not something we store would be better having
something like:

typedef struct AVFrameInfo {
    enum AVFrameInfoType type;
    void *info;
    void (*cleanup)(void *info);
} AVFrameInfo;

Those pointers will remain alive till the avframe is reclaimed.

I'd also leverage the avcodec capability system to make optional
publishing informations (motion vectors and such).

lu
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to