aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/utils.c
diff options
context:
space:
mode:
authorJanne Grunau <janne-libav@jannau.net>2013-03-25 17:28:37 +0100
committerJanne Grunau <janne-libav@jannau.net>2013-03-26 19:44:50 +0100
commitc24469e812501903a46a06eff9722a82e136e841 (patch)
tree38041985645de903e520a575e016f27ac2f7c0df /libavcodec/utils.c
parent2ece5bf3ec8b08e7f43ad66fc6a2e07acf57014d (diff)
downloadffmpeg-c24469e812501903a46a06eff9722a82e136e841.tar.gz
utils: add workaround for AVHWAccel in ff_get_buffer compat code
Since c977039e585bfff28ecc037ef827c6c3d1ed88aa plane count for PIX_FMT_HWACCEL pixel formats is 0 instead of 1. The created dummy AVBuffers are still bogus since AVFrame does not hold frame data when AVHWAccels are used.
Diffstat (limited to 'libavcodec/utils.c')
-rw-r--r--libavcodec/utils.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index e64ca11d66..2b63759b90 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -661,6 +661,10 @@ do { \
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(frame->format);
planes = av_pix_fmt_count_planes(frame->format);
+ /* workaround for AVHWAccel plane count of 0, buf[0] is used as
+ check for allocated buffers: make libavcodec happy */
+ if (desc && desc->flags & PIX_FMT_HWACCEL)
+ planes = 1;
if (!desc || planes <= 0) {
ret = AVERROR(EINVAL);
goto fail;