实例介绍
通过RTSP协议获取到视频帧数据,输入到h264解码模块中解码为yv12数据,通过D3D显示 vs2008 工程 选择RTSP源时 查看是什么分辨率 在stdafx.h 中修改宏定义
【实例截图】
【核心代码】
解码库_rtspsource
└── 解码库
├── D3D_YV12
│ ├── D3DVideoRender
│ │ ├── CommonFunctions.cpp
│ │ ├── CommonFunctions.h
│ │ ├── d3dfont.cpp
│ │ ├── d3dfont.h
│ │ ├── D3DManager.cpp
│ │ ├── D3DManager.h
│ │ ├── d3dutil.h
│ │ ├── D3DVideoRender.cpp
│ │ ├── D3DVideoRender.def
│ │ ├── D3DVideoRender.dll
│ │ ├── D3DVideoRender.exp
│ │ ├── D3DVideoRenderInterface.h
│ │ ├── D3DVideoRender.lib
│ │ ├── D3DVideoRender.sln
│ │ ├── D3DVideoRender.sln.old
│ │ ├── D3DVideoRender.suo
│ │ ├── D3DVideoRender.suo.old
│ │ ├── D3DVideoRender.vcproj
│ │ ├── D3DVideoRender.vcproj.8.00.old
│ │ ├── D3DVideoRender.vcproj.cwliu_pc.cwliu.user
│ │ ├── D3DVideoRender.vcproj.cwliu-PC.cwliu.user
│ │ ├── D3DVideoRender.vcproj.SINOWAVE-B96804.dengdp.user
│ │ ├── Debug
│ │ │ ├── BuildLog.htm
│ │ │ ├── D3DVideoRender.dll.embed.manifest
│ │ │ ├── D3DVideoRender.dll.intermediate.manifest
│ │ │ └── mt.dep
│ │ ├── debuginterface.h
│ │ ├── Display.h
│ │ ├── Display_NV12.h
│ │ ├── display_rgb24.h
│ │ ├── Display_RGB32.h
│ │ ├── Display_YUV420.h
│ │ ├── display_yuv422.h
│ │ ├── dxutil.h
│ │ ├── LogMessage.h
│ │ ├── LogMessage.rc
│ │ ├── MSG0052.bin
│ │ ├── mssccprj.scc
│ │ ├── Myd3dfont.cpp
│ │ ├── Myd3dfont.h
│ │ ├── mydebug.h
│ │ ├── ps_RGB24.h
│ │ ├── ps_YUV420.h
│ │ ├── ps_YUV422.h
│ │ ├── ReadMe.txt
│ │ ├── Release
│ │ │ ├── BuildLog.htm
│ │ │ ├── D3DVideoRender.dll.intermediate.manifest
│ │ │ └── mt.dep
│ │ ├── RenderFactory.h
│ │ ├── ShaderCode_RGB24.h
│ │ ├── ShaderCode_YUV420.h
│ │ ├── ShaderCode_YUV422.h
│ │ ├── shader_pixel.h
│ │ ├── shader_rgb24.h
│ │ ├── Shader_YUV420.h
│ │ ├── shader_yuv422.h
│ │ ├── stdafx.cpp
│ │ ├── stdafx.h
│ │ ├── UpgradeLog.XML
│ │ └── _UpgradeReport_Files
│ │ ├── UpgradeReport.css
│ │ ├── UpgradeReport_Minus.gif
│ │ ├── UpgradeReport_Plus.gif
│ │ └── UpgradeReport.xslt
│ ├── include
│ │ ├── comdecl.h
│ │ ├── D3D10effect.h
│ │ ├── D3D10.h
│ │ ├── d3d10misc.h
│ │ ├── d3d10sdklayers.h
│ │ ├── D3D10shader.h
│ │ ├── d3d8caps.h
│ │ ├── d3d8.h
│ │ ├── d3d8types.h
│ │ ├── d3d9caps.h
│ │ ├── d3d9.h
│ │ ├── d3d9types.h
│ │ ├── d3dcaps.h
│ │ ├── d3d.h
│ │ ├── d3drmdef.h
│ │ ├── d3drm.h
│ │ ├── d3drmobj.h
│ │ ├── d3drmwin.h
│ │ ├── d3dtypes.h
│ │ ├── d3dvec.inl
│ │ ├── d3dx10async.h
│ │ ├── D3DX10core.h
│ │ ├── D3DX10.h
│ │ ├── D3DX10math.h
│ │ ├── D3DX10math.inl
│ │ ├── D3DX10mesh.h
│ │ ├── D3DX10tex.h
│ │ ├── d3dx9anim.h
│ │ ├── d3dx9core.h
│ │ ├── d3dx9effect.h
│ │ ├── d3dx9.h
│ │ ├── d3dx9math.h
│ │ ├── d3dx9math.inl
│ │ ├── d3dx9mesh.h
│ │ ├── d3dx9shader.h
│ │ ├── d3dx9shape.h
│ │ ├── d3dx9tex.h
│ │ ├── d3dx9xof.h
│ │ ├── ddraw.h
│ │ ├── dinputd.h
│ │ ├── dinput.h
│ │ ├── dls1.h
│ │ ├── dls2.h
│ │ ├── dmdls.h
│ │ ├── dmerror.h
│ │ ├── dmksctrl.h
│ │ ├── dmplugin.h
│ │ ├── dmusbuff.h
│ │ ├── dmusicc.h
│ │ ├── dmusicf.h
│ │ ├── dmusici.h
│ │ ├── dmusics.h
│ │ ├── dpaddr.h
│ │ ├── dplay8.h
│ │ ├── dplay.h
│ │ ├── dplobby8.h
│ │ ├── dplobby.h
│ │ ├── dpnathlp.h
│ │ ├── dsconf.h
│ │ ├── dsetup.h
│ │ ├── dsound.h
│ │ ├── dvoice.h
│ │ ├── dvp.h
│ │ ├── dx7todx8.h
│ │ ├── dxdiag.h
│ │ ├── dxerr8.h
│ │ ├── dxerr9.h
│ │ ├── DxErr.h
│ │ ├── dxfile.h
│ │ ├── DXGI.h
│ │ ├── DXGIType.h
│ │ ├── dxsdkver.h
│ │ ├── dxtrans.h
│ │ ├── gameux.h
│ │ ├── multimon.h
│ │ ├── PIXPlugin.h
│ │ ├── rmxfguid.h
│ │ ├── rmxftmpl.h
│ │ ├── rpcsal.h
│ │ ├── strsafe.h
│ │ ├── X3DAudio.h
│ │ ├── xact2wb.h
│ │ ├── xact3d.h
│ │ ├── xact.h
│ │ └── XInput.h
│ ├── lib
│ │ ├── x64
│ │ │ ├── d3d10.lib
│ │ │ ├── d3d9.lib
│ │ │ ├── d3dx10d.lib
│ │ │ ├── d3dx10.lib
│ │ │ ├── d3dx9d_beta.lib
│ │ │ ├── d3dx9d.lib
│ │ │ ├── d3dx9.lib
│ │ │ ├── d3dxof.lib
│ │ │ ├── ddraw.lib
│ │ │ ├── dinput8.lib
│ │ │ ├── dinput.lib
│ │ │ ├── dplayx.lib
│ │ │ ├── dsound.lib
│ │ │ ├── DxErr8.lib
│ │ │ ├── DxErr9.lib
│ │ │ ├── DxErr.lib
│ │ │ ├── dxgi.lib
│ │ │ ├── dxguid.lib
│ │ │ ├── dxtrans.lib
│ │ │ ├── X3DAudio.lib
│ │ │ └── XInput.lib
│ │ └── x86
│ │ ├── d3d10.lib
│ │ ├── d3d8.lib
│ │ ├── d3d9.lib
│ │ ├── d3dx10d.lib
│ │ ├── d3dx10.lib
│ │ ├── d3dx9d_beta.lib
│ │ ├── d3dx9d.lib
│ │ ├── d3dx9.lib
│ │ ├── d3dxof.lib
│ │ ├── ddraw.lib
│ │ ├── dinput8.lib
│ │ ├── dinput.lib
│ │ ├── dplayx.lib
│ │ ├── dsetup.lib
│ │ ├── dsound.lib
│ │ ├── DxErr8.lib
│ │ ├── DxErr9.lib
│ │ ├── DxErr.lib
│ │ ├── dxgi.lib
│ │ ├── dxguid.lib
│ │ ├── dxtrans.lib
│ │ ├── X3DAudio.lib
│ │ └── XInput.lib
│ └── VR_Test
│ ├── UpgradeLog.XML
│ ├── _UpgradeReport_Files
│ │ ├── UpgradeReport.css
│ │ ├── UpgradeReport_Minus.gif
│ │ ├── UpgradeReport_Plus.gif
│ │ └── UpgradeReport.xslt
│ ├── VR_Test
│ │ ├── D3DVideoRenderInterface.h
│ │ ├── D3DVideoRender.lib
│ │ ├── Debug
│ │ │ ├── BuildLog.htm
│ │ │ ├── mt.dep
│ │ │ ├── VR_Test.exe.embed.manifest
│ │ │ └── VR_Test.exe.intermediate.manifest
│ │ ├── ReadMe.txt
│ │ ├── Release
│ │ │ ├── BuildLog.htm
│ │ │ ├── mt.dep
│ │ │ └── VR_Test.exe.intermediate.manifest
│ │ ├── res
│ │ │ ├── VR_Test.ico
│ │ │ └── VR_Test.rc2
│ │ ├── Resource.h
│ │ ├── stdafx.cpp
│ │ ├── stdafx.h
│ │ ├── VR_Test.cpp
│ │ ├── VR_TestDlg.cpp
│ │ ├── VR_TestDlg.h
│ │ ├── VR_Test.h
│ │ ├── VR_Test.rc
│ │ ├── VR_Test.vcproj
│ │ ├── VR_Test.vcproj.8.00.old
│ │ ├── VR_Test.vcproj.cwliu_pc.cwliu.user
│ │ ├── VR_Test.vcproj.cwliu-PC.cwliu.user
│ │ ├── VR_Test.vcproj.SINOWAVE-B96804.dengdp.user
│ │ ├── XvidDecoder.h
│ │ └── xvid.h
│ ├── VR_Test.exe
│ ├── VR_Test.sln
│ ├── VR_Test.sln.old
│ ├── VR_Test.suo
│ └── VR_Test.suo.old
├── dll
│ ├── D3DVideoRender.dll
│ ├── D3DVideoRender.exp
│ └── D3DVideoRender.lib
├── H264Decoder
│ ├── Debug
│ │ ├── avcodec-54.dll
│ │ ├── avdevice-54.dll
│ │ ├── avfilter-3.dll
│ │ ├── avformat-54.dll
│ │ ├── avutil-52.dll
│ │ ├── D3DVideoRender.dll
│ │ ├── D3DVideoRender.exp
│ │ ├── D3DVideoRender.lib
│ │ ├── d3dx9_31.dll
│ │ ├── H264Decoder.dll
│ │ ├── H264Decoder.exp
│ │ ├── H264Decoder.lib
│ │ ├── H264DecoderTest.exe
│ │ ├── postproc-52.dll
│ │ ├── RtspStream.dll
│ │ ├── RtspStream.lib
│ │ ├── swresample-0.dll
│ │ ├── swscale-2.dll
│ │ └── testhikout.264
│ ├── ffmpeg
│ │ ├── doc
│ │ │ ├── developer.html
│ │ │ ├── examples
│ │ │ │ ├── decoding_encoding.c
│ │ │ │ ├── demuxing.c
│ │ │ │ ├── filtering_audio.c
│ │ │ │ ├── filtering_video.c
│ │ │ │ ├── Makefile
│ │ │ │ ├── metadata.c
│ │ │ │ ├── muxing.c
│ │ │ │ ├── README
│ │ │ │ ├── resampling_audio.c
│ │ │ │ └── scaling_video.c
│ │ │ ├── faq.html
│ │ │ ├── fate.html
│ │ │ ├── ffmpeg-bitstream-filters.html
│ │ │ ├── ffmpeg-codecs.html
│ │ │ ├── ffmpeg-devices.html
│ │ │ ├── ffmpeg-filters.html
│ │ │ ├── ffmpeg-formats.html
│ │ │ ├── ffmpeg.html
│ │ │ ├── ffmpeg-protocols.html
│ │ │ ├── ffmpeg-resampler.html
│ │ │ ├── ffmpeg-scaler.html
│ │ │ ├── ffmpeg-utils.html
│ │ │ ├── ffplay.html
│ │ │ ├── ffprobe.html
│ │ │ ├── general.html
│ │ │ ├── git-howto.html
│ │ │ ├── libavcodec.html
│ │ │ ├── libavdevice.html
│ │ │ ├── libavfilter.html
│ │ │ ├── libavformat.html
│ │ │ ├── libavutil.html
│ │ │ ├── libswresample.html
│ │ │ ├── libswscale.html
│ │ │ ├── nut.html
│ │ │ └── platform.html
│ │ ├── include
│ │ │ ├── libavcodec
│ │ │ │ ├── avcodec.h
│ │ │ │ ├── avfft.h
│ │ │ │ ├── dxva2.h
│ │ │ │ ├── old_codec_ids.h
│ │ │ │ ├── vaapi.h
│ │ │ │ ├── vda.h
│ │ │ │ ├── vdpau.h
│ │ │ │ ├── version.h
│ │ │ │ └── xvmc.h
│ │ │ ├── libavdevice
│ │ │ │ ├── avdevice.h
│ │ │ │ └── version.h
│ │ │ ├── libavfilter
│ │ │ │ ├── asrc_abuffer.h
│ │ │ │ ├── avcodec.h
│ │ │ │ ├── avfiltergraph.h
│ │ │ │ ├── avfilter.h
│ │ │ │ ├── buffersink.h
│ │ │ │ ├── buffersrc.h
│ │ │ │ └── version.h
│ │ │ ├── libavformat
│ │ │ │ ├── avformat.h
│ │ │ │ ├── avio.h
│ │ │ │ └── version.h
│ │ │ ├── libavutil
│ │ │ │ ├── adler32.h
│ │ │ │ ├── aes.h
│ │ │ │ ├── attributes.h
│ │ │ │ ├── audioconvert.h
│ │ │ │ ├── audio_fifo.h
│ │ │ │ ├── avassert.h
│ │ │ │ ├── avconfig.h
│ │ │ │ ├── avstring.h
│ │ │ │ ├── avutil.h
│ │ │ │ ├── base64.h
│ │ │ │ ├── blowfish.h
│ │ │ │ ├── bprint.h
│ │ │ │ ├── bswap.h
│ │ │ │ ├── channel_layout.h
│ │ │ │ ├── common.h
│ │ │ │ ├── cpu.h
│ │ │ │ ├── crc.h
│ │ │ │ ├── dict.h
│ │ │ │ ├── error.h
│ │ │ │ ├── eval.h
│ │ │ │ ├── fifo.h
│ │ │ │ ├── file.h
│ │ │ │ ├── imgutils.h
│ │ │ │ ├── intfloat.h
│ │ │ │ ├── intfloat_readwrite.h
│ │ │ │ ├── intreadwrite.h
│ │ │ │ ├── lfg.h
│ │ │ │ ├── log.h
│ │ │ │ ├── lzo.h
│ │ │ │ ├── mathematics.h
│ │ │ │ ├── md5.h
│ │ │ │ ├── mem.h
│ │ │ │ ├── old_pix_fmts.h
│ │ │ │ ├── opt.h
│ │ │ │ ├── parseutils.h
│ │ │ │ ├── pixdesc.h
│ │ │ │ ├── pixfmt.h
│ │ │ │ ├── random_seed.h
│ │ │ │ ├── rational.h
│ │ │ │ ├── samplefmt.h
│ │ │ │ ├── sha.h
│ │ │ │ ├── timecode.h
│ │ │ │ ├── time.h
│ │ │ │ ├── timestamp.h
│ │ │ │ ├── version.h
│ │ │ │ └── xtea.h
│ │ │ ├── libpostproc
│ │ │ │ ├── postprocess.h
│ │ │ │ └── version.h
│ │ │ ├── libswresample
│ │ │ │ ├── swresample.h
│ │ │ │ └── version.h
│ │ │ ├── libswscale
│ │ │ │ ├── swscale.h
│ │ │ │ └── version.h
│ │ │ └── stdint.h
│ │ ├── lib
│ │ │ ├── avcodec-54.def
│ │ │ ├── avcodec.lib
│ │ │ ├── avdevice-54.def
│ │ │ ├── avdevice.lib
│ │ │ ├── avfilter-3.def
│ │ │ ├── avfilter.lib
│ │ │ ├── avformat-54.def
│ │ │ ├── avformat.lib
│ │ │ ├── avutil-52.def
│ │ │ ├── avutil.lib
│ │ │ ├── libavcodec.dll.a
│ │ │ ├── libavdevice.dll.a
│ │ │ ├── libavfilter.dll.a
│ │ │ ├── libavformat.dll.a
│ │ │ ├── libavutil.dll.a
│ │ │ ├── libpostproc.dll.a
│ │ │ ├── libswresample.dll.a
│ │ │ ├── libswscale.dll.a
│ │ │ ├── postproc-52.def
│ │ │ ├── postproc.lib
│ │ │ ├── swresample-0.def
│ │ │ ├── swresample.lib
│ │ │ ├── swscale-2.def
│ │ │ └── swscale.lib
│ │ ├── licenses
│ │ │ ├── bzip2.txt
│ │ │ ├── fontconfig.txt
│ │ │ ├── freetype.txt
│ │ │ ├── frei0r.txt
│ │ │ ├── gnutls.txt
│ │ │ ├── lame.txt
│ │ │ ├── libass.txt
│ │ │ ├── libbluray.txt
│ │ │ ├── libcaca.txt
│ │ │ ├── libgsm.txt
│ │ │ ├── libtheora.txt
│ │ │ ├── libvorbis.txt
│ │ │ ├── libvpx.txt
│ │ │ ├── opencore-amr.txt
│ │ │ ├── openjpeg.txt
│ │ │ ├── opus.txt
│ │ │ ├── rtmpdump.txt
│ │ │ ├── schroedinger.txt
│ │ │ ├── twolame.txt
│ │ │ ├── vo-aacenc.txt
│ │ │ ├── vo-amrwbenc.txt
│ │ │ ├── x264.txt
│ │ │ ├── xavs.txt
│ │ │ ├── xvid.txt
│ │ │ └── zlib.txt
│ │ └── README.txt
│ ├── H264Decoder
│ │ ├── Debug
│ │ │ ├── BuildLog.htm
│ │ │ ├── H264Decoder.dll.embed.manifest
│ │ │ ├── H264Decoder.dll.intermediate.manifest
│ │ │ └── mt.dep
│ │ ├── DecItem.cpp
│ │ ├── DecItem.h
│ │ ├── H264Decoder.cpp
│ │ ├── H264Decoder.def
│ │ ├── H264Decoder.h
│ │ ├── H264Decoder.rc
│ │ ├── H264Decoder.vcproj
│ │ ├── H264Decoder.vcproj.cwliu_pc.cwliu.user
│ │ ├── H264Decoder.vcproj.DELL-PC.DELL.user
│ │ ├── ReadMe.txt
│ │ ├── Release
│ │ │ ├── BuildLog.htm
│ │ │ ├── H264Decoder.dll.intermediate.manifest
│ │ │ └── mt.dep
│ │ ├── res
│ │ │ └── H264Decoder.rc2
│ │ ├── Resource.h
│ │ ├── RingBuffer.cpp
│ │ ├── RingBuffer.h
│ │ ├── stdafx.cpp
│ │ ├── stdafx.h
│ │ └── targetver.h
│ ├── H264Decoder.sln
│ ├── H264Decoder.suo
│ ├── H264DecoderTest
│ │ ├── Debug
│ │ │ ├── BuildLog.htm
│ │ │ ├── H264DecoderTest.exe.embed.manifest
│ │ │ ├── H264DecoderTest.exe.intermediate.manifest
│ │ │ └── mt.dep
│ │ ├── H264DecoderTest.cpp
│ │ ├── H264DecoderTestDlg.cpp
│ │ ├── H264DecoderTestDlg.h
│ │ ├── H264DecoderTest.h
│ │ ├── H264DecoderTest.rc
│ │ ├── H264DecoderTest.vcproj
│ │ ├── H264DecoderTest.vcproj.cwliu_pc.cwliu.user
│ │ ├── H264DecoderTest.vcproj.DELL-PC.DELL.user
│ │ ├── ReadMe.txt
│ │ ├── Release
│ │ │ ├── BuildLog.htm
│ │ │ ├── H264DecoderTest.exe.intermediate.manifest
│ │ │ └── mt.dep
│ │ ├── res
│ │ │ ├── H264DecoderTest.ico
│ │ │ └── H264DecoderTest.rc2
│ │ ├── resource.h
│ │ ├── stdafx.cpp
│ │ ├── stdafx.h
│ │ └── targetver.h
│ ├── include
│ │ ├── D3DVideoRenderInterface.h
│ │ ├── IH264Decoder.h
│ │ └── IRtspStream.h
│ └── release
│ ├── avcodec-54.dll
│ ├── avdevice-54.dll
│ ├── avfilter-3.dll
│ ├── avformat-54.dll
│ ├── avutil-52.dll
│ ├── D3DVideoRender.dll
│ ├── D3DVideoRender.exp
│ ├── D3DVideoRender.lib
│ ├── d3dx9_31.dll
│ ├── H264Decoder.dll
│ ├── H264Decoder.exp
│ ├── H264Decoder.lib
│ └── H264DecoderTest.exe
└── 清除临时文件.bat
43 directories, 476 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论