- 16 Oct, 2013 - 1 commit
-
-
Yaowu Xu authored
First pass does not produce compressed data, therefore encode/decode match check is not initialized. Change-Id: I1971a6747337872a850987cc70ba267bd0f1d564
-
- 07 Oct, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: Id0bfaedf54ff3f59d4cf361c170a0b5a5711e5f2
-
- 24 Sep, 2013 - 1 commit
-
-
Tom Finegan authored
The FrameRate element has been deprecated. Change-Id: I68ac496e7b33685a100a45d2772e0ff30eb6a811
-
- 19 Sep, 2013 - 1 commit
-
-
Yaowu Xu authored
Change-Id: I76f440a917832c02d7a727697b225bac66b99f56
-
- 18 Sep, 2013 - 1 commit
-
-
James Zern authored
Change-Id: Id9ce44f3364dd57b30ea491d956a2a0d6186be05
-
- 06 Sep, 2013 - 1 commit
-
-
Deb Mukherjee authored
Adds a new end-usage option for constant quality encoding in vpx. This first version implemented for VP9, encodes all regular inter frames using the quality specified in the --cq-level= option, while encoding all key frames and golden/altref frames at a quality better than that. The current performance on derfraw300 is +0.910% up from bitrate control, but achieved without multiple recode loops per frame. The decision for qp for each altref/golden/key frame will be improved in subsequent patches based on better use of stats from the first pass. Further, the qp for regular inter frames may also be varied around the provided cq-level. Change-Id: I6c4a2a68563679d60e0616ebcb11698578615fb3
-
- 21 Aug, 2013 - 1 commit
-
-
Deb Mukherjee authored
Currently, the best quality mode in VP9 is not very well developed, and unnecessarily makes the encode too slow. Hence the command line default is changed to "good" quality. Also, the number of passes default is changed to 2 passes as well, since 1-pass encoding is not very efficient in VP9. Besides, a number of VP9 defaults are set to the currently recommended settings. With these changes, vpxenc run with --codec=vp9 --kf-max-dist=9999 --cpu-used=0 should work about the same as our borg results. Note when the --cpu-used=0 option is dropped there will be a slight difference in the output, because of a difference in the cpu-used value for the first pass. Specifically, the default when unspecified is to use cpu_used=1 for the first pass and cpu_used=0 for the second pass. But when specified, both passes will use the cpu-used value specified. Note that this also changes the default for VP8 as being "good" but other options stay unchanged. Change-Id: Ib23c...
-
- 15 Aug, 2013 - 1 commit
-
-
James Zern authored
write_ivf_file_header would incorrectly skip writing the file header in the 2nd pass, causing the initial frame header to be overwritten on close potential causing an overly large frame header to be read and a crash. most likely broken since: 9e50ed7f vpxenc: initial implementation of multistream support fixes issue #585 Change-Id: I7e863e295dd6344c33b3e9c07f9f0394ec496e7b
-
- 25 Jun, 2013 - 1 commit
-
-
John Koleszar authored
Thanks to hiiragikei AT gmail.com for the fix. Change-Id: Iab6c0822593fc5557d86efbb014ff6409ff05b35
-
- 17 Jun, 2013 - 1 commit
-
-
Scott LaVarnway authored
Looks like test code. Change-Id: I5deae2bf14ea6fdcbb9b9d993966c9abef95eb2e
-
- 13 Jun, 2013 - 1 commit
-
-
John Koleszar authored
These files can stand in until we get proper syntax vectors. They should provide some additional assurance against inadvertant bitstream changes. Change-Id: I12f6c9a5f054e30df40a7ff1f33145abf7e1d59d
-
- 11 Jun, 2013 - 1 commit
-
-
John Koleszar authored
Fixes a condition where the address of the mismatching pixels was not being found/printed. Change-Id: Ifac5cd3471bc2437448128591eea7c7b87e2d8fe
-
- 10 May, 2013 - 1 commit
-
-
John Koleszar authored
Change-Id: Iffe7c2e6c6cb14b637420ffc368a5003f5db42fa
-
- 06 May, 2013 - 1 commit
-
-
John Koleszar authored
Adds a new experiment CONFIG_NON420 that allows other chroma subsamplings to be passed to the codec. This commit allows the data to be passed from a y4m input file through vpxenc to the codec, where they're currently rejected. Later commits will finish support for this inside the codec. Change-Id: Ib3aac604d8cad9e24cef395fa1067f16ba7e8e43
-
- 08 Apr, 2013 - 1 commit
-
-
Jingning Han authored
Clamp only the motion vectors inferred from neighboring reference macroblocks. The motion vectors obtained through motion search in NEWMV mode are constrained during the search process, which allows a relatively larger referencing region than the inferred mvs. Hence further clamping the best mv provided by the motion search may affect the efficacy of NEWMV mode. Synchronized the decoding process. The decoded mvs in NEWMV modes should be guaranteed to fit in the effective range. Put a mv range clamping function there for security purpose. This improves the coding performance of high motion sequences, e.g., derf set: foreman 0.233% husky 0.175% icd 0.135% mother_daughter 0.337% pamphlet 0.561% stdhd set: blue_sky 0.408% city 0.455% also saw sunflower goes down by -0.469%. Change-Id: I3fcbba669e56dab779857a8126a91b926e899cb5
-
- 27 Mar, 2013 - 1 commit
-
-
John Koleszar authored
Restore ABI compatibility with the master branch. Change-Id: Ic57e7e1de09ab33bd37990e52a63ba7c8f1432a4
-
- 26 Mar, 2013 - 1 commit
-
-
Deb Mukherjee authored
Adds an experiment to use a weighted prediction of two INTER predictors, where the weight is one of (1/4, 3/4), (3/8, 5/8), (1/2, 1/2), (5/8, 3/8) or (3/4, 1/4), and is chosen implicitly based on consistency of the predictors to the already reconstructed pixels to the top and left of the current macroblock or superblock. Currently the weighting is not applied to SPLITMV modes, which default to the usual (1/2, 1/2) weighting. However the code is in place controlled by a macro. The same weighting is used for Y and UV components, where the weight is derived from analyzing the Y component only. Results (over compound inter-intra experiment) derf: +0.18% yt: +0.34% hd: +0.49% stdhd: +0.23% The experiment suggests bigger benefit for explicitly signaled weights. Change-Id: I5438539ff4485c5752874cd1eb078ff14bf5235a
-
- 22 Mar, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Changing 0x00 ('') fourcc byte to 0x30 ('0'). For VP8 from 0x00385056 to 0x30385056, for VP9 from 0x00395056 to 0x30395056. Change-Id: I26b1b603c20dd41f7aeabf8cd7893dfd5b1c8b59
-
- 14 Mar, 2013 - 1 commit
-
-
John Koleszar authored
This is like VP8_COPY_REFERENCE, but returns a pointer to the reference frame rather than a copy of it. This is useful when the application doesn't know what the size of the reference is, as is the case when scaling is in effect. Change-Id: I63667109f65510364d0e397ebe56217140772085
-
- 11 Mar, 2013 - 1 commit
-
-
John Koleszar authored
Account for skipped input frames when calculating frame rates, ETA. Fixes https://code.google.com/p/webm/issues/detail?id=556 Change-Id: I9c8b51e02e9ff0ab2cf6f16fc9382fc7f6c77b80
-
- 05 Mar, 2013 - 1 commit
-
-
Ronald S. Bultje authored
Because ctx->err is not set in that case, it will not report the error on stderr. Change-Id: Ifacbf5a03e676fd56522b03c0281d6c723c563ee
-
- 04 Mar, 2013 - 4 commits
-
-
John Koleszar authored
Fixes a rollover of the cx_time variable for encodes that take over ~4200 seconds. Also enable the time estimate in first pass. Change-Id: Ib5a98ee71bccd79a804d709cec7260651d0b7141
-
John Koleszar authored
Scales the input of the encoder using libyuv's "box filter". Each stream may have a different width and height specified. If the width (or height) parameter is missing (or is explicitly set to 0) then the value will be calculated based on the specified height (or width) and the input file's dimensions, preserving its aspect ratio. Leaving the height unspecified behaves similarly. Change-Id: I700ef89ce54fb87588420a71c39c0e3e73b1a40e
-
Ronald S. Bultje authored
Allows the user to specify whether decode errors should be fatal or not. Also makes mismatches optionally fatal. Change-Id: I58cff4a82f3d42f5653b91cf348a7f669377e632
-
John Koleszar authored
Make the progress line more useful by providing per-frame updates of processing frame rate and estimated time remaining. Fixes issue #534. Change-Id: Ic91551878ff4b2f5db1cedaafb588add220cfa52
-
- 27 Feb, 2013 - 2 commits
-
-
John Koleszar authored
Fixes a rollover of the cx_time variable for encodes that take over ~4200 seconds. Also enable the time estimate in first pass. Change-Id: Ib5a98ee71bccd79a804d709cec7260651d0b7141
-
John Koleszar authored
Scales the input of the encoder using libyuv's "box filter". Each stream may have a different width and height specified. If the width (or height) parameter is missing (or is explicitly set to 0) then the value will be calculated based on the specified height (or width) and the input file's dimensions, preserving its aspect ratio. Leaving the height unspecified behaves similarly. Change-Id: Ic7026810b13be030826be80dc6f7fc4aaf0c35d0
-
- 22 Feb, 2013 - 1 commit
-
-
Jingning Han authored
This patch includes 4x4, 8x8, and 16x16 forward butterfly ADST/DCT hybrid transform. The kernel of 4x4 ADST is sin((2k+1)*(n+1)/(2N+1)). The kernel of 8x8/16x16 ADST is of the form sin((2k+1)*(2n+1)/4N). Change-Id: I8f1ab3843ce32eb287ab766f92e0611e1c5cb4c1
-
- 21 Feb, 2013 - 1 commit
-
-
Ronald S. Bultje authored
Allows the user to specify whether decode errors should be fatal or not. Also makes mismatches optionally fatal. Change-Id: I58cff4a82f3d42f5653b91cf348a7f669377e632
-
- 20 Feb, 2013 - 1 commit
-
-
Yaowu Xu authored
Change-Id: I7b7b8d4fda3a23699e0c920d727f8c15d37d43aa
-
- 13 Feb, 2013 - 2 commits
-
-
Ronald S. Bultje authored
These allow sending partial bitstream packets over the network before encoding a complete frame is completed, thus lowering end-to-end latency. The tile-rows are not independent. Change-Id: I99986595cbcbff9153e2a14f49b4aa7dee4768e2
-
John Koleszar authored
Make the progress line more useful by providing per-frame updates of processing frame rate and estimated time remaining. Fixes issue #534. Change-Id: Ic91551878ff4b2f5db1cedaafb588add220cfa52
-
- 07 Feb, 2013 - 1 commit
-
-
Jingning Han authored
Refactor the 8x8 inverse hybrid transform. It is now consistent with the new inverse DCT. Overall performance loss (due to the use of this variant ADST, and the rounding errors in the butterfly implementation) for std-hd is -0.02. Fixed BUILD warning. Devise a variant of the original ADST, which allows butterfly computation structure. This new transform has kernel of the form: sin((2k+1)*(2n+1) / (4N)). One of its butterfly structures using floating-point multiplications was reported in Z. Wang, "Fast algorithms for the discrete W transform and for the discrete Fourier transform", IEEE Trans. on ASSP, 1984. This patch includes the butterfly implementation of the inverse ADST/DCT hybrid transform of dimension 8x8. Change-Id: I3533cb715f749343a80b9087ce34b3e776d1581d
-
- 05 Feb, 2013 - 1 commit
-
-
Ronald S. Bultje authored
This patch adds column-based tiling. The idea is to make each tile independently decodable (after reading the common frame header) and also independendly encodable (minus within-frame cost adjustments in the RD loop) to speed-up hardware & software en/decoders if they used multi-threading. Column-based tiling has the added advantage (over other tiling methods) that it minimizes realtime use-case latency, since all threads can start encoding data as soon as the first SB-row worth of data is available to the encoder. There is some test code that does random tile ordering in the decoder, to confirm that each tile is indeed independently decodable from other tiles in the same frame. At tile edges, all contexts assume default values (i.e. 0, 0 motion vector, no coefficients, DC intra4x4 mode), and motion vector search and ordering do not cross tiles in the same frame. t log Tile independence is not maintained between frames ATM, i.e. tile 0 of frame 1 is free to use motion vect...
-
- 03 Feb, 2013 - 1 commit
-
-
KO Myung-Hun authored
Change-Id: Ib88ab619fa4e1593e85ca325555f2c4648ac9bc7
-
- 26 Jan, 2013 - 1 commit
-
-
Deb Mukherjee authored
Adds a flag to disable features that would inhibit frame parallel decoding. This includes backward adaptation and MV sorting based on search in ref frame buffer. Also includes some minor clean-ups. Change-Id: I434846717a47b7bcb244b37ea670c5cdf776f14d
-
- 24 Jan, 2013 - 2 commits
-
-
Paul Wilkins authored
Visual Studio reports and error on the line static const int bsize2 = bsize >> 1; "error C2099: initializer is not a constant" Also warnings on signed/unsigned mismatch Change-Id: I76cb06f736bd9c90107a26bfb3c130ec3f6c33de
-
Deb Mukherjee authored
Adds an error-resilient mode where frames can be continued to be decoded even when there are errors (due to network losses) on a prior frame. Specifically, backward updates are turned off and probabilities of various symbols are reset to defaults at the beginning of each frame. Further, the last frame's mvs are not used for the mv reference list, and the sorting of the initial list based on search on previous frames is turned off as well. Also adds a test where an arbitrary set of frames are skipped from decoding to simulate errors. The test verifies (1) that if the error frames are droppable - i.e. frame buffer updates have been turned off - there are no mismatch errors for the remaining frames after the error frames; and (2) if the error-frames are non droppable, there are not only no decoding errors but the mismatch PSNR between the decoder's version of the post-error frames and the encoder's version is at least 20 dB. Change-Id: Ie6e2bcd436b1e8643270356d3a930e8989ff52a5
-
- 26 Dec, 2012 - 1 commit
-
-
John Koleszar authored
Various fixups to resolve issues when building vp9-preview under the more stringent checks placed on the experimental branch. Change-Id: I21749de83552e1e75c799003f849e6a0f1a35b07
-
- 29 Nov, 2012 - 1 commit
-
-
Deb Mukherjee authored
This patch allows use of 8x8 and 4x4 ADST correctly for Intra 16x16 modes and Intra 8x8 modes when the block size selected is smaller than the prediction mode. Also includes some cleanups and refactoring. Rebase. Change-Id: Ie3257bdf07bdb9c6e9476915e3a80183c8fa005a
-