From fa64d70e61d6093440ad568e17a6be634f668a7f Mon Sep 17 00:00:00 2001 From: Javier Martin Date: Mon, 29 Oct 2012 08:34:59 -0300 Subject: [PATCH] --- yaml --- r: 357082 b: refs/heads/master c: 832fbb5aec6ec877ed9273a0b20520e3dc0b23b3 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/media/platform/coda.c | 14 +++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index ab7c0aa1398a..79758662c9c5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3f3f5c7f63dec5d6413075116cd6beee1e888d7b +refs/heads/master: 832fbb5aec6ec877ed9273a0b20520e3dc0b23b3 diff --git a/trunk/drivers/media/platform/coda.c b/trunk/drivers/media/platform/coda.c index 8b7f5ac7fc11..2721f839852f 100644 --- a/trunk/drivers/media/platform/coda.c +++ b/trunk/drivers/media/platform/coda.c @@ -178,8 +178,9 @@ struct coda_ctx { int idx; }; -static u8 coda_filler_nal[] = { 0x00, 0x00, 0x00, 0x01, 0x0c, - 0xff, 0xff, 0xff, 0xff, 0xff}; +static const u8 coda_filler_nal[14] = { 0x00, 0x00, 0x00, 0x01, 0x0c, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80 }; +static const u8 coda_filler_size[8] = { 0, 7, 14, 13, 12, 11, 10, 9 }; static inline void coda_write(struct coda_dev *dev, u32 data, u32 reg) { @@ -949,19 +950,14 @@ static int coda_alloc_framebuffers(struct coda_ctx *ctx, struct coda_q_data *q_d static int coda_h264_padding(int size, char *p) { - int size_align = size & ~0x3; - int filler_size = ARRAY_SIZE(coda_filler_nal); int nal_size; int diff; - diff = size - size_align; + diff = size - (size & ~0x7); if (diff == 0) return 0; - nal_size = filler_size + 2 - diff; - if (nal_size > filler_size) - nal_size -= 4; - + nal_size = coda_filler_size[diff]; memcpy(p, coda_filler_nal, nal_size); /* Add rbsp stop bit and trailing at the end */