ffmpeg colorkey_options中的black对应的十六进制
2019独角兽企业重金招聘Python工程师标准>>>
libavfilter/vf_colorkey.c
typedef struct ColorkeyContext {const AVClass *class;/* color offsets rgba */int co[4];uint8_t colorkey_rgba[4];float similarity;float blend;
} ColorkeyContext;#define OFFSET(x) offsetof(ColorkeyContext, x)
#define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAMstatic const AVOption colorkey_options[] = {{ "color", "set the colorkey key color", OFFSET(colorkey_rgba), AV_OPT_TYPE_COLOR, { .str = "black" }, CHAR_MIN, CHAR_MAX, FLAGS },{ "similarity", "set the colorkey similarity value", OFFSET(similarity), AV_OPT_TYPE_FLOAT, { .dbl = 0.01 }, 0.01, 1.0, FLAGS },{ "blend", "set the colorkey key blend value", OFFSET(blend), AV_OPT_TYPE_FLOAT, { .dbl = 0.0 }, 0.0, 1.0, FLAGS },{ NULL }
};AVFILTER_DEFINE_CLASS(colorkey);AVFilter ff_vf_colorkey = {.name = "colorkey",.description = NULL_IF_CONFIG_SMALL("Turns a certain color into transparency. Operates on RGB colors."),.priv_size = sizeof(ColorkeyContext),.priv_class = &colorkey_class,.query_formats = query_formats,.inputs = colorkey_inputs,.outputs = colorkey_outputs,.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
};
libavutil/parseutils.c
typedef struct ColorEntry {const char *name; ///< a string representing the name of the coloruint8_t rgb_color[3]; ///< RGB values for the color
} ColorEntry;static const ColorEntry color_table[] = {{ "AliceBlue", { 0xF0, 0xF8, 0xFF } },{ "AntiqueWhite", { 0xFA, 0xEB, 0xD7 } },{ "Aqua", { 0x00, 0xFF, 0xFF } },{ "Aquamarine", { 0x7F, 0xFF, 0xD4 } },{ "Azure", { 0xF0, 0xFF, 0xFF } },{ "Beige", { 0xF5, 0xF5, 0xDC } },{ "Bisque", { 0xFF, 0xE4, 0xC4 } },{ "Black", { 0x00, 0x00, 0x00 } },{ "BlanchedAlmond", { 0xFF, 0xEB, 0xCD } },{ "Blue", { 0x00, 0x00, 0xFF } },{ "BlueViolet", { 0x8A, 0x2B, 0xE2 } },{ "Brown", { 0xA5, 0x2A, 0x2A } },{ "BurlyWood", { 0xDE, 0xB8, 0x87 } },{ "CadetBlue", { 0x5F, 0x9E, 0xA0 } },{ "Chartreuse", { 0x7F, 0xFF, 0x00 } },{ "Chocolate", { 0xD2, 0x69, 0x1E } },{ "Coral", { 0xFF, 0x7F, 0x50 } },{ "CornflowerBlue", { 0x64, 0x95, 0xED } },{ "Cornsilk", { 0xFF, 0xF8, 0xDC } },{ "Crimson", { 0xDC, 0x14, 0x3C } },{ "Cyan", { 0x00, 0xFF, 0xFF } },{ "DarkBlue", { 0x00, 0x00, 0x8B } },{ "DarkCyan", { 0x00, 0x8B, 0x8B } },{ "DarkGoldenRod", { 0xB8, 0x86, 0x0B } },{ "DarkGray", { 0xA9, 0xA9, 0xA9 } },{ "DarkGreen", { 0x00, 0x64, 0x00 } },{ "DarkKhaki", { 0xBD, 0xB7, 0x6B } },{ "DarkMagenta", { 0x8B, 0x00, 0x8B } },{ "DarkOliveGreen", { 0x55, 0x6B, 0x2F } },{ "Darkorange", { 0xFF, 0x8C, 0x00 } },{ "DarkOrchid", { 0x99, 0x32, 0xCC } },{ "DarkRed", { 0x8B, 0x00, 0x00 } },{ "DarkSalmon", { 0xE9, 0x96, 0x7A } },{ "DarkSeaGreen", { 0x8F, 0xBC, 0x8F } },{ "DarkSlateBlue", { 0x48, 0x3D, 0x8B } },{ "DarkSlateGray", { 0x2F, 0x4F, 0x4F } },{ "DarkTurquoise", { 0x00, 0xCE, 0xD1 } },{ "DarkViolet", { 0x94, 0x00, 0xD3 } },{ "DeepPink", { 0xFF, 0x14, 0x93 } },{ "DeepSkyBlue", { 0x00, 0xBF, 0xFF } },{ "DimGray", { 0x69, 0x69, 0x69 } },{ "DodgerBlue", { 0x1E, 0x90, 0xFF } },{ "FireBrick", { 0xB2, 0x22, 0x22 } },{ "FloralWhite", { 0xFF, 0xFA, 0xF0 } },{ "ForestGreen", { 0x22, 0x8B, 0x22 } },{ "Fuchsia", { 0xFF, 0x00, 0xFF } },{ "Gainsboro", { 0xDC, 0xDC, 0xDC } },{ "GhostWhite", { 0xF8, 0xF8, 0xFF } },{ "Gold", { 0xFF, 0xD7, 0x00 } },{ "GoldenRod", { 0xDA, 0xA5, 0x20 } },{ "Gray", { 0x80, 0x80, 0x80 } },{ "Green", { 0x00, 0x80, 0x00 } },{ "GreenYellow", { 0xAD, 0xFF, 0x2F } },{ "HoneyDew", { 0xF0, 0xFF, 0xF0 } },{ "HotPink", { 0xFF, 0x69, 0xB4 } },{ "IndianRed", { 0xCD, 0x5C, 0x5C } },{ "Indigo", { 0x4B, 0x00, 0x82 } },{ "Ivory", { 0xFF, 0xFF, 0xF0 } },{ "Khaki", { 0xF0, 0xE6, 0x8C } },{ "Lavender", { 0xE6, 0xE6, 0xFA } },{ "LavenderBlush", { 0xFF, 0xF0, 0xF5 } },{ "LawnGreen", { 0x7C, 0xFC, 0x00 } },{ "LemonChiffon", { 0xFF, 0xFA, 0xCD } },{ "LightBlue", { 0xAD, 0xD8, 0xE6 } },{ "LightCoral", { 0xF0, 0x80, 0x80 } },{ "LightCyan", { 0xE0, 0xFF, 0xFF } },{ "LightGoldenRodYellow", { 0xFA, 0xFA, 0xD2 } },{ "LightGreen", { 0x90, 0xEE, 0x90 } },{ "LightGrey", { 0xD3, 0xD3, 0xD3 } },{ "LightPink", { 0xFF, 0xB6, 0xC1 } },{ "LightSalmon", { 0xFF, 0xA0, 0x7A } },{ "LightSeaGreen", { 0x20, 0xB2, 0xAA } },{ "LightSkyBlue", { 0x87, 0xCE, 0xFA } },{ "LightSlateGray", { 0x77, 0x88, 0x99 } },{ "LightSteelBlue", { 0xB0, 0xC4, 0xDE } },{ "LightYellow", { 0xFF, 0xFF, 0xE0 } },{ "Lime", { 0x00, 0xFF, 0x00 } },{ "LimeGreen", { 0x32, 0xCD, 0x32 } },{ "Linen", { 0xFA, 0xF0, 0xE6 } },{ "Magenta", { 0xFF, 0x00, 0xFF } },{ "Maroon", { 0x80, 0x00, 0x00 } },{ "MediumAquaMarine", { 0x66, 0xCD, 0xAA } },{ "MediumBlue", { 0x00, 0x00, 0xCD } },{ "MediumOrchid", { 0xBA, 0x55, 0xD3 } },{ "MediumPurple", { 0x93, 0x70, 0xD8 } },{ "MediumSeaGreen", { 0x3C, 0xB3, 0x71 } },{ "MediumSlateBlue", { 0x7B, 0x68, 0xEE } },{ "MediumSpringGreen", { 0x00, 0xFA, 0x9A } },{ "MediumTurquoise", { 0x48, 0xD1, 0xCC } },{ "MediumVioletRed", { 0xC7, 0x15, 0x85 } },{ "MidnightBlue", { 0x19, 0x19, 0x70 } },{ "MintCream", { 0xF5, 0xFF, 0xFA } },{ "MistyRose", { 0xFF, 0xE4, 0xE1 } },{ "Moccasin", { 0xFF, 0xE4, 0xB5 } },{ "NavajoWhite", { 0xFF, 0xDE, 0xAD } },{ "Navy", { 0x00, 0x00, 0x80 } },{ "OldLace", { 0xFD, 0xF5, 0xE6 } },{ "Olive", { 0x80, 0x80, 0x00 } },{ "OliveDrab", { 0x6B, 0x8E, 0x23 } },{ "Orange", { 0xFF, 0xA5, 0x00 } },{ "OrangeRed", { 0xFF, 0x45, 0x00 } },{ "Orchid", { 0xDA, 0x70, 0xD6 } },{ "PaleGoldenRod", { 0xEE, 0xE8, 0xAA } },{ "PaleGreen", { 0x98, 0xFB, 0x98 } },{ "PaleTurquoise", { 0xAF, 0xEE, 0xEE } },{ "PaleVioletRed", { 0xD8, 0x70, 0x93 } },{ "PapayaWhip", { 0xFF, 0xEF, 0xD5 } },{ "PeachPuff", { 0xFF, 0xDA, 0xB9 } },{ "Peru", { 0xCD, 0x85, 0x3F } },{ "Pink", { 0xFF, 0xC0, 0xCB } },{ "Plum", { 0xDD, 0xA0, 0xDD } },{ "PowderBlue", { 0xB0, 0xE0, 0xE6 } },{ "Purple", { 0x80, 0x00, 0x80 } },{ "Red", { 0xFF, 0x00, 0x00 } },{ "RosyBrown", { 0xBC, 0x8F, 0x8F } },{ "RoyalBlue", { 0x41, 0x69, 0xE1 } },{ "SaddleBrown", { 0x8B, 0x45, 0x13 } },{ "Salmon", { 0xFA, 0x80, 0x72 } },{ "SandyBrown", { 0xF4, 0xA4, 0x60 } },{ "SeaGreen", { 0x2E, 0x8B, 0x57 } },{ "SeaShell", { 0xFF, 0xF5, 0xEE } },{ "Sienna", { 0xA0, 0x52, 0x2D } },{ "Silver", { 0xC0, 0xC0, 0xC0 } },{ "SkyBlue", { 0x87, 0xCE, 0xEB } },{ "SlateBlue", { 0x6A, 0x5A, 0xCD } },{ "SlateGray", { 0x70, 0x80, 0x90 } },{ "Snow", { 0xFF, 0xFA, 0xFA } },{ "SpringGreen", { 0x00, 0xFF, 0x7F } },{ "SteelBlue", { 0x46, 0x82, 0xB4 } },{ "Tan", { 0xD2, 0xB4, 0x8C } },{ "Teal", { 0x00, 0x80, 0x80 } },{ "Thistle", { 0xD8, 0xBF, 0xD8 } },{ "Tomato", { 0xFF, 0x63, 0x47 } },{ "Turquoise", { 0x40, 0xE0, 0xD0 } },{ "Violet", { 0xEE, 0x82, 0xEE } },{ "Wheat", { 0xF5, 0xDE, 0xB3 } },{ "White", { 0xFF, 0xFF, 0xFF } },{ "WhiteSmoke", { 0xF5, 0xF5, 0xF5 } },{ "Yellow", { 0xFF, 0xFF, 0x00 } },{ "YellowGreen", { 0x9A, 0xCD, 0x32 } },
};
其中AVOption在libavutil/opt.h定义
enum AVOptionType{AV_OPT_TYPE_FLAGS,AV_OPT_TYPE_INT,AV_OPT_TYPE_INT64,AV_OPT_TYPE_DOUBLE,AV_OPT_TYPE_FLOAT,AV_OPT_TYPE_STRING,AV_OPT_TYPE_RATIONAL,AV_OPT_TYPE_BINARY, ///< offset must point to a pointer immediately followed by an int for the lengthAV_OPT_TYPE_DICT,AV_OPT_TYPE_CONST = 128,AV_OPT_TYPE_IMAGE_SIZE = MKBETAG('S','I','Z','E'), ///< offset must point to two consecutive integersAV_OPT_TYPE_PIXEL_FMT = MKBETAG('P','F','M','T'),AV_OPT_TYPE_SAMPLE_FMT = MKBETAG('S','F','M','T'),AV_OPT_TYPE_VIDEO_RATE = MKBETAG('V','R','A','T'), ///< offset must point to AVRationalAV_OPT_TYPE_DURATION = MKBETAG('D','U','R',' '),AV_OPT_TYPE_COLOR = MKBETAG('C','O','L','R'),AV_OPT_TYPE_CHANNEL_LAYOUT = MKBETAG('C','H','L','A'),AV_OPT_TYPE_BOOL = MKBETAG('B','O','O','L'),
};/*** AVOption*/
typedef struct AVOption {const char *name;/*** short English help text* @todo What about other languages?*/const char *help;/*** The offset relative to the context structure where the option* value is stored. It should be 0 for named constants.*/int offset;enum AVOptionType type;/*** the default value for scalar options*/union {int64_t i64;double dbl;const char *str;/* TODO those are unused now */AVRational q;} default_val;double min; ///< minimum valid value for the optiondouble max; ///< maximum valid value for the optionint flags;
#define AV_OPT_FLAG_ENCODING_PARAM 1 ///< a generic parameter which can be set by the user for muxing or encoding
#define AV_OPT_FLAG_DECODING_PARAM 2 ///< a generic parameter which can be set by the user for demuxing or decoding
#if FF_API_OPT_TYPE_METADATA
#define AV_OPT_FLAG_METADATA 4 ///< some data extracted or inserted into the file like title, comment, ...
#endif
#define AV_OPT_FLAG_AUDIO_PARAM 8
#define AV_OPT_FLAG_VIDEO_PARAM 16
#define AV_OPT_FLAG_SUBTITLE_PARAM 32
/*** The option is inteded for exporting values to the caller.*/
#define AV_OPT_FLAG_EXPORT 64
/*** The option may not be set through the AVOptions API, only read.* This flag only makes sense when AV_OPT_FLAG_EXPORT is also set.*/
#define AV_OPT_FLAG_READONLY 128
#define AV_OPT_FLAG_FILTERING_PARAM (1<<16) ///< a generic parameter which can be set by the user for filtering
//FIXME think about enc-audio, ... style flags/*** The logical unit to which the option belongs. Non-constant* options and corresponding named constants share the same* unit. May be NULL.*/const char *unit;
} AVOption;
所以通过名称可以找到对应的十六进制数字。
转载于:https://my.oschina.net/u/2326611/blog/781848
ffmpeg colorkey_options中的black对应的十六进制相关推荐
- 8位十六进制转换32位十六进制_网络中的数制系统--二进制十六进制与十进制之间的相互转换...
网络中计算机的32位IPv4地址以二进制显示,也会以点分十进制显示.而IPv6的地址是128位,是由数字和A-F组成的十六进制系统.因此,了解并且学会在其三者之间相互转换是非常重要的,让我们能够更好的 ...
- ffmpeg重采样中swr_convert和swr_get_out_samples的用法
ffmpeg重采样中swr_convert和swr_get_out_samples的用法 在做mux的时候关于重采样可以用fifo,或者audiofifo做缓存处理,当做demux的时候关于重采样就可 ...
- python 十六进制转中文_Python列表中包含中文时输出十六进制转中文的小方法
现象:列表中的中文打印出来后显示为十六进制>>> lt=['大神','zhzhgo'] >>> print lt ['\xb4\xf3\xc9\xf1', 'zhz ...
- ffmpeg的中文文档
1. 概要 ffmpeg [global_options] {[input_file_options] -i INPUT_FILE} ... {[output_file_options] OUTPUT ...
- ffmpeg的中文文档(二)
为什么80%的码农都做不了架构师?>>> 好像这个文档不是很有用的样子,虽然很详细,但是常用的功能介绍也很少.看起来还不如弄个常用命令列表来得给力.不过已经弄完一半多了,索性弄 ...
- 计算机系统中常用的进制,计算机中常用 二进制 八进制 十进制 十六进制的特点...
计算机中常用的计数制 用若干数位(由数码表示)的组合去表示一个数,各个数位之间是什么关系,即逢"几"进位,这就是进 位计数制的问题.也就是数制问题.数制,即进位计数制,是人们利用数 ...
- FFmpeg视频解码中的YUV420P格式
参考文章 在做基于FFmpeg解码的视频播放时,需要涉及到帧数据存储的YUV与RGB格式,所以了解了一下,参考下述博文. https://blog.csdn.net/lanxiaziyi/articl ...
- Python中ASCII转十六进制、C中BCD转十进制、十六进制学习记录
ASCII.BCD转十六进制 ASCII转十六进制 转换规则 Python实现 BCD转十进制.十六进制 BCD码的优点 BCD码分类 各种BCD码的特点 转换规则 ASCII转十六进制 转换规则 A ...
- bash 将二进制转换为十进制_shell中二进制、十进制、十六进制等进制转换
Shell脚本中数值都是默认按照十进制处理的,除非这个数值做了特殊标记,如:以 0 开头就是 8 进制数,以0x 开头就是16 进制数. 1. 二进制.八进制.十六进制等转化为十进制 另外 BASE# ...
最新文章
- 2022-2028年中国半导体用环氧塑封料(EMC)行业市场全景调查及投资前景分析报告
- 中国首档程序员真人秀,20位选手找bug做模型,结果一开场主办方就惨遭攻击...
- 利用html的header下载文件
- 洛谷——P1781 宇宙总统
- 用unity制作能量护盾(2)
- Visual Studio 2019 创建第一个ASP.net web应用程序
- java验证码图片工具类_工具类:VerifyCode.java:图片验证码
- 在mac上用文本编辑器写java源代码
- 金蝶K3 各个表对应的名称
- 算法导论第四版更新了什么?
- Python贴吧邮箱爬虫
- 软件架构风格-数据流风格
- 星际争霸2的AI环境搭建
- Alice和Bob的故事---非对称加密
- 猫和老鼠手游的python代码_猫和老鼠手游猫鼠通用技巧讲解 赶紧进来好好向大佬们学习学习...
- 编程算法 - 大整数乘法
- python——pandas展示所有列
- 为什么我魅族m2显示无服务器,魅族m2升级刷机flyme4.0教程及注意事项.doc
- 简单BroadcastRecevier
- 初探使用iOS 7 Sprite Kit与Cocos2d开发游戏的对比(一家之言)