实例介绍
对于nvidia显卡的编解码开发的 demo,还有一种sample比较清楚的实现了nvidia编码解码的方法.可以编码,解码出H265,H264
【实例截图】
【核心代码】
4744300845369293467.zip
└── Video_Codec_SDK_8.1.24
├── deprecation_notices.txt
├── doc
│ ├── NVDEC_Application_Note.pdf
│ ├── NVDEC_VideoDecoder_API_ProgGuide.pdf
│ ├── NVENC_Application_Note.pdf
│ ├── NVENC_VideoEncoder_API_ProgGuide.pdf
│ └── Using_FFmpeg_with_NVIDIA_GPU_Hardware_Acceleration.pdf
├── LegacySamples
│ ├── common
│ │ ├── inc
│ │ │ ├── cudaModuleMgr.h
│ │ │ ├── drvapi_error_string.h
│ │ │ ├── dynlink_builtin_types.h
│ │ │ ├── dynlink_cuda_cuda.h
│ │ │ ├── dynlink_cudaD3D10.h
│ │ │ ├── dynlink_cudaD3D11.h
│ │ │ ├── dynlink_cudaD3D9.h
│ │ │ ├── dynlink_cuda_d3d.h
│ │ │ ├── dynlink_cuda_gl.h
│ │ │ ├── dynlink_cudaGL.h
│ │ │ ├── dynlink_cuda.h
│ │ │ ├── exception.h
│ │ │ ├── GL
│ │ │ │ ├── freeglut_ext.h
│ │ │ │ ├── freeglut.h
│ │ │ │ ├── freeglut_std.h
│ │ │ │ ├── glew.h
│ │ │ │ ├── glext.h
│ │ │ │ ├── gl.h
│ │ │ │ ├── glu.h
│ │ │ │ ├── glut.h
│ │ │ │ ├── glxew.h
│ │ │ │ ├── glxext.h
│ │ │ │ ├── glx.h
│ │ │ │ ├── wglew.h
│ │ │ │ └── wglext.h
│ │ │ ├── helper_cuda_drvapi.h
│ │ │ ├── helper_cuda.h
│ │ │ ├── helper_functions.h
│ │ │ ├── helper_string.h
│ │ │ ├── helper_timer.h
│ │ │ ├── nvCPUOPSys.h
│ │ │ ├── nvEncodeAPI.h
│ │ │ ├── nvFileIO.h
│ │ │ ├── NvHWEncoder.h
│ │ │ └── nvUtils.h
│ │ ├── kernels
│ │ │ ├── NV12ToARGB_drvapi.cu
│ │ │ └── ptx
│ │ │ ├── NV12ToARGB_drvapi_Win32.ptx
│ │ │ └── NV12ToARGB_drvapi_x64.ptx
│ │ ├── lib
│ │ │ ├── linux
│ │ │ │ ├── i686
│ │ │ │ │ └── libGLEW.a
│ │ │ │ └── x86_64
│ │ │ │ └── libGLEW.a
│ │ │ ├── Win32
│ │ │ │ ├── freeglutd.lib
│ │ │ │ ├── freeglut.lib
│ │ │ │ ├── freeglut_staticd.lib
│ │ │ │ ├── freeglut_static.lib
│ │ │ │ ├── glew32.lib
│ │ │ │ ├── glew32sd.lib
│ │ │ │ └── glew32s.lib
│ │ │ └── x64
│ │ │ ├── freeglut.lib
│ │ │ ├── freeglut_staticd.lib
│ │ │ ├── freeglut_static.lib
│ │ │ ├── glew32.lib
│ │ │ ├── glew32sd.lib
│ │ │ └── glew32s.lib
│ │ ├── src
│ │ │ ├── cudaModuleMgr.cpp
│ │ │ ├── dynlink_cuda.cpp
│ │ │ ├── dynlink_cudaD3D10.cpp
│ │ │ ├── dynlink_cudaD3D11.cpp
│ │ │ ├── dynlink_cudaD3D9.cpp
│ │ │ ├── dynlink_nvcuvid.cpp
│ │ │ └── NvHWEncoder.cpp
│ │ └── video
│ │ └── plush1_720p_10s.m2v
│ ├── Makefile
│ ├── NvEncoder
│ │ ├── Makefile
│ │ ├── NvEncoder_2010.sln
│ │ ├── NvEncoder_2010.vcxproj
│ │ ├── NvEncoder_2013.sln
│ │ ├── NvEncoder_2013.vcxproj
│ │ ├── NvEncoder.cpp
│ │ ├── NvEncoder.h
│ │ └── sampleHintFile.txt
│ ├── NvEncoderCudaInterop
│ │ ├── data
│ │ │ ├── preproc32_cuda.ptx
│ │ │ └── preproc64_cuda.ptx
│ │ ├── Makefile
│ │ ├── NvEncoderCudaInterop_2010.sln
│ │ ├── NvEncoderCudaInterop_2010.vcxproj
│ │ ├── NvEncoderCudaInterop_2013.sln
│ │ ├── NvEncoderCudaInterop_2013.vcxproj
│ │ ├── NvEncoderCudaInterop.cpp
│ │ ├── NvEncoderCudaInterop.h
│ │ └── preproc.cu
│ ├── NvEncoderD3DInterop
│ │ ├── NvEncoderD3DInterop_2010.sln
│ │ ├── NvEncoderD3DInterop_2010.vcxproj
│ │ ├── NvEncoderD3DInterop_2013.sln
│ │ ├── NvEncoderD3DInterop_2013.vcxproj
│ │ ├── NvEncoderD3DInterop.cpp
│ │ └── NvEncoderD3DInterop.h
│ ├── NvEncoderGLInterop
│ │ ├── Makefile
│ │ ├── NvEncoderGLInterop.cpp
│ │ └── NvEncoderGLInterop.h
│ ├── NvEncoderLowLatency
│ │ ├── data
│ │ │ ├── preproc32_lowlat.ptx
│ │ │ └── preproc64_lowlat.ptx
│ │ ├── IntraRefresh.txt
│ │ ├── Makefile
│ │ ├── NvEncoderCommandParser.cpp
│ │ ├── NvEncoderLowLatency_2010.sln
│ │ ├── NvEncoderLowLatency_2010.vcxproj
│ │ ├── NvEncoderLowLatency_2013.sln
│ │ ├── NvEncoderLowLatency_2013.vcxproj
│ │ ├── NvEncoderLowLatency.cpp
│ │ ├── NvEncoderLowLatency.h
│ │ ├── NvEncoderPreProcessor.cpp
│ │ ├── preproc.cu
│ │ ├── Reconfigure.txt
│ │ └── RefpicInvalidate.txt
│ ├── NvEncoderPerf
│ │ ├── Makefile
│ │ ├── NvEncoderPerf_2010.sln
│ │ ├── NvEncoderPerf_2010.vcxproj
│ │ ├── NvEncoderPerf_2013.sln
│ │ ├── NvEncoderPerf_2013.vcxproj
│ │ ├── NvEncoderPerf.cpp
│ │ └── NvEncoderPerf.h
│ ├── NVIDIA_Video_Codec_SDK_Samples_Guide.pdf
│ ├── Samples_vs2010.sln
│ └── Samples_vs2013.sln
├── LicenseAgreement.pdf
├── NOTICES.txt
├── ReadMe.txt
├── Release_notes.txt
└── Samples
├── AppDecode
│ ├── AppDec
│ │ ├── AppDec.cpp
│ │ ├── AppDec.vcxproj
│ │ ├── AppDec.vcxproj.filters
│ │ └── Makefile
│ ├── AppDecD3D
│ │ ├── AppDecD3D.cpp
│ │ ├── AppDecD3D.vcxproj
│ │ ├── AppDecD3D.vcxproj.filters
│ │ ├── FramePresenterD3D11.h
│ │ ├── FramePresenterD3D9.h
│ │ └── FramePresenterD3D.h
│ ├── AppDecGL
│ │ ├── AppDecGL.cpp
│ │ ├── AppDecGL.vcxproj
│ │ ├── AppDecGL.vcxproj.filters
│ │ ├── FramePresenterGL.h
│ │ └── Makefile
│ ├── AppDecImageProvider
│ │ ├── AppDecImageProvider.cpp
│ │ ├── AppDecImageProvider.vcxproj
│ │ ├── AppDecImageProvider.vcxproj.filters
│ │ └── Makefile
│ ├── AppDecLowLatency
│ │ ├── AppDecLowLatency.cpp
│ │ ├── AppDecLowLatency.vcxproj
│ │ ├── AppDecLowLatency.vcxproj.filters
│ │ └── Makefile
│ ├── AppDecMem
│ │ ├── AppDecMem.cpp
│ │ ├── AppDecMem.vcxproj
│ │ ├── AppDecMem.vcxproj.filters
│ │ └── Makefile
│ ├── AppDecMultiInput
│ │ ├── AppDecMultiInput.cpp
│ │ ├── AppDecMultiInput.vcxproj
│ │ ├── AppDecMultiInput.vcxproj.filters
│ │ ├── Image.cu
│ │ └── Makefile
│ ├── AppDecPerf
│ │ ├── AppDecPerf.cpp
│ │ ├── AppDecPerf.vcxproj
│ │ ├── AppDecPerf.vcxproj.filters
│ │ └── Makefile
│ └── Common
│ └── AppDecUtils.h
├── AppEncode
│ ├── AppEncCuda
│ │ ├── AppEncCuda.cpp
│ │ ├── AppEncCuda.vcxproj
│ │ ├── AppEncCuda.vcxproj.filters
│ │ └── Makefile
│ ├── AppEncD3D11
│ │ ├── AppEncD3D11.cpp
│ │ ├── AppEncD3D11.vcxproj
│ │ └── AppEncD3D11.vcxproj.filters
│ ├── AppEncD3D9
│ │ ├── AppEncD3D9.cpp
│ │ ├── AppEncD3D9.vcxproj
│ │ └── AppEncD3D9.vcxproj.filters
│ ├── AppEncDec
│ │ ├── AppEncDec.cpp
│ │ ├── AppEncDec.vcxproj
│ │ ├── AppEncDec.vcxproj.filters
│ │ └── Makefile
│ ├── AppEncGL
│ │ ├── AppEncGL.cpp
│ │ └── Makefile
│ ├── AppEncLowLatency
│ │ ├── AppEncLowLatency.cpp
│ │ ├── AppEncLowLatency.vcxproj
│ │ ├── AppEncLowLatency.vcxproj.filters
│ │ └── Makefile
│ ├── AppEncME
│ │ ├── AppEncME.cpp
│ │ ├── AppEncME.vcxproj
│ │ ├── AppEncME.vcxproj.filters
│ │ └── Makefile
│ ├── AppEncPerf
│ │ ├── AppEncPerf.cpp
│ │ ├── AppEncPerf.vcxproj
│ │ ├── AppEncPerf.vcxproj.filters
│ │ └── Makefile
│ ├── AppEncQual
│ │ ├── AppEncQual.cpp
│ │ ├── AppEncQual.vcxproj
│ │ ├── AppEncQual.vcxproj.filters
│ │ ├── Makefile
│ │ └── PSNR.h
│ └── Common
│ └── AppEncUtils.h
├── AppTranscode
│ ├── AppTrans
│ │ ├── AppTrans.cpp
│ │ ├── AppTrans.vcxproj
│ │ ├── AppTrans.vcxproj.filters
│ │ └── Makefile
│ ├── AppTransOneToN
│ │ ├── AppTransOneToN.cpp
│ │ ├── AppTransOneToN.vcxproj
│ │ ├── AppTransOneToN.vcxproj.filters
│ │ └── Makefile
│ └── AppTransPerf
│ ├── AppTransPerf.cpp
│ ├── AppTransPerf.vcxproj
│ ├── AppTransPerf.vcxproj.filters
│ └── Makefile
├── common.mk
├── External
│ ├── FFmpeg
│ │ ├── include
│ │ │ ├── libavcodec
│ │ │ │ ├── avcodec.h
│ │ │ │ └── version.h
│ │ │ ├── libavformat
│ │ │ │ ├── avformat.h
│ │ │ │ ├── avio.h
│ │ │ │ └── version.h
│ │ │ ├── libavutil
│ │ │ │ ├── attributes.h
│ │ │ │ ├── avconfig.h
│ │ │ │ ├── avutil.h
│ │ │ │ ├── buffer.h
│ │ │ │ ├── channel_layout.h
│ │ │ │ ├── common.h
│ │ │ │ ├── cpu.h
│ │ │ │ ├── dict.h
│ │ │ │ ├── error.h
│ │ │ │ ├── frame.h
│ │ │ │ ├── intfloat.h
│ │ │ │ ├── log.h
│ │ │ │ ├── macros.h
│ │ │ │ ├── mathematics.h
│ │ │ │ ├── mem.h
│ │ │ │ ├── opt.h
│ │ │ │ ├── pixfmt.h
│ │ │ │ ├── rational.h
│ │ │ │ ├── samplefmt.h
│ │ │ │ └── version.h
│ │ │ └── libswresample
│ │ │ ├── swresample.h
│ │ │ └── version.h
│ │ ├── lib
│ │ │ ├── Win32
│ │ │ │ ├── avcodec-57.dll
│ │ │ │ ├── avcodec.lib
│ │ │ │ ├── avformat-57.dll
│ │ │ │ ├── avformat.lib
│ │ │ │ ├── avutil-55.dll
│ │ │ │ ├── avutil.lib
│ │ │ │ ├── swresample-2.dll
│ │ │ │ └── swresample.lib
│ │ │ └── x64
│ │ │ ├── avcodec-57.dll
│ │ │ ├── avcodec.lib
│ │ │ ├── avformat-57.dll
│ │ │ ├── avformat.lib
│ │ │ ├── avutil-55.dll
│ │ │ ├── avutil.lib
│ │ │ ├── swresample-2.dll
│ │ │ └── swresample.lib
│ │ └── src
│ │ └── ffmpeg-3.4.1.zip
│ └── GL
│ ├── freeglut_ext.h
│ ├── freeglut.h
│ ├── freeglut_std.h
│ ├── glew.h
│ ├── glext.h
│ ├── gl.h
│ ├── glu.h
│ ├── glut.h
│ ├── glxew.h
│ ├── glxext.h
│ ├── glx.h
│ ├── lib
│ │ ├── Win32
│ │ │ ├── freeglutd.lib
│ │ │ ├── freeglut.lib
│ │ │ ├── freeglut_staticd.lib
│ │ │ ├── freeglut_static.lib
│ │ │ ├── glew32.lib
│ │ │ └── glew32s.lib
│ │ └── x64
│ │ ├── freeglutd.lib
│ │ ├── freeglut.lib
│ │ ├── freeglut_staticd.lib
│ │ ├── freeglut_static.lib
│ │ ├── glew32.lib
│ │ └── glew32s.lib
│ ├── wglew.h
│ └── wglext.h
├── Makefile
├── NvCodec
│ ├── Lib
│ │ ├── Win32
│ │ │ └── nvcuvid.lib
│ │ └── x64
│ │ └── nvcuvid.lib
│ ├── NvDecoder
│ │ ├── cuviddec.h
│ │ ├── nvcuvid.h
│ │ ├── NvDecoder.cpp
│ │ └── NvDecoder.h
│ └── NvEncoder
│ ├── nvEncodeAPI.h
│ ├── NvEncoder.cpp
│ ├── NvEncoderCuda.cpp
│ ├── NvEncoderCuda.h
│ ├── NvEncoderD3D11.cpp
│ ├── NvEncoderD3D11.h
│ ├── NvEncoderD3D9.cpp
│ ├── NvEncoderD3D9.h
│ ├── NvEncoderGL.cpp
│ ├── NvEncoderGL.h
│ └── NvEncoder.h
├── NvCodec.props
├── NvCodec.sln
└── Utils
├── BitDepth.cu
├── ColorSpace.cu
├── FFmpegDemuxer.h
├── FFmpegStreamer.h
├── Logger.h
├── NvCodecUtils.h
├── NvEncoderCLIOptions.h
└── Resize.cu
72 directories, 305 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论