annotate gcc/testsuite/g++.dg/torture/pr45874.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // { dg-do compile }
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 typedef struct {
kono
parents:
diff changeset
4 } IppLibraryVersion;
kono
parents:
diff changeset
5 typedef unsigned char Ipp8u;
kono
parents:
diff changeset
6 typedef unsigned int Ipp32u;
kono
parents:
diff changeset
7 typedef signed int Ipp32s;
kono
parents:
diff changeset
8 typedef enum e_vm_Status {
kono
parents:
diff changeset
9 VM_OK = 0, VM_OPERATION_FAILED =-999, VM_NOT_INITIALIZED =-998, VM_TIMEOUT =-987, VM_NOT_ENOUGH_DATA =-996, VM_NULL_PTR =-995, VM_SO_CANT_LOAD =-994, VM_SO_INVALID_HANDLE =-993, VM_SO_CANT_GET_ADDR =-992 }
kono
parents:
diff changeset
10 vm_status;
kono
parents:
diff changeset
11 typedef Ipp32s Status;
kono
parents:
diff changeset
12 class MediaReceiver {
kono
parents:
diff changeset
13 };
kono
parents:
diff changeset
14 class MediaBuffer : public MediaReceiver {
kono
parents:
diff changeset
15 };
kono
parents:
diff changeset
16 struct TrackInfo {
kono
parents:
diff changeset
17 };
kono
parents:
diff changeset
18 struct Mpeg2TrackInfo : public TrackInfo {
kono
parents:
diff changeset
19 };
kono
parents:
diff changeset
20 class BitstreamReader {
kono
parents:
diff changeset
21 public: BitstreamReader(void);
kono
parents:
diff changeset
22 virtual ~BitstreamReader(void) {
kono
parents:
diff changeset
23 }
kono
parents:
diff changeset
24 Ipp32u GetBits(Ipp32s iNum);
kono
parents:
diff changeset
25 void SkipBits(Ipp32s iNum);
kono
parents:
diff changeset
26 protected: virtual void Refresh(void);
kono
parents:
diff changeset
27 Ipp32s m_iReadyBits;
kono
parents:
diff changeset
28 };
kono
parents:
diff changeset
29 class FrameConstructor : public MediaBuffer {
kono
parents:
diff changeset
30 };
kono
parents:
diff changeset
31 class VideoFrameConstructor : public FrameConstructor {
kono
parents:
diff changeset
32 };
kono
parents:
diff changeset
33 class Mpeg2FrameConstructor : public VideoFrameConstructor {
kono
parents:
diff changeset
34 static Status ParsePictureHeader(Ipp8u *buf, Ipp32s iLen, Mpeg2TrackInfo *pInfo);
kono
parents:
diff changeset
35 };
kono
parents:
diff changeset
36 Status Mpeg2FrameConstructor::ParsePictureHeader(Ipp8u *buf, Ipp32s iLen, Mpeg2TrackInfo *pInfo) {
kono
parents:
diff changeset
37 BitstreamReader bs;
kono
parents:
diff changeset
38 bs.SkipBits(32 + 4 + 4 + 4 + 4 + 4 + 2);
kono
parents:
diff changeset
39 bs.SkipBits(1 + 1 + 1 + 1 + 1 + 1 + 1);
kono
parents:
diff changeset
40 bs.SkipBits(5);
kono
parents:
diff changeset
41 bs.SkipBits(3);
kono
parents:
diff changeset
42 Ipp8u source_format;
kono
parents:
diff changeset
43 bs.SkipBits(22);
kono
parents:
diff changeset
44 bs.SkipBits(8);
kono
parents:
diff changeset
45 if (7 == source_format) {
kono
parents:
diff changeset
46 Ipp8u ufep = (Ipp8u)bs.GetBits(3);
kono
parents:
diff changeset
47 if (0x01 == ufep) {
kono
parents:
diff changeset
48 bs.SkipBits(10);
kono
parents:
diff changeset
49 }
kono
parents:
diff changeset
50 }
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
51 return Status();
111
kono
parents:
diff changeset
52 }
kono
parents:
diff changeset
53 void BitstreamReader::SkipBits(Ipp32s iNum) {
kono
parents:
diff changeset
54 if (iNum <= m_iReadyBits) {
kono
parents:
diff changeset
55 m_iReadyBits -= iNum;
kono
parents:
diff changeset
56 Refresh();
kono
parents:
diff changeset
57 }
kono
parents:
diff changeset
58 }
kono
parents:
diff changeset
59 void BitstreamReader::Refresh(void) { }