1. 26 Apr, 2012 1 commit
  2. 26 Mar, 2012 1 commit
  3. 02 Mar, 2012 1 commit
    • Johann's avatar
      Fix encoder debug setting · 87c40b35
      Johann authored
      Propagate debug setting to the EBML struct. When writing the application
      name, this allows us to strip the version code and keep the output
      metadata static.
      
      Change-Id: I8e06c6abd743bedbff5af6242bbdae5d55754538
      87c40b35
  4. 29 Feb, 2012 2 commits
    • Yunqing Wang's avatar
      vpxenc: fix time and fps calculation in 2-pass encoding · aabae97e
      Yunqing Wang authored
      When we do 2-pass encoding, elapsed time is accumulated through
      whole 2-pass process, which gives incorrect time and fps results
      for second pass. This change fixed that by resetting the time
      accumulator for second pass.
      
      Change-Id: Ie6cbf0d0e66e6874e7071305e253c6267529cf20
      aabae97e
    • Attila Nagy's avatar
      Packing bitstream on-the-fly with delayed context updates · 52cf4dca
      Attila Nagy authored
      Produce the token partitions on-the-fly, while processing each MB.
      Context is updated at the beginning of each frame based on the
      previoud frame's counters. Optimally encoder outputs partitions in
      separate buffers. For frame based output, partitions are concatenated
      internally.
      
      Limitations:
          - enabled just in combination with realtime-only mode
          - number of encoding threads has to be equal or less than the
          number of token partitions. For this reason, by default the encoder
          will do 8 token partitions.
          - vpxenc supports partition output (-P) just in combination with
          IVF output format (--ivf)
      
      Performance:
          - Realtime encoder can be up to 13% faster (ARM) depending on the number
          of threads and bitrate settings. Constant gain over the 5-16 speed
          range.
          - Token buffer reduced from one frame to 8 MBs
      
      Quality:
          - quality is affected by the delayed context updates. This again
          dependents on input material, speed and bitrate settings. For VC
          style input the loss seen is up to 0.2dB. If error-resilient=2
          mode is used than the effect of this change is negligible.
      
      Example:
      ./configure --enable-realtime-only --enable-onthefly-bitpacking
      ./vpxenc --rt --end-usage=1 --fps=30000/1000 -w 640 -h 480
      --target-bitrate=1000 --token-parts=3 --static-thresh=2000
      --ivf -P -t 4 -o strm.ivf tanya_640x480.yuv
      
      Change-Id: I127295cb85b835fc287e1c0201a67e378d025d76
      52cf4dca
  5. 16 Feb, 2012 4 commits
    • John Koleszar's avatar
      vpxenc: initial implementation of multistream support · 9e50ed7f
      John Koleszar authored
      Add the ability to specify multiple output streams on the command line.
      Streams are delimited by --, and most parameters inherit from previous
      streams.
      
      In this implementation, resizing streams is still not supported. It
      does not make use of the new multistream support in the encoder either.
      Two pass support runs all streams independently, though it's
      theoretically possible that we could combine firstpass runs in the
      future. The logic required for this is too tricky to do as part of this
      initial implementation. This is mostly an effort to get the parameter
      passing and independent streams working from the application's
      perspective, and a later commit will add the rescaling and
      multiresolution support.
      
      Change-Id: Ibf18c2355f54189fc91952c734c899e5c072b3e0
      9e50ed7f
    • John Koleszar's avatar
      vpxenc: factor out input open/close · 732cb9a6
      John Koleszar authored
      Simplify some of the file I/O for later commits which will add multistream
      support
      
      Change-Id: Idf1a05f3a29c95331d0c4a6ea5960904e4897fd4
      732cb9a6
    • John Koleszar's avatar
      vpxenc: add warning()/fatal() helpers · c535025c
      John Koleszar authored
      Cosmetic. Allows exiting with an error message without opening a new
      scope.
      
      Change-Id: If227b29b825f0241acea79dd38f19e524552ee18
      c535025c
    • John Koleszar's avatar
      vpxenc: factor out global config options · efd54f8f
      John Koleszar authored
      This is a first step towards specifying multiple output streams
      with one command line.
      
      Change-Id: Iac784d3911bf553694d024bbd0c3d547261e914b
      efd54f8f
  6. 18 Jan, 2012 1 commit
  7. 21 Dec, 2011 1 commit
  8. 28 Nov, 2011 1 commit
  9. 09 Nov, 2011 1 commit
    • James Zern's avatar
      vpxenc: use off64_t for mingw · 87953d11
      James Zern authored
      fixes fseek errors on large files resulting in corrupt/truncated output
      (issue #364).
      
      Change-Id: If0e189a1591d0e95d7d237332e0bea1cf2ec5aa1
      87953d11
  10. 01 Nov, 2011 1 commit
  11. 19 Oct, 2011 1 commit
  12. 22 Sep, 2011 1 commit
  13. 02 Aug, 2011 1 commit
  14. 28 Jul, 2011 1 commit
    • John Koleszar's avatar
      Convert rc_max_intra_bitrate_pct to control · 1654ae9a
      John Koleszar authored
      Since this is the only ABI incompatible change since the last release,
      convert it to use the control interface instead. The member of the
      configuration struct is replaced with the VP8E_SET_MAX_INTRA_BITRATE_PCT
      control.
      
      More significant API changes were expected to be forthcoming when this
      control was first introduced, and while they continue to be expected,
      it's not worth breaking compatibility for only this change.
      
      Change-Id: I799d8dbe24c8bc9c241e0b7743b2b64f81327d59
      1654ae9a
  15. 27 Jul, 2011 1 commit
  16. 26 Jul, 2011 1 commit
  17. 18 Jul, 2011 1 commit
    • Tero Rintaluoma's avatar
      Fixed rate histogram calculation · fd41cb84
      Tero Rintaluoma authored
      Using small values for --buf-sz= in command line causes
      floating point exception due to division by zero.
      
      Change-Id: Ibfe2d44db922993a78ebc9a4a1087d9625de48ae
      fd41cb84
  18. 12 Jul, 2011 1 commit
  19. 29 Jun, 2011 2 commits
    • Johann's avatar
      guard against space/time distortion · bb0ca87a
      Johann authored
      and divide by 0 errors
      
      Change-Id: I8af5ca3d0913cb6f278fff754f8772bcb62e674a
      bb0ca87a
    • John Koleszar's avatar
      vpxenc: prevent wraparound in the --rate-hist ringbuffer · 05239f0c
      John Koleszar authored
      For clips that are near 60fps and have a lot of alt refs, it's possible
      that the ring buffer holding the previous frames sizes/pts could wrap
      around, leading to a division by zero.
      
      In addition to checking for this condition in the ring buffer loop,
      the buffer size is made dependent on the actual frame rate in use,
      rather than defaulting to 60, which should improve accuracy at frame
      rates >= ~60.
      
      Change-Id: If5a04d6e847316dc5f7504f25c01164cf9332be8
      05239f0c
  20. 28 Jun, 2011 1 commit
    • James Zern's avatar
      vpxenc: free resources · db6ee543
      James Zern authored
      Free buffers allocated for y4m input and webm cue list.
      
      Change-Id: I02051baae3b45f692cf5c7f520ea9a2d80c7b470
      db6ee543
  21. 23 Jun, 2011 2 commits
    • John Koleszar's avatar
      vpxenc: add rate histogram display · c96f8e23
      John Koleszar authored
      Add the --rate-hist=n option, which displays a histogram with n
      buckets for the rate over the --buf-sz window.
      
      Change-Id: I2807b5a1525c7972e9ba40839b37e92b23ceffaf
      c96f8e23
    • John Koleszar's avatar
      vpxenc: add quantizer histogram display · 3fde9964
      John Koleszar authored
      Add the --q-hist=n option, which displays a histogram with n buckets for
      the quantizer selected on each frame.
      
      Change-Id: I59b020c26b0acae0b938685081d9932bd98df5c9
      3fde9964
  22. 27 Apr, 2011 1 commit
  23. 25 Apr, 2011 2 commits
  24. 15 Apr, 2011 1 commit
    • Johann's avatar
      remove executable bit · f64f425a
      Johann authored
      source files are not executable
      
      Change-Id: Id2c7294695a22217468426423979f68f02d82340
      f64f425a
  25. 30 Mar, 2011 1 commit
    • John Koleszar's avatar
      vpxenc: die on realloc failures · 26b6a3b0
      John Koleszar authored
      Identified as a possible cause of issue #308, the code was silently
      ignoring realloc failures, which would lead to corruption, memory
      leaks, and likely a crash. The best we can do in this case is die
      gracefully.
      
      Change-Id: Ie5f6a853d367015be5b9712bd742778f3baeefd9
      26b6a3b0
  26. 21 Mar, 2011 1 commit
    • John Koleszar's avatar
      Allow specifying --end-usage by enum name · 500fec2d
      John Koleszar authored
      Map an enum to the --end-usage values, so you can specify
      --end-usage=cq instead of --end-usage=2. The numerical values still
      work for historical scripts, etc, but this is more user friendly.
      
      Change-Id: I445ecd9638f801f5924a71eabf449bee293cdd34
      500fec2d
  27. 07 Mar, 2011 1 commit
    • Ralph Giles's avatar
      Fix format-string warning · fe9a604b
      Ralph Giles authored
      Cast size_t to (unsigned long) and print it with the %lu format
      string, which is more portable than C99's explict %zu for size_t.
      
      This truncates on Windows x64 but otherwise works on 32 and 64 bit
      platforms. In practice the stats file is unlikely to be so large.
      
      Change-Id: I0432b3acf85fc6ba4ad50640942e1ca4614b21cb
      fe9a604b
  28. 28 Jan, 2011 1 commit
    • Tero Rintaluoma's avatar
      Adds "armvX-none-rvct" targets · 11a222f5
      Tero Rintaluoma authored
      Adds following targets to configure script to support RVCT compilation
      without operating system support (for Profiler or bare metal images).
       - armv5te-none-rvct
       - armv6-none-rvct
       - armv7-none-rvct
      
      To strip OS specific parts from the code "os_support"-config was added
      to script and CONFIG_OS_SUPPORT flag is used in the code to exclude OS
      specific parts such as OS specific includes and function calls for
      timers and threads etc. This was done to enable RVCT compilation for
      profiling purposes or running the image on bare metal target with
      Lauterbach.
      
      Removed separate AREA directives for READONLY data in armv6 and neon
      assembly files to fix the RVCT compilation. Otherwise
      "ldr <reg>, =label" syntax would have been needed to prevent linker
      errors. This syntax is not supported by older gnu assemblers.
      
      Change-Id: I14f4c68529e8c27397502fbc3010a54e505ddb43
      11a222f5
  29. 07 Jan, 2011 1 commit
    • Paul Wilkins's avatar
      CQ Mode · e0846c9c
      Paul Wilkins authored
      The merge includes hooks to for CQ mode and other code
      changes merged from the test branch.
      
      CQ mode attempts to maintain a more stable quantizer within a clip
      whilst also trying to adhere to a guidline maximum bitrate.
      
      The existing target data rate parameter is used to specify the
      guideline maximum bitrate.
      
      A new parameter allows the user to specify a target CQ level.
      
      For normal (non kf/gf/arf) frames, the quantizer will not drop BELOW the
      user specified value (0-63). However, in some cases the encoder may
      choose to impose a target CQ that is above that specified by the user,
      if it estimates that consistent use of the target value is not compatible
      with guideline maximum bitrate.
      
      Change-Id: I2221f9eecae8cc3c431d36caf83503941b25e4c1
      e0846c9c
  30. 23 Dec, 2010 1 commit
    • James Berry's avatar
      vpxenc stats_close() memleak fix · 74e8446e
      James Berry authored
      stats_close() was not freeing memory for
      single pass runs.  It now takes in arg_passes
      to determine when it should free memory.
      
      Change-Id: I6623b7e30b76f9bf2e16008490f9b20484d03f31
      74e8446e
  31. 17 Dec, 2010 1 commit
    • John Koleszar's avatar
      Add psnr/ssim tuning option · b0da9b39
      John Koleszar authored
      Add a new encoder control, VP8E_SET_TUNING, to allow the application
      to inform the encoder that the material will benefit from certain
      tuning. Expose this control as the --tune option to vpxenc. The args
      helper is expanded to support enumerated arguments by name or value.
      
      Two tunings are provided by this patch, PSNR (default) and SSIM.
      Activity masking is made dependent on setting --tune=ssim, as the
      current implementation hurts speed (10%) and PSNR (2.7% avg,
      10% peak) too much for it to be a default yet.
      
      Change-Id: I110d969381c4805347ff5a0ffaf1a14ca1965257
      b0da9b39
  32. 13 Dec, 2010 1 commit
    • James Berry's avatar
      fixed vpxenc bug where ivf files would be read incorrectly · 136bd245
      James Berry authored
      read_frame would incorrectly insert detect->buf into img
      for ivf files.  detect->position now set to 4 if input file is
      detected to be ivf in file_is_ivf to keep this from occuring.
      
      Change-Id: I5e235dd3033985bc62707a35c13af5984620208e
      136bd245
  33. 25 Nov, 2010 1 commit
    • Pascal Massimino's avatar
      allow dimensions as low as 1 pixel · fd9f9dc0
      Pascal Massimino authored
      remove warning comment in vpxenc.c: in case of 1x1 picture,
      detect_bytes will be equal to '3' and we'll fall back to
      RAW_TYPE.
      fix read_frame() by tracking the pre-read buffer length
      in the struct detect
      
      Change-Id: If1ed86ee5260dcdbc8f9d10da6cbb84a4cc2f151
      fd9f9dc0