[x265-commits] [x265] bitcost: fix bitcost() function, broken 13 months ago by ...

Steve Borho steve at borho.org
Fri Jul 25 09:10:03 CEST 2014


details:   http://hg.videolan.org/x265/rev/49ea5391828c
branches:  stable
changeset: 7539:49ea5391828c
user:      Steve Borho <steve at borho.org>
date:      Thu Jul 24 16:02:55 2014 -0500
description:
bitcost: fix bitcost() function, broken 13 months ago by 07015bbe306b

when bitcost() was first introduced, we had two competing table formats for the
s_bitsizes[] array. Eventually the x264 style array won out, but this function
was not updated.

This bug was almost harmless, bitcost() could still evaluate differences in bit
costs correctly, but the upshift caused read bound exceptions when the motion
vectors became close to the HEVC max of 4k.
Subject: [x265] bitcost: increase size of cost arrays, for pessimal situations

details:   http://hg.videolan.org/x265/rev/a12920e08700
branches:  stable
changeset: 7540:a12920e08700
user:      Steve Borho <steve at borho.org>
date:      Thu Jul 24 16:15:46 2014 -0500
description:
bitcost: increase size of cost arrays, for pessimal situations

MVD is MV minus MVP. MV could be BC_MAX_MV and MVP could be -BC_MAX_MV
Subject: [x265] Merge with stable

details:   http://hg.videolan.org/x265/rev/8b59410a70be
branches:  
changeset: 7541:8b59410a70be
user:      Steve Borho <steve at borho.org>
date:      Thu Jul 24 16:20:02 2014 -0500
description:
Merge with stable
Subject: [x265] rest: better document that -I N -i N does not disable scenecut detection

details:   http://hg.videolan.org/x265/rev/63a4b5c790ca
branches:  
changeset: 7542:63a4b5c790ca
user:      Steve Borho <steve at borho.org>
date:      Thu Jul 24 18:05:25 2014 -0500
description:
rest: better document that -I N -i N does not disable scenecut detection
Subject: [x265] bitcost: nits

details:   http://hg.videolan.org/x265/rev/74630a9af6c9
branches:  
changeset: 7543:74630a9af6c9
user:      Steve Borho <steve at borho.org>
date:      Thu Jul 24 18:30:18 2014 -0500
description:
bitcost: nits
Subject: [x265] rc: instrument all error conditions in initPass2()

details:   http://hg.videolan.org/x265/rev/650c2d3c5194
branches:  
changeset: 7544:650c2d3c5194
user:      Steve Borho <steve at borho.org>
date:      Thu Jul 24 18:31:39 2014 -0500
description:
rc: instrument all error conditions in initPass2()

it's not helpful to abort the encode with no hint as to why
Subject: [x265] rc: nits

details:   http://hg.videolan.org/x265/rev/f54d5368590a
branches:  
changeset: 7545:f54d5368590a
user:      Steve Borho <steve at borho.org>
date:      Thu Jul 24 18:31:49 2014 -0500
description:
rc: nits
Subject: [x265] param: log multi-pass state

details:   http://hg.videolan.org/x265/rev/670e330e4120
branches:  
changeset: 7546:670e330e4120
user:      Steve Borho <steve at borho.org>
date:      Thu Jul 24 22:39:13 2014 -0500
description:
param: log multi-pass state
Subject: [x265] refine partition size related

details:   http://hg.videolan.org/x265/rev/64a3b661b79a
branches:  
changeset: 7547:64a3b661b79a
user:      Satoshi Nakagawa <nakagawa424 at oki.com>
date:      Tue Jul 22 15:53:10 2014 +0900
description:
refine partition size related

- reorder LumaPartitions to simplify partitionFromLog2Size()
- remove unused
Subject: [x265] qtLayer in reverse order

details:   http://hg.videolan.org/x265/rev/11f8f6e4be20
branches:  
changeset: 7548:11f8f6e4be20
user:      Satoshi Nakagawa <nakagawa424 at oki.com>
date:      Thu Jul 24 10:48:13 2014 +0900
description:
qtLayer in reverse order
Subject: [x265] cli: nit

details:   http://hg.videolan.org/x265/rev/88afb4a4bcee
branches:  
changeset: 7549:88afb4a4bcee
user:      Steve Borho <steve at borho.org>
date:      Thu Jul 24 23:27:32 2014 -0500
description:
cli: nit
Subject: [x265] cli: call x265_param_apply_profile() after applying file-reader params

details:   http://hg.videolan.org/x265/rev/cb6f58ca056e
branches:  
changeset: 7550:cb6f58ca056e
user:      Steve Borho <steve at borho.org>
date:      Thu Jul 24 23:26:27 2014 -0500
description:
cli: call x265_param_apply_profile() after applying file-reader params

the Y4M headers could change param->internalCsp, so applying the profile before
the reader makes changes allows bugs. The CLI was allowing an encode of:

x265 foo_422.y4m o.bin --profile main

Even though --profile main was trying to enforce 4:2:0; the color space change
happened afterward the profile was enforced and thus invalidated the specified
profile. After this fix the encode properly fails with:

x265 [error]: Unsupported color space (2) on input
aborted at input frame 1, output frame 0
Subject: [x265] level: move all profile set/determine logic into one file, fixes for MSP

details:   http://hg.videolan.org/x265/rev/239cb2ba252e
branches:  
changeset: 7551:239cb2ba252e
user:      Steve Borho <steve at borho.org>
date:      Fri Jul 25 00:36:03 2014 -0500
description:
level: move all profile set/determine logic into one file, fixes for MSP
Subject: [x265] nits

details:   http://hg.videolan.org/x265/rev/d8a2892b8044
branches:  
changeset: 7552:d8a2892b8044
user:      Steve Borho <steve at borho.org>
date:      Fri Jul 25 00:46:35 2014 -0500
description:
nits
Subject: [x265] encoder: fix uninitialized variable use reported by valgrind

details:   http://hg.videolan.org/x265/rev/c5aa92fff04a
branches:  
changeset: 7553:c5aa92fff04a
user:      Steve Borho <steve at borho.org>
date:      Fri Jul 25 01:19:24 2014 -0500
description:
encoder: fix uninitialized variable use reported by valgrind

m_conformanceWindow was not initialized at all; and this
was causing uninitialized values to be written to the SPS if padding was
necessary.

Remove unnecessary m_defaultDisplayWindow in the process
Subject: [x265] encoder: remove redundant m_pad array

details:   http://hg.videolan.org/x265/rev/8aa4132d3097
branches:  
changeset: 7554:8aa4132d3097
user:      Steve Borho <steve at borho.org>
date:      Fri Jul 25 01:29:21 2014 -0500
description:
encoder: remove redundant m_pad array

diffstat:

 build/regression/01build-and-smoke-test.bat         |    97 -
 build/regression/02perftest.bat                     |    26 -
 build/regression/commandlines-example.txt           |    15 -
 build/regression/config-example.txt                 |     8 -
 build/regression/email-csv.py                       |    49 -
 build/regression/run.bat                            |    56 -
 doc/reST/cli.rst                                    |   107 +-
 doc/reST/index.rst                                  |     1 +
 doc/reST/lossless.rst                               |   162 +
 doc/reST/presets.rst                                |     6 +-
 source/CMakeLists.txt                               |    21 +-
 source/Lib/TLibCommon/CommonDef.h                   |    44 +-
 source/Lib/TLibCommon/ContextTables.h               |     1 -
 source/Lib/TLibCommon/TComDataCU.cpp                |   605 +---
 source/Lib/TLibCommon/TComDataCU.h                  |    58 +-
 source/Lib/TLibCommon/TComLoopFilter.cpp            |   793 -----
 source/Lib/TLibCommon/TComLoopFilter.h              |   133 -
 source/Lib/TLibCommon/TComMotionInfo.h              |     6 +-
 source/Lib/TLibCommon/TComPattern.cpp               |    49 +-
 source/Lib/TLibCommon/TComPattern.h                 |     3 +-
 source/Lib/TLibCommon/TComPicSym.cpp                |    19 +-
 source/Lib/TLibCommon/TComPicSym.h                  |    10 +-
 source/Lib/TLibCommon/TComPicYuv.cpp                |     5 +-
 source/Lib/TLibCommon/TComPicYuv.h                  |     2 +-
 source/Lib/TLibCommon/TComPrediction.cpp            |   345 +-
 source/Lib/TLibCommon/TComPrediction.h              |    36 +-
 source/Lib/TLibCommon/TComRom.cpp                   |   286 +-
 source/Lib/TLibCommon/TComRom.h                     |    79 +-
 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp  |    34 +-
 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h    |     4 +-
 source/Lib/TLibCommon/TComSlice.cpp                 |   949 -------
 source/Lib/TLibCommon/TComSlice.h                   |  1522 -----------
 source/Lib/TLibCommon/TComTrQuant.cpp               |   297 +-
 source/Lib/TLibCommon/TComTrQuant.h                 |    87 +-
 source/Lib/TLibCommon/TComWeightPrediction.cpp      |    56 +-
 source/Lib/TLibCommon/TComWeightPrediction.h        |    10 +-
 source/Lib/TLibCommon/TComYuv.cpp                   |   165 +-
 source/Lib/TLibCommon/TComYuv.h                     |    11 +-
 source/Lib/TLibCommon/TypeDef.h                     |    56 +-
 source/Lib/TLibEncoder/SyntaxElementWriter.cpp      |   138 -
 source/Lib/TLibEncoder/SyntaxElementWriter.h        |    94 -
 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp        |   363 --
 source/Lib/TLibEncoder/TEncBinCoderCABAC.h          |    97 -
 source/Lib/TLibEncoder/TEncCu.cpp                   |  1540 -----------
 source/Lib/TLibEncoder/TEncCu.h                     |   198 -
 source/Lib/TLibEncoder/TEncEntropy.cpp              |   468 ---
 source/Lib/TLibEncoder/TEncEntropy.h                |   158 -
 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp |   248 +-
 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h   |    35 +-
 source/Lib/TLibEncoder/TEncSbac.cpp                 |  2512 -------------------
 source/Lib/TLibEncoder/TEncSbac.h                   |   156 -
 source/Lib/TLibEncoder/TEncSearch.cpp               |  1960 ++++++--------
 source/Lib/TLibEncoder/TEncSearch.h                 |    35 +-
 source/PPA/ppaCPUEvents.h                           |    42 +-
 source/common/CMakeLists.txt                        |    10 +-
 source/common/bitstream.cpp                         |    18 +
 source/common/bitstream.h                           |    20 +
 source/common/common.cpp                            |    52 +-
 source/common/common.h                              |    12 +-
 source/common/dct.cpp                               |    11 +-
 source/common/deblock.cpp                           |   672 +++++
 source/common/deblock.h                             |    76 +
 source/common/frame.cpp                             |     9 +-
 source/common/frame.h                               |     8 -
 source/common/intrapred.cpp                         |    38 +-
 source/common/loopfilter.cpp                        |     1 +
 source/common/param.cpp                             |    84 +-
 source/common/piclist.cpp                           |     8 +
 source/common/piclist.h                             |     3 +
 source/common/pixel.cpp                             |    24 +-
 source/common/primitives.cpp                        |    15 +-
 source/common/primitives.h                          |    62 +-
 source/common/scalinglist.cpp                       |   193 +
 source/common/scalinglist.h                         |    79 +
 source/common/shortyuv.cpp                          |    95 +-
 source/common/shortyuv.h                            |    15 +-
 source/common/slice.cpp                             |   180 +
 source/common/slice.h                               |   356 ++
 source/common/x86/asm-primitives.cpp                |    12 +
 source/common/x86/pixel-util.h                      |     2 +-
 source/common/x86/pixel-util8.asm                   |   104 +-
 source/common/x86/pixel.h                           |     6 +
 source/common/x86/ssd-a.asm                         |   199 +
 source/encoder/CMakeLists.txt                       |    13 +-
 source/encoder/analysis.cpp                         |  2241 ++++++++++++++++
 source/encoder/analysis.h                           |   143 +
 source/encoder/api.cpp                              |    18 +-
 source/encoder/bitcost.cpp                          |    14 +-
 source/encoder/bitcost.h                            |     9 +-
 source/encoder/compress.cpp                         |  1024 -------
 source/encoder/cturow.cpp                           |   107 +-
 source/encoder/cturow.h                             |    48 +-
 source/encoder/dpb.cpp                              |   314 +-
 source/encoder/dpb.h                                |     8 +-
 source/encoder/encoder.cpp                          |   608 ++--
 source/encoder/encoder.h                            |    71 +-
 source/encoder/entropy.cpp                          |  2234 ++++++++++++++++
 source/encoder/entropy.h                            |   225 +
 source/encoder/frameencoder.cpp                     |   540 +--
 source/encoder/frameencoder.h                       |    33 +-
 source/encoder/framefilter.cpp                      |    49 +-
 source/encoder/framefilter.h                        |    14 +-
 source/encoder/level.cpp                            |   307 +-
 source/encoder/level.h                              |     8 +-
 source/encoder/nal.cpp                              |    12 +-
 source/encoder/nal.h                                |     2 +-
 source/encoder/ratecontrol.cpp                      |  1578 +++++++++--
 source/encoder/ratecontrol.h                        |    76 +-
 source/encoder/rdcost.h                             |     2 +-
 source/encoder/reference.cpp                        |    10 +-
 source/encoder/reference.h                          |     4 +-
 source/encoder/sei.cpp                              |    42 +-
 source/encoder/sei.h                                |   134 +-
 source/encoder/slicetype.cpp                        |    37 +-
 source/encoder/slicetype.h                          |     8 +-
 source/encoder/weightPrediction.cpp                 |    32 +-
 source/output/y4m.cpp                               |     4 -
 source/output/yuv.cpp                               |     4 -
 source/test/mbdstharness.cpp                        |    11 +-
 source/test/pixelharness.cpp                        |    36 +
 source/test/pixelharness.h                          |     1 +
 source/test/testbench.cpp                           |     2 +
 source/x265.cpp                                     |   126 +-
 source/x265.h                                       |    17 +-
 124 files changed, 11351 insertions(+), 15436 deletions(-)

diffs (truncated from 34877 to 300 lines):

diff -r 7ea0ba364367 -r 8aa4132d3097 build/regression/01build-and-smoke-test.bat
--- a/build/regression/01build-and-smoke-test.bat	Wed Jul 09 20:19:21 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
- at echo off
-
-if not exist %buildconfig% mkdir %buildconfig%
-cd %buildconfig%
-if exist *.txt del *.txt
-
-call:makesolution 8bpp "-D ENABLE_PPA:BOOL=ON"
-call:makesolution 16bpp "-D HIGH_BIT_DEPTH:BOOL=ON"
-exit /B
-
-:makesolution
-set depth=%~1
-if not exist %depth% mkdir %depth%
-cd %depth%
-set name=%generator%-%depth%
-
-:: nuke existing cmake cache
-if exist CMakeFiles rd /s /q CMakeFiles
-if exist CMakeCache.txt del CMakeCache.txt
-if exist cmake_install.cmake del cmake_install.cmake
-
-echo Running cmake for %name%
-if "%buildconfig%" == "msys" (
-
-  echo cd "%CD%" > buildscript.sh
-  echo cmake -D ENABLE_TESTS:BOOL=ON %~2 -G "%generator%" ../../../../source >> buildscript.sh
-  echo make >> buildscript.sh
-
-  %msys% -l "%CD%\buildscript.sh"
-  if exist x265.exe (
-    rem We cannot test MSYS x265 without running in MSYS environment
-    cd ..
-    exit /b 0
-  ) else (
-    echo %name% could not create an x265.exe >> "%LOG%"
-    cd ..
-    exit /b 1
-  )
-
-) else (
-
-  call "%compiler%\..\..\VC\vcvarsall.bat"
-  cmake -D ENABLE_TESTS:BOOL=ON %~2 -G "%generator%" ..\..\..\..\source >> ..\cmake%depth%.txt
-  if not exist x265.sln (
-    echo %name% solution was not created >> "%LOG%"
-    cd ..
-    exit /b 1
-  )
-
-  echo Compiling for release...
-  MSBuild /property:Configuration="Release" x265.sln >> ..\build%depth%_release.txt
-  if %errorlevel% equ 1 (
-    echo Release %name% build failed, refer the build log >> "%LOG%"
-    cd ..
-    exit /b 1
-  )
-  
-  echo Compiling for debug...
-  MSBuild /property:Configuration="Debug" x265.sln >> ..\build%depth%_debug.txt
-  if %errorlevel% equ 1 (
-    echo Debug %name% build failed, refer the build log >> "%LOG%"
-    cd ..
-    exit /b 1
-  )
-)
-
-echo Smoke tests...
-if exist Release\x265.exe (
-  Release\x265.exe %video1% -f %testframes% --wpp --hash 1 -o str1.out -r rec1.yuv --no-progress >> ..\encoder_%depth%.txt 2>&1
-  Release\x265.exe %video2% -f %testframes% --wpp --hash 1 -o str2.out -r rec2.yuv --no-progress >> ..\encoder_%depth%.txt 2>&1
-  Release\x265.exe %video3% -f %testframes% --wpp --hash 1 -o str3.out -r rec3.yuv --no-progress >> ..\encoder_%depth%.txt 2>&1
-
-  %decoder% -b str1.out -o str1.yuv >> ..\decoder_%depth%.txt
-  %decoder% -b str2.out -o str2.yuv >> ..\decoder_%depth%.txt
-  %decoder% -b str3.out -o str3.yuv >> ..\decoder_%depth%.txt
-
-  FC /b rec1.yuv str1.yuv > NUL || echo Reconstructed frame mismatch for %name% %video1% >> ..\..\DiffBin.txt
-  FC /b rec2.yuv str2.yuv > NUL || echo Reconstructed frame mismatch for %name% %video2% >> ..\..\DiffBin.txt
-  FC /b rec3.yuv str3.yuv > NUL || echo Reconstructed frame mismatch for %name% %video3% >> ..\..\DiffBin.txt
-)
-
-echo Leak test...
-if exist Debug\x265.exe (
-:: hopefully you have VLD installed so this will check for leaks
-  Debug\x265.exe %video1% -f %testframes% --wpp -o str4.out -r rec4.yuv --no-progress >> ..\encoder_%depth%.txt 2>&1
-  %decoder% -b str4.out -o str4.yuv >> ..\decoder_%depth%.txt
-  FC /b rec4.yuv str4.yuv > NUL || echo Reconstructed frames mismatch for debug %name% >> ..\..\DiffBin.txt
-)
-
-echo Testbench...
-if exist test\Release\TestBench.exe (
-  test\Release\TestBench.exe >> ..\testbench.txt 2>&1 || echo %name% testbench failed >> "%LOG%"
-)
-if exist test\TestBench.exe (
-  test\TestBench.exe >> ..\testbench.txt 2>&1 || echo %name% testbench failed >> "%LOG%"
-)
-cd ..
diff -r 7ea0ba364367 -r 8aa4132d3097 build/regression/02perftest.bat
--- a/build/regression/02perftest.bat	Wed Jul 09 20:19:21 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-if not exist vc11-x86_64\8bpp\Release\x265.exe (
-  echo Perf test expects VC11 x64 8bpp build of x265, not found. Skipping perf tests
-  exit /b 1
-)
-if not exist commandlines.txt (
-  echo commandlines.txt does not exist.
-  echo Copy commandlines-example to commandlines.txt and edit as necessary
-  exit /b 1
-)
-
-set CSV=perflog.csv
-set LOG=perflog.txt
-if exist %LOG% del %LOG%
-
-FOR /F "delims=EOF" %%i IN (commandlines.txt) do (
-  echo Encoding videos with options: %%i
-  call:encoder %video1% "%%i"
-  call:encoder %video2% "%%i"
-  call:encoder %video3% "%%i"
-)
-EXIT /B
-
-:encoder
- at echo x265.exe %1 %~2 -f %perfframes% -o hevc.out --hash 1 >> %LOG%
-vc11-x86_64\8bpp\Release\x265.exe %1 %~2 --no-progress -f %perfframes% -o hevc.out --csv %CSV% --hash 1 >> %LOG% 2>&1
-%decoder% -b hevc.out >> %LOG%
diff -r 7ea0ba364367 -r 8aa4132d3097 build/regression/commandlines-example.txt
--- a/build/regression/commandlines-example.txt	Wed Jul 09 20:19:21 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
---wpp --tu-intra-depth 1 --tu-inter-depth 2 --no-tskip --max-merge 1 --threads 4
---wpp --rect --max-merge 1 --no-rdoq
---wpp --tu-intra-depth 1 --tu-inter-depth 2 --no-tskip --max-merge 1 --threads 4 --no-rdoq
---rect --max-merge 1
---wpp --rect --max-merge 1
---rect --max-merge 1 --cpuid 1
---wpp --rect --max-merge 1 --cpuid 1
---no-rect --no-amp
---no-rect --no-amp --max-merge 1
---wpp --no-rect --no-amp --max-merge 1
---max-merge 1 --wpp --no-rdoq
---rect --amp
---sao
---keyint 1
---bframes 1
diff -r 7ea0ba364367 -r 8aa4132d3097 build/regression/config-example.txt
--- a/build/regression/config-example.txt	Wed Jul 09 20:19:21 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-repository=https://bitbucket.org/multicoreware/x265
-testframes=10
-perfframes=100
-decoder=D:\TAppDecoder.exe
-msys=C:\MinGW\bin\sh.exe
-video1=D:\BasketballDrive_1920x1080_50.y4m
-video2=D:\Kimono1_1920x1080_24.y4m
-video3=D:\FourPeople_1280x720_60.y4m
diff -r 7ea0ba364367 -r 8aa4132d3097 build/regression/email-csv.py
--- a/build/regression/email-csv.py	Wed Jul 09 20:19:21 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-#!/usr/bin/python
-# this script requires python3
-
-import os
-import smtplib
-import glob
-from email.mime.image import MIMEImage
-from email.mime.multipart import MIMEMultipart
-from email.mime.text import MIMEText
-
-SMTP_SERVER = 'smtp.gmail.com'
-SMTP_PORT = 587
-sender = os.getenv("SMTP_USER", "sender at email.com")
-password = os.getenv("SMTP_PASSWD", "mypassword")
-recipient = 'receiver at email.com'
-subject = 'Performance results from regression test'
-message = 'results attached'
-
-def main():
-    msg = MIMEMultipart()
-    msg['Subject'] = 'Performance Results'
-    msg['To'] = recipient
-    msg['From'] = sender
-
-    for csvfile in glob.glob("*.csv"):
-        if not os.path.isfile(csvfile):
-            continue
-        text = MIMEImage(open(csvfile, 'rb').read(), _subtype="csv")
-        text.add_header('Content-Disposition', 'attachment', filename=csvfile)
-        msg.attach(text)
-
-    part = MIMEText('text', "plain")
-    part.set_payload(message)
-    msg.attach(part)
-    session = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
-    try:
-        session.ehlo()
-        session.starttls()
-        session.ehlo
-        session.login(sender, password)
-        session.sendmail(sender, recipient, msg.as_string())
-        print('your message has been sent')
-    except Exception as e:
-        print('Unable to send email', e)
-    finally:
-        session.quit()
-
-if __name__ == '__main__':
-    main()
diff -r 7ea0ba364367 -r 8aa4132d3097 build/regression/run.bat
--- a/build/regression/run.bat	Wed Jul 09 20:19:21 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
- at echo off
-
-if not exist config.txt (
-  echo config.txt does not exist.
-  echo Copy config-example to config.txt and edit as necessary
-  exit /b 1
-)
-if not exist commandlines.txt (
-  echo commandlines.txt does not exist.
-  echo Copy commandlines-example to commandlines.txt and edit as necessary
-  exit /b 1
-)
-
-for /f "tokens=1,2,3,4,5,6,7,8 delims==" %%a in (config.txt) do (
-  if %%a==repository set repository=%%b
-  if %%a==testframes set testframes=%%b
-  if %%a==perfframes set perfframes=%%b
-  if %%a==msys set msys=%%b
-  if %%a==decoder set decoder=%%b
-  if %%a==video1 set video1=%%b
-  if %%a==video2 set video2=%%b
-  if %%a==video3 set video3=%%b
-)
-
-set CWD=%CD%
-set LOG="%CWD%"\regression.log
-if exist %LOG% del %LOG%
-
-hg pull -u "%repository%"
-if %errorlevel% equ 1 (
-  echo "Pull failed" >> "%LOG%"
-  exit /b 1
-)
-hg summary >> "%LOG%"
-hg summary
-
-call:buildconfigs "%msys%" msys "MSYS Makefiles"
-call:buildconfigs "%VS110COMNTOOLS%" vc11-x86_64 "Visual Studio 11 Win64"
-call:buildconfigs "%VS110COMNTOOLS%" vc11-x86 "Visual Studio 11"
-call:buildconfigs "%VS100COMNTOOLS%" vc10-x86_64 "Visual Studio 10 Win64"
-call:buildconfigs "%VS100COMNTOOLS%" vc10-x86 "Visual Studio 10"
-call:buildconfigs "%VS90COMNTOOLS%" vc9-x86_64 "Visual Studio 9 2008 Win64"
-call:buildconfigs "%VS90COMNTOOLS%" vc9-x86 "Visual Studio 9 2008 Win64"
-
-call 02perftest.bat
-EXIT /B
-
-:buildconfigs
-set compiler=%~1
-set buildconfig=%2
-set generator=%~3
-
-if exist %compiler% (
-  echo Detected %generator%, building >> "%LOG%"
-  cmd /c 01build-and-smoke-test.bat
-)
diff -r 7ea0ba364367 -r 8aa4132d3097 doc/reST/cli.rst
--- a/doc/reST/cli.rst	Wed Jul 09 20:19:21 2014 -0500
+++ b/doc/reST/cli.rst	Fri Jul 25 01:29:21 2014 -0500
@@ -294,6 +294,62 @@ Input Options
 	vectors and splits) and less on residual. This feature is intended
 	for experimentation.
 
+Profile, Level, Tier
+====================
+
+.. option:: --profile <string>
+
+	Enforce the requirements of the specified profile, ensuring the
+	output stream will be decodable by a decoder which supports that
+	profile.  May abort the encode if the specified profile is
+	impossible to be supported by the compile options chosen for the
+	encoder (a high bit depth encoder will be unable to output
+	bitstreams compliant with Main or Mainstillpicture).
+
+	API users must use x265_param_apply_profile() after configuring
+	their param structure. Any changes made to the param structure after
+	this call might make the encode non-compliant.
+
+	**Values:** main, main10, mainstillpicture
+


More information about the x265-commits mailing list