h264: Split h264-test off into a separate file - golomb-test.c.
authorDiego Biurrun <diego@biurrun.de>
Mon, 30 Jan 2012 11:50:16 +0000 (12:50 +0100)
committerDiego Biurrun <diego@biurrun.de>
Tue, 31 Jan 2012 18:56:12 +0000 (19:56 +0100)
The new name is more appropriate as only golomb functions are tested.

libavcodec/Makefile
libavcodec/golomb-test.c [new file with mode: 0644]
libavcodec/h264.c

index daf2ce3..6308e82 100644 (file)
@@ -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 (file)
index 0000000..e3c89b1
--- /dev/null
@@ -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;
+}
index 76d6f7f..cf409c0 100644 (file)
@@ -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;