1. 28 Feb, 2013 1 commit
  2. 27 Feb, 2013 2 commits
    • John Koleszar's avatar
      Use ref_frame_map vice active_ref_idx on the encoder · 800ad0b8
      John Koleszar authored
      This patch makes the encoder's use of ref_frame_map and active_ref_idx
      consistent with the decoder. ref_frame_map[] maps a reference buffer
      index to its actual location in the yv12_fb array, since many
      references may share an underlying buffer. active_ref_idx[] mirrors
      cpi->{lst,gld,alt}_fb_idx, holding the active references in each
      slot.
      
      This also fixes a bug in setup_buffer_inter() where the incorrect
      reference was used to populate the scaling factors.
      
      Change-Id: Id3728f6d77cffcd27c248903bf51f9c3e594287e
      800ad0b8
    • John Koleszar's avatar
      Spatial resamping of ZEROMV predictors · eb939f45
      John Koleszar authored
      This patch allows coding frames using references of different
      resolution, in ZEROMV mode. For compound prediction, either
      reference may be scaled.
      
      To test, I use the resize_test and enable WRITE_RECON_BUFFER
      in vp9_onyxd_if.c. It's also useful to apply this patch to
      test/i420_video_source.h:
      
        --- a/test/i420_video_source.h
        +++ b/test/i420_video_source.h
        @@ -93,6 +93,7 @@ class I420VideoSource : public VideoSource {
      
           virtual void FillFrame() {
             // Read a frame from input_file.
        +    if (frame_ != 3)
             if (fread(img_->img_data, raw_sz_, 1, input_file_) == 0) {
               limit_ = frame_;
             }
      
      This forces the frame that the resolution changes on to be coded
      with no motion, only scaling, and improves the quality of the
      result.
      
      Change-Id: I1ee75d19a437ff801192f767fd02a36bcbd1d496
      eb939f45
  3. 25 Feb, 2013 2 commits
    • James Zern's avatar
      vp9: promote gf_group_bits calculation to 64-bit · b2fc3ca0
      James Zern authored
      avoids signed integer overflow
      
      Change-Id: I9ffcdba90b21edb324d1b173fd11d613e0592931
      b2fc3ca0
    • Paul Wilkins's avatar
      Minor rate control refactoring and experiments. · 97da8b8c
      Paul Wilkins authored
      Some minor refactoring code relating to estimates of
      bits per MB at a given Q and estimating the allowed Q range.
      
      Most of the changes here were included in a previous commit.
      This commit seeks to separate out the refactoring from more
      the material changes.
      
      Two #define control flags have been added for experimentation.
      
      ONE_SHOT_Q_ESTIMATE force the two pass encoder to
      use its initial Q range estimate for the whole clip even if this results
      in a miss on the target data rate. In effect this tightens the Q range
      seen at the expense of rate control accuracy.
      
      DISABLE_RC_LONG_TERM_MEM is a related flag that disables the
      long term memory in the rate control. Local adjustments are still
      made to try and better hit the rate target on a per frame basis but
      the impact of rate control misses is not propagated to the remainder
      of the clip. This means that for example an overshoot early on will not
      cause frames later in the clip to be starved of bits. Again the result
      of this relaxation amy be less rate control accuracy especially on short
      clips.
      
      The flags are disabled by default for now.
      
      Change-Id: I7482f980146d8ea033b5d50cc689f772e4bd119e
      97da8b8c
  4. 22 Feb, 2013 2 commits
  5. 16 Jan, 2013 1 commit
    • John Koleszar's avatar
      Start to anonymize reference frames · da832a80
      John Koleszar authored
      Remove lst_fb_idx, gld_fb_idx, alt_fb_idx, refresh_last_frame,
      refresh_golden_frame, refresh_alt_ref_frame from common. Gold/Alt are
      encode side conventions. From the decoder's perspective, we want to be
      dealing with numbered references.
      
      Updates to active_ref 2 signal mode context switches, vestigial from
      refresh_alt_ref_frame. This needs some clean up to make sense with
      increased numbers of reference frames, as well as reimplementing the
      swapping of alt/golden which was previously done using the
      buffer-to-buffer copy mechanism removed in an earlier commit.
      
      Change-Id: I7334445158b7666f9295d2a2dd22aa03f4485f58
      da832a80
  6. 14 Jan, 2013 1 commit
    • John Koleszar's avatar
      Use INT64_MAX instead of LLONG_MAX · 24bc1a71
      John Koleszar authored
      These variables have the type int64_t, not long long. long long could
      be a larger type than 64 bits. Emulate INT64_MAX for older versions of
      MSVC, and remove the unreferenced vpx_ports/vpxtypes.h
      
      Change-Id: Ideaca71838fcd3849d816d5ab17aa347c97d03b0
      24bc1a71
  7. 08 Jan, 2013 1 commit
  8. 26 Dec, 2012 1 commit
  9. 18 Dec, 2012 1 commit
  10. 17 Dec, 2012 2 commits
    • John Koleszar's avatar
      Remove vp9_type_aliases.h · 1306ba76
      John Koleszar authored
      Prefer the standard fixed-size integer typedefs.
      
      Change-Id: Iad75582350669e49a8da3b7facb9c259e9514a5b
      1306ba76
    • Paul Wilkins's avatar
      Problem of over smoothing with intra modes. · d8f5d1b2
      Paul Wilkins authored
      In some cases intra modes in inter frames give
      an over smoothed appearance. Especially with
      noisy but flat content.
      
      Also in some cases there were problems with key
      frame sizing again with very flat but noisy content.
      
      These are temporary changes to help alleviate the
      visual problems but will almost certainly hurt metric
      results especially at the very low data rate end.
      
      Change-Id: I11549179a19277ffc283d9788bc70168f2a8bdc9
      d8f5d1b2
  11. 07 Dec, 2012 1 commit
  12. 06 Dec, 2012 1 commit
  13. 05 Dec, 2012 1 commit
    • Johann's avatar
      Begin to refactor vpx_scale usage in VP9 · 52d350fe
      Johann authored
      Only declare the functions in vpx_scale RTCD and include the relevant
      header.
      
      Remove unused files and functions in vpx_scale to avoid wasting time
      renaming. vpx_scale/win32/scaleopt.c contains functions which have not
      been called in a long time but are potentially optimized.
      
      The 'vp8' functions have not been renamed yet. That is for after the
      cleanup.
      
      Change-Id: I2c325a101d60fa9d27e7dfcd5b52a864b4a1e09c
      52d350fe
  14. 03 Dec, 2012 1 commit
    • Johann's avatar
      Begin to refactor vpx_scale usage in VP9 · c6bd29e2
      Johann authored
      Only declare the functions in vpx_scale RTCD and include the relevant
      header.
      
      Remove unused files and functions in vpx_scale to avoid wasting time
      renaming. vpx_scale/win32/scaleopt.c contains functions which have not
      been called in a long time but are potentially optimized.
      
      The 'vp8' functions have not been renamed yet. That is for after the
      cleanup.
      
      Change-Id: I2c325a101d60fa9d27e7dfcd5b52a864b4a1e09c
      c6bd29e2
  15. 29 Nov, 2012 2 commits
  16. 28 Nov, 2012 1 commit
  17. 27 Nov, 2012 1 commit
    • John Koleszar's avatar
      Add vp9_ prefix to all vp9 files · fcccbcbb
      John Koleszar authored
      Support for gyp which doesn't support multiple objects in the same
      static library having the same basename.
      
      Change-Id: Ib947eefbaf68f8b177a796d23f875ccdfa6bc9dc
      fcccbcbb
  18. 25 Nov, 2012 1 commit
  19. 10 Nov, 2012 1 commit
  20. 08 Nov, 2012 1 commit
  21. 06 Nov, 2012 1 commit
    • Yaowu Xu's avatar
      silent a lot of MSVC compiler warnings · 8a336b0d
      Yaowu Xu authored
      there are still a couple type of warning left, which are related to
      double constants assigned to float type. As those would be addressed
      by the conversion of transforms into integer version. This commit
      has left those un-dealt with.
      
      Change-Id: I48fd9b489c0c27ad6b543f4177423419f929f2bb
      8a336b0d
  22. 02 Nov, 2012 2 commits
  23. 01 Nov, 2012 3 commits
  24. 31 Oct, 2012 4 commits
  25. 30 Oct, 2012 1 commit
  26. 22 Oct, 2012 2 commits
  27. 17 Oct, 2012 1 commit
  28. 15 Oct, 2012 1 commit
    • Ronald S. Bultje's avatar
      Remove duplicate or unused code in encoder/encodemb.c. · 238ed517
      Ronald S. Bultje authored
      Also make some minor stylistic changes to bring the code closer to
      the style guide. Remove distinction between inter and intra transform
      functions, since both do exactly the same thing except for the check
      against SPLITMV for the second-order transform. Remove some commented
      out debug code. Remove 8x8/16x16 transform code in encode_inter16x16y(),
      since the first-pass only uses 4x4 anyway.
      
      Change-Id: Ife54816ff759825b9141f95dc2ba43c253c14dba
      238ed517