//
//  FWDefinitions.h
//  FFmpegWrapper
//
//  Created by Scott on 7/3/09.
//  Copyright 2009 The Little App Factory. All rights reserved.
//

#import <Cocoa/Cocoa.h>

#define		FW_CUSTOM_FFMPEG_FLAGS				@"FFMPEGFLAGS"

#define		FW_MAX_THREADS						@"MAXTHREADS"
#define		FW_MAX_THREADS_DEFAULT				@"2"

#define		FW_OPTION_QUALITY					@"QUALITY"
#define		FW_OPTION_QUALITY_HIGH				@"HIGH"
#define		FW_OPTION_QUALITY_MEDIUM			@"MEDIUM"
#define		FW_OPTION_QUALITY_LOW				@"LOW"

#define		FW_OPTION_VIDEO_CODEC				@"VCODEC"
#define		FW_OPTION_VIDEO_CODEC_H264			@"H264"
#define		FW_OPTION_VIDEO_CODEC_XVID			@"XVID"
#define		FW_OPTION_VIDEO_CODEC_THEORA		@"THEORA"

#define		FW_OPTION_AUDIO_CODEC				@"ACODEC"
#define		FW_OPTION_AUDIO_CODEC_AAC			@"AAC"
#define		FW_OPTION_AUDIO_CODEC_VORBIS		@"VORBIS"

#define		FW_OPTION_SIZE						@"SIZE"
#define		FW_OPTION_SIZE_IPOD					@"IPOD"

#define		FW_OPTION_FORMAT					@"FORMAT"
#define		FW_OPTION_BITRATE_MAX				@"BITRATEMAX"

#define		FW_AUDIO_STREAM_INDEX				@"AUDIOSTREAMINDEX"
#define		FW_VIDEO_STREAM_INDEX				@"VIDEOSTREAMINDEX"

#define		FW_ACTUAL_LENGTH_IN_SECONDS			@"ACTUALLENGTHSECONDS"



// preset files converted to delimited strings

// 10.6 version of ffmpeg
/*
#define		PRESET_LIBX264_10_6_HIGH_STRING		@"coder=1|flags=+loop|cmp=+chroma|partitions=+parti8x8+parti4x4+partp8x8+partb8x8|me_method=epzs|subq=8|me_range=16|g=250|keyint_min=25|sc_threshold=40|i_qfactor=0.71|b_strategy=2|qcomp=0.6|qmin=10|qmax=51|qdiff=4|bf=3|refs=5|directpred=3|trellis=1|flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip"
#define		PRESET_LIBX264_10_6_MEDIUM_STRING	@"coder=1|flags=+loop|cmp=+chroma|partitions=+parti8x8+parti4x4+partp8x8+partb8x8|me_method=epzs|subq=7|me_range=16|g=250|keyint_min=25|sc_threshold=40|i_qfactor=0.71|b_strategy=1|qcomp=0.6|qmin=10|qmax=51|qdiff=4|bf=3|refs=3|directpred=1|trellis=1|flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip"
#define		PRESET_LIBX264_10_6_LOW_STRING		@"coder=1|flags=+loop|cmp=+chroma|partitions=+parti8x8+parti4x4+partp8x8+partb8x8|me_method=epzs|subq=6|me_range=16|g=250|keyint_min=25|sc_threshold=40|i_qfactor=0.71|b_strategy=1|qcomp=0.6|qmin=10|qmax=51|qdiff=4|bf=3|refs=2|directpred=1|trellis=1|flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip"
*/
 
// 10.5 version of ffmpeg
#define		PRESET_LIBX264_10_5_HIGH_STRING		@"coder=1|flags=+loop|cmp=+chroma|partitions=+parti8x8+parti4x4+partp8x8+partb8x8|me_method=epzs|subq=8|me_range=16|g=250|keyint_min=25|sc_threshold=40|i_qfactor=0.71|b_strategy=2|qcomp=0.6|qmin=10|qmax=51|qdiff=4|bf=3|refs=5|directpred=3|trellis=1|flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip"
#define		PRESET_LIBX264_10_5_MEDIUM_STRING	@"coder=1|flags=+loop|cmp=+chroma|partitions=+parti8x8+parti4x4+partp8x8+partb8x8|me_method=epzs|subq=7|me_range=16|g=250|keyint_min=25|sc_threshold=40|i_qfactor=0.71|b_strategy=1|qcomp=0.6|qmin=10|qmax=51|qdiff=4|bf=3|refs=3|directpred=1|trellis=1|flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip"
#define		PRESET_LIBX264_10_5_LOW_STRING		@"coder=1|flags=+loop|cmp=+chroma|partitions=+parti8x8+parti4x4+partp8x8+partb8x8|me_method=epzs|subq=6|me_range=16|g=250|keyint_min=25|sc_threshold=40|i_qfactor=0.71|b_strategy=1|qcomp=0.6|qmin=10|qmax=51|qdiff=4|bf=3|refs=2|directpred=1|trellis=1|flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip"

// presets for new build
#define		PRESET_LIBX264_10_6_HIGH_STRING		@"coder=1|flags=+loop|cmp=+chroma|partitions=+parti8x8+parti4x4+partp8x8+partb8x8|me_method=epzs|subq=8|me_range=16|g=250|keyint_min=25|sc_threshold=40|i_qfactor=0.71|b_strategy=2|qcomp=0.6|qmin=10|qmax=51|qdiff=4|bf=3|refs=5|trellis=1|flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip|ar=22050"
#define		PRESET_LIBX264_10_6_MEDIUM_STRING	@"coder=1|flags=+loop|cmp=+chroma|partitions=+parti8x8+parti4x4+partp8x8+partb8x8|me_method=epzs|subq=7|me_range=16|g=250|keyint_min=25|sc_threshold=40|i_qfactor=0.71|b_strategy=1|qcomp=0.6|qmin=10|qmax=51|qdiff=4|bf=3|refs=3|trellis=1|flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip"
#define		PRESET_LIBX264_10_6_LOW_STRING		@"coder=1|flags=+loop|cmp=+chroma|partitions=+parti8x8+parti4x4+partp8x8+partb8x8|me_method=epzs|subq=6|me_range=16|g=250|keyint_min=25|sc_threshold=40|i_qfactor=0.71|b_strategy=1|qcomp=0.6|qmin=10|qmax=51|qdiff=4|bf=3|refs=2|trellis=1|flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip"










