Object-oriented programming (OOP) is a programming paradigm based on the concept of objects, which can contain data and code: data in the form of fields (often known as attributes or properties), and code in the form of procedures (often known as methods).
FFmpeg Glossary: DAR, PAR, and SAR
The SAR and DAR output in the FFmpeg terminal are as follows
1 | Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4': |
SAR (Sample Aspect Ratio) : 单个像素的宽度和像素的高度的比 (That is the width of a pixel divided by the height of the pixel.)
DAR (Display Aspect Ratio) : 预期显示的宽度与高度的比 (The intended display’s width-to-height aspect)
PAR (Picture Aspect Ratio) : 宽度与高度像素个数的比 (‘horizontal_size’:’vertical_size’)
What’s confusing:
Storage aspect ratio (SAR) is the ratio of numbers of pixels.
Pixel aspect ratio (PAR) is a mathematical ratio that describes how the width of a pixel in a digital image compared to the height of that pixel.
BD-Rate (Bjontegaard Delta-Rate Metric)
#BD-Rate (Bjontegaard Delta-Rate Metric)
The RD curve represents the encode performance: the higher the metric value for the lower bitrate, the better. The Bjontegaard Delta-Rate (BD Rate) metric provides a way to estimate the average difference between two RD-curves. BD Rate metric can be used to compare and choose the encoder or configuration.
Analyzing control flow in ffmpeg.c source file with cflow
Video Buffer Verifier
The Video Buffering Verifier (VBV) is a theoretical MPEG video buffer model, used to ensure that an encoded video stream can be correctly buffered, and played back at the decoder device.
Linux core dump 分析
有时,直接调试应用程序是不可能的。在这些情况下,可以在应用程序终止时收集有关该应用程序的信息,然后对其进行分析。识别应用程序中崩溃问题的最有效方法之一是通过分析 Core dump文件。
Android NDK 使用 Address Sanitizer
从 API 级别 27 (Android O MR 1) 开始,Android NDK 支持 Address Sanitizer(也称为 ASan)。ASan 是一种基于编译器的快速检测工具,用于检测C/C++代码中的内存错误。ASan 的 CPU 开销约为 2 倍,代码大小开销在 50% 到 2 倍之间,并且内存开销很大。
注意: ASan在Android 平台上不支持检测内存泄漏!!!
理解C/C++编译
编译和链接是在C/C++软件开发过程中经常发生的两个非常基本的过程,为什么C/C++源代码分割成头文件和源文件? 编译器是如何看到每个部分的? 这如何影响编译和链接? 还有许多类似的问题,无论是在设计C/C++应用程序、为其实现新特性、试图解决bug(尤其是某些奇怪的bug),还是试图让C和C/C++代码协同工作,了解如何编译和链接将节省大量时间。
Unity-Android-Plugin
Android-Studio中-gitignore的配置
如果你使用git 作版本控制工具,那么你可以轻松的使用android studio / Intellij IDEA 的.gitignore 插件来生成一份可以将这些文件排除在外的.gitignore 过滤清单。