资源简介
g28181的ps封装,vs2013项目,自己创建一个工程,然后把项目导进去就可以编译,适合学习之用,感谢远在他方的你们的帮助和无私奉献。用到ffmpeg2.6
代码片段和文件信息
typedef struct
{
uint8_t* start;
uint8_t* p;
uint8_t* end;
int bits_left;
} bs_t;
static inline bs_t* bs_init(bs_t* b uint8_t* buf size_t size)
{
b->start = buf;
b->p = buf;
b->end = buf + size;
b->bits_left = 8;
return b;
}
static inline bs_t* bs_new(uint8_t* buf size_t size)
{
bs_t* b = (bs_t*)malloc(sizeof(bs_t));
bs_init(b buf size);
return b;
}
static inline void bs_free(bs_t* b)
{
free(b);
}
static inline int bs_eof(bs_t* b) { if (b->p >= b->end) { return 1; } else { return 0; } }
static inline void bs_write_u1(bs_t* b uint32_t v)
{
b->bits_left--;
if (! bs_eof(b))
{
// FIXME this is slow but we must clear bit first
// is it better to memset(0) the whole buffer during bs_init() instead?
// if we don‘t do either we introduce pretty nasty bugs
(*(b->p)) &= ~(0x01 << b->bits_left);
(*(b->p)) |= ((v & 0x01) << b->bits_left);
}
if (b->bits_left == 0) { b->p ++; b->bits_left = 8; }
}
static inline void bs_write_u(bs_t* b int n uint32_t v)
{
int i;
for (i = 0; i < n; i++)
{
bs_write_u1(b (v >> ( n - i - 1 ))&0x01 );
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 20223488 2015-07-23 17:04 NG28181\avcodec-56.dll
文件 5873664 2015-07-23 17:04 NG28181\avformat-56.dll
文件 480256 2015-07-23 17:04 NG28181\avutil-54.dll
文件 1234 2015-08-19 08:28 NG28181\bit.c
文件 2727 2015-08-19 15:33 NG28181\gb28181_h264ps\bits_write.h
文件 1673 2015-08-20 09:27 NG28181\gb28181_h264ps\find_nal_unit.cpp
文件 3148 2015-08-19 20:16 NG28181\gb28181_h264ps\gb28181_make_pes_header.cpp
文件 2706 2015-08-19 16:13 NG28181\gb28181_h264ps\gb28181_make_pes_headerbak.cpp
文件 1821 2015-08-18 15:13 NG28181\gb28181_h264ps\gb28181_make_psm_header.cpp
文件 1978 2015-08-19 19:20 NG28181\gb28181_h264ps\gb28181_make_ps_header.cpp
文件 1252 2015-08-18 15:07 NG28181\gb28181_h264ps\gb28181_make_rtp_header.cpp
文件 1963 2015-08-18 15:13 NG28181\gb28181_h264ps\gb28181_make_sys_header.cpp
文件 4029 2015-08-20 15:31 NG28181\gb28181_h264ps\gb28181_packageH264forlocalfile.cpp
文件 2757 2015-08-19 11:07 NG28181\gb28181_h264ps\gb28181_send_rtp_pack.cpp
文件 2282 2015-08-19 14:18 NG28181\gb28181_h264ps\gb28181_streampackageForH264.cpp
文件 3560 2015-08-19 17:08 NG28181\gb28181_h264ps\packet.h
文件 1095 2015-06-16 09:51 NG28181\gb28181_h264ps\说明.txt
文件 4820180 2015-08-20 14:44 NG28181\h264ts.mp4
文件 181469 2015-07-23 17:04 NG28181\include\libavcodec\avcodec.h
文件 3111 2015-07-23 17:04 NG28181\include\libavcodec\avfft.h
文件 3998 2015-07-23 17:04 NG28181\include\libavcodec\dv_profile.h
文件 2358 2015-07-23 17:04 NG28181\include\libavcodec\dxva2.h
文件 10623 2015-07-23 17:04 NG28181\include\libavcodec\old_codec_ids.h
文件 1185 2015-07-23 17:04 NG28181\include\libavcodec\qsv.h
文件 4007 2015-07-23 17:04 NG28181\include\libavcodec\vaapi.h
文件 5437 2015-07-23 17:04 NG28181\include\libavcodec\vda.h
文件 7972 2015-07-23 17:04 NG28181\include\libavcodec\vdpau.h
文件 6543 2015-07-23 17:04 NG28181\include\libavcodec\version.h
文件 2356 2015-07-23 17:04 NG28181\include\libavcodec\vorbis_parser.h
文件 6062 2015-07-23 17:04 NG28181\include\libavcodec\xvmc.h
............此处省略116个文件信息
- 上一篇:fluent 电磁学
- 下一篇:随机信号分析课件及课后习题答案
评论
共有 条评论