0

I'm building one part of H264 encoder. For testing system, I need to created input image for encoding. We have a programme for read image to RAM file format to use.

My question is how to create a RAW file: bitmap or tiff (I don't want to use compressed format link JPEG)? I googled and recognize alot of raw file type. So what type i should use and how to create? . I think i will use C/C++ or Matlab to create raw file.

P/S: my need format is : YUV ( or Y Cb Cr) 4:2:0 and 8 bit colour deepth

4

1 回答 1

1

最简单的原始格式只是代表像素的数字流。每种原始格式都可以与元数据相关联,例如:

  • 宽度、高度
  • 宽度/图像行(即 gstreamer 和 x-window 将每行对齐到 dword 边界)
  • 每像素位数
  • 字节格式/字节序(如果每像素 16 位或更多)
  • 图像通道数
  • 颜色系统 HSV、RGB、拜耳、YUV
  • 通道顺序,例如 RGBA、ABGR、GBR
  • 平面与打包(或 FOURCC 代码)

或者这个元数据可以只是一个内部规范......

我相信最简单的方法之一(当然是在陡峭的学习曲线之后:) 是使用例如 gstreamer,您可以在其中使用从相机、文件、预先存在的 jpeg 等读取数据的现有文件/流并传递那些原始在定义的管道内流。一个有用的元素是filesink,它可以简单地将一个或几个连续的原始数据帧写入您的文件系统。顺便说一句,gstreamer 基础设施可能有数百个转换器和过滤器。包括h264编码器...

我敢打赌,如果您只是转储内存,则该输出将已经符合某些FOURCC格式(gstreamer 也可以识别)。

于 2012-10-13T07:41:25.903 回答