├── AV1 ├── A Technical Overview of AV1.pdf ├── AV1_ToolDescription_v11-clean.pdf ├── An In-depth Review on the AV1 Intra Prediction.pdf ├── PCS_2018_AV1_tools_overview.pdf ├── The SVT-AV1 encoder overview features and speed-quality tradeoffs.pdf ├── av1-spec.pdf └── readme.txt ├── FFMPEG - From Zero to Hero.pdf ├── H264 ├── Iain E. Richardson - H264 (2nd edition).pdf ├── Overview of H.264MPEG-4 part 10.pdf ├── T-REC-H.264-201304-E(白皮书).pdf ├── Video coding using the H.264 MPEG-4 AVC compression standard.pdf ├── x264_full.help.txt └── 新一代视频压缩编码标准H.264_毕厚杰.pdf ├── HDR ├── 4K超高清HDR技术简介.pdf ├── ETSI TS 103 433.pdf ├── HDR术语表.pdf ├── HDR:WCG关键技术分析及标准化进展.pdf ├── High Dynamic Range Imaging.pdf ├── High Dynamic Range Video.pdf ├── High-Dynamic-Range-Metadata-for-Apple-Devices.pdf ├── OVERVIEW OF HDR VIDEO.pdf ├── Philips HDR technology – white paper.pdf ├── R-REC-BT.2020-2-201510-I!!PDF-E.pdf ├── R-REC-BT.2100-2-201807-I!!PDF-E.pdf ├── R-REC-BT.601-7-201103-I!!PDF-E.pdf ├── R-REC-BT.709-6-201506-I!!PDF-E.pdf ├── R-REP-BT.2246-7-2020-PDF-E.pdf ├── SMPTE Standards Update.pdf └── hdr_readme.txt ├── HEVC_H265 ├── Comparison_of_the_Coding_Efficiency_of_Video_Coding_StandardsIncluding_High_Efficiency_Video_Coding_HEVC.pdf ├── H.265-HEVC-Tutorial-2014-ISCAS.pdf ├── HEVC_Complexity_and_Implementation_Analysis.pdf ├── High Efficiency Video Coding.Algorithms and Architectures.pdf ├── JCTVC-AN1002(High Efficiency Video Coding (HEVC) Test Model 16 (HM 16) Improved Encoder Descriptio).docx ├── Overview_of_the_High_Efficiency_Video_Coding_HEVC_Standard.pdf ├── SCC │ ├── HEVC_IntraBC_paper │ │ ├── 2014_A_unified_framework_of_hash-based_matching_for_screen_content_coding.pdf │ │ ├── 2016_Overview_of_the_Emerging_HEVC_Screen_Content_Coding_Extension.pdf │ │ ├── 2017_Fast_HEVC_screen_content_coding_by_skipping_unnecessary_checking_of_intra_block_copy_mode_based_on_CU_activity_and_gradient.pdf │ │ ├── 2018_Reduced-Complexity_Intra_Block_Copy_IntraBC_Mode_With_Early_CU_Splitting_and_Pruning_for_HEVC_Screen_Content_Coding.pdf │ │ ├── 2019_Efficient_Mode_Decision_for_HEVC_Screen_Content_Coding_by_Content_Analysis.pdf │ │ └── 说明.txt │ ├── HEVC_Palette_paper │ │ ├── 2014_Color_palette_for_screen_content_coding.pdf │ │ ├── 2014_On_prediction_techniques_for_palette_coding.pdf │ │ ├── 2015_Palette-Based_Coding_in_the_Screen_Content_Coding_Extension_of_the_HEVC_Standard.pdf │ │ ├── 2015_Palette_mode__A_new_coding_tool_in_screen_content_coding_extensions_of_HEVC.pdf │ │ ├── 2016_Improved_palette_index_map_coding_on_HEVC_SCC.pdf │ │ ├── 2016_Improvements_of_HEVC_SCC_Palette_Mode_and_Intra_Block_Copy.pdf │ │ ├── 2016_Palette_Mode_Coding_in_HEVC_Screen_Content_Coding_Extension.pdf │ │ ├── 2016_Parallel_palette_mode_decoding_for_HEVC_SCC.pdf │ │ ├── 2017_Inter-Palette_Coding_in_Screen_Content_Coding.pdf │ │ ├── 2018_Fast_Palette_Mode_Decision_Methods_for_Coding_Game_Videos_With_HEVC-SCC.pdf │ │ ├── 2019_Analysis_of_Palette_Mode_on_Versatile_Video_Coding.pdf │ │ ├── 2019_Efficient_Mode_Decision_for_HEVC_Screen_Content_Coding_by_Content_Analysis.pdf │ │ ├── 2019_Fast_Algorithm_with_Palette_Mode_Skipping_and_Splitting_Early_Termination_for_HEVC_Screen_Content_Coding.pdf │ │ ├── 2020_Fast_SCC_in_HEVC_using_a_Palette_Mode_Decision_Tree_Classifier.pdf │ │ ├── 2021_Fast_Screen_Content_Coding_in_HEVC_Using_Machine_Learning.pdf │ │ ├── JCTVC-R0086(combination of palette coding tools).doc │ │ └── 说明.txt │ ├── JCTVC-W1005-v4(High Efficiency Video Coding Screen Content Coding Draft 6).doc │ └── 说明.txt └── T-REC-H.265-201504-I!!PDF-E(白皮书).pdf ├── README.md ├── Test └── encoder │ ├── bjontegaard_metric.py │ ├── demo.py │ ├── get_x264_bitrate_psnr.py │ ├── x264_bdrate_test.xlsm │ ├── x264_encode_bdrate_test.bat │ ├── x264_test_baseline.txt │ ├── x264_test_main.txt │ └── 说明.txt └── VVC ├── H266标准文本(白皮书).pdf ├── JVET-Q2002-v3_Algorithm description for Versatile Video Coding and Test Model 8 (VTM 8).docx ├── Overview of the Versatile Video Coding (VVC) Standard and its Applications.pdf ├── The High-Level Syntax of the Versatile Video Coding (VVC) Standard2021.pdf └── 最新通用视频编码标准H.266VVC.pdf /AV1/A Technical Overview of AV1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codec2021/video_codec_learn/38dcef0b9273704d6d172d793ed9981e4753ebdc/AV1/A Technical Overview of AV1.pdf -------------------------------------------------------------------------------- /AV1/AV1_ToolDescription_v11-clean.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codec2021/video_codec_learn/38dcef0b9273704d6d172d793ed9981e4753ebdc/AV1/AV1_ToolDescription_v11-clean.pdf -------------------------------------------------------------------------------- /AV1/An In-depth Review on the AV1 Intra Prediction.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codec2021/video_codec_learn/38dcef0b9273704d6d172d793ed9981e4753ebdc/AV1/An In-depth Review on the AV1 Intra Prediction.pdf -------------------------------------------------------------------------------- /AV1/PCS_2018_AV1_tools_overview.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codec2021/video_codec_learn/38dcef0b9273704d6d172d793ed9981e4753ebdc/AV1/PCS_2018_AV1_tools_overview.pdf -------------------------------------------------------------------------------- /AV1/The SVT-AV1 encoder overview features and speed-quality tradeoffs.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codec2021/video_codec_learn/38dcef0b9273704d6d172d793ed9981e4753ebdc/AV1/The SVT-AV1 encoder overview features and speed-quality tradeoffs.pdf -------------------------------------------------------------------------------- /AV1/av1-spec.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codec2021/video_codec_learn/38dcef0b9273704d6d172d793ed9981e4753ebdc/AV1/av1-spec.pdf -------------------------------------------------------------------------------- /AV1/readme.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /FFMPEG - From Zero to Hero.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codec2021/video_codec_learn/38dcef0b9273704d6d172d793ed9981e4753ebdc/FFMPEG - From Zero to Hero.pdf -------------------------------------------------------------------------------- /H264/Iain E. Richardson - H264 (2nd edition).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codec2021/video_codec_learn/38dcef0b9273704d6d172d793ed9981e4753ebdc/H264/Iain E. Richardson - H264 (2nd edition).pdf -------------------------------------------------------------------------------- /H264/Overview of H.264MPEG-4 part 10.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codec2021/video_codec_learn/38dcef0b9273704d6d172d793ed9981e4753ebdc/H264/Overview of H.264MPEG-4 part 10.pdf -------------------------------------------------------------------------------- /H264/T-REC-H.264-201304-E(白皮书).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codec2021/video_codec_learn/38dcef0b9273704d6d172d793ed9981e4753ebdc/H264/T-REC-H.264-201304-E(白皮书).pdf -------------------------------------------------------------------------------- /H264/Video coding using the H.264 MPEG-4 AVC compression standard.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codec2021/video_codec_learn/38dcef0b9273704d6d172d793ed9981e4753ebdc/H264/Video coding using the H.264 MPEG-4 AVC compression standard.pdf -------------------------------------------------------------------------------- /H264/x264_full.help.txt: -------------------------------------------------------------------------------- 1 | x264 core:161 r3015 2 | Syntax: x264 [options] -o outfile infile 3 | 4 | Infile can be raw (in which case resolution is required), 5 | or YUV4MPEG (*.y4m), 6 | or Avisynth if compiled with support (yes). 7 | or libav* formats if compiled with lavf support (no) or ffms support (no). 8 | Outfile type is selected by filename: 9 | .264 -> Raw bytestream 10 | .mkv -> Matroska 11 | .flv -> Flash Video 12 | .mp4 -> MP4 if compiled with GPAC or L-SMASH support (no) 13 | Output bit depth: 8/10 14 | . 15 | Options: 16 | 17 | -h, --help List basic options 18 | --longhelp List more options 19 | --fullhelp List all options 20 | 21 | Example usage: 22 | 23 | Constant quality mode: 24 | x264 --crf 24 -o 25 | 26 | Two-pass with a bitrate of 1000kbps: 27 | x264 --pass 1 --bitrate 1000 -o 28 | x264 --pass 2 --bitrate 1000 -o 29 | 30 | Lossless: 31 | x264 --qp 0 -o 32 | 33 | Maximum PSNR at the cost of speed and visual quality: 34 | x264 --preset placebo --tune psnr -o 35 | 36 | Constant bitrate at 1000kbps with a 2 second-buffer: 37 | x264 --vbv-bufsize 2000 --bitrate 1000 -o 38 | 39 | Presets: 40 | 41 | --profile Force the limits of an H.264 profile 42 | Overrides all settings. 43 | - baseline: 44 | --no-8x8dct --bframes 0 --no-cabac 45 | --cqm flat --weightp 0 46 | No interlaced. 47 | No lossless. 48 | - main: 49 | --no-8x8dct --cqm flat 50 | No lossless. 51 | - high: 52 | No lossless. 53 | - high10: 54 | No lossless. 55 | Support for bit depth 8-10. 56 | - high422: 57 | No lossless. 58 | Support for bit depth 8-10. 59 | Support for 4:2:0/4:2:2 chroma subsampling. 60 | - high444: 61 | Support for bit depth 8-10. 62 | Support for 4:2:0/4:2:2/4:4:4 chroma subsampling. 63 | --preset Use a preset to select encoding settings [medium] 64 | Overridden by user settings. 65 | - ultrafast: 66 | --no-8x8dct --aq-mode 0 --b-adapt 0 67 | --bframes 0 --no-cabac --no-deblock 68 | --no-mbtree --me dia --no-mixed-refs 69 | --partitions none --rc-lookahead 0 --ref 1 70 | --scenecut 0 --subme 0 --trellis 0 71 | --no-weightb --weightp 0 72 | - superfast: 73 | --no-mbtree --me dia --no-mixed-refs 74 | --partitions i8x8,i4x4 --rc-lookahead 0 75 | --ref 1 --subme 1 --trellis 0 --weightp 1 76 | - veryfast: 77 | --no-mixed-refs --rc-lookahead 10 78 | --ref 1 --subme 2 --trellis 0 --weightp 1 79 | - faster: 80 | --no-mixed-refs --rc-lookahead 20 81 | --ref 2 --subme 4 --weightp 1 82 | - fast: 83 | --rc-lookahead 30 --ref 2 --subme 6 84 | --weightp 1 85 | - medium: 86 | Default settings apply. 87 | - slow: 88 | --direct auto --rc-lookahead 50 --ref 5 89 | --subme 8 --trellis 2 90 | - slower: 91 | --b-adapt 2 --direct auto --me umh 92 | --partitions all --rc-lookahead 60 93 | --ref 8 --subme 9 --trellis 2 94 | - veryslow: 95 | --b-adapt 2 --bframes 8 --direct auto 96 | --me umh --merange 24 --partitions all 97 | --ref 16 --subme 10 --trellis 2 98 | --rc-lookahead 60 99 | - placebo: 100 | --bframes 16 --b-adapt 2 --direct auto 101 | --slow-firstpass --no-fast-pskip 102 | --me tesa --merange 24 --partitions all 103 | --rc-lookahead 60 --ref 16 --subme 11 104 | --trellis 2 105 | --tune Tune the settings for a particular type of source 106 | or situation 107 | Overridden by user settings. 108 | Multiple tunings are separated by commas. 109 | Only one psy tuning can be used at a time. 110 | - film (psy tuning): 111 | --deblock -1:-1 --psy-rd :0.15 112 | - animation (psy tuning): 113 | --bframes {+2} --deblock 1:1 114 | --psy-rd 0.4: --aq-strength 0.6 115 | --ref {Double if >1 else 1} 116 | - grain (psy tuning): 117 | --aq-strength 0.5 --no-dct-decimate 118 | --deadzone-inter 6 --deadzone-intra 6 119 | --deblock -2:-2 --ipratio 1.1 120 | --pbratio 1.1 --psy-rd :0.25 121 | --qcomp 0.8 122 | - stillimage (psy tuning): 123 | --aq-strength 1.2 --deblock -3:-3 124 | --psy-rd 2.0:0.7 125 | - psnr (psy tuning): 126 | --aq-mode 0 --no-psy 127 | - ssim (psy tuning): 128 | --aq-mode 2 --no-psy 129 | - fastdecode: 130 | --no-cabac --no-deblock --no-weightb 131 | --weightp 0 132 | - zerolatency: 133 | --bframes 0 --force-cfr --no-mbtree 134 | --sync-lookahead 0 --sliced-threads 135 | --rc-lookahead 0 136 | --slow-firstpass Don't force these faster settings with --pass 1: 137 | --no-8x8dct --me dia --partitions none 138 | --ref 1 --subme {2 if >2 else unchanged} 139 | --trellis 0 --fast-pskip 140 | 141 | Frame-type options: 142 | 143 | -I, --keyint Maximum GOP size [250] 144 | -i, --min-keyint Minimum GOP size [auto] 145 | --no-scenecut Disable adaptive I-frame decision 146 | --scenecut How aggressively to insert extra I-frames [40] 147 | --intra-refresh Use Periodic Intra Refresh instead of IDR frames 148 | -b, --bframes Number of B-frames between I and P [3] 149 | --b-adapt Adaptive B-frame decision method [1] 150 | Higher values may lower threading efficiency. 151 | - 0: Disabled 152 | - 1: Fast 153 | - 2: Optimal (slow with high --bframes) 154 | --b-bias Influences how often B-frames are used [0] 155 | --b-pyramid Keep some B-frames as references [normal] 156 | - none: Disabled 157 | - strict: Strictly hierarchical pyramid 158 | - normal: Non-strict (not Blu-ray compatible) 159 | --open-gop Use recovery points to close GOPs 160 | Only available with b-frames 161 | --no-cabac Disable CABAC 162 | -r, --ref Number of reference frames [3] 163 | --no-deblock Disable loop filter 164 | -f, --deblock Loop filter parameters [0:0] 165 | --slices Number of slices per frame; forces rectangular 166 | slices and is overridden by other slicing options 167 | --slices-max Absolute maximum slices per frame; overrides 168 | slice-max-size/slice-max-mbs when necessary 169 | --slice-max-size Limit the size of each slice in bytes 170 | --slice-max-mbs Limit the size of each slice in macroblocks (max) 171 | --slice-min-mbs Limit the size of each slice in macroblocks (min) 172 | --tff Enable interlaced mode (top field first) 173 | --bff Enable interlaced mode (bottom field first) 174 | --constrained-intra Enable constrained intra prediction. 175 | --pulldown Use soft pulldown to change frame rate 176 | - none, 22, 32, 64, double, triple, euro (requires cfr input) 177 | --fake-interlaced Flag stream as interlaced but encode progressive. 178 | Makes it possible to encode 25p and 30p Blu-Ray 179 | streams. Ignored in interlaced mode. 180 | --frame-packing For stereoscopic videos define frame arrangement 181 | - 0: checkerboard - pixels are alternatively from L and R 182 | - 1: column alternation - L and R are interlaced by column 183 | - 2: row alternation - L and R are interlaced by row 184 | - 3: side by side - L is on the left, R on the right 185 | - 4: top bottom - L is on top, R on bottom 186 | - 5: frame alternation - one view per frame 187 | - 6: mono - 2D frame without any frame packing 188 | - 7: tile format - L is on top-left, R split across 189 | 190 | Ratecontrol: 191 | 192 | -q, --qp Force constant QP (0-81, 0=lossless) 193 | -B, --bitrate Set bitrate (kbit/s) 194 | --crf Quality-based VBR (-12-51) [23.0] 195 | --rc-lookahead Number of frames for frametype lookahead [40] 196 | --vbv-maxrate Max local bitrate (kbit/s) [0] 197 | --vbv-bufsize Set size of the VBV buffer (kbit) [0] 198 | --vbv-init Initial VBV buffer occupancy [0.9] 199 | --crf-max With CRF+VBV, limit RF to this value 200 | May cause VBV underflows! 201 | --qpmin Set min QP [0] 202 | --qpmax Set max QP [81] 203 | --qpstep Set max QP step [4] 204 | --ratetol Tolerance of ABR ratecontrol and VBV [1.0] 205 | --ipratio QP factor between I and P [1.40] 206 | --pbratio QP factor between P and B [1.30] 207 | --chroma-qp-offset QP difference between chroma and luma [0] 208 | --aq-mode AQ method [1] 209 | - 0: Disabled 210 | - 1: Variance AQ (complexity mask) 211 | - 2: Auto-variance AQ 212 | - 3: Auto-variance AQ with bias to dark scenes 213 | --aq-strength Reduces blocking and blurring in flat and 214 | textured areas. [1.0] 215 | 216 | -p, --pass Enable multipass ratecontrol 217 | - 1: First pass, creates stats file 218 | - 2: Last pass, does not overwrite stats file 219 | - 3: Nth pass, overwrites stats file 220 | --stats Filename for 2 pass stats ["x264_2pass.log"] 221 | --no-mbtree Disable mb-tree ratecontrol. 222 | --qcomp QP curve compression [0.60] 223 | --cplxblur Reduce fluctuations in QP (before curve compression) [20.0] 224 | --qblur Reduce fluctuations in QP (after curve compression) [0.5] 225 | --zones //... Tweak the bitrate of regions of the video 226 | Each zone is of the form 227 | ,,