加载中…
个人资料
ternence_hsu
ternence_hsu
  • 博客等级:
  • 博客积分:0
  • 博客访问:2,702
  • 关注人气:0
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
访客
加载中…
好友
加载中…
评论
加载中…
留言
加载中…
博文
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2015-05-28 20:39)
标签:

3d

分类: 音频编解码

        目前,3D电影文件格式主要有AVI,MKV,TS,m3TS,ssif(蓝光3d)…等格式。不支持RMVB。

        目前市场上主流的3D播放格式有以下几种:

        左右式——通过专用软件把视频转换成左右分屏的播放状态,两边同时播放同样的内容,但是在播放平率上有细小的差异,通过这些差异来产生视频交错,使得观看者产生3D感。HTV EVO 3D手机使用的就是左右式裸眼3D原理。

        上下式——原理和左右式差不多,区别在于:如果是左右格式,播放成3D效果,电影的画面宽度不变,长度是原来的1/2。 如果是上下格式,播放成3D效果,电影的画面长度不变,宽度是原来的1/2。任天堂的游戏机3DS使用的就是上下式裸眼3D原理。

        红蓝式——红蓝就是指把画面转成红蓝两种颜色在通过红蓝眼镜来实现3D功能,这是最原始的技术,需要专门的投影设备才能实现。类似于很多电影院里播放的3D电影使用的就是这种技术,如果你在观看时取下眼镜时,你会看到屏幕上

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

linux

mem

mmap

分类: Linux

一、基础知识:

1. 设备文件:

mem是一个字符设备文件,是计算机主存的一个影象。通常只有root用户对其有读写权限。因此只有root用户能进行这些操作。

如果要打开设备文件/dev/mem,需要系统调用open()函数,作用是打开一个文件或设备,其函数原型为:

#include

#include

int open(const char *path, int flags);

open 函数定义在/usr/include/fcntl.h中;如果操作成功则返回一个文件描述符,否则返回-1;其中path是被打开文件的路径即文件名描述;flags是文件的访问模式描述,可常用的选项见下表:

flags的取值及其含义 flags 含义

O_RDONLY 只读方式

O_WRONLY 只写方式

O_RDWR 可读写方式

2.内存映像:

内存映像其实在内存中创建一个与外存中文件完全相同的映像。用户可以将整个文件映射到内存中,也可以将文件的一部分映射到内存中。使用操作内存的方法对文件进行操作。系统会将内存映像文件所做的改动反映到真实文件中去。

在内存映像I/O的实现过程中需要用到一些系统调用:

首先是创建内存映像文件的系统调用mmap()函数,其函数原型为:

#inc

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

linux

mem

分类: Linux内核驱动

使用 hexedit /dev/mem 可以显示所有物理内存中的信息。 运用mmap将/dev/mem map出来,然后直接对其读写可以实现用户空间的内核操作。

以下是一个sample​

#include

#include

#include

#include

#include

#include

int main()

{

unsigned char * map_base;

FILE *f;

int n, fd;

fd = open('/dev/mem', O_RDWR

O_SYNC);

if (fd == -1)

{

return (-1);

}

map_base = mmap(NULL, 0xff, PROT_READ

PROT_WRITE, MAP_SHARED, fd, 0x20000);

if (map_base == 0)

{

printf('NULL pointer!\n');

}

else

{

printf('Successfull!\n');

}

unsigned long addr;

unsigned char content;

int i = 0;

for (;i < 0xff; ++i)

{

addr = (unsigned long)(map_base + i);

content = map_base[i];

printf('address: 0x%lx content 0x%x\t\t', addr, (unsigned int)content);

 

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

iperf

linux

网络

分类: Linux

1、简介

    Iperf 是一个 TCP/IP  UDP/IP 的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。

2、网站(下载)

    http://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf-and-iperf3/

    http://downloads.es.net/pub/iperf/

  (下载地址)

    源码:iperf-3.0.11.tar.gz

3、移植和编译

    ubuntu上面编译x86平台程序:

    ./configure --prefix=install_dir

    ubuntu上面编译dm8168平台程序:

    ./configure --host=arm-none-linux-gnueabi --pre

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2015-03-13 10:14)
标签:

dm8168

qt

分类: 达芬奇系列DM81xx

1、下载源码:

    下载地址:ftp://ftp.qt-project.org/qt/source/

    下载 :qt-everywhere-opensource-src-4.6.3.tar.gz

2、交叉编译:

    添加交叉编译工具链

    在qt-everywhere-opensource-src-4.6.3/mkspecs/qws目录下面

    cp linux-arm-g++ linux-dm8168-g++ -arf

    修改linux-dm8168-g++中的qmake.conf文件中的编译链

    # modifications to g++.conf

QMAKE_CC                = arm-arago-linux-gnueabi-gcc

QMAKE_CXX               = arm-arago-linux-gnueabi-g++

QMAKE_LINK              = arm-arago-linux-gnueabi-g++

QMAKE_LINK_SHLIB        = arm-arago-linux-gnueabi-g++

# modifications to linux.conf

QMAKE_AR                = arm-arago-linux-gnueabi-ar cqs

QMAKE_

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 

参考:http://processors.wiki.ti.com/index.php/DM816X_C6A816X_AM389X_VPSS_Video_Driver_User_Guide_PSP_04.00.00.11

实现透明度,主要配置实现:

struct ti81xxfb_region_params  regp;

u8    alpha;

if (ioctl(fd, TIFB_GET_PARAMS, &regp) < 0) {

perror('TIFB_GET_PARAMS\n');

        close(fd);

exit(1);

}

regp.blendtype = TI81XXFB_BLENDING_GLOBAL;

regp.blendalpha = alpha;

if (ioctl(fd, TIFB_SET_PARAMS, &regp) < 0) {

    perror ('TIFB_SET_PARAMS.\n');

    close(fd);

    exit(1);

}

实现上面的功能,需要添加下面的头文件,可以参考内核中,和sdk中提供的代码

#define TIFB_IOW(num, dtype)  _IOW('N', num, dtype)

#define TIFB_IOR(num, dtype)  _IOR('N', num, dtype)

#define TIFB_IOWR(num, dtype) _IOWR('N', num, dtype)

#define TIFB_IO(num)

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

dm8168

spi

kernel

分类: 达芬奇系列DM81xx

1、在config文件中添加spi驱动支持

arch/arm/configs/ti8168_evm_defconfig中配置上CONFIG_SPI_SPIDEV=y

2、添加dev设备id号

arch/arm/mach-omap2/board-ti8168evm.c中的ti816x_spi_slave_info这个结构体中添加对应的驱动程序

在evm中

struct spi_board_info __initdata ti816x_spi_slave_info[] = {

        {

                .modalias       = 'm25p80',

                .platform_data  = &ti816x_spi_flash,

                .irq            = -1,

                .max_speed_hz   = 75000000,

                .bus_num  

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有