// File: lukasz-wiecaszek[P]h264iframedecoder/main.cpp
// Function: h264iframedecoder_usage(char const*)
static inline void h264iframedecoder_usage(const char* progname)
{
    std::cout << "usage: " << progname << " [-r] [-t pid] [-a] [-o ofile] <filename>" << std::endl;
    std::cout << " options: " << std::endl;
    std::cout << "  -r --rtp                : Specifies that input h264 stream is additionally encapsulated by" << std::endl;
    std::cout << "                          : RTP Payload Format for H.264 Video (RFC 6184)." << std::endl;
    std::cout << "                          : When used together with -t, then set of ts packets is encapsulated by just one" << std::endl;
    std::cout << "                          : rtp fixed header (RFC 3550 A Transport Protocol for Real-Time Applications)." << std::endl;
    std::cout << std::endl;
    std::cout << "  -t pid --ts=pid         : Specifies that input h264 stream is encapsulated by ISO/IEC 13818-1 transport stream." << std::endl;
    std::cout << "                          : Then pid value shall specify ts packets carrying desired video stream." << std::endl;
    std::cout << std::endl;
    std::cout << "  -a --annex-b            : Specifies that input h264 stream is encapsulated by ISO/IEC 14496-10 Annex B." << std::endl;
    std::cout << "                          : When -t is used this option will be selected automatically." << std::endl;
    std::cout << std::endl;
    std::cout << "  -o ofile --output=ofile : When this option is provided, then selected h264 stream" << std::endl;
    std::cout << "                          : will additionally be stored in file depicted by ofile." << std::endl;
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
movq 0x2a684(%rip), %rdi     # 0x2dfc0
leaq 0x21259(%rip), %rsi     # 0x24b9c
callq 0x2140
movq %rax, %rdi
movq (%rsp), %rsi
callq 0x2140
movq %rax, %rdi
leaq 0x21246(%rip), %rsi     # 0x24ba4
callq 0x2140
movq %rax, %rdi
movq 0x2a63b(%rip), %rsi     # 0x2dfa8
callq 0x2180
movq 0x2a647(%rip), %rdi     # 0x2dfc0
leaq 0x2124e(%rip), %rsi     # 0x24bce
callq 0x2140
movq %rax, %rdi
movq 0x2a619(%rip), %rsi     # 0x2dfa8
callq 0x2180
movq 0x2a625(%rip), %rdi     # 0x2dfc0
leaq 0x21237(%rip), %rsi     # 0x24bd9
callq 0x2140
movq %rax, %rdi
movq 0x2a5f7(%rip), %rsi     # 0x2dfa8
callq 0x2180
movq 0x2a603(%rip), %rdi     # 0x2dfc0
leaq 0x21272(%rip), %rsi     # 0x24c36
callq 0x2140
movq %rax, %rdi
movq 0x2a5d5(%rip), %rsi     # 0x2dfa8
callq 0x2180
movq 0x2a5e1(%rip), %rdi     # 0x2dfc0
leaq 0x2129b(%rip), %rsi     # 0x24c81
callq 0x2140
movq %rax, %rdi
movq 0x2a5b3(%rip), %rsi     # 0x2dfa8
callq 0x2180
movq 0x2a5bf(%rip), %rdi     # 0x2dfc0
leaq 0x212e4(%rip), %rsi     # 0x24cec
callq 0x2140
movq %rax, %rdi
movq 0x2a591(%rip), %rsi     # 0x2dfa8
callq 0x2180
movq 0x2a59d(%rip), %rdi     # 0x2dfc0
movq 0x2a57e(%rip), %rsi     # 0x2dfa8
callq 0x2180
movq 0x2a58a(%rip), %rdi     # 0x2dfc0
leaq 0x21318(%rip), %rsi     # 0x24d55
callq 0x2140
movq %rax, %rdi
movq 0x2a55c(%rip), %rsi     # 0x2dfa8
callq 0x2180
movq 0x2a568(%rip), %rdi     # 0x2dfc0
leaq 0x21368(%rip), %rsi     # 0x24dc7
callq 0x2140
movq %rax, %rdi
movq 0x2a53a(%rip), %rsi     # 0x2dfa8
callq 0x2180
movq 0x2a546(%rip), %rdi     # 0x2dfc0
movq 0x2a527(%rip), %rsi     # 0x2dfa8
callq 0x2180
movq 0x2a533(%rip), %rdi     # 0x2dfc0
leaq 0x21396(%rip), %rsi     # 0x24e2a
callq 0x2140
movq %rax, %rdi
movq 0x2a505(%rip), %rsi     # 0x2dfa8
callq 0x2180
movq 0x2a511(%rip), %rdi     # 0x2dfc0
leaq 0x213de(%rip), %rsi     # 0x24e94
callq 0x2140
movq %rax, %rdi
movq 0x2a4e3(%rip), %rsi     # 0x2dfa8
callq 0x2180
movq 0x2a4ef(%rip), %rdi     # 0x2dfc0
movq 0x2a4d0(%rip), %rsi     # 0x2dfa8
callq 0x2180
movq 0x2a4dc(%rip), %rdi     # 0x2dfc0
leaq 0x21401(%rip), %rsi     # 0x24eec
callq 0x2140
movq %rax, %rdi
movq 0x2a4ae(%rip), %rsi     # 0x2dfa8
callq 0x2180
movq 0x2a4ba(%rip), %rdi     # 0x2dfc0
leaq 0x21433(%rip), %rsi     # 0x24f40
callq 0x2140
movq %rax, %rdi
movq 0x2a48c(%rip), %rsi     # 0x2dfa8
callq 0x2180
popq %rax
retq
nopw %cs:(%rax,%rax)