summaryrefslogtreecommitdiff
path: root/vp9/vp9_dx_iface.c
AgeCommit message (Collapse)Author
2014-04-08Renaming VP9D_COMP & VP9Decompressor to VP9Decoder.Dmitry Kovalev
Change-Id: Ieb9b455b8aaef9884391021b7f640ef24c554687
2014-04-07Fixing memory leak introduced in previous commit.Dmitry Kovalev
Commit introduced the leak: "Removing XMA legacy from VP9 code." I5e9dfc50b6312848df8c3b8276f6b4d0c7ff9cf9 Change-Id: Ia1f91bb8403bef340de9f089fa78b3fccc3e9917
2014-04-07Cleaning up vp9_{cx, dx}_iface.c files.Dmitry Kovalev
Change-Id: Ib4e31ba74c4b882bd93942ef743f4a189892738d
2014-04-04Refactoring decode_one() function.Dmitry Kovalev
Change-Id: Ic3ee3b1fb04691e8c7d16020b56e034ab8888525
2014-04-02Removing XMA legacy from VP9 code.Dmitry Kovalev
Change-Id: I5e9dfc50b6312848df8c3b8276f6b4d0c7ff9cf9
2014-03-25Merge "Removing redundant references to VP9D_COMP struct."Dmitry Kovalev
2014-03-25Removing redundant references to VP9D_COMP struct.Dmitry Kovalev
Change-Id: I4c4772c0e6aca2c7d7085a72412ac8dba8874a3d
2014-03-25Removing redundant vpx_free() call.Dmitry Kovalev
above_seg_context is alreaded freed during vp9_remove_common() call. Change-Id: I16b72c710e71d2f143df2d47e876d220c8d374e0
2014-03-24Merge "General cleanup in vp9_decoder.{h, c}."Dmitry Kovalev
2014-03-21General cleanup in vp9_decoder.{h, c}.Dmitry Kovalev
Change-Id: I68819558a9c5ac6ea85fe62260712af6f4cc46b7
2014-03-21Removing unused members from VP9D_CONFIG struct.Dmitry Kovalev
Change-Id: I83a201ab4dcf2f00131f2030f382c6dbfcb39d7e
2014-03-18Fixing warnings/errors from c++ compiler.Dmitry Kovalev
Change-Id: Ia561dda53f2dd10e3a10a2df2adb8027ab19397a
2014-03-06Renaming vp9_onyxd.h and vp9_onyxd_if.c to vp9_decoder.{h, c}.Dmitry Kovalev
Change-Id: Ibd0892be1ddadd93b8a22fa2c2e2053001f2948f
2014-03-05Removing vp9_onyxd_int.h file.Dmitry Kovalev
Moving VP9Decompressor struct from vp9_onyxd_int.h to vp9_onyxd.h. Change-Id: Ic86c15e44130541a7f692db43ef9109293f99ae8
2014-02-27Removing VP9D_PTR.Dmitry Kovalev
Change-Id: I17276e25db4592ffeff0961dd9eeaabe4bde110c
2014-02-21Stop gating non420 features with a configure flag.Alex Converse
Change-Id: I8cc38fdef6a2a0968af8dfe15e7c2b3c46c531ea
2014-02-15vp9_cx_iface vp9_dx_iface vpxdec vs warningsJim Bankoski
Change-Id: I747982e7d1157a8b45f4034ddf207306f9f957e0
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-11Fix frames that have no references to them.Frank Galligan
BasicRateTargeting3TemporalLayers found an error with the get/release frame buffer management. Change-Id: Iccff25cba1d2f276f2a0d0fb7b20cf99b4405549
2014-02-11Merge "Add get release decoder frame buffer functions."Frank Galligan
2014-02-10Add get release decoder frame buffer functions.Frank Galligan
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
2014-02-07Fixing undefined behavior vp9_peek_si().Dmitry Kovalev
Bitwise OR operation doesn't guarantee any subexpression evaluation order. Just reading one bit now and ignoring the next one. For reference look at vp9_decode_frame() implementation. Change-Id: I4971686929838ae5ded8f43a38a2934db5e1d462
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-10Cleaning up vp9_dx_iface.c.Dmitry Kovalev
Change-Id: I6a0dfb95c55ee6cadc7b1675782c7830e5c7caaf
2013-12-27Using VP9_FRAME_MARKER instead of raw number.Dmitry Kovalev
Change-Id: I3addbf6d89a86a707c8df1a463da3e9e367910df
2013-12-17Increase required number of external frame buffersFrank Galligan
Make applications pass in VPX_MAXIMUM_WORK_BUFFERS as well as VP9_MAXIMUM_REF_BUFFERS. Change-Id: I9c07ce83fa19c90ed43227b801b2013690e81edd
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-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-10-23Adding VP9_FRAME_MARKER constant.Dmitry Kovalev
Also renaming SYNC_CODE_* to VP9_SYNC_CODE_*. Change-Id: I9ff504c6ebce6cd6673d7df2085d597b818f5960
2013-10-15Prevent access to invalid pointerYaowu Xu
The commit added check to make sure no invalid memory access even when the decoder instance is never initialized. Change-Id: I4da343d0b3c78c27777ac7f5ce7688562c69f0c5
2013-09-29cpplint issues resolved in vp9_dx_iface.cJim Bankoski
Change-Id: I01cbd1b00d8d8e02541b2c29b9e88e690edfcaba
2013-09-04make vp9 postproc a config optionJim Bankoski
Vp9 postproc is disabled for now as its not been shown to help and may be merged with vp8. Change-Id: I25620d6cd34c6e10331b18c7b5ef7482e39c6057
2013-08-21vp9_peek_si: add bitstream v1 supportJames Zern
currently protected by CONFIG_NON420 as v1 is still not entirely stable Change-Id: Id1c5081b04a2c47a842822048b8804be67d23a6d
2013-08-14vp9_dx_iface: check for NULL/0-size inputJames Zern
avoids a crash caused by issue #585 Change-Id: I301595ee0227699b0da6f0dad6d870dd546e94ef
2013-07-12vp9_dx_iface: s/vp8/vp9/ where possibleJames Zern
drop 'vp9_' from most static functions unrelated to the codec interface itself. Change-Id: I33e76c425bb7373570a57a61662a56d65ab4bdf3
2013-07-11vp[89]_dx_iface: delete unused functionJames Zern
static mmap_lkup Change-Id: I24aeac1eca8453e28d58bc06925e58efc228a0a6
2013-07-11vp[89]_dx_iface: factorize vp8_mmap_*()James Zern
s/vp8/vpx/ -> vpx_codec_internal.h / vpx_codec.c Change-Id: If4192b40206276a761b01d44e334fe15bcb81128
2013-07-11vp9: fix peek_si for version==0James Zern
Change-Id: I6bfec4fa50dfc1a953edb1a2aa8e97e6e896bed6
2013-06-12Quick fix to stop vpxdec infinite loopScott LaVarnway
vpxdec stays in a loop when decoding vp9. This patch is a quick fix to stop the loop when all data has been decoded. Eventually we should move the vp9_get_raw_frame() call into vp8_get_frame(). Change-Id: I3f97b6b4e1fe9ba69f746a29fc54c3304956f661
2013-06-11Merge branch 'master' into experimentalJohn Koleszar
Change-Id: Ie648398b82f7311143709f55c0e30ba452f50eff
2013-06-07Add bits for colorspace, profileJohn Koleszar
Adds 3 bits for colorspace (sent on keyframes), 2 bits for version. Change-Id: Iaa0cf1dcdd085cebb46e2bc4a7c78cd33cf24325
2013-05-28Compressed/uncompressed frame header changes.Dmitry Kovalev
Adding API to read/write uncompressed frame header bits (it is not final yet). Separate functions to read/write uncompressed header. Moving clr_type, error_resilient_mode, refresh_frame_context, frame_parallel_decoding_mode, frame_context_idx from compressed partition to uncompressed frame header. Change-Id: Id3ed8a387980c652ae147549412f4ec24a0a5bd0
2013-05-28Revert "Adding API to read/write uncompressed frame header bits." because of ↵Dmitry Kovalev
bitstream mismatches. This reverts commit df037b615fcc0196386977faae060fdfd9a887a8 Change-Id: I1a529f2590df7bc912f5035d22311268933e3dd6
2013-05-21Adding API to read/write uncompressed frame header bits.Dmitry Kovalev
The API is not final yet and can be changed. Actual layout of uncompressed frame part will be finalized later. Right now moving clr_type, error_resilient_mode, refresh_frame_context, frame_parallel_decoding_mode from first compressed partition to uncompressed frame part. Change-Id: I3afc5d4ea92c5a114f4c3d88f96858cccc15b76e
2013-05-20Give VP9 a different sync code from VP8Jingning Han
The new code is 0x49, 0x83, 0x42 There is nothing particularly special about this code bitstream wise. Its derivation is the word "sync" coded using 4x6bit alphabetic indices. Change-Id: Ie2430a854af32ddc5a5c25a6c1c90cf6497ba647
2013-05-15Adding alpha plane to YV12_BUFFER_CONFIG structure.Dmitry Kovalev
Change-Id: I8b2687138df636b2b78c8cc5156e3882b0009de0
2013-04-29Match unsigned typesJohann
Fixes build warning in MSVC: vp9\vp9_dx_iface.c(420) : warning C4018: '<' : signed/unsigned mismatch vp9\vp9_dx_iface.c(423) : warning C4018: '<' : signed/unsigned mismatch Change-Id: Ia238071aee94b2f882c1e74c380adc3df506dfb6
2013-04-26Merge branch 'master' into experimentalJohann
Conflicts: vp9/common/vp9_findnearmv.c vp9/common/vp9_rtcd_defs.sh vp9/decoder/vp9_decodframe.c vp9/decoder/x86/vp9_dequantize_sse2.c vp9/encoder/vp9_rdopt.c vp9/vp9_common.mk Resolve file name changes in favor of master. Resolve rdopt changes in favor of experimental, preserving the newer experiments. Change-Id: If51ed8f457470281c7b20a5c1a2f4ce2cf76c20f
2013-04-23Improve sign consistency.Johann
Fix warning on windows: signed/unsigned mismatch on lines 415, 454 Comparison was between size_t data_sz >= int index_sz on 415 and unsigned int data_sz >= int index_sz on 454. Both might be changed to size_t but that would be tracing and replacing all comparisons is outside the scope of this change. In the rest of these two functions ensure unsigned values are used consistently. Change-Id: I922b399ceca612a92f44b9d1d331c1c6bae9d768