summaryrefslogtreecommitdiff
path: root/vpxdec.c
AgeCommit message (Collapse)Author
2014-05-20Updates libyuv to version 1005Deb Mukherjee
Also adds compile check and a libyuv configure flag Change-Id: Ib9f0f4a71c4083e6f0aea7b5a5d175531ef0f66b
2014-05-12vpxdec: add some missing CONFIG_WEBM_IO checksJames Zern
fixes build of this file in the dist directory when using '--enable-install-srcs' Change-Id: I7743611bea9e0bddb473777e2e007e6eadebfc1f
2014-04-22Rename FilterMode for compatibility with libyuvDeb Mukherjee
Renames FilterMode to FilterModeEnum for compatibility with google3 libyuv Change-Id: Iec845e6a6aeac4171790c87ce3dd9000ab840a36
2014-03-14Adding a configure flag to control WebM container supportVignesh Venkatasubramanian
Adding a --(enable|disable)-webm-io flag to control WebM container input and output support. For now, enabling WebM IO by default only when there is a C++ compiler. Doing so because eventually we will move WebM IO to libwebm and it is built using C++. Change-Id: I210ac36c23528e382ed41d3c4322291720481492
2014-02-26Reusing mem_get_le{16, 32} defined in vpx_ports/mem_opts.h.Dmitry Kovalev
Change-Id: If4b5209ac14aaba6f1c1014bc0497baa8eabfaff
2014-02-25Change dx_time data type in vpxdec.cJames Yu
Change dx_time data type to int64_t to prevent test time overflow when decoding long video. Change-Id: I3dd5e324a246843e07e635fd25c50e71e385ed70 Signed-off-by: James Yu <james.yu@linaro.org>
2014-02-15vp9_cx_iface vp9_dx_iface vpxdec vs warningsJim Bankoski
Change-Id: I747982e7d1157a8b45f4034ddf207306f9f957e0
2014-02-13Fix build error caused by a merge conflict.Alex Converse
Commit 70d9664f removed 'int i' required by a4f30a50. Change-Id: I4e7e14e9e8532f753e43a57b5bba4589d58e0c32
2014-02-13Merge "Add VP9 decoder support for external frame buffers"Frank Galligan
2014-02-13Add VP9 decoder support for external frame buffersFrank Galligan
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
2014-02-12Adding and reusing vpx_img_plane_{width, height}() functions.Dmitry Kovalev
Change-Id: I668afb50614644d2eac2e968e1fafd6d73170bec
2014-02-11Adding API to get vpx encoder/decoder interface.Dmitry Kovalev
Change-Id: I137e5e6585356792913e1e84da6c0a439c5153a5
2014-02-04vpxdec: normalize frame size typesJames Zern
int -> size_t for threshold values. this silences a few signed/unsigned comparison warnings Change-Id: Ic7b7af61f75f60a1b6d04167640cea2d09bbd967
2014-01-31remove duplicate const from vpx_codec_iface_t useJames Zern
the public typedef already includes a const, quiets 'same type qualifier used more than once' warnings Change-Id: Ib118b3b116fba59d4c6ead84d85b26e5d3ed363d
2014-01-28vpxdec: restoring old md5 behavior for y4m files.Dmitry Kovalev
Fix of https://code.google.com/p/webm/issues/detail?id=698 issue. Change-Id: I7a92d91481dbbae28d8953f146e9faafdcd7a310
2014-01-24Merge "Revert external frame buffer code."Frank Galligan
2014-01-24Revert external frame buffer code.Frank Galligan
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
2014-01-23vpxdec: grouping together code with the same if conditionsDmitry Kovalev
Change-Id: I5e546fce725b8c4722da5494e9423154e870fd58
2014-01-22vpxdec: Disable writing of Y4M header when --md5 argument is specified.Dmitry Kovalev
Change-Id: I2380b1b80f48496732b69c8255a485024d375f0f
2014-01-22Merge "Removing out_open() & out_close() functions from vpxdec."Dmitry Kovalev
2014-01-22Tidy up comments & remove commented out code.Adrian Grange
Change-Id: I46dd5ce06f36362c6274511cd1531d93926aa9bc
2014-01-22Removing out_open() & out_close() functions from vpxdec.Dmitry Kovalev
Change-Id: I60f2ce77638cf7d2116bc1e64b466942c76644e0
2014-01-17Moving y4m encoding functions into separate files.Dmitry Kovalev
Change-Id: I03f614872167841515a74740d654c008b60104a4
2014-01-17Adding vpx_image_scale() function in vpxdec.Dmitry Kovalev
Change-Id: I29eaffff5089b26e8778a977c3b3da11800f1c49
2014-01-17Removing out_put() function from vpxdec.c.Dmitry Kovalev
Adding two new functions: update_image_md5() and write_image_file(). Change-Id: Ic3e7e6ef08e70fb15ab021c92127872f29bcad9b
2014-01-15Removing VP8_FOURCC_MASK & VP9_FOURCC_MASK.Dmitry Kovalev
There is no reason to have fourcc masks, everything just works without them. Change-Id: I1d48100e7b7d5ef55ec49a708ba6adcb9ab4ecd8
2014-01-15Merge "Removing VpxInputContext dependency from {ivf, raw}_read_frame()."Dmitry Kovalev
2014-01-14Merge "Change the strategy for deciding the display size"Adrian Grange
2014-01-13Removing VpxInputContext dependency from {ivf, raw}_read_frame().Dmitry Kovalev
File type check inside ivf_read_frame() is not necessary (it is done before this function get called). Change-Id: Iede8feb358d25878b340473d85c3b01d701fc624
2014-01-13Change the strategy for deciding the display sizeAdrian Grange
There are three contributors to the definition of how the display size is set: (1) display width/height set in the container. (2) display size (optional in the frame header) (3) decoded frame size (from the frame header) This patch modifies the way that vpxdec defines the display size to give preference to these three criteria in the order given above. If the container sets a non-zero size, it is used, otherwise the display size specified in the first decoded frame is used (if specified), with the raw decoded frame size of the first frame used as a last resort. The display size set in frames other than the first is always ignored in this implementation. Change-Id: I7e98d817d3f5894d559dd2aeb0a6cb1959b9092b
2014-01-13Adding raw_read_frame() function to vpxdec.Dmitry Kovalev
Change-Id: Ie2a4606daf35b327d6f2ac8d7fd8f6cacf4c5b6a
2013-12-27Removing CONFIG_MD5.Dmitry Kovalev
We don't need compile time md5 configuration because --md5 is a runtime option. Change-Id: Ic0a2427ae5de5a18f31e5ee60c3732481b377ca1
2013-12-15Add frame buffer lru cache.Frank Galligan
Add an option for libvpx to return the least recently used frame buffer. Change-Id: I886a96ffb94984f1c42de53086e0131922df3260
2013-12-15Add support to pass in external frame buffers.Frank Galligan
VP9 decoder can now use frame buffers passed in by the application. Change-Id: I599527ec85c577f3f5552831d79a693884fafb73
2013-12-04Modified spatial scalable encoder & unit testsAdrian Grange
Modifications to the spatial scalable encoder to match changes made to the scaling code in the decoder. In particular, the use of a dummy first frame was removed now that the decoder is able to handle a smaller first frame. SvcTest.FirstFrameHasLayers unit test re-enabled. Change-Id: Ic2e91fbe4eadf95895569947670d36d68abaf458
2013-11-22Merge "Fix bug in extend_frame chroma extended too far"Yaowu Xu
2013-11-22Fix decoder to handle display size correctlyAdrian Grange
The decoder ignored the display width & height specified in the frame header. This patch adds a control, VP9D_GET_DISPLAY_SIZE, to allow the application to obtain the display width and height from the frame header. vpxdec has been modified to scale the output frame to this size. Should the request for the display size fail vpxdec will use the native width and height of the raw decoded frame instead. Change-Id: I25db04407426dac730263720c75a7dd6400af68a
2013-11-22Fix bug in extend_frame chroma extended too farAdrian Grange
This fixes issue 667. In the case where the frame was an odd number of pixels wide or high, the border was being extended by one col or row too far. The calculation of color plane dimensions was modified to use those already computed at the time the frame buffer was allocated. Also freed the temporary scaling buffer in vpxdec to prevent a memory leak. Change-Id: Ied04bdcdfd77469731408c05da205db1a6f89bf5
2013-11-19vpxdec: Relocate WebM input support.Tom Finegan
- Move it to webmdec.c and webmdec.h. - Also, tidy up obvious style nits in the vicinity of code I was already touching. Change-Id: Ie2898d06e73c1e9030d9c8d465b73ee7edc3c02a
2013-11-18vpxdec: Include frame number when decode fails.Tom Finegan
Change-Id: I6ea460af884d522319735e4416a2dd66c2f35d27
2013-11-16vpxdec: Restore IVF support.Tom Finegan
Refactored IVF frame reading code out into ivf_read_frame(). Forgot to actually make the function call in read_frame(). Change-Id: Ie9f6917e70bd26d0352a761932465c60a29a1f81
2013-11-15vpx[dec|enc]: Extract IVF support from the apps.Tom Finegan
- Move IVF reading support into ivfdec.c and ivfdec.h - Move IVF writing support into ivfenc.c and ivfenc.h - Removed IVF writing code from the SVC example in favor of ivfenc. Change-Id: I70adf6240d0320fdd232d8546ed573f0f68dd793
2013-11-11vpx[dec|enc]: Clean up target OS based IO focused preproc abuse.Tom Finegan
Relocate it to tools_common.h so we can stop duping this code everywhere. BUG=https://code.google.com/p/webm/issues/detail?id=660 Change-Id: If8aa49b74d297273cd9fd7006b2767837055a359
2013-11-06Move WebM writing support out of vpxenc.c.Tom Finegan
This is mainly a clean up patchset. It moves the WebM writing support out of vpxenc and into its own source file. Changes to tools_common and vpxdec result from relocation of shared bits of code. Change-Id: Iee55d3285f56e0a548f791094fb14c5ac5346a26
2013-10-24vpxdec: Fix webm fps check.Frank Galligan
If the webm file did not have a Cues then vpxdec would fail when creating a y4m file. If there is no Cues element print out a warning and set fps to 30. Change-Id: Ieea7040265dfdac7dff4ccf917c6f756160a96bc
2013-06-12vpxdec: add --loops optionJohn Koleszar
Allows vpxdec to operate multiple times on the same input. Mostly useful for debugging/development. Change-Id: Icf25ece22e387052eade4438971eee5ff4f798ba
2013-06-11Merge branch 'master' into experimentalJohn Koleszar
Change-Id: Ie648398b82f7311143709f55c0e30ba452f50eff
2013-06-10Fix a crash in vpxdecJohn Koleszar
If the codec fails to return a frame on the second frame (as in a VP8 alt-ref, then img will be a null pointer and dereferencing it while trying to write the color format (again) will crash. Change-Id: Ie48710d4c5715f532d453c879c71c20ccdeb81cc
2013-06-07Modified vpxdec loopScott LaVarnway
to work like vpxenc. This is required for the frame-based multithreading. Change-Id: I338ae9c7d52b0541f3536cc033d6b89f00866e74
2013-05-09Subsampling aware allocs and bitstreamJohn Koleszar
Make framebuffer allocations according to the chroma subsamping factors in use. A bit is placed in the raw part of the frame header for each of the two subsampling factors. This will be moved in a future commit to make them part of the TBD feature set bits, probably only set on keyframes, etc. Change-Id: I59ed38d3a3c0d4af3c7c277617de28d04a001853