Mercurial > libavcodec.hg
comparison avcodec.h @ 9822:2887f410011f libavcodec
Remove '\p', '\c' and '\e' doxygen markup from doxy, as it should
improve plain text doxy readability.
See the thread: "[RFC] Should we use doxygen markup?".
| author | stefano |
|---|---|
| date | Sat, 06 Jun 2009 09:35:15 +0000 |
| parents | 798d6520c7f4 |
| children | 37558edc9df2 |
comparison
equal
deleted
inserted
replaced
| 9821:0813b30e7db9 | 9822:2887f410011f |
|---|---|
| 2542 */ | 2542 */ |
| 2543 void (*flush)(AVCodecContext *); | 2543 void (*flush)(AVCodecContext *); |
| 2544 const AVRational *supported_framerates; ///< array of supported framerates, or NULL if any, array is terminated by {0,0} | 2544 const AVRational *supported_framerates; ///< array of supported framerates, or NULL if any, array is terminated by {0,0} |
| 2545 const enum PixelFormat *pix_fmts; ///< array of supported pixel formats, or NULL if unknown, array is terminated by -1 | 2545 const enum PixelFormat *pix_fmts; ///< array of supported pixel formats, or NULL if unknown, array is terminated by -1 |
| 2546 /** | 2546 /** |
| 2547 * Descriptive name for the codec, meant to be more human readable than \p name. | 2547 * Descriptive name for the codec, meant to be more human readable than name. |
| 2548 * You \e should use the NULL_IF_CONFIG_SMALL() macro to define it. | 2548 * You should use the NULL_IF_CONFIG_SMALL() macro to define it. |
| 2549 */ | 2549 */ |
| 2550 const char *long_name; | 2550 const char *long_name; |
| 2551 const int *supported_samplerates; ///< array of supported audio samplerates, or NULL if unknown, array is terminated by 0 | 2551 const int *supported_samplerates; ///< array of supported audio samplerates, or NULL if unknown, array is terminated by 0 |
| 2552 const enum SampleFormat *sample_fmts; ///< array of supported sample formats, or NULL if unknown, array is terminated by -1 | 2552 const enum SampleFormat *sample_fmts; ///< array of supported sample formats, or NULL if unknown, array is terminated by -1 |
| 2553 const int64_t *channel_layouts; ///< array of support channel layouts, or NULL if unknown. array is terminated by 0 | 2553 const int64_t *channel_layouts; ///< array of support channel layouts, or NULL if unknown. array is terminated by 0 |
| 2597 * Called at the beginning of each frame or field picture. | 2597 * Called at the beginning of each frame or field picture. |
| 2598 * | 2598 * |
| 2599 * Meaningful frame information (codec specific) is guaranteed to | 2599 * Meaningful frame information (codec specific) is guaranteed to |
| 2600 * be parsed at this point. This function is mandatory. | 2600 * be parsed at this point. This function is mandatory. |
| 2601 * | 2601 * |
| 2602 * Note that \p buf can be NULL along with \p buf_size set to 0. | 2602 * Note that buf can be NULL along with buf_size set to 0. |
| 2603 * Otherwise, this means the whole frame is available at this point. | 2603 * Otherwise, this means the whole frame is available at this point. |
| 2604 * | 2604 * |
| 2605 * @param avctx the codec context | 2605 * @param avctx the codec context |
| 2606 * @param buf the frame data buffer base | 2606 * @param buf the frame data buffer base |
| 2607 * @param buf_size the size of the frame in bytes | 2607 * @param buf_size the size of the frame in bytes |
| 2913 void avcodec_get_chroma_sub_sample(enum PixelFormat pix_fmt, int *h_shift, int *v_shift); | 2913 void avcodec_get_chroma_sub_sample(enum PixelFormat pix_fmt, int *h_shift, int *v_shift); |
| 2914 const char *avcodec_get_pix_fmt_name(enum PixelFormat pix_fmt); | 2914 const char *avcodec_get_pix_fmt_name(enum PixelFormat pix_fmt); |
| 2915 void avcodec_set_dimensions(AVCodecContext *s, int width, int height); | 2915 void avcodec_set_dimensions(AVCodecContext *s, int width, int height); |
| 2916 | 2916 |
| 2917 /** | 2917 /** |
| 2918 * Returns the pixel format corresponding to the name \p name. | 2918 * Returns the pixel format corresponding to the name name. |
| 2919 * | 2919 * |
| 2920 * If there is no pixel format with name \p name, then looks for a | 2920 * If there is no pixel format with name name, then looks for a |
| 2921 * pixel format with the name corresponding to the native endian | 2921 * pixel format with the name corresponding to the native endian |
| 2922 * format of \p name. | 2922 * format of name. |
| 2923 * For example in a little-endian system, first looks for "gray16", | 2923 * For example in a little-endian system, first looks for "gray16", |
| 2924 * then for "gray16le". | 2924 * then for "gray16le". |
| 2925 * | 2925 * |
| 2926 * Finally if no pixel format has been found, returns \c PIX_FMT_NONE. | 2926 * Finally if no pixel format has been found, returns PIX_FMT_NONE. |
| 2927 */ | 2927 */ |
| 2928 enum PixelFormat avcodec_get_pix_fmt(const char* name); | 2928 enum PixelFormat avcodec_get_pix_fmt(const char* name); |
| 2929 unsigned int avcodec_pix_fmt_to_codec_tag(enum PixelFormat p); | 2929 unsigned int avcodec_pix_fmt_to_codec_tag(enum PixelFormat p); |
| 2930 | 2930 |
| 2931 #define FF_LOSS_RESOLUTION 0x0001 /**< loss due to resolution change */ | 2931 #define FF_LOSS_RESOLUTION 0x0001 /**< loss due to resolution change */ |
| 2961 * may occur. For example, when converting from RGB24 to GRAY, the color | 2961 * may occur. For example, when converting from RGB24 to GRAY, the color |
| 2962 * information will be lost. Similarly, other losses occur when converting from | 2962 * information will be lost. Similarly, other losses occur when converting from |
| 2963 * some formats to other formats. avcodec_find_best_pix_fmt() searches which of | 2963 * some formats to other formats. avcodec_find_best_pix_fmt() searches which of |
| 2964 * the given pixel formats should be used to suffer the least amount of loss. | 2964 * the given pixel formats should be used to suffer the least amount of loss. |
| 2965 * The pixel formats from which it chooses one, are determined by the | 2965 * The pixel formats from which it chooses one, are determined by the |
| 2966 * \p pix_fmt_mask parameter. | 2966 * pix_fmt_mask parameter. |
| 2967 * | 2967 * |
| 2968 * @code | 2968 * @code |
| 2969 * src_pix_fmt = PIX_FMT_YUV420P; | 2969 * src_pix_fmt = PIX_FMT_YUV420P; |
| 2970 * pix_fmt_mask = (1 << PIX_FMT_YUV422P) || (1 << PIX_FMT_RGB24); | 2970 * pix_fmt_mask = (1 << PIX_FMT_YUV422P) || (1 << PIX_FMT_RGB24); |
| 2971 * dst_pix_fmt = avcodec_find_best_pix_fmt(pix_fmt_mask, src_pix_fmt, alpha, &loss); | 2971 * dst_pix_fmt = avcodec_find_best_pix_fmt(pix_fmt_mask, src_pix_fmt, alpha, &loss); |
| 3023 unsigned avcodec_version(void); | 3023 unsigned avcodec_version(void); |
| 3024 | 3024 |
| 3025 /** | 3025 /** |
| 3026 * Initializes libavcodec. | 3026 * Initializes libavcodec. |
| 3027 * | 3027 * |
| 3028 * @warning This function \e must be called before any other libavcodec | 3028 * @warning This function must be called before any other libavcodec |
| 3029 * function. | 3029 * function. |
| 3030 */ | 3030 */ |
| 3031 void avcodec_init(void); | 3031 void avcodec_init(void); |
| 3032 | 3032 |
| 3033 #if LIBAVCODEC_VERSION_MAJOR < 53 | 3033 #if LIBAVCODEC_VERSION_MAJOR < 53 |
| 3036 */ | 3036 */ |
| 3037 attribute_deprecated void register_avcodec(AVCodec *codec); | 3037 attribute_deprecated void register_avcodec(AVCodec *codec); |
| 3038 #endif | 3038 #endif |
| 3039 | 3039 |
| 3040 /** | 3040 /** |
| 3041 * Register the codec \p codec and initialize libavcodec. | 3041 * Register the codec codec and initialize libavcodec. |
| 3042 * | 3042 * |
| 3043 * @see avcodec_init() | 3043 * @see avcodec_init() |
| 3044 */ | 3044 */ |
| 3045 void avcodec_register(AVCodec *codec); | 3045 void avcodec_register(AVCodec *codec); |
| 3046 | 3046 |
| 3168 */ | 3168 */ |
| 3169 int avcodec_open(AVCodecContext *avctx, AVCodec *codec); | 3169 int avcodec_open(AVCodecContext *avctx, AVCodec *codec); |
| 3170 | 3170 |
| 3171 #if LIBAVCODEC_VERSION_MAJOR < 53 | 3171 #if LIBAVCODEC_VERSION_MAJOR < 53 |
| 3172 /** | 3172 /** |
| 3173 * Decodes an audio frame from \p buf into \p samples. | 3173 * Decodes an audio frame from buf into samples. |
| 3174 * Wrapper function which calls avcodec_decode_audio3. | 3174 * Wrapper function which calls avcodec_decode_audio3. |
| 3175 * | 3175 * |
| 3176 * @deprecated Use avcodec_decode_audio3 instead. | 3176 * @deprecated Use avcodec_decode_audio3 instead. |
| 3177 * @param avctx the codec context | 3177 * @param avctx the codec context |
| 3178 * @param[out] samples the output buffer | 3178 * @param[out] samples the output buffer |
| 3190 /** | 3190 /** |
| 3191 * Decodes the audio frame of size avpkt->size from avpkt->data into samples. | 3191 * Decodes the audio frame of size avpkt->size from avpkt->data into samples. |
| 3192 * Some decoders may support multiple frames in a single AVPacket, such | 3192 * Some decoders may support multiple frames in a single AVPacket, such |
| 3193 * decoders would then just decode the first frame. | 3193 * decoders would then just decode the first frame. |
| 3194 * If no frame | 3194 * If no frame |
| 3195 * could be decompressed, \p frame_size_ptr is zero. Otherwise, it is the | 3195 * could be decompressed, frame_size_ptr is zero. Otherwise, it is the |
| 3196 * decompressed frame size in \e bytes. | 3196 * decompressed frame size in bytes. |
| 3197 * | 3197 * |
| 3198 * @warning You \e must set \p frame_size_ptr to the allocated size of the | 3198 * @warning You must set frame_size_ptr to the allocated size of the |
| 3199 * output buffer before calling avcodec_decode_audio3(). | 3199 * output buffer before calling avcodec_decode_audio3(). |
| 3200 * | 3200 * |
| 3201 * @warning The input buffer must be \c FF_INPUT_BUFFER_PADDING_SIZE larger than | 3201 * @warning The input buffer must be FF_INPUT_BUFFER_PADDING_SIZE larger than |
| 3202 * the actual read bytes because some optimized bitstream readers read 32 or 64 | 3202 * the actual read bytes because some optimized bitstream readers read 32 or 64 |
| 3203 * bits at once and could read over the end. | 3203 * bits at once and could read over the end. |
| 3204 * | 3204 * |
| 3205 * @warning The end of the input buffer \p avpkt->data should be set to 0 to ensure that | 3205 * @warning The end of the input buffer avpkt->data should be set to 0 to ensure that |
| 3206 * no overreading happens for damaged MPEG streams. | 3206 * no overreading happens for damaged MPEG streams. |
| 3207 * | 3207 * |
| 3208 * @note You might have to align the input buffer \p avpkt->data and output buffer \p | 3208 * @note You might have to align the input buffer avpkt->data and output buffer |
| 3209 * samples. The alignment requirements depend on the CPU: On some CPUs it isn't | 3209 * samples. The alignment requirements depend on the CPU: On some CPUs it isn't |
| 3210 * necessary at all, on others it won't work at all if not aligned and on others | 3210 * necessary at all, on others it won't work at all if not aligned and on others |
| 3211 * it will work but it will have an impact on performance. In practice, the | 3211 * it will work but it will have an impact on performance. In practice, the |
| 3212 * bitstream should have 4 byte alignment at minimum and all sample data should | 3212 * bitstream should have 4 byte alignment at minimum and all sample data should |
| 3213 * be 16 byte aligned unless the CPU doesn't need it (AltiVec and SSE do). If | 3213 * be 16 byte aligned unless the CPU doesn't need it (AltiVec and SSE do). If |
| 3228 int *frame_size_ptr, | 3228 int *frame_size_ptr, |
| 3229 AVPacket *avpkt); | 3229 AVPacket *avpkt); |
| 3230 | 3230 |
| 3231 #if LIBAVCODEC_VERSION_MAJOR < 53 | 3231 #if LIBAVCODEC_VERSION_MAJOR < 53 |
| 3232 /** | 3232 /** |
| 3233 * Decodes a video frame from \p buf into \p picture. | 3233 * Decodes a video frame from buf into picture. |
| 3234 * Wrapper function which calls avcodec_decode_video2. | 3234 * Wrapper function which calls avcodec_decode_video2. |
| 3235 * | 3235 * |
| 3236 * @deprecated Use avcodec_decode_video2 instead. | 3236 * @deprecated Use avcodec_decode_video2 instead. |
| 3237 * @param avctx the codec context | 3237 * @param avctx the codec context |
| 3238 * @param[out] picture The AVFrame in which the decoded video frame will be stored. | 3238 * @param[out] picture The AVFrame in which the decoded video frame will be stored. |
| 3250 /** | 3250 /** |
| 3251 * Decodes the video frame of size avpkt->size from avpkt->data into picture. | 3251 * Decodes the video frame of size avpkt->size from avpkt->data into picture. |
| 3252 * Some decoders may support multiple frames in a single AVPacket, such | 3252 * Some decoders may support multiple frames in a single AVPacket, such |
| 3253 * decoders would then just decode the first frame. | 3253 * decoders would then just decode the first frame. |
| 3254 * | 3254 * |
| 3255 * @warning The input buffer must be \c FF_INPUT_BUFFER_PADDING_SIZE larger than | 3255 * @warning The input buffer must be FF_INPUT_BUFFER_PADDING_SIZE larger than |
| 3256 * the actual read bytes because some optimized bitstream readers read 32 or 64 | 3256 * the actual read bytes because some optimized bitstream readers read 32 or 64 |
| 3257 * bits at once and could read over the end. | 3257 * bits at once and could read over the end. |
| 3258 * | 3258 * |
| 3259 * @warning The end of the input buffer \p buf should be set to 0 to ensure that | 3259 * @warning The end of the input buffer buf should be set to 0 to ensure that |
| 3260 * no overreading happens for damaged MPEG streams. | 3260 * no overreading happens for damaged MPEG streams. |
| 3261 * | 3261 * |
| 3262 * @note You might have to align the input buffer \p avpkt->data and output buffer \p | 3262 * @note You might have to align the input buffer avpkt->data and output buffer |
| 3263 * samples. The alignment requirements depend on the CPU: on some CPUs it isn't | 3263 * samples. The alignment requirements depend on the CPU: on some CPUs it isn't |
| 3264 * necessary at all, on others it won't work at all if not aligned and on others | 3264 * necessary at all, on others it won't work at all if not aligned and on others |
| 3265 * it will work but it will have an impact on performance. In practice, the | 3265 * it will work but it will have an impact on performance. In practice, the |
| 3266 * bitstream should have 4 byte alignment at minimum and all sample data should | 3266 * bitstream should have 4 byte alignment at minimum and all sample data should |
| 3267 * be 16 byte aligned unless the CPU doesn't need it (AltiVec and SSE do). If | 3267 * be 16 byte aligned unless the CPU doesn't need it (AltiVec and SSE do). If |
| 3296 #endif | 3296 #endif |
| 3297 | 3297 |
| 3298 /** | 3298 /** |
| 3299 * Decodes a subtitle message. | 3299 * Decodes a subtitle message. |
| 3300 * Returns a negative value on error, otherwise returns the number of bytes used. | 3300 * Returns a negative value on error, otherwise returns the number of bytes used. |
| 3301 * If no subtitle could be decompressed, \p got_sub_ptr is zero. | 3301 * If no subtitle could be decompressed, got_sub_ptr is zero. |
| 3302 * Otherwise, the subtitle is stored in \p *sub. | 3302 * Otherwise, the subtitle is stored in *sub. |
| 3303 * | 3303 * |
| 3304 * @param avctx the codec context | 3304 * @param avctx the codec context |
| 3305 * @param[out] sub The AVSubtitle in which the decoded subtitle will be stored. | 3305 * @param[out] sub The AVSubtitle in which the decoded subtitle will be stored. |
| 3306 * @param[in,out] got_sub_ptr Zero if no subtitle could be decompressed, otherwise, it is nonzero. | 3306 * @param[in,out] got_sub_ptr Zero if no subtitle could be decompressed, otherwise, it is nonzero. |
| 3307 * @param[in] avpkt The input AVPacket containing the input buffer. | 3307 * @param[in] avpkt The input AVPacket containing the input buffer. |
| 3312 int avcodec_parse_frame(AVCodecContext *avctx, uint8_t **pdata, | 3312 int avcodec_parse_frame(AVCodecContext *avctx, uint8_t **pdata, |
| 3313 int *data_size_ptr, | 3313 int *data_size_ptr, |
| 3314 uint8_t *buf, int buf_size); | 3314 uint8_t *buf, int buf_size); |
| 3315 | 3315 |
| 3316 /** | 3316 /** |
| 3317 * Encodes an audio frame from \p samples into \p buf. | 3317 * Encodes an audio frame from samples into buf. |
| 3318 * | 3318 * |
| 3319 * @note The output buffer should be at least \c FF_MIN_BUFFER_SIZE bytes large. | 3319 * @note The output buffer should be at least FF_MIN_BUFFER_SIZE bytes large. |
| 3320 * However, for PCM audio the user will know how much space is needed | 3320 * However, for PCM audio the user will know how much space is needed |
| 3321 * because it depends on the value passed in \p buf_size as described | 3321 * because it depends on the value passed in buf_size as described |
| 3322 * below. In that case a lower value can be used. | 3322 * below. In that case a lower value can be used. |
| 3323 * | 3323 * |
| 3324 * @param avctx the codec context | 3324 * @param avctx the codec context |
| 3325 * @param[out] buf the output buffer | 3325 * @param[out] buf the output buffer |
| 3326 * @param[in] buf_size the output buffer size | 3326 * @param[in] buf_size the output buffer size |
| 3327 * @param[in] samples the input buffer containing the samples | 3327 * @param[in] samples the input buffer containing the samples |
| 3328 * The number of samples read from this buffer is frame_size*channels, | 3328 * The number of samples read from this buffer is frame_size*channels, |
| 3329 * both of which are defined in \p avctx. | 3329 * both of which are defined in avctx. |
| 3330 * For PCM audio the number of samples read from \p samples is equal to | 3330 * For PCM audio the number of samples read from samples is equal to |
| 3331 * \p buf_size * input_sample_size / output_sample_size. | 3331 * buf_size * input_sample_size / output_sample_size. |
| 3332 * @return On error a negative value is returned, on success zero or the number | 3332 * @return On error a negative value is returned, on success zero or the number |
| 3333 * of bytes used to encode the data read from the input buffer. | 3333 * of bytes used to encode the data read from the input buffer. |
| 3334 */ | 3334 */ |
| 3335 int avcodec_encode_audio(AVCodecContext *avctx, uint8_t *buf, int buf_size, | 3335 int avcodec_encode_audio(AVCodecContext *avctx, uint8_t *buf, int buf_size, |
| 3336 const short *samples); | 3336 const short *samples); |
| 3337 | 3337 |
| 3338 /** | 3338 /** |
| 3339 * Encodes a video frame from \p pict into \p buf. | 3339 * Encodes a video frame from pict into buf. |
| 3340 * The input picture should be | 3340 * The input picture should be |
| 3341 * stored using a specific format, namely \c avctx.pix_fmt. | 3341 * stored using a specific format, namely avctx.pix_fmt. |
| 3342 * | 3342 * |
| 3343 * @param avctx the codec context | 3343 * @param avctx the codec context |
| 3344 * @param[out] buf the output buffer for the bitstream of encoded frame | 3344 * @param[out] buf the output buffer for the bitstream of encoded frame |
| 3345 * @param[in] buf_size the size of the output buffer in bytes | 3345 * @param[in] buf_size the size of the output buffer in bytes |
| 3346 * @param[in] pict the input picture to encode | 3346 * @param[in] pict the input picture to encode |
| 3374 void avcodec_default_free_buffers(AVCodecContext *s); | 3374 void avcodec_default_free_buffers(AVCodecContext *s); |
| 3375 | 3375 |
| 3376 /* misc useful functions */ | 3376 /* misc useful functions */ |
| 3377 | 3377 |
| 3378 /** | 3378 /** |
| 3379 * Returns a single letter to describe the given picture type \p pict_type. | 3379 * Returns a single letter to describe the given picture type pict_type. |
| 3380 * | 3380 * |
| 3381 * @param[in] pict_type the picture type | 3381 * @param[in] pict_type the picture type |
| 3382 * @return A single character representing the picture type. | 3382 * @return A single character representing the picture type. |
| 3383 */ | 3383 */ |
| 3384 char av_get_pict_type_char(int pict_type); | 3384 char av_get_pict_type_char(int pict_type); |
| 3664 int padtop, int padbottom, int padleft, int padright, int *color); | 3664 int padtop, int padbottom, int padleft, int padright, int *color); |
| 3665 | 3665 |
| 3666 unsigned int av_xiphlacing(unsigned char *s, unsigned int v); | 3666 unsigned int av_xiphlacing(unsigned char *s, unsigned int v); |
| 3667 | 3667 |
| 3668 /** | 3668 /** |
| 3669 * Parses \p str and put in \p width_ptr and \p height_ptr the detected values. | 3669 * Parses str and put in width_ptr and height_ptr the detected values. |
| 3670 * | 3670 * |
| 3671 * @return 0 in case of a successful parsing, a negative value otherwise | 3671 * @return 0 in case of a successful parsing, a negative value otherwise |
| 3672 * @param[in] str the string to parse: it has to be a string in the format | 3672 * @param[in] str the string to parse: it has to be a string in the format |
| 3673 * <width>x<height> or a valid video frame size abbreviation. | 3673 * <width>x<height> or a valid video frame size abbreviation. |
| 3674 * @param[in,out] width_ptr pointer to the variable which will contain the detected | 3674 * @param[in,out] width_ptr pointer to the variable which will contain the detected |
| 3677 * frame height value | 3677 * frame height value |
| 3678 */ | 3678 */ |
| 3679 int av_parse_video_frame_size(int *width_ptr, int *height_ptr, const char *str); | 3679 int av_parse_video_frame_size(int *width_ptr, int *height_ptr, const char *str); |
| 3680 | 3680 |
| 3681 /** | 3681 /** |
| 3682 * Parses \p str and put in \p frame_rate the detected values. | 3682 * Parses str and put in frame_rate the detected values. |
| 3683 * | 3683 * |
| 3684 * @return 0 in case of a successful parsing, a negative value otherwise | 3684 * @return 0 in case of a successful parsing, a negative value otherwise |
| 3685 * @param[in] str the string to parse: it has to be a string in the format | 3685 * @param[in] str the string to parse: it has to be a string in the format |
| 3686 * <frame_rate_num>/<frame_rate_den>, a float number or a valid video rate abbreviation | 3686 * <frame_rate_num>/<frame_rate_den>, a float number or a valid video rate abbreviation |
| 3687 * @param[in,out] frame_rate pointer to the AVRational which will contain the detected | 3687 * @param[in,out] frame_rate pointer to the AVRational which will contain the detected |
| 3708 #define AVERROR_NOENT AVERROR(ENOENT) /**< No such file or directory. */ | 3708 #define AVERROR_NOENT AVERROR(ENOENT) /**< No such file or directory. */ |
| 3709 #define AVERROR_EOF AVERROR(EPIPE) /**< End of file. */ | 3709 #define AVERROR_EOF AVERROR(EPIPE) /**< End of file. */ |
| 3710 #define AVERROR_PATCHWELCOME -MKTAG('P','A','W','E') /**< Not yet implemented in FFmpeg. Patches welcome. */ | 3710 #define AVERROR_PATCHWELCOME -MKTAG('P','A','W','E') /**< Not yet implemented in FFmpeg. Patches welcome. */ |
| 3711 | 3711 |
| 3712 /** | 3712 /** |
| 3713 * Registers the hardware accelerator \p hwaccel. | 3713 * Registers the hardware accelerator hwaccel. |
| 3714 */ | 3714 */ |
| 3715 void av_register_hwaccel(AVHWAccel *hwaccel); | 3715 void av_register_hwaccel(AVHWAccel *hwaccel); |
| 3716 | 3716 |
| 3717 /** | 3717 /** |
| 3718 * If hwaccel is NULL, returns the first registered hardware accelerator, | 3718 * If hwaccel is NULL, returns the first registered hardware accelerator, |
| 3732 AV_LOCK_DESTROY, ///< Free mutex resources | 3732 AV_LOCK_DESTROY, ///< Free mutex resources |
| 3733 }; | 3733 }; |
| 3734 | 3734 |
| 3735 /** | 3735 /** |
| 3736 * Register a user provided lock manager supporting the operations | 3736 * Register a user provided lock manager supporting the operations |
| 3737 * specified by AVLockOp. \p mutex points to a (void *) where the | 3737 * specified by AVLockOp. mutex points to a (void *) where the |
| 3738 * lockmgr should store/get a pointer to a user allocated mutex. It's | 3738 * lockmgr should store/get a pointer to a user allocated mutex. It's |
| 3739 * NULL upon AV_LOCK_CREATE and != NULL for all other ops. | 3739 * NULL upon AV_LOCK_CREATE and != NULL for all other ops. |
| 3740 * | 3740 * |
| 3741 * @param cb User defined callback. Note: FFmpeg may invoke calls to this | 3741 * @param cb User defined callback. Note: FFmpeg may invoke calls to this |
| 3742 * callback during the call to av_lockmgr_register(). | 3742 * callback during the call to av_lockmgr_register(). |
