Commit f1db3f5f authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit 'c99307ca'

* commit 'c99307ca':
  mpegvideo: make frame_size_alloc() static.
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 08667c26 c99307ca
...@@ -57,11 +57,15 @@ static int encode_picture_lossless(AVCodecContext *avctx, AVPacket *pkt, ...@@ -57,11 +57,15 @@ static int encode_picture_lossless(AVCodecContext *avctx, AVPacket *pkt,
* s->mjpeg_hsample[0] * s->mjpeg_vsample[0]; * s->mjpeg_hsample[0] * s->mjpeg_vsample[0];
} }
if (!s->edge_emu_buffer && if (!s->rd_scratchpad) {
(ret = ff_mpv_frame_size_alloc(s, pict->linesize[0])) < 0) { int alloc_size = FFALIGN(FFABS(pict->linesize[0]) + 64, 32);
s->me.scratchpad =
s->rd_scratchpad = av_mallocz(alloc_size * 4 * 16 * 2);
if (!s->rd_scratchpad) {
av_log(avctx, AV_LOG_ERROR, "failed to allocate context scratch buffers.\n"); av_log(avctx, AV_LOG_ERROR, "failed to allocate context scratch buffers.\n");
return ret; return ret;
} }
}
if ((ret = ff_alloc_packet2(avctx, pkt, max_pkt_size)) < 0) if ((ret = ff_alloc_packet2(avctx, pkt, max_pkt_size)) < 0)
return ret; return ret;
......
...@@ -196,7 +196,7 @@ av_cold int ff_dct_common_init(MpegEncContext *s) ...@@ -196,7 +196,7 @@ av_cold int ff_dct_common_init(MpegEncContext *s)
return 0; return 0;
} }
int ff_mpv_frame_size_alloc(MpegEncContext *s, int linesize) static int frame_size_alloc(MpegEncContext *s, int linesize)
{ {
int alloc_size = FFALIGN(FFABS(linesize) + 64, 32); int alloc_size = FFALIGN(FFABS(linesize) + 64, 32);
...@@ -275,7 +275,7 @@ static int alloc_frame_buffer(MpegEncContext *s, Picture *pic) ...@@ -275,7 +275,7 @@ static int alloc_frame_buffer(MpegEncContext *s, Picture *pic)
} }
if (!s->edge_emu_buffer && if (!s->edge_emu_buffer &&
(ret = ff_mpv_frame_size_alloc(s, pic->f.linesize[0])) < 0) { (ret = frame_size_alloc(s, pic->f.linesize[0])) < 0) {
av_log(s->avctx, AV_LOG_ERROR, av_log(s->avctx, AV_LOG_ERROR,
"get_buffer() failed to allocate context scratch buffers.\n"); "get_buffer() failed to allocate context scratch buffers.\n");
ff_mpeg_unref_picture(s, pic); ff_mpeg_unref_picture(s, pic);
...@@ -655,7 +655,7 @@ int ff_update_duplicate_context(MpegEncContext *dst, MpegEncContext *src) ...@@ -655,7 +655,7 @@ int ff_update_duplicate_context(MpegEncContext *dst, MpegEncContext *src)
if (dst->avctx->codec_tag == AV_RL32("VCR2")) if (dst->avctx->codec_tag == AV_RL32("VCR2"))
exchange_uv(dst); exchange_uv(dst);
if (!dst->edge_emu_buffer && if (!dst->edge_emu_buffer &&
(ret = ff_mpv_frame_size_alloc(dst, dst->linesize)) < 0) { (ret = frame_size_alloc(dst, dst->linesize)) < 0) {
av_log(dst->avctx, AV_LOG_ERROR, "failed to allocate context " av_log(dst->avctx, AV_LOG_ERROR, "failed to allocate context "
"scratch buffers.\n"); "scratch buffers.\n");
return ret; return ret;
...@@ -774,7 +774,7 @@ do {\ ...@@ -774,7 +774,7 @@ do {\
// linesize dependend scratch buffer allocation // linesize dependend scratch buffer allocation
if (!s->edge_emu_buffer) if (!s->edge_emu_buffer)
if (s1->linesize) { if (s1->linesize) {
if (ff_mpv_frame_size_alloc(s, s1->linesize) < 0) { if (frame_size_alloc(s, s1->linesize) < 0) {
av_log(s->avctx, AV_LOG_ERROR, "Failed to allocate context " av_log(s->avctx, AV_LOG_ERROR, "Failed to allocate context "
"scratch buffers.\n"); "scratch buffers.\n");
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
......
...@@ -793,7 +793,6 @@ void ff_MPV_common_defaults(MpegEncContext *s); ...@@ -793,7 +793,6 @@ void ff_MPV_common_defaults(MpegEncContext *s);
void ff_MPV_decode_defaults(MpegEncContext *s); void ff_MPV_decode_defaults(MpegEncContext *s);
int ff_MPV_common_init(MpegEncContext *s); int ff_MPV_common_init(MpegEncContext *s);
int ff_mpv_frame_size_alloc(MpegEncContext *s, int linesize);
int ff_MPV_common_frame_size_change(MpegEncContext *s); int ff_MPV_common_frame_size_change(MpegEncContext *s);
void ff_MPV_common_end(MpegEncContext *s); void ff_MPV_common_end(MpegEncContext *s);
void ff_MPV_decode_mb(MpegEncContext *s, int16_t block[12][64]); void ff_MPV_decode_mb(MpegEncContext *s, int16_t block[12][64]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment