payload.h
上传用户:biaoge6808
上传日期:2007-08-15
资源大小:42k
文件大小:5k
源码类别:

多媒体

开发平台:

C/C++

  1. #ifdef __cplusplus
  2. extern "C" {
  3. #endif
  4. /*
  5. NOTICE:
  6. This document contains information that is proprietary to RADVISION LTD.
  7. No part of this publication may be reproduced in any form whatsoever without
  8. written prior approval by RADVISION LTD.
  9. RADVISION LTD. reserves the right to revise this publication and make changes
  10. without obligation to notify any person of such revisions or changes.
  11. */
  12. #ifndef __PAYLOAD_H
  13. #define __PAYLOAD_H
  14. typedef enum
  15. {
  16.     PCMU  =  0,
  17.     G7231 =  4,
  18.     PCMA  =  8,
  19.     G722  =  9,
  20.     G728  = 15,
  21.     G729  = 18,
  22.     H261  = 31,
  23.     H263  = 34
  24. } payload_e;
  25. /* == G.711 U-Law == */
  26. RVAPI
  27. INT32 RVCALLCONV rtpPCMUPack(
  28.         IN  void *      buf,
  29.         IN  INT32       len,
  30.         IN  rtpParam *  p,
  31.         IN  void     *  param);
  32. RVAPI
  33. INT32 RVCALLCONV rtpPCMUUnpack(
  34.         OUT  void *      buf,
  35.         IN   INT32       len,
  36.         OUT  rtpParam *  p,
  37.         OUT  void *      param);
  38. RVAPI
  39. INT32 RVCALLCONV rtpPCMUGetHeaderLength(void);
  40. /* == G.711 A-Law == */
  41. RVAPI
  42. INT32 RVCALLCONV rtpPCMAPack(
  43.         IN  void *      buf,
  44.         IN  INT32       len,
  45.         IN  rtpParam *  p,
  46.         IN  void     *  param);
  47. RVAPI
  48. INT32 RVCALLCONV rtpPCMAUnpack(
  49.         OUT  void *      buf,
  50.         IN   INT32       len,
  51.         OUT  rtpParam *  p,
  52.         OUT  void *      param);
  53. RVAPI
  54. INT32 RVCALLCONV rtpPCMAGetHeaderLength(void);
  55. /* == G.722 == */
  56. RVAPI
  57. INT32 RVCALLCONV rtpG722Pack(
  58.         IN  void *      buf,
  59.         IN  INT32       len,
  60.         IN  rtpParam *  p,
  61.         IN  void     *  param);
  62. RVAPI
  63. INT32 RVCALLCONV rtpG722Unpack(
  64.         OUT  void *      buf,
  65.         IN   INT32       len,
  66.         OUT  rtpParam *  p,
  67.         OUT  void *      param);
  68. RVAPI
  69. INT32 RVCALLCONV rtpG722GetHeaderLength(void);
  70. /* == G.728 == */
  71. RVAPI
  72. INT32 RVCALLCONV rtpG728Pack(
  73.         IN  void *      buf,
  74.         IN  INT32       len,
  75.         IN  rtpParam *  p,
  76.         IN  void     *  param);
  77. RVAPI
  78. INT32 RVCALLCONV rtpG728Unpack(
  79.         OUT  void *      buf,
  80.         IN   INT32       len,
  81.         OUT  rtpParam *  p,
  82.         OUT  void *      param);
  83. RVAPI
  84. INT32 RVCALLCONV rtpG728GetHeaderLength(void);
  85. /* == G.729 == */
  86. RVAPI
  87. INT32 RVCALLCONV rtpG729Pack(
  88.         IN  void *      buf,
  89.         IN  INT32       len,
  90.         IN  rtpParam *  p,
  91.         IN  void     *  param);
  92. RVAPI
  93. INT32 RVCALLCONV rtpG729Unpack(
  94.         OUT  void *      buf,
  95.         IN   INT32       len,
  96.         OUT  rtpParam *  p,
  97.         OUT  void *      param);
  98. RVAPI
  99. INT32 RVCALLCONV rtpG729GetHeaderLength(void);
  100. /* == G.723.1 == */
  101. RVAPI
  102. INT32 RVCALLCONV rtpG7231Pack(
  103.         IN  void *      buf,
  104.         IN  INT32       len,
  105.         IN  rtpParam *  p,
  106.         IN  void     *  param);
  107. RVAPI
  108. INT32 RVCALLCONV rtpG7231Unpack(
  109.         OUT  void *      buf,
  110.         IN   INT32       len,
  111.         OUT  rtpParam *  p,
  112.         OUT  void *      param);
  113. RVAPI
  114. INT32 RVCALLCONV rtpG7231GetHeaderLength(void);
  115. /* == H.261 == */
  116. typedef struct
  117. {
  118.     int sBit;
  119.     int eBit;
  120.     int i;
  121.     int v;
  122.     int gobN;
  123.     int mbaP;
  124.     int quant;
  125.     int hMvd;
  126.     int vMvd;
  127. } H261param;
  128. RVAPI
  129. INT32 RVCALLCONV rtpH261Pack(
  130.         IN  void *      buf,
  131.         IN  INT32       len,
  132.         IN  rtpParam *  p,
  133.         IN  void     *  param);
  134. RVAPI
  135. INT32 RVCALLCONV rtpH261Unpack(
  136.         OUT  void*buf,
  137.         IN   INT32       len,
  138.         OUT  rtpParam*p,
  139.         OUT  void *      param);
  140. RVAPI
  141. INT32 RVCALLCONV rtpH261GetHeaderLength(void);
  142. /* == H.263 == */
  143. typedef struct
  144. {
  145.     int f;
  146.     int p;
  147.     int sBit;
  148.     int eBit;
  149.     int src;
  150.     int i;
  151.     int a;
  152.     int s;
  153.     int dbq;
  154.     int trb;
  155.     int tr;
  156.     int gobN;
  157.     int mbaP;
  158.     int quant;
  159.     int hMv1;
  160.     int vMv1;
  161.     int hMv2;
  162.     int vMv2;
  163. } H263param;
  164. RVAPI
  165. INT32 RVCALLCONV rtpH263Pack(
  166.         IN  void *      buf,
  167.         IN  INT32       len,
  168.         IN  rtpParam *  p,
  169.         IN  void     *  param);
  170. RVAPI
  171. INT32 RVCALLCONV rtpH263Unpack(
  172.         OUT  void *      buf,
  173.         IN   INT32       len,
  174.         OUT  rtpParam *  p,
  175.         OUT  void *      param);
  176. RVAPI
  177. INT32 RVCALLCONV rtpH263GetHeaderLength(void);
  178. /* == H.263a == */
  179. typedef struct
  180. {
  181.     int f;
  182.     int p;
  183.     int sBit;
  184.     int eBit;
  185.     int src;
  186.     int i;
  187.     int u;
  188.     int a;
  189.     int s;
  190.     int dbq;
  191.     int trb;
  192.     int tr;
  193.     int gobN;
  194.     int mbaP;
  195.     int quant;
  196.     int hMv1;
  197.     int vMv1;
  198.     int hMv2;
  199.     int vMv2;
  200. } H263aparam;
  201. RVAPI
  202. INT32 RVCALLCONV rtpH263aPack(
  203.         IN  void *      buf,
  204.         IN  INT32       len,
  205.         IN  rtpParam *  p,
  206.         IN  void     *  param);
  207. RVAPI
  208. INT32 RVCALLCONV rtpH263aUnpack(
  209.         OUT  void *      buf,
  210.         IN   INT32       len,
  211.         OUT  rtpParam *  p,
  212.         OUT  void *      param);
  213. RVAPI
  214. INT32 RVCALLCONV rtpH263aGetHeaderLength(void);
  215. #endif  /* __PAYLOAD_H */
  216. #ifdef __cplusplus
  217. }
  218. #endif