Y = a * R + b * G + c * B
Cb = (B - Y) / d
Cr = (R - Y) / e
| BT.601 | BT.709 | BT.2020 | |
|---|---|---|---|
| a | 0.299 | 0.2126 | 0.2627 |
| b | 0.587 | 0.7152 | 0.6780 |
Y = a * R + b * G + c * B
Cb = (B - Y) / d
Cr = (R - Y) / e
| BT.601 | BT.709 | BT.2020 | |
|---|---|---|---|
| a | 0.299 | 0.2126 | 0.2627 |
| b | 0.587 | 0.7152 | 0.6780 |
| #include <cassert> | |
| #include <stop_token> | |
| #include <utility> | |
| #include <print> | |
| // https://github.com/NVIDIA/stdexec/ | |
| #include <stdexec/execution.hpp> | |
| namespace exec = stdexec; | |
| namespace std { | |
| using exec::get_stop_token, exec::sync_wait; | |
| using exec::inplace_stop_source, exec::stoppable_token; |
| Paper | Title | Words |
|---|---|---|
| P2300R10 | std::execution | 47495 |
| P3325R5 | A Utility for Creating Execution Environments | 2168 |
| P3396R1 | std::execution wording fixes | 3061 |
| P2079R10 | Parallel scheduler | 9383 |
| P3149R11 | async_scope - Creating scopes for non-sequential concurrency | 16255 |
| P3284R4 | write_env and unstoppable Sender Adaptors | 1346 |
| P3433R1 | Allocator Support for Operation States | 827 |
| #include <coroutine> | |
| #include <print> | |
| // https://github.com/NVIDIA/stdexec/ | |
| #include <stdexec/execution.hpp> | |
| namespace ex = stdexec; | |
| template<typename T> | |
| class Lazy { | |
| public: |
| #include <condition_variable> | |
| #include <mutex> | |
| #include <thread> | |
| class fair_mutex { | |
| std::mutex mtx_; | |
| std::condition_variable cv_; | |
| unsigned int next_, curr_; | |
| public: |
| #!/usr/bin/env python3 | |
| import sys | |
| import struct | |
| if len(sys.argv) < 2: | |
| print("Usage: aac_parer.py <target.aac>") | |
| exit() | |
| aacfile = open(sys.argv[1], 'rb') | |
| frame_no = 1 |
| /* | |
| * C11 <threads.h> emulation library | |
| * | |
| * (C) Copyright yohhoy 2012. | |
| * Distributed under the Boost Software License, Version 1.0. | |
| * (See copy at http://www.boost.org/LICENSE_1_0.txt) | |
| */ | |
| #ifndef EMULATED_THREADS_H_INCLUDED_ | |
| #define EMULATED_THREADS_H_INCLUDED_ | |
| /* | |
| * Read video frame with FFmpeg and convert to OpenCV image | |
| * | |
| * Copyright (c) 2016 yohhoy | |
| */ | |
| #include <iostream> | |
| #include <vector> | |
| // FFmpeg | |
| extern "C" { | |
| #include <libavformat/avformat.h> |
https://www.ffmpeg.org/doxygen/trunk/dump_8c_source.html#l00454
st->avg_frame_ratest->r_frame_ratest->time_basest->codec->time_baseAverage framerate.
avformat_find_stream_info().avformat_write_header().