summaryrefslogtreecommitdiffstats
path: root/kopete/protocols/msn/webcam/libmimic/vlc_encode.c
diff options
context:
space:
mode:
Diffstat (limited to 'kopete/protocols/msn/webcam/libmimic/vlc_encode.c')
-rw-r--r--kopete/protocols/msn/webcam/libmimic/vlc_encode.c84
1 files changed, 0 insertions, 84 deletions
diff --git a/kopete/protocols/msn/webcam/libmimic/vlc_encode.c b/kopete/protocols/msn/webcam/libmimic/vlc_encode.c
deleted file mode 100644
index 6aeebe1c..00000000
--- a/kopete/protocols/msn/webcam/libmimic/vlc_encode.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright (C) 2005 Ole André Vadla Ravnås <oleavr@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include <stdlib.h>
-#include "mimic-private.h"
-
-extern guchar _col_zag[64];
-extern VlcSymbol _vlc_alphabet[16][128];
-
-/*
- * _vlc_encode_block
- *
- * Serialize an 8x8 block using variable length coding.
- */
-void _vlc_encode_block(MimCtx *ctx, const gint *block, gint num_coeffs)
-{
- gint i, num_zeroes;
-
- /* The DC value is written out as is. */
- _write_bits(ctx, block[0], 8);
-
- /* Number of zeroes prefixing the next non-zero value. */
- num_zeroes = 0;
-
- for (i = 1; i < num_coeffs && num_zeroes <= 14; i++) {
-
- /* Fetch AC coefficients from block in zig-zag order. */
- gint value = block[_col_zag[i]];
-
- if (value != 0) {
- VlcSymbol sym;
-
- /* Clip input values to [-128, +128]. */
- if (value < -128)
- value = -128;
- else if (value > 128)
- value = 128;
-
- /* Look up symbol for the current non-zero value. */
- sym = _vlc_alphabet[num_zeroes][abs(value) - 1];
-
- /* No symbol? very rare... */
- if (sym.length1 <= 0)
- break;
-
- /* The symbols for negative values are the same as for positives, minus one. */
- if (value < 0) {
- if (sym.length2 > 0)
- sym.part2 -= 1;
- else
- sym.part1 -= 1;
- }
-
- /* Write out the full symbol. */
- _write_bits(ctx, sym.part1, sym.length1);
- if (sym.length2 > 0)
- _write_bits(ctx, sym.part2, sym.length2);
-
- /* Start counting zeroes again. */
- num_zeroes = 0;
- } else {
- num_zeroes++;
- }
- }
-
- /* Write out EOB if necessary. */
- if (num_zeroes > 0)
- _write_bits(ctx, 0xA, 4);
-}
-