Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'
* commit '059a934806d61f7af9ab3fd9f74994b838ea5eba': lavc: Consistently prefix input buffer defines Conflicts: doc/examples/decoding_encoding.c libavcodec/4xm.c libavcodec/aac_adtstoasc_bsf.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.h libavcodec/asvenc.c libavcodec/avcodec.h libavcodec/avpacket.c libavcodec/dvdec.c libavcodec/ffv1enc.c libavcodec/g2meet.c libavcodec/gif.c libavcodec/h264.c libavcodec/h264_mp4toannexb_bsf.c libavcodec/huffyuvdec.c libavcodec/huffyuvenc.c libavcodec/jpeglsenc.c libavcodec/libxvid.c libavcodec/mdec.c libavcodec/motionpixels.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/noise_bsf.c libavcodec/nuv.c libavcodec/nvenc.c libavcodec/options.c libavcodec/parser.c libavcodec/pngenc.c libavcodec/proresenc_kostya.c libavcodec/qsvdec.c libavcodec/svq1enc.c libavcodec/tiffenc.c libavcodec/truemotion2.c libavcodec/utils.c libavcodec/utvideoenc.c libavcodec/vc1dec.c libavcodec/wmalosslessdec.c libavformat/adxdec.c libavformat/aiffdec.c libavformat/apc.c libavformat/apetag.c libavformat/avidec.c libavformat/bink.c libavformat/cafdec.c libavformat/flvdec.c libavformat/id3v2.c libavformat/isom.c libavformat/matroskadec.c libavformat/mov.c libavformat/mpc.c libavformat/mpc8.c libavformat/mpegts.c libavformat/mvi.c libavformat/mxfdec.c libavformat/mxg.c libavformat/nutdec.c libavformat/oggdec.c libavformat/oggparsecelt.c libavformat/oggparseflac.c libavformat/oggparseopus.c libavformat/oggparsespeex.c libavformat/omadec.c libavformat/rawdec.c libavformat/riffdec.c libavformat/rl2.c libavformat/rmdec.c libavformat/rtpdec_latm.c libavformat/rtpdec_mpeg4.c libavformat/rtpdec_qdm2.c libavformat/rtpdec_svq3.c libavformat/sierravmd.c libavformat/smacker.c libavformat/smush.c libavformat/spdifenc.c libavformat/takdec.c libavformat/tta.c libavformat/utils.c libavformat/vqf.c libavformat/westwood_vqa.c libavformat/xmv.c libavformat/xwma.c libavformat/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
commit
29d147c94d
@ -245,7 +245,7 @@ static void audio_decode_example(const char *outfilename, const char *filename)
|
||||
AVCodecContext *c= NULL;
|
||||
int len;
|
||||
FILE *f, *outfile;
|
||||
uint8_t inbuf[AUDIO_INBUF_SIZE + FF_INPUT_BUFFER_PADDING_SIZE];
|
||||
uint8_t inbuf[AUDIO_INBUF_SIZE + AV_INPUT_BUFFER_PADDING_SIZE];
|
||||
AVPacket avpkt;
|
||||
AVFrame *decoded_frame = NULL;
|
||||
|
||||
@ -538,13 +538,13 @@ static void video_decode_example(const char *outfilename, const char *filename)
|
||||
int frame_count;
|
||||
FILE *f;
|
||||
AVFrame *frame;
|
||||
uint8_t inbuf[INBUF_SIZE + FF_INPUT_BUFFER_PADDING_SIZE];
|
||||
uint8_t inbuf[INBUF_SIZE + AV_INPUT_BUFFER_PADDING_SIZE];
|
||||
AVPacket avpkt;
|
||||
|
||||
av_init_packet(&avpkt);
|
||||
|
||||
/* set end of buffer to 0 (this ensures that no overreading happens for damaged mpeg streams) */
|
||||
memset(inbuf + INBUF_SIZE, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(inbuf + INBUF_SIZE, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
printf("Decode video file %s to %s\n", filename, outfilename);
|
||||
|
||||
|
@ -405,7 +405,7 @@ int main(int argc, char **argv)
|
||||
decoder_ctx->codec_id = AV_CODEC_ID_H264;
|
||||
if (video_st->codec->extradata_size) {
|
||||
decoder_ctx->extradata = av_mallocz(video_st->codec->extradata_size +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!decoder_ctx->extradata) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto finish;
|
||||
|
8
ffmpeg.c
8
ffmpeg.c
@ -643,7 +643,7 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)
|
||||
int ret;
|
||||
|
||||
if (!ost->st->codec->extradata_size && ost->enc_ctx->extradata_size) {
|
||||
ost->st->codec->extradata = av_mallocz(ost->enc_ctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
ost->st->codec->extradata = av_mallocz(ost->enc_ctx->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (ost->st->codec->extradata) {
|
||||
memcpy(ost->st->codec->extradata, ost->enc_ctx->extradata, ost->enc_ctx->extradata_size);
|
||||
ost->st->codec->extradata_size = ost->enc_ctx->extradata_size;
|
||||
@ -688,10 +688,10 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)
|
||||
pkt->data, pkt->size,
|
||||
pkt->flags & AV_PKT_FLAG_KEY);
|
||||
if(a == 0 && new_pkt.data != pkt->data && new_pkt.destruct) {
|
||||
uint8_t *t = av_malloc(new_pkt.size + FF_INPUT_BUFFER_PADDING_SIZE); //the new should be a subset of the old so cannot overflow
|
||||
uint8_t *t = av_malloc(new_pkt.size + AV_INPUT_BUFFER_PADDING_SIZE); //the new should be a subset of the old so cannot overflow
|
||||
if(t) {
|
||||
memcpy(t, new_pkt.data, new_pkt.size);
|
||||
memset(t + new_pkt.size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(t + new_pkt.size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
new_pkt.data = t;
|
||||
new_pkt.buf = NULL;
|
||||
a = 1;
|
||||
@ -2811,7 +2811,7 @@ static int transcode_init(void)
|
||||
|
||||
av_assert0(ist && !ost->filter);
|
||||
|
||||
extra_size = (uint64_t)dec_ctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE;
|
||||
extra_size = (uint64_t)dec_ctx->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE;
|
||||
|
||||
if (extra_size > INT_MAX) {
|
||||
return AVERROR(EINVAL);
|
||||
|
@ -3510,7 +3510,7 @@ static void extract_mpeg4_header(AVFormatContext *infile)
|
||||
if (p[0] == 0x00 && p[1] == 0x00 &&
|
||||
p[2] == 0x01 && p[3] == 0xb6) {
|
||||
size = p - pkt.data;
|
||||
st->codec->extradata = av_mallocz(size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
st->codec->extradata = av_mallocz(size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
st->codec->extradata_size = size;
|
||||
memcpy(st->codec->extradata, pkt.data, size);
|
||||
break;
|
||||
|
@ -883,11 +883,11 @@ static int decode_frame(AVCodecContext *avctx, void *data,
|
||||
}
|
||||
cfrm = &f->cfrm[i];
|
||||
|
||||
if (data_size > UINT_MAX - cfrm->size - FF_INPUT_BUFFER_PADDING_SIZE)
|
||||
if (data_size > UINT_MAX - cfrm->size - AV_INPUT_BUFFER_PADDING_SIZE)
|
||||
return AVERROR_INVALIDDATA;
|
||||
|
||||
cfrm->data = av_fast_realloc(cfrm->data, &cfrm->allocated_size,
|
||||
cfrm->size + data_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
cfrm->size + data_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
// explicit check needed as memcpy below might not catch a NULL
|
||||
if (!cfrm->data) {
|
||||
av_log(f->avctx, AV_LOG_ERROR, "realloc failure\n");
|
||||
|
@ -235,7 +235,7 @@ static av_cold int a64multi_encode_init(AVCodecContext *avctx)
|
||||
}
|
||||
|
||||
/* set up extradata */
|
||||
if (!(avctx->extradata = av_mallocz(8 * 4 + FF_INPUT_BUFFER_PADDING_SIZE))) {
|
||||
if (!(avctx->extradata = av_mallocz(8 * 4 + AV_INPUT_BUFFER_PADDING_SIZE))) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Failed to allocate memory for extradata.\n");
|
||||
return AVERROR(ENOMEM);
|
||||
}
|
||||
|
@ -89,7 +89,7 @@ static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc,
|
||||
}
|
||||
av_free(avctx->extradata);
|
||||
avctx->extradata_size = 2 + pce_size;
|
||||
avctx->extradata = av_mallocz(avctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
avctx->extradata = av_mallocz(avctx->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!avctx->extradata) {
|
||||
avctx->extradata_size = 0;
|
||||
return AVERROR(ENOMEM);
|
||||
|
@ -34,7 +34,7 @@ static int aac_sync(uint64_t state, AACAC3ParseContext *hdr_info,
|
||||
int size;
|
||||
union {
|
||||
uint64_t u64;
|
||||
uint8_t u8[8 + FF_INPUT_BUFFER_PADDING_SIZE];
|
||||
uint8_t u8[8 + AV_INPUT_BUFFER_PADDING_SIZE];
|
||||
} tmp;
|
||||
|
||||
tmp.u64 = av_be2ne64(state);
|
||||
|
@ -322,14 +322,14 @@ static int latm_decode_audio_specific_config(struct LATMContext *latmctx,
|
||||
|
||||
if (avctx->extradata_size < esize) {
|
||||
av_free(avctx->extradata);
|
||||
avctx->extradata = av_malloc(esize + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
avctx->extradata = av_malloc(esize + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!avctx->extradata)
|
||||
return AVERROR(ENOMEM);
|
||||
}
|
||||
|
||||
avctx->extradata_size = esize;
|
||||
memcpy(avctx->extradata, gb->buffer + (config_start_bit/8), esize);
|
||||
memset(avctx->extradata+esize, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(avctx->extradata+esize, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
}
|
||||
skip_bits_long(gb, bits_consumed);
|
||||
|
||||
|
@ -3098,7 +3098,7 @@ static int aac_decode_frame(AVCodecContext *avctx, void *data,
|
||||
if (new_extradata && 0) {
|
||||
av_free(avctx->extradata);
|
||||
avctx->extradata = av_mallocz(new_extradata_size +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!avctx->extradata)
|
||||
return AVERROR(ENOMEM);
|
||||
avctx->extradata_size = new_extradata_size;
|
||||
|
@ -817,7 +817,7 @@ static av_cold int alloc_buffers(AVCodecContext *avctx, AACEncContext *s)
|
||||
int ch;
|
||||
FF_ALLOCZ_ARRAY_OR_GOTO(avctx, s->buffer.samples, s->channels, 3 * 1024 * sizeof(s->buffer.samples[0]), alloc_fail);
|
||||
FF_ALLOCZ_ARRAY_OR_GOTO(avctx, s->cpe, s->chan_map[0], sizeof(ChannelElement), alloc_fail);
|
||||
FF_ALLOCZ_OR_GOTO(avctx, avctx->extradata, 5 + FF_INPUT_BUFFER_PADDING_SIZE, alloc_fail);
|
||||
FF_ALLOCZ_OR_GOTO(avctx, avctx->extradata, 5 + AV_INPUT_BUFFER_PADDING_SIZE, alloc_fail);
|
||||
|
||||
for(ch = 0; ch < s->channels; ch++)
|
||||
s->planar_samples[ch] = s->buffer.samples + 3 * 1024 * ch;
|
||||
|
@ -166,7 +166,7 @@ static int ac3_sync(uint64_t state, AACAC3ParseContext *hdr_info,
|
||||
int err;
|
||||
union {
|
||||
uint64_t u64;
|
||||
uint8_t u8[8 + FF_INPUT_BUFFER_PADDING_SIZE];
|
||||
uint8_t u8[8 + AV_INPUT_BUFFER_PADDING_SIZE];
|
||||
} tmp = { av_be2ne64(state) };
|
||||
AC3HeaderInfo hdr, *phdr = &hdr;
|
||||
GetBitContext gbc;
|
||||
|
@ -235,7 +235,7 @@ typedef struct AC3DecodeContext {
|
||||
DECLARE_ALIGNED(32, INTFLOAT, window)[AC3_BLOCK_SIZE]; ///< window coefficients
|
||||
DECLARE_ALIGNED(32, INTFLOAT, tmp_output)[AC3_BLOCK_SIZE]; ///< temporary storage for output before windowing
|
||||
DECLARE_ALIGNED(32, SHORTFLOAT, output)[AC3_MAX_CHANNELS][AC3_BLOCK_SIZE]; ///< output after imdct transform and windowing
|
||||
DECLARE_ALIGNED(32, uint8_t, input_buffer)[AC3_FRAME_BUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE]; ///< temp buffer to prevent overread
|
||||
DECLARE_ALIGNED(32, uint8_t, input_buffer)[AC3_FRAME_BUFFER_SIZE + AV_INPUT_BUFFER_PADDING_SIZE]; ///< temp buffer to prevent overread
|
||||
///@}
|
||||
} AC3DecodeContext;
|
||||
|
||||
|
@ -113,7 +113,7 @@ static av_cold int adpcm_encode_init(AVCodecContext *avctx)
|
||||
avctx->frame_size = (BLKSIZE - 7 * avctx->channels) * 2 / avctx->channels + 2;
|
||||
avctx->bits_per_coded_sample = 4;
|
||||
avctx->block_align = BLKSIZE;
|
||||
if (!(avctx->extradata = av_malloc(32 + FF_INPUT_BUFFER_PADDING_SIZE)))
|
||||
if (!(avctx->extradata = av_malloc(32 + AV_INPUT_BUFFER_PADDING_SIZE)))
|
||||
goto error;
|
||||
avctx->extradata_size = 32;
|
||||
extradata = avctx->extradata;
|
||||
|
@ -531,7 +531,7 @@ static av_cold int alac_encode_init(AVCodecContext *avctx)
|
||||
avctx->channels,
|
||||
avctx->bits_per_raw_sample);
|
||||
|
||||
avctx->extradata = av_mallocz(ALAC_EXTRADATA_SIZE + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
avctx->extradata = av_mallocz(ALAC_EXTRADATA_SIZE + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!avctx->extradata) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto error;
|
||||
|
@ -265,7 +265,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
}
|
||||
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, a->mb_height * a->mb_width * MAX_MB_SIZE +
|
||||
FF_MIN_BUFFER_SIZE, 0)) < 0)
|
||||
AV_INPUT_BUFFER_MIN_SIZE, 0)) < 0)
|
||||
return ret;
|
||||
|
||||
init_put_bits(&a->pb, pkt->data, pkt->size);
|
||||
|
@ -886,7 +886,7 @@ static av_cold int atrac3_decode_init(AVCodecContext *avctx)
|
||||
return AVERROR(EINVAL);
|
||||
|
||||
q->decoded_bytes_buffer = av_mallocz(FFALIGN(avctx->block_align, 4) +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!q->decoded_bytes_buffer)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
|
@ -632,15 +632,24 @@ typedef struct AVCodecDescriptor {
|
||||
* 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 32
|
||||
#define AV_INPUT_BUFFER_PADDING_SIZE 32
|
||||
|
||||
/**
|
||||
* @ingroup lavc_encoding
|
||||
* minimum encoding buffer size
|
||||
* Used to avoid some checks during header writing.
|
||||
*/
|
||||
#define FF_MIN_BUFFER_SIZE 16384
|
||||
#define AV_INPUT_BUFFER_MIN_SIZE 16384
|
||||
|
||||
/**
|
||||
* @deprecated use AV_INPUT_BUFFER_PADDING_SIZE instead
|
||||
*/
|
||||
#define FF_INPUT_BUFFER_PADDING_SIZE 32
|
||||
|
||||
/**
|
||||
* @deprecated use AV_INPUT_BUFFER_MIN_SIZE instead
|
||||
*/
|
||||
#define FF_MIN_BUFFER_SIZE 16384
|
||||
|
||||
/**
|
||||
* @ingroup lavc_encoding
|
||||
@ -1595,7 +1604,7 @@ typedef struct AVCodecContext {
|
||||
* mjpeg: Huffman tables
|
||||
* rv10: additional flags
|
||||
* mpeg4: global headers (they can be in the bitstream or here)
|
||||
* The allocated memory should be FF_INPUT_BUFFER_PADDING_SIZE bytes larger
|
||||
* The allocated memory should be AV_INPUT_BUFFER_PADDING_SIZE bytes larger
|
||||
* than extradata_size to avoid problems if it is read with the bitstream reader.
|
||||
* The bytewise contents of extradata must not depend on the architecture or CPU endianness.
|
||||
* - encoding: Set/allocated/freed by libavcodec.
|
||||
@ -4062,7 +4071,7 @@ int av_grow_packet(AVPacket *pkt, int grow_by);
|
||||
* function returns successfully, the data is owned by the underlying AVBuffer.
|
||||
* The caller may not access the data through other means.
|
||||
* @param size size of data in bytes, without the padding. I.e. the full buffer
|
||||
* size is assumed to be size + FF_INPUT_BUFFER_PADDING_SIZE.
|
||||
* size is assumed to be size + AV_INPUT_BUFFER_PADDING_SIZE.
|
||||
*
|
||||
* @return 0 on success, a negative AVERROR on error
|
||||
*/
|
||||
@ -4399,7 +4408,7 @@ attribute_deprecated int avcodec_decode_audio3(AVCodecContext *avctx, int16_t *s
|
||||
* returning samples. It is safe to flush even those decoders that are not
|
||||
* marked with AV_CODEC_CAP_DELAY, then no samples will be returned.
|
||||
*
|
||||
* @warning The input buffer, avpkt->data must be FF_INPUT_BUFFER_PADDING_SIZE
|
||||
* @warning The input buffer, avpkt->data must be AV_INPUT_BUFFER_PADDING_SIZE
|
||||
* larger than the actual read bytes because some optimized bitstream
|
||||
* readers read 32 or 64 bits at once and could read over the end.
|
||||
*
|
||||
@ -4439,7 +4448,7 @@ int avcodec_decode_audio4(AVCodecContext *avctx, AVFrame *frame,
|
||||
* Some decoders may support multiple frames in a single AVPacket, such
|
||||
* decoders would then just decode the first frame.
|
||||
*
|
||||
* @warning The input buffer must be FF_INPUT_BUFFER_PADDING_SIZE larger than
|
||||
* @warning The input buffer must be AV_INPUT_BUFFER_PADDING_SIZE larger than
|
||||
* the actual read bytes because some optimized bitstream readers read 32 or 64
|
||||
* bits at once and could read over the end.
|
||||
*
|
||||
@ -5447,7 +5456,7 @@ AVBitStreamFilter *av_bitstream_filter_next(const AVBitStreamFilter *f);
|
||||
|
||||
/**
|
||||
* Same behaviour av_fast_malloc but the buffer has additional
|
||||
* FF_INPUT_BUFFER_PADDING_SIZE at the end which will always be 0.
|
||||
* AV_INPUT_BUFFER_PADDING_SIZE at the end which will always be 0.
|
||||
*
|
||||
* In addition the whole buffer will initially and after resizes
|
||||
* be 0-initialized so that no uninitialized data will ever appear.
|
||||
|
@ -68,14 +68,14 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
static int packet_alloc(AVBufferRef **buf, int size)
|
||||
{
|
||||
int ret;
|
||||
if ((unsigned)size >= (unsigned)size + FF_INPUT_BUFFER_PADDING_SIZE)
|
||||
if ((unsigned)size >= (unsigned)size + AV_INPUT_BUFFER_PADDING_SIZE)
|
||||
return AVERROR(EINVAL);
|
||||
|
||||
ret = av_buffer_realloc(buf, size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
ret = av_buffer_realloc(buf, size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
memset((*buf)->data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset((*buf)->data + size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -105,20 +105,20 @@ void av_shrink_packet(AVPacket *pkt, int size)
|
||||
if (pkt->size <= size)
|
||||
return;
|
||||
pkt->size = size;
|
||||
memset(pkt->data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(pkt->data + size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
}
|
||||
|
||||
int av_grow_packet(AVPacket *pkt, int grow_by)
|
||||
{
|
||||
int new_size;
|
||||
av_assert0((unsigned)pkt->size <= INT_MAX - FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
av_assert0((unsigned)pkt->size <= INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!pkt->size)
|
||||
return av_new_packet(pkt, grow_by);
|
||||
if ((unsigned)grow_by >
|
||||
INT_MAX - (pkt->size + FF_INPUT_BUFFER_PADDING_SIZE))
|
||||
INT_MAX - (pkt->size + AV_INPUT_BUFFER_PADDING_SIZE))
|
||||
return -1;
|
||||
|
||||
new_size = pkt->size + grow_by + FF_INPUT_BUFFER_PADDING_SIZE;
|
||||
new_size = pkt->size + grow_by + AV_INPUT_BUFFER_PADDING_SIZE;
|
||||
if (pkt->buf) {
|
||||
int ret = av_buffer_realloc(&pkt->buf, new_size);
|
||||
if (ret < 0)
|
||||
@ -136,17 +136,17 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
}
|
||||
pkt->data = pkt->buf->data;
|
||||
pkt->size += grow_by;
|
||||
memset(pkt->data + pkt->size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(pkt->data + pkt->size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size)
|
||||
{
|
||||
if (size >= INT_MAX - FF_INPUT_BUFFER_PADDING_SIZE)
|
||||
if (size >= INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE)
|
||||
return AVERROR(EINVAL);
|
||||
|
||||
pkt->buf = av_buffer_create(data, size + FF_INPUT_BUFFER_PADDING_SIZE,
|
||||
pkt->buf = av_buffer_create(data, size + AV_INPUT_BUFFER_PADDING_SIZE,
|
||||
av_buffer_default_free, NULL, 0);
|
||||
if (!pkt->buf)
|
||||
return AVERROR(ENOMEM);
|
||||
@ -174,9 +174,9 @@ do { \
|
||||
void *data; \
|
||||
if (padding) { \
|
||||
if ((unsigned)(size) > \
|
||||
(unsigned)(size) + FF_INPUT_BUFFER_PADDING_SIZE) \
|
||||
(unsigned)(size) + AV_INPUT_BUFFER_PADDING_SIZE) \
|
||||
goto failed_alloc; \
|
||||
ALLOC(data, size + FF_INPUT_BUFFER_PADDING_SIZE); \
|
||||
ALLOC(data, size + AV_INPUT_BUFFER_PADDING_SIZE); \
|
||||
} else { \
|
||||
ALLOC(data, size); \
|
||||
} \
|
||||
@ -185,7 +185,7 @@ do { \
|
||||
memcpy(data, src, size); \
|
||||
if (padding) \
|
||||
memset((uint8_t *)data + size, 0, \
|
||||
FF_INPUT_BUFFER_PADDING_SIZE); \
|
||||
AV_INPUT_BUFFER_PADDING_SIZE); \
|
||||
dst = data; \
|
||||
} while (0)
|
||||
|
||||
@ -303,7 +303,7 @@ uint8_t *av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
|
||||
|
||||
if ((unsigned)elems + 1 > INT_MAX / sizeof(*pkt->side_data))
|
||||
return NULL;
|
||||
if ((unsigned)size > INT_MAX - FF_INPUT_BUFFER_PADDING_SIZE)
|
||||
if ((unsigned)size > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE)
|
||||
return NULL;
|
||||
|
||||
pkt->side_data = av_realloc(pkt->side_data,
|
||||
@ -311,7 +311,7 @@ uint8_t *av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
|
||||
if (!pkt->side_data)
|
||||
return NULL;
|
||||
|
||||
pkt->side_data[elems].data = av_mallocz(size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
pkt->side_data[elems].data = av_mallocz(size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!pkt->side_data[elems].data)
|
||||
return NULL;
|
||||
pkt->side_data[elems].size = size;
|
||||
@ -366,7 +366,7 @@ int av_packet_merge_side_data(AVPacket *pkt){
|
||||
AVBufferRef *buf;
|
||||
int i;
|
||||
uint8_t *p;
|
||||
uint64_t size= pkt->size + 8LL + FF_INPUT_BUFFER_PADDING_SIZE;
|
||||
uint64_t size= pkt->size + 8LL + AV_INPUT_BUFFER_PADDING_SIZE;
|
||||
AVPacket old= *pkt;
|
||||
for (i=0; i<old.side_data_elems; i++) {
|
||||
size += old.side_data[i].size + 5LL;
|
||||
@ -383,7 +383,7 @@ FF_DISABLE_DEPRECATION_WARNINGS
|
||||
pkt->destruct = dummy_destruct_packet;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
pkt->size = size - FF_INPUT_BUFFER_PADDING_SIZE;
|
||||
pkt->size = size - AV_INPUT_BUFFER_PADDING_SIZE;
|
||||
bytestream_put_buffer(&p, old.data, old.size);
|
||||
for (i=old.side_data_elems-1; i>=0; i--) {
|
||||
bytestream_put_buffer(&p, old.side_data[i].data, old.side_data[i].size);
|
||||
@ -392,7 +392,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
}
|
||||
bytestream_put_be64(&p, FF_MERGE_MARKER);
|
||||
av_assert0(p-pkt->data == pkt->size);
|
||||
memset(p, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(p, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
av_free_packet(&old);
|
||||
pkt->side_data_elems = 0;
|
||||
pkt->side_data = NULL;
|
||||
@ -425,7 +425,7 @@ int av_packet_split_side_data(AVPacket *pkt){
|
||||
for (i=0; ; i++){
|
||||
size= AV_RB32(p);
|
||||
av_assert0(size<=INT_MAX && p - pkt->data >= size);
|
||||
pkt->side_data[i].data = av_mallocz(size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
pkt->side_data[i].data = av_mallocz(size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
pkt->side_data[i].size = size;
|
||||
pkt->side_data[i].type = p[4]&127;
|
||||
if (!pkt->side_data[i].data)
|
||||
|
@ -30,7 +30,7 @@ static av_cold int avui_encode_init(AVCodecContext *avctx)
|
||||
av_log(avctx, AV_LOG_ERROR, "Only 720x486 and 720x576 are supported.\n");
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
if (!(avctx->extradata = av_mallocz(144 + FF_INPUT_BUFFER_PADDING_SIZE)))
|
||||
if (!(avctx->extradata = av_mallocz(144 + AV_INPUT_BUFFER_PADDING_SIZE)))
|
||||
return AVERROR(ENOMEM);
|
||||
avctx->extradata_size = 144;
|
||||
memcpy(avctx->extradata, "\0\0\0\x18""APRGAPRG0001", 16);
|
||||
|
@ -302,10 +302,10 @@ static int decode_frame(AVCodecContext *avctx, void *data,
|
||||
av_log(avctx, AV_LOG_ERROR, "Packet is too small\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
buf = av_realloc(s->packet_buffer, avpkt->size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
buf = av_realloc(s->packet_buffer, avpkt->size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!buf)
|
||||
return AVERROR(ENOMEM);
|
||||
memset(buf + avpkt->size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(buf + avpkt->size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
s->packet_buffer = buf;
|
||||
memcpy(s->packet_buffer, avpkt->data, avpkt->size);
|
||||
if ((ret = init_get_bits8(gb, s->packet_buffer, avpkt->size)) < 0)
|
||||
|
@ -272,7 +272,7 @@ static int cdxl_decode_frame(AVCodecContext *avctx, void *data,
|
||||
|
||||
if (encoding) {
|
||||
av_fast_padded_malloc(&c->new_video, &c->new_video_size,
|
||||
h * w + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
h * w + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!c->new_video)
|
||||
return AVERROR(ENOMEM);
|
||||
if (c->bpp == 8)
|
||||
|
@ -1232,11 +1232,11 @@ static av_cold int cook_decode_init(AVCodecContext *avctx)
|
||||
|
||||
/* Pad the databuffer with:
|
||||
DECODE_BYTES_PAD1 or DECODE_BYTES_PAD2 for decode_bytes(),
|
||||
FF_INPUT_BUFFER_PADDING_SIZE, for the bitstreamreader. */
|
||||
AV_INPUT_BUFFER_PADDING_SIZE, for the bitstreamreader. */
|
||||
q->decoded_bytes_buffer =
|
||||
av_mallocz(avctx->block_align
|
||||
+ DECODE_BYTES_PAD1(avctx->block_align)
|
||||
+ FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
+ AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!q->decoded_bytes_buffer)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
|
@ -422,7 +422,7 @@ static av_cold int init(AVCodecContext *avctx)
|
||||
int dummy_int;
|
||||
|
||||
/* Back up the extradata so it can be restored at close time. */
|
||||
priv->orig_extradata = av_malloc(avctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
priv->orig_extradata = av_malloc(avctx->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!priv->orig_extradata) {
|
||||
av_log(avctx, AV_LOG_ERROR,
|
||||
"Failed to allocate copy of extradata\n");
|
||||
|
@ -113,7 +113,7 @@ static int dca_parse_params(const uint8_t *buf, int buf_size, int *duration,
|
||||
int *sample_rate, int *framesize)
|
||||
{
|
||||
GetBitContext gb;
|
||||
uint8_t hdr[12 + FF_INPUT_BUFFER_PADDING_SIZE] = { 0 };
|
||||
uint8_t hdr[12 + AV_INPUT_BUFFER_PADDING_SIZE] = { 0 };
|
||||
int ret, sample_blocks, sr_code;
|
||||
|
||||
if (buf_size < 12)
|
||||
|
@ -66,7 +66,7 @@ typedef struct DssSpContext {
|
||||
int pulse_dec_mode;
|
||||
|
||||
DECLARE_ALIGNED(16, uint8_t, bits)[DSS_SP_FRAME_SIZE +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE];
|
||||
AV_INPUT_BUFFER_PADDING_SIZE];
|
||||
} DssSpContext;
|
||||
|
||||
/*
|
||||
|
@ -36,12 +36,12 @@ static int dump_extradata(AVBitStreamFilterContext *bsfc, AVCodecContext *avctx,
|
||||
/*||(? && (s->flags & PARSER_FLAG_DUMP_EXTRADATA_AT_BEGIN)*/){
|
||||
int size= buf_size + avctx->extradata_size;
|
||||
*poutbuf_size= size;
|
||||
*poutbuf= av_malloc(size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
*poutbuf= av_malloc(size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!*poutbuf)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
memcpy(*poutbuf, avctx->extradata, avctx->extradata_size);
|
||||
memcpy((*poutbuf) + avctx->extradata_size, buf, buf_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memcpy((*poutbuf) + avctx->extradata_size, buf, buf_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
@ -287,8 +287,8 @@ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg)
|
||||
GetBitContext gb;
|
||||
BlockInfo mb_data[5 * DV_MAX_BPM], *mb, *mb1;
|
||||
LOCAL_ALIGNED_16(int16_t, sblock, [5 * DV_MAX_BPM], [64]);
|
||||
LOCAL_ALIGNED_16(uint8_t, mb_bit_buffer, [80 + FF_INPUT_BUFFER_PADDING_SIZE]); /* allow some slack */
|
||||
LOCAL_ALIGNED_16(uint8_t, vs_bit_buffer, [80 * 5 + FF_INPUT_BUFFER_PADDING_SIZE]); /* allow some slack */
|
||||
LOCAL_ALIGNED_16(uint8_t, mb_bit_buffer, [80 + AV_INPUT_BUFFER_PADDING_SIZE]); /* allow some slack */
|
||||
LOCAL_ALIGNED_16(uint8_t, vs_bit_buffer, [80 * 5 + AV_INPUT_BUFFER_PADDING_SIZE]); /* allow some slack */
|
||||
const int log2_blocksize = 3-s->avctx->lowres;
|
||||
int is_field_mode[5];
|
||||
int vs_bit_buffer_damaged = 0;
|
||||
|
@ -312,7 +312,7 @@ static int decode_frame(AVCodecContext *avctx,
|
||||
return AVERROR(ENOMEM);
|
||||
s->bbdsp.bswap16_buf(s->bitstream_buf, (const uint16_t *)(buf + bytestream2_tell(&gb)),
|
||||
bytestream2_get_bytes_left(&gb) / 2);
|
||||
memset((uint8_t*)s->bitstream_buf + bytestream2_get_bytes_left(&gb), 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset((uint8_t*)s->bitstream_buf + bytestream2_get_bytes_left(&gb), 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
init_get_bits(&s->gb, s->bitstream_buf, 8*(bytestream2_get_bytes_left(&gb)));
|
||||
|
||||
for (s->mb_y=0; s->mb_y < (avctx->height+15)/16; s->mb_y++)
|
||||
|
@ -550,7 +550,7 @@ static int write_extradata(FFV1Context *f)
|
||||
|
||||
f->avctx->extradata_size = 10000 + 4 +
|
||||
(11 * 11 * 5 * 5 * 5 + 11 * 11 * 11) * 32;
|
||||
f->avctx->extradata = av_malloc(f->avctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
f->avctx->extradata = av_malloc(f->avctx->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!f->avctx->extradata)
|
||||
return AVERROR(ENOMEM);
|
||||
ff_init_range_encoder(c, f->avctx->extradata, f->avctx->extradata_size);
|
||||
@ -1197,7 +1197,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
uint8_t keystate = 128;
|
||||
uint8_t *buf_p;
|
||||
int i, ret;
|
||||
int64_t maxsize = FF_MIN_BUFFER_SIZE
|
||||
int64_t maxsize = AV_INPUT_BUFFER_MIN_SIZE
|
||||
+ avctx->width*avctx->height*35LL*4;
|
||||
|
||||
if(!pict) {
|
||||
@ -1246,7 +1246,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
}
|
||||
|
||||
if (f->version > 3)
|
||||
maxsize = FF_MIN_BUFFER_SIZE + avctx->width*avctx->height*3LL*4;
|
||||
maxsize = AV_INPUT_BUFFER_MIN_SIZE + avctx->width*avctx->height*3LL*4;
|
||||
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, maxsize, 0)) < 0)
|
||||
return ret;
|
||||
|
@ -854,7 +854,7 @@ static int flashsv2_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
int res;
|
||||
int keyframe = 0;
|
||||
|
||||
if ((res = ff_alloc_packet2(avctx, pkt, s->frame_size + FF_MIN_BUFFER_SIZE, 0)) < 0)
|
||||
if ((res = ff_alloc_packet2(avctx, pkt, s->frame_size + AV_INPUT_BUFFER_MIN_SIZE, 0)) < 0)
|
||||
return res;
|
||||
|
||||
/* First frame needs to be a keyframe */
|
||||
|
@ -193,7 +193,7 @@ static int flic_decode_frame_8BPP(AVCodecContext *avctx,
|
||||
|
||||
pixels = s->frame->data[0];
|
||||
pixel_limit = s->avctx->height * s->frame->linesize[0];
|
||||
if (buf_size < 16 || buf_size > INT_MAX - (3 * 256 + FF_INPUT_BUFFER_PADDING_SIZE))
|
||||
if (buf_size < 16 || buf_size > INT_MAX - (3 * 256 + AV_INPUT_BUFFER_PADDING_SIZE))
|
||||
return AVERROR_INVALIDDATA;
|
||||
frame_size = bytestream2_get_le32(&g2);
|
||||
if (frame_size > buf_size)
|
||||
|
@ -294,10 +294,10 @@ static int jpg_decode_data(JPGContext *c, int width, int height,
|
||||
const int ridx = swapuv ? 2 : 0;
|
||||
|
||||
if ((ret = av_reallocp(&c->buf,
|
||||
src_size + FF_INPUT_BUFFER_PADDING_SIZE)) < 0)
|
||||
src_size + AV_INPUT_BUFFER_PADDING_SIZE)) < 0)
|
||||
return ret;
|
||||
jpg_unescape(src, src_size, c->buf, &unesc_size);
|
||||
memset(c->buf + unesc_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(c->buf + unesc_size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if((ret = init_get_bits8(&gb, c->buf, unesc_size)) < 0)
|
||||
return ret;
|
||||
|
||||
@ -1185,7 +1185,7 @@ static int g2m_init_buffers(G2MContext *c)
|
||||
c->synth_tile = av_mallocz(c->tile_stride * aligned_height);
|
||||
c->jpeg_tile = av_mallocz(c->tile_stride * aligned_height);
|
||||
c->kempf_buf = av_mallocz((c->tile_width + 1) * aligned_height +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
c->kempf_flags = av_mallocz(c->tile_width * aligned_height);
|
||||
if (!c->synth_tile || !c->jpeg_tile ||
|
||||
!c->kempf_buf || !c->kempf_flags)
|
||||
|
@ -401,7 +401,7 @@ static inline int check_marker(GetBitContext *s, const char *msg)
|
||||
|
||||
/**
|
||||
* Initialize GetBitContext.
|
||||
* @param buffer bitstream buffer, must be FF_INPUT_BUFFER_PADDING_SIZE bytes
|
||||
* @param buffer bitstream buffer, must be AV_INPUT_BUFFER_PADDING_SIZE bytes
|
||||
* larger than the actual read bits because some optimized bitstream
|
||||
* readers read 32 or 64 bit at once and could read over the end
|
||||
* @param bit_size the size of the buffer in bits
|
||||
@ -432,7 +432,7 @@ static inline int init_get_bits(GetBitContext *s, const uint8_t *buffer,
|
||||
|
||||
/**
|
||||
* Initialize GetBitContext.
|
||||
* @param buffer bitstream buffer, must be FF_INPUT_BUFFER_PADDING_SIZE bytes
|
||||
* @param buffer bitstream buffer, must be AV_INPUT_BUFFER_PADDING_SIZE bytes
|
||||
* larger than the actual read bits because some optimized bitstream
|
||||
* readers read 32 or 64 bit at once and could read over the end
|
||||
* @param byte_size the size of the buffer in bytes
|
||||
|
@ -269,7 +269,7 @@ static int gif_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
const uint32_t *palette = NULL;
|
||||
int ret;
|
||||
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, avctx->width*avctx->height*7/5 + FF_MIN_BUFFER_SIZE, 0)) < 0)
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, avctx->width*avctx->height*7/5 + AV_INPUT_BUFFER_MIN_SIZE, 0)) < 0)
|
||||
return ret;
|
||||
outbuf_ptr = pkt->data;
|
||||
end = pkt->data + pkt->size;
|
||||
|
@ -324,7 +324,7 @@ const uint8_t *ff_h264_decode_nal(H264Context *h, H264SliceContext *sl,
|
||||
dst[di++] = src[si++];
|
||||
|
||||
nsc:
|
||||
memset(dst + di, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(dst + di, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
*dst_length = di;
|
||||
*consumed = si + 1; // +1 for the header
|
||||
|
@ -57,7 +57,7 @@ static int alloc_and_copy(uint8_t **poutbuf, int *poutbuf_size,
|
||||
|
||||
*poutbuf_size += sps_pps_size + in_size + nal_header_size;
|
||||
if ((err = av_reallocp(poutbuf,
|
||||
*poutbuf_size + FF_INPUT_BUFFER_PADDING_SIZE)) < 0) {
|
||||
*poutbuf_size + AV_INPUT_BUFFER_PADDING_SIZE)) < 0) {
|
||||
*poutbuf_size = 0;
|
||||
return err;
|
||||
}
|
||||
@ -178,7 +178,7 @@ static int h264_mp4toannexb_filter(AVBitStreamFilterContext *bsfc,
|
||||
if (args && strstr(args, "private_spspps_buf"))
|
||||
ctx->private_spspps = 1;
|
||||
|
||||
ret = h264_extradata_to_annexb(ctx, avctx, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
ret = h264_extradata_to_annexb(ctx, avctx, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
ctx->length_size = ret;
|
||||
|
@ -349,8 +349,8 @@ static void sao_filter_CTB(HEVCContext *s, int x, int y)
|
||||
int sh = s->ps.sps->pixel_shift;
|
||||
int left_pixels, right_pixels;
|
||||
|
||||
stride_dst = 2*MAX_PB_SIZE + FF_INPUT_BUFFER_PADDING_SIZE;
|
||||
dst = lc->edge_emu_buffer + stride_dst + FF_INPUT_BUFFER_PADDING_SIZE;
|
||||
stride_dst = 2*MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE;
|
||||
dst = lc->edge_emu_buffer + stride_dst + AV_INPUT_BUFFER_PADDING_SIZE;
|
||||
|
||||
if (!top_edge) {
|
||||
int left = 1 - left_edge;
|
||||
|
@ -67,18 +67,18 @@ static int hevc_extradata_to_annexb(AVCodecContext *avctx)
|
||||
for (j = 0; j < cnt; j++) {
|
||||
int nalu_len = bytestream2_get_be16(&gb);
|
||||
|
||||
if (4 + FF_INPUT_BUFFER_PADDING_SIZE + nalu_len > SIZE_MAX - new_extradata_size) {
|
||||
if (4 + AV_INPUT_BUFFER_PADDING_SIZE + nalu_len > SIZE_MAX - new_extradata_size) {
|
||||
ret = AVERROR_INVALIDDATA;
|
||||
goto fail;
|
||||
}
|
||||
ret = av_reallocp(&new_extradata, new_extradata_size + nalu_len + 4 + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
ret = av_reallocp(&new_extradata, new_extradata_size + nalu_len + 4 + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (ret < 0)
|
||||
goto fail;
|
||||
|
||||
AV_WB32(new_extradata + new_extradata_size, 1); // add the startcode
|
||||
bytestream2_get_buffer(&gb, new_extradata + new_extradata_size + 4, nalu_len);
|
||||
new_extradata_size += 4 + nalu_len;
|
||||
memset(new_extradata + new_extradata_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(new_extradata + new_extradata_size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -91,7 +91,7 @@ int ff_hevc_extract_rbsp(HEVCContext *s, const uint8_t *src, int length,
|
||||
}
|
||||
|
||||
av_fast_malloc(&nal->rbsp_buffer, &nal->rbsp_buffer_size,
|
||||
length + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
length + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!nal->rbsp_buffer)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
@ -137,7 +137,7 @@ int ff_hevc_extract_rbsp(HEVCContext *s, const uint8_t *src, int length,
|
||||
dst[di++] = src[si++];
|
||||
|
||||
nsc:
|
||||
memset(dst + di, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(dst + di, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
nal->data = dst;
|
||||
nal->size = di;
|
||||
|
@ -61,7 +61,7 @@ typedef struct HEVCDSPContext {
|
||||
void (*sao_band_filter[5])(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src,
|
||||
int16_t *sao_offset_val, int sao_left_class, int width, int height);
|
||||
|
||||
/* implicit stride_src parameter has value of 2 * MAX_PB_SIZE + FF_INPUT_BUFFER_PADDING_SIZE */
|
||||
/* implicit stride_src parameter has value of 2 * MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE */
|
||||
void (*sao_edge_filter[5])(uint8_t *_dst /* align 16 */, uint8_t *_src /* align 32 */, ptrdiff_t stride_dst,
|
||||
int16_t *sao_offset_val, int sao_eo_class, int width, int height);
|
||||
|
||||
|
@ -341,7 +341,7 @@ static void FUNC(sao_edge_filter)(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride
|
||||
pixel *src = (pixel *)_src;
|
||||
int a_stride, b_stride;
|
||||
int x, y;
|
||||
ptrdiff_t stride_src = (2*MAX_PB_SIZE + FF_INPUT_BUFFER_PADDING_SIZE) / sizeof(pixel);
|
||||
ptrdiff_t stride_src = (2*MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE) / sizeof(pixel);
|
||||
stride_dst /= sizeof(pixel);
|
||||
|
||||
a_stride = pos[eo][0][0] + pos[eo][0][1] * stride_src;
|
||||
|
@ -41,7 +41,7 @@
|
||||
#include "libavutil/pixdesc.h"
|
||||
|
||||
#define classic_shift_luma_table_size 42
|
||||
static const unsigned char classic_shift_luma[classic_shift_luma_table_size + FF_INPUT_BUFFER_PADDING_SIZE] = {
|
||||
static const unsigned char classic_shift_luma[classic_shift_luma_table_size + AV_INPUT_BUFFER_PADDING_SIZE] = {
|
||||
34, 36, 35, 69, 135, 232, 9, 16, 10, 24, 11, 23, 12, 16, 13, 10,
|
||||
14, 8, 15, 8, 16, 8, 17, 20, 16, 10, 207, 206, 205, 236, 11, 8,
|
||||
10, 21, 9, 23, 8, 8, 199, 70, 69, 68, 0,
|
||||
@ -49,7 +49,7 @@ static const unsigned char classic_shift_luma[classic_shift_luma_table_size + FF
|
||||
};
|
||||
|
||||
#define classic_shift_chroma_table_size 59
|
||||
static const unsigned char classic_shift_chroma[classic_shift_chroma_table_size + FF_INPUT_BUFFER_PADDING_SIZE] = {
|
||||
static const unsigned char classic_shift_chroma[classic_shift_chroma_table_size + AV_INPUT_BUFFER_PADDING_SIZE] = {
|
||||
66, 36, 37, 38, 39, 40, 41, 75, 76, 77, 110, 239, 144, 81, 82, 83,
|
||||
84, 85, 118, 183, 56, 57, 88, 89, 56, 89, 154, 57, 58, 57, 26, 141,
|
||||
57, 56, 58, 57, 58, 57, 184, 119, 214, 245, 116, 83, 82, 49, 80, 79,
|
||||
|
@ -760,7 +760,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
const AVFrame * const p = pict;
|
||||
int i, j, size = 0, ret;
|
||||
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, width * height * 3 * 4 + FF_MIN_BUFFER_SIZE, 0)) < 0)
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, width * height * 3 * 4 + AV_INPUT_BUFFER_MIN_SIZE, 0)) < 0)
|
||||
return ret;
|
||||
|
||||
if (s->context) {
|
||||
|
@ -240,7 +240,7 @@ static int extract_header(AVCodecContext *const avctx,
|
||||
avctx->pix_fmt = AV_PIX_FMT_RGB32;
|
||||
av_freep(&s->mask_buf);
|
||||
av_freep(&s->mask_palbuf);
|
||||
s->mask_buf = av_malloc((s->planesize * 32) + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
s->mask_buf = av_malloc((s->planesize * 32) + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!s->mask_buf)
|
||||
return AVERROR(ENOMEM);
|
||||
if (s->bpp > 16) {
|
||||
@ -248,7 +248,7 @@ static int extract_header(AVCodecContext *const avctx,
|
||||
av_freep(&s->mask_buf);
|
||||
return AVERROR(ENOMEM);
|
||||
}
|
||||
s->mask_palbuf = av_malloc((2 << s->bpp) * sizeof(uint32_t) + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
s->mask_palbuf = av_malloc((2 << s->bpp) * sizeof(uint32_t) + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!s->mask_palbuf) {
|
||||
av_freep(&s->mask_buf);
|
||||
return AVERROR(ENOMEM);
|
||||
@ -275,12 +275,12 @@ static int extract_header(AVCodecContext *const avctx,
|
||||
int ham_count;
|
||||
const uint8_t *const palette = avctx->extradata + AV_RB16(avctx->extradata);
|
||||
|
||||
s->ham_buf = av_malloc((s->planesize * 8) + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
s->ham_buf = av_malloc((s->planesize * 8) + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!s->ham_buf)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
ham_count = 8 * (1 << s->ham);
|
||||
s->ham_palbuf = av_malloc((ham_count << !!(s->masking == MASK_HAS_MASK)) * sizeof (uint32_t) + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
s->ham_palbuf = av_malloc((ham_count << !!(s->masking == MASK_HAS_MASK)) * sizeof (uint32_t) + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!s->ham_palbuf) {
|
||||
av_freep(&s->ham_buf);
|
||||
return AVERROR(ENOMEM);
|
||||
@ -366,7 +366,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
|
||||
if ((err = av_image_check_size(avctx->width, avctx->height, 0, avctx)))
|
||||
return err;
|
||||
s->planesize = FFALIGN(avctx->width, 16) >> 3; // Align plane size in bits to word-boundary
|
||||
s->planebuf = av_malloc(s->planesize + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
s->planebuf = av_malloc(s->planesize + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!s->planebuf)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
|
@ -1021,7 +1021,7 @@ static int imc_decode_frame(AVCodecContext *avctx, void *data,
|
||||
|
||||
IMCContext *q = avctx->priv_data;
|
||||
|
||||
LOCAL_ALIGNED_16(uint16_t, buf16, [(IMC_BLOCK_SIZE + FF_INPUT_BUFFER_PADDING_SIZE) / 2]);
|
||||
LOCAL_ALIGNED_16(uint16_t, buf16, [(IMC_BLOCK_SIZE + AV_INPUT_BUFFER_PADDING_SIZE) / 2]);
|
||||
|
||||
if (buf_size < IMC_BLOCK_SIZE * avctx->channels) {
|
||||
av_log(avctx, AV_LOG_ERROR, "frame too small!\n");
|
||||
|
@ -42,7 +42,7 @@ static int imx_dump_header(AVBitStreamFilterContext *bsfc, AVCodecContext *avctx
|
||||
return 0;
|
||||
}
|
||||
|
||||
*poutbuf = av_malloc(buf_size + 20 + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
*poutbuf = av_malloc(buf_size + 20 + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!*poutbuf)
|
||||
return AVERROR(ENOMEM);
|
||||
poutbufp = *poutbuf;
|
||||
|
@ -200,7 +200,7 @@ int avpriv_unlock_avformat(void);
|
||||
* This value was chosen such that every bit of the buffer is
|
||||
* addressable by a 32-bit signed integer as used by get_bits.
|
||||
*/
|
||||
#define FF_MAX_EXTRADATA_SIZE ((1 << 28) - FF_INPUT_BUFFER_PADDING_SIZE)
|
||||
#define FF_MAX_EXTRADATA_SIZE ((1 << 28) - AV_INPUT_BUFFER_PADDING_SIZE)
|
||||
|
||||
/**
|
||||
* Check AVPacket size and/or allocate data.
|
||||
|
@ -955,7 +955,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
Jpeg2000EncoderContext *s = avctx->priv_data;
|
||||
uint8_t *chunkstart, *jp2cstart, *jp2hstart;
|
||||
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, avctx->width*avctx->height*9 + FF_MIN_BUFFER_SIZE, 0)) < 0)
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, avctx->width*avctx->height*9 + AV_INPUT_BUFFER_MIN_SIZE, 0)) < 0)
|
||||
return ret;
|
||||
|
||||
// init:
|
||||
|
@ -215,13 +215,13 @@ int ff_jpeg2000_init_component(Jpeg2000Component *comp,
|
||||
(comp->coord[1][1] - comp->coord[1][0]);
|
||||
|
||||
if (codsty->transform == FF_DWT97) {
|
||||
csize += FF_INPUT_BUFFER_PADDING_SIZE / sizeof(*comp->f_data);
|
||||
csize += AV_INPUT_BUFFER_PADDING_SIZE / sizeof(*comp->f_data);
|
||||
comp->i_data = NULL;
|
||||
comp->f_data = av_mallocz_array(csize, sizeof(*comp->f_data));
|
||||
if (!comp->f_data)
|
||||
return AVERROR(ENOMEM);
|
||||
} else {
|
||||
csize += FF_INPUT_BUFFER_PADDING_SIZE / sizeof(*comp->i_data);
|
||||
csize += AV_INPUT_BUFFER_PADDING_SIZE / sizeof(*comp->i_data);
|
||||
comp->f_data = NULL;
|
||||
comp->i_data = av_mallocz_array(csize, sizeof(*comp->i_data));
|
||||
if (!comp->i_data)
|
||||
|
@ -269,7 +269,7 @@ static int encode_picture_ls(AVCodecContext *avctx, AVPacket *pkt,
|
||||
comps = 3;
|
||||
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, avctx->width *avctx->height * comps * 4 +
|
||||
FF_MIN_BUFFER_SIZE, 0)) < 0)
|
||||
AV_INPUT_BUFFER_MIN_SIZE, 0)) < 0)
|
||||
return ret;
|
||||
|
||||
buf2 = av_malloc(pkt->size);
|
||||
|
@ -131,7 +131,7 @@ static av_cold int encode_init(AVCodecContext *avctx)
|
||||
|
||||
av_assert0(avctx->width && avctx->height);
|
||||
|
||||
avctx->extradata = av_mallocz(8 + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
avctx->extradata = av_mallocz(8 + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!avctx->extradata)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
|
@ -81,7 +81,7 @@ static av_cold int aacPlus_encode_init(AVCodecContext *avctx)
|
||||
|
||||
if (aacplusEncGetDecoderSpecificInfo(s->aacplus_handle, &buffer,
|
||||
&decoder_specific_info_size) == 1) {
|
||||
avctx->extradata = av_malloc(decoder_specific_info_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
avctx->extradata = av_malloc(decoder_specific_info_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!avctx->extradata) {
|
||||
free(buffer);
|
||||
return AVERROR(ENOMEM);
|
||||
|
@ -56,7 +56,7 @@ static int dcadec_decode_frame(AVCodecContext *avctx, void *data,
|
||||
}
|
||||
mrk = AV_RB32(input);
|
||||
if (mrk != DCA_SYNCWORD_CORE_BE && mrk != DCA_SYNCWORD_SUBSTREAM) {
|
||||
s->buffer = av_fast_realloc(s->buffer, &s->buffer_size, avpkt->size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
s->buffer = av_fast_realloc(s->buffer, &s->buffer_size, avpkt->size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!s->buffer)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
|
@ -138,7 +138,7 @@ static av_cold int Faac_encode_init(AVCodecContext *avctx)
|
||||
|
||||
if (!faacEncGetDecoderSpecificInfo(s->faac_handle, &buffer,
|
||||
&decoder_specific_info_size)) {
|
||||
avctx->extradata = av_malloc(decoder_specific_info_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
avctx->extradata = av_malloc(decoder_specific_info_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!avctx->extradata) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto error;
|
||||
|
@ -292,7 +292,7 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
|
||||
if (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) {
|
||||
avctx->extradata_size = info.confSize;
|
||||
avctx->extradata = av_mallocz(avctx->extradata_size +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!avctx->extradata) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto error;
|
||||
|
@ -143,7 +143,7 @@ static av_cold int svc_encode_init(AVCodecContext *avctx)
|
||||
(*s->encoder)->EncodeParameterSets(s->encoder, &fbi);
|
||||
for (i = 0; i < fbi.sLayerInfo[0].iNalCount; i++)
|
||||
size += fbi.sLayerInfo[0].pNalLengthInByte[i];
|
||||
avctx->extradata = av_mallocz(size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
avctx->extradata = av_mallocz(size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!avctx->extradata) {
|
||||
err = AVERROR(ENOMEM);
|
||||
goto fail;
|
||||
|
@ -269,7 +269,7 @@ static av_cold int libopus_encode_init(AVCodecContext *avctx)
|
||||
}
|
||||
|
||||
header_size = 19 + (avctx->channels > 2 ? 2 + avctx->channels : 0);
|
||||
avctx->extradata = av_malloc(header_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
avctx->extradata = av_malloc(header_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!avctx->extradata) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Failed to allocate extradata.\n");
|
||||
ret = AVERROR(ENOMEM);
|
||||
|
@ -245,7 +245,7 @@ static av_cold int encode_init(AVCodecContext *avctx)
|
||||
header_data = speex_header_to_packet(&s->header, &header_size);
|
||||
|
||||
/* allocate extradata */
|
||||
avctx->extradata = av_malloc(header_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
avctx->extradata = av_malloc(header_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!avctx->extradata) {
|
||||
speex_header_free(header_data);
|
||||
speex_encoder_destroy(s->enc_state);
|
||||
|
@ -272,7 +272,7 @@ static av_cold int Stagefright_init(AVCodecContext *avctx)
|
||||
|
||||
s->orig_extradata_size = avctx->extradata_size;
|
||||
s->orig_extradata = (uint8_t*) av_mallocz(avctx->extradata_size +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!s->orig_extradata) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto fail;
|
||||
|
@ -105,7 +105,7 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
|
||||
if (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) {
|
||||
avctx->extradata_size = 2;
|
||||
avctx->extradata = av_mallocz(avctx->extradata_size +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!avctx->extradata) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto error;
|
||||
|
@ -231,7 +231,7 @@ static av_cold int libvorbis_encode_init(AVCodecContext *avctx)
|
||||
xiph_len(header_comm.bytes) +
|
||||
header_code.bytes;
|
||||
p = avctx->extradata = av_malloc(avctx->extradata_size +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!p) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto error;
|
||||
|
@ -225,7 +225,7 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx)
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
|
||||
avctx->extradata = av_malloc(avctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
avctx->extradata = av_malloc(avctx->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!avctx->extradata) {
|
||||
av_log(avctx, AV_LOG_ERROR,
|
||||
"Cannot allocate HEVC header of size %d.\n", avctx->extradata_size);
|
||||
|
@ -81,7 +81,7 @@ static int encode_nals(AVCodecContext *ctx, AVPacket *pkt,
|
||||
{
|
||||
XavsContext *x4 = ctx->priv_data;
|
||||
uint8_t *p;
|
||||
int i, s, ret, size = x4->sei_size + FF_MIN_BUFFER_SIZE;
|
||||
int i, s, ret, size = x4->sei_size + AV_INPUT_BUFFER_MIN_SIZE;
|
||||
|
||||
if (!nnal)
|
||||
return 0;
|
||||
|
@ -716,7 +716,7 @@ static int xvid_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
xvid_enc_frame_t xvid_enc_frame = { 0 };
|
||||
xvid_enc_stats_t xvid_enc_stats = { 0 };
|
||||
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, mb_width*(int64_t)mb_height*MAX_MB_BYTES + FF_MIN_BUFFER_SIZE, 0)) < 0)
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, mb_width*(int64_t)mb_height*MAX_MB_BYTES + AV_INPUT_BUFFER_MIN_SIZE, 0)) < 0)
|
||||
return ret;
|
||||
|
||||
/* Start setting up the frame */
|
||||
|
@ -217,7 +217,7 @@ static int ljpeg_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
const int height = avctx->height;
|
||||
const int mb_width = (width + s->hsample[0] - 1) / s->hsample[0];
|
||||
const int mb_height = (height + s->vsample[0] - 1) / s->vsample[0];
|
||||
int max_pkt_size = FF_MIN_BUFFER_SIZE;
|
||||
int max_pkt_size = AV_INPUT_BUFFER_MIN_SIZE;
|
||||
int ret, header_bits;
|
||||
|
||||
if( avctx->pix_fmt == AV_PIX_FMT_BGR0
|
||||
|
@ -44,7 +44,7 @@ static int mjpega_dump_header(AVBitStreamFilterContext *bsfc, AVCodecContext *av
|
||||
}
|
||||
|
||||
*poutbuf_size = 0;
|
||||
*poutbuf = av_malloc(buf_size + 44 + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
*poutbuf = av_malloc(buf_size + 44 + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!*poutbuf)
|
||||
return AVERROR(ENOMEM);
|
||||
poutbufp = *poutbuf;
|
||||
|
@ -1905,7 +1905,7 @@ int ff_mjpeg_find_marker(MJpegDecodeContext *s,
|
||||
*unescaped_buf_ptr = s->buffer;
|
||||
*unescaped_buf_size = dst - s->buffer;
|
||||
memset(s->buffer + *unescaped_buf_size, 0,
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
av_log(s->avctx, AV_LOG_DEBUG, "escaping removed %"PTRDIFF_SPECIFIER" bytes\n",
|
||||
(buf_end - *buf_ptr) - (dst - s->buffer));
|
||||
@ -1950,7 +1950,7 @@ int ff_mjpeg_find_marker(MJpegDecodeContext *s,
|
||||
*unescaped_buf_ptr = dst;
|
||||
*unescaped_buf_size = (bit_count + 7) >> 3;
|
||||
memset(s->buffer + *unescaped_buf_size, 0,
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
} else {
|
||||
*unescaped_buf_ptr = *buf_ptr;
|
||||
*unescaped_buf_size = buf_end - *buf_ptr;
|
||||
|
@ -28,7 +28,7 @@ static int text2movsub(AVBitStreamFilterContext *bsfc, AVCodecContext *avctx, co
|
||||
const uint8_t *buf, int buf_size, int keyframe){
|
||||
if (buf_size > 0xffff) return 0;
|
||||
*poutbuf_size = buf_size + 2;
|
||||
*poutbuf = av_malloc(*poutbuf_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
*poutbuf = av_malloc(*poutbuf_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!*poutbuf)
|
||||
return AVERROR(ENOMEM);
|
||||
AV_WB16(*poutbuf, buf_size);
|
||||
@ -46,7 +46,7 @@ static int mov2textsub(AVBitStreamFilterContext *bsfc, AVCodecContext *avctx, co
|
||||
const uint8_t *buf, int buf_size, int keyframe){
|
||||
if (buf_size < 2) return 0;
|
||||
*poutbuf_size = FFMIN(buf_size - 2, AV_RB16(buf));
|
||||
*poutbuf = av_malloc(*poutbuf_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
*poutbuf = av_malloc(*poutbuf_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!*poutbuf)
|
||||
return AVERROR(ENOMEM);
|
||||
memcpy(*poutbuf, buf + 2, *poutbuf_size);
|
||||
|
@ -189,7 +189,7 @@ static av_cold int mov_text_encode_init(AVCodecContext *avctx)
|
||||
MovTextContext *s = avctx->priv_data;
|
||||
|
||||
avctx->extradata_size = sizeof text_sample_entry;
|
||||
avctx->extradata = av_mallocz(avctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
avctx->extradata = av_mallocz(avctx->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!avctx->extradata)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
|
@ -71,8 +71,8 @@ static int mp3_header_decompress(AVBitStreamFilterContext *bsfc, AVCodecContext
|
||||
header |= (frame_size == buf_size + 4)<<16; //FIXME actually set a correct crc instead of 0
|
||||
|
||||
*poutbuf_size= frame_size;
|
||||
*poutbuf= av_malloc(frame_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memcpy(*poutbuf + frame_size - buf_size, buf, buf_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
*poutbuf= av_malloc(frame_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
memcpy(*poutbuf + frame_size - buf_size, buf, buf_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
if(avctx->channels==2){
|
||||
uint8_t *p= *poutbuf + frame_size - buf_size;
|
||||
|
@ -73,11 +73,11 @@ static void scan_buffer(const uint8_t *buf, int buf_size,
|
||||
|
||||
/* allocate new buffer and copy size bytes from src */
|
||||
static uint8_t *create_new_buffer(const uint8_t *src, int size) {
|
||||
uint8_t *dst = av_malloc(size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
uint8_t *dst = av_malloc(size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
if (dst) {
|
||||
memcpy(dst, src, size);
|
||||
memset(dst + size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(dst + size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
}
|
||||
|
||||
return dst;
|
||||
|
@ -573,7 +573,7 @@ do {\
|
||||
|
||||
if (s1->bitstream_buffer) {
|
||||
if (s1->bitstream_buffer_size +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE > s->allocated_bitstream_buffer_size) {
|
||||
AV_INPUT_BUFFER_PADDING_SIZE > s->allocated_bitstream_buffer_size) {
|
||||
av_fast_malloc(&s->bitstream_buffer,
|
||||
&s->allocated_bitstream_buffer_size,
|
||||
s1->allocated_bitstream_buffer_size);
|
||||
@ -586,7 +586,7 @@ do {\
|
||||
memcpy(s->bitstream_buffer, s1->bitstream_buffer,
|
||||
s1->bitstream_buffer_size);
|
||||
memset(s->bitstream_buffer + s->bitstream_buffer_size, 0,
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
}
|
||||
|
||||
// linesize dependend scratch buffer allocation
|
||||
|
@ -1740,7 +1740,7 @@ int ff_mpv_encode_picture(AVCodecContext *avctx, AVPacket *pkt,
|
||||
/* output? */
|
||||
if (s->new_picture.f->data[0]) {
|
||||
int growing_buffer = context_count == 1 && !pkt->data && !s->data_partitioning;
|
||||
int pkt_size = growing_buffer ? FFMAX(s->mb_width*s->mb_height*64+10000, avctx->internal->byte_buffer_size) - FF_INPUT_BUFFER_PADDING_SIZE
|
||||
int pkt_size = growing_buffer ? FFMAX(s->mb_width*s->mb_height*64+10000, avctx->internal->byte_buffer_size) - AV_INPUT_BUFFER_PADDING_SIZE
|
||||
:
|
||||
s->mb_width*s->mb_height*(MAX_MB_BYTES+100)+10000;
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, pkt_size, 0)) < 0)
|
||||
|
@ -477,7 +477,7 @@ static int mss2_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
|
||||
Rectangle wmv9rects[MAX_WMV9_RECTANGLES], *r;
|
||||
int used_rects = 0, i, implicit_rect = 0, av_uninit(wmv9_mask);
|
||||
|
||||
av_assert0(FF_INPUT_BUFFER_PADDING_SIZE >=
|
||||
av_assert0(AV_INPUT_BUFFER_PADDING_SIZE >=
|
||||
ARITH2_PADDING + (MIN_CACHE_BITS + 7) / 8);
|
||||
|
||||
if ((ret = init_get_bits8(&gb, buf, buf_size)) < 0)
|
||||
|
@ -76,7 +76,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
int skips = 0;
|
||||
int quality = 24;
|
||||
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, avctx->width*avctx->height*9 + FF_MIN_BUFFER_SIZE, 0)) < 0)
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, avctx->width*avctx->height*9 + AV_INPUT_BUFFER_MIN_SIZE, 0)) < 0)
|
||||
return ret;
|
||||
dst= buf= pkt->data;
|
||||
|
||||
|
@ -35,11 +35,11 @@ static int noise(AVBitStreamFilterContext *bsfc, AVCodecContext *avctx, const ch
|
||||
if(amount <= 0)
|
||||
return AVERROR(EINVAL);
|
||||
|
||||
*poutbuf= av_malloc(buf_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
*poutbuf= av_malloc(buf_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!*poutbuf)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
memcpy(*poutbuf, buf, buf_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memcpy(*poutbuf, buf, buf_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
for(i=0; i<buf_size; i++){
|
||||
(*state) += (*poutbuf)[i] + 1;
|
||||
if(*state % amount == 0)
|
||||
|
@ -124,7 +124,7 @@ static int codec_reinit(AVCodecContext *avctx, int width, int height,
|
||||
if (width != c->width || height != c->height) {
|
||||
// also reserve space for a possible additional header
|
||||
int buf_size = height * width * 3 / 2
|
||||
+ FFMAX(AV_LZO_OUTPUT_PADDING, FF_INPUT_BUFFER_PADDING_SIZE)
|
||||
+ FFMAX(AV_LZO_OUTPUT_PADDING, AV_INPUT_BUFFER_PADDING_SIZE)
|
||||
+ RTJPEG_HEADER_SIZE;
|
||||
if (buf_size > INT_MAX/8)
|
||||
return -1;
|
||||
@ -208,15 +208,15 @@ retry:
|
||||
buf = &buf[12];
|
||||
buf_size -= 12;
|
||||
if (comptype == NUV_RTJPEG_IN_LZO || comptype == NUV_LZO) {
|
||||
int outlen = c->decomp_size - FFMAX(FF_INPUT_BUFFER_PADDING_SIZE, AV_LZO_OUTPUT_PADDING);
|
||||
int outlen = c->decomp_size - FFMAX(AV_INPUT_BUFFER_PADDING_SIZE, AV_LZO_OUTPUT_PADDING);
|
||||
int inlen = buf_size;
|
||||
if (av_lzo1x_decode(c->decomp_buf, &outlen, buf, &inlen)) {
|
||||
av_log(avctx, AV_LOG_ERROR, "error during lzo decompression\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
buf = c->decomp_buf;
|
||||
buf_size = c->decomp_size - FFMAX(FF_INPUT_BUFFER_PADDING_SIZE, AV_LZO_OUTPUT_PADDING) - outlen;
|
||||
memset(c->decomp_buf + buf_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
buf_size = c->decomp_size - FFMAX(AV_INPUT_BUFFER_PADDING_SIZE, AV_LZO_OUTPUT_PADDING) - outlen;
|
||||
memset(c->decomp_buf + buf_size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
}
|
||||
if (c->codec_frameheader) {
|
||||
int w, h, q;
|
||||
|
@ -1014,7 +1014,7 @@ static av_cold int nvenc_encode_init(AVCodecContext *avctx)
|
||||
}
|
||||
|
||||
avctx->extradata_size = outSize;
|
||||
avctx->extradata = av_mallocz(outSize + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
avctx->extradata = av_mallocz(outSize + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
if (!avctx->extradata) {
|
||||
res = AVERROR(ENOMEM);
|
||||
|
@ -232,7 +232,7 @@ int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src)
|
||||
memset(((uint8_t *) dest->obj) + size, 0, pad); \
|
||||
}
|
||||
alloc_and_copy_or_fail(extradata, src->extradata_size,
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
dest->extradata_size = src->extradata_size;
|
||||
alloc_and_copy_or_fail(intra_matrix, 64 * sizeof(int16_t), 0);
|
||||
alloc_and_copy_or_fail(inter_matrix, 64 * sizeof(int16_t), 0);
|
||||
|
@ -134,7 +134,7 @@ int av_parser_parse2(AVCodecParserContext *s, AVCodecContext *avctx,
|
||||
int64_t pts, int64_t dts, int64_t pos)
|
||||
{
|
||||
int index, i;
|
||||
uint8_t dummy_buf[FF_INPUT_BUFFER_PADDING_SIZE];
|
||||
uint8_t dummy_buf[AV_INPUT_BUFFER_PADDING_SIZE];
|
||||
|
||||
if (!(s->flags & PARSER_FLAG_FETCHED_OFFSET)) {
|
||||
s->next_frame_offset =
|
||||
@ -204,13 +204,13 @@ int av_parser_change(AVCodecParserContext *s, AVCodecContext *avctx,
|
||||
int size = buf_size + avctx->extradata_size;
|
||||
|
||||
*poutbuf_size = size;
|
||||
*poutbuf = av_malloc(size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
*poutbuf = av_malloc(size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!*poutbuf)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
memcpy(*poutbuf, avctx->extradata, avctx->extradata_size);
|
||||
memcpy(*poutbuf + avctx->extradata_size, buf,
|
||||
buf_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
buf_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@ -252,10 +252,10 @@ int ff_combine_frame(ParseContext *pc, int next,
|
||||
if (next == END_NOT_FOUND) {
|
||||
void *new_buffer = av_fast_realloc(pc->buffer, &pc->buffer_size,
|
||||
*buf_size + pc->index +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
if (!new_buffer) {
|
||||
av_log(NULL, AV_LOG_ERROR, "Failed to reallocate parser buffer to %d\n", *buf_size + pc->index + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
av_log(NULL, AV_LOG_ERROR, "Failed to reallocate parser buffer to %d\n", *buf_size + pc->index + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
pc->index = 0;
|
||||
return AVERROR(ENOMEM);
|
||||
}
|
||||
@ -272,17 +272,17 @@ int ff_combine_frame(ParseContext *pc, int next,
|
||||
if (pc->index) {
|
||||
void *new_buffer = av_fast_realloc(pc->buffer, &pc->buffer_size,
|
||||
next + pc->index +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!new_buffer) {
|
||||
av_log(NULL, AV_LOG_ERROR, "Failed to reallocate parser buffer to %d\n", next + pc->index + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
av_log(NULL, AV_LOG_ERROR, "Failed to reallocate parser buffer to %d\n", next + pc->index + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
pc->overread_index =
|
||||
pc->index = 0;
|
||||
return AVERROR(ENOMEM);
|
||||
}
|
||||
pc->buffer = new_buffer;
|
||||
if (next > -FF_INPUT_BUFFER_PADDING_SIZE)
|
||||
if (next > -AV_INPUT_BUFFER_PADDING_SIZE)
|
||||
memcpy(&pc->buffer[pc->index], *buf,
|
||||
next + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
next + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
pc->index = 0;
|
||||
*buf = pc->buffer;
|
||||
}
|
||||
|
@ -143,7 +143,7 @@ static int pcx_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
|
||||
ptr = p->data[0];
|
||||
stride = p->linesize[0];
|
||||
|
||||
scanline = av_malloc(bytes_per_scanline + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
scanline = av_malloc(bytes_per_scanline + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!scanline)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
|
@ -495,7 +495,7 @@ static int encode_png(AVCodecContext *avctx, AVPacket *pkt,
|
||||
|
||||
enc_row_size = deflateBound(&s->zstream, (avctx->width * s->bits_per_pixel + 7) >> 3);
|
||||
max_packet_size =
|
||||
FF_MIN_BUFFER_SIZE + // headers
|
||||
AV_INPUT_BUFFER_MIN_SIZE + // headers
|
||||
avctx->height * (
|
||||
enc_row_size +
|
||||
12 * (((int64_t)enc_row_size + IOBUF_SIZE - 1) / IOBUF_SIZE) // IDAT * ceil(enc_row_size / IOBUF_SIZE)
|
||||
@ -553,7 +553,7 @@ static int encode_apng(AVCodecContext *avctx, AVPacket *pkt,
|
||||
|
||||
enc_row_size = deflateBound(&s->zstream, (avctx->width * s->bits_per_pixel + 7) >> 3);
|
||||
max_packet_size =
|
||||
FF_MIN_BUFFER_SIZE + // headers
|
||||
AV_INPUT_BUFFER_MIN_SIZE + // headers
|
||||
avctx->height * (
|
||||
enc_row_size +
|
||||
(4 + 12) * (((int64_t)enc_row_size + IOBUF_SIZE - 1) / IOBUF_SIZE) // fdAT * ceil(enc_row_size / IOBUF_SIZE)
|
||||
|
@ -55,7 +55,7 @@ retry:
|
||||
goto retry;
|
||||
}
|
||||
#if 0
|
||||
if (pc->index && pc->index * 2 + FF_INPUT_BUFFER_PADDING_SIZE < pc->buffer_size && buf_size > pc->index) {
|
||||
if (pc->index && pc->index * 2 + AV_INPUT_BUFFER_PADDING_SIZE < pc->buffer_size && buf_size > pc->index) {
|
||||
memcpy(pc->buffer + pc->index, buf, pc->index);
|
||||
pc->index += pc->index;
|
||||
buf += pc->index;
|
||||
|
@ -491,10 +491,10 @@ static int prores_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
int header_size = 148;
|
||||
uint8_t *buf;
|
||||
int pic_size, ret;
|
||||
int frame_size = FFALIGN(avctx->width, 16) * FFALIGN(avctx->height, 16)*16 + 500 + FF_MIN_BUFFER_SIZE; //FIXME choose tighter limit
|
||||
int frame_size = FFALIGN(avctx->width, 16) * FFALIGN(avctx->height, 16)*16 + 500 + AV_INPUT_BUFFER_MIN_SIZE; //FIXME choose tighter limit
|
||||
|
||||
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, frame_size + FF_MIN_BUFFER_SIZE, 0)) < 0)
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, frame_size + AV_INPUT_BUFFER_MIN_SIZE, 0)) < 0)
|
||||
return ret;
|
||||
|
||||
buf = pkt->data;
|
||||
|
@ -944,7 +944,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
ctx->pic = pic;
|
||||
pkt_size = ctx->frame_size_upper_bound;
|
||||
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, pkt_size + FF_MIN_BUFFER_SIZE, 0)) < 0)
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, pkt_size + AV_INPUT_BUFFER_MIN_SIZE, 0)) < 0)
|
||||
return ret;
|
||||
|
||||
orig_buf = pkt->data;
|
||||
|
@ -189,7 +189,7 @@ static int qsv_retrieve_enc_params(AVCodecContext *avctx, QSVEncContext *q)
|
||||
}
|
||||
|
||||
avctx->extradata = av_malloc(extradata.SPSBufSize + need_pps * extradata.PPSBufSize +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!avctx->extradata)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
@ -197,7 +197,7 @@ static int qsv_retrieve_enc_params(AVCodecContext *avctx, QSVEncContext *q)
|
||||
if (need_pps)
|
||||
memcpy(avctx->extradata + extradata.SPSBufSize, pps_buf, extradata.PPSBufSize);
|
||||
avctx->extradata_size = extradata.SPSBufSize + need_pps * extradata.PPSBufSize;
|
||||
memset(avctx->extradata + avctx->extradata_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(avctx->extradata + avctx->extradata_size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -140,7 +140,7 @@ static int generate_fake_vps(QSVEncContext *q, AVCodecContext *avctx)
|
||||
}
|
||||
|
||||
vps_size = bytestream2_tell_p(&pbc);
|
||||
new_extradata = av_mallocz(vps_size + avctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
new_extradata = av_mallocz(vps_size + avctx->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!new_extradata)
|
||||
return AVERROR(ENOMEM);
|
||||
memcpy(new_extradata, vps_buf, vps_size);
|
||||
|
@ -431,7 +431,7 @@ static int shorten_decode_frame(AVCodecContext *avctx, void *data,
|
||||
void *tmp_ptr;
|
||||
s->max_framesize = 8192; // should hopefully be enough for the first header
|
||||
tmp_ptr = av_fast_realloc(s->bitstream, &s->allocated_bitstream_size,
|
||||
s->max_framesize + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
s->max_framesize + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!tmp_ptr) {
|
||||
av_log(avctx, AV_LOG_ERROR, "error allocating bitstream buffer\n");
|
||||
return AVERROR(ENOMEM);
|
||||
@ -445,7 +445,7 @@ static int shorten_decode_frame(AVCodecContext *avctx, void *data,
|
||||
buf_size = FFMIN(buf_size, s->max_framesize - s->bitstream_size);
|
||||
input_buf_size = buf_size;
|
||||
|
||||
if (s->bitstream_index + s->bitstream_size + buf_size + FF_INPUT_BUFFER_PADDING_SIZE >
|
||||
if (s->bitstream_index + s->bitstream_size + buf_size + AV_INPUT_BUFFER_PADDING_SIZE >
|
||||
s->allocated_bitstream_size) {
|
||||
memmove(s->bitstream, &s->bitstream[s->bitstream_index],
|
||||
s->bitstream_size);
|
||||
|
@ -1555,7 +1555,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
uint8_t rc_header_bak[sizeof(s->header_state)];
|
||||
uint8_t rc_block_bak[sizeof(s->block_state)];
|
||||
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, s->b_width*s->b_height*MB_SIZE*MB_SIZE*3 + FF_MIN_BUFFER_SIZE, 0)) < 0)
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, s->b_width*s->b_height*MB_SIZE*MB_SIZE*3 + AV_INPUT_BUFFER_MIN_SIZE, 0)) < 0)
|
||||
return ret;
|
||||
|
||||
ff_init_range_encoder(c, pkt->data, pkt->size);
|
||||
|
@ -33,7 +33,7 @@ int ff_startcode_find_candidate_c(const uint8_t *buf, int size)
|
||||
int i = 0;
|
||||
#if HAVE_FAST_UNALIGNED
|
||||
/* we check i < size instead of i + 3 / 7 because it is
|
||||
* simpler and there must be FF_INPUT_BUFFER_PADDING_SIZE
|
||||
* simpler and there must be AV_INPUT_BUFFER_PADDING_SIZE
|
||||
* bytes at the end.
|
||||
*/
|
||||
#if HAVE_FAST_64BIT
|
||||
|
@ -589,7 +589,7 @@ static int svq1_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
int i, ret;
|
||||
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, s->y_block_width * s->y_block_height *
|
||||
MAX_MB_BYTES*3 + FF_MIN_BUFFER_SIZE, 0)) < 0)
|
||||
MAX_MB_BYTES*3 + AV_INPUT_BUFFER_MIN_SIZE, 0)) < 0)
|
||||
return ret;
|
||||
|
||||
if (avctx->pix_fmt != AV_PIX_FMT_YUV410P) {
|
||||
|
@ -453,7 +453,7 @@ static int tiff_unpack_fax(TiffContext *s, uint8_t *dst, int stride,
|
||||
int i, ret = 0;
|
||||
int line;
|
||||
uint8_t *src2 = av_malloc((unsigned)size +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
if (!src2) {
|
||||
av_log(s->avctx, AV_LOG_ERROR,
|
||||
@ -471,7 +471,7 @@ static int tiff_unpack_fax(TiffContext *s, uint8_t *dst, int stride,
|
||||
for (i = 0; i < size; i++)
|
||||
src2[i] = ff_reverse[src[i]];
|
||||
}
|
||||
memset(src2 + size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(src2 + size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
ret = ff_ccitt_unpack(s->avctx, src2, size, dst, lines, stride,
|
||||
s->compr, s->fax_opts);
|
||||
if (s->bpp < 8 && s->avctx->pix_fmt == AV_PIX_FMT_PAL8)
|
||||
|
@ -329,7 +329,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
bytes_per_row = (((s->width - 1) / s->subsampling[0] + 1) * s->bpp *
|
||||
s->subsampling[0] * s->subsampling[1] + 7) >> 3;
|
||||
packet_size = avctx->height * bytes_per_row * 2 +
|
||||
avctx->height * 4 + FF_MIN_BUFFER_SIZE;
|
||||
avctx->height * 4 + AV_INPUT_BUFFER_MIN_SIZE;
|
||||
|
||||
if ((ret = ff_alloc_packet2(avctx, pkt, packet_size, 0)) < 0)
|
||||
return ret;
|
||||
|
@ -126,25 +126,25 @@ static void *avformat_mutex;
|
||||
void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size)
|
||||
{
|
||||
uint8_t **p = ptr;
|
||||
if (min_size > SIZE_MAX - FF_INPUT_BUFFER_PADDING_SIZE) {
|
||||
if (min_size > SIZE_MAX - AV_INPUT_BUFFER_PADDING_SIZE) {
|
||||
av_freep(p);
|
||||
*size = 0;
|
||||
return;
|
||||
}
|
||||
if (!ff_fast_malloc(p, size, min_size + FF_INPUT_BUFFER_PADDING_SIZE, 1))
|
||||
memset(*p + min_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!ff_fast_malloc(p, size, min_size + AV_INPUT_BUFFER_PADDING_SIZE, 1))
|
||||
memset(*p + min_size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
}
|
||||
|
||||
void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size)
|
||||
{
|
||||
uint8_t **p = ptr;
|
||||
if (min_size > SIZE_MAX - FF_INPUT_BUFFER_PADDING_SIZE) {
|
||||
if (min_size > SIZE_MAX - AV_INPUT_BUFFER_PADDING_SIZE) {
|
||||
av_freep(p);
|
||||
*size = 0;
|
||||
return;
|
||||
}
|
||||
if (!ff_fast_malloc(p, size, min_size + FF_INPUT_BUFFER_PADDING_SIZE, 1))
|
||||
memset(*p, 0, min_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!ff_fast_malloc(p, size, min_size + AV_INPUT_BUFFER_PADDING_SIZE, 1))
|
||||
memset(*p, 0, min_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
}
|
||||
|
||||
/* encoder management */
|
||||
@ -1783,9 +1783,9 @@ int ff_alloc_packet2(AVCodecContext *avctx, AVPacket *avpkt, int64_t size, int64
|
||||
av_log(avctx, AV_LOG_ERROR, "Invalid negative user packet size %d\n", avpkt->size);
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
if (size < 0 || size > INT_MAX - FF_INPUT_BUFFER_PADDING_SIZE) {
|
||||
if (size < 0 || size > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Invalid minimum required packet size %"PRId64" (max allowed is %d)\n",
|
||||
size, INT_MAX - FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
size, INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
|
||||
@ -1992,7 +1992,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
|
||||
if (!ret) {
|
||||
if (needs_realloc && avpkt->data) {
|
||||
ret = av_buffer_realloc(&avpkt->buf, avpkt->size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
ret = av_buffer_realloc(&avpkt->buf, avpkt->size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (ret >= 0)
|
||||
avpkt->data = avpkt->buf->data;
|
||||
}
|
||||
@ -2118,7 +2118,7 @@ int attribute_align_arg avcodec_encode_video(AVCodecContext *avctx, uint8_t *buf
|
||||
AVPacket pkt;
|
||||
int ret, got_packet = 0;
|
||||
|
||||
if (buf_size < FF_MIN_BUFFER_SIZE) {
|
||||
if (buf_size < AV_INPUT_BUFFER_MIN_SIZE) {
|
||||
av_log(avctx, AV_LOG_ERROR, "buffer smaller than minimum size\n");
|
||||
return -1;
|
||||
}
|
||||
@ -2220,7 +2220,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
avpkt->pts = avpkt->dts = frame->pts;
|
||||
|
||||
if (needs_realloc && avpkt->data) {
|
||||
ret = av_buffer_realloc(&avpkt->buf, avpkt->size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
ret = av_buffer_realloc(&avpkt->buf, avpkt->size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (ret >= 0)
|
||||
avpkt->data = avpkt->buf->data;
|
||||
}
|
||||
@ -2724,7 +2724,7 @@ static int recode_subtitle(AVCodecContext *avctx,
|
||||
inb = inpkt->data;
|
||||
inl = inpkt->size;
|
||||
|
||||
if (inl >= INT_MAX / UTF8_MAX_BYTES - FF_INPUT_BUFFER_PADDING_SIZE) {
|
||||
if (inl >= INT_MAX / UTF8_MAX_BYTES - AV_INPUT_BUFFER_PADDING_SIZE) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Subtitles packet is too big for recoding\n");
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto end;
|
||||
@ -2813,7 +2813,7 @@ int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub,
|
||||
* remaining bytes should have already been filled with zeros by the
|
||||
* original packet allocation anyway. */
|
||||
memset(tmp.data + tmp.size, 0,
|
||||
FFMIN(avpkt->size - tmp.size, FF_INPUT_BUFFER_PADDING_SIZE));
|
||||
FFMIN(avpkt->size - tmp.size, AV_INPUT_BUFFER_PADDING_SIZE));
|
||||
}
|
||||
|
||||
pkt_recoded = tmp;
|
||||
@ -3869,7 +3869,7 @@ int avpriv_bprint_to_extradata(AVCodecContext *avctx, struct AVBPrint *buf)
|
||||
/* Note: the string is NUL terminated (so extradata can be read as a
|
||||
* string), but the ending character is not accounted in the size (in
|
||||
* binary formats you are likely not supposed to mux that character). When
|
||||
* extradata is copied, it is also padded with FF_INPUT_BUFFER_PADDING_SIZE
|
||||
* extradata is copied, it is also padded with AV_INPUT_BUFFER_PADDING_SIZE
|
||||
* zeros. */
|
||||
avctx->extradata_size = buf->len;
|
||||
return 0;
|
||||
|
@ -143,7 +143,7 @@ static int decode_plane(UtvideoContext *c, int plane_no,
|
||||
|
||||
memcpy(c->slice_bits, src + slice_data_start + c->slices * 4,
|
||||
slice_size);
|
||||
memset(c->slice_bits + slice_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(c->slice_bits + slice_size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
c->bdsp.bswap_buf((uint32_t *) c->slice_bits,
|
||||
(uint32_t *) c->slice_bits,
|
||||
(slice_data_end - slice_data_start + 3) >> 2);
|
||||
@ -385,7 +385,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
|
||||
}
|
||||
|
||||
av_fast_malloc(&c->slice_bits, &c->slice_bits_size,
|
||||
max_slice_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
max_slice_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
if (!c->slice_bits) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Cannot allocate temporary buffer\n");
|
||||
|
@ -157,7 +157,7 @@ static av_cold int utvideo_encode_init(AVCodecContext *avctx)
|
||||
avctx->extradata_size = 16;
|
||||
|
||||
avctx->extradata = av_mallocz(avctx->extradata_size +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
if (!avctx->extradata) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Could not allocate extradata.\n");
|
||||
@ -167,7 +167,7 @@ static av_cold int utvideo_encode_init(AVCodecContext *avctx)
|
||||
|
||||
for (i = 0; i < c->planes; i++) {
|
||||
c->slice_buffer[i] = av_malloc(c->slice_stride * (avctx->height + 2) +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!c->slice_buffer[i]) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Cannot allocate temporary buffer 1.\n");
|
||||
utvideo_encode_close(avctx);
|
||||
|
@ -486,7 +486,7 @@ static av_cold int vc1_decode_init(AVCodecContext *avctx)
|
||||
return -1;
|
||||
}
|
||||
|
||||
buf2 = av_mallocz(avctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
buf2 = av_mallocz(avctx->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!buf2)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
@ -657,7 +657,7 @@ static int vc1_decode_frame(AVCodecContext *avctx, void *data,
|
||||
//for advanced profile we may need to parse and unescape data
|
||||
if (avctx->codec_id == AV_CODEC_ID_VC1 || avctx->codec_id == AV_CODEC_ID_VC1IMAGE) {
|
||||
int buf_size2 = 0;
|
||||
buf2 = av_mallocz(buf_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
buf2 = av_mallocz(buf_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!buf2)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
@ -686,7 +686,7 @@ static int vc1_decode_frame(AVCodecContext *avctx, void *data,
|
||||
if (!tmp)
|
||||
goto err;
|
||||
slices = tmp;
|
||||
slices[n_slices].buf = av_mallocz(buf_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
slices[n_slices].buf = av_mallocz(buf_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!slices[n_slices].buf)
|
||||
goto err;
|
||||
buf_size3 = vc1_unescape_buffer(start + 4, size,
|
||||
@ -711,7 +711,7 @@ static int vc1_decode_frame(AVCodecContext *avctx, void *data,
|
||||
if (!tmp)
|
||||
goto err;
|
||||
slices = tmp;
|
||||
slices[n_slices].buf = av_mallocz(buf_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
slices[n_slices].buf = av_mallocz(buf_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!slices[n_slices].buf)
|
||||
goto err;
|
||||
buf_size3 = vc1_unescape_buffer(start + 4, size,
|
||||
@ -740,7 +740,7 @@ static int vc1_decode_frame(AVCodecContext *avctx, void *data,
|
||||
if (!tmp)
|
||||
goto err;
|
||||
slices = tmp;
|
||||
slices[n_slices].buf = av_mallocz(buf_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
slices[n_slices].buf = av_mallocz(buf_size + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!slices[n_slices].buf)
|
||||
goto err;
|
||||
buf_size3 = vc1_unescape_buffer(divider + 4, buf + buf_size - divider - 4, slices[n_slices].buf);
|
||||
|
@ -299,7 +299,7 @@ static float wv_get_value_float(WavpackFrameContext *s, uint32_t *crc, int S)
|
||||
const int max_bits = 1 + 23 + 8 + 1;
|
||||
const int left_bits = get_bits_left(&s->gb_extra_bits);
|
||||
|
||||
if (left_bits + 8 * FF_INPUT_BUFFER_PADDING_SIZE < max_bits)
|
||||
if (left_bits + 8 * AV_INPUT_BUFFER_PADDING_SIZE < max_bits)
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
|
@ -120,7 +120,7 @@ typedef struct WMACodecContext {
|
||||
/* output buffer for one frame and the last for IMDCT windowing */
|
||||
DECLARE_ALIGNED(32, float, frame_out)[MAX_CHANNELS][BLOCK_MAX_SIZE * 2];
|
||||
/* last frame info */
|
||||
uint8_t last_superframe[MAX_CODED_SUPERFRAME_SIZE + FF_INPUT_BUFFER_PADDING_SIZE]; /* padding added */
|
||||
uint8_t last_superframe[MAX_CODED_SUPERFRAME_SIZE + AV_INPUT_BUFFER_PADDING_SIZE]; /* padding added */
|
||||
int last_bitoffset;
|
||||
int last_superframe_len;
|
||||
float noise_table[NOISE_TAB_SIZE];
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user