summaryrefslogtreecommitdiffstats
path: root/libavfilter/libmpcodecs/mp_image.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-02-23 19:25:46 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-02-23 19:32:24 +0100
commit73fce258b774d0480f2d2dd7ec81fa1ec1b27812 (patch)
treee37f560a2113ba8f7338450c95b83ab310b7bb94 /libavfilter/libmpcodecs/mp_image.c
parentda8ef5ac2f1b14f4fe34db72af5d5f8b3c8e2ff9 (diff)
downloadffmpeg-streaming-73fce258b774d0480f2d2dd7ec81fa1ec1b27812.zip
ffmpeg-streaming-73fce258b774d0480f2d2dd7ec81fa1ec1b27812.tar.gz
vf_mp: Set pseudo pal
Fixes ticket2140 Fixes null pointer dereference Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter/libmpcodecs/mp_image.c')
-rw-r--r--libavfilter/libmpcodecs/mp_image.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libavfilter/libmpcodecs/mp_image.c b/libavfilter/libmpcodecs/mp_image.c
index 33d5c07..100ace9 100644
--- a/libavfilter/libmpcodecs/mp_image.c
+++ b/libavfilter/libmpcodecs/mp_image.c
@@ -31,8 +31,13 @@
#include "libvo/fastmemcpy.h"
//#include "libavutil/mem.h"
+#include "libavutil/imgutils.h"
void ff_mp_image_alloc_planes(mp_image_t *mpi) {
+ uint32_t temp[256];
+ if (avpriv_set_systematic_pal2(temp, ff_mp2ff_pix_fmt(mpi->imgfmt)) >= 0)
+ mpi->flags |= MP_IMGFLAG_RGB_PALETTE;
+
// IF09 - allocate space for 4. plane delta info - unused
if (mpi->imgfmt == IMGFMT_IF09) {
mpi->planes[0]=av_malloc(mpi->bpp*mpi->width*(mpi->height+2)/8+
@@ -65,8 +70,10 @@ void ff_mp_image_alloc_planes(mp_image_t *mpi) {
}
} else {
mpi->stride[0]=mpi->width*mpi->bpp/8;
- if (mpi->flags & MP_IMGFLAG_RGB_PALETTE)
+ if (mpi->flags & MP_IMGFLAG_RGB_PALETTE) {
mpi->planes[1] = av_malloc(1024);
+ memcpy(mpi->planes[1], temp, 1024);
+ }
}
mpi->flags|=MP_IMGFLAG_ALLOCATED;
}
OpenPOWER on IntegriCloud