summaryrefslogtreecommitdiff
path: root/cesar/ce
diff options
context:
space:
mode:
authordufour2009-09-10 11:49:45 +0000
committerdufour2009-09-10 11:49:45 +0000
commit3d02ef37d4ff589e98d4b4e445d5f9f22ec7873a (patch)
tree7552d52e1799806ba76d46cbebc9d0de25537267 /cesar/ce
parentf93bd82f3b602b52e18918bb003c56b788c6f8f9 (diff)
* ce/rx/cp:
- add some checks to ensure the size of the RLE is correctly computed and match written bits, - do not finalize the MME, this is the job of cp_msg_mme_send function. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@5494 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'cesar/ce')
-rw-r--r--cesar/ce/rx/cp/src/mme.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/cesar/ce/rx/cp/src/mme.c b/cesar/ce/rx/cp/src/mme.c
index 034b21ac12..9a6980be9f 100644
--- a/cesar/ce/rx/cp/src/mme.c
+++ b/cesar/ce/rx/cp/src/mme.c
@@ -342,11 +342,16 @@ ce_rx_mme_send_cm_chan_est_ind (cp_t *ctx, cp_sta_t *sta, tonemaps_t *tms,
}
/* Increase size. */
cbd_length += ce_rx_cp_mme_rle_size (count);
- /* Write CBD length. */
+ /* Check computed length is correct. */
dbg_assert (cbd_length % 4 == 0);
+ dbg_assert (bitstream_written_bits (&mme->bitstream) - cbd_len_pos
+ - 16 == cbd_length);
+ /* Write CBD length. */
bitstream_direct_write (mme->p_mme, cbd_len_pos, cbd_length / 4, 16);
+ /* PAD if required. */
+ if ((cbd_length / 4) % 2)
+ bitstream_write (&mme->bitstream, 0, 4);
}
- bitstream_write_finalise (&mme->bitstream);
/* Send. */
cp_msg_mme_send (ctx, mme);