// Path: src/main/java/bdsup2sub/core/Framerate.java
// public enum Framerate {
//     FPS_23_976(24000.0/1001, 0x10), //24p
//     FPS_23_975(23.975, 0x10),
//     FPS_24(24.0, 0x20),
//     PAL(25.0, 0x30),
//     NTSC(30000.0/1001, 0x40),
//     PAL_I(50.0,0x60),
//     NTSC_I(60000.0/1001, 0x70);
// 
//     private final double value;
//     private final int id;
// 
//     private Framerate(double value, int id) {
//         this.value = value;
//         this.id = id;
//     }
// 
//     public double getValue() {
//         return value;
//     }
// 
//     public int getId() {
//         return id;
//     }
// 
//     public static double valueForId(int id) {
//         for (Framerate framerate : Framerate.values()) {
//             if (id == framerate.getId()) {
//                 return framerate.getValue();
//             }
//         }
//         throw new IllegalArgumentException("Unsupported id: " + id);
//     }
// 
//     public static int idForFramerate(double fps) {
//         for (Framerate framerate : Framerate.values()) {
//             if (fps == framerate.getValue()) {
//                 return framerate.getId();
//             }
//         }
//         throw new IllegalArgumentException("Unsupported framerate: " + fps);
//     }
// }
// 
// Path: src/main/java/bdsup2sub/core/Resolution.java
// public enum Resolution {
//     NTSC {
//         @Override
//         public String toString() {
//             return "NTSC (720x480)";
//         }
// 
//         @Override
//         public String getResolutionNameForXml() {
//             return "480i";
//         }
// 
//         @Override
//         public int[] getDimensions() {
//             return new int[] {720, 480};
//         }
//     },
//     PAL {
//         @Override
//         public String toString() {
//             return "PAL (720x576)";
//         }
// 
//         @Override
//         public String getResolutionNameForXml() {
//             return "576i";
//         }
// 
//         @Override
//         public int[] getDimensions() {
//             return new int[]{720, 576};
//         }
//     },
//     HD_720 {
//         @Override
//         public String toString() {
//             return "720p (1280x720)";
//         }
// 
//         @Override
//         public String getResolutionNameForXml() {
//             return "720p";
//         }
// 
//         @Override
//         public int[] getDimensions() {
//             return new int[]{1280, 720};
//         }
//     },
//     HD_1440x1080 {
//         @Override
//         public String toString() {
//             return "1080p (1440x1080)";
//         }
// 
//         @Override
//         public String getResolutionNameForXml() {
//             return "1440x1080";
//         }
// 
//         @Override
//         public int[] getDimensions() {
//             return new int[]{1440, 1080};
//         }
//     },
//     HD_1080 {
//         @Override
//         public String toString() {
//             return "1080p (1920x1080)";
//         }
// 
//         @Override
//         public String getResolutionNameForXml() {
//             return "1080p";
//         }
// 
//         @Override
//         public int[] getDimensions() {
//             return new int[]{1920, 1080};
//         }
//     };
// 
//     public abstract String getResolutionNameForXml();
//     public abstract int[] getDimensions();
// }


import bdsup2sub.core.Framerate;
import bdsup2sub.core.Resolution;
/*
 * Copyright 2014 Volker Oth (0xdeadbeef) / Miklos Juhasz (mjuhasz)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package bdsup2sub.utils;


public final class SubtitleUtils {

    private SubtitleUtils() {
    }

    public static double getFps(String fps) {
        fps = fps.toLowerCase().trim();
        if (fps.equals("pal")  || fps.equals("25p") || fps.equals("25")) {
// Path: src/main/java/bdsup2sub/core/Framerate.java
// public enum Framerate {
//     FPS_23_976(24000.0/1001, 0x10), //24p
//     FPS_23_975(23.975, 0x10),
//     FPS_24(24.0, 0x20),
//     PAL(25.0, 0x30),
//     NTSC(30000.0/1001, 0x40),
//     PAL_I(50.0,0x60),
//     NTSC_I(60000.0/1001, 0x70);
// 
//     private final double value;
//     private final int id;
// 
//     private Framerate(double value, int id) {
//         this.value = value;
//         this.id = id;
//     }
// 
//     public double getValue() {
//         return value;
//     }
// 
//     public int getId() {
//         return id;
//     }
// 
//     public static double valueForId(int id) {
//         for (Framerate framerate : Framerate.values()) {
//             if (id == framerate.getId()) {
//                 return framerate.getValue();
//             }
//         }
//         throw new IllegalArgumentException("Unsupported id: " + id);
//     }
// 
//     public static int idForFramerate(double fps) {
//         for (Framerate framerate : Framerate.values()) {
//             if (fps == framerate.getValue()) {
//                 return framerate.getId();
//             }
//         }
//         throw new IllegalArgumentException("Unsupported framerate: " + fps);
//     }
// }
// 
// Path: src/main/java/bdsup2sub/core/Resolution.java
// public enum Resolution {
//     NTSC {
//         @Override
//         public String toString() {
//             return "NTSC (720x480)";
//         }
// 
//         @Override
//         public String getResolutionNameForXml() {
//             return "480i";
//         }
// 
//         @Override
//         public int[] getDimensions() {
//             return new int[] {720, 480};
//         }
//     },
//     PAL {
//         @Override
//         public String toString() {
//             return "PAL (720x576)";
//         }
// 
//         @Override
//         public String getResolutionNameForXml() {
//             return "576i";
//         }
// 
//         @Override
//         public int[] getDimensions() {
//             return new int[]{720, 576};
//         }
//     },
//     HD_720 {
//         @Override
//         public String toString() {
//             return "720p (1280x720)";
//         }
// 
//         @Override
//         public String getResolutionNameForXml() {
//             return "720p";
//         }
// 
//         @Override
//         public int[] getDimensions() {
//             return new int[]{1280, 720};
//         }
//     },
//     HD_1440x1080 {
//         @Override
//         public String toString() {
//             return "1080p (1440x1080)";
//         }
// 
//         @Override
//         public String getResolutionNameForXml() {
//             return "1440x1080";
//         }
// 
//         @Override
//         public int[] getDimensions() {
//             return new int[]{1440, 1080};
//         }
//     },
//     HD_1080 {
//         @Override
//         public String toString() {
//             return "1080p (1920x1080)";
//         }
// 
//         @Override
//         public String getResolutionNameForXml() {
//             return "1080p";
//         }
// 
//         @Override
//         public int[] getDimensions() {
//             return new int[]{1920, 1080};
//         }
//     };
// 
//     public abstract String getResolutionNameForXml();
//     public abstract int[] getDimensions();
// }


// Path: src/main/java/bdsup2sub/utils/SubtitleUtils.java
import bdsup2sub.core.Framerate;
import bdsup2sub.core.Resolution;

/*
 * Copyright 2014 Volker Oth (0xdeadbeef) / Miklos Juhasz (mjuhasz)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package bdsup2sub.utils;


public final class SubtitleUtils {

    private SubtitleUtils() {
    }

    public static double getFps(String fps) {
        fps = fps.toLowerCase().trim();
        if (fps.equals("pal")  || fps.equals("25p") || fps.equals("25")) {
            return Framerate.PAL.getValue();