Index: patched-ffmpeg-mt/libavcodec/avcodec.h |
=================================================================== |
--- patched-ffmpeg-mt/libavcodec/avcodec.h (revision 41250) |
+++ patched-ffmpeg-mt/libavcodec/avcodec.h (working copy) |
@@ -30,7 +30,7 @@ |
#include "libavutil/avutil.h" |
#define LIBAVCODEC_VERSION_MAJOR 52 |
-#define LIBAVCODEC_VERSION_MINOR 52 |
+#define LIBAVCODEC_VERSION_MINOR 59 |
#define LIBAVCODEC_VERSION_MICRO 0 |
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ |
@@ -204,6 +204,9 @@ |
CODEC_ID_R210, |
CODEC_ID_ANM, |
CODEC_ID_BINKVIDEO, |
+ CODEC_ID_IFF_ILBM, |
+ CODEC_ID_IFF_BYTERUN1, |
+ CODEC_ID_KGV1, |
/* various PCM "codecs" */ |
CODEC_ID_PCM_S16LE= 0x10000, |
@@ -422,12 +425,14 @@ |
/** |
* Required number of additionally allocated bytes at the end of the input bitstream for decoding. |
- * This is mainly needed because some optimized bitstream readers read |
- * 32 or 64 bit at once and could read over the end.<br> |
+ * The first 8 bytes are needed because some optimized bitstream readers read |
+ * 32 or 64 bit at once and could read over the end. The remainder is to give |
+ * decoders a reasonable amount of distance to work with before checking for |
+ * buffer overreads.<br> |
* Note: If the first 23 bits of the additional bytes are not 0, then damaged |
* MPEG bitstreams could cause overread and segfault. |
*/ |
-#define FF_INPUT_BUFFER_PADDING_SIZE 8 |
+#define FF_INPUT_BUFFER_PADDING_SIZE 64 |
/** |
* minimum encoding buffer size |
@@ -895,7 +900,8 @@ |
short *dct_coeff;\ |
\ |
/**\ |
- * motion referece frame index\ |
+ * motion reference frame index\ |
+ * the order in which these are stored can depend on the codec.\ |
* - encoding: Set by user.\ |
* - decoding: Set by libavcodec.\ |
*/\ |
@@ -1323,6 +1329,7 @@ |
#define FF_BUG_HPEL_CHROMA 2048 |
#define FF_BUG_DC_CLIP 4096 |
#define FF_BUG_MS 8192 ///< Work around various bugs in Microsoft's broken decoders. |
+#define FF_BUG_TRUNCATED 16384 |
//#define FF_BUG_FAKE_SCALABILITY 16 //Autodetection should work 100%. |
/** |
@@ -1380,7 +1387,7 @@ |
/** |
* Called at the beginning of each frame to get a buffer for it. |
* If pic.reference is set then the frame will be read later by libavcodec. |
- * avcodec_align_dimensions() should be used to find the required width and |
+ * avcodec_align_dimensions2() should be used to find the required width and |
* height, as they normally need to be rounded up to the next multiple of 16. |
* if CODEC_CAP_DR1 is not set then get_buffer() must call |
* avcodec_default_get_buffer() instead of providing buffers allocated by |
@@ -1592,6 +1599,7 @@ |
#define FF_IDCT_EA 21 |
#define FF_IDCT_SIMPLENEON 22 |
#define FF_IDCT_SIMPLEALPHA 23 |
+#define FF_IDCT_BINK 24 |
/** |
* slice count |
@@ -3290,7 +3298,19 @@ |
int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic); |
void avcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic); |
int avcodec_default_reget_buffer(AVCodecContext *s, AVFrame *pic); |
+/** |
+ * Modifies width and height values so that they will result in a memory |
+ * buffer that is acceptable for the codec if you do not use any horizontal |
+ * padding. |
+ */ |
void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height); |
+/** |
+ * Modifies width and height values so that they will result in a memory |
+ * buffer that is acceptable for the codec if you also ensure that all |
+ * line sizes are a multiple of the respective linesize_align[i]. |
+ */ |
+void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, |
+ int linesize_align[4]); |
/** |
* Checks if the given dimension of a picture is valid, meaning that all |