Commit 418693bd authored by Anton Khirnov's avatar Anton Khirnov

lavc: rewrite and extend AVFrame doxy

parent d02202e0
...@@ -972,11 +972,19 @@ enum AVSideDataParamChangeFlags { ...@@ -972,11 +972,19 @@ enum AVSideDataParamChangeFlags {
*/ */
/** /**
* Audio Video Frame. * This structure describes decoded (raw) audio or video data.
* New fields can be added to the end of AVFRAME with minor version *
* bumps. Removal, reordering and changes to existing fields require * AVFrame must be allocated using avcodec_alloc_frame() and freed with
* a major version bump. * avcodec_free_frame(). Note that this allocates only the AVFrame itself. The
* sizeof(AVFrame) must not be used outside libav*. * buffers for the data must be managed through other means.
*
* AVFrame is typically allocated once and then reused multiple times to hold
* different data (e.g. a single AVFrame to hold frames received from a
* decoder). In such a case, avcodec_get_frame_defaults() should be used to
* reset the frame to its original clean state before it is reused again.
*
* sizeof(AVFrame) is not a part of the public ABI, so new fields may be added
* to the end with a minor bump.
*/ */
typedef struct AVFrame { typedef struct AVFrame {
#define AV_NUM_DATA_POINTERS 8 #define AV_NUM_DATA_POINTERS 8
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment