OSDN Git Service

Cygwin: Patches for xvid and mpeg4ip Updated to work with new nasm 2.x.x
[handbrake-jp/handbrake-jp-git.git] / macosx / PictureController.h
index 98cf3dd..c9d5d50 100644 (file)
@@ -7,24 +7,21 @@
 #include <Cocoa/Cocoa.h>
 
 #include "hb.h"
-#include "PictureGLView.h"
+
+#define HB_NUM_HBLIB_PICTURES      10   // hbilb generates 10 preview pictures
 
 @interface PictureController : NSObject
 {
     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 NSStepper       * fCropRightStepper;
     IBOutlet NSPopUpButton   * fDeinterlacePopUp;
        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
+    off */
+    BOOL    keepAspectRatioPreviousState; 
     
     struct {
-        int    detelecine;
+        int     detelecine;
+        int     vfr;
         int     deinterlace;
         int     denoise;
+        int     deblock;
     } fPictureFilterSettings;
 
     id delegate;
@@ -64,7 +72,8 @@
 
 - (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) 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)