自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 H264解码器实现-帧间预测之像素值预测

本文所说的帧间预测是指根据当前预测块的MV向量和预测所需的参考块数据,计算出当前预测块的预测像素值的过程。该过程得到的预测像素值进过运动补偿后(与反变换量化之后得到的残差像素值相加)可以得到滤波前的重建像素值。

2024-03-06 10:54:47 328 1

原创 硬件解码器API接口对比(google decoder-allwinner decoder)

Google Decoder API/* Decoder client interface. */typedef void* ClientInst; /* Opaque pointer to the client. *//* Function to notify the client that decoder has successfully initialized. */typedef void ClientInitialized(ClientInst inst);/* Function to

2021-03-21 15:56:59 684

原创 单线程多次调用open打开文件

答案是肯定的,一个线程可以多次打开同一个文件,只是每次打开的fd值是不一样的。这些fd都可以用于操作文件。#include <fcntl.h>#include <sys/types.h>#include <sys/stat.h>#include <stdio.h>#include <errno.h>#include <...

2020-04-02 19:18:14 1208

原创 AVS2解码图像管理

前言对于解码器来说,解码得到的重建图像可能需要参与参考帧选择过程和输出排序过程。硬件解码器大概率不会将解码图像的相关操作硬件化,从而将此部分内容保留在软件端实现。驱动工程师需要明确解码图像的管理逻辑,才能开发出硬件解码器的驱动程序。AVS2的解码图像管理与H264、H265、AV1等编码标准有相似之处,也有不同之处。AVS2依然有输出排序、参考队列构建、图像的标记、图像缓存区的移入移出等操作,但具体实现方式略有不同。图像类型与H264一样,AVS2的解码图像可以是一帧,也可以是一场。除了传统的I、

2020-03-21 18:15:46 1656

原创 Linux ShellCode实践

1. 关于ShellCodeShellCode是一段二进制代码,最早被用于获取一个shell,因此而得名。这段二进制代码可以被cpu识别并执行,也就是我们所说的机器码。因为shellcode的这个特性,漏洞攻击最早出现的方法就是栈溢出+shellcode。而今天的主题,就是向零基础者展示一段shellcode的产生与执行,帮助读者举一反三。2. ShellCode的产生本节涉及的环境:u...

2020-02-23 19:51:24 1099 1

原创 linux 批量在指定字符串下一行插入数据

功能在指定目录下,查找包含指定字符串的文件,并在该字符串上一行插入指定字符串。操作待查找字符串:“vendor_available”待处理目录:frameworks我们想要在该目录所有包含该字符串的文件中后面添加一些内容,内容字符串为“asdfadf”,做法如下:grep “vendor_available” -r.|cut -d ":" -f1 |xargs -n1 -...

2019-06-14 10:48:03 2519

原创 Android.bp编译生成 system和vendor分区两份库

在Android.bp中添加vendor_avaiable:ture属性。当然也可以使用vendor:ture属性。官方解释如下:vendor bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true, it is installed into /vendor (or /system...

2019-05-28 15:05:40 13193 1

原创 CMAC--基于分组密码的消息认证码的实现及其应用

前言CMAC(基于分组加密的消息认证码),一般用作消息的签名。与HMAC相同的是都需要一把秘钥来加密内容得到MAC,只是MAC的产生方法不同,一个是用hash算法,一个是用分组加密算法。两种方法具体原理参见:https://blog.csdn.net/kkxgx/article/details/10307663实际上,CMAC-128的计算结果是128位的,而AES的密钥也是128位的...

2018-11-20 23:52:52 16429

原创 C程序面向对象设计详解

前言学过C++或者其他面向对象的语言的都知道,面向对象编程有诸多好处。面向对象程序设计有几个特征:面向对象程序设计中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、消息传递。通过这些概念面向对象的思想得到了具体的体现。  1)对象 对象是运行期的基本实体,它是一个封装了数据和操作这些数据的代码的逻辑实体。  2)类 类是具有相同类型的对象的抽象。一个对象...

2018-08-20 15:10:58 1809

原创 Android Native代码中的status_t定义

定义在Android/system/core/include/utils/Errors.h中,小提示,Android代码中遇到的symbol,既不是Linux中提供的定义,使用source insight又找不到的情况下,可以去Android/system/core/include/目录找找,可能会有意想不到的收获哦。定义如下:1/*2 * Copyright (C) 2007 The...

2018-08-10 13:51:20 8345

原创 printk不能输出问题

printk是内核调试的重要手段,我们知道查看printk的打印信息可以用dmesg命令来查看,但是有时你会发现,你要的printk打印并没有打印出来,这是为什么呢?原因是你的打印信息很早就打印了,只是由于打印信息过多,存储这些信息的buffer有限,最大2的17次方。所以造成覆盖。解决办法是1.把buffer大小调到最大。2.把串口打印级别调到 8,使所有的printk都能打印到

2018-01-22 15:38:15 1693

原创 Android系统开发之路--Linux shell脚本

下载到Android的源代码后,总是要编译的,Android源码不是在集成环境下可以直接点击一个按钮就可以编译的。而是要在Linux操作系统下完成编译工作的。实际上,我们在Android源码顶层目录下执行类似./build.sh的命令完成编译的。具体原理是Android源码包中有个编译系统。叫build系统,代码主要集中在Android/build目录下。这个build系统中有很多shel

2017-12-22 10:50:50 440

DIY示波器全套资料

里面有全套资料手把手教你如何做示波器。适合初学者,资源分享,和谐社会。

2015-11-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除