Age | Commit message (Collapse) | Author |
|
|
|
Change-Id: I79576920efb7f3f6f197d386727409759d8bda8d
|
|
The final goal is eventually to get rid of both itxm_add and fwd_txm4x4.
This patch does it in the decoder.
Change-Id: Ibb3db57efbcbb1ac387c6742538a9fcf2c6f24a5
|
|
https://gerrit.chromium.org/gerrit/#/c/70162/
Change-Id: I797be6a4b21460de6d791125fc20d2be3a35364f
|
|
The current decode_tiles decodes the frame one tile by one tile
and then loopfilter the whole frame or use another worker thread to
do loopfiltering.
|------|------|------|------|
|Tile1-|Tile2-|Tile3-|Tile4-|
|------|------|------|------|
For example, if a tile video has one row and four cols, decode_tiles
will decode the Tile1, then Tile2, then Tile3, then Tile4.
And during decode each tile, decode_tile will decode row by row in
each tile.
For frame parallel decoding, decode_tiles will decode video in row order
across the tiles. So the order will be:
"Decode 1st row of Tile1" -> "Decode 1st row of Tile2"
-> "Decode 1st row of Tile3" -> "Decode 1st row of Tile4"
-> "Decode 2nd row of Tile1" -> "Decode 2nd row of Tile2"
-> "Decode 2nd row of Tile3" -> "Decode 2nd row of Tile4"-> "loopfilter 1st row"
Change-Id: I2211f9adc6d142fbf411d491031203cb8a6dbf6b
|
|
Change-Id: I9ef40f3d95ab8f94f69e92ea25678a40956bc1ce
|
|
vp9_decoder.c
vp9_dthread.c
Change-Id: Iaafe941545db98e9e3559096a955894646084ac2
|
|
|
|
This change is mainly for a follow CL that will refactor the
decode_tiles.
Change-Id: I52de6f8dbada75a64d9a94ebb5975136ed0960b4
|
|
Change-Id: I0315cea6a5e58182bc2556e9825ec2ef0b1480c3
|
|
|
|
Inline loopfilter has been already handled in vp9_decode_frame().
Collecting all similar code in one place now.
Change-Id: I358a0280fc7c2b27cca520bc1e8c16c4eb6491dd
|
|
Change-Id: I910c437b80af90c50831e1fbff75842d4276a027
|
|
|
|
Fixes the idecoder in the case where:
cm->error_resilient_mode == 0, and
cm->frame_parallel_decoding_mode == 0, but
new_fb->corrupted == 1.
The assert in debug_check_frame_counts fails to
take into account the case of a corrupt frame.
Change-Id: Idf318a68458cc88d65d6f3f408a10d8ffe87e43f
|
|
We only used two members from that struct: max_threads and inv_tile_order.
Moving them directly to VP9Decoder struct.
Change-Id: If696a4e5b5b41868a55f3cc971e1d7c1dd9d5f69
|
|
Don't update the stats if we have a corrupted frame.
Change-Id: I65a13adc50e0389b4201d3b671f0225195dfaff4
TODO: Test case that shows this problem.
|
|
Change-Id: I88f86c8ff9af34e0b6531028b691921b54c2fc48
|
|
Actually, it would be great to have two separate enums INTRA_MODES and
INTER_MODES in future.
Change-Id: I6c4147cf0002853da9c1e03fe9514eab876f01c8
|
|
|
|
This reverts commit 22a3e30790d141033778e430a47ba7d558237362
Change-Id: I460d905edf5fb2006da58c18fbe02c04d0c631bb
|
|
|
|
|
|
Change-Id: I7a5230852cb24ce22bfe85ea2608cdb4619b5200
|
|
|
|
|
|
Adds some high-level hooks for profile 2 before further
progress on the implementation.
According to the definitiion in this patch:
1. Profile 2 only supports 10 or 12 bit color but not 8
2. Profile 2 supports all color sampling modes: 444, 422 and 420,
and alpha plane.
3. Profile 3 is currently undefined.
Please consider the definition carefully and suggest modifications
to the definition as needed.
Change-Id: I5b284fc679e54ac5aee171af72fa7994cfd28995
|
|
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
|
|
Change-Id: Ieb9b455b8aaef9884391021b7f640ef24c554687
|
|
Change-Id: Iad4002d7aecaae0e25d88e286bacde7e6cd7264f
|
|
Now interp_kernel is obtained when it is really required (based on
mbmi->interp_filter value).
Change-Id: I4c7a93c179d1045eba16e7526c293d02c9b8b47e
|
|
Change-Id: I88e018442c527cf21eac791f0768e805dda244f1
|
|
Renames:
mi_8x8 -> mi
mode_info_stride -> mi_stride
Change-Id: I66f3e5fd1e7b7f46f108af5bb711c5fd9493c1be
|
|
Change-Id: Ie2ea9dd8bd338cc9fe12ca9033df64f7644c68b3
|
|
Change-Id: I3e20c0cdb9d2437bddf21afb255855f2dead8e02
|
|
Change-Id: I32beb5f18c10b5771146c55933b5555487f53633
|
|
Change-Id: I4c4772c0e6aca2c7d7085a72412ac8dba8874a3d
|
|
Change-Id: I713af99d1e17e05a20eab20df51d74ebfd1a68d2
|
|
|
|
|
|
This is to silent a number misalignment warning reported by valgrind.
Change-Id: Ia47a06010b28d7a88dde21f3e4ccb9308fc6f8cf
|
|
Change-Id: Ie224e968589bdb0774dc112e6f6df56cc0447465
|
|
Change-Id: Ib3c1746e61220c629cbd971b2458aa686b5c9e36
|
|
|
|
Change-Id: Id1fa36c92cb007b73a450cc8552e810cedad38b9
|
|
Change-Id: If4c1a48c60e8b27dd021a83170289ccc5467c6de
|
|
Change-Id: If674140e30c223c88894b983fd22a583efb99dcf
|
|
decode_modes_b => decode_block
decode_modes_sb => decode_partition
Change-Id: I2a208f5f7bcaa1105f6a2244e37c53b8958c5d76
|
|
|
|
Change-Id: I7ad79c061ad4efbc4914ac49723b48183fdbdd47
|