原创 socket編程原理

socket編程原理 1、問題的引入   1) 普通的I/O操作過程: UNIX系統的I/O命令集,是從Maltics和早期系統中的命令演變出來的,其模式爲打開一讀/寫一關閉(open-write-read-close)。在一

原创 Android Framebuff 分析

本文轉載自http://blog.csdn.net/chychc/article/details/7315786,在這個階段解答了關於Surface的一些困惑,是個挺不錯的文章 Linux Framebuffer用於實現對不同框架顯示

原创 Android UI框架深度解析

UI界面,對於每個應用而言,是它與用戶進行交互的門臉。好的門臉,不只是是要亮麗可人,最好還能秀色可餐過目不忘,甚至還應該有涵養有氣質,彬彬有理溫柔耐心。   對於開發者來說,鍛造這樣的面容,不但需要高超的技藝,也需要有稱手的工具和對得

原创 DRM in Android

DRM in Android DRM,英文全稱爲Digital Rights Management,譯爲數字版權管理。它是目前業界使用非常廣泛的一種數字內容版權保護技術。隨着知識產權保護受重視的程度日益提高,快速攻城略地得And

原创 DRM in Android

DRM in Android DRM,英文全稱爲Digital Rights Management,譯爲數字版權管理。它是目前業界使用非常廣泛的一種數字內容版權保護技術。隨着知識產權保護受重視的程度日益提高,快速攻城略地得Androi

原创 Makefile中命令前的@和-符號

如果make執行的命令前面加了@字符,則不顯示命令本身而只顯示它的結果; Android中會定義某個變量等於@,例如 hide:= @ 通常make執行的命令如果出錯(該命令的退出狀態非0)就立刻終止,不再執行後續命令,但如果命令前面

原创 socket阻塞與非阻塞,同步與異步、I/O模型

socket阻塞與非阻塞,同步與異步 作者:huangguisu 1. 概念理解      在進行網絡編程時,我們常常見到同步(Sync)/異步(Async),阻塞(Block)/非阻塞(Unblock)四種調用方式:

原创 Android4.2 Camera子系統初探,數據流程簡述

Android的Camera應用完成如下三個功能:預覽,拍照和錄像。 以下是Android下UVC的Camera操作流程: 一、打開   首先當打開Camera HAL時;會通過ioctl向uvc驅動申請buffer,並通過mma

原创 相機知識(節選)

1、持續對焦和觸摸對焦的工作原理; 答:首先要了解一下對焦的工作原理。 AF工作原理: 就是通過微距移動鏡頭,sensor採集圖像並傳送給ISP處理,ISP把當前frame的對比度值(FV)記錄下來並保存爲A1,同時按照固定的st

原创 Chrome/Chromium HTML5 video 視頻播放硬件加速

Chromium網站上有個大致的框圖,描述了Chromium的video在各個平臺 - 包括Android - 上是如何使用硬件資源來做視頻編解碼加速的: 而根據Android Kitkat上的Chromium代碼分析,HTML5 vi

原创 堆棧與函數調用

一 C++程序內存分配 1) 在棧上創建。在執行函數時,函數內局部變量的存儲單元都在棧上創建,函數執行結束時這些存儲單元自動被釋放。棧內存分配運算內置於處理器的指令集中,一般使用寄存器來存取,效率很高,但是分配的內存容量有限。  2)

原创 mDNS原理的簡單理解

From: http://www.binkery.com/post/318.html mDNS multicast DNS , 使用5353端口。 在局域網內,你要通過一臺主機和其他主機進行通信,你需要知道對方的ip地址,但是有些

原创 C++函數對象與函數指針不同之處

在C++編程語言中,有很多功能都與C語言相通,比如指針的應用等等。在這裏我們介紹的則是一種類似於函數指針的C++函數對象的相關介紹。C++函數對象不是函數指針。但是,在程序代碼中,它的調用方式與函數指針一樣,後面加個括號就可以了。這是入

原创 爲什麼有時類的析構函數要定義爲protected呢?

在看代碼的過程中,有時會發現析構函數被定義成virtual,有一些沒有定義成virtual但被放置於protected下。網上搜了下了解了原因,下面是較好的解答: 1) http://www.cnblogs.com/kanego/arc

原创 HW Video Acceleration in Chrome/Chromium HTML5 video 視頻播放硬件加速

Introduction Video decode (e.g. YouTube playback) and encode (e.g. video chat applications) are some of the most comp