前言Android 使用 MediaCodec 解码 h264 数据后会有个数据对齐的问题。简单说就是 MediaCodec 使用 GPU 进行解码,而解码后的输出数据是有一个对齐规则的,不同设备表现不一,如宽高都是 16 位对齐,或 32 位、64 位、128 位,当然也可能出现类似宽度以 128 位对齐而高度是 32 位对齐的情况。例子简单起见先画个 16 位对齐的: 假设需要解码的图像宽高
使用libyuv对YUV数据进行缩放、裁剪等操作
背景为了局部录制手机屏幕画面,可以通过MediaProjection获取整个手机屏幕的画面,但是要如何截取指定区域的画面,并录制成视频呢?YUV数据格式由于视频编码要求的数据通常是YUV。因此需要将MediaProjection获取的画面数据转换成YUV格式的数据。首先我们来了解YUV数据有哪些格式?YUV格式有两大类:planar和packed。
转载
2023-07-28 10:42:38
205阅读
# Android Libyuv: 图像处理的利器
 是一种用于在 Java 中调用 C/C++ 代码的框架。而 libyuv 是一个流行的图像处理库,可以用于视频和图像的格式转换。在本篇文章中,我将引导你怎样在 Android 项目中实现 JNI 和 libyuv的结合。
## 整体流程
以下是我们将要执行的步骤:
原创
2024-09-01 04:34:17
101阅读
如何在Android上编译libyuv库
作为一名经验丰富的开发者,我将向你介绍如何在Android上编译libyuv库。libyuv是一个非常强大的库,它提供了一系列用于视频图像处理的功能。下面是整个过程的步骤:
| 步骤 | 说明 |
| --- | --- |
| 步骤一 | 下载libyuv源代码 |
| 步骤二 | 创建一个Android项目 |
| 步骤三 | 设置libyuv的编
原创
2024-01-25 06:05:05
232阅读
libyuv is an open source project that includes YUV scaling and conversion functionality. Scale YUV to prepare content for compression, with point, bil
转载
2016-09-30 18:06:00
615阅读
2评论
# LibYUV在Android中的使用
## 引言
LibYUV是一个开源库,专为处理和转换YUV视频格式而设计。它在视频编码、解码和处理流程中非常有用,尤其是在需要高性能和低延迟的移动平台上。本文将介绍如何在Android项目中使用LibYUV,包括安装、基本用法以及代码示例。
## LibYUV简介
LibYUV支持多种YUV格式,包括`YUV420`, `YUV422`, `YUV
# Android Studio中集成libyuv库的指南
作为一名经验丰富的开发者,我将指导你如何在Android Studio中集成libyuv库。libyuv是一个开源库,用于在不同图像格式之间进行转换。以下是整个流程的步骤,以及每一步需要执行的操作和代码。
## 步骤流程
以下是集成libyuv的步骤流程表:
| 步骤 | 描述 |
| --- | --- |
| 1 | 下载li
原创
2024-07-22 07:35:38
111阅读
# 编译libyuv Android
## 简介
libyuv是一个开源的跨平台图像处理库,用于处理视频和图像数据。它提供了一系列的函数和工具,用于转换、缩放、旋转和处理各种图像格式。本文将介绍如何在Android平台上编译libyuv,并提供一些代码示例帮助理解。
## 步骤
### 1. 下载libyuv源码
首先,我们需要从libyuv的GitHub仓库上下载源码。打开命令行,执行
原创
2023-08-10 16:31:29
311阅读
访问登记属性android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限获取错略位置android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米获取精确位置android.permission.ACCESS
库函数 make 经典的Hello World "hello.c" 6L, 63C 已写入 hello.c就不写了,很简单的
# Android 使用 libyuv库
在Android开发中,处理图像和视频是非常常见的需求。而libyuv库是一个非常强大的图像处理库,可以帮助我们在Android应用中高效地处理图像和视频。本文将向大家介绍如何在Android应用中使用libyuv库,并提供代码示例。
## 什么是 libyuv库
libyuv是一个开源的C++库,专门用于处理图像和视频的转换、缩放、旋转、镜像等操作
原创
2024-04-01 05:06:45
909阅读
AIDL(Android Interface definition language)概念:一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口。为了使其他的应用程序也可以访问本应用程序提供的服务,Android系统采用了远程过程调用(Remote Procedure Call,RPC)方式来实现。与很多其他的基于RPC的解决方案一样,Android使用一种接口定义语言
转载
2023-10-23 14:31:54
62阅读
简介 LRU全称Least Recently Used,顾名思义就是缓存最近使用频率高的缓存,具体数量根据指定的存储空间大小决定。内部存在一个LinkedHashMap和maxSize,把最近使用的对象用强引用存储在 LinkedHashMap中,给出来put和get方法,每次put图片时计算缓存中所有图片总大小,跟maxSize进行比较,大
# Android App如何使用libyuv
在开发Android应用程序时,经常会遇到处理图像的需求,比如图像的缩放、旋转、裁剪等操作。libyuv是Google开发的一个用于优化图像处理的开源库,可以高效地完成这些任务。本文将介绍如何在Android App中使用libyuv库,包括如何集成和使用该库提供的功能。
## 1. 集成libyuv库
首先,我们需要将libyuv库集成到An
原创
2023-12-16 06:26:00
406阅读
继续研究NDK 我在阿里云服务器上搭建了Android ndk的开发平台,并且借助这一平台研究了NDK的内部细节。NDK提供了Android本地编程的
检查了一下,发现有libyuv.h,只是不在libyuv目录下。复制过去即可。
原创
2022-02-07 16:01:09
426阅读
检查了一下,发现有libyuv.h,只是不在libyuv目录下。复制过去即可。
原创
2021-08-07 13:12:51
490阅读
# Android Studio使用libyuv库
在Android开发中,处理视频数据是一个常见的需求,而libyuv库是一个非常好用的工具库,它提供了一系列的图像处理函数,可以用来进行像素格式转换、旋转、缩放等操作。本文将介绍如何在Android Studio中使用libyuv库,并演示一些基本的图像处理操作。
## 步骤一:下载libyuv源码
首先需要从libyuv的GitHub仓库
原创
2024-04-12 05:33:57
416阅读