- 05 Jan, 2012 - 1 commit
-
-
Deb Mukherjee authored
Adds a multiframe postprocessing module to enhance the quality of certain frames that are coded at lower quality than preceding frames. The module can be invoked from the commandline by use of the --mfqe option, and will be most beneficial for enhancing the quality of frames decoded using scalable patterns. Uses the vp8_variance_var16x16 and vp8_variance_sad16x16 function pointers to compute SAD and Variance of blocks. Change-Id: Id73d2a6e3572d07f9f8e36bbce00a4fc5ffd8961
-
- 19 Dec, 2011 - 4 commits
-
-
John Koleszar authored
Make bilinearfilter_arm.c compiled only when HAVE_ARMV6, as its definitions are v6 only. This is normally not a problem for static builds as the file is elided at link time, but this was not being done properly for the --enable-shared --enable-pic build. Change-Id: Ic800a7cde751f74f22555c5b247f99f9df5e550d
-
Johann authored
-
John Koleszar authored
-
Yunqing Wang authored
-
- 16 Dec, 2011 - 4 commits
-
-
Yunqing Wang authored
Merged multi-resolution motion estimation with regular motion estimation function in order to remove duplicated part. This caused slight changes in multi-resulotion encoder quality & performance. Change-Id: Ib4ecc7acfebfe5eea959b5b91febae6db7b95fd1
-
James Berry authored
increase size of ss_err by one to make sure there is room for 64 elements. Change-Id: I355cb8c499aa7da3b9675f2326a8d25a74bb88d2
-
John Koleszar authored
The total_stats, this_frame_stats, and total_left_stats structures were previously create by a heap allocation, despite being of fixed size. These structures were allocated and deallocated during {de,}allocate_compressor_data, which is reinvoked whenever the frame size changes. Unfortunately, this clobbers the total_stats and total_left_stats data. Historically, these were variable size at one time, due to the first pass motion map, which necessitated their being created by a unique heap allocation. However, this bug with the total_stats being clobbered has probably been present since that initial implementation. These structures are instead moved to be stored within the struct twopass_rc directly, rather than being heap allocated separately. Change-Id: I7f9e519e25c58b92969071f0e99fa80307e0682b
-
Scott LaVarnway authored
When mb_skip_coeff is set, the idct is not necessary. Prior to this patch, the code would call idcts based on leftover eob information. This patch will now skip the idct for SPLIT_MV and clear out the eobs for B_PRED, forcing the idct to be skipped. Change-Id: If5b0d2ed3ebd07789d30ec5160df927485fcaa17
-
- 15 Dec, 2011 - 5 commits
-
-
Scott LaVarnway authored
These functions are now used by the encoder. This is WIP with the goal of creating a common idct/add for the encoder and decoder. A boost of 1.8% was seen for the HD rt test clip used. [Tero] Added needed changes to ARM side. Change-Id: Ibbb8000be09034203d7adffc457d3c3f8b06a5bf
-
Yunqing Wang authored
-
Yunqing Wang authored
While doing motion search on a macroblock, we usually call vp8_find_near_mvs once per reference frame. Actually, for different reference frames, the only difference in calculating these near_mvs is they may have different sign_bias, which causes a sign change in resulting near_mvs. In this change, we only do find_near_mvs for the first reference frame. For other reference frames, only need to adjust the near_mvs according to that reference frame's sign_bias value. Change-Id: I661394b49c6ad79fed7d0f2eb2be239b9c56f149
-
Yunqing Wang authored
-
John Koleszar authored
-
- 14 Dec, 2011 - 8 commits
-
-
John Koleszar authored
-
Johann authored
-
Johann authored
-
John Koleszar authored
-
Johann authored
Allow targeting darwin11 / 10.7 Update arm paths for iPhoneOS 5.0 Change-Id: I057156349311ec66a163c4c1cea60dc5aeaaa492
-
James Berry authored
Add the notion of deferred validation of parameters. We don't want to validate the cq_level at initialization time, because it won't have been set via set_param() yet. Change-Id: Ia1308395e8c10e0b1dc4e9af3a09b2bd6744cc30
-
Attila Nagy authored
Sometimes same level is tested 2-3 times; store and reuse the calculated error value. Change-Id: Ia1c04a2568232edf9a5a62c4e2d8e8a50d85e00e
-
Attila Nagy authored
...regardless of the speed settings. Change-Id: I4b91ac7a7208efd690dfc69e175f8eb769b6ce03
-
- 13 Dec, 2011 - 7 commits
-
-
John Koleszar authored
-
James Berry authored
add check to set active_worst_quality to 127 if it is set above 127 Change-Id: I7db353d5c1b1c8516a116542b6ed21c0110bb512
-
Johann authored
-
Johann authored
The conversion script was incorrectly matching CONFIG_POSTPROC[_VISUALIZER] and generating an incorrect vpx_config.asm Match both PROC and ENDP on word boundaries Change-Id: Ic2788c3b522d4ee0afc5223b72e1b09fb52645be
-
Yunqing Wang authored
-
Yunqing Wang authored
Aligned the image buffer and stride to 32 bytes. This enables calling of optimized scaler function in libyuv, and improves the performance. Tested libyuv scaler(x86 optimization) on Linux and Windows, including: Linux 32/64bit, visual studio 32/64bit, Cygwin, and MinGW32. Also, fixed a wrong pointer in vpx_codec_encode(). Change-Id: Ibe97d7a0a745f82c43852fa4ed719be5a4db6abc
-
Johann authored
Mach-O prefixes function calls with _ Change-Id: I778c2ab91266887731a6a0316b42af7641826da4
-
- 12 Dec, 2011 - 2 commits
-
-
Jim Bankoski authored
-
Scott LaVarnway authored
-
- 10 Dec, 2011 - 1 commit
-
-
Jim Bankoski authored
Change-Id: I4168eb6ea22ae541471738a7a3453e7d52059275
-
- 09 Dec, 2011 - 1 commit
-
-
John Koleszar authored
The previous definition of uintptr_t was incorrect on x64 with MSVC. Also, the ARMV6 version of int_fast16_t was defined as unsigned for some reason. Since the fast types are currently unused, just remove them. Change-Id: Idd73f77a989c77feedcb4a6802ae6bd37324ed40
-
- 08 Dec, 2011 - 1 commit
-
-
Scott LaVarnway authored
Removed unnecessary transposes. Change-Id: I029fbaf8afafee34d54a4f3333c22023c15003c3
-
- 07 Dec, 2011 - 2 commits
-
-
Johann authored
-
Attila Nagy authored
Do the test filtering in the existing backup frame buffer instead of the original. Copy the original data into extra buffer before doing the filtering. This way there is no need to restore the original unfiltered frame at the end of level picking process. This came up in some discussions with Johann. Thanks! Change-Id: I495f4301d983854673276c34ec0ddf9a9d622122
-
- 06 Dec, 2011 - 2 commits
-
-
Yunqing Wang authored
-
Yunqing Wang authored
Added code to allocate aligned image buffer in vpx_img_alloc(). The alignment of the buffer and stride is determined by the parameter align. Change-Id: Idc866978484be3558551c56df39130ab7f74ddd4
-
- 05 Dec, 2011 - 2 commits
-
-
Yunqing Wang authored
The example encoder down-samples the input video frames a number of times with a down-sampling factor, and then encodes and outputs bitstreams with different resolutions. Support arbitrary down-sampling factor, and down-sampling factor can be different for each encoding level. For example, the encoder can be tested as follows. 1. Configure with multi-resolution encoding enabled: ../libvpx/configure --target=x86-linux-gcc --disable-codecs --enable-vp8 --enable-runtime_cpu_detect --enable-debug --disable-install-docs --enable-error-concealment --enable-multi-res-encoding 2. Run make 3. Encode: If input video is 1280x720, run: ./vp8_multi_resolution_encoder 1280 720 input.yuv 1.ivf 2.ivf 3.ivf 1 (output: 1.ivf(1280x720); 2.ivf(640x360); 3.ivf(320x180). The last parameter is set to 1/0 to show/not show PSNR.) 4. Decode: ./simple_decoder 1.ivf 1.yuv ./simple_decoder 2.ivf 2.yuv ./simple_decoder 3.ivf 3.yuv 5. View video: mplayer 1.yuv -demuxer rawvideo -rawvideo w=1280:h=720 -loop 0 -fps 30 mplayer 2.yuv -demuxer rawvideo -rawvideo w=640:h=360 -loop 0 -fps 30 mplayer 3.yuv -demuxer rawvideo -rawvideo w=320:h=180 -loop 0 -fps 30 The encoding parameters can be modified in vp8_multi_resolution_encoder.c, for example, target bitrate, frame rate... Modified API. John helped a lot with that. Thanks! Change-Id: I03be9a51167eddf94399f92d269599fb3f3d54f5
-
John Koleszar authored
-