summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2012-01-30 12:50:16 +0100
committerDiego Biurrun <diego@biurrun.de>2012-01-31 19:56:12 +0100
commit631f96f9592825e6611ea625d2476ff0c10adef3 (patch)
treee9b0d6446cd03bfa1f457590e46d14d4a1c18cea
parent4ff46af039997652b7d955b74e655077d2e8c871 (diff)
h264: Split h264-test off into a separate file - golomb-test.c.
The new name is more appropriate as only golomb functions are tested.
-rw-r--r--libavcodec/Makefile2
-rw-r--r--libavcodec/golomb-test.c73
-rw-r--r--libavcodec/h264.c49
3 files changed, 74 insertions, 50 deletions
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index daf2ce3e42..6308e829f0 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -688,7 +688,7 @@ SKIPHEADERS-$(HAVE_W32THREADS) += w32pthreads.h
EXAMPLES = api
-TESTPROGS = cabac dct fft fft-fixed h264 iirfilter rangecoder
+TESTPROGS = cabac dct fft fft-fixed golomb iirfilter rangecoder
TESTPROGS-$(HAVE_MMX) += motion
TESTOBJS = dctref.o
diff --git a/libavcodec/golomb-test.c b/libavcodec/golomb-test.c
new file mode 100644
index 0000000000..e3c89b1587
--- /dev/null
+++ b/libavcodec/golomb-test.c
@@ -0,0 +1,73 @@
+/*
+ * This file is part of Libav.
+ *
+ * Libav 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.
+ *
+ * Libav 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 Libav; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+
+#include "avcodec.h"
+#include "dsputil.h"
+#include "get_bits.h"
+#include "golomb.h"
+#include "put_bits.h"
+
+#undef printf
+#define COUNT 8000
+#define SIZE (COUNT*40)
+
+int main(void){
+ int i;
+ uint8_t temp[SIZE];
+ PutBitContext pb;
+ GetBitContext gb;
+
+ init_put_bits(&pb, temp, SIZE);
+ printf("testing unsigned exp golomb\n");
+ for(i=0; i<COUNT; i++){
+ set_ue_golomb(&pb, i);
+ }
+ flush_put_bits(&pb);
+
+ init_get_bits(&gb, temp, 8*SIZE);
+ for(i=0; i<COUNT; i++){
+ int j, s = show_bits(&gb, 24);
+
+ j= get_ue_golomb(&gb);
+ if(j != i){
+ printf("mismatch! at %d (%d should be %d) bits:%6X\n", i, j, i, s);
+ }
+ }
+
+ init_put_bits(&pb, temp, SIZE);
+ printf("testing signed exp golomb\n");
+ for(i=0; i<COUNT; i++){
+ set_se_golomb(&pb, i - COUNT/2);
+ }
+ flush_put_bits(&pb);
+
+ init_get_bits(&gb, temp, 8*SIZE);
+ for(i=0; i<COUNT; i++){
+ int j, s = show_bits(&gb, 24);
+
+ j= get_se_golomb(&gb);
+ if(j != i - COUNT/2){
+ printf("mismatch! at %d (%d should be %d) bits:%6X\n", i, j, i, s);
+ }
+ }
+
+ return 0;
+}
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 76d6f7fa65..cf409c0978 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -4099,55 +4099,6 @@ static inline void fill_mb_avail(H264Context *h){
}
#endif
-#ifdef TEST
-#undef printf
-#define COUNT 8000
-#define SIZE (COUNT*40)
-int main(void){
- int i;
- uint8_t temp[SIZE];
- PutBitContext pb;
- GetBitContext gb;
-
- init_put_bits(&pb, temp, SIZE);
- printf("testing unsigned exp golomb\n");
- for(i=0; i<COUNT; i++){
- set_ue_golomb(&pb, i);
- }
- flush_put_bits(&pb);
-
- init_get_bits(&gb, temp, 8*SIZE);
- for(i=0; i<COUNT; i++){
- int j, s = show_bits(&gb, 24);
-
- j= get_ue_golomb(&gb);
- if(j != i){
- printf("mismatch! at %d (%d should be %d) bits:%6X\n", i, j, i, s);
- }
- }
-
- init_put_bits(&pb, temp, SIZE);
- printf("testing signed exp golomb\n");
- for(i=0; i<COUNT; i++){
- set_se_golomb(&pb, i - COUNT/2);
- }
- flush_put_bits(&pb);
-
- init_get_bits(&gb, temp, 8*SIZE);
- for(i=0; i<COUNT; i++){
- int j, s = show_bits(&gb, 24);
-
- j= get_se_golomb(&gb);
- if(j != i - COUNT/2){
- printf("mismatch! at %d (%d should be %d) bits:%6X\n", i, j, i, s);
- }
- }
-
- return 0;
-}
-#endif /* TEST */
-
-
av_cold void ff_h264_free_context(H264Context *h)
{
int i;