⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bwmod.c

📁 视频601芯片的驱动源码,你可以完全掌控该芯片了,对于其它多媒体芯片的设计具有参考价值
💻 C
字号:
#include "bwmod.h"

#define BLOCK_LEVEL(B) (((B)+6)/9)

static float bw_scale [42] = {
  1.1f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
  1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
  1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
  1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
  1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
  1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
};

DLLEXPORT void bwm_modify (USHORT bw[], USHORT rbw[])
{
  int bn;
  for (bn=0; bn<NBLOCKS; bn++) 
    rbw[bn] = (USHORT)(((float) rbw[bn]) * bw_scale[bn] + 0.5f);
}

DLLEXPORT void bwm_init(void)
{
  int bn;
  for (bn=0; bn<NBLOCKS; bn++) {
    bw_scale[bn]     = 1.0f;
  }
}

DLLEXPORT void bwm_soft(int level)
{
  int bn;
  if (level > 0) {
    for (bn=0; bn<NBLOCKS; bn++) 
      if (BLOCK_LEVEL(bn) < level) {
	bw_scale[bn]     = 0.0f;
      }
  }
}

DLLEXPORT void bwm_edge (int level) 
{
  int bn;
  if (level > 0) {
    for (bn=0; bn<NBLOCKS; bn++) 
      if (BLOCK_LEVEL(bn) >= level) {
	bw_scale[bn]     = 0.0f;
      }
  }
}

DLLEXPORT void bwm_sharp (int level)
{
  int bn;
  if (level > 0) {
    for (bn=0; bn<NBLOCKS; bn++) 
      if (BLOCK_LEVEL(bn) < level) {
	bw_scale[bn]     *= 2.0f;
      }
  }
}

/* Just zero all colors */

DLLEXPORT void bwm_gray (void)
{
  int bn;
  for (bn=0; bn<NBLOCKS; bn++) {
    if (bn % 3 != 0) {
      bw_scale[bn] = 0.0f;
    }
  }
}

DLLEXPORT void bwm_blue (float scale)
{
  int bn;
  for (bn=1; bn<NBLOCKS; bn+=3)  {
    bw_scale[bn] *= scale;
  }
}

DLLEXPORT void bwm_red (float scale)
{
  int bn;
  for (bn=2; bn<NBLOCKS; bn+=3)
    bw_scale[bn] *= scale;
}

/* Scale 3 low frequences by 0.5, leave 2 leveles of sharpened edges
   and zero the rest */

DLLEXPORT void bwm_water_color (void)
{
  int bn;
  
  for (bn=0; bn<NBLOCKS; bn++) {
    bw_scale[bn]     = 0.0f;
  }
  for (bn=39; bn<42; bn++)
    bw_scale[bn]     = 0.5f;
  for (bn=0; bn<12; bn++)
    bw_scale[bn]     = 2.0f;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -