[FFmpeg-cvslog] h264: Split h264-test off into a separate file - golomb-test.c.

Diego Biurrun git at videolan.org
Wed Feb 1 03:06:34 CET 2012


ffmpeg | branch: master | Diego Biurrun <diego at biurrun.de> | Mon Jan 30 12:50:16 2012 +0100| [631f96f9592825e6611ea625d2476ff0c10adef3] | committer: Diego Biurrun

h264: Split h264-test off into a separate file - golomb-test.c.

The new name is more appropriate as only golomb functions are tested.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=631f96f9592825e6611ea625d2476ff0c10adef3
---

 libavcodec/Makefile      |    2 +-
 libavcodec/golomb-test.c |   73 ++++++++++++++++++++++++++++++++++++++++++++++
 libavcodec/h264.c        |   49 -------------------------------
 3 files changed, 74 insertions(+), 50 deletions(-)

diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index daf2ce3..6308e82 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 0000000..e3c89b1
--- /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 76d6f7f..cf409c0 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;



More information about the ffmpeg-cvslog mailing list