- 13 Dec, 2011 5 commits
-
-
John Koleszar authored
-
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
-
- 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
-
- 29 Nov, 2011 1 commit
-
-
John Koleszar authored
-
- 28 Nov, 2011 4 commits
-
-
James Berry authored
dynamicly assign ARG_CTRL_CNT_MAX and add check to make sure argument instance doesnt already exist before creating a duplicate Change-Id: I4f78a9c5346cda8e812cd89c077afe8996493508
-
Yunqing Wang authored
This value needs to be copied to each thread's data structure. This fixed artifact problem in multi-thread encoder. Change-Id: Iab6d9745a1d44846aa503184705376f63a505597
-
Scott LaVarnway authored
In Change I83202ffd, I deleted one too many lines. Change-Id: If05d7c8988eb5c00898dc7c833ad7d99b5eb23e7
-
Scott LaVarnway authored
-
- 25 Nov, 2011 1 commit
-
-
Scott LaVarnway authored
to the dqcoeff or qcoeff buffer. The encoder would populate the dc coeffs of the y blocks as a separate stage (recon_dcblock) and the decoder would use a special version of the idct. This change eliminates the extra copy and reduces the code footprint. [Tero] Added needed changes to armv6 and NEON assembly. Change-Id: I83202ffdbaf83f6e5dd69f4ba2519fcf0b13b3ba
-
- 23 Nov, 2011 5 commits
-
-
Johann authored
-
Johann authored
-
Attila Nagy authored
API was not returning correct partition sizes on arm targets. The armv5 token packing functions were not storing the information to the partition size table. As a fix, have one boolcoder instance allocated for each partition so that partition sizes are internally available after all partitions were encoded. This will also allow more flexibility in producing several partitions in parallel. Use buffer validation (overflow check) in all ARM bitpacking functions. Change-Id: I31c8a11d8a7613676f0ff50928cb2a2ab14fd169
-
John Koleszar authored
-
Johann authored
-
- 21 Nov, 2011 1 commit
-
-
Stefan Holmer authored
Change-Id: Id3388985d754706b9fd1f079c47121e79a63efdf
-
- 19 Nov, 2011 1 commit
-
-
Johann authored
Storing vp8_bilinear_filters_mmx in an mmx file and using it in an sse2 file is bad Moving towards allowing --disable-mmx Change-Id: I20493b35bdedcdcfc0915e6f05fdbe6c81a4a742
-
- 18 Nov, 2011 3 commits
-
-
John Koleszar authored
There was an implicit reference frame test order (typically LAST, GOLD, ARF) in the mode selection logic, but this doesn't provide the expected results when some reference frames are disabled. For instance, in real-time mode, the speed selection logic often disables the ARF modes. So if the user disables the LAST and GOLD frames, the encoder was always choosing INTRA, when in reality searching the ARF in this case has the same speed penalty as searching LAST would have had. Instead, introduce the notion of a reference frame search order. This patch preserves the former priorities, so if a frame is disabled, the other frames bump up a slot to take its place. This patch lays the groundwork for doing something smarter in the frame test order, for example considering temporal distance or looking at the frames used by nearby blocks. Change-Id: I1199149f8662a408537c653d2c021c7f1d29a700
-
Attila Nagy authored
Extend buffer write validation (overflow check) to single token partition packing, both mb and row based functions. Change-Id: I36e19b7d37fc43712d05c70e3ad223d3eb5b973d
-
Attila Nagy authored
Change-Id: I22c547af80e0bce0c7b5f6054ad0aa61f37d717b
-
- 17 Nov, 2011 1 commit
-
-
Scott LaVarnway authored
-
- 16 Nov, 2011 1 commit
-
-
Johann authored
-
- 15 Nov, 2011 1 commit
-
-
Scott LaVarnway authored
Patch set 2: 64 bit build fix Patch set 3: 64 bit crash fix [Tero] Patch set 4: Updated ARMv6 and NEON assembly. Added also minor NEON optimizations to subtract functions. Patch set 5: x86 stride bug fix Change-Id: I1fcca93e90c89b89ddc204e1c18f208682675c15
-
- 12 Nov, 2011 1 commit
-
-
Rafaël Carré authored
libvpx builds and runs correctly when built with x86_64-w64-mingw32-gcc Version tested: 4.6.1 Change-Id: I9aa953d615551ca4834c9a5f8b68778d032a6cf5
-
- 11 Nov, 2011 2 commits
-
-
John Koleszar authored
This code is Copyright The WebM Project Authors, not only Google. Change-Id: Ib5a9dec4ba3177ccb2b06dcfe9605d2b3a3a3d8b
-
John Koleszar authored
The calculated frame_rate is a state variable in the codec, and shouldn't be maintained in the configuration struct. Move it to the main part of cpi so that it isn't clobbered when the configuration struct is updated. The initial framerate estimate is moved from the vp8_cx_iface.c wrapper into the body of init_config() in onyx_if.c, so that it is only called once and not reset on every call to vp8_change_config(). Change-Id: I8d9a3d1283330d1ee297d07e9d78d1f2875f2465
-
- 10 Nov, 2011 2 commits
-
-
Johann authored
-
James Zern authored
Correct ifdef check for Visual Studio's compiler, mingw builds can use unistd.h. Change-Id: I25c5ee46ef75ffbff03f560293dfb3d6bed55f70
-