- Jul 18, 2011
-
-
Tero Rintaluoma authored
Using small values for --buf-sz= in command line causes floating point exception due to division by zero. Change-Id: Ibfe2d44db922993a78ebc9a4a1087d9625de48ae
-
- Jul 12, 2011
-
-
Yunqing Wang authored
As reported in issue 331, vpxenc encoded incorrect webm file header on big endian machines. This change fixed that. Change-Id: I31924ebd476a87f3e88b9b5424540bf781d2b86f
-
- Jun 29, 2011
-
-
Johann Koenig authored
and divide by 0 errors Change-Id: I8af5ca3d0913cb6f278fff754f8772bcb62e674a
-
John Koleszar authored
For clips that are near 60fps and have a lot of alt refs, it's possible that the ring buffer holding the previous frames sizes/pts could wrap around, leading to a division by zero. In addition to checking for this condition in the ring buffer loop, the buffer size is made dependent on the actual frame rate in use, rather than defaulting to 60, which should improve accuracy at frame rates >= ~60. Change-Id: If5a04d6e847316dc5f7504f25c01164cf9332be8
-
- Jun 28, 2011
-
-
James Zern authored
Free buffers allocated for y4m input and webm cue list. Change-Id: I02051baae3b45f692cf5c7f520ea9a2d80c7b470
-
- Jun 23, 2011
-
-
John Koleszar authored
Add the --rate-hist=n option, which displays a histogram with n buckets for the rate over the --buf-sz window. Change-Id: I2807b5a1525c7972e9ba40839b37e92b23ceffaf
-
John Koleszar authored
Add the --q-hist=n option, which displays a histogram with n buckets for the quantizer selected on each frame. Change-Id: I59b020c26b0acae0b938685081d9932bd98df5c9
-
- Apr 27, 2011
-
-
Fritz Koenig authored
Fixes issue #323 Change-Id: I41c297df37afe186a8425ed2e2a95032069dcb9a
-
- Apr 25, 2011
-
-
John Koleszar authored
Adds a control to limit the maximum size of a keyframe, as a function of the per-frame bitrate. See this thread[1] for more detailed discussion: [1]: http://groups.google.com/a/webmproject.org/group/codec-devel/browse_thread/thread/271b944a5e47ca38 Change-Id: I7337707642eb8041d1e593efc2edfdf66db02a94
-
Alok Ahuja authored
Create a new input parameter to allow specifying the packed frame stereo 3d format. A default value of mono will be written in the absence of user specified input Change-Id: I576d9952ab5d7e2076fbf1b282016a9a1baaa103
-
- Apr 15, 2011
-
-
Johann Koenig authored
source files are not executable Change-Id: Id2c7294695a22217468426423979f68f02d82340
-
- Mar 30, 2011
-
-
John Koleszar authored
Identified as a possible cause of issue #308, the code was silently ignoring realloc failures, which would lead to corruption, memory leaks, and likely a crash. The best we can do in this case is die gracefully. Change-Id: Ie5f6a853d367015be5b9712bd742778f3baeefd9
-
- Mar 21, 2011
-
-
John Koleszar authored
Map an enum to the --end-usage values, so you can specify --end-usage=cq instead of --end-usage=2. The numerical values still work for historical scripts, etc, but this is more user friendly. Change-Id: I445ecd9638f801f5924a71eabf449bee293cdd34
-
- Mar 07, 2011
-
-
Ralph Giles authored
Cast size_t to (unsigned long) and print it with the %lu format string, which is more portable than C99's explict %zu for size_t. This truncates on Windows x64 but otherwise works on 32 and 64 bit platforms. In practice the stats file is unlikely to be so large. Change-Id: I0432b3acf85fc6ba4ad50640942e1ca4614b21cb
-
- Jan 28, 2011
-
-
Tero Rintaluoma authored
Adds following targets to configure script to support RVCT compilation without operating system support (for Profiler or bare metal images). - armv5te-none-rvct - armv6-none-rvct - armv7-none-rvct To strip OS specific parts from the code "os_support"-config was added to script and CONFIG_OS_SUPPORT flag is used in the code to exclude OS specific parts such as OS specific includes and function calls for timers and threads etc. This was done to enable RVCT compilation for profiling purposes or running the image on bare metal target with Lauterbach. Removed separate AREA directives for READONLY data in armv6 and neon assembly files to fix the RVCT compilation. Otherwise "ldr <reg>, =label" syntax would have been needed to prevent linker errors. This syntax is not supported by older gnu assemblers. Change-Id: I14f4c68529e8c27397502fbc3010a54e505ddb43
-
- Jan 07, 2011
-
-
Paul Wilkins authored
The merge includes hooks to for CQ mode and other code changes merged from the test branch. CQ mode attempts to maintain a more stable quantizer within a clip whilst also trying to adhere to a guidline maximum bitrate. The existing target data rate parameter is used to specify the guideline maximum bitrate. A new parameter allows the user to specify a target CQ level. For normal (non kf/gf/arf) frames, the quantizer will not drop BELOW the user specified value (0-63). However, in some cases the encoder may choose to impose a target CQ that is above that specified by the user, if it estimates that consistent use of the target value is not compatible with guideline maximum bitrate. Change-Id: I2221f9eecae8cc3c431d36caf83503941b25e4c1
-
- Dec 23, 2010
-
-
James Berry authored
stats_close() was not freeing memory for single pass runs. It now takes in arg_passes to determine when it should free memory. Change-Id: I6623b7e30b76f9bf2e16008490f9b20484d03f31
-
- Dec 17, 2010
-
-
John Koleszar authored
Add a new encoder control, VP8E_SET_TUNING, to allow the application to inform the encoder that the material will benefit from certain tuning. Expose this control as the --tune option to vpxenc. The args helper is expanded to support enumerated arguments by name or value. Two tunings are provided by this patch, PSNR (default) and SSIM. Activity masking is made dependent on setting --tune=ssim, as the current implementation hurts speed (10%) and PSNR (2.7% avg, 10% peak) too much for it to be a default yet. Change-Id: I110d969381c4805347ff5a0ffaf1a14ca1965257
-
- Dec 13, 2010
-
-
James Berry authored
read_frame would incorrectly insert detect->buf into img for ivf files. detect->position now set to 4 if input file is detected to be ivf in file_is_ivf to keep this from occuring. Change-Id: I5e235dd3033985bc62707a35c13af5984620208e
-
- Nov 25, 2010
-
-
Pascal Massimino authored
remove warning comment in vpxenc.c: in case of 1x1 picture, detect_bytes will be equal to '3' and we'll fall back to RAW_TYPE. fix read_frame() by tracking the pre-read buffer length in the struct detect Change-Id: If1ed86ee5260dcdbc8f9d10da6cbb84a4cc2f151
-
- Nov 12, 2010
-
-
Frank Galligan authored
When the first pts equaled 0 ivfenc was incorrectly increasing the pts by 1. I changed the pts and last pts to be signed. I also set the default value of last pts to -1. Change-Id: I30bcec5af9b16d93fa9e3abbea7764b133e9cd73
-
- Nov 05, 2010
-
-
John Koleszar authored
Change Ice204e86 identified a problem with bitrate undershoot due to low precision in the timestamps passed to the library. This patch takes a different approach by calculating the duration of this frame and passing it to the library, rather than using a fixed duration and letting the library average it out with higher precision timestamps. This part of the fix only applies to vpxenc. This patch also attempts to fix the problem for generic applications that may have made the same mistake vpxenc did. Instead of calculating this frame's duration by the difference of this frame's and the last frame's start time, we use the end times instead. This allows the framerate calculation to scavenge "unclaimed" time from the last frame. For instance: start | end | calculated duration ======+=======+==================== 0ms 33ms 33ms 33ms 66ms 33ms 66ms 99ms 33ms 100ms 133ms 34ms Change-Id: I92be4b3518e0bd530e97f90e69e75330a4c413fc
-
- Nov 04, 2010
-
-
Yaowu Xu authored
The old value 1000 was too low, which caused the effective duration and frame rate calculation to have an 1% error for typical 30 frame/second inputs. Symptom of the issue has been that most 2 pass encodings were undershooting target bit rate by 1% or so for 30 fps input. Change-Id: Ice204e86f844ceb9ce973456f2b995cc095283cf
-
- Nov 03, 2010
-
-
John Koleszar authored
Defaulting to 320x240 for raw streams is arbitrary and error-prone. Instead, require that the width and height be set manually if they can't be parsed from the input file. Change-Id: Ic61979857e372eed0779c2677247e894f9fd6160
-
- Nov 02, 2010
-
-
John Koleszar authored
STDIO streams are opened in text mode by default on Windows. This patch changes the stdin/stdout streams to be in binary mode if they are being used for I/O from the vpxenc or vpxdec tools. Fixes issue #216. Thanks to mw AT hesotech.de for the fix. Change-Id: I34525b3ce2a4a031d5a48d36df4667589372225b
-
- Oct 29, 2010
-
-
John Koleszar authored
Undo an automatic transform. Change-Id: Ie730a6a31b4680b34e54b61691d67c4b3ed2f2aa
-
- Oct 28, 2010
-
-
Timothy B. Terriberry authored
This eliminates a large set of warnings exposed by the Mozilla build system (Use of C++ comments in ISO C90 source, commas at the end of enum lists, a couple incomplete initializers, and signed/unsigned comparisons). It also eliminates many (but not all) of the warnings expose by newer GCC versions and _FORTIFY_SOURCE (e.g., calling fread and fwrite without checking the return values). There are a few spurious warnings left on my system: ../vp8/encoder/encodemb.c:274:9: warning: 'sz' may be used uninitialized in this function gcc seems to be unable to figure out that the value shortcut doesn't change between the two if blocks that test it here. ../vp8/encoder/onyx_if.c:5314:5: warning: comparison of unsigned expression >= 0 is always true ../vp8/encoder/onyx_if.c:5319:5: warning: comparison of unsigned expression >= 0 is always true This is true, so far as it goes, but it's comparing against an enum, and the C standard does not mandate that enums be unsigned, so the checks can't be removed. Change-Id: Iead6cd561a2afaa3d801fd63f1d8d58953da7426
-
Frank Galligan authored
If --psnr option is enabled vpxenc will output PSNR values for the entire file. Added a \n before final output to make sure the output is on its own line. Overall and Avg psnr matches the values written to opsnr.stt file. Change-Id: Ibac5fa9baf8d5a626ea0d6ba161b484e6e8427ee
-
Timothy B. Terriberry authored
This eliminates a large set of warnings exposed by the Mozilla build system (Use of C++ comments in ISO C90 source, commas at the end of enum lists, a couple incomplete initializers, and signed/unsigned comparisons). It also eliminates many (but not all) of the warnings expose by newer GCC versions and _FORTIFY_SOURCE (e.g., calling fread and fwrite without checking the return values). There are a few spurious warnings left on my system: ../vp8/encoder/encodemb.c:274:9: warning: 'sz' may be used uninitialized in this function gcc seems to be unable to figure out that the value shortcut doesn't change between the two if blocks that test it here. ../vp8/encoder/onyx_if.c:5314:5: warning: comparison of unsigned expression >= 0 is always true ../vp8/encoder/onyx_if.c:5319:5: warning: comparison of unsigned expression >= 0 is always true This is true, so far as it goes, but it's comparing against an enum, and the C standard does not mandate that enums be unsigned, so the checks can't be removed. Change-Id: Iaf689ae3e3d0ddc5ade00faa474debe73b8d3395
-
- Oct 27, 2010
-
-
Frank Galligan authored
If --psnr option is enabled vpxenc will output PSNR values for the entire file. Added a \n before final output to make sure the output is on its own line. Overall and Avg psnr matches the values written to opsnr.stt file. Change-Id: I869268b704fe8b0c8389d318cceb6072fea102f8
-
John Koleszar authored
MKV requires a unique(ish) TrackID element in the track info header. Instead of the current hard-coded ID, take a hash of the video track and use that. This value is not written in the deterministic output mode, despite being a deterministic value itself, to give flexibility to change the hash algorithm and not affect bisecting across the change. Change-Id: I807fc3ea6d1427a151c3ef703269b67e80aef860
-
- Oct 26, 2010
-
-
John Koleszar authored
By baking the version number into the output file, a hash of the file will vary from commit to commit, even if the output is otherwise bit exact. Add a -D option to suppress this behavior, for use when bisecting or other debugging. Change-Id: I5089a8ce5719920ffaf47620fa9069b81fa15673
-
John Koleszar authored
The WebM writer requires a seekable stream. Change-Id: I192e00706a0685362d41b8d2faf80add63d564b9
-
John Koleszar authored
Requiring the output file to be specified with the -o option opens up the possibility of supporting multiple input files in the future. Change-Id: I14c9b75e9b21184b47081e1ccf30cf4c91315964
-
John Koleszar authored
Saves a little typing. FPS is a well known abbreviation. Change-Id: I53730ea36afb9309732eb1c72c52d824d5365fec
-
John Koleszar authored
WebM should be preferred to IVF output, since it has wider tool support. Change-Id: I5ac3d5cb68722e6c8af917cdba32ac01dd5e0ea2
-
John Koleszar authored
The new WebM output support should be preferred to IVF, but we can't change the default behavior of the ivf* tools. There are a few other default behaviors for these tools that are counterintuitive for historical reasons, and changing the binary name provides the opportunity to clean those up as well. This patch takes the first step by renaming the binaries. Change-Id: I647008ae37cc352dd27ec1da7ed13489e0609b24
-
John Koleszar authored
This patch adds the --webm option, to allow the creation of WebM streams without having to remux ivf into webm. Change-Id: Ief93c114a6913c55a04cf51bce38f594372d0ad0
-
Frank Galligan authored
Ivfenc will use timebase if it is set. If it is not set ivfenc will still double the timebase so altref frames will have a unique pts. Patch Set #3: Use integer math to generate source pts. Added a framerate parameter. Increased the default timebase to milliseconds to remove the *2 everywhere. Change-Id: I8d25b5b2cb26deef7eb72d74b5f76c98cafaf4db
-
- Oct 11, 2010
-
-
John Koleszar authored
An earlier automatic transform changed eg '\nOptions' to '\n_options' which is incorrect in these printfs. Fix these. Change-Id: I7e0f37931ef82b79fadddd7058ce0df5572e2ca1
-