Video Converter: FAQ

From AVObjects Knowledge Base
(Difference between revisions)
Jump to: navigation, search
Line 13: Line 13:
 
As follows:
 
As follows:
  
<source lang="cpp">
+
<source lang="c++">
 
eVCR_Nearest, // Neighbours neirborn.
 
eVCR_Nearest, // Neighbours neirborn.
 
eVCR_Linear, // Linear interpolation (bilinear).
 
eVCR_Linear, // Linear interpolation (bilinear).

Revision as of 13:45, 9 July 2008

This is the FAQ page for the Video Converter DirectShow filter.

What CPU extensions are used?

We use MMX, SSE and SSE2 extensions with auto detection of supported features.

What is precision used?

Integer base algorithm.

What is the technique implemented in each resize method?

As follows:

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, oobas, oracle11, oracle8, oxygene, oz, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, uscript, vala, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic

How to use programmatically only those resize methods that I need?

You can set them via via IVideoConverter2::SetConversionProps2().

How do I use the Video Converter to downscale HD material to SD?

For this purpose you need to specify the CONVERTER_PROPS2 structure:

CONVERTER_PROPS2 cnvProps2;
::ZeroMemory( &cnvProps2, sizeof(cnvProps2) );
cnvProps.eInterlaceIn = eVCI_Auto; // or eVCI_Field1First, eVCI_Field2First, eVCI_Progressive for manual set interlace
cnvProps.nAspectIn = 0; // For use VideoInfoHeader2 flags or e.g. MAKELPARAM( 16, 9 ) for 16:9 AR
cnvProps.eInterlaceIn = eVCI_Auto; // or eVCI_Field1First, eVCI_Field2First, eVCI_Progressive for manual set interlace
cnvProps.szOutput.cx = 720;
cnvProps.szOutput.cy = 576;
cnvProps.nAspectOut = MAKELPARAM( 4, 3 );
cnvProps.eKeepAspect2 = eVCKA_LetterBox; // or eVCKA_Crop for crop or eVCKA_None for not maintain AR
cnvProps.eResize = eVCR_CubicWithMP; // See eVCResize for other interplation algorithms
cnvProps.eFieldProcess = eVCFP_Auto; // See eVCFieldProcess for other options
cnvProps.optimization = eThreadPerProc; // Or eOneThread - for work in 'sync' mode
cnvProps.dwUseCPUMask = -1; // Use all available cores/CPUs
 
int nMask = VC_ALL_MASK;
cpVideConverter->SetConversionProps2( &cnvProps, &nMask );
Personal tools