#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ print_msg(char *);
void print_help_ts() {
  print_msg(
      "Transport Stream Switches:\n"
      "The following switches are only applicable if the input data is TS.\n"
      "\n"
      "  -ignore <pid>     Any TS packets with this PID will not be output\n"
      "                    (more accurately, any TS packets with this PID and "
      "with\n"
      "                    PCR information will be transmitted with PID "
      "0x1FFF, and\n"
      "                    any other packets with this PID will be ignored).\n"
      "                    The <pid> may not be 0, and should not be the PAT "
      "or PMT.\n"
      "\n"
      "Normally, the TS reading process remembers the last PCR, and also scans "
      "ahead\n"
      "for the next PCR. This allows it to calculate an accurate timestamp for "
      "each TS\n"
      "packet, at the cost of ignoring any packets before the first PCR, and "
      "also\n"
      "(at least in the currrent implementation), ignoring any TS packets "
      "after the\n"
      "last PCR, and also at the cost of some extra copying of data.\n"
      "\n"
      "However, sometimes it is more appropriate to revert to the mechanism "
      "used by\n"
      "earlier versions of tsplay:\n"
      "\n"
      "  -oldpace          Switch off scanning ahead for the next PCR.\n"
      "  -pace-pcr1        v1 of the PCR scan code\n"
      "  -pace-pcr2-ts     v2 of the PCR scan code - use 1st PCR PID found "
      "[default]\n"
      "  -pace-pcr2-pmt    v2 of the PCR scan code - get PCR PID from PMT\n"
      "\n"
      "which attempts to predict an approximate PCR for each TS packet, based "
      "on an\n"
      "initial speed (see '-bitrate'/'-byterate' in '-help tuning') and the "
      "PCRs found\n"
      "earlier in the data stream. This works reasonably well for streams with "
      "a\n"
      "constant bitrate, but does not cope well if the bitrate varies "
      "greatly.\n"
      "\n"
      "Note that '-nopcrs' (see '-help tuning') also implies '-oldpace'.\n"
      "\n"
      "In order to buffer PCRs, the first PCR must be found. Normally this is "
      "done\n"
      "by finding the first PAT/PMT, and reading the PCR PID from there. "
      "However,\n"
      "sometimes it is useful to *tell* the program where to look for its "
      "first PCR:\n"
      "\n"
      "  -forcepcr <pid>   Specifies which PID to look for to find the first "
      "PCR.\n"
      "\n"
      "Note that after the first PCR is read, *all* TS packets are inspected "
      "for\n"
      "PCRs, irrespective of PID.\n");
}


x86 assembly (clang, -O0):
<print_help_ts>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
call   1030 <print_msg@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<print_help_ts>:
lea    0xee9(%rip),%rdi
jmp    1030 <print_msg@plt>

LLVM IR (-O0):
@.str = [1978 x i8] c"Transport Stream Switches:\0AThe following switches are only applicable if the input data is TS.\0A\0A -ignore <pid> Any TS packets with this PID will not be output\0A (more accurately, any TS packets with this PID and with\0A PCR information will be transmitted with PID 0x1FFF, and\0A any other packets with this PID will be ignored).\0A The <pid> may not be 0, and should not be the PAT or PMT.\0A\0ANormally, the TS reading process remembers the last PCR, and also scans ahead\0Afor the next PCR. This allows it to calculate an accurate timestamp for each TS\0Apacket, at the cost of ignoring any packets before the first PCR, and also\0A(at least in the currrent implementation), ignoring any TS packets after the\0Alast PCR, and also at the cost of some extra copying of data.\0A\0AHowever, sometimes it is more appropriate to revert to the mechanism used by\0Aearlier versions of tsplay:\0A\0A -oldpace Switch off scanning ahead for the next PCR.\0A -pace-pcr1 v1 of the PCR scan code\0A -pace-pcr2-ts v2 of the PCR scan code - use 1st PCR PID found [default]\0A -pace-pcr2-pmt v2 of the PCR scan code - get PCR PID from PMT\0A\0Awhich attempts to predict an approximate PCR for each TS packet, based on an\0Ainitial speed (see '-bitrate'/'-byterate' in '-help tuning') and the PCRs found\0Aearlier in the data stream. This works reasonably well for streams with a\0Aconstant bitrate, but does not cope well if the bitrate varies greatly.\0A\0ANote that '-nopcrs' (see '-help tuning') also implies '-oldpace'.\0A\0AIn order to buffer PCRs, the first PCR must be found. Normally this is done\0Aby finding the first PAT/PMT, and reading the PCR PID from there. However,\0Asometimes it is useful to *tell* the program where to look for its first PCR:\0A\0A -forcepcr <pid> Specifies which PID to look for to find the first PCR.\0A\0ANote that after the first PCR is read, *all* TS packets are inspected for\0APCRs, irrespective of PID.\0A\00"
define void @print_help_ts() {
%1 = call i32 @print_msg(i8* getelementptr inbounds ([1978 x i8], [1978 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [1978 x i8] c"Transport Stream Switches:\0AThe following switches are only applicable if the input data is TS.\0A\0A -ignore <pid> Any TS packets with this PID will not be output\0A (more accurately, any TS packets with this PID and with\0A PCR information will be transmitted with PID 0x1FFF, and\0A any other packets with this PID will be ignored).\0A The <pid> may not be 0, and should not be the PAT or PMT.\0A\0ANormally, the TS reading process remembers the last PCR, and also scans ahead\0Afor the next PCR. This allows it to calculate an accurate timestamp for each TS\0Apacket, at the cost of ignoring any packets before the first PCR, and also\0A(at least in the currrent implementation), ignoring any TS packets after the\0Alast PCR, and also at the cost of some extra copying of data.\0A\0AHowever, sometimes it is more appropriate to revert to the mechanism used by\0Aearlier versions of tsplay:\0A\0A -oldpace Switch off scanning ahead for the next PCR.\0A -pace-pcr1 v1 of the PCR scan code\0A -pace-pcr2-ts v2 of the PCR scan code - use 1st PCR PID found [default]\0A -pace-pcr2-pmt v2 of the PCR scan code - get PCR PID from PMT\0A\0Awhich attempts to predict an approximate PCR for each TS packet, based on an\0Ainitial speed (see '-bitrate'/'-byterate' in '-help tuning') and the PCRs found\0Aearlier in the data stream. This works reasonably well for streams with a\0Aconstant bitrate, but does not cope well if the bitrate varies greatly.\0A\0ANote that '-nopcrs' (see '-help tuning') also implies '-oldpace'.\0A\0AIn order to buffer PCRs, the first PCR must be found. Normally this is done\0Aby finding the first PAT/PMT, and reading the PCR PID from there. However,\0Asometimes it is useful to *tell* the program where to look for its first PCR:\0A\0A -forcepcr <pid> Specifies which PID to look for to find the first PCR.\0A\0ANote that after the first PCR is read, *all* TS packets are inspected for\0APCRs, irrespective of PID.\0A\00"
define void @print_help_ts() {
%1 = tail call i32 @print_msg(i8* getelementptr inbounds ([1978 x i8], [1978 x i8]* @.str, i64 0, i64 0))
ret void
}