]> granicus.if.org Git - handbrake/commitdiff
WinGui: Adding support for the VP8 encoder. Changing "CQ" to "RF" for x265
authorsr55 <sr55.hb@outlook.com>
Sat, 19 Apr 2014 20:16:12 +0000 (20:16 +0000)
committersr55 <sr55.hb@outlook.com>
Sat, 19 Apr 2014 20:16:12 +0000 (20:16 +0000)
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6168 b64f7644-9d1e-0410-96f1-a4d463321fa5

win/CS/HandBrake.ApplicationServices/Utilities/Converters.cs
win/CS/HandBrake.ApplicationServices/Utilities/QueryGeneratorUtility.cs
win/CS/HandBrake.Interop/HandBrakeInterop/Model/Encoding/VideoEncoder.cs
win/CS/HandBrakeWPF/Converters/Video/VideoEncoderConverter.cs
win/CS/HandBrakeWPF/ViewModels/VideoViewModel.cs

index b27678b6ee42768984a4d005f37f1baa5a35c3a9..4799fc2e95fc3bbf789fbab7d9b15c8e046779fb 100644 (file)
@@ -299,6 +299,8 @@ namespace HandBrake.ApplicationServices.Utilities
                     return VideoEncoder.Theora;\r
                 case "x265":\r
                     return VideoEncoder.X265;\r
+                case "VP8":\r
+                    return VideoEncoder.VP8;\r
                 default:\r
                     return VideoEncoder.X264;\r
             }\r
@@ -329,6 +331,8 @@ namespace HandBrake.ApplicationServices.Utilities
                     return "theora";\r
                 case VideoEncoder.X265:\r
                     return "x265";\r
+                case VideoEncoder.VP8:\r
+                    return "VP8";\r
                 default:\r
                     return "x264";\r
             }\r
index a4197fdf97798b5a2da67803b70cf968e452d89d..8fe7cd3ac901a3138d5063e37b5e34936b034706 100644 (file)
@@ -15,11 +15,8 @@ namespace HandBrake.ApplicationServices.Utilities
     using System.Globalization;\r
     using System.IO;\r
 \r
-    using Caliburn.Micro;\r
-\r
     using HandBrake.ApplicationServices.Model;\r
     using HandBrake.ApplicationServices.Model.Encoding;\r
-    using HandBrake.ApplicationServices.Services.Interfaces;\r
     using HandBrake.Interop.Model.Encoding;\r
     using HandBrake.Interop.Model.Encoding.x264;\r
     using HandBrake.Interop.Model.Encoding.x265;\r
@@ -433,6 +430,9 @@ namespace HandBrake.ApplicationServices.Utilities
                 case VideoEncoder.Theora:\r
                     query += " -e theora";\r
                     break;\r
+                case VideoEncoder.VP8:\r
+                    query += " -e VP8";\r
+                    break;\r
                 default:\r
                     query += " -e x264";\r
                     break;\r
@@ -448,23 +448,7 @@ namespace HandBrake.ApplicationServices.Utilities
                         query += string.Format(" -b {0}", task.VideoBitrate.Value);\r
                     break;\r
                 case VideoEncodeRateType.ConstantQuality:\r
-                    switch (task.VideoEncoder)\r
-                    {\r
-                        case VideoEncoder.FFMpeg:\r
-                        case VideoEncoder.FFMpeg2:\r
-                            query += string.Format(" -q {0}", task.Quality.Value.ToString(CultureInfo.InvariantCulture));\r
-                            break;\r
-                        case VideoEncoder.X264:\r
-                        case VideoEncoder.QuickSync:\r
-                            query += string.Format(" -q {0}", task.Quality.Value.ToString(CultureInfo.InvariantCulture));\r
-                            break;\r
-                        case VideoEncoder.Theora:\r
-                            query += string.Format(" -q {0}", task.Quality.Value.ToString(CultureInfo.InvariantCulture));\r
-                            break;\r
-                        case VideoEncoder.X265:\r
-                            query += string.Format(" -q {0}", task.Quality.Value.ToString(CultureInfo.InvariantCulture));\r
-                            break;\r
-                    }\r
+                    query += string.Format(" -q {0}", task.Quality.Value.ToString(CultureInfo.InvariantCulture));\r
                     break;\r
             }\r
 \r
index d9faaa6a4bd699ff3aa17b3962129ac28820d2dd..36c228d7753bb6181106177c26b9b68bec445f7d 100644 (file)
@@ -25,20 +25,24 @@ namespace HandBrake.Interop.Model.Encoding
         [Display(Name = "H.264 (Intel QSV)")]\r
         QuickSync,\r
 \r
-               [Display(Name = "MPEG-4 (FFmpeg)")]\r
+               [Display(Name = "MPEG-4")]\r
         [ShortName("mpeg4")]\r
                FFMpeg,\r
 \r
-               [Display(Name = "MPEG-2 (FFmpeg)")]\r
+               [Display(Name = "MPEG-2")]\r
         [ShortName("mpeg2")]\r
                FFMpeg2,\r
 \r
-               [Display(Name = "VP3 (Theora)")]\r
+               [Display(Name = "Theora")]\r
         [ShortName("theora")]\r
                Theora,\r
 \r
         [Display(Name = "H.265 (x265)")]\r
         [ShortName("x265")]\r
-        X265\r
+        X265,\r
+\r
+        [Display(Name = "VP8")]\r
+        [ShortName("vp8")]\r
+        VP8\r
        }\r
 }\r
index 8e2f1d3795a5771cfa44f4ede31b258f9c0249d0..12699236d05b7efec96d239142ddeda07d602aef 100644 (file)
@@ -53,6 +53,7 @@ namespace HandBrakeWPF.Converters.Video
                 if (task != null && task.OutputFormat != OutputFormat.Mkv)\r
                 {\r
                     encoders.Remove(VideoEncoder.Theora);\r
+                    encoders.Remove(VideoEncoder.VP8);\r
                 }\r
 \r
                 if (!SystemInfo.IsQsvAvailable)\r
index 8479874d0cb28e46f2b66df4774d2b7d980d12cc..0f5a0e167ca4a700701547987c6c0e4301f2b3b2 100644 (file)
@@ -404,7 +404,10 @@ namespace HandBrakeWPF.ViewModels
                     case VideoEncoder.FFMpeg:\r
                     case VideoEncoder.FFMpeg2:\r
                         this.Task.Quality = (32 - value);\r
-                        break;                 \r
+                        break;    \r
+                    case VideoEncoder.VP8:\r
+                        this.Task.Quality = (63 - value);\r
+                        break;\r
                     case VideoEncoder.X264:\r
                     case VideoEncoder.X265:\r
                         double cqStep = userSettingService.GetUserSetting<double>(UserSettingConstants.X264Step);\r
@@ -480,7 +483,7 @@ namespace HandBrakeWPF.ViewModels
         {\r
             get\r
             {\r
-                return this.SelectedVideoEncoder == VideoEncoder.X264 ? "RF" : "QP";\r
+                return this.SelectedVideoEncoder == VideoEncoder.X264 || this.SelectedVideoEncoder ==  VideoEncoder.X265 ? "RF" : "QP";\r
             }\r
         }\r
 \r
@@ -1092,6 +1095,14 @@ namespace HandBrakeWPF.ViewModels
                         this.RF = 32 - cq;\r
                     }\r
                     break;\r
+                case VideoEncoder.VP8:\r
+                    if (preset.Task.Quality.HasValue)\r
+                    {\r
+                        int cq;\r
+                        int.TryParse(preset.Task.Quality.Value.ToString(CultureInfo.InvariantCulture), out cq);\r
+                        this.RF = 63 - cq;\r
+                    }\r
+                    break;\r
                 case VideoEncoder.X265:\r
                 case VideoEncoder.X264:\r
 \r
@@ -1301,6 +1312,7 @@ namespace HandBrakeWPF.ViewModels
                     this.QualityMax = (int)(51 / userSettingService.GetUserSetting<double>(UserSettingConstants.X264Step));\r
                     break;\r
                 case VideoEncoder.Theora:\r
+                case VideoEncoder.VP8:\r
                     this.QualityMin = 0;\r
                     this.QualityMax = 63;\r
                     break;\r