亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? rtp.c

?? 網(wǎng)絡(luò)MPEG4IP流媒體開(kāi)發(fā)源代碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/************************************************************************* COPYRIGHT AND WARRANTY INFORMATION** Copyright 2001, International Telecommunications Union, Geneva** DISCLAIMER OF WARRANTY** These software programs are available to the user without any* license fee or royalty on an "as is" basis. The ITU disclaims* any and all warranties, whether express, implied, or* statutory, including any implied warranties of merchantability* or of fitness for a particular purpose.  In no event shall the* contributor or the ITU be liable for any incidental, punitive, or* consequential damages of any kind whatsoever arising from the* use of these programs.** This disclaimer of warranty extends to the user of these programs* and user's customers, employees, agents, transferees, successors,* and assigns.** The ITU does not represent or warrant that the programs furnished* hereunder are free of infringement of any third-party patents.* Commercial implementations of ITU-T Recommendations, including* shareware, may be subject to royalty fees to patent holders.* Information regarding the ITU-T patent policy is available from* the ITU Web site at http://www.itu.int.** THIS IS NOT A GRANT OF PATENT RIGHTS - SEE THE ITU-T PATENT POLICY.*************************************************************************//*! ***************************************************************************** * * \file rtp.c * * \brief *    Functions to handle RTP headers and packets per RFC1889 and RTP NAL spec *    Functions support little endian systems only (Intel, not Motorola/Sparc) * * \date *    30 September 2001 * * \author *    Stephan Wenger   stewe@cs.tu-berlin.de *****************************************************************************/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include <memory.h>#include "rtp.h"#include "elements.h"#include "defines.h"#include "global.h"// A little trick to avoid those horrible #if TRACE all over the source code#if TRACE#define SYMTRACESTRING(s) strncpy(sym.tracestring,s,TRACESTRING_SIZE)#else#define SYMTRACESTRING(s) // to nothing#endifint CurrentRTPTimestamp = 0;      //! The RTP timestamp of the current packet,                                  //! incremented with all P and I framesint CurrentRTPSequenceNumber = 0; //! The RTP sequence number of the current packet                                  //! incremented by one for each sent packet/*! ***************************************************************************** * * \brief  *    ComposeRTPpacket composes the complete RTP packet using the various *    structure members of the RTPpacket_t structure * * \return *    0 in case of success *    negative error code in case of failure * * \para Parameters *    Caller is responsible to allocate enough memory for the generated packet *    in parameter->packet. Typically a malloc of 12+paylen bytes is sufficient * * \para Side effects *    none * * \para Other Notes *    Function contains assert() tests for debug purposes (consistency checks *    for RTP header fields * * \date *    30 Spetember 2001 * * \author *    Stephan Wenger   stewe@cs.tu-berlin.de *****************************************************************************/int ComposeRTPPacket (RTPpacket_t *p){  // Consistency checks through assert, only used for debug purposes  assert (p->v == 2);  assert (p->p == 0);  assert (p->x == 0);  assert (p->cc == 0);    // mixer designers need to change this one  assert (p->m == 0 || p->m == 1);  assert (p->pt < 128);  assert (p->seq < 65536);  assert (p->payload != NULL);  assert (p->paylen < 65536 - 40);  // 2**16 -40 for IP/UDP/RTP header  assert (p->packet != NULL);  // Compose RTP header, little endian  p->packet[0] = (   (p->v)                  |  (p->p << 2)                  |  (p->x << 3)                  |  (p->cc << 4) );  p->packet[1] = (   (p->m)                  |  (p->pt << 1) );  p->packet[2] = p->seq & 0xff;  p->packet[3] = (p->seq >> 8) & 0xff;  memcpy (&p->packet[4], &p->timestamp, 4);  // change to shifts for unified byte sex  memcpy (&p->packet[8], &p->ssrc, 4);// change to shifts for unified byte sex  // Copy payload   memcpy (&p->packet[12], p->payload, p->paylen);  p->packlen = p->paylen+12;  return 0;}/*! ***************************************************************************** * * \brief  *    WriteRTPPacket writes the supplied RTP packet to the output file * * \return *    0 in case of access *    <0 in case of write failure (typically fatal) * * \para Parameters *    p: the RTP packet to be written (after ComposeRTPPacket() ) *    f: output file * * \para Side effects *    none * * \date *    October 23, 2001 * * \author *    Stephan Wenger   stewe@cs.tu-berlin.de *****************************************************************************/int WriteRTPPacket (RTPpacket_t *p, FILE *f){  int intime = -1;  assert (f != NULL);  assert (p != NULL);  if (1 != fwrite (&p->packlen, 4, 1, f))    return -1;  if (1 != fwrite (&intime, 4, 1, f))    return -1;  if (1 != fwrite (p->packet, p->packlen, 1, f))    return -1;  return 0;}/*! ***************************************************************************** * * \brief  *    ComposeHeaderPacketPayload generates the payload for a header packet *    using the inp-> structure contents.  The header packet contains  *    definitions for a single parameter set 0, which is used for all  *    slices of the picture * * \return *    len of the genberated payload in bytes *    <0 in case of failure (typically fatal) * * \para Parameters *    p: the payload of the RTP packet to be written * * \para Side effects *    none * * \note *    This function should be revisited and checked in case of additional *    bit stream parameters that affect the picture header (or higher *    entitries).  Typical examples are more entropy coding schemes, other *    motion vector resolutiuon, and optional elements * * \date *    October 23, 2001 * * \author *    Stephan Wenger   stewe@cs.tu-berlin.de *****************************************************************************/int ComposeHeaderPacketPayload (byte *payload){  int slen=0;  int multpred;  assert (img->width%16 == 0);  assert (img->height%16 == 0);#ifdef _ADDITIONAL_REFERENCE_FRAME_  if (input->no_multpred <= 1 && input->add_ref_frame == 0)#else  if (input->no_multpred <= 1)#endif    multpred=FALSE;  else    multpred=TRUE;               // multiple reference frames in motion search    slen = snprintf (payload, MAXRTPPAYLOADLEN,              "a=H26L (0) MaxPicID %d\            \na=H26L (0) UseMultpred %d\            \na=H26L (0) BufCycle %d\            \na=H26L (0) PixAspectRatioX 1\            \na=H26L (0) PixAspectRatioY 1\            \na=H26L (0) DisplayWindowOffsetTop 0\            \na=H26L (0) DisplayWindowOffsetBottom 0\            \na=H26L (0) DisplayWindowOffsetRight 0\            \na=H26L (0) DisplayWindowOffsetLeft 0\            \na=H26L (0) XSizeMB %d\            \na=H26L (0) YSizeMB %d\            \na=H26L (0) EntropyCoding %s\            \na=H26L (0) MotionResolution %s\            \na=H26L (0) PartitioningType %s\            \na=H26L (0) IntraPredictionType %s\            \na=H26L (0) HRCParameters 0\            \            \na=H26L (-1) FramesToBeEncoded %d\            \na=H26L (-1) FrameSkip %d\            \na=H26L (-1) SequenceFileName %s\            %c%c",            256,            multpred==TRUE?1:0,            input->no_multpred,            input->img_width/16,            input->img_height/16,            input->symbol_mode==UVLC?"UVLC":"CABAC",            input->mv_res==0?"quater":"eigth",            input->partition_mode==0?"one":"three",            input->UseConstrainedIntraPred==0?"InterPredicted":"NotInterPredicted",            input->no_frames,            input->jumpd,            input->infile,            4,     // Unix Control D EOF symbol            26);  // MS-DOS/Windows Control Z EOF Symbol  return slen;}/*! ***************************************************************************** * * \brief  *    void RTPSequenceHeader (FILE *out) write the RTP Sequence header in the *       form of a header packet into the outfile.  It is assumed that the *       input-> structure is already filled (config file is parsed) * * \return *    length of sequence header * * \para Parameters *    out: fiel pointer of the output file * * \para Side effects *    header written, statistics are updated, RTP sequence number updated * * \para Note *    This function uses alloca() to reserve memry on the stack -- no freeing and *    no return value check necessary, error lead to stack overflows *

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级高清大全免费观看| 欧美日韩一级片在线观看| 一区二区三区在线免费| 日韩欧美一区二区视频| 成人毛片在线观看| 激情亚洲综合在线| 亚洲va韩国va欧美va| 日本一区二区三级电影在线观看| 欧美日韩一区国产| a级精品国产片在线观看| 国模大尺度一区二区三区| 亚洲一区二区视频在线观看| 国产精品人人做人人爽人人添| 欧美一区二区免费观在线| 久久久精品免费免费| 日韩午夜精品电影| 欧美三级日韩三级| 99精品一区二区三区| 国产91丝袜在线播放九色| 狂野欧美性猛交blacked| 亚洲五码中文字幕| 洋洋成人永久网站入口| 亚洲国产精品v| 久久久久久日产精品| 精品日韩在线观看| 欧美成人性福生活免费看| 欧美妇女性影城| 91黄色激情网站| 99re成人精品视频| 成人综合婷婷国产精品久久蜜臀| 久久草av在线| 美女脱光内衣内裤视频久久影院| 亚洲123区在线观看| 亚洲va欧美va人人爽| 亚洲制服丝袜在线| 一区二区三区精品在线观看| 久久久99久久精品欧美| 日韩久久免费av| 日韩视频在线永久播放| 日韩天堂在线观看| 日韩免费高清电影| 久久久综合视频| 久久青草国产手机看片福利盒子| 久久女同精品一区二区| 久久久国产午夜精品| 中文字幕免费一区| 国产精品久久久久久福利一牛影视| 国产精品久久毛片av大全日韩| 国产精品蜜臀av| 18成人在线观看| 亚洲一区二区三区视频在线播放| 亚洲一区二区三区在线| 午夜精彩视频在线观看不卡| 日韩高清不卡一区二区三区| 久久99久久久久| 国产一区二区三区最好精华液| 国产成人在线网站| 97精品超碰一区二区三区| 日本高清视频一区二区| 在线观看视频一区| 欧美一级视频精品观看| 久久久一区二区三区| 中文字幕在线一区| 亚洲一区二区三区视频在线 | 久88久久88久久久| 激情五月播播久久久精品| 国产成人激情av| 色国产综合视频| 亚洲午夜视频在线| 激情欧美一区二区| 99久久国产综合精品女不卡| 7777精品伊人久久久大香线蕉的| 精品国产a毛片| 亚洲欧洲日韩综合一区二区| 午夜免费久久看| 国内精品写真在线观看| 91麻豆福利精品推荐| 91麻豆精品久久久久蜜臀| 久久精品一区八戒影视| 亚洲一卡二卡三卡四卡无卡久久| 久国产精品韩国三级视频| 成人国产视频在线观看| 欧美三级三级三级爽爽爽| 2020国产成人综合网| 一区二区三区加勒比av| 国产一区二区三区在线观看免费视频| 99国产欧美另类久久久精品 | 精品视频资源站| xfplay精品久久| 一区二区三区免费网站| 久久国产尿小便嘘嘘| 日本道精品一区二区三区| 精品少妇一区二区三区在线播放 | 一区二区三区在线高清| 激情图区综合网| 欧美日韩激情一区二区| 国产偷国产偷精品高清尤物| 偷拍日韩校园综合在线| 国产a级毛片一区| 日韩写真欧美这视频| 亚洲激情图片一区| 国产精品亚洲а∨天堂免在线| 777午夜精品免费视频| 亚洲天堂a在线| 国产激情91久久精品导航| 91.成人天堂一区| 亚洲欧美日韩一区二区| 国产馆精品极品| 日韩你懂的在线播放| 亚洲超碰97人人做人人爱| 色综合一区二区| 中文字幕精品在线不卡| 国产麻豆精品theporn| 日韩一区二区影院| 亚洲成在人线免费| 色悠悠久久综合| 国产精品久久久爽爽爽麻豆色哟哟| 久久97超碰色| 日韩精品一区二区三区中文不卡| 亚洲电影激情视频网站| 91久久香蕉国产日韩欧美9色| 国产精品动漫网站| 懂色av中文字幕一区二区三区| 欧美成人女星排名| 久久国产剧场电影| 欧美一区二区三区视频在线观看| 亚洲成人资源在线| 亚洲狼人国产精品| 成人性生交大片免费看在线播放| 久久奇米777| 国产一区二区福利视频| 久久久久久99久久久精品网站| 精彩视频一区二区三区| 日韩欧美久久久| 久久91精品久久久久久秒播 | 一区二区三区中文字幕电影| 99免费精品在线观看| 自拍偷自拍亚洲精品播放| 成人午夜视频在线| 国产精品欧美久久久久一区二区| 成人av在线资源| 国产精品久久久久久久久晋中 | 亚洲男人的天堂在线观看| 不卡av在线网| 综合久久久久综合| 在线一区二区三区做爰视频网站| 一区二区三区在线视频观看| 欧美图区在线视频| 午夜精品福利在线| 日韩亚洲欧美一区| 国产精品一区不卡| 中文字幕在线播放不卡一区| 色哟哟国产精品免费观看| 亚洲va韩国va欧美va精品| 欧美一级xxx| 国产精品一区二区久久不卡| 国产欧美一区二区精品久导航| www.久久久久久久久| 洋洋av久久久久久久一区| 6080国产精品一区二区| 久久精品免费看| 国产片一区二区三区| 色综合久久天天综合网| 亚洲国产成人av好男人在线观看| 日韩一区二区中文字幕| 国产精品一区二区你懂的| 亚洲视频狠狠干| 欧美精三区欧美精三区| 国产伦精品一区二区三区视频青涩| 国产精品女主播av| 精品视频123区在线观看| 久色婷婷小香蕉久久| 国产精品久久久久久亚洲伦| 欧美唯美清纯偷拍| 久99久精品视频免费观看| 亚洲欧美视频在线观看| 日韩一区二区免费高清| 丁香啪啪综合成人亚洲小说| 亚洲妇女屁股眼交7| 国产亚洲精品aa| 欧美午夜精品一区二区蜜桃| 国产一区二区主播在线| 亚洲黄网站在线观看| 欧美一区二区三区在线观看| 成人黄色在线看| 久久成人精品无人区| 亚洲人一二三区| 精品国产污污免费网站入口 | 免费人成精品欧美精品| 欧美高清在线一区| 欧美一区二区三区四区视频| 中文字幕第一区二区| 欧美日韩aaaaa| 成人免费的视频| 九九国产精品视频| 亚洲午夜av在线| 日韩一区在线免费观看| 欧美xfplay| 欧美剧情电影在线观看完整版免费励志电影| 国产乱子轮精品视频|