From: Zhao Zhili <quinkblack@foxmail.com> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH v4 3/4] all: Link to "context" from all contexts with documentation Date: Thu, 2 May 2024 21:00:42 +0800 Message-ID: <tencent_72A7F66A88D309DC59CB9266305092A6CC06@qq.com> (raw) In-Reply-To: <NwsxtsY--7-9@lynne.ee> > On May 2, 2024, at 19:01, Lynne <dev@lynne.ee> wrote: > > Apr 29, 2024, 11:24 by ffmpeg-devel@pileofstuff.org: > >> Some headings needed to be rewritten to accomodate the text, >> (hopefully) without changing the meaning. >> --- >> libavcodec/aac/aacdec.h | 2 +- >> libavcodec/aacenc.h | 2 +- >> libavcodec/ac3enc.h | 2 +- >> libavcodec/amfenc.h | 2 +- >> libavcodec/atrac.h | 2 +- >> libavcodec/avcodec.h | 3 ++- >> libavcodec/bsf.h | 2 +- >> libavcodec/cbs.h | 2 +- >> libavcodec/d3d11va.h | 3 +-- >> libavcodec/h264dsp.h | 2 +- >> libavcodec/h264pred.h | 2 +- >> libavcodec/mediacodec.h | 2 +- >> libavcodec/mpegaudiodec_template.c | 2 +- >> libavcodec/pthread_frame.c | 4 ++-- >> libavcodec/qsv.h | 6 ++++-- >> libavcodec/sbr.h | 2 +- >> libavcodec/smacker.c | 2 +- >> libavcodec/vdpau.h | 3 ++- >> libavcodec/videotoolbox.h | 5 +++-- >> libavfilter/avfilter.h | 2 +- >> libavformat/avformat.h | 3 ++- >> libavformat/avio.h | 3 ++- >> libavutil/audio_fifo.h | 2 +- >> libavutil/hwcontext.h | 21 ++++++++++++--------- >> libavutil/hwcontext_cuda.h | 2 +- >> libavutil/hwcontext_d3d11va.h | 4 ++-- >> libavutil/hwcontext_d3d12va.h | 6 +++--- >> libavutil/hwcontext_drm.h | 2 +- >> libavutil/hwcontext_dxva2.h | 4 ++-- >> libavutil/hwcontext_mediacodec.h | 2 +- >> libavutil/hwcontext_opencl.h | 4 ++-- >> libavutil/hwcontext_qsv.h | 4 ++-- >> libavutil/hwcontext_vaapi.h | 6 +++--- >> libavutil/hwcontext_vdpau.h | 2 +- >> libavutil/hwcontext_vulkan.h | 4 ++-- >> libavutil/lfg.h | 2 +- >> 36 files changed, 66 insertions(+), 57 deletions(-) >> >> diff --git a/libavcodec/aac/aacdec.h b/libavcodec/aac/aacdec.h >> index 4cf764e2e9..71d61813f4 100644 >> --- a/libavcodec/aac/aacdec.h >> +++ b/libavcodec/aac/aacdec.h >> @@ -248,7 +248,7 @@ typedef struct AACDecDSP { >> } AACDecDSP; >> >> /** >> - * main AAC decoding context >> + * main AAC decoding @ref md_doc_2context "context" >> */ >> struct AACDecContext { >> const struct AVClass *class; >> diff --git a/libavcodec/aacenc.h b/libavcodec/aacenc.h >> index d07960620e..1a645f4719 100644 >> --- a/libavcodec/aacenc.h >> +++ b/libavcodec/aacenc.h >> @@ -207,7 +207,7 @@ typedef struct AACPCEInfo { >> } AACPCEInfo; >> >> /** >> - * AAC encoder context >> + * AAC encoder @ref md_doc_2context "context" >> */ >> typedef struct AACEncContext { >> AVClass *av_class; >> diff --git a/libavcodec/ac3enc.h b/libavcodec/ac3enc.h >> index 30812617cc..c725007077 100644 >> --- a/libavcodec/ac3enc.h >> +++ b/libavcodec/ac3enc.h >> @@ -152,7 +152,7 @@ typedef struct AC3Block { >> } AC3Block; >> >> /** >> - * AC-3 encoder private context. >> + * AC-3 encoder private @ref md_doc_2context "context" >> */ >> typedef struct AC3EncodeContext { >> AVClass *av_class; ///< AVClass used for AVOption >> diff --git a/libavcodec/amfenc.h b/libavcodec/amfenc.h >> index 2dbd378ef8..f142ede63a 100644 >> --- a/libavcodec/amfenc.h >> +++ b/libavcodec/amfenc.h >> @@ -43,7 +43,7 @@ typedef struct AmfTraceWriter { >> } AmfTraceWriter; >> >> /** >> -* AMF encoder context >> +* AMF encoder @ref md_doc_2context "context" >> */ >> >> typedef struct AmfContext { >> diff --git a/libavcodec/atrac.h b/libavcodec/atrac.h >> index 05208bbee6..1527e376a9 100644 >> --- a/libavcodec/atrac.h >> +++ b/libavcodec/atrac.h >> @@ -39,7 +39,7 @@ typedef struct AtracGainInfo { >> } AtracGainInfo; >> >> /** >> - * Gain compensation context structure. >> + * Gain compensation @ref md_doc_2context "context" >> */ >> typedef struct AtracGCContext { >> float gain_tab1[16]; ///< gain compensation level table >> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h >> index 968009a192..9180fedca7 100644 >> --- a/libavcodec/avcodec.h >> +++ b/libavcodec/avcodec.h >> @@ -430,7 +430,8 @@ typedef struct RcOverride{ >> #define AV_GET_ENCODE_BUFFER_FLAG_REF (1 << 0) >> >> /** >> - * main external API structure. >> + * @ref md_doc_2context "Context" for an encode or decode session >> + * >> * New fields can be added to the end with minor version bumps. >> * Removal, reordering and changes to existing fields require a major >> * version bump. >> diff --git a/libavcodec/bsf.h b/libavcodec/bsf.h >> index a09c69f242..bf79afa7cc 100644 >> --- a/libavcodec/bsf.h >> +++ b/libavcodec/bsf.h >> @@ -56,7 +56,7 @@ >> */ >> >> /** >> - * The bitstream filter state. >> + * Bitstream filter @ref md_doc_2context "context" >> * >> * This struct must be allocated with av_bsf_alloc() and freed with >> * av_bsf_free(). >> diff --git a/libavcodec/cbs.h b/libavcodec/cbs.h >> index d479b1ac2d..0ff64d2fef 100644 >> --- a/libavcodec/cbs.h >> +++ b/libavcodec/cbs.h >> @@ -214,7 +214,7 @@ typedef void (*CBSTraceWriteCallback)(void *trace_context, >> int64_t value); >> >> /** >> - * Context structure for coded bitstream operations. >> + * @ref md_doc_2context "Context" structure for coded bitstream operations. >> */ >> typedef struct CodedBitstreamContext { >> /** >> diff --git a/libavcodec/d3d11va.h b/libavcodec/d3d11va.h >> index 27f40e5519..ec0c472ab9 100644 >> --- a/libavcodec/d3d11va.h >> +++ b/libavcodec/d3d11va.h >> @@ -46,8 +46,7 @@ >> */ >> >> /** >> - * This structure is used to provides the necessary configurations and data >> - * to the Direct3D11 FFmpeg HWAccel implementation. >> + * @ref md_doc_2context "Context" for the Direct3D11 FFmpeg HWAccel implementation >> * >> * The application must make it available as AVCodecContext.hwaccel_context. >> * >> diff --git a/libavcodec/h264dsp.h b/libavcodec/h264dsp.h >> index e0880c4d88..27256c5605 100644 >> --- a/libavcodec/h264dsp.h >> +++ b/libavcodec/h264dsp.h >> @@ -37,7 +37,7 @@ typedef void (*h264_biweight_func)(uint8_t *dst, uint8_t *src, >> int weightd, int weights, int offset); >> >> /** >> - * Context for storing H.264 DSP functions >> + * @ref md_doc_2context "Context" for storing H.264 DSP functions >> */ >> typedef struct H264DSPContext { >> /* weighted MC */ >> diff --git a/libavcodec/h264pred.h b/libavcodec/h264pred.h >> index cb008548fc..2b076f8846 100644 >> --- a/libavcodec/h264pred.h >> +++ b/libavcodec/h264pred.h >> @@ -89,7 +89,7 @@ >> #define PART_NOT_AVAILABLE -2 >> >> /** >> - * Context for storing H.264 prediction functions >> + * @ref md_doc_2context "Context" for storing H.264 prediction functions >> */ >> typedef struct H264PredContext { >> void(*pred4x4[9 + 3 + 3])(uint8_t *src, const uint8_t *topright, >> diff --git a/libavcodec/mediacodec.h b/libavcodec/mediacodec.h >> index 4e9b56a618..9967a7cfb3 100644 >> --- a/libavcodec/mediacodec.h >> +++ b/libavcodec/mediacodec.h >> @@ -26,7 +26,7 @@ >> #include "libavcodec/avcodec.h" >> >> /** >> - * This structure holds a reference to a android/view/Surface object that will >> + * @ref md_doc_2context "Context" for the android/view/Surface object that will >> * be used as output by the decoder. >> * >> */ >> diff --git a/libavcodec/mpegaudiodec_template.c b/libavcodec/mpegaudiodec_template.c >> index c73b1e0054..15d63215d1 100644 >> --- a/libavcodec/mpegaudiodec_template.c >> +++ b/libavcodec/mpegaudiodec_template.c >> @@ -1691,7 +1691,7 @@ static int decode_frame_adu(AVCodecContext *avctx, AVFrame *frame, >> #if CONFIG_MP3ON4_DECODER || CONFIG_MP3ON4FLOAT_DECODER >> >> /** >> - * Context for MP3On4 decoder >> + * @ref md_doc_2context "Context" for MP3On4 decoder >> */ >> typedef struct MP3On4DecodeContext { >> int frames; ///< number of mp3 frames per block (number of mp3 decoder instances) >> diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c >> index 67f09c1f48..74f05eedcf 100644 >> --- a/libavcodec/pthread_frame.c >> +++ b/libavcodec/pthread_frame.c >> @@ -71,7 +71,7 @@ typedef struct ThreadFrameProgress { >> } ThreadFrameProgress; >> >> /** >> - * Context used by codec threads and stored in their AVCodecInternal thread_ctx. >> + * @ref md_doc_2context "Context" used by codec threads and stored in their AVCodecInternal thread_ctx. >> */ >> typedef struct PerThreadContext { >> struct FrameThreadContext *parent; >> @@ -111,7 +111,7 @@ typedef struct PerThreadContext { >> } PerThreadContext; >> >> /** >> - * Context stored in the client AVCodecInternal thread_ctx. >> + * @ref md_doc_2context "Context" stored in the client AVCodecInternal thread_ctx. >> */ >> typedef struct FrameThreadContext { >> PerThreadContext *threads; ///< The contexts for each thread. >> diff --git a/libavcodec/qsv.h b/libavcodec/qsv.h >> index c156b08d07..8b8160a4b1 100644 >> --- a/libavcodec/qsv.h >> +++ b/libavcodec/qsv.h >> @@ -26,8 +26,10 @@ >> #include "libavutil/buffer.h" >> >> /** >> - * This struct is used for communicating QSV parameters between libavcodec and >> - * the caller. It is managed by the caller and must be assigned to >> + * @ref md_doc_2context "Context" for communicating QSV parameters between libavcodec >> + * and the caller. >> + * >> + * It is managed by the caller and must be assigned to >> * AVCodecContext.hwaccel_context. >> * - decoding: hwaccel_context must be set on return from the get_format() >> * callback >> diff --git a/libavcodec/sbr.h b/libavcodec/sbr.h >> index fe3a39603a..98ad9024a9 100644 >> --- a/libavcodec/sbr.h >> +++ b/libavcodec/sbr.h >> @@ -116,7 +116,7 @@ typedef struct SBRData { >> typedef struct SpectralBandReplication SpectralBandReplication; >> >> /** >> - * aacsbr functions pointers >> + * aacsbr functions pointer @ref md_doc_2context "context" >> */ >> typedef struct AACSBRContext { >> int (*sbr_lf_gen)(SpectralBandReplication *sbr, >> diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c >> index 8f198d6957..1ca39a74a0 100644 >> --- a/libavcodec/smacker.c >> +++ b/libavcodec/smacker.c >> @@ -68,7 +68,7 @@ typedef struct HuffEntry { >> } HuffEntry; >> >> /** >> - * Context used for code reconstructing >> + * @ref md_doc_2context "Context" used for code reconstructing >> */ >> typedef struct HuffContext { >> int current; >> diff --git a/libavcodec/vdpau.h b/libavcodec/vdpau.h >> index 8021c25761..227b85727d 100644 >> --- a/libavcodec/vdpau.h >> +++ b/libavcodec/vdpau.h >> @@ -64,8 +64,9 @@ typedef int (*AVVDPAU_Render2)(struct AVCodecContext *, struct AVFrame *, >> const VdpBitstreamBuffer *); >> >> /** >> - * This structure is used to share data between the libavcodec library and >> + * @ref md_doc_2context "Context" to share data between the libavcodec library and >> * the client video application. >> + * >> * This structure will be allocated and stored in AVCodecContext.hwaccel_context >> * by av_vdpau_bind_context(). Members can be set by the user once >> * during initialization or through each AVCodecContext.get_buffer() >> diff --git a/libavcodec/videotoolbox.h b/libavcodec/videotoolbox.h >> index d68d76e400..f15e79f325 100644 >> --- a/libavcodec/videotoolbox.h >> +++ b/libavcodec/videotoolbox.h >> @@ -49,8 +49,9 @@ >> #include "libavutil/attributes.h" >> >> /** >> - * This struct holds all the information that needs to be passed >> - * between the caller and libavcodec for initializing Videotoolbox decoding. >> + * @ref md_doc_2context "Context" for information passed 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(). >> */ >> diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h >> index a34e61f23c..54b5f9dc43 100644 >> --- a/libavfilter/avfilter.h >> +++ b/libavfilter/avfilter.h >> @@ -403,7 +403,7 @@ unsigned avfilter_filter_pad_count(const AVFilter *filter, int is_output); >> */ >> #define AVFILTER_THREAD_SLICE (1 << 0) >> >> -/** An instance of a filter */ >> +/** @ref md_doc_2context "Context" for a filter */ >> 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..28243c06c4 100644 >> --- a/libavformat/avformat.h >> +++ b/libavformat/avformat.h >> @@ -1241,7 +1241,8 @@ enum AVDurationEstimationMethod { >> }; >> >> /** >> - * Format I/O context. >> + * Format I/O @ref md_doc_2context "context" >> + * >> * New fields can be added to the end with minor version bumps. >> * Removal, reordering and changes to existing fields require a major >> * version bump. >> diff --git a/libavformat/avio.h b/libavformat/avio.h >> index ebf611187d..b525c93194 100644 >> --- a/libavformat/avio.h >> +++ b/libavformat/avio.h >> @@ -146,7 +146,8 @@ enum AVIODataMarkerType { >> }; >> >> /** >> - * Bytestream IO Context. >> + * Bytestream I/O @ref md_doc_2context "context" >> + * >> * New public fields can be added with minor version bumps. >> * Removal, reordering and changes to existing public fields require >> * a major version bump. >> diff --git a/libavutil/audio_fifo.h b/libavutil/audio_fifo.h >> index fa5f59a2be..de29715462 100644 >> --- a/libavutil/audio_fifo.h >> +++ b/libavutil/audio_fifo.h >> @@ -39,7 +39,7 @@ >> */ >> >> /** >> - * Context for an Audio FIFO Buffer. >> + * @ref md_doc_2context "Context" for an Audio FIFO Buffer. >> * >> * - Operates at the sample level rather than the byte level. >> * - Supports multiple channels with either planar or packed sample format. >> diff --git a/libavutil/hwcontext.h b/libavutil/hwcontext.h >> index bac30debae..60064cf08b 100644 >> --- a/libavutil/hwcontext.h >> +++ b/libavutil/hwcontext.h >> @@ -41,12 +41,13 @@ enum AVHWDeviceType { >> }; >> >> /** >> - * This struct aggregates all the (hardware/vendor-specific) "high-level" state, >> - * i.e. state that is not tied to a concrete processing configuration. >> - * E.g., in an API that supports hardware-accelerated encoding and decoding, >> - * this struct will (if possible) wrap the state that is common to both encoding >> - * and decoding and from which specific instances of encoders or decoders can be >> - * derived. >> + * @ref md_doc_2context "Context" for (hardware/vendor-specific) "high-level" state. >> + * >> + * "High-level state" is anything that is not tied to a concrete processing >> + * configuration. E.g., in an API that supports hardware-accelerated encoding >> + * and decoding, this struct will (if possible) wrap the state that is common >> + * to both encoding and decoding and from which specific instances of encoders >> + * or decoders can be derived. >> * >> * This struct is reference-counted with the AVBuffer mechanism. The >> * av_hwdevice_ctx_alloc() constructor yields a reference, whose data field >> @@ -103,9 +104,11 @@ typedef struct AVHWDeviceContext { >> } AVHWDeviceContext; >> >> /** >> - * This struct describes a set or pool of "hardware" frames (i.e. those with >> - * data not located in normal system memory). All the frames in the pool are >> - * assumed to be allocated in the same way and interchangeable. >> + * @ref md_doc_2context "context" for a pool of "hardware" frames (those with >> + * data not located in normal system memory) >> + * >> + * All the frames in the pool are assumed to be allocated in the same way and >> + * interchangeable. >> * >> * This struct is reference-counted with the AVBuffer mechanism and tied to a >> * given AVHWDeviceContext instance. The av_hwframe_ctx_alloc() constructor >> diff --git a/libavutil/hwcontext_cuda.h b/libavutil/hwcontext_cuda.h >> index cbad434fea..e259892688 100644 >> --- a/libavutil/hwcontext_cuda.h >> +++ b/libavutil/hwcontext_cuda.h >> @@ -37,7 +37,7 @@ >> typedef struct AVCUDADeviceContextInternal AVCUDADeviceContextInternal; >> >> /** >> - * This struct is allocated as AVHWDeviceContext.hwctx >> + * This @ref md_doc_2context "context" is allocated as AVHWDeviceContext.hwctx >> */ >> typedef struct AVCUDADeviceContext { >> CUcontext cuda_ctx; >> diff --git a/libavutil/hwcontext_d3d11va.h b/libavutil/hwcontext_d3d11va.h >> index 77d2d72f1b..101d1cb6f8 100644 >> --- a/libavutil/hwcontext_d3d11va.h >> +++ b/libavutil/hwcontext_d3d11va.h >> @@ -40,7 +40,7 @@ >> #include <stdint.h> >> >> /** >> - * This struct is allocated as AVHWDeviceContext.hwctx >> + * This @ref md_doc_2context "context" is allocated as AVHWDeviceContext.hwctx >> */ >> typedef struct AVD3D11VADeviceContext { >> /** >> @@ -126,7 +126,7 @@ typedef struct AVD3D11FrameDescriptor { >> } AVD3D11FrameDescriptor; >> >> /** >> - * This struct is allocated as AVHWFramesContext.hwctx >> + * This @ref md_doc_2context "context" is allocated as AVHWFramesContext.hwctx >> */ >> typedef struct AVD3D11VAFramesContext { >> /** >> diff --git a/libavutil/hwcontext_d3d12va.h b/libavutil/hwcontext_d3d12va.h >> index ff06e6f2ef..c623914c2b 100644 >> --- a/libavutil/hwcontext_d3d12va.h >> +++ b/libavutil/hwcontext_d3d12va.h >> @@ -37,7 +37,7 @@ >> #include <d3d12video.h> >> >> /** >> - * @brief This struct is allocated as AVHWDeviceContext.hwctx >> + * @brief This @ref md_doc_2context "context" is allocated as AVHWDeviceContext.hwctx >> * >> */ >> typedef struct AVD3D12VADeviceContext { >> @@ -78,7 +78,7 @@ typedef struct AVD3D12VADeviceContext { >> } AVD3D12VADeviceContext; >> >> /** >> - * @brief This struct is used to sync d3d12 execution >> + * @brief This @ref md_doc_2context "context" is used to sync d3d12 execution >> * >> */ >> typedef struct AVD3D12VASyncContext { >> @@ -120,7 +120,7 @@ typedef struct AVD3D12VAFrame { >> } AVD3D12VAFrame; >> >> /** >> - * @brief This struct is allocated as AVHWFramesContext.hwctx >> + * @brief This @ref md_doc_2context "context" is allocated as AVHWFramesContext.hwctx >> * >> */ >> typedef struct AVD3D12VAFramesContext { >> diff --git a/libavutil/hwcontext_drm.h b/libavutil/hwcontext_drm.h >> index 42709f215e..8329e69966 100644 >> --- a/libavutil/hwcontext_drm.h >> +++ b/libavutil/hwcontext_drm.h >> @@ -152,7 +152,7 @@ typedef struct AVDRMFrameDescriptor { >> /** >> * DRM device. >> * >> - * Allocated as AVHWDeviceContext.hwctx. >> + * This @ref md_doc_2context "context" is allocated as AVHWDeviceContext.hwctx. >> */ >> typedef struct AVDRMDeviceContext { >> /** >> diff --git a/libavutil/hwcontext_dxva2.h b/libavutil/hwcontext_dxva2.h >> index e1b79bc0de..c679c16af0 100644 >> --- a/libavutil/hwcontext_dxva2.h >> +++ b/libavutil/hwcontext_dxva2.h >> @@ -34,14 +34,14 @@ >> #include <dxva2api.h> >> >> /** >> - * This struct is allocated as AVHWDeviceContext.hwctx >> + * This @ref md_doc_2context "context" is allocated as AVHWDeviceContext.hwctx >> */ >> typedef struct AVDXVA2DeviceContext { >> IDirect3DDeviceManager9 *devmgr; >> } AVDXVA2DeviceContext; >> >> /** >> - * This struct is allocated as AVHWFramesContext.hwctx >> + * This @ref md_doc_2context "context" is allocated as AVHWFramesContext.hwctx >> */ >> typedef struct AVDXVA2FramesContext { >> /** >> diff --git a/libavutil/hwcontext_mediacodec.h b/libavutil/hwcontext_mediacodec.h >> index fc0263cabc..e81193247b 100644 >> --- a/libavutil/hwcontext_mediacodec.h >> +++ b/libavutil/hwcontext_mediacodec.h >> @@ -22,7 +22,7 @@ >> /** >> * MediaCodec details. >> * >> - * Allocated as AVHWDeviceContext.hwctx >> + * This @ref md_doc_2context "context" is allocated as AVHWDeviceContext.hwctx >> */ >> typedef struct AVMediaCodecDeviceContext { >> /** >> diff --git a/libavutil/hwcontext_opencl.h b/libavutil/hwcontext_opencl.h >> index ef54486c95..7abd97db2b 100644 >> --- a/libavutil/hwcontext_opencl.h >> +++ b/libavutil/hwcontext_opencl.h >> @@ -58,7 +58,7 @@ typedef struct AVOpenCLFrameDescriptor { >> /** >> * OpenCL device details. >> * >> - * Allocated as AVHWDeviceContext.hwctx >> + * This @ref md_doc_2context "context" is allocated as AVHWDeviceContext.hwctx >> */ >> typedef struct AVOpenCLDeviceContext { >> /** >> @@ -84,7 +84,7 @@ typedef struct AVOpenCLDeviceContext { >> /** >> * OpenCL-specific data associated with a frame pool. >> * >> - * Allocated as AVHWFramesContext.hwctx. >> + * This @ref md_doc_2context "context" is allocated as AVHWFramesContext.hwctx. >> */ >> typedef struct AVOpenCLFramesContext { >> /** >> diff --git a/libavutil/hwcontext_qsv.h b/libavutil/hwcontext_qsv.h >> index e2dba8ad83..b63ebddaef 100644 >> --- a/libavutil/hwcontext_qsv.h >> +++ b/libavutil/hwcontext_qsv.h >> @@ -30,7 +30,7 @@ >> */ >> >> /** >> - * This struct is allocated as AVHWDeviceContext.hwctx >> + * This @ref md_doc_2context "context" is allocated as AVHWDeviceContext.hwctx >> */ >> typedef struct AVQSVDeviceContext { >> mfxSession session; >> @@ -48,7 +48,7 @@ typedef struct AVQSVDeviceContext { >> } AVQSVDeviceContext; >> >> /** >> - * This struct is allocated as AVHWFramesContext.hwctx >> + * This @ref md_doc_2context "context" is allocated as AVHWFramesContext.hwctx >> */ >> typedef struct AVQSVFramesContext { >> mfxFrameSurface1 *surfaces; >> diff --git a/libavutil/hwcontext_vaapi.h b/libavutil/hwcontext_vaapi.h >> index 0b2e071cb3..4a897eb851 100644 >> --- a/libavutil/hwcontext_vaapi.h >> +++ b/libavutil/hwcontext_vaapi.h >> @@ -63,7 +63,7 @@ enum { >> /** >> * VAAPI connection details. >> * >> - * Allocated as AVHWDeviceContext.hwctx >> + * This @ref md_doc_2context "context" is allocated as AVHWDeviceContext.hwctx >> */ >> typedef struct AVVAAPIDeviceContext { >> /** >> @@ -83,7 +83,7 @@ typedef struct AVVAAPIDeviceContext { >> /** >> * VAAPI-specific data associated with a frame pool. >> * >> - * Allocated as AVHWFramesContext.hwctx. >> + * This @ref md_doc_2context "context" is allocated as AVHWFramesContext.hwctx. >> */ >> typedef struct AVVAAPIFramesContext { >> /** >> @@ -105,7 +105,7 @@ typedef struct AVVAAPIFramesContext { >> /** >> * VAAPI hardware pipeline configuration details. >> * >> - * Allocated with av_hwdevice_hwconfig_alloc(). >> + * This struct is allocated with av_hwdevice_hwconfig_alloc(). >> */ >> typedef struct AVVAAPIHWConfig { >> /** >> diff --git a/libavutil/hwcontext_vdpau.h b/libavutil/hwcontext_vdpau.h >> index 1b7ea1e443..e305caa595 100644 >> --- a/libavutil/hwcontext_vdpau.h >> +++ b/libavutil/hwcontext_vdpau.h >> @@ -30,7 +30,7 @@ >> */ >> >> /** >> - * This struct is allocated as AVHWDeviceContext.hwctx >> + * This @ref md_doc_2context "context" is allocated as AVHWDeviceContext.hwctx >> */ >> typedef struct AVVDPAUDeviceContext { >> VdpDevice device; >> diff --git a/libavutil/hwcontext_vulkan.h b/libavutil/hwcontext_vulkan.h >> index cbbd2390c1..1869870032 100644 >> --- a/libavutil/hwcontext_vulkan.h >> +++ b/libavutil/hwcontext_vulkan.h >> @@ -39,7 +39,7 @@ typedef struct AVVkFrame AVVkFrame; >> */ >> >> /** >> - * Main Vulkan context, allocated as AVHWDeviceContext.hwctx. >> + * Main Vulkan @ref md_doc_2context "context", allocated as AVHWDeviceContext.hwctx. >> * All of these can be set before init to change what the context uses >> */ >> typedef struct AVVulkanDeviceContext { >> @@ -172,7 +172,7 @@ typedef enum AVVkFrameFlags { >> } AVVkFrameFlags; >> >> /** >> - * Allocated as AVHWFramesContext.hwctx, used to set pool-specific options >> + * This @ref md_doc_2context "context" is allocated as AVHWFramesContext.hwctx, used to set pool-specific options >> */ >> typedef struct AVVulkanFramesContext { >> /** >> diff --git a/libavutil/lfg.h b/libavutil/lfg.h >> index e75a986f12..7f4ff5b62f 100644 >> --- a/libavutil/lfg.h >> +++ b/libavutil/lfg.h >> @@ -25,7 +25,7 @@ >> #include <stdint.h> >> >> /** >> - * Context structure for the Lagged Fibonacci PRNG. >> + * @ref md_doc_2context "Context" structure for the Lagged Fibonacci PRNG. >> * 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. >> > > Could you at least not put "context" in quotation marks? > To be honest, I'm not sure this makes documentation any better. > A context is an essential term we use in our codebase that's pretty > universal. Explaining again and again at every mention is annoying. +1. I don’t think “context" is specific to FFmpeg, it’s like common naming conventions. > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2024-05-02 13:01 UTC|newest] Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-04-18 15:06 [FFmpeg-devel] [PATCH 1/3] doc: Explain what "context" means Andrew Sayers 2024-04-18 15:06 ` [FFmpeg-devel] [PATCH 2/3] lavu: Clarify relationship between AVClass, AVOption and context Andrew Sayers 2024-04-18 15:06 ` [FFmpeg-devel] [PATCH 3/3] all: Link to "context" from all contexts with documentation Andrew Sayers 2024-04-20 7:25 ` [FFmpeg-devel] [PATCH 1/3] doc: Explain what "context" means Stefano Sabatini 2024-04-20 12:18 ` Andrew Sayers 2024-04-20 16:13 ` Stefano Sabatini 2024-04-20 12:19 ` [FFmpeg-devel] [PATCH v2 " Andrew Sayers 2024-04-20 12:19 ` [FFmpeg-devel] [PATCH v2 2/3] lavu: Clarify relationship between AVClass, AVOption and context Andrew Sayers 2024-04-20 12:19 ` [FFmpeg-devel] [PATCH v2 3/3] all: Link to "context" from all contexts with documentation Andrew Sayers 2024-04-20 16:48 ` [FFmpeg-devel] [PATCH v2 1/3] doc: Explain what "context" means Stefano Sabatini 2024-04-20 22:17 ` Andrew Sayers 2024-04-22 8:02 ` Stefano Sabatini 2024-04-22 15:56 ` [FFmpeg-devel] [PATCH v3 0/3] all: Link to "context" from all contexts with documentation Andrew Sayers 2024-04-22 15:56 ` [FFmpeg-devel] [PATCH v3 1/3] doc: Explain what "context" means Andrew Sayers 2024-04-22 17:05 ` Stefano Sabatini 2024-04-29 9:10 ` Andrew Sayers 2024-05-02 10:03 ` Andrew Sayers 2024-05-05 7:29 ` Stefano Sabatini 2024-05-05 21:04 ` Andrew Sayers 2024-05-22 10:37 ` Stefano Sabatini 2024-05-22 12:47 ` Andrew Sayers 2024-05-25 9:00 ` Stefano Sabatini 2024-04-29 9:24 ` [FFmpeg-devel] [PATCH v4 1/4] " Andrew Sayers 2024-04-29 9:24 ` [FFmpeg-devel] [PATCH v4 2/4] lavu: Clarify relationship between AVClass, AVOption and context Andrew Sayers 2024-04-29 9:24 ` [FFmpeg-devel] [PATCH v4 3/4] all: Link to "context" from all contexts with documentation Andrew Sayers 2024-05-02 11:01 ` Lynne 2024-05-02 11:14 ` Andrew Sayers 2024-05-02 13:00 ` Zhao Zhili [this message] 2024-05-02 13:27 ` Andrew Sayers 2024-05-02 13:39 ` Zhao Zhili 2024-04-29 9:24 ` [FFmpeg-devel] [PATCH v4 4/4] lavf: Add documentation for private "Context" classes Andrew Sayers 2024-05-05 8:31 ` [FFmpeg-devel] [PATCH v4 1/4] doc: Explain what "context" means Andreas Rheinhardt 2024-05-05 10:34 ` Andrew Sayers 2024-04-22 15:56 ` [FFmpeg-devel] [PATCH v3 2/3] lavu: Clarify relationship between AVClass, AVOption and context Andrew Sayers 2024-04-22 15:56 ` [FFmpeg-devel] [PATCH v3 3/3] all: Link to "context" from all contexts with documentation Andrew Sayers 2024-05-15 15:54 ` [FFmpeg-devel] [PATCH v4 0/4] Explain what "context" means Andrew Sayers 2024-05-15 15:54 ` [FFmpeg-devel] [PATCH v4 1/4] doc: " Andrew Sayers 2024-05-22 9:31 ` Stefano Sabatini 2024-05-22 16:07 ` Andrew Sayers 2024-05-25 9:49 ` Stefano Sabatini 2024-05-26 12:06 ` Andrew Sayers 2024-05-28 17:24 ` Stefano Sabatini 2024-05-29 10:10 ` Andrew Sayers 2024-05-29 10:50 ` Andrew Sayers 2024-05-29 11:06 ` Paul B Mahol 2024-05-29 14:18 ` Andrew Sayers 2024-05-29 16:06 ` Stefano Sabatini 2024-05-23 20:00 ` [FFmpeg-devel] [PATCH v5 0/4] " Andrew Sayers 2024-05-23 20:00 ` [FFmpeg-devel] [PATCH v5 1/4] doc: " Andrew Sayers 2024-05-25 11:00 ` Stefano Sabatini 2024-05-23 20:00 ` [FFmpeg-devel] [PATCH v5 2/4] lavu: Clarify relationship between AVClass, AVOption and context Andrew Sayers 2024-05-25 9:57 ` Stefano Sabatini 2024-05-23 20:00 ` [FFmpeg-devel] [PATCH v5 3/4] all: Link to "context" from all public contexts with documentation Andrew Sayers 2024-05-23 20:00 ` [FFmpeg-devel] [PATCH v5 4/4] all: Rewrite documentation for contexts Andrew Sayers 2024-05-24 1:50 ` [FFmpeg-devel] [PATCH v5 0/4] Explain what "context" means Michael Niedermayer 2024-05-24 9:43 ` Andrew Sayers 2024-05-15 15:54 ` [FFmpeg-devel] [PATCH v4 2/4] lavu: Clarify relationship between AVClass, AVOption and context Andrew Sayers 2024-05-22 10:04 ` Stefano Sabatini 2024-05-15 15:54 ` [FFmpeg-devel] [PATCH v4 3/4] all: Link to "context" from all contexts with documentation Andrew Sayers 2024-05-15 16:46 ` Lynne via ffmpeg-devel 2024-05-16 11:25 ` Andrew Sayers 2024-05-15 15:54 ` [FFmpeg-devel] [PATCH v4 4/4] lavf: Add documentation for private "Context" classes Andrew Sayers 2024-05-22 10:08 ` Stefano Sabatini 2024-05-22 14:47 ` Andrew Sayers 2024-05-22 15:24 ` Andreas Rheinhardt 2024-05-22 16:54 ` Andrew Sayers 2024-06-04 14:47 ` [FFmpeg-devel] [PATCH v6 0/4] doc: Explain what "context" means Andrew Sayers 2024-06-04 14:47 ` [FFmpeg-devel] [PATCH v6 1/4] " Andrew Sayers 2024-06-05 8:15 ` Anton Khirnov 2024-06-12 20:52 ` Stefano Sabatini 2024-06-13 14:20 ` Andrew Sayers 2024-06-15 9:17 ` Stefano Sabatini 2024-06-16 18:02 ` [FFmpeg-devel] Development process for explaining contexts (was Re: [PATCH v6 1/4] doc: Explain what "context" means) Andrew Sayers 2024-06-16 21:20 ` Paul B Mahol 2024-07-01 22:16 ` Stefano Sabatini 2024-07-02 9:56 ` Andrew Sayers 2024-07-06 11:33 ` Stefano Sabatini 2024-06-04 14:47 ` [FFmpeg-devel] [PATCH v6 2/4] lavu: Clarify relationship between AVClass, AVOption and context Andrew Sayers 2024-06-05 10:34 ` Stefano Sabatini 2024-06-05 12:46 ` Andrew Sayers 2024-06-04 14:47 ` [FFmpeg-devel] [PATCH v6 3/4] all: Link to "context" from all public contexts with documentation Andrew Sayers 2024-06-05 8:12 ` Anton Khirnov 2024-06-05 12:51 ` Andrew Sayers 2024-06-04 14:47 ` [FFmpeg-devel] [PATCH v6 4/4] all: Rewrite documentation for contexts Andrew Sayers
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=tencent_72A7F66A88D309DC59CB9266305092A6CC06@qq.com \ --to=quinkblack@foxmail.com \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git