Roly's Blog

Whatever will be, will be, the future's not ours to see.

0%

The SAR and DAR output in the FFmpeg terminal are as follows

1
2
3
4
5
6
7
8
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
creation_time : 2018-05-25T12:42:26.000000Z
Duration: 00:02:00.02, start: 0.000000, bitrate: 50449 kb/s
Stream #0:0[0x1](eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080, 50126 kb/s, 29.97 fps, 29.97 tbr, 30k tbn (default)

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.

Read more »

#BD-Rate (Bjontegaard Delta-Rate Metric)

RD curve pic_1

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.

Read more »

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.

Read more »

有时,直接调试应用程序是不可能的。在这些情况下,可以在应用程序终止时收集有关该应用程序的信息,然后对其进行分析。识别应用程序中崩溃问题的最有效方法之一是通过分析 Core dump文件。

Read more »

从 API 级别 27 (Android O MR 1) 开始,Android NDK 支持 Address Sanitizer(也称为 ASan)。ASan 是一种基于编译器的快速检测工具,用于检测C/C++代码中的内存错误。ASan 的 CPU 开销约为 2 倍,代码大小开销在 50% 到 2 倍之间,并且内存开销很大。

注意: ASan在Android 平台上不支持检测内存泄漏!!!

Read more »

编译和链接是在C/C++软件开发过程中经常发生的两个非常基本的过程,为什么C/C++源代码分割成头文件和源文件? 编译器是如何看到每个部分的? 这如何影响编译和链接? 还有许多类似的问题,无论是在设计C/C++应用程序、为其实现新特性、试图解决bug(尤其是某些奇怪的bug),还是试图让C和C/C++代码协同工作,了解如何编译和链接将节省大量时间。

Read more »

如果你使用git 作版本控制工具,那么你可以轻松的使用android studio / Intellij IDEA 的.gitignore 插件来生成一份可以将这些文件排除在外的.gitignore 过滤清单。

Read more »