- 20 Jun, 2014 1 commit
-
-
Jim Bankoski authored
See: https://code.google.com/p/chromium/issues/detail?id=362697 The code properly catches an invalid stream but seg faults instead of returning an error due to a buffer not having been initialized. This code fixes that. Change-Id: I695595e742cb08807e1dfb2f00bc097b3eae3a9b
-
- 13 Jun, 2014 1 commit
-
-
hkuang authored
The current decoding scheme will decrease the reference count of the output frame when finish decoding. Then the application could copy the frame from the decoder buffer to application buffer. In frame-parallel decoding, a decoded frame will not be outputted until several frames later which depends on thread numbers. So the decoded frame's reference count should be decreased only after application finish copying the frame out. But due to the limitation of vpx_codec_get_frame, decoder could not know when application finish decoding. So use a index last_show_frame to release the last output frame's reference count. Change-Id: I403ee0d01148ac1182e5a2d87cf7dcc302b51e63
-
- 21 May, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I79576920efb7f3f6f197d386727409759d8bda8d
-
- 20 May, 2014 1 commit
-
-
hkuang authored
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
-
- 15 May, 2014 1 commit
-
-
Yaowu Xu authored
vp9_decoder.c vp9_dthread.c Change-Id: Iaafe941545db98e9e3559096a955894646084ac2
-
- 14 May, 2014 2 commits
-
-
Dmitry Kovalev authored
Change-Id: I831fe91dfadf4e89f5bbba6ab7a9917d8dd2ed55
-
Dmitry Kovalev authored
Change-Id: I7675f23150404913f4b457add69fb846f6921997
-
- 12 May, 2014 1 commit
-
-
Dmitry Kovalev authored
Inline loopfilter has been already handled in vp9_decode_frame(). Collecting all similar code in one place now. Change-Id: I358a0280fc7c2b27cca520bc1e8c16c4eb6491dd
-
- 08 May, 2014 1 commit
-
-
Dmitry Kovalev authored
We only used two members from that struct: max_threads and inv_tile_order. Moving them directly to VP9Decoder struct. Change-Id: If696a4e5b5b41868a55f3cc971e1d7c1dd9d5f69
-
- 29 Apr, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I6dc9741cdcd700f5c4a387f58da7feb58dd4bbda
-
- 25 Apr, 2014 1 commit
-
-
Dmitry Kovalev authored
That code is not used, we could easily return it back using vpx_img_write() function. Change-Id: Id107875c6feab6ad245a518f6b437b6ed4b1246d
-
- 11 Apr, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I9677aab1c7bb0ca9e989cb21348a3a2c926d8f5a
-
- 10 Apr, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: If33087462293605f79d9281af133091fff33a876
-
- 08 Apr, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: Ieb9b455b8aaef9884391021b7f640ef24c554687
-
- 07 Apr, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: Ib4e31ba74c4b882bd93942ef743f4a189892738d
-
- 03 Apr, 2014 1 commit
-
-
hkuang authored
No need to check pbi->common.frame_to_show again. Change-Id: I572ea4afd0d8b6000c0bb7575b7023d75cad5a4e
-
- 01 Apr, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: Ie2ea9dd8bd338cc9fe12ca9033df64f7644c68b3
-
- 28 Mar, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I3e20c0cdb9d2437bddf21afb255855f2dead8e02
-
- 25 Mar, 2014 2 commits
-
-
Dmitry Kovalev authored
above_seg_context is alreaded freed during vp9_remove_common() call. Change-Id: I16b72c710e71d2f143df2d47e876d220c8d374e0
-
Dmitry Kovalev authored
Change-Id: I713af99d1e17e05a20eab20df51d74ebfd1a68d2
-
- 24 Mar, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I47a8b4bf9a6cc0063d1a6785eaaad641d0659e24
-
- 21 Mar, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I68819558a9c5ac6ea85fe62260712af6f4cc46b7
-
- 20 Mar, 2014 2 commits
-
-
Dmitry Kovalev authored
Change-Id: Id1fa36c92cb007b73a450cc8552e810cedad38b9
-
Dmitry Kovalev authored
Change-Id: If4c1a48c60e8b27dd021a83170289ccc5467c6de
-
- 19 Mar, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: If674140e30c223c88894b983fd22a583efb99dcf
-
- 13 Mar, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I18b3939f0b51085cdd25c9182c3a9c7536ca7e3e
-
- 10 Mar, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I7ad79c061ad4efbc4914ac49723b48183fdbdd47
-
- 06 Mar, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: Ibd0892be1ddadd93b8a22fa2c2e2053001f2948f
-
- 05 Mar, 2014 1 commit
-
-
Dmitry Kovalev authored
Moving VP9Decompressor struct from vp9_onyxd_int.h to vp9_onyxd.h. Change-Id: Ic86c15e44130541a7f692db43ef9109293f99ae8
-
- 01 Mar, 2014 1 commit
-
-
Yaowu Xu authored
The function has evolved over time, now only calls vp9_rtcd(), so this commit removes the function and changes to call vp9_rtcd() directly. Change-Id: I8cfa6190daa4b28f6f3d1e11bb3a07f9c95322bf
-
- 28 Feb, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I17276e25db4592ffeff0961dd9eeaabe4bde110c
-
- 12 Feb, 2014 1 commit
-
-
Frank Galligan authored
BasicRateTargeting3TemporalLayers found an error with the get/release frame buffer management. Change-Id: Iccff25cba1d2f276f2a0d0fb7b20cf99b4405549
-
- 10 Feb, 2014 1 commit
-
-
Frank Galligan authored
This CL changes libvpx to call a function when a frame buffer is needed for decode. Libvpx will call a release callback when no other frames reference the frame buffer. This CL adds a default implementation of the frame buffer callbacks. Currently only VP9 is supported. A future CL will add support for applications to supply their own frame buffer callbacks. Change-Id: I1405a320118f1cdd95f80c670d52b085a62cb10d
-
- 31 Jan, 2014 2 commits
-
-
Yunqing Wang authored
Implemented parallel loopfiltering, which uses existing tile- decoding threads. Each thread works on one row, and when that row is loopfiltered, it moves to next unattended row. To ensure the correct filtering order, threads are synchronized and one superblock is filtered only if the superblocks it depends on are filtered already. To reduce synchronization overhead and speed up the decoder, we use nsync > 1 for high resolution. Performance tests: 1. on desktop: 8-tile 4k video using 8 threads, speedup: 70% - 80% 4-tile HD video using 4 threads, speedup: ~35% 2. on mobile device(Nexus 7): 4-tile 1080p video using 4 threads, speedup: 18% - 25% 4-tile 1080p video using 2 threads, speedup: 10% - 15% Change-Id: If54b4a11960dd706c22d5ad145ad94156031f36a
-
Adrian Grange authored
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
-
- 29 Jan, 2014 1 commit
-
-
Dmitry Kovalev authored
Adding new RefCntBuffer struct which contains reference counter and image buffer. Change-Id: I71c1f532faa13442c32c43fc03ec45b6f88fb844
-
- 03 Jan, 2014 1 commit
-
-
Dmitry Kovalev authored
Adding RefBuffer to simplify reference buffer management. The struct has a pointer to image data and scale factors relative to the current frame. Change-Id: If38eb1491ff687cc11428aee339f3e052e2c5d9e
-
- 10 Dec, 2013 1 commit
-
-
hkuang authored
the border now. Next commit will totally remove the border. Change-Id: Ic1e1ca9cc34f81c688715b3948689b47df63a151
-
- 06 Dec, 2013 1 commit
-
-
Dmitry Kovalev authored
NUM_YV12_BUFFERS => FRAME_BUFFERS ALLOWED_REFS_PER_FRAME => REFS_PER_FRAME NUM_REF_FRAMES_LOG2 => REF_FRAMES_LOG2 NUM_REF_FRAMES => REF_FRAMES NUM_FRAME_CONTEXTS_LOG2 => FRAME_CONTEXTS_LOG2 NUM_FRAME_CONTEXTS => FRAME_CONTEXTS Change-Id: I4e1ada08f25d8fa30fdf03aebe1b1c9df0f87e63
-
- 05 Dec, 2013 1 commit
-
-
Tero Rintaluoma authored
- Disable mode info update in case where current frame is coded as "show existing frame". - Should fix issue 676. Change-Id: Ibee681850eb307f982da6528d3e31cb94f881c08
-