Age | Commit message (Collapse) | Author |
|
Change-Id: I8cc38fdef6a2a0968af8dfe15e7c2b3c46c531ea
|
|
Change-Id: I73865bbbf6ea74434f15b73783ae97b4d273be80
|
|
vpxenc level changes to enforce one pass encoding with 0
lag_in_frames when --rt mode is on.
Change-Id: I3e71719e87c9f66566cb4d944cf5705904f9a5b8
|
|
Change-Id: I137e5e6585356792913e1e84da6c0a439c5153a5
|
|
Change-Id: I7dd8532052f0b2d4077f579e78db3987b58e3d2a
|
|
* changes:
vpxenc: find_mismatch/compare_img: normalize types
vpxenc: cosmetics
|
|
the public typedef already includes a const, quiets
'same type qualifier used more than once' warnings
Change-Id: Ib118b3b116fba59d4c6ead84d85b26e5d3ed363d
|
|
use uint32_t where appropriate, silences a few warnings
Change-Id: Ic362b08868b00f4828982757a7bcee081d50308d
|
|
find_mismatch() / compare_img(): const, whitespace
Change-Id: I1c65c2aac378535001720aca31e7437ee5492739
|
|
Replacing vpx_codec_cx_pkt argument with two separate pts and frame_size.
Change-Id: I7b37e379ee71342520cf08f03acfb4b499b2cbe4
|
|
Adding rate_hist.{h, c} files.
Change-Id: Iaa28af6b25ec8982966a7296a073d6017b3a7f96
|
|
the boarder size for encoder and decoder.
Change-Id: I7291a9e06035d1533202d7a75ab40abfc1131342
|
|
|
|
group vp8/vp9 only options under CONFIG_*_ENCODER
Change-Id: I331bb154df019b398780be6451355de50657a33e
|
|
Putting appropriate check to open_output_file() and close_output_file().
Before that the output file has been opened twice during two-pass encoding.
Change-Id: I290cecf00513d6a31ca3f45bc20fef7efcb10190
|
|
rewind() does not work on pipes.
https://code.google.com/p/webm/issues/detail?id=678
Change-Id: I057f1e25c3f5662012d6e33ff4c97c88f50df357
|
|
- Add command line args that allow display of warnings without prompting
for user input.
- Extend warning code to make it somewhat scalable.
Change-Id: I2bad8f9315f6eed120c2e1bbe0a2a5ede15fbf35
|
|
The idea here is to allow "in frame" adjustment of the final Q
value used to encode each SB64, using segmentation.
There is also adjustment of the rd mult in regions of overspend.
Activated using aq_mode=2
Change-Id: I2f140cd898c9f877c32cd6d2e667f5e11ada4b1c
|
|
- Rename the struct to VpxEncoderConfig.
- The idea behind this is to enable checking the global settings against
stream specific settings in source files other than vpxenc.c.
Change-Id: Ic736cbb714845b9466acb34671780d65b83ad1a8
|
|
Also, clean up stylistically questionable code near my changes.
Change-Id: I92c96a274cb339b7b74174a608f94ae86aba8354
|
|
|
|
Change-Id: I57e1ad4bed3487df12893ced77c49093f8755706
|
|
- Move IVF reading support into ivfdec.c and ivfdec.h
- Move IVF writing support into ivfenc.c and ivfenc.h
- Removed IVF writing code from the SVC example in favor of ivfenc.
Change-Id: I70adf6240d0320fdd232d8546ed573f0f68dd793
|
|
Change-Id: I6b245ef5017c49373ba33e30f8fbf3d1b97409b5
|
|
|
|
Relocate it to tools_common.h so we can stop duping this code
everywhere.
BUG=https://code.google.com/p/webm/issues/detail?id=660
Change-Id: If8aa49b74d297273cd9fd7006b2767837055a359
|
|
Change-Id: Ida0e1b2df89e992b8140672b70517d8623cf9ede
|
|
This is mainly a clean up patchset. It moves the WebM writing support
out of vpxenc and into its own source file. Changes to tools_common and
vpxdec result from relocation of shared bits of code.
Change-Id: Iee55d3285f56e0a548f791094fb14c5ac5346a26
|
|
First pass does not produce compressed data, therefore encode/decode
match check is not initialized.
Change-Id: I1971a6747337872a850987cc70ba267bd0f1d564
|
|
Change-Id: Id0bfaedf54ff3f59d4cf361c170a0b5a5711e5f2
|
|
The FrameRate element has been deprecated.
Change-Id: I68ac496e7b33685a100a45d2772e0ff30eb6a811
|
|
|
|
Change-Id: I76f440a917832c02d7a727697b225bac66b99f56
|
|
Change-Id: Id9ce44f3364dd57b30ea491d956a2a0d6186be05
|
|
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
|
|
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: Ib23c1a05ae2f36ee076c0e34403efbda518c5066
|
|
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:
9e50ed7 vpxenc: initial implementation of multistream support
fixes issue #585
Change-Id: I7e863e295dd6344c33b3e9c07f9f0394ec496e7b
|
|
Thanks to hiiragikei AT gmail.com for the fix.
Change-Id: Iab6c0822593fc5557d86efbb014ff6409ff05b35
|
|
Looks like test code.
Change-Id: I5deae2bf14ea6fdcbb9b9d993966c9abef95eb2e
|
|
These files can stand in until we get proper syntax vectors. They
should provide some additional assurance against inadvertant
bitstream changes.
Change-Id: I12f6c9a5f054e30df40a7ff1f33145abf7e1d59d
|
|
Fixes a condition where the address of the mismatching pixels was not
being found/printed.
Change-Id: Ifac5cd3471bc2437448128591eea7c7b87e2d8fe
|
|
Change-Id: Iffe7c2e6c6cb14b637420ffc368a5003f5db42fa
|
|
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
|
|
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
|
|
Restore ABI compatibility with the master branch.
Change-Id: Ic57e7e1de09ab33bd37990e52a63ba7c8f1432a4
|
|
Pick up VP8 encryption, quantization changes, and some fixes to vpxenc
Conflicts:
test/decode_test_driver.cc
test/decode_test_driver.h
test/encode_test_driver.cc
vp8/vp8cx.mk
vpxdec.c
vpxenc.c
Change-Id: I9fbcc64808ead47e22f1f22501965cc7f0c4791c
|
|
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
|
|
Changing 0x00 ('') fourcc byte to 0x30 ('0'). For VP8 from
0x00385056 to 0x30385056, for VP9 from 0x00395056 to 0x30395056.
Change-Id: I26b1b603c20dd41f7aeabf8cd7893dfd5b1c8b59
|
|
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
|
|
Account for skipped input frames when calculating frame rates, ETA.
Fixes https://code.google.com/p/webm/issues/detail?id=556
Change-Id: I9c8b51e02e9ff0ab2cf6f16fc9382fc7f6c77b80
|