zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

mpeg2bits.h (1673B) - Raw


      1 /*
      2  * Copyright (C) 2025 Biswapriyo Nath
      3  *
      4  * This library is free software; you can redistribute it and/or
      5  * modify it under the terms of the GNU Lesser General Public
      6  * License as published by the Free Software Foundation; either
      7  * version 2.1 of the License, or (at your option) any later version.
      8  *
      9  * This library is distributed in the hope that it will be useful,
     10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     12  * Lesser General Public License for more details.
     13  *
     14  * You should have received a copy of the GNU Lesser General Public
     15  * License along with this library; if not, write to the Free Software
     16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
     17  */
     18 
     19 #ifndef _MPEG2BITS_H_
     20 #define _MPEG2BITS_H_
     21 
     22 #pragma pack(push)
     23 #pragma pack(1)
     24 
     25 #if defined(__midl) || defined(__WIDL__)
     26 typedef struct
     27 {
     28     WORD Bits;
     29 } PID_BITS_MIDL;
     30 #else
     31 typedef struct
     32 {
     33     WORD Reserved : 3;
     34     WORD ProgramId : 13;
     35 } PID_BITS, *PPID_BITS;
     36 #endif
     37 
     38 #if defined(__midl) || defined(__WIDL__)
     39 typedef struct
     40 {
     41     WORD Bits;
     42 } MPEG_HEADER_BITS_MIDL;
     43 #else
     44 typedef struct
     45 {
     46     WORD SectionLength : 12;
     47     WORD Reserved : 2;
     48     WORD PrivateIndicator : 1;
     49     WORD SectionSyntaxIndicator : 1;
     50 } MPEG_HEADER_BITS, *PMPEG_HEADER_BITS;
     51 #endif
     52 
     53 #if defined(__midl) || defined(__WIDL__)
     54 typedef struct
     55 {
     56     BYTE Bits;
     57 } MPEG_HEADER_VERSION_BITS_MIDL;
     58 #else
     59 typedef struct
     60 {
     61     BYTE CurrentNextIndicator : 1;
     62     BYTE VersionNumber : 5;
     63     BYTE Reserved : 2;
     64 } MPEG_HEADER_VERSION_BITS, *PMPEG_HEADER_VERSION_BITS;
     65 #endif
     66 
     67 #pragma pack(pop)
     68 
     69 #endif /* _MPEG2BITS_H_ */