/* $Id: PictureController.h,v 1.6 2005/04/14 20:40:05 titer Exp $
This file is part of the HandBrake source code.
- Homepage: <http://handbrake.m0k.org/>.
+ Homepage: <http://handbrake.fr/>.
It may be used under the terms of the GNU General Public License. */
-#include <Cocoa/Cocoa.h>
+#import <Cocoa/Cocoa.h>
#include "hb.h"
-#include "PictureGLView.h"
-@interface PictureController : NSObject
+#define HB_NUM_HBLIB_PICTURES 10 // hbilb generates 10 preview pictures
+
+@interface PictureController : NSWindowController
{
hb_handle_t * fHandle;
hb_title_t * fTitle;
- bool fHasQE;
- uint8_t * fBuffer;
- int fBufferSize;
- uint8_t * fTexBuf[2];
- int fTexBufSize;
+ NSMutableDictionary * fPicturePreviews; // NSImages, one for each preview libhb creates, created lazily
int fPicture;
- IBOutlet NSPanel * fPicturePanel;
-
- IBOutlet HBPictureGLView * fPictureGLView;
- IBOutlet NSBox * fPictureGLViewArea;
+ IBOutlet NSImageView * fPictureView;
+ IBOutlet NSBox * fPictureViewArea;
IBOutlet NSTextField * fWidthField;
IBOutlet NSStepper * fWidthStepper;
IBOutlet NSTextField * fHeightField;
IBOutlet NSTextField * fCropRightField;
IBOutlet NSStepper * fCropRightStepper;
IBOutlet NSPopUpButton * fDeinterlacePopUp;
+ IBOutlet NSPopUpButton * fDecombPopUp;
IBOutlet NSButton * fDetelecineCheck;
+ IBOutlet NSButton * fVFRCheck;
+ IBOutlet NSButton * fDeblockCheck;
IBOutlet NSPopUpButton * fDenoisePopUp;
- IBOutlet NSButton * fPARCheck;
- IBOutlet NSButton * fEffectsCheck;
+ IBOutlet NSPopUpButton * fAnamorphicPopUp;
IBOutlet NSButton * fPrevButton;
IBOutlet NSButton * fNextButton;
IBOutlet NSTextField * fInfoField;
int MaxOutputWidth;
int MaxOutputHeight;
BOOL autoCrop;
-
+ BOOL allowLooseAnamorphic;
+ int output_width, output_height, output_par_width, output_par_height;
+ int display_width;
/* used to track the previous state of the keep aspect
ratio checkbox when turning anamorphic on, so it can be
returned to the previous state when anamorphic is turned
BOOL keepAspectRatioPreviousState;
struct {
- int detelecine;
+ int detelecine;
+ int vfr;
int deinterlace;
+ int decomb;
int denoise;
+ int deblock;
} fPictureFilterSettings;
id delegate;
- (void) SetHandle: (hb_handle_t *) handle;
- (void) SetTitle: (hb_title_t *) title;
-- (void) Display: (int) anim;
+- (void) setInitialPictureFilters;
+- (void) displayPreview;
- (IBAction) SettingsChanged: (id) sender;
- (IBAction) PreviousPicture: (id) sender;
- (BOOL) autoCrop;
- (void) setAutoCrop: (BOOL) setting;
+- (BOOL) allowLooseAnamorphic;
+- (void) setAllowLooseAnamorphic: (BOOL) setting;
+
- (int) detelecine;
- (void) setDetelecine: (int) setting;
+- (int) vfr;
+- (void) setVFR: (int) setting;
- (int) deinterlace;
- (void) setDeinterlace: (int) setting;
+- (int) decomb;
+- (void) setDecomb: (int) setting;
- (int) denoise;
- (void) setDenoise: (int) setting;
+- (int) deblock;
+- (void) setDeblock: (int) setting;
- (void)showPanelInWindow: (NSWindow *)fWindow forTitle: (hb_title_t *)title;
-- (BOOL) loadMyNibFile;
+
++ (NSImage *) makeImageForPicture: (int)pictureIndex
+ libhb:(hb_handle_t*)handle
+ title:(hb_title_t*)title
+ removeBorders:(BOOL)removeBorders;
+- (NSImage *) imageForPicture: (int) pictureIndex;
+- (void) purgeImageCache;
@end
@interface NSObject (PictureControllertDelegateMethod)