Age | Commit message (Collapse) | Author |
|
|
|
Changing webmdec to use libwebm for WebM file parsing.
Change-Id: I2a57a7b44dbed05eaa04409e1e75e6fc03b30fbc
|
|
|
|
There are a few tests which read/write directly to/from WebM files. They should
be disabled when --disable-webm-io is passed.
Change-Id: Ibac4732e27c66da33082151ba6e6993eaa9a1efd
|
|
Change-Id: I88f86c8ff9af34e0b6531028b691921b54c2fc48
|
|
Remove duplicate WebM parsing code in test/webm_video_source.h and linking it
against webmdec.c which does the exact same thing.
Change-Id: Ib7152eecde890fca58be42028cab18c9cb54221c
|
|
Change-Id: I08fe184a04e5435aeac92f1d7cc9733ca52c2783
|
|
There was a bug with the decoder that if you started the decoder
with more threads than the first frame had tile columns. Afterwards
tried to decode a frame with more tile columns than the first frame,
the decoder would hang. E.g. run vpxdec --threads=4. The first frame
had two tile columns, then the next key frame had 4 tile columns, the
decoder would hang. If you started with 4 tiles and switched to 2
tiles the decoder would be fine. The issue is that the worker the thread
loop is using is stale.
I added a test vector "vp90-2-14-resize-848x480-1280x720.webm" that
exhibited the bug.
Change-Id: I7bdd47241a52ac0fe1c693a609bc779257e94229
|
|
For very large size video image, the scaling calculation may need use
value beyond the range of int. This commit upgrade the value to 64bit
to make sure the calculation do not wrap around INT_MAX.
The change corrected the decoder behavior.
The bug affects only very large resolution video because the scaling
calculation was sufficient for image size smaller than 2^13.
This resolves issue:
https://code.google.com/p/webm/issues/detail?id=750
Change-Id: I2d2ed303ca6482f31f819f3c07d6d3e98ef3adc5
|
|
Change-Id: Ib09eedc17ea0ea2eec75d78112e4786d98f382aa
|
|
Activated using aq_mode=3.
Change-Id: Ied628b9e7bd0e88b0c75790276bca75b19eb5c07
|
|
Change-Id: I641a75dd75cd3c53a20eb4dbceb7a9b70a5a0e4d
|
|
Change-Id: I6e7d6fa557be2af49722d3726991ae7c40f90f4e
|
|
- move vp9-only vp9_subtract_test.cc to vp9 block
- move sad_test.cc to a common location
Change-Id: Ie033bbf2c31e7faaae73f2050d657619bfaa3287
|
|
|
|
not just CONFIG_VP8_ENCODER; there's now VP9 code in the same file
Change-Id: I73d8b9141af1374b37480fb0495e17a7952eb4f9
|
|
Change-Id: Idf58109195a88dec66c5e1ea6a51c61e6c659ff1
|
|
|
|
Change-Id: I70240e50927b4379603628f6349bf615f756b5a1
|
|
|
|
Change-Id: I39286df9fc76e3451f14ce2652d671e11b0c37bc
|
|
Added support for external frame buffers to libvpx's VP9 decoder.
If the external frame buffer functions are set then libvpx will
call the get function whenever it needs a new frame buffer to
decode a frame into. And it will call the release function
whenever there are no more references to that buffer.
Change-Id: Id2934d005f606af6e052fb6db0d5b7c02f567522
|
|
When showing a previously decoded frame, i.e. when
show_existing_frame=1, the update of the
last_show_frame flag must be disabled.
This is to ensure that the last_show_frame flag
reflects the state of the flag for the immediately
previously decoded frame rather then the value that
was forced to ensure that a previously decoded frame
would be displayed.
This patch also adds a test vector to verify that the
display_existing_frame flag works as expected. Code
for generating the test vector can be found in this
patch:
https://gerrit.chromium.org/gerrit/#/c/68581/
(Bug originally reported by Alexander Voronov
<ru.xalba@gmail.com>).
Change-Id: I731d288fba02088959f7fcc87707137fffc6acf5
|
|
A future CL will add external frame buffers
differently.
Squash commit of four revert commits:
Revert "Increase required number of external frame buffers"
This reverts commit 9e41d569d7c84dd9ca8f0047c15377a883945685.
Revert "Add external constants."
This reverts commit bbf53047b03106e3c2e24b28cb836cc838db5ee8.
Revert "Add frame buffer lru cache."
This reverts commit fbada948fa345e67acf9aa41a8f9a78f5dfe8648.
Conflicts:
vpxdec.c
Change-Id: I76fe42419923a6ea6c75d9997cbbf941d73d3005
Revert "Add support to pass in external frame buffers."
This reverts commit 10f891696bc4c972c13cc9fde2c53470501a03e2.
Conflicts:
test/external_frame_buffer_test.cc
vp9/common/vp9_alloccommon.c
vp9/common/vp9_reconinter.c
vp9/decoder/vp9_decodeframe.c
vp9/encoder/vp9_onyx_if.c
vp9/vp9_dx_iface.c
vpx/vpx_decoder.h
vpx/vpx_external_frame_buffer.h
vpx_scale/generic/yv12config.c
vpxdec.c
Change-Id: I7434cf590f1c852b38569980e4247fad0d939c2e
|
|
Change-Id: I2dc7b3265d0a87d7a26c95b48e360c7c68cc7355
|
|
Change-Id: Ida3128e7e8a2ed333ac0b4ee92c23cb7dc1b7843
|
|
From frame 2, the lpf deltas are all cleared for for even frames, and
a set of values are set and used for odd frames. The intention is to
exercise decoding code around lpf delta/update decoding.
Change-Id: Ic9ff1bc2c2a023f4805852f8573398f2ec2249d7
|
|
* changes:
Remove redundant function and calls
Add test for partial inverse transforms
|
|
To make sure the results they produce to match their full versions
Change-Id: Ib00b036fecf43fe20af716acfc580af18ef87757
|
|
The added vector was encoded with aq mode on, with the intent to
exercise the decode code around segment feature.
Change-Id: Iedcb7261e87d3e11b25ecf031d3a69385271148e
|
|
Add an option for libvpx to return the least recently used
frame buffer.
Change-Id: I886a96ffb94984f1c42de53086e0131922df3260
|
|
VP9 decoder can now use frame buffers passed in by the application.
Change-Id: I599527ec85c577f3f5552831d79a693884fafb73
|
|
Change-Id: I36f9033492f12fda7f9ce0e7a97a009aab9aab57
|
|
3840x2160
vp90-2-08-tile_1x8_frame_parallel.webm
vp90-2-08-tile_1x8.webm
vpxenc crowd_run_2160p50.y4m \
--codec=vp9 -p 2 \
--frame-parallel=${fpm} \
--tile-columns=${tc} \
--limit=10 \
--auto-alt-ref=1 \
--lag-in-frames=5 \
--target-bitrate=2500
Change-Id: I6dc19b4fca483d03ef9a897a843bf9037d095c8e
|
|
The test vector exercises the loopfilter behavior at frame boundary.
blue_sky_1080p25.y4m --good --cpu-used=2 --threads=0 --profile=0
--lag-in-frames=25 --limit=300 --min-q=0 --max-q=63 --cq-level=20
--end-usage=0 --auto-alt-ref=1 -p 2 --kf-max-dist=9999 --kf-min-dist=0
--drop-frame=0 --static-thresh=0 --bias-pct=50 --minsection-pct=0
--maxsection-pct=2000 --arnr-maxframes=7 --arnr-strength=5
--arnr-type=3 --sharpness=0 --undershoot-pct=100 --target-bitrate=6000
Change-Id: Ibd0807395d2fe87f24f81f990369678df3de7c23
|
|
Also added a test vector for this issue.
Change-Id: I8a8654f9d33b27afd53c295f1ea44d198550d067
|
|
Added the test vector provided by Attila, which caught the bug in
Issue 661 "Decoder produces mismatched outputs with ssse3 enabled
and disabled"
vp90-hantro-stream-001.ivf
size: 320x180; 20 frames
Change-Id: Ic0d2b57ac7596ecb938dd55abc8c706fc2dd6d8f
|
|
Change-Id: Id578a5fe2039631cefd82dc2ef98cc62683194c3
|
|
1920x1080
vp90-2-08-tile-4x4.webm
vp90-2-08-tile-4x4.webm.md5
vpxenc blue_sky_1080p25 --frame-parallel=0 \
--tile-columns=2 --tile-rows=2 \
--lossless=0 --error-resilient=0 \
--min-q=0 --max-q=30 --kf-min-dist=0 --kf-max-dist=9999 \
--cpu-used=0 --codec=vp9 -p 2 --good --fps=25/1 --limit=5
vp90-2-08-tile-4x1.webm
vp90-2-08-tile-4x1.webm.md5
vpxenc blue_sky_1080p25 --frame-parallel=0 \
--tile-columns=0 --tile-rows=2 \
--lossless=0 --error-resilient=0 \
--min-q=0 --max-q=30 --kf-min-dist=0 --kf-max-dist=9999 \
--cpu-used=0 --codec=vp9 -p 2 --good --fps=25/1 --limit=5
Change-Id: I77d0ccf9b721ae5cfa72781fe0d3c534ea43b756
|
|
|
|
SVC multiple layer per frame encoding is invoked with vpx_svc_init and
vpx_svc_encode. These interfaces are designed to be invoked from ffmpeg.
Additional improvements:
- make dummy frame handling a bit more explicit
- fixed bug with single layer encodes
- track individual frame sizes and psnrs instead of averages
- parameterized quantizer, 16th scalefactors, more logging,
- enabled single layer encodes to generate baseline
- include new mode for 3 layer I frame with 5 total layers
Change-Id: I46cfa600d102e208c6af8acd6132e0cc25cda8d4
|
|
1920x1080
vp90-2-08-tile_1x2_frame_parallel.webm
vp90-2-08-tile_1x2.webm
vp90-2-08-tile_1x4_frame_parallel.webm
vp90-2-08-tile_1x4.webm
vpxenc blue_sky_1080p25.y4m \
--codec=vp9 -p 2 \
--frame-parallel=${fpm} \
--tile-columns=${tc} \
--limit=10 \
--auto-alt-ref=1 \
--lag-in-frames=5 \
--target-bitrate=2500
Change-Id: Id9c94b722cc553a6865d443a94e8482c78b038bb
|
|
This reverts commit a82001b1cfd688601bbda9b08b3d20e9b46b14d4, reversing
changes made to f6d870f7ae6f968bdbc342af80c8f71fa98f2ac2.
This commit breaks windows builds and needs some work to fix those and
some additional comments.
Change-Id: Ic0b0228e36704b127e5e399ce59db26182cfffe7
|
|
These changes were originally made in the Stratacaster team-review repository
commit e114bffcd82ad74c3696ec58e13c0ac895d6c82d
Author: Charles 'Buck' Krasic <ckrasic@google.com>
Date: Mon Oct 14 16:52:13 2013 -0700
Make dummy frame handling a bit more explicit, fixing bug
with single layer encodes.
Squashed commit of the following:
commit 1ebbfd976c0fadb02bf1ea562a2d0e3f0206daad
Merge: ac468dd 54e88b7
Author: Ivan Maltz <ivanmaltz@google.com>
Date: Fri Oct 11 17:29:58 2013 -0700
Move SVC code from vp9_spatial_scalable_encoder to libvpx module accessible from ffmpeg
commit 54e88b78b160becc9569fc3c6cb6b0a8c95dc357
Author: Ivan Maltz <ivanmaltz@google.com>
Date: Tue Oct 8 09:08:40 2013 -0700
common svc encoding code for sample app and ffmpeg
added svc_encodeframe.c, svc_context.h, svc_test.cc
vp9_spatial_scalable_encoder uses vpx_svc_encode
commit 5616ec8e2e3d3e8d277333d8a9242f6c70151162
Merge: 4528014 e29137d
Author: Ivan Maltz <ivanmaltz@google.com>
Date: Tue Oct 8 08:47:58 2013 -0700
Merge branch 'master' into stratacaster
commit 45280148450b1f3d61e390df8aadedf85cd5bce1
Merge: bb2b675 1ab60f7
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Fri Oct 4 10:22:31 2013 -0700
Merge branch 'master' into stratacaster
commit bb2b675e595dc9bfc8551e963edf56800c3aea61
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Wed Oct 2 12:37:26 2013 -0700
Track individual frame sizes and psnrs instead of averages.
commit c6d303b714795c81e7ceb4173967115c9f8ff5b7
Merge: fa87df9 3583087
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Fri Sep 27 10:05:35 2013 -0700
Merge branch 'master' into stratacaster
commit fa87df94fba923d9f7aeb8ae20c6e15f777e00b5
Merge: bf22d71 3c465af
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Thu Sep 26 16:10:31 2013 -0700
Merge branch 'master' into stratacaster
commit bf22d7144895a82e0c348ac177c8a261b9e2b88e
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Thu Sep 26 11:10:34 2013 -0700
Parameterized quantizer, 16th scalefactors, more logging, enabled single layer encodes to generate baseline.
commit ceffd7e6025b765f9886b5ea0f324248aa37e327
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Thu Sep 19 10:04:49 2013 -0700
- Include new mode for 3 layer I frame with 5 total layers.
- Refactor svc api.
Change-Id: Ie4d775e21e006fa597d884c59488dc999478e9b5
|
|
vp90-2-07-frame_parallel.webm:
vpxenc stefan_sif.y4m \
--codec=vp9 -p 2 \
--frame-parallel=1 \
--limit=10 \
--auto-alt-ref=1 \
--lag-in-frames=5
Change-Id: I7381a69aaaec238b309169a51b34cb6bf29a9c50
|
|
Adding appropriate test vector vp90-2-06-bilinear.webm.
Change-Id: Ia3bbf57318e0cc61a1b724fe751e3f9c7e11b337
|
|
Modified the resize unit test so that it optionally
writes the encoded bitstream to file. The macro
WRITE_COMPRESSED_STREAM should be set to 1 to enable
output of the test bitstream; it is set to 0 by default.
Change-Id: I7d436b1942f935da97db6d84574a98d379f57fb1
|
|
Added the resize_test unit test to the VP9 set.
Set g_in_frames = 0 to avoid a problem when the total
number of frames being encoded is smaller than
g_in_frames. In this case the test will not have
access to the encoded frames and will not be able to
compare them for testing for encoder/decoder mismatch.
Change-Id: I0d2ff8ef058de7002c5faa894ed6ea794d5f900b
|
|
This is a bitstream change but no currently produces videos should
be affected. https://code.google.com/p/webm/issues/detail?id=610
Change-Id: Ic85a6477df6c201cdf7f70f6bd84607b71f4593c
|
|
This adds a test vector for 444 color space.
Change-Id: I1e2ac3883211989a062cfafc0e58151b14d294b8
|