- 10 Aug, 2016 1 commit
-
-
clang-format authored
Change-Id: Iac1d97d84518649404e32b136b8fdd840723303c
-
- 04 Aug, 2016 1 commit
-
-
Yaowu Xu authored
Change-Id: Id6cb96b0b15efdda63348d8bfe59fc0533c85ba1
-
- 28 Jul, 2016 1 commit
-
-
Yaowu Xu authored
Change-Id: I09b8acd22d031ece52e1fee18b998349bf1cf06b
-
- 24 May, 2016 1 commit
-
-
Zoe Liu authored
This patch always compares the most recent show frames between the encoder and the decoder to test the mismatch. Change-Id: I68a91ad0996a598231450debfd616e24992419b5
-
- 11 May, 2016 1 commit
-
-
Yunqing Wang authored
In the tile-coding experiment, 1. In tile decoder, added 2 set control APIs: VP10_SET_DECODE_TILE_ROW and VP10_SET_DECODE_TILE_COL. It allowed users to set the range of decoding at frame level. 2. Added a unit test while tile-coding experiment is on. It tested both tile encoder and decoder to make sure the encoded frame can be decoded as a whole frame or as independent tiles. Change-Id: I73fd0632b685047cb9376008127cde72efa3fb2b
-
- 10 May, 2016 1 commit
-
-
hui su authored
Add control API VP9E_SET_TARGET_LEVEL that allows the encoder to control the output bitstream level and/or keep level related statistics. Usage: 255 do not care about level (default) 0 keep level related stats only 10 target for level 1 11 target for level 1.1 . . . 62 target for level 6.2 Usage for vpxenc: --target-level=0/255/10/11... Change-Id: I31d1aeca19358b893e7577b4e63748c8e614034a
-
- 02 May, 2016 1 commit
-
-
Angie Chiang authored
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1209 Change-Id: Ia189ec4c1cc9bbcb79a45d1904567d943e2b3bb6
-
- 25 Apr, 2016 1 commit
-
-
Vignesh Venkatasubramanian authored
This brings the struct's name in line with WebmInputContext. Change-Id: I1a1c7ae60b006ae5de8253177d6d996f5867866d
-
- 07 Apr, 2016 1 commit
-
-
Geza Lore authored
The uncompressed frame header contains a bit to signal whether the frame is encoded using 64x64 or 128x128 superblocks. This can vary between any 2 frames. vpxenc gained the --sb-size={64,128,dynamic} option, which allows the configuration of the superblock size used (default is dynamic). 64/128 will force the encoder to always use the specified superblock size. Dynamic would enable the encoder to choose the sb size for each frame, but this is not implemented yet (dynamic does the same as 128 for now). Constraints on tile sizes depend on the superblock size, the following is a summary of the current bitstream syntax and semantics: If both --enable-ext-tile is OFF and --enable-ext-partition is OFF: The tile coding in this case is the same as VP9. In particular, tiles have a minimum width of 256 pixels and a maximum width of 4096 pixels. The tile width must be multiples of 64 pixels (except for the rightmost tile column). There can be a maximum of 64 tile columns and 4 tile rows. If --enable-ext-tile is OFF and --enable-ext-partition is ON: Same constraints as above, except that tile width must be multiples of 128 pixels (except for the rightmost tile column). There is no change in the bitstream syntax used for coding the tile configuration if --enable-ext-tile is OFF. If --enable-ext-tile is ON and --enable-ext-partition is ON: This is the new large scale tile coding configuration. The minimum/maximum tile width and height are 64/4096 pixels. Tile width and height must be multiples of 64 pixels. The uncompressed header contains two 6 bit fields that hold the tile width/heigh in units of 64 pixels. The maximum number of tile rows/columns is only limited by the maximum frame size of 65536x65536 pixels that can be coded in the bitstream. This yields a maximum of 1024x1024 tile rows and columns (of 64x64 tiles in a 65536x65536 frame). If both --enable-ext-tile is ON and --enable-ext-partition is ON: Same applies as above, except that in the bitstream the 2 fields containing the tile width/height are in units of the superblock size, and the superblock size itself is also coded in the bitstream. If the uncompressed header signals the use of 64x64 superblocks, then the tile width/height fields are 6 bits wide and are in units of 64 pixels. If the uncompressed header signals the use of 128x128 superblocks, then the tile width/height fields are 5 bits wide and are in units of 128 pixels. The above is a summary of the bitstream. The user interface to vpxenc (and the equivalent encoder API) behaves a follows: If --enable-ext-tile is OFF: No change in the user interface. --tile-columns and --tile-rows specify the base 2 logarithm of the desired number of tile columns and tile rows. The actual number of tile rows and tile columns, and the particular tile width and tile height are computed by the codec ensuring all of the above constraints are respected. If --enable-ext-tile is ON, but --enable-ext-partition is OFF: No change in the user interface. --tile-columns and --tile-rows specify the WIDTH and HEIGHT of the tiles in unit of 64 pixels. The valid values are in the range [1, 64] (which corresponds to [64, 4096] pixels in increments of 64. If both --enable-ext-tile is ON and --enable-ext-partition is ON: If --sb-size=64 (default): The user interface is the same as in the previous point. --tile-columns and --tile-rows specify tile WIDTH and HEIGHT, in units of 64 pixels, in the range [1, 64] (which corresponds to [64, 4096] pixels in increments of 64). If --sb-size=128 or --sb-size=dynamic: --tile-columns and --tile-rows specify tile WIDTH and HEIGHT, in units of 128 pixels in the range [1, 32] (which corresponds to [128, 4096] pixels in increments of 128). Change-Id: Idc9beee1ad12ff1634e83671985d14c680f9179a
-
- 24 Mar, 2016 1 commit
-
-
Geza Lore authored
If configured with --enable-ext-tile, the codec uses an alternative tile coding syntax in the bitstream. Changes include:: - The maximum number of tile rows and columns is extended to 1024 each. - The minimum tile width/height is 64 pixels (1 superblock). - A tile copy mode is added where a tile directly reuse the coded data of a previous tile - The meaning of the tile-columns and tile-rows codec parameters are overloaded to mean tile-width and tile-height in units of 64 pixels. - All tiles should now be independent, including rows within the same columns, so large scale parallel, or independent decoding is possible. - vpxdec also gained the options to decode only a particular tile, tile row, or tile column. Changes without --enable-ext-tile: - All tiles should now be independent, including rows within the same columns, so large scale parallel, or independent decoding is possible. - vpxenc default tile configuration changed to use 1 tile column. Change-Id: I0cd08ad550967ac18622dae5e98ad23d581cb33e
-
- 22 Mar, 2016 1 commit
-
-
Yunqing Wang authored
In multi-thread case, the encoder may crash if using encoder option tile-rows > 0. To prevent that, force tile-rows=0 in this situation. This is a workaround for WebM issue 1095: https://bugs.chromium.org/p/webm/issues/detail?id=1095 The further fix can be done by adding synchronizations after a tile row is encoded. But this will hurt multi-threaded encoder performance. So, it is recommended to use tile-rows=0 while encoding with threads > 1. Change-Id: I656cbcc200f8d0410d09530e7981ad8f32fe7bc9
-
- 25 Feb, 2016 1 commit
-
-
James Zern authored
the same as vp8, with the same reasoning from: 2a0d7b1a Reduce the default kf_max_dist to 128. see also: https://trac.ffmpeg.org/ticket/4904 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815673 + restore vpxenc behavior of taking the library default rather than forcing 5s This change also exposes an issue with one-pass svc in cbr mode, keep the old default in datarate_test.cc for now. Change-Id: Id6d1244f42490b06fefc1a7b4e12a423a1f83e88
-
- 12 Feb, 2016 1 commit
-
-
James Zern authored
Change-Id: Ib6ed1b8c03f6c269f8d667b21b895b35363cee9e
-
- 03 Feb, 2016 1 commit
-
-
hui su authored
So that their usage info. will show up with --help. Change-Id: I8542240dcc98e8be29ac63d081f5abb932627cbf
-
- 18 Jan, 2016 1 commit
-
-
Ronald S. Bultje authored
After patch: $ vpxenc tennis_sif.y4m --end-usage=q -q 20 -o x.ivf --ivf --codec=vp9 --limit=30 $ ffmpeg -i x.ivf -i tennis_sif.y4m -lavfi psnr -f null - [..] [Parsed_psnr_0 @ 0x7f8913c21e40] PSNR y:43.270594 u:46.300362 v:47.011172 average:44.097994 min:43.460704 max:52.509271 Before patch: $ vpxenc tennis_sif.y4m --end-usage=q -q 20 -o x.ivf --ivf --codec=vp9 --limit=30 $ ffmpeg -i x.ivf -i tennis_sif.y4m -lavfi psnr -f null - [..] [Parsed_psnr_0 @ 0x7fbdaac22780] PSNR y:27.427366 u:41.505376 v:36.853477 average:28.990890 min:22.219454 max:52.509271 $ ffmpeg -i x.ivf -f rawvideo x.yuv $ ffmpeg -f rawvideo -vcodec rawvideo -video_size 352x240 -framerate 29.97 -i x.yuv -i tennis_sif.y4m -lavfi psnr -f null - [..] [Parsed_psnr_0 @ 0x7fadf9e013a0] PSNR y:43.270594 u:46.300362 v:47.011172 average:44.097994 min:43.460704 max:52.509271 Change-Id: Ifac2d6c2ff8379b2d318fe5cfe4be0bf1bc9f27f
-
- 14 Jan, 2016 1 commit
-
-
Debargha Mukherjee authored
Different quality levels are used for different regions in the frame depending on how far they are vertically from the center. Specifically, three segments are used based on the mi_row index with respect number to the number of mi_rows in the frame. Change-Id: Ifc8b777bc58ea8521dffc4640360c67d99f8d381
-
- 16 Dec, 2015 1 commit
-
-
Ronald S. Bultje authored
Change-Id: I1a9635a9948458e6c83f5b58764b7e720d98e2ea
-
- 29 Oct, 2015 1 commit
-
-
hui su authored
Change-Id: I53d9719dcb81fa83fe3c920a552db5a0f1cacefa
-
- 29 Sep, 2015 1 commit
-
-
Tom Finegan authored
BUG=https://code.google.com/p/webm/issues/detail?id=1066 Change-Id: I3bd26a516ef3d2742c523af570f639f9312df6df
-
- 21 Aug, 2015 1 commit
-
-
James Zern authored
CONFIG_VP10_ENCODER -> CONFIG_VP10_DECODER Change-Id: I6f1a798835acc4ef66bd2c5d6ffb02247c74b1d6
-
- 17 Aug, 2015 2 commits
- 14 Aug, 2015 1 commit
-
-
Yaowu Xu authored
CONFIG_VP9_HIGHBITDEPTH is currently used by both vp9 and vp10, but in many place outside vp9/vp10, the macro was used in conjunction of CONFIG_VP9. This created a dependency on vp9 for vp10 to build. This commit removes the dependency by use CONFIG_VP9_HIGHBITDEPTH only in these places. Change-Id: I8cc007fc9cf132394c6498ce6759e606b64a6ad0
-
- 12 Aug, 2015 3 commits
-
-
Yaowu Xu authored
1. information on --test-decode 2. vp10 specific parameters, currently shared with vp9 Change-Id: Ida4b691052441e68b9352746988027e5a2a26f48
-
Jingning Han authored
Change-Id: Iacbfac29898ac7954eb6375e83873dbb7390fd47
-
Jingning Han authored
This commit folks the VP9 and VP10 codebase and makes libvpx support VP8, VP9, and VP10. Change-Id: I81782e0b809acb3c9844bee8c8ec8f4d5e8fa356
-
- 06 Jul, 2015 1 commit
-
-
Debargha Mukherjee authored
Adds two new vp9 parameters --min-gf-interval and --max-gf-interval to enable testing based on frequency of alt-ref frames. Also adds a unit-test to test enforcement of min-gf-interval. For both these parameters the default value is 0, which indicates they are picked by the encoder, based on resolution and framerate considerations. If they are greater than zero, the specified parameter is honored. (Additional note by paulwilkins) Note that there is a slight oddity in that key frames are also GFs and considered part of GF only group. However they are treated as not being part of an arf group because for arf groups the previous GF is assumed to be the terminal or overlay frame for the previous group. (end note) Change-Id: Ibf0c30b72074b3f71918ab278ccccc02a95a70a0
-
- 05 Jun, 2015 2 commits
-
-
James Zern authored
move them under their respective config check to avoid some unused variable warnings when disabled Change-Id: Ic5e5280cf1bc1f56e8349676f0bedae4acef34ea
-
Frank Galligan authored
WebM files will adjust the display width and height according to the input pixel aspect ratio. The default pixel aspect ratio is 1:1. BUG=https://code.google.com/p/webm/issues/detail?id=1005 Change-Id: I23e0a601b7259fa9513cb86110c41b8437769808
-
- 04 Jun, 2015 1 commit
-
-
Yaowu Xu authored
Change-Id: Ic3b4f3c9a6d8f9b04efb8b5ee080880895063564
-
- 12 May, 2015 2 commits
-
-
James Zern authored
silences missing-prototype warnings Change-Id: I641a61b21f9de135e59e3769a2063d5a94f34746
-
James Zern authored
+ the definitions in the examples silences a missing-prototype warning Change-Id: I7c064cacd6d2073a6107de6c3e2cc46ef8a68411
-
- 13 Mar, 2015 2 commits
-
-
Yaowu Xu authored
The commit updates the comments in vp8cx.h to make it clear which codec support each of codec control functions. Change-Id: Ibf876e289d4325bbb61ce19311da60d384624c2f
-
Yaowu Xu authored
Also updated comments and doc to make it clear that the control is supported in VP9 only. Change-Id: I6f120b65135fc1185695e9e3dc29fbe0d430824b
-
- 13 Feb, 2015 1 commit
-
-
Adrian Grange authored
Change-Id: I11e4fd8dcd44b0475f3bff0545a035feb223ce55
-
- 11 Feb, 2015 1 commit
-
-
Yaowu Xu authored
This enbale the encoder to set color space information for the input video, so it is then coded in the output bitstream. Change-Id: Ife03deab3c762425ccd27c4c190902c4d94a76f4
-
- 02 Feb, 2015 1 commit
-
-
Johann authored
https://code.google.com/p/webm/issues/detail?id=906 Change-Id: I72841078ff81152d21d84ccf4d5548e757685a6d
-
- 14 Jan, 2015 1 commit
-
-
Yaowu Xu authored
This commit adds encoder side control for vp9 to set color space info in the output compressed bitstream. It also amends the "vp9_encoder_params_get_to_decoder" test to verify the correct color space information is passed from the encoder end to decoder end. Change-Id: Ibf5fba2edcb2a8dc37557f6fae5c7816efa52650
-
- 17 Dec, 2014 1 commit
-
-
Yaowu Xu authored
This commit removes undefined value options of cpu-used for VP9 and changed vpxenc prompt to reflect the usable range of [-8,8] Change-Id: Ib80fef3dbb6ec9aabac45ed13e8ab6fbaf94f55e
-
- 16 Dec, 2014 1 commit
-
-
Johann authored
Cast away remaining issues so that new ones don't get lost in the noise. Change-Id: Iacd6999b0686ce80f9835730d68db6382690fa92
-