原创 ACE中對線程的封裝

1.ACE中對線程的封裝1.1ACE_Thread實現原理ACE_Thread 提供了對OS 的線程調用的簡單包裝,這些調用處理線程創建、掛起、取消和刪除等問題。它提供給應用程序員一個簡單易用的接口,可以在不同的線程API 間移植。ACE

原创 英偉達硬件加速編解碼

硬件加速 硬件加速的學術名稱是 GPGPU(General-purpose computing on graphicsprocessing units),中文名稱是通用圖形處理器。最基本的思想是使用 GPU 的運算能力完成原本需要 C

原创 修改系統參數 提高tcp 效率

net.core.netdev_max_backlog = 400000 #該參數決定了,網絡設備接收數據包的速率比內核處理這些包的速率快時,允許送到隊列的數據包的最大數目。   net.core.optmem_max = 1000000

原创 ffmpeg extradata aac

 1: av_new_stream 的時候。 寫aac音頻時,要添加兩個字節的信息到AVCodecContext  char dsi[2]; make_dsi( (unsigned int)get_sr_index( (unsigned

原创 AAC打包時間計算以及估算平均幀大小

先簡單記錄下最近對AAC音頻學習的打包時間計算以及估算平均幀大小。打包時間,其實是可以音頻處理上通用的;而估算平均幀大小,是由於AAC單個幀的大小並非是固定的,因此估算的是一個平均幀大小。 samples 做音頻,肯定要對samples有

原创 C代碼調用匯編&使用指令集優化

先寫一個最簡單的例子(在此針對的是64bit彙編),假設main函數裏需要對兩個數字求和,代碼如下: 1 int sum(int a, int b);//此函數通過彙編實現 2 3 int main(int argc, char

原创 linux下ffmpeg安裝

linux下ffmpeg安裝 1.ffmpeg下載地址: http://www.ffmpeg.org/download.html 2.解壓 1$ tar zvfj ffmpeg.tar.bz2這裏作者假設已經重命名爲ffmpeg

原创 ACE 編譯

1. 設置環境變量 在操作系統添加一個名爲ACE_ROOT的用戶環境變量,值爲剛纔ace的解壓路徑D:\Develop\ACE_wrappers。 添加用戶的Path環境變量,值爲%ACE_ROOT%\lib,這樣才能保證系統能找到ac

原创 英偉達硬件加速解碼器在 FFMPEG 中的使用

這篇文檔介紹如何在 ffmpeg 中使用 nvenc 硬件編碼器。 私有驅動 nvenc 本身是依賴於 nvidia 底層的私有驅動的,所以想要使用編碼器首先需要安裝 nvidia 的私有驅動。在 NVIDIA VIDEO COD

原创 ACE 智能指針

ACE庫提供的智能指針的功能是相當強大的。主要有 ACE_Auto_Ptr ACE_Refcounted_Auto_Ptr ACE_Intrusive_Auto_Ptr 三個智能指針,其中用的比較多的卻容易使用的是前面2個。最後

原创 ACE_Reactor

ACE_Reactor  :       這是一個事件監聽分派中心, 通過ACE_Reactor註冊需要監控的事件,當事件發生時,ACE_Reacto

原创 ACE在Linux下編譯安裝

下載地址: http://download.dre.vanderbilt.edu/ ACE版本:ACE-6.2.2.tar.bz2 下載完成後解壓路徑爲:/root/ACE/ACE_wrappers 設置環境變量:

原创 英偉達硬件解碼器分析

這篇文章主要分析 NVCUVID 提供的解碼器,裏面提到的所有的源文件都可以在英偉達的 nvenc_sdk 中找到。 解碼器的代碼分析 SDK 中的 sample 文件夾下的 NvTranscoder 中包含了編碼器和解碼器的用法,

原创 英特爾 QSV 在 FFMPEG 中的使用(Linux)

Intel Media SDK 現在 Intel 不再發布單獨的 Intel Media SDK, 這個組件在 Linux 平臺下集成在 Intel Media Server Studio 中,後文簡稱 MMS 目前的 MMS 版

原创 ACE_Event_Handler

ACE_Event_Handler是ACE中的所有反應式事件處理器的基類。這個類提供了以下能力: 它定義輸入事件、輸出事件、異常事件、定時器事件以及信號事件的掛鉤方法。它的掛鉤方法允許應用以許多方式擴展事件處理器子類,而不必改變框架。它