Esempio n. 1
0
void  print_xTS_field (int v, const char *str, u_char *b, int bit_offset) 
{
  long long   xTS_32_30;
  long long   xTS_29_15;
  long long   xTS_14_0;
  long long   ull;
  int         bo = bit_offset;
  int         v1 = v+1;


  out_nl (v,"%s:",str);
  indent (+1);

    xTS_32_30 = outBit_Sx_NL (v1,"bit[32..30]: ",	b, bo+0,  3);
                outBit_Sx_NL (v1,"marker_bit: ",	b, bo+3,  1);
    xTS_29_15 = outBit_Sx_NL (v1,"bit[29..15]: ",	b, bo+4, 15);
                outBit_Sx_NL (v1,"marker_bit: ",	b, bo+19, 1);
    xTS_14_0  = outBit_Sx_NL (v1,"bit[14..0]: ",	b, bo+20,15);
                outBit_Sx_NL (v1,"marker_bit: ",	b, bo+35, 1);

    ull = (xTS_32_30<<30) + (xTS_29_15<<15) + xTS_14_0;
    out (v," ==> %s: ", str);
    print_timebase90kHz (v, ull);
    out_NL (v);

  indent (-1);
}
Esempio n. 2
0
int ts_adaptation_field_extension (u_char  *b)

{
  int    len;
  int    afe_len;
  int    ltw_flag;
  int    pr_flag;
  int    ss_flag;



  afe_len = outBit_Sx_NL  (3,"adaptation_field_extension_length: ", b, 0, 8);
  b  += 1;
  len = afe_len;
  if (afe_len == 0) return 1;



  ltw_flag =   outBit_Sx_NL  (3,"ltw_flag: ", 			b, 0, 1);
  pr_flag =    outBit_Sx_NL  (3,"piecewise_rate_flag: ", 	b, 1, 1);
  ss_flag =    outBit_Sx_NL  (3,"seamless_splice_flag: ", 	b, 2, 1);
               outBit_Sx_NL  (3,"reserved: ",		 	b, 3, 5);
  b   += 1;
  len -= 1;



  if (ltw_flag) {
     outBit_Sx_NL  (3,"ltw_valid_flag: ",	 	b, 0,  1);
     outBit_Sx_NL  (3,"ltw_offset: ",		 	b, 1, 15);

     b   += 2;
     len -= 2;
  }


  if (pr_flag) {
     outBit_Sx_NL  (3,"reserved: ",		 	b, 0,  2);
     outBit_Sx_NL  (3,"piecewise_rate: ",	 	b, 2, 22);

     b   += 3;
     len -= 3;
  }


  if (ss_flag) {

     outBit_Sx_NL  (3,"splice_type: ",		 	b, 0,  4);

     {		// $$$ TODO: this is basically the same as for PES
      long long   xTS_32_30;
      long long   xTS_29_15;
      long long   xTS_14_0;
      long long   ull;

      xTS_32_30 = outBit_Sx_NL (3,"DTS_next_AU[32..30]: ",	b,  4,  3);
                  outBit_Sx_NL (3,"marker_bit: ",		b,  7,  1);
      xTS_29_15 = outBit_Sx_NL (3,"DTS_next_AU[29..15]: ",	b,  8, 15);
                  outBit_Sx_NL (3,"marker_bit: ",		b, 23,  1);
      xTS_14_0  = outBit_Sx_NL (3,"DTS_next_AU[14..0]: ",	b, 24, 15);
                  outBit_Sx_NL (3,"marker_bit: ",		b, 39,  1);

      ull = (xTS_32_30<<30) + (xTS_29_15<<15) + xTS_14_0;
      out (3," ==> DTS_next_AU: ");
      print_timebase90kHz (3, ull);
      out_NL (3);
     }

     b   += 5;
     len -= 5;
  }


  if (len > 0) {
     out_nl (3,"(Reserved Bytes length: %d) ",len);
     print_databytes (3,"Reserved bytes:",b,len);
  }


 return afe_len + 1;
}