summaryrefslogtreecommitdiff
path: root/vpx
AgeCommit message (Collapse)Author
2019-04-29vp8cx.h,vpxenc: add note about alt ref rangesJames Zern
BUG=webm:1597 Change-Id: I56345ec621a06dfe1eae7f205874f34bfb40e6e5
2019-04-23Revert "Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums"Sai Deng
This reverts commit 1d8d8f562bf382e47071bb38d13b7ded366820af. Reason for revert: change the api names will break existing code. Original change's description: > Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums > > Change-Id: I3df5af2c60b774e6d395062077542c52db868236 TBR=jingning@google.com,builds@webmproject.org,sdeng@google.com Change-Id: Ic94c19739f595f4544e8b68892ab9d9c1bbccd79 No-Presubmit: true No-Tree-Checks: true No-Try: true
2019-04-23Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enumssdeng
Change-Id: I3df5af2c60b774e6d395062077542c52db868236
2019-04-03vp8cx.h: s/VP8E_(SET_MAX_INTER_BITRATE_PCT)/VP9E_$1/James Zern
this was renamed in: 268f10669 Provide information on codec controls but the corresponding type checked control call was missed. Change-Id: I151cb42516b10e551b31273327de4ec1bac3c81b
2019-03-14Merge "Enclose macro arguments in parentheses"Jerome Jiang
2019-03-14Enclose macro arguments in parenthesesJerome Jiang
BUG=webm:1606 Change-Id: I661485b860243c95b6450035dbac77b0dd4d9ff4
2019-03-05vp9: map speed > 9 to speed 9.Jerome Jiang
Report warning in example encoder. Change-Id: Iec4cdffce9faa65241756fbdac498214c8b93cc1
2019-01-15vp9: fix definition for VP9E_SET_POSTENCODE_DROPJerome Jiang
Change-Id: I667be78eb7c41154bf44c242992f622f12c31b80
2019-01-14Change "ximage" to "vpx_image_t" in comments.Wan-Teh Chang
In test/external_frame_buffer_test.cc, rename CheckXImageFrameBuffer() to CheckXImageFrameBuffer(). Change-Id: Ifea3910445673be465d7536a69f85f1a2e2bce6e
2018-12-21Merge "vpx/{vp8,vpx_encoder}.h: fix some typos"James Zern
2018-12-20vpx_integer.h: remove VPX_EMULATE_INTTYPESJames Zern
platforms supported by the library all offer stdint.h BUG=webm:1573 Change-Id: I2ad95dfbcfc2d1890c1b7e503340fda8a9849635
2018-12-20Merge "vpxenc : fix misleading documentation about sharpness."James Bankoski
2018-12-19vpxenc : fix misleading documentation about sharpness.Jim Bankoski
Change-Id: I792c178736a9fc02a84aa83f351e12b7227259b0
2018-12-19Merge "vpx/*.h: rm some deprecated defines/enum vals/typedefs"James Zern
2018-12-19Merge "vpx/vp8cx.h: fix some typos"James Zern
2018-12-19vpx_integer.h: drop VS2010 workaroundJames Zern
visual studio 2015 is the current minimum BUG=webm:1573 Change-Id: I22139925c0a322b1da214c38d8f74fadbc34d2de
2018-12-19vpx/{vp8,vpx_encoder}.h: fix some typosJames Zern
BUG=webm:1573 Change-Id: I5cbb29c89955aa1548ea2a2b3da5763bd38dd978
2018-12-19vpx/vp8cx.h: fix some typosJames Zern
BUG=webm:1573 Change-Id: I46faa216a4a8278a363a8111237342f73e8467eb
2018-12-19vpx/*.h: rm some deprecated defines/enum vals/typedefsJames Zern
most predate 1.4.0 the DBG enums were deprecated in 1.6.1. VPX_KF_FIXED is left as it's still fairly widely used BUG=webm:1573 Change-Id: Iacaad28a6fe7251f042a2b45507b00fc5b7a0eac
2018-12-11vp8: Fix to enabling MFQEMarco Paniconi
Remove the unused *_DEBUG_* enum values in vpx/vp8.h This fixes issue with enabling MFQE, which was caused in 4807f15, where the unused DEBUG flags were removed from common/ppflags.h but not in vp8.h. BUG=913246 Change-Id: I47f114ef20adc084cb4883add5ac3ebf58ae9f1d
2018-11-07Merge "vp9: postencode drop frame for screen content in CBR."Jerome Jiang
2018-11-06vp9: postencode drop frame for screen content in CBR.Jerome Jiang
Encode the next frame at max q. For layers: post_encode_drop is only check on base spatial layer, and if base is post-encoded-dropped, then whole superframe is dropped. Added API to guard postencode dropping. Turned off by default. Added unittest. BUG=b/112990050 Change-Id: I42fee279014aca616f7a4d9b582cb2bf5da2f2e7
2018-11-06Merge "vpx_codec_enc_config_default: disable 'usage'"Johann Koenig
2018-11-05vpx_codec_enc_config_default: disable 'usage'Johann
Found with clang-tidy. This value is unused in libvpx. There is an existing test which ensures this is not used: test/encode_api_test.cc: EXPECT_EQ(VPX_CODEC_INVALID_PARAM, vpx_codec_enc_config_default(kCodecs[i], &cfg, 1)); Change-Id: I94bd0663c6652b4267204c02c3921972c854d0b0
2018-11-05clang-tidy: fix vpx_img_wrap alignJohann
This function specifically only aligns the stride and not the base buffer like vpx_img_alloc does. BUG=webm:1444 Change-Id: I3092827eeec3c9e16306a3973534d3a362a337e8
2018-10-08Loopfilter Multi-Thread OptimizationSupradeep T R
Take the original loopfilter multi-thread optimization (dafe064289a917977439ab6f4f002b9946496084) along with the fixes for bugs 1558 and 1562. BUG=webm:1558 BUG=webm:1562 Change-Id: Ibbf6bd13f4ffff0e79184ccfd6b85a49e067a6d8
2018-09-15cosmetics: normalize include guardsJames Zern
use the recommended format [1] of: <PROJECT>_<PATH>_<FILE>_H_ [1] https://google.github.io/styleguide/cppguide.html#The__define_Guard "All header files should have #define guards to prevent multiple inclusion. The format of the symbol name should be <PROJECT>_<PATH>_<FILE>_H_." Change-Id: I2e8ab0b32fb23c30fa43cff5fec12d043c0d2037
2018-09-05vp9-svc: Allow for setting framerate per spatial layer.Marco Paniconi
Add duration to set_svc_ref_frame_config. BUG=b/113346831 Change-Id: I63613aed6b1183f98d04831600a6bdd645c740df
2018-08-27Merge "SVC: extend api to specify temporal id for each spatial layers."Jerome Jiang
2018-08-16Refactor: move svc example files to from vpx/ to examples/Jerome Jiang
svc_encodeframe.c and svc_context.h are only used by the example encoder. Change-Id: Idb41a5a9d6a229a0bc7d2bc8dbe6575a74efc54c
2018-08-16SVC: extend api to specify temporal id for each spatial layers.Jerome Jiang
BUG=b/112294545 Change-Id: I5be230c8969d69af3ad87068fdf3834ef1af11d9
2018-08-15svc: Force the quantizer to be same as that in encoder config.Jerome Jiang
Change-Id: I0377ca2ebf63792d7a27de4b8e7e08b38659ecde
2018-08-14Add vpxenc control to turn on/off tpl modelJingning Han
The default is set to turn on the temporal dependency model at speed 0. Use --enable-tpl to control turning it on/off when calling vpxenc. Change-Id: I61614cd8100ae57dc01fd46b2a69c5b67287f18a
2018-08-09vp9-svc: Update to SET/GET_SVC_REF_FRAME_CONFIG apiJerome Jiang
Add update_buffer_slot to SVC API to allow for refreshing any of the 8 reference buffers. Remove frame_flags from the struct. Remove svc tests from vp8 build. BUG=b/112292577 Change-Id: I0551c349d2b311227245a8ed1639cdbbaf5bc5db
2018-07-20Add Flag to Enable Row Based MultiThreadingVenkatarama NG. Avadhani
This commit adds a command line argument "--row-mt". Passing "--row-mt=1" will set the row_mt flag in the decoder context. This flag will be used to determine whether row-wise multi-threading path is to be taken when the row-wise multi-threading functions are added. Change-Id: I35a5393a2720254437daa5e796630709049e0bc2
2018-07-04vp9-svc: add more command line options to test app.Sergey Silkin
This adds the following command line options to vp9_spatial_svc_encoder test app: --drop-frame=<arg> Temporal resampling threshold (buf %) --tune-content=<arg> Tune content type default, screen, film --inter-layer-pred=<arg> 0 - 3: On, Off, Key-frames, Constrained Change-Id: I653d1924fb6e525edb2d1e84739be0b88e773e1c
2018-06-20vp9-svc: Add support for spatial layer sync frames.Marco Paniconi
Add encoder control to allow application to insert spatial layer sync frame. The sync frame disables temporal prediction for that spatial layer. This is useful for RTC application to have receiver start decoding a higher spatial layer, without inserting a key frame on base spatial layer. If the layer sync is requested on the base spatial layer this then force a key frame, otherwise it only disables the temporal reference for that spatial layer, allowing temporal prediction to continue for the other layers. Although the temporal prediction is disabled and reset on a layer sync frame, the inter-layer prediction for the sync frame is enabled on INTER frames. So the meaning of INTER_LAYER_PRED_OFF_NONKEY is modified to mean disable inter-layer prediction on non-key and non-sync frames. Added unittest for inserting layer sync frames. Bump up ABI version. Change-Id: Id458acc400a77c853551f125c4e7b6d001991f03
2018-06-07vp9 svc: add control to set using second temporal ref.Jerome Jiang
Bump up ABI version. Change-Id: I4498d7ea4ed72994c5f847aa98e75b0150dd7f82
2018-06-06Merge changes I3ba75c45,I97d26285James Zern
* changes: force-inline the convolve functions Unbreak the force inline directive for gcc
2018-06-03Unbreak the force inline directive for gccLuca Barbato
Change-Id: I97d26285ec146628cbafd3573ca812c630c6687d
2018-05-24vp9-svc: Add max_consec_drop to SVC frame drop.Marco Paniconi
For any spatial, limits the amount of consecutive frame drop. Change-Id: I692d90363f329f571f2b59e12cc680ad2e76065d
2018-05-22vp9-svc: Add full superframe drop mode.Marco Paniconi
This will check for dropping full superframe if any spatial layer is overshooting. Change-Id: Ic656807028ebef5552301b6d10399fbe3a6c890c
2018-04-24vp9-svc: Add GET control to get SVC pattern info.Marco Paniconi
Copy ref frame index in SVC struct after set in encoder. Rename ext_{lst,gld,alt}_fb_idx to {lst,gld,alt}_fb_idx. Bump up ABI version. BUG=webm:1527 Change-Id: I06209040cb83d374030f40b79f0b36b0efe9f97d
2018-04-09vpx_image: remove unused image formatsJames Zern
libvpx only emits: VPX_IMG_FMT_{I420,I422,I440,I444,I42016,I42216,I44016,I44416} and additionally supports YV12 as input. interleaved yuv, rgb and alpha formats are unused. Change-Id: Ie2ab1099e950c6e696f475d46882f5c47a174042
2018-04-09vp9-svc: Make constrained_layer_drop default for svc.Marco Paniconi
Switch the order of constrained and layer drop mode, and keep constrained_layer_drop as the default. Update the svc datarate tests. Change-Id: I764270f7b4964b87b0cd3da6c2f96a628f212a30
2018-03-29VP9 SVC: Add enum type for framedrop_mode.Jerome Jiang
Change-Id: I3d4697b00729553e0860762b9264e29b8a89b9d4
2018-03-27vp9-svc: Add logic to enable for constrained framedrop.Marco Paniconi
Add the logic for the constrained framdrop mode for SVC. Add test case in datarate unittests. Also lower target bitrates in the tests to better test frame dropper. Change-Id: I8ee1b8cb56d835c233ad1fbe0fc1456cb2e7291f
2018-03-26vp9-svc: Allow for setting frame drop thresholds per layer.Marco Paniconi
Add encoder control to set the frame drop thresholds per spatial layer, and add a frame drop mode: 0 = per-layer drop, and 1 = constrained drop mode (a drop on a given layer forces drops to all upper layers). Default is mode 0 (per-layer dropping). Implementation for mode 1 will come in subsequent change. If the control is not used, then the spatial layer frame drop thresholds (water mark) are all equal and set to the value given by the encoder config (oxcf->drop_frames_water_mark). Bump up the ABI version. Change-Id: Id038d4181b86fa98b3d44d026f96d5f344d81629
2018-03-20VP9 SVC: Add control to disable inter layer prediction.Jerome Jiang
Add VP9E_SET_SVC_INTER_LAYER_PRED to disable inter layer (spatial) prediction. 0: prediction on 1: prediction off for all frames 2: prediction off for non key frames Bump up ABI version. Change-Id: I5ab2a96b47e6bef202290fe726bed5f99bd4951f
2018-03-20vp9-svc: Improve frame dropper for spatial layers.Marco Paniconi
SVC frame dropper: modify the logic to allow for individual spatial layers to drop. This removes the constraint that all upper spatial layers must drop when a given spatial layer drops. Add a flag to the pkt to indicate whether a spatial layer is encoded or dropped. This is needed for applications that enable this feature (frame dropping for SVC). For a current spatial layer, if its previous spatial layer is dropped, then disable certain features for that layer: inter-layer prediction, base_mv, partition_reuse, copy partition. Also add the constraint to never drop a spatial layer if its base layer is a key frame. Updates to sample encoder (vp9_spatial_svc_encoder) and the SVC datarate unittests to properly handle frame dropping. Bump up ABI version. Change-Id: I7d14ccf67b8d014a7abfce5ba3989fc623e94067