- Dec 12, 2011
-
-
Scott LaVarnway authored
Change-Id: I9211358cca89b1c4f84b53a202a63ecf9e79ae4c
-
Scott LaVarnway authored
-
- Dec 08, 2011
-
-
Scott LaVarnway authored
Removed unnecessary transposes. Change-Id: I029fbaf8afafee34d54a4f3333c22023c15003c3
-
- Dec 07, 2011
-
-
Johann Koenig 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
-
- Dec 06, 2011
-
-
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
-
- Dec 05, 2011
-
-
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
-
- Nov 29, 2011
-
-
John Koleszar authored
-
- Nov 28, 2011
-
-
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
-
- Nov 25, 2011
-
-
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
-
- Nov 23, 2011
-
-
Johann Koenig authored
-
Johann Koenig 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 Koenig authored
-
- Nov 21, 2011
-
-
Stefan Holmer authored
Change-Id: Id3388985d754706b9fd1f079c47121e79a63efdf
-
- Nov 19, 2011
-
-
Johann Koenig 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
-
- Nov 18, 2011
-
-
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
-
- Nov 17, 2011
-
-
Scott LaVarnway authored
-
- Nov 16, 2011
-
-
Johann Koenig authored
-
- Nov 15, 2011
-
-
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
-
- Nov 12, 2011
-
-
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
-
- Nov 11, 2011
-
-
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
-
- Nov 10, 2011
-
-
Johann Koenig authored
-
James Zern authored
Correct ifdef check for Visual Studio's compiler, mingw builds can use unistd.h. Change-Id: I25c5ee46ef75ffbff03f560293dfb3d6bed55f70
-
- Nov 09, 2011
-
-
James Zern authored
fixes fseek errors on large files resulting in corrupt/truncated output (issue #364). Change-Id: If0e189a1591d0e95d7d237332e0bea1cf2ec5aa1
-
Scott LaVarnway authored
-
Johann Koenig authored
-
John Koleszar authored
-
John Koleszar authored
-
John Koleszar authored
-
Scott LaVarnway authored
Call the idct/add after the tokenize. This is WIP with the goal of creating a common idct/add for the encoder and decoder. This move is necessary because the decoder's version of the idct clobbers qcoeff, which is used by the tokenize. Change-Id: I6b08d8e8397cd873647fa4fb9469884e3c876756
-