[FFmpeg-devel] [PATCH v5 3/4] all: Link to "context" from all public contexts with documentation
Andrew Sayers
ffmpeg-devel at pileofstuff.org
Thu May 23 23:00:42 EEST 2024
The goal of putting these links in "@see" blocks is to provide hooks
for future developers to add links to other useful parts of the codebase.
---
libavcodec/avcodec.h | 3 +++
libavcodec/bsf.h | 3 +++
libavcodec/d3d11va.h | 3 +++
libavcodec/mediacodec.h | 2 ++
libavcodec/qsv.h | 3 +++
libavcodec/vdpau.h | 3 +++
libavcodec/videotoolbox.h | 3 +++
libavfilter/avfilter.h | 7 ++++++-
libavformat/avformat.h | 3 +++
libavformat/avio.h | 3 +++
libavutil/audio_fifo.h | 3 +++
libavutil/hwcontext.h | 6 ++++++
libavutil/hwcontext_cuda.h | 3 +++
libavutil/hwcontext_d3d11va.h | 6 ++++++
libavutil/hwcontext_d3d12va.h | 6 ++++++
libavutil/hwcontext_drm.h | 3 +++
libavutil/hwcontext_dxva2.h | 6 ++++++
libavutil/hwcontext_mediacodec.h | 3 +++
libavutil/hwcontext_opencl.h | 6 ++++++
libavutil/hwcontext_qsv.h | 6 ++++++
libavutil/hwcontext_vaapi.h | 6 ++++++
libavutil/hwcontext_vdpau.h | 3 +++
libavutil/hwcontext_vulkan.h | 6 ++++++
libavutil/lfg.h | 3 +++
24 files changed, 98 insertions(+), 1 deletion(-)
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 2da63c87ea..abc00ab394 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -441,6 +441,9 @@ typedef struct RcOverride{
* The AVOption/command line parameter names differ in some cases from the C
* structure field names for historic reasons or brevity.
* sizeof(AVCodecContext) must not be used outside libav*.
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVCodecContext {
/**
diff --git a/libavcodec/bsf.h b/libavcodec/bsf.h
index a09c69f242..ee5fdd48d2 100644
--- a/libavcodec/bsf.h
+++ b/libavcodec/bsf.h
@@ -64,6 +64,9 @@
* The fields in the struct will only be changed (by the caller or by the
* filter) as described in their documentation, and are to be considered
* immutable otherwise.
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVBSFContext {
/**
diff --git a/libavcodec/d3d11va.h b/libavcodec/d3d11va.h
index 27f40e5519..686974b083 100644
--- a/libavcodec/d3d11va.h
+++ b/libavcodec/d3d11va.h
@@ -52,6 +52,9 @@
* The application must make it available as AVCodecContext.hwaccel_context.
*
* Use av_d3d11va_alloc_context() exclusively to allocate an AVD3D11VAContext.
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVD3D11VAContext {
/**
diff --git a/libavcodec/mediacodec.h b/libavcodec/mediacodec.h
index 4e9b56a618..43f049a609 100644
--- a/libavcodec/mediacodec.h
+++ b/libavcodec/mediacodec.h
@@ -29,6 +29,8 @@
* This structure holds a reference to a android/view/Surface object that will
* be used as output by the decoder.
*
+ * @see
+ * - @ref Context
*/
typedef struct AVMediaCodecContext {
diff --git a/libavcodec/qsv.h b/libavcodec/qsv.h
index c156b08d07..8ab93af6b6 100644
--- a/libavcodec/qsv.h
+++ b/libavcodec/qsv.h
@@ -32,6 +32,9 @@
* - decoding: hwaccel_context must be set on return from the get_format()
* callback
* - encoding: hwaccel_context must be set before avcodec_open2()
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVQSVContext {
/**
diff --git a/libavcodec/vdpau.h b/libavcodec/vdpau.h
index 8021c25761..934c96b88c 100644
--- a/libavcodec/vdpau.h
+++ b/libavcodec/vdpau.h
@@ -74,6 +74,9 @@ typedef int (*AVVDPAU_Render2)(struct AVCodecContext *, struct AVFrame *,
*
* The size of this structure is not a part of the public ABI and must not
* be used outside of libavcodec.
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVVDPAUContext {
/**
diff --git a/libavcodec/videotoolbox.h b/libavcodec/videotoolbox.h
index d68d76e400..81d90d63b6 100644
--- a/libavcodec/videotoolbox.h
+++ b/libavcodec/videotoolbox.h
@@ -53,6 +53,9 @@
* between the caller and libavcodec for initializing Videotoolbox decoding.
* Its size is not a part of the public ABI, it must be allocated with
* av_videotoolbox_alloc_context() and freed with av_free().
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVVideotoolboxContext {
/**
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index a34e61f23c..25ccd80433 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -403,7 +403,12 @@ unsigned avfilter_filter_pad_count(const AVFilter *filter, int is_output);
*/
#define AVFILTER_THREAD_SLICE (1 << 0)
-/** An instance of a filter */
+/**
+ * An instance of a filter
+ *
+ * @see
+ * - @ref Context
+ */
struct AVFilterContext {
const AVClass *av_class; ///< needed for av_log() and filters common options
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 8afdcd9fd0..18f20f0bb0 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -1253,6 +1253,9 @@ enum AVDurationEstimationMethod {
* can be found in libavformat/options_table.h.
* The AVOption/command line parameter names differ in some cases from the C
* structure field names for historic reasons or brevity.
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVFormatContext {
/**
diff --git a/libavformat/avio.h b/libavformat/avio.h
index ebf611187d..d68f912a2f 100644
--- a/libavformat/avio.h
+++ b/libavformat/avio.h
@@ -156,6 +156,9 @@ enum AVIODataMarkerType {
* directly, they should only be set by the client application
* when implementing custom I/O. Normally these are set to the
* function pointers specified in avio_alloc_context()
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVIOContext {
/**
diff --git a/libavutil/audio_fifo.h b/libavutil/audio_fifo.h
index fa5f59a2be..6fdb114af8 100644
--- a/libavutil/audio_fifo.h
+++ b/libavutil/audio_fifo.h
@@ -44,6 +44,9 @@
* - Operates at the sample level rather than the byte level.
* - Supports multiple channels with either planar or packed sample format.
* - Automatic reallocation when writing to a full buffer.
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVAudioFifo AVAudioFifo;
diff --git a/libavutil/hwcontext.h b/libavutil/hwcontext.h
index bac30debae..6bbb96fcd6 100644
--- a/libavutil/hwcontext.h
+++ b/libavutil/hwcontext.h
@@ -56,6 +56,9 @@ enum AVHWDeviceType {
* references are released, the AVHWDeviceContext itself will be freed,
* optionally invoking a user-specified callback for uninitializing the hardware
* state.
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVHWDeviceContext {
/**
@@ -111,6 +114,9 @@ typedef struct AVHWDeviceContext {
* given AVHWDeviceContext instance. The av_hwframe_ctx_alloc() constructor
* yields a reference, whose data field points to the actual AVHWFramesContext
* struct.
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVHWFramesContext {
/**
diff --git a/libavutil/hwcontext_cuda.h b/libavutil/hwcontext_cuda.h
index cbad434fea..0db5a69f0a 100644
--- a/libavutil/hwcontext_cuda.h
+++ b/libavutil/hwcontext_cuda.h
@@ -38,6 +38,9 @@ typedef struct AVCUDADeviceContextInternal AVCUDADeviceContextInternal;
/**
* This struct is allocated as AVHWDeviceContext.hwctx
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVCUDADeviceContext {
CUcontext cuda_ctx;
diff --git a/libavutil/hwcontext_d3d11va.h b/libavutil/hwcontext_d3d11va.h
index 77d2d72f1b..5b7763e73f 100644
--- a/libavutil/hwcontext_d3d11va.h
+++ b/libavutil/hwcontext_d3d11va.h
@@ -41,6 +41,9 @@
/**
* This struct is allocated as AVHWDeviceContext.hwctx
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVD3D11VADeviceContext {
/**
@@ -127,6 +130,9 @@ typedef struct AVD3D11FrameDescriptor {
/**
* This struct is allocated as AVHWFramesContext.hwctx
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVD3D11VAFramesContext {
/**
diff --git a/libavutil/hwcontext_d3d12va.h b/libavutil/hwcontext_d3d12va.h
index ff06e6f2ef..63281aa835 100644
--- a/libavutil/hwcontext_d3d12va.h
+++ b/libavutil/hwcontext_d3d12va.h
@@ -39,6 +39,8 @@
/**
* @brief This struct is allocated as AVHWDeviceContext.hwctx
*
+ * @see
+ * - @ref Context
*/
typedef struct AVD3D12VADeviceContext {
/**
@@ -80,6 +82,8 @@ typedef struct AVD3D12VADeviceContext {
/**
* @brief This struct is used to sync d3d12 execution
*
+ * @see
+ * - @ref Context
*/
typedef struct AVD3D12VASyncContext {
/**
@@ -122,6 +126,8 @@ typedef struct AVD3D12VAFrame {
/**
* @brief This struct is allocated as AVHWFramesContext.hwctx
*
+ * @see
+ * - @ref Context
*/
typedef struct AVD3D12VAFramesContext {
/**
diff --git a/libavutil/hwcontext_drm.h b/libavutil/hwcontext_drm.h
index 42709f215e..eb0b6e734a 100644
--- a/libavutil/hwcontext_drm.h
+++ b/libavutil/hwcontext_drm.h
@@ -153,6 +153,9 @@ typedef struct AVDRMFrameDescriptor {
* DRM device.
*
* Allocated as AVHWDeviceContext.hwctx.
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVDRMDeviceContext {
/**
diff --git a/libavutil/hwcontext_dxva2.h b/libavutil/hwcontext_dxva2.h
index e1b79bc0de..3accd8d070 100644
--- a/libavutil/hwcontext_dxva2.h
+++ b/libavutil/hwcontext_dxva2.h
@@ -35,6 +35,9 @@
/**
* This struct is allocated as AVHWDeviceContext.hwctx
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVDXVA2DeviceContext {
IDirect3DDeviceManager9 *devmgr;
@@ -42,6 +45,9 @@ typedef struct AVDXVA2DeviceContext {
/**
* This struct is allocated as AVHWFramesContext.hwctx
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVDXVA2FramesContext {
/**
diff --git a/libavutil/hwcontext_mediacodec.h b/libavutil/hwcontext_mediacodec.h
index fc0263cabc..77d7d4e3a5 100644
--- a/libavutil/hwcontext_mediacodec.h
+++ b/libavutil/hwcontext_mediacodec.h
@@ -23,6 +23,9 @@
* MediaCodec details.
*
* Allocated as AVHWDeviceContext.hwctx
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVMediaCodecDeviceContext {
/**
diff --git a/libavutil/hwcontext_opencl.h b/libavutil/hwcontext_opencl.h
index ef54486c95..4c184484c9 100644
--- a/libavutil/hwcontext_opencl.h
+++ b/libavutil/hwcontext_opencl.h
@@ -59,6 +59,9 @@ typedef struct AVOpenCLFrameDescriptor {
* OpenCL device details.
*
* Allocated as AVHWDeviceContext.hwctx
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVOpenCLDeviceContext {
/**
@@ -85,6 +88,9 @@ typedef struct AVOpenCLDeviceContext {
* OpenCL-specific data associated with a frame pool.
*
* Allocated as AVHWFramesContext.hwctx.
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVOpenCLFramesContext {
/**
diff --git a/libavutil/hwcontext_qsv.h b/libavutil/hwcontext_qsv.h
index 35530e4e93..b4a84c9893 100644
--- a/libavutil/hwcontext_qsv.h
+++ b/libavutil/hwcontext_qsv.h
@@ -31,6 +31,9 @@
/**
* This struct is allocated as AVHWDeviceContext.hwctx
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVQSVDeviceContext {
mfxSession session;
@@ -49,6 +52,9 @@ typedef struct AVQSVDeviceContext {
/**
* This struct is allocated as AVHWFramesContext.hwctx
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVQSVFramesContext {
/**
diff --git a/libavutil/hwcontext_vaapi.h b/libavutil/hwcontext_vaapi.h
index 0b2e071cb3..02399ff7dc 100644
--- a/libavutil/hwcontext_vaapi.h
+++ b/libavutil/hwcontext_vaapi.h
@@ -64,6 +64,9 @@ enum {
* VAAPI connection details.
*
* Allocated as AVHWDeviceContext.hwctx
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVVAAPIDeviceContext {
/**
@@ -84,6 +87,9 @@ typedef struct AVVAAPIDeviceContext {
* VAAPI-specific data associated with a frame pool.
*
* Allocated as AVHWFramesContext.hwctx.
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVVAAPIFramesContext {
/**
diff --git a/libavutil/hwcontext_vdpau.h b/libavutil/hwcontext_vdpau.h
index 1b7ea1e443..051af42dfc 100644
--- a/libavutil/hwcontext_vdpau.h
+++ b/libavutil/hwcontext_vdpau.h
@@ -31,6 +31,9 @@
/**
* This struct is allocated as AVHWDeviceContext.hwctx
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVVDPAUDeviceContext {
VdpDevice device;
diff --git a/libavutil/hwcontext_vulkan.h b/libavutil/hwcontext_vulkan.h
index cbbd2390c1..6dfe4badfe 100644
--- a/libavutil/hwcontext_vulkan.h
+++ b/libavutil/hwcontext_vulkan.h
@@ -41,6 +41,9 @@ typedef struct AVVkFrame AVVkFrame;
/**
* Main Vulkan context, allocated as AVHWDeviceContext.hwctx.
* All of these can be set before init to change what the context uses
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVVulkanDeviceContext {
/**
@@ -173,6 +176,9 @@ typedef enum AVVkFrameFlags {
/**
* Allocated as AVHWFramesContext.hwctx, used to set pool-specific options
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVVulkanFramesContext {
/**
diff --git a/libavutil/lfg.h b/libavutil/lfg.h
index e75a986f12..4e420b0e16 100644
--- a/libavutil/lfg.h
+++ b/libavutil/lfg.h
@@ -29,6 +29,9 @@
* The exact layout, types and content of this struct may change and should
* not be accessed directly. Only its `sizeof()` is guaranteed to stay the same
* to allow easy instanciation.
+ *
+ * @see
+ * - @ref Context
*/
typedef struct AVLFG {
unsigned int state[64];
--
2.43.0
More information about the ffmpeg-devel
mailing list