- Resource
- Documents
- Standard
- Software
- Reference test stream
- Content
- Profile, Levels, Tiers (introduced in H265)
- Profile
- Main Profile < Main Still Picture Profile < Main 10 Profile
- Main 10 Profile
- 10 bits/sample for HDR, High color gamut, etc.
- Levels
- defines resolution, frame rate, bit rate, buffer capacity (e.g. dpb - decoded picture buffer), ...etc.
-
Level Resolution 4 HD 5 4K 6 8K - tier
- Main tier/High tier to distinguish the bit rates
- Syntax
- Patent fee
2018年11月14日 星期三
[Codec] HEVC Study
2018年11月2日 星期五
[LeetCode] 118. Pascal's Triangle
- Problem: 118 Pascals's Triangle, 主要為該層元素為上一層的左邊加上一層右邊而得
- Concept:
- 算是滿基本的題目, 稍微將 index 列出來, 可以發現
-
A[i][j] = A[i-1][j-1] + A[i-1][j]
- 但還是需要注意 index 從 0開始, 必須習慣一下
- Implementation
-
class Solution { public: vector
> generate(int numRows) { vector > result; for (int i = 0; i < numRows; i++) { vector row; row.push_back(1); for (int j = 1; j < i; j++) { int val = result[i - 1] [j - 1] + result[i - 1][j]; row.push_back(val); } // no need to add right 1 at first row if (i > 0) row.push_back(1); result.push_back(row); } return result; } };
2018年11月1日 星期四
[LeetCode] 139. Word Break
- Problem: Word Break
- Concept:
- 可以 recursive 的將一個 word 拆成左半跟右半
- 利用 memorize 的 hash table 來記錄
- 注意終止條件:
- cache 已存在
- 目前的 dictionary 包含完整的 string
- Implementation
-
class Solution { public: bool wordBreak(string s, vector
& wordDict) { unordered_set quickHash(wordDict.begin(), wordDict.end()); return wordBreak(s, quickHash); } bool wordBreak(string s, unordered_set quickHash) { if (m_mem.count(s)) return m_mem[s]; if (quickHash.count(s) > 0) { m_mem[s] = true; return m_mem[s]; } for (int i = 1; i < s.length(); i++) { if (quickHash.count(s.substr(0, i)) && wordBreak(s.substr(i), quickHash)) { m_mem[s] = true; return m_mem[s]; } } m_mem[s] = false; return m_mem[s]; } private: unordered_map m_mem; };
訂閱:
文章 (Atom)