comparison avcodec.h @ 11311:ee2e050815be libavcodec

Fix avcodec_align_dimensions to return values suitably aligned for FLV decoding with SSE and add a avcodec_align_dimensions2 taht returns the stride alignment requirements independently from doing the width/height padding.
author reimar
date Sat, 27 Feb 2010 21:13:22 +0000
parents 14535f3deafb
children 7b9896e85410
comparison
equal deleted inserted replaced
11310:1ff8ae765206 11311:ee2e050815be
1365 #define FF_ER_VERY_AGGRESSIVE 4 1365 #define FF_ER_VERY_AGGRESSIVE 4
1366 1366
1367 /** 1367 /**
1368 * Called at the beginning of each frame to get a buffer for it. 1368 * Called at the beginning of each frame to get a buffer for it.
1369 * If pic.reference is set then the frame will be read later by libavcodec. 1369 * If pic.reference is set then the frame will be read later by libavcodec.
1370 * avcodec_align_dimensions() should be used to find the required width and 1370 * avcodec_align_dimensions2() should be used to find the required width and
1371 * height, as they normally need to be rounded up to the next multiple of 16. 1371 * height, as they normally need to be rounded up to the next multiple of 16.
1372 * if CODEC_CAP_DR1 is not set then get_buffer() must call 1372 * if CODEC_CAP_DR1 is not set then get_buffer() must call
1373 * avcodec_default_get_buffer() instead of providing buffers allocated by 1373 * avcodec_default_get_buffer() instead of providing buffers allocated by
1374 * some other means. 1374 * some other means.
1375 * - encoding: unused 1375 * - encoding: unused
3224 AVFrame *avcodec_alloc_frame(void); 3224 AVFrame *avcodec_alloc_frame(void);
3225 3225
3226 int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic); 3226 int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic);
3227 void avcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic); 3227 void avcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic);
3228 int avcodec_default_reget_buffer(AVCodecContext *s, AVFrame *pic); 3228 int avcodec_default_reget_buffer(AVCodecContext *s, AVFrame *pic);
3229 /**
3230 * Modifies width and height values so that they will result in a memory
3231 * buffer that is acceptable for the codec if you do not use any horizontal
3232 * padding.
3233 */
3229 void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height); 3234 void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height);
3235 /**
3236 * Modifies width and height values so that they will result in a memory
3237 * buffer that is acceptable for the codec if you also ensure that all
3238 * line sizes are a multiple of the respective linesize_align[i].
3239 */
3240 void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height,
3241 int linesize_align[4]);
3230 3242
3231 /** 3243 /**
3232 * Checks if the given dimension of a picture is valid, meaning that all 3244 * Checks if the given dimension of a picture is valid, meaning that all
3233 * bytes of the picture can be addressed with a signed int. 3245 * bytes of the picture can be addressed with a signed int.
3234 * 3246 *