Commit Graph

14390 Commits

Author SHA1 Message Date
Jingning Han
50461166b7 Enable sub8x8 inter mode with scaled ref frame in RD optimization
This commit allows the encoder to include sub8x8 inter mode with
scaled reference frame in the rate-distortion optimization scheme.

Change-Id: Ibbe9678801592826ef22566566dcdeeb008350d5
2015-09-09 00:29:06 +00:00
Jingning Han
0278ae16f6 Merge "Fix the sub8x8 block inter prediction with scaled reference frame" 2015-09-09 00:28:42 +00:00
Debargha Mukherjee
e6ec22cb8c Merge "Remove some trailing whitespaces" 2015-09-09 00:26:36 +00:00
Marco
bda690d446 Move cyclic_refresh struct into .h file.
Change-Id: I9327cd52d0ec050887ba7e591b094d74bd36bce8
2015-09-08 13:49:24 -07:00
Jingning Han
42b0560319 Fix the sub8x8 block inter prediction with scaled reference frame
Sync the encoder's buffer offset calculation for sub8x8 block motion
compensated prediction with scaled reference frame to match the
decoder's behavior. This resolves an enc/dec mismatch issue when
sub8x8 inter mode with scaled is turned on.

Change-Id: I4bab3672b007a5ae0c992f8a701341892d2458b0
2015-09-08 11:09:30 -07:00
Ronald S. Bultje
1589ecb0ae Add misc_fixes experiment.
Will be used to hold various trivial bitstream fixes.

Change-Id: Ic8ba07a2ae392db7c956ebae124913afe2ae4409
2015-09-08 14:05:08 -04:00
Ronald S. Bultje
e1d22db451 Don't reset sign_bias fields in vp10_setup_past_independence().
The fields are always coded in the frame itself, so there is never any
dependency on past frames. In practice, this fixes sign_bias being
ignored when error_resilient_mode=1.

See issue 1011.

Change-Id: I9d134ef6b445ced4d100fa735ce579855a0fa5af
2015-09-08 13:48:20 -04:00
Debargha Mukherjee
1c8567ff09 Remove some trailing whitespaces
Change-Id: Icf06d35ca347713253d1eba341a894b51efa81a9
2015-09-08 01:31:04 -07:00
James Zern
ad0ac045d5 vp9/decode_tiles_mt: move frame count accum from loop
the check performed within the while was redundant; simply place the
accumulation after all tiles are decoded.

Change-Id: I6a74e87257c775fd8bfc8ac4511e4a6ad8f18346
2015-09-04 20:24:29 -07:00
James Zern
5e1e6a9f17 VP9Decoder: remove duplicate tile_worker_info
unnecessary since: 86f4a3d Remove tile param

Change-Id: Iff75d3acf6c5aade833ea0a214c919279403cf97
2015-09-04 19:47:33 -07:00
James Zern
2d06b08cba vp9/decode_tiles_mt: move some inits from inner loop
worker copies of pbi/xd/counts only need to be initialized once

Change-Id: I0081a85b9c82d39573c22d2fd2c670ec2f7b8715
2015-09-04 19:47:33 -07:00
James Zern
0548046ae3 vp9_accumulate_frame_counts: pass counts directly
Change-Id: Ic3c6cfba5b1867c335f2834da936e20caec8597a
2015-09-04 19:47:33 -07:00
Ronald S. Bultje
536a90970b Merge "Make update_map/temporal_update fields implicit for keyframes." 2015-09-04 23:53:24 +00:00
James Zern
9511b948ef Merge "VPX: subpixel_8t_ssse3 asm using x86inc" 2015-09-04 05:30:57 +00:00
Scott LaVarnway
195883023b VPX: subpixel_8t_ssse3 asm using x86inc
This is based on the original patch optimized for 32bit
platforms by Tamar/Ilya and now uses the x86inc style asm.
The assembly was also modified to support 64bit platforms.

Change-Id: Ice12f249bbbc162a7427e3d23fbf0cbe4135aff2
2015-09-03 20:35:51 -07:00
Ronald S. Bultje
d88cee3712 Make update_map/temporal_update fields implicit for keyframes.
These frame types cannot make bitstream parsing depend on previous
frames, so the hypothetical combinations of e.g. keyframe=1 and
update_map=0 or keyframe=1 and temporal_update=1 are non-sensical.
Therefore, make it impossible to code such combinations in the vp10
bitstream header.

See issue 1044.

Change-Id: I3f0a83d5c7e3989541a469a909471424a285239d
2015-09-03 21:19:45 -04:00
Adrian Grange
4679af1ce9 Merge "Fix to dynamic resize mode under change_config()." 2015-09-03 21:44:45 +00:00
Marco
be3489eaf4 Fix to dynamic resize mode under change_config().
If the encoder dynamic resize is triggered and change config()
is then called, it will reset the current (resized) codec width/height
back to the the config (unresized) width/height (which will then
prevent the resizing action from occurring in encoder_loop).

Avoid this by checking for a change in the config width/height
before resetting the cm->width/height.

Change-Id: Id9d50c0ee8a943abe4b6c72bbaa02d9696f93177
2015-09-03 13:30:26 -07:00
Ronald S. Bultje
ecd34e6494 Unify coding order of MC filters between blocks and frame header.
In VP9, the order for frame header was: [0] smooth, [1] regular, [2]
sharp, [3] bilinear. Per-block, the order was [0] regular, [1] smooth
and [2] sharp. For VP10, swap smooth/regular in the frame header so
that the block ordering and frame header ordering are interchangeable.

See issue #1046.

Change-Id: Ic9ec5964874375e40cd59bef50b489a76cbe4365
2015-09-03 09:34:55 -07:00
James Zern
e5732bcf05 test/*.h: use inline rather than INLINE
inline is always available in c++

Change-Id: Ie8e4fc4df75309b649d7ef36bb5aadd95554035f
2015-09-02 18:44:28 -07:00
James Zern
b5c50ae91f Merge "Revert "add range_check for fdct in vp10"" 2015-09-03 01:25:44 +00:00
James Zern
43a4900ea3 Revert "add range_check for fdct in vp10"
Tests fail to build.

This reverts commit f78d6aa772.

Change-Id: Ia220270517ded273c65a7ab965d82edb696663c9
2015-09-03 00:23:16 +00:00
Angie Chiang
3080691e92 Merge "add range_check for fdct in vp10" 2015-09-02 22:27:47 +00:00
Angie Chiang
f78d6aa772 add range_check for fdct in vp10
Unify the style of fdct4() fdct8() fdct16()
Add fdct32()
Add range_check() at each stage
Add unit test at ../../test/vp10_dct_test.cc

Change-Id: I9e912b2c5683862e65c5a21abc3e1c260cca4576
2015-09-02 13:50:17 -07:00
Johann Koenig
bdb8afbbc0 Merge changes If253fb95,I1c8a792c,I49f9b10f,I15472738,I1e7f3c32
* changes:
  test: limit the valid image size on OS/2
  configure: add -Zhigh-mem to LDFLAGS on OS/2
  configure: disable PIC on OS/2
  Makefile: add $(STACKREALIGN) to CFLAGS for vp9_reconintra.c
  x86inc.asm: fix NASM compilation
2015-09-02 19:21:46 +00:00
KO Myung-Hun
9af8c39694 test: limit the valid image size on OS/2
Without this, test_libvpx crashes at VP9FrameSizeTestsLarge.ValidSizes
on OS/2.

Change-Id: If253fb95a04216babed56458f0fab8c70523fc7e
2015-09-02 19:04:16 +09:00
KO Myung-Hun
e909da888c configure: add -Zhigh-mem to LDFLAGS on OS/2
-Zhigh-mem enables to allocate very large memory on OS/2.

Change-Id: I1c8a792cc792c65ce9539a6d3d6b77fc4767848a
2015-09-02 19:04:15 +09:00
KO Myung-Hun
8a6f0551f1 configure: disable PIC on OS/2
Change-Id: I49f9b10faa059decf18e123a1f88738071b9c2b8
2015-09-02 19:04:14 +09:00
KO Myung-Hun
fb2dd7366b Makefile: add $(STACKREALIGN) to CFLAGS for vp9_reconintra.c
Without this, test_libvpx crashes at
VP9MultiThreadedFrameParallel.PauseSeekResume on OS/2.

Change-Id: I15472738f4166d97cb49868652982d351a291c11
2015-09-02 19:04:14 +09:00
KO Myung-Hun
6b56405f5e x86inc.asm: fix NASM compilation
Change-Id: I1e7f3c32969dac7911921062b396750302878c2e
2015-09-02 19:04:13 +09:00
Johann Koenig
356c944782 Merge changes I2e0cc72a,I63a7da78,I4aee2600,I71113505,I3dce6c70, ...
* changes:
  Only build multithreaded functions on mt builds.
  Don't build calc_psnr for high bit depth.
  Enable missing dual lpf test
  Remove unused VP10 functions.
  Mark VP10 functions as 'INLINE'
  Remove unused functions from test files
  Only build append_negative_gtest_filter when it is used.
  Add INLINE decoration to static test functions
2015-09-02 02:46:54 +00:00
Johann
c7f58bcc70 Only build multithreaded functions on mt builds.
Change-Id: I2e0cc72a0543bfea1d2d3499b9906519d5cb3f15
2015-09-01 17:05:05 -07:00
Johann
bd89a34c3a Don't build calc_psnr for high bit depth.
Change-Id: I63a7da7857534dcb4c69ed316c1feadea9ffb45b
2015-09-01 17:05:05 -07:00
Johann
f642ee891b Enable missing dual lpf test
Found with -Wunused-function
Change-Id: I4aee260016ae522e3fbbd72977ff09a8ebe5f3cf
2015-09-01 17:05:05 -07:00
Johann
e5357230e2 Remove unused VP10 functions.
Change-Id: I711135054f02883289cca2efb1f109637009ffbb
2015-09-01 17:05:04 -07:00
Johann
7e14baa1da Mark VP10 functions as 'INLINE'
Change-Id: I3dce6c702344a5cb5aaf9de1e4be44c53f9ce7e9
2015-09-01 17:05:04 -07:00
Johann
906ec30c10 Remove unused functions from test files
Change-Id: Id479a83fe3cb7d989a490328b3ff526530777f81
2015-09-01 17:05:04 -07:00
Johann
95633d0e80 Only build append_negative_gtest_filter when it is used.
Change-Id: If6fec02fd8125b368ea83c99208575ac0d4a662b
2015-09-01 17:03:55 -07:00
Johann
9a5e0d4038 Match improved vp9/10 style in libs.mk
Change-Id: I5402c4e4a7d028f4865f429ec5ac6cb592aa2dcb
2015-09-01 21:39:55 +00:00
Johann
e5b76ba26e Add INLINE decoration to static test functions
Fixes "unused function" warnings.

Change-Id: Idc0cd06189917c37dead17d923ac7f9ecef18983
2015-09-01 12:46:29 -07:00
Yunqing Wang
2474bea46e Merge "Disable temporal/spatial svc test in VP10" 2015-09-01 19:01:13 +00:00
Yunqing Wang
eb1566b632 Disable temporal/spatial svc test in VP10
The svc tests are disabled since it is not supported in VP10.

Change-Id: Ie6801e7a573b27afd1ea951bf037ccbae1201e8b
2015-08-31 22:46:44 -07:00
Johann
c5f11912ae Include vpx_dsp_common.h when using VPXMIN/MAX
Change-Id: I2e387a06484a06301f3cd6600c4ba2f4335b61ee
2015-08-31 14:36:35 -07:00
Yunqing Wang
9a9b1cf772 Merge "Fix an indent" 2015-08-31 17:49:45 +00:00
Johann Koenig
6a467ee711 Merge "Check CONFIG_VP<N> instead of encoder and decoder" 2015-08-31 17:46:20 +00:00
Yaowu Xu
08507eb82a Merge "Expand the idct4_c() function in idct8_c()" 2015-08-31 16:38:36 +00:00
Yunqing Wang
36c51c7afe Fix an indent
An indent fix in bitstream.c.

Change-Id: Ia47e9ac5b01490cb2173a254444848b7bed56e5c
2015-08-31 08:41:50 -07:00
James Zern
d5657905b6 vp10: fix high bitdepth build
broken since:
c147c4d vp10 cleanup: remove svc code

Change-Id: Id703502b2d645fc051a5d9a23e6f1715d92a116b
2015-08-29 15:47:46 -07:00
James Zern
cc29cebde6 Merge changes from topic 'vp9-enc-static-fns'
* changes:
  vp9_mcomp: make search functions private
  vp9_mbgraph: use vp9_full_pixel_search(HEX)
  vp9_temporal_filter: use vp9_full_pixel_search(HEX)
  vp9_firstpass: make vp9_init_subsampling private
  vp9_encoder: make vp9_alloc_compressor_data private
2015-08-29 03:25:29 +00:00
James Zern
6d585393a2 update gitignore
Change-Id: I01c8ba864b73fd3a66c10442041274767ac87bf1
2015-08-28 20:22:00 -07:00