Граф коммитов

1839 Коммитов

Автор SHA1 Сообщение Дата
Jingning Han efc115f481 Store the predicted motion vectors
Change-Id: I860ebd612cac998e143ac5bcbf06e3954a62b047
2016-04-04 15:00:22 -07:00
Jingning Han 6a720986ac Add reference motion vectors from collocated reference blocks
This commit extends the search range to include the motion vectors
from collocated reference blocks.

Change-Id: I1c856ab42c78d7a92cdb8bc169713a9335b0e908
2016-04-04 14:49:00 -07:00
Jingning Han 79864820de Refactor vp10_drl_idx concept
Remove the implicit assumption on offsetting the index by 1.

Change-Id: I2d2b9848916e16723fddd58e7a15e4e7ac4963e3
2016-04-04 11:57:37 -07:00
Jingning Han 8a13bbe828 Enable entropy coding of the dynamic motion vector referencing syntax
This commit enables entropy coding of the syntax elements used in
the dynamic motion vector referencing system.

Change-Id: If876c7df6402caf4b6daa3d511328da522e95233
2016-04-04 10:35:08 -07:00
Jingning Han c443f820b7 Enable dynamic ref motion vector mode for compound inter block
This commit enables the dynamic reference motion vector coding mode
for the compound inter blocks.

Change-Id: I3d6edea7cf241cbb108709b57aeb54f811029237
2016-04-04 09:42:19 -07:00
Jingning Han 9fdd1124d0 Support multiple reference motion vector candidates
This commit generalizes dynamic reference motion vector coding mode
to support multiple candidate modes in the rate-distortion
optimization scheme and to support the selection in the bit-stream
syntax. The maximum number of modes allowed is currently limited to
4. The syntax elements for the dynamic reference motion vector
modes are using binary codes.

Change-Id: I63ada01c18d4aaa2e3770811130fa8a42a88ab62
2016-04-01 18:09:05 -07:00
Jingning Han 883f1df7c7 Enable dynamic motion vector referencing system
This commit enables the dynamice motion vector referencing system
for inter predicted modes with single reference frame.

Change-Id: Ib3502c746276a859a7b443ec2687b71d4c788dc0
2016-04-01 16:24:00 -07:00
Jingning Han 472615c342 Generate compound reference motion vector
Use and compare the reference frame vector to find the reference
motion vector candidates for compound mode.

Change-Id: Ie9d1006f5121593a2311fcaeac411a54a705d266
2016-04-01 11:12:37 -07:00
Jingning Han d53bc5f9f2 Properly reset ZEROMV mode context
When the current frame does not have its previous frame for
reference, reset the ZEROMV mode context.

Change-Id: I6018ede03adea76c4c5335e0eb34ab60df0576c7
2016-04-01 09:40:12 -07:00
Jingning Han 51c5b0d9c0 Fix use_prev_frame_mvs assignment
This commit synchronizes the value assigned to cm->use_prev_frame_mvs.
It resolves a potential mismatch between encoder and decoder.

Change-Id: I2208017db73f8a83cbb50027776db8dc67526b44
2016-04-01 09:11:58 -07:00
Jingning Han aeb60057e5 Refactor reference motion vector search process
Unify the reference motion vector candidate search for row, column,
and single block cases. Make it support later extended reference
frame contexts.

Change-Id: I1278a9f1ed8561eccc8460b4edff4b97d438ad9b
2016-03-31 16:51:03 -07:00
Jingning Han 3b4479eb82 Enable context analyzer for inter mode entropy coding
It allows the codec to account for certain corner cases when
processing inter prediction mode entropy coding.

Change-Id: I51a1adda0d9e27bd1e18d912fd56ca4422b607b4
2016-03-31 16:26:14 -07:00
Jingning Han de6741bfa3 Enable adaptive prediction mode coding
This commit allows the codec to analyze the reference motion vector
candidate list and adaptively reduce the size of inter prediction
mode set.

Change-Id: I98f25bbf17cc844a84cfc568be27912f31fbe478
2016-03-31 15:48:47 -07:00
Jingning Han 6e03ddffa8 Re-design motion compensated prediction mode entropy coding system
This commit re-works the entropy coding scheme of the motion
compensated prediction modes. It allows a more flexible hyperplane
partition for precise classification.

Change-Id: Id02d4015a053affea9c19b1188873fbd7b906e92
2016-03-31 15:48:44 -07:00
Jingning Han d7f1cb0082 Add top-right neighbor into candidate list
This commit allows the codec to check the top-right neighbor block
when available for reference motion vector candidates.

Change-Id: I94c19bdb5e2cb8c1f58bd39a3001873fcc55b08c
2016-03-30 17:45:18 -07:00
Jingning Han 793e2a1bd3 Make sub8x8 block ref mv search consistent to regular blocks
Check all motion vectors in the immediate above and left blocks if
the boundary condition matched with that of the reference block.

Change-Id: Ie1c263065eded01fbf735c1518de8162cc377e89
2016-03-30 15:59:08 -07:00
Jingning Han 98ee80185a Integrate motion vector into the coding pipeline
This commit ports the motion vector stack from motion field
analyzer to the encoding and decoding pipeline.

Change-Id: I9f265f198b3f7b52dad8948490959041159fd6b2
2016-03-30 15:53:08 -07:00
Jingning Han 1d1ede9431 Construct motion vector reference candidate list
The motion vectors are ranked according to their likelihood to be
chosen for the coding block.

Change-Id: Ib3bb40aa6794da015c4760b98f02334a396e6459
2016-03-30 15:46:51 -07:00
Adrian Grange 0defd8f261 Changed "WebM" to "AOMedia" & "webm" to "aomedia"
Change-Id: I5e1a9b79ecc50ea9e7eea2746f40ba872d7d80e4
2016-03-29 23:04:48 +00:00
Jingning Han 117c1e38a0 Add n8_h/w to macroblockd
This will simplify the block size update in many places.

Change-Id: I255093692315d81340900baea6ccee0c02b9abd4
2016-03-29 14:43:15 -07:00
Adrian Grange 54e6676757 Replace "VPx" by "AVx"
Change-Id: If363eccaa8be7fb9f8cf41488bf3f5e6d4c00645
2016-03-29 21:35:38 +00:00
Adrian Grange 00ce1fb2b3 Set project to AOMedia & version number to 0.1.0
Change-Id: I04a2a732274f7773a9a1991591d881ea4d4874e8
2016-03-29 10:15:34 -07:00
Adrian Grange dfdf944dea Add copyright notice to all .asm files
Change-Id: I4696600fff3df51f0206c559bb1a30d0b53815e1
2016-03-29 09:41:56 -07:00
Adrian Grange e106d434b0 Add copyright notice to .mk files
Change-Id: Ie4cc33c4be4768f8b51dc3160ccfe90ebb34886d
2016-03-29 09:36:13 -07:00
Adrian Grange fa8ca9f2c2 Change "vp9" to "av1"
Change-Id: I5942c24dec6fdcfe7e27518c8049b59e6f99a1aa
2016-03-28 12:56:02 -07:00
Adrian Grange ec838b76b6 Convert "vp8" to "aom"
Change-Id: I0d57cf019d5715d3360736763be0c5afe0bd0de4
2016-03-28 12:18:16 -07:00
Adrian Grange 80edfa0132 Change "VP9" to "AV1"
Change-Id: I6f40ab4725f59bee3d05e3989c1510dfd847b7f9
2016-03-28 12:13:50 -07:00
Adrian Grange d1a11fb9dd Change "vp8" to "aom"
Change-Id: I7fce5490afdc78ac62dafc4616b617d251487979
2016-03-25 16:04:42 -07:00
Adrian Grange dd1a5c8db5 Replace "VP8" with "AOM"
Note: Check AOMD_SET_DESCRIPTOR; there was a VPX & VP8 version
that when renamed become the same.

Change-Id: I022a71c0dfcd77948dda35ec754167e03bca616d
2016-03-25 14:24:04 -07:00
Adrian Grange ff00fc0f24 Change "VPX" to "AOM"
Change-Id: I6593a44de3b571193c2a4c8787ddf3b2fc24a268
2016-03-25 12:57:08 -07:00
Yaowu Xu 01dee0bba5 Change "vp10" to "av1" in source code
Change-Id: Ifd0d08b97538dcc04227eceb6fb087224c760c59
2016-03-25 12:43:01 -07:00
Adrian Grange cebe6f0cf5 Convert "vpx" to "aom"
Change the name of source files to replace "vpx" with "aom".
Change occurences of "vpx" in the code to "aom".

Change-Id: I002c0eaa2c350cf1a895bf01bea5788c61328027
2016-03-25 12:25:01 -07:00
Yaowu Xu 17b0567940 rename vp10*.mk to av1_*.mk
Change-Id: I88f59b030f61d3db473f434b8ce5fd96f6597e35
2016-03-25 09:47:05 -07:00
Yaowu Xu fe5f8a8a47 rename files vp10_* to av1_*
Change-Id: I017e3b64d5074ad47fed8cd642fdf366bd475b1b
2016-03-25 09:16:38 -07:00
Adrian Grange ee9843dfa3 Add AOM copyright notice to all .h files
Change-Id: I5629de7726c65fb1463dff5fc5c1c82a3862a8f9
2016-03-24 12:28:27 -07:00
Adrian Grange a872b06380 Add AOM copyright header to all .c files
Change-Id: I79d52362aec9565cc4b6fe7a1c1c08dcfb726465
2016-03-24 11:43:07 -07:00
Adrian Grange 73efc7a01b Remove unused local variable "lossless"
Change-Id: Ia7305f269dcf1242e38adc39f0372f4bc8b78394
2016-03-23 12:47:49 -07:00
Yaowu Xu 3d26d91670 libvpx -> libaom
Change-Id: I820483aefdc14f2ae946e08fe10fa01f3e845767
2016-03-22 12:33:42 -07:00
Yaowu Xu cfea7dd766 vp10/ -> av1/
Change-Id: Ia055d03656ad1580447eced8687949583fdf4089
2016-03-22 09:53:27 -07:00