c yuv422转yuv420p

思路:

yuv422 存储格式为 y   u   y    v   y  u   y   v 

                                y  u    y    v   y   u   y   v

yuv420p  存储最简单,先存所以的y,再存u,最后v

所以先把422所有的y存在一起,再提奇数行的u  ,偶数行舍弃。提完u后,再提v,v也是偶数行不提取。



#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <linux/videodev2.h> 
#include <string.h>
#include <sys/mman.h>
#include <linux/fb.h>
#include <math.h>
#define PI 3.1415926


#define  pic_width   640
#define  pic_heigth  480


#define filename  "/home/wjs/Pictures/my.yuv"
#define file_out  "/home/wjs/Pictures/"           //输出文件目录


int  main(void) {
	FILE *f=fopen(filename,"rb");

	unsigned char i[2*pic_heigth*pic_width]={};
	fread(i,2*pic_heigth*pic_width,1,f);
	
	unsigned char out[pic_heigth*pic_width*3/2]={};
	int t=0;
    for(int a=0;a<2*pic_heigth*pic_width;a=a+2){
		out[t]=i[a];
		t++;
	}
	for(int a=0;a<pic_heigth;a=a+2){
		for(int b=0;b<2*pic_width;b=b+4){
			out[t]=i[a*(2*pic_width)+1+b];
			t++;
		}
	}
	for(int a=0;a<pic_heigth;a=a+2){
		for(int b=0;b<2*pic_width;b=b+4){
			out[t]=i[a*(2*pic_width)+3+b];
			t++;
		}
	}
	chdir(file_out);
	FILE *o=fopen("640480.yuv","w+b");
	fwrite(out,pic_heigth*pic_width*3/2,1,o);
	fclose(o);
	
	return 0;
}

 

 

相关推荐

  1. c yuv422yuv420p

    2024-01-12 22:48:04       34 阅读
  2. Qt 中如何将图片转化为yuv420p

    2024-01-12 22:48:04       38 阅读
  3. c 生成16×16个像素点的rgb图片并转为yuv420P 格式

    2024-01-12 22:48:04       30 阅读
  4. 视频处理学习笔记1:YUYV422、NV12和h264

    2024-01-12 22:48:04       29 阅读
  5. 【CSS422】Programming Language Design

    2024-01-12 22:48:04       26 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-12 22:48:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-12 22:48:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-12 22:48:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-12 22:48:04       20 阅读

热门阅读

  1. 力扣2085.统计出现过一次的公共字符串

    2024-01-12 22:48:04       35 阅读
  2. Redis面试题10

    2024-01-12 22:48:04       33 阅读
  3. 解决大模型的幻觉问题:一种全新的视角

    2024-01-12 22:48:04       33 阅读
  4. 算法通关村第十二关-字符串基础题目

    2024-01-12 22:48:04       38 阅读