From 542b83fc90c188f868607861f2bb196a7c700835 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 7 Mar 2013 08:15:31 +0100 Subject: [PATCH 1/3] Replace some forgotten instances of PIX_FMT_* with AV_PIX_FMT_*. --- libavcodec/h264.c | 2 +- libavcodec/svq1enc.c | 4 ++-- libswscale/swscale_unscaled.c | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index f2f37c865e..cad2520da4 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -2923,7 +2923,7 @@ static int h264_set_parameter_from_sps(H264Context *h) return 0; } -static enum PixelFormat get_pixel_format(H264Context *h) +static enum AVPixelFormat get_pixel_format(H264Context *h) { switch (h->sps.bit_depth_luma) { case 9: diff --git a/libavcodec/svq1enc.c b/libavcodec/svq1enc.c index 22668958a9..f06609e442 100644 --- a/libavcodec/svq1enc.c +++ b/libavcodec/svq1enc.c @@ -627,7 +627,7 @@ AVCodec ff_svq1_encoder = { .init = svq1_encode_init, .encode2 = svq1_encode_frame, .close = svq1_encode_end, - .pix_fmts = (const enum PixelFormat[]) { AV_PIX_FMT_YUV410P, - AV_PIX_FMT_NONE }, + .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV410P, + AV_PIX_FMT_NONE }, .long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1"), }; diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c index db79cbff22..a994d6f2f5 100644 --- a/libswscale/swscale_unscaled.c +++ b/libswscale/swscale_unscaled.c @@ -512,23 +512,23 @@ static int rgbToPlanarRgbWrapper(SwsContext *c, const uint8_t *src[], dst[1] + srcSliceY * dstStride[1] }; switch (c->srcFormat) { - case PIX_FMT_RGB24: + case AV_PIX_FMT_RGB24: packedtogbr24p((const uint8_t *) src[0], srcStride[0], dst201, stride201, srcSliceH, alpha_first, 3, c->srcW); break; - case PIX_FMT_BGR24: + case AV_PIX_FMT_BGR24: packedtogbr24p((const uint8_t *) src[0], srcStride[0], dst102, stride102, srcSliceH, alpha_first, 3, c->srcW); break; - case PIX_FMT_ARGB: + case AV_PIX_FMT_ARGB: alpha_first = 1; - case PIX_FMT_RGBA: + case AV_PIX_FMT_RGBA: packedtogbr24p((const uint8_t *) src[0], srcStride[0], dst201, stride201, srcSliceH, alpha_first, 4, c->srcW); break; - case PIX_FMT_ABGR: + case AV_PIX_FMT_ABGR: alpha_first = 1; - case PIX_FMT_BGRA: + case AV_PIX_FMT_BGRA: packedtogbr24p((const uint8_t *) src[0], srcStride[0], dst102, stride102, srcSliceH, alpha_first, 4, c->srcW); break; From 0651e892e16dce05d19c466b3532b754c256d2ad Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 7 Mar 2013 08:16:07 +0100 Subject: [PATCH 2/3] Replace remaining includes of audioconvert.h with channel_layout.h --- libavfilter/af_volume.c | 2 +- libavformat/idcin.c | 2 +- libavutil/frame.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libavfilter/af_volume.c b/libavfilter/af_volume.c index 44181af7d8..1f92f5e7c7 100644 --- a/libavfilter/af_volume.c +++ b/libavfilter/af_volume.c @@ -24,7 +24,7 @@ * audio volume filter */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/eval.h" #include "libavutil/float_dsp.h" diff --git a/libavformat/idcin.c b/libavformat/idcin.c index 18da918f13..536e6ee6ff 100644 --- a/libavformat/idcin.c +++ b/libavformat/idcin.c @@ -68,7 +68,7 @@ * transmitting them to the video decoder */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/imgutils.h" #include "libavutil/intreadwrite.h" #include "avformat.h" diff --git a/libavutil/frame.c b/libavutil/frame.c index 560bab99a7..7a2a4d183b 100644 --- a/libavutil/frame.c +++ b/libavutil/frame.c @@ -17,7 +17,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "audioconvert.h" +#include "channel_layout.h" #include "buffer.h" #include "common.h" #include "dict.h" From 7b89cd20d844cbe763ca34e63e99d110043cf241 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Wed, 13 Feb 2013 21:04:42 +0100 Subject: [PATCH 3/3] eamad: allocate a dummy reference frame when the real one is missing CC:libav-stable@libav.org --- libavcodec/eamad.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/libavcodec/eamad.c b/libavcodec/eamad.c index e666a45360..d4c167b597 100644 --- a/libavcodec/eamad.c +++ b/libavcodec/eamad.c @@ -261,6 +261,19 @@ static int decode_frame(AVCodecContext *avctx, return ret; } + if (inter && !s->last_frame.data[0]) { + av_log(avctx, AV_LOG_WARNING, "Missing reference frame.\n"); + ret = ff_get_buffer(avctx, &s->last_frame, AV_GET_BUFFER_FLAG_REF); + if (ret < 0) + return ret; + memset(s->last_frame.data[0], 0, s->last_frame.height * + s->last_frame.linesize[0]); + memset(s->last_frame.data[1], 0x80, s->last_frame.height / 2 * + s->last_frame.linesize[1]); + memset(s->last_frame.data[2], 0x80, s->last_frame.height / 2 * + s->last_frame.linesize[2]); + } + av_fast_padded_malloc(&s->bitstream_buf, &s->bitstream_buf_size, buf_end - buf); if (!s->bitstream_buf)