1 /*
2 * p64dump.h --
3 *
4 * FIXME: This file needs a description here.
5 *
6 * Copyright (c) 1996-2002 The Regents of the University of California.
7 * All rights reserved.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions are met:
11 *
12 * A. Redistributions of source code must retain the above copyright notice,
13 * this list of conditions and the following disclaimer.
14 * B. Redistributions in binary form must reproduce the above copyright notice,
15 * this list of conditions and the following disclaimer in the documentation
16 * and/or other materials provided with the distribution.
17 * C. Neither the names of the copyright holders nor the names of its
18 * contributors may be used to endorse or promote products derived from this
19 * software without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
22 * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
25 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 * POSSIBILITY OF SUCH DAMAGE.
32 */
33
34 class P64Dumper: public FullP64Decoder {
35 public:
36 P64Dumper();
37 P64Dumper(int q);
38 int decode(const u_char* bp, int cc, int sbit, int ebit,
39 int mba, int gob, int mq, int mvdh, int mvdv);
40 protected:
41 void err(const char* msg ...) const;
42 void dump_bits(char c);
43 #ifdef INT_64
44 int parse_block(short* blk, INT_64* mask);
45 #else
46 int parse_block(short* blk, u_int* mask);
47 #endif
48 void decode_block(u_int tc, u_int x, u_int y, u_int stride,
49 u_char* front, u_char* back, int sf, int n);
50 int parse_picture_hdr();
51 int parse_sc();
52 int parse_gob_hdr(int);
53 int parse_mb_hdr(u_int& cbp);
54
55 int decode_gob(u_int gob);
56 int decode_mb();
57
58 u_int dbb_; /* 32-bit bit buffer */
59 int dnbb_; /* number bits in bit buffer */
60 const u_short* dbs_; /* input bit stream (less bits in bb_) */
61 int dump_quantized_; /* dump quantized coef. values if = 1 */
62 };
63
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.