- 博客(26)
- 资源 (24)
- 收藏
- 关注
原创 编译ffmpeg 'XXXX' follows non-static declaration错误解决办法
更新最新版不ffmpeg代码之后,在mingw下编译总是会莫名其妙出现一下的错误[html] view plaincopy../libavutil/libm.h:62: error: static declaration of 'lrint' follows non-static declaration ../libavutil/libm.h:
2014-11-30 17:57:30 4308
原创 DirectX 3D学习笔记
DirectX 3D学习笔记(一)Ⅰ、渲染状态设备的渲染状态控制Direct3D设备的光栅化组件的行为。通过改变光栅渲染状态属性,可以设置使用何种方式来进行渲染着色,以及如何进行雾化等。在Direct3D中我们可以通过IDirect3DDevice9::SetRenderState()函数来设置渲染状态。HRESULT SetRenderState(D3DRENDERSTATE
2014-11-28 00:36:21 891
原创 IGraphBuilder
//// CHDPlayerCore.h//// Written by Leezhm, 3rd Feb, 2010// Contact : Leezhm@luxoom.cn// Last Modified by Leezhm, 3rd Feb, 2010//#ifndef __CHDPlayerCore_h__#define __CHDPlayerCore_
2014-11-28 00:32:30 1938
原创 开发Filter
一、开发Filter 1. 生成GUID // {C26EA242-43E4-4326-9304-1CB6ECD29B25} DEFINE_GUID(CLSID_GrayFilter, 0xc26ea242, 0x43e4, 0x4326, 0x93, 0x4, 0x1c, 0xb6, 0xec, 0xd2, 0x9b, 0x25)
2014-11-27 15:40:12 636
原创 创建一个filter实例
1、选择所要创建的filter的用途,据此来选择基类。基类可以从CTransformFilter、CTransInPlaceFilter、CVideoTransformFilter和CBaseFilter中来选取。(1) CTransInPlaceFilter提供了本地处理Sample的机制(Sample可以认为是存储一个视频帧的结构),当一个trans-in-place filter收到一个
2014-11-27 15:17:33 1261
原创 x264参数中文详解
解释x264命令可选项的用途和使用方法。同执行 x264 --fullhelp 显示顺序。本文主要翻译:mewiki.project357.com/wiki/X264_Settings,同时参考doom9 论坛、Silky Bible、以及其它互联网资料加以注解。词汇翻译:macroblock:宏区块。是一种图像压缩的术语。宏区块是运动预测的基本单位,一张完整的图像(frame)通
2014-11-24 15:06:46 2399
原创 ffmpeg 抗锯齿
ffmpeg 用x264视频编码,视频画面会出现锯齿(或者叫拉丝),下面两张图对比一下效果:(图:未设置反交错)(图:设置反交错)导致此效果的原因是x264本身不能很好的进行反交错处理,尤其是在要缩放原始视频的时候(比如说用1080i压制720p)。下面说明如何设置ffmpeg参数来避免画面出现锯齿:方法一:设置ffmpeg参数 -deinterlace即可
2014-11-24 14:37:25 5607
原创 slice
slice模式下一个完整的NALU需要判断每一个slice包得第5个字节与上0x80是否等于80.第一个包 00 00 00 01 65 9A第二个包 00 00 00 01 65 00 第三个包 00 00 00 01 65 01 第四个包 00 00 00 01 65 01 第五个包 00 00 00 01 41 9A 那么需要做判断,第一个9A&0x80等于0x8
2014-11-21 09:34:56 647
原创 opencl build机器码程序
在前一篇介绍 program 等术语时,提到创建 program 对象有两种方式:clCreateProgramWithSource 和 clCreateProgramWithBinary。区别仅在于 opencl 程序在用户面前的展现形式,前者是源代码形式,后者是二进制形式。二进制形式的数据格式是不透明的,不同的实现可以有不同的标准。使用二进制形式的好处有二:一是由于二进制码已经经过编译(部
2014-11-11 17:11:16 702
原创 Opencl基本术语二
在上一篇术语解释中,我们了解了 platform,device 以及 context 的定义和一些相关的使用介绍。本篇将继续介绍一些术语,包括 program、kernel 和 buffer。programkernel总结programprogram 的意思相信大家都懂的,毕竟我们自己就是一名苦逼的 programmer。顾名思义,program 代表的是一个程序对象,
2014-11-11 17:09:05 854
原创 Opencl基本术语
在做 OpenCL 编程时,会先做很多环境设定。上一篇的示例程序中,出现了诸如 platform,context,device,kernel,buffer 等等术语。这些对于以前做过图形编程的开发人员来说,见之会心一笑。而对其他人来说则莫名其妙。所以,这篇文章来详细讲解一下这些术语。当然,不足之处在所难免,一切以 OpenCL Specification为准。platformdevic
2014-11-11 17:06:52 942
原创 opencl
下面我们通过一个具体的示例程序来说明这些步骤。使用 OpenCL API 编程与一般 C/C++ 引入第三方库编程没什么区别。所以,首先要做的自然是 include 相关的头文件。由于在 MacOS X 10.6下OpenCL的头文件命名与其他系统不同,通常使用一个#if defined进行区分,代码如下:#if defined(__APPLE__) || defined(__MA
2014-11-11 17:04:14 1897
原创 Opencl 第一节
int main(int argc,char **argv) { //platform details cl_uint devicecount=NULL; cl_uint NumPlatforms; clGetPlatformIDs (0,NULL, &NumPl
2014-11-11 16:49:25 684
原创 Media SDK
typedef struct _mfxInfoVPP {mfxU32 reserved[8];mfxFrameInfo In;mfxFrameInfo Out;} mfxInfoVPP;
2014-11-04 15:35:21 1435 1
原创 HEVC解码中的SPS解析
一段HEVC码流可能包含一个或者多个编码视频序列CVS,每个CVS由一个随机接入点开始,即IDR/BLA/CRA。在H.264和HEVC中,序列参数集SPS包含该CVS中所有slice需要的信息。SPS的内容大致可以分为几个部分:1、自引ID;2、解码相关信息,如档次级别、分辨率、子层数等;3、某档次中的功能开关标识及该功能的参数;4、对结构和变换系数编码灵活性的限制信息;5、时域可分级信息;6、
2014-11-04 11:06:14 2269
原创 HEVC中的PPS解析
HEVC的图像参数集PPS包含每一帧可能不同的设置信息,其内容同H.264中的大致类似,主要包括:1、自引信息;2、初始图像控制信息,如初始QP等;3、分块信息。在解码开始的时候,所有的PPS全部是非活动状态,而且在解码的任意时刻,最多只能有一个PPS处于激活状态。当某部分码流引用了某个PPS的时候,这个PPS便被激活,称为活动PPS,一直到另一个PPS被激活。1、 pps_p
2014-11-04 11:05:35 954
原创 HEVC中的图像的分块分割方法
1、条带与区块在HEVC的视频编解码过程中,一帧图像会被分割成条带(slice),条带片段(slice segment)和区块(tiles)进行处理。条带和区块都是可采取的独立分割形式之一。而条带则是由条带片段组成的元素,包括独立条带元素和依赖性条带元素两类。上图即为一帧图像分割成条带的示意图。在该图中,该帧图像被分割成两个条带,其中第一个条带包含一个独立条带片段(
2014-11-04 11:04:43 1662
原创 HEVC的条带头解析
一个条带由整数个coding tree units组成的编码视频流的结构,包含一个非依赖性条带元素和0到多个依赖性条带元素。若当前某个条带元素属于非依赖性条带元素,或者是按照解码顺序在当前的依赖性条带元素之前的第一个非依赖性条带元素的slice element header被称作当前条带的条带头。另一方面,条带元素头中的数据应用于该条带元素中的第一个或者所有的coding tree units
2014-11-04 11:02:30 859
原创 HEVC及其RPS
GOP in HEVCsoftware-manual.pdf in HM-10.0, p2定义了视频序列中重复出现的GOP帧结构。在配置文件的的Coding Structure部分,定义了I帧结构,DecodingRefreshType和GOPSize;此外还有GOP种每一帧的参数设置,列表中按照GOP in HEVCsoftware-manual.pdf in HM-10.0
2014-11-04 10:59:13 2537
原创 Real-time End-to-End H.265/HEVC Solution for Intel® Architecture-based Platforms
Contents1. Abstract2. Introduction 2.1 Video Codec and H.265/HEVC 2.2 HEVC Performance Issues 2.3 The Current Solution of H.265/HEVC Investigation3. Optimized Real-time Solu
2014-11-04 10:34:04 2368
原创 mingw编译ffmpeg+x265过程记录
1.相关资源下载Ffmpeg-2.3 http://ffmpeg.org/releases/ffmpeg-2.3.3.tar.bz2X265-1.3下载 https://bitbucket.org/multicoreware/x265/wiki/Homehttp://ffmpeg.zeranoe.com/builds/source/external_lib
2014-11-03 10:33:29 1024
原创 [H265/HEVC]开源项目
1.X265个是有两个版本,一个是国内人搞的,是国外公司搞的1.国外公司版本只是一个编码器,目前没有支持解码开发语言 c++web url: www.x265.orgsource url: https://bitbucket.org/multicoreware/x265x265 is an open-source project and fr
2014-11-03 10:29:09 2090
原创 x265API
x265_build_info_strx265_cleanupx265_encoder_closex265_encoder_encodex265_encoder_get_statsx265_encoder_headersx265_encoder_logx265_encoder_open_15x265_max_bit_depthx265_param_alloc
2014-11-01 14:41:06 1216
原创 H264Tyuv
/* * toyuv.h * Save video frames to yuv * Author: elesos.com */ #ifndef TOYUV_H_#define TOYUV_H_ #include #include #include #include /** * Save video frames to yuv. * * @param szI
2014-11-01 14:11:44 1083
原创 x265
#include#include#include#include#pragma comment(lib,"libx265.lib")int main(){FILE*f_src=NULL;FILE*f_des=NULL;const char*filename_src="akiyo.yuv";const char*filename_des="akiyo.265"; int widt
2014-11-01 13:53:43 1388
原创 AVRationa
FFMPEG的很多结构中有AVRational time_base;这样的一个成员,它是AVRational结构的typedef struct AVRational{ int num; /// int den; ///} AVRational;AVRational这个结构标识一个分数,num为分数,den为分母。 实际上time_base的意思就是时间的刻度
2014-11-01 10:49:19 672
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人