Overview

Request 2525 (accepted)

- Update to version 2.6.12

Submit package home:enzokiel:...hes:Multimedia / avidemux3 to package Multimedia / avidemux3

avidemux3.changes Changed
x
 
1
@@ -1,4 +1,19 @@
2
 -------------------------------------------------------------------
3
+Tue Mar 08 16:09:34 UTC 2016 - joerg.lorenzen@ki.tng.de
4
+
5
+- Update to version 2.6.12
6
+  + [H264] Fixed crash when saving h264 annexB in avi (Brundle)
7
+  + [Vdpau] Fixed VDPAU resize and deinterlace when height is padded
8
+  + [Mkv] Faster loading of VP9 and h265
9
+  + [MP4] Supports more flavors of H265
10
+  + [i18n] Spanish translation update by ringmaster
11
+  + [Edit] Another frame seeking bug fixed, happened rarely
12
+  + [All] Slightly better crash handler
13
+  + [FFmpeg]Update to 2.7.6
14
+  + [Muxer] Basic webm support
15
+  + [Jobs] Fixed right click menus with qt5
16
+
17
+-------------------------------------------------------------------
18
 Fri Feb 05 21:02:11 UTC 2016 - joerg.lorenzen@ki.tng.de
19
 
20
 - Update to version 2.6.11
21
avidemux3.spec Changed
54
 
1
@@ -27,7 +27,7 @@
2
 
3
 Name:           avidemux3
4
 Summary:        Graphical video editing and transcoding tool
5
-Version:        2.6.11
6
+Version:        2.6.12
7
 Release:        1
8
 Url:            http://avidemux.sourceforge.net/
9
 Source0:        avidemux_%{version}.tar.gz
10
@@ -48,9 +48,8 @@
11
 Patch4:         avidemux-package_version.patch
12
 Patch5:         avidemux-bootStrap.patch
13
 Patch6:         avidemux-cpu_armel.patch
14
-Patch7:         avidemux-ADM_VERSION.patch
15
-Patch8:         avidemux-cmake-permissions.patch
16
-Patch9:         avidemux-find-lrelease-qt5.patch
17
+Patch7:         avidemux-cmake-permissions.patch
18
+Patch8:         avidemux-find-lrelease-qt5.patch
19
 License:        GPL-2.0
20
 Group:          Productivity/Multimedia/Video/Editors and Convertors
21
 
22
@@ -258,8 +257,8 @@
23
 find ./ -name '*.sql' -exec dos2unix -q {} \;
24
 find ./ -name '*.txt' -exec dos2unix -q {} \;
25
 find . -type f -exec sed -i -e 's|intfloat_readwrite.h|intfloat.h|g' {} \;
26
-sed -i -e 's|set(FFMPEG_VERSION "2.7.2")|set(FFMPEG_VERSION "%{ffmpeg_version}")|g' cmake/admFFmpegBuild.cmake
27
-rm -f avidemux_core/ffmpeg_package/ffmpeg-2.7.2.tar.bz2
28
+sed -i -e 's|set(FFMPEG_VERSION "2.7.6")|set(FFMPEG_VERSION "%{ffmpeg_version}")|g' cmake/admFFmpegBuild.cmake
29
+rm -f avidemux_core/ffmpeg_package/ffmpeg-2.7.6.tar.bz2
30
 cp %{S:2} avidemux_core/ffmpeg_package/
31
 pushd avidemux_core/ffmpeg_package/patches
32
 rm -f config.mak.diff
33
@@ -288,10 +287,9 @@
34
 %patch4 -p0
35
 %patch5 -p0
36
 %patch6 -p0
37
-%patch7 -p0
38
-%patch8 -p1
39
+%patch7 -p1
40
 %if %{with build_qt5}
41
-%patch9 -p0
42
+%patch8 -p0
43
 %endif
44
 chmod 755 bootStrap.bash
45
 chmod 644 AUTHORS COPYING README
46
@@ -452,6 +450,7 @@
47
 %{_libdir}/ADM_plugins6/muxers/libADM_mx_mp4.so
48
 %{_libdir}/ADM_plugins6/muxers/libADM_mx_mp4v2.so
49
 %{_libdir}/ADM_plugins6/muxers/libADM_mx_raw.so
50
+%{_libdir}/ADM_plugins6/muxers/libADM_mx_Webm.so
51
 %{_libdir}/ADM_plugins6/pluginSettings/x264/3/ultraFast.json
52
 %{_libdir}/ADM_plugins6/pluginSettings/x264/3/PSP.json
53
 %{_libdir}/ADM_plugins6/pluginSettings/x264/3/veryFast.json
54
avidemux-ADM_VERSION.patch Deleted
23
 
1
@@ -1,21 +0,0 @@
2
---- avidemux/common/main.cpp.orig  2014-11-28 22:27:34.739989392 +0100
3
-+++ avidemux/common/main.cpp   2014-11-28 22:27:19.253254919 +0100
4
-@@ -137,7 +137,7 @@
5
- int startAvidemux(int argc, char *argv[])
6
- {
7
-     printf("*************************\n");
8
--    printf("  Avidemux v"ADM_VERSION);
9
-+    printf("  Avidemux v",ADM_VERSION);
10
- 
11
- #if defined( ADM_SUBVERSION )
12
- #define MKSTRING(x) x
13
---- avidemux/gtk/CMakeLists.txt.orig   2014-11-28 22:42:25.006820533 +0100
14
-+++ avidemux/gtk/CMakeLists.txt    2014-11-28 22:42:25.039819908 +0100
15
-@@ -34,6 +34,7 @@
16
- 
17
- SDLify(../common/main.cpp)
18
- ADD_SOURCE_CFLAGS(../common/main.cpp "-DADM_SUBVERSION=\"${ADM_SUBVERSION}\"")
19
-+ADD_SOURCE_CFLAGS(../common/main.cpp "-DADM_VERSION='\"${AVIDEMUX_VERSION}\"'")
20
- 
21
- ###########################################
22
- # Version Info
23
avidemux_2.6.11.tar.gz/avidemux_core/ffmpeg_package/ffmpeg-2.7.2.tar.bz2 Deleted
avidemux_2.6.11.tar.gz/avidemux/common/ADM_editor/include/ADM_edit.hxx -> avidemux_2.6.12.tar.gz/avidemux/common/ADM_editor/include/ADM_edit.hxx Changed
9
 
1
@@ -116,6 +116,7 @@
2
                     bool        updateImageTiming(_SEGMENT *seg,ADMImage *image);
3
                     // Need to get the image just before targetPts
4
                     bool        decodeTillPictureAtPts(uint64_t targetPts,ADMImage *image);
5
+                    bool        getFrameNumFromPtsOrBefore(_VIDEOS *v,uint64_t refTime,int &frameNumber);
6
 
7
 protected:
8
                                 /// Decode frame and on until frame is popped out of decoders
9
avidemux_2.6.11.tar.gz/avidemux/common/ADM_editor/src/ADM_edSearch.cpp -> avidemux_2.6.12.tar.gz/avidemux/common/ADM_editor/src/ADM_edSearch.cpp Changed
165
 
1
@@ -20,6 +20,9 @@
2
 #include "fourcc.h"
3
 #include "ADM_edit.hxx"
4
 #include "ADM_vidMisc.h"
5
+
6
+#define pivotPrintf(...) {}
7
+
8
 /**
9
     \fn getNKFramePTS
10
 */
11
@@ -216,6 +219,59 @@
12
     }
13
     return false;
14
 }
15
+/** 
16
+ * \fn getFrameNumberBeforePts
17
+ * \brief Search the framenumber that has a valid PTS = what's given or  before
18
+ *         it can be equal to refTime
19
+ * @param v
20
+ * @param refTime
21
+ * @param frameNumber
22
+ * @return 
23
+ */
24
+bool ADM_Composer::getFrameNumFromPtsOrBefore(_VIDEOS *v,uint64_t refTime,int &frameNumber)
25
+{
26
+    uint32_t nbFrame = v->_nb_video_frames;
27
+    uint64_t pts, dts;
28
+    uint32_t curFrame=nbFrame >> 1;
29
+    uint32_t splitMoval = curFrame >> 1;
30
+    pivotPrintf("Looking for frame with a pts   %s\n",ADM_us2plain(refTime));
31
+    // Try to find the frame that as the timestamp close enough to refTime, while being smaller
32
+    do 
33
+    {
34
+        // seems like the pts determination, not always works -> retry if necessary
35
+        bool worked;
36
+        do {
37
+                pts=ADM_NO_PTS;
38
+                worked = v->_aviheader->getPtsDts(curFrame,&pts,&dts);
39
+                if (worked && pts != ADM_NO_PTS) 
40
+                    break; // found                
41
+                curFrame--;
42
+                if (!curFrame)
43
+                {
44
+                        ADM_warning("The whole segment is corrupted. Abort the search");
45
+                        return false;
46
+                }
47
+        } while(true);
48
+        pivotPrintf("SplitMoval=%d\n",splitMoval);
49
+        if(pts==refTime)
50
+            break;
51
+        if (!splitMoval) 
52
+            break;        
53
+        pivotPrintf("Pivot time is %d, %s\n",curFrame,ADM_us2plain(pts));
54
+        if (pts >= refTime)
55
+                curFrame -= splitMoval;
56
+        else
57
+                curFrame += splitMoval;
58
+        splitMoval >>= 1;
59
+        pivotPrintf("Split=%d\n",splitMoval);        
60
+    } while(refTime != pts);
61
+
62
+    pivotPrintf("-Matching frame is %d, time is  %s\n",curFrame,ADM_us2plain(pts));
63
+    if (pts > refTime && curFrame)
64
+            curFrame--;
65
+    frameNumber=curFrame;
66
+    return true;
67
+}
68
 /**
69
     \fn searchPreviousKeyFrameInRef
70
     \brief Search next key frame in ref video ref
71
@@ -224,57 +280,49 @@
72
     @param nkTime : Time of the ref video
73
 
74
 */
75
+
76
 bool ADM_Composer::searchPreviousKeyFrameInRef(int ref,uint64_t refTime,uint64_t *nkTime)
77
 {
78
     // Search for the current frame with quick search
79
     _VIDEOS *v = _segments.getRefVideo(ref);
80
     uint32_t nbFrame = v->_nb_video_frames;
81
     uint64_t pts, dts;
82
-   uint32_t curFrame=nbFrame >> 1;
83
-   uint32_t splitMoval = curFrame >> 1;
84
-   do {
85
-       // seems like the pts determination, not always works -> retry if necessary
86
-       bool worked;
87
-       do {
88
-           worked = v->_aviheader->getPtsDts(curFrame,&pts,&dts);
89
-           if (!worked || pts == ADM_NO_PTS) {
90
-               curFrame++;
91
-               if (curFrame == nbFrame) {
92
-                   ADM_warning("The whole segment is corrupted. Abort the search");
93
-                   return false;
94
-               }
95
-           } else
96
-               break;
97
-       } while(true);
98
-
99
-       if (splitMoval != 0) {
100
-           if (pts >= refTime)
101
-               curFrame -= splitMoval;
102
-           else
103
-               curFrame += splitMoval;
104
-           splitMoval >>= 1;
105
-       } else
106
-           break;
107
-   } while(refTime != pts);
108
+    int curFrame;
109
 
110
-   if (pts < refTime)
111
-       curFrame++;
112
-   for (int i=curFrame; i>=0; i--) 
113
-        {
114
-        uint64_t p;
115
-        uint32_t flags;
116
-                v->_aviheader->getFlags(i,&flags);
117
-                if(!(flags & AVI_KEY_FRAME)) continue;
118
-       if(!v->_aviheader->getPtsDts(i,&pts,&dts) || pts == ADM_NO_PTS)
119
-                {
120
-           ADM_warning("The keyframe with PTS less than %"PRIu32"ms is corrupted\n",refTime/1000);
121
-                        continue;
122
-                }
123
-                if(pts>=refTime) continue;
124
-       *nkTime = pts;
125
-       return true;
126
-   }
127
-    ADM_warning("Cannot find keyframe with PTS less than %"PRIu32"ms\n",refTime/1000);
128
+    // look up the frame we are starting from...
129
+    if(!getFrameNumFromPtsOrBefore(v,refTime,curFrame))
130
+    {
131
+        ADM_warning("Cannot locate the frame we are talking about at PTS=%s\n",ADM_us2plain(refTime));
132
+        return false;
133
+    }
134
+    // rewind until we find a keyframe
135
+    for (int i=curFrame; i>=0; i--) 
136
+    {
137
+    uint64_t p;
138
+    uint32_t flags;
139
+            v->_aviheader->getFlags(i,&flags);
140
+            if(!(flags & AVI_KEY_FRAME)) 
141
+                continue;
142
+            if(!v->_aviheader->getPtsDts(i,&pts,&dts))
143
+                continue;
144
+            if(pts == ADM_NO_PTS)
145
+                continue;
146
+            pivotPrintf("-- Previous Kf ! This one is %s\n",ADM_us2plain(pts));
147
+            pivotPrintf("-- Ref is %s\n",ADM_us2plain(refTime));
148
+            pivotPrintf("-- DTS %s\n",ADM_us2plain(dts));
149
+            if(pts>=refTime) 
150
+                continue;
151
+            *nkTime = pts; // ok found it
152
+#if 0            
153
+            for(int j=0;j<5;j++)
154
+            {
155
+                 if(!v->_aviheader->getPtsDts(i+j,&pts,&dts)) continue ;
156
+                 printf("Neighbor [%d] = %s\n",j,ADM_us2plain(pts));
157
+            }
158
+#endif            
159
+            return true;
160
+    }
161
+    ADM_warning("Cannot find keyframe with PTS less than %s\n",ADM_us2plain(refTime));
162
     return false;
163
 }
164
 
165
avidemux_2.6.11.tar.gz/avidemux/common/ADM_editor/src/audio/ADM_edAudioPcm.cpp -> avidemux_2.6.12.tar.gz/avidemux/common/ADM_editor/src/audio/ADM_edAudioPcm.cpp Changed
13
 
1
@@ -105,8 +105,9 @@
2
     {
3
         if(labs((int64_t)lastDts-(int64_t)packetBufferDts)>ADM_ALLOWED_DRIFT_US)
4
         {
5
-            printf("[Composer::getPCMPacket] Track %d,%"PRIx64" : drift %d, computed :%"PRIu64" got %"PRIu64"\n",
6
-                        (int)myTrackNumber,(uint64_t)trk,(int)(lastDts-packetBufferDts),lastDts,packetBufferDts);
7
+            ADM_info("[Composer::getPCMPacket] Track %d,%"PRIx64" : drift %d, computed :%s",
8
+                        (int)myTrackNumber,(uint64_t)trk,(int)(lastDts-packetBufferDts),ADM_us2plain(lastDts));
9
+            ADM_info(" got %s\n", ADM_us2plain(packetBufferDts));
10
             if(packetBufferDts<lastDts)
11
             {
12
                 printf("[Composer::getPCMPacket] Track %d:%"PRIx64" : Dropping packet %"PRIu32" last =%"PRIu32"\n",myTrackNumber,(uint64_t)trk,(uint32_t)(lastDts/1000),(uint32_t)(packetBufferDts/1000));
13
avidemux_2.6.11.tar.gz/avidemux/common/ADM_muxerGate/src/ADM_videoCopyFromAnnexB.cpp -> avidemux_2.6.12.tar.gz/avidemux/common/ADM_muxerGate/src/ADM_videoCopyFromAnnexB.cpp Changed
12
 
1
@@ -249,7 +249,9 @@
2
     context->pix_fmt = PIX_FMT_YUV420P;
3
     
4
     video_body->getExtraHeaderData(&extraLen,&extraData);
5
-    context->extradata=extraData;
6
+    // duplicate extraData with malloc scheme, it will be freed by the bitstream filter
7
+    context->extradata=(uint8_t*)av_malloc(extraLen);
8
+    memcpy( context->extradata,extraData,extraLen);
9
     context->extradata_size=extraLen;
10
     codecContext=(void *)context;
11
     
12
avidemux_2.6.11.tar.gz/avidemux/common/gui_savenew.cpp -> avidemux_2.6.12.tar.gz/avidemux/common/gui_savenew.cpp Changed
43
 
1
@@ -250,24 +250,27 @@
2
         uint32_t extraLen;
3
         video_body->getExtraHeaderData(&extraLen,&extra);
4
 //#warning do something better
5
-        ADM_videoStreamCopy *copy=NULL;
6
+        ADM_videoStreamCopy *copy=NULL;        
7
         if(isH264Compatible(info.fcc))
8
         {
9
+            bool isAnnexB=!extraLen; // this is not very good
10
             if(muxer->preferH264AnnexB())
11
             {
12
-                ADM_info("The video stream is H264\n");
13
+                ADM_info("The video stream is a flavor of H264\n");
14
                 ADM_info("The muxer prefers AnnexB H264 bitstream\n");
15
-                if(extraLen)
16
+                if(!isAnnexB)
17
                 {
18
                     // Need to do mp4 to annexB    
19
-                    ADM_info("Probably AnnexB bitstream\n");
20
+                    ADM_info("Input is probably MP4 bitstream\n");
21
                     copy=new ADM_videoStreamCopyToAnnexB(markerA,markerB);
22
                 }
23
             }else
24
             {
25
-                if(!extraLen)
26
+                ADM_info("The video stream is a flavor of H264\n");
27
+                ADM_info("The muxer prefers MP4 style H264 bitstream\n");
28
+                if(isAnnexB)
29
                 {
30
-                    ADM_info("Probably AnnexB bitstream\n");
31
+                    ADM_info("Input is probably AnnexB bitstream\n");
32
                     copy=new ADM_videoStreamCopyFromAnnexB(markerA,markerB);
33
                 }
34
             }
35
@@ -275,6 +278,7 @@
36
         
37
         if(!copy)
38
         {
39
+            ADM_info("Simple copy mode engaged\n");
40
             copy=new ADM_videoStreamCopy(markerA,markerB);
41
         }
42
         video=copy;
43
avidemux_2.6.11.tar.gz/avidemux/common/main.cpp -> avidemux_2.6.12.tar.gz/avidemux/common/main.cpp Changed
10
 
1
@@ -172,7 +172,7 @@
2
 int startAvidemux(int argc, char *argv[])
3
 {
4
     printf("*************************\n");
5
-    printf("  Avidemux v"ADM_VERSION);
6
+    printf("  Avidemux v%s", ADM_VERSION);
7
 
8
 #if defined( ADM_SUBVERSION )
9
 #define MKSTRING(x) x
10
avidemux_2.6.11.tar.gz/avidemux/gtk/ADM_userInterfaces/ADM_gui2/GUI_bindings.cpp -> avidemux_2.6.12.tar.gz/avidemux/gtk/ADM_userInterfaces/ADM_gui2/GUI_bindings.cpp Changed
16
 
1
@@ -1605,4 +1605,14 @@
2
 {
3
         return;
4
 }
5
+/**
6
+*/
7
+bool UI_setDisplayName(const char *name)
8
+{
9
+        return true;
10
+}
11
+bool         UI_reset(void)
12
+{
13
+        return true;
14
+}
15
 // EOF
16
avidemux_2.6.11.tar.gz/avidemux/gtk/ADM_userInterfaces/ADM_gui2/GUI_gtkRender.cpp -> avidemux_2.6.12.tar.gz/avidemux/gtk/ADM_userInterfaces/ADM_gui2/GUI_gtkRender.cpp Changed
10
 
1
@@ -112,7 +112,7 @@
2
        xinfo->display = 0;
3
        xinfo->window = getMainNSWindow();
4
 #else
5
-       xinfo->window = GDK_WINDOW_XID(win);
6
+       xinfo->systemWindowId = GDK_WINDOW_XID(win);
7
        xinfo->display = GDK_WINDOW_XDISPLAY(parentWin);
8
 #endif
9
 
10
avidemux_2.6.11.tar.gz/avidemux/gtk/CMakeLists.txt -> avidemux_2.6.12.tar.gz/avidemux/gtk/CMakeLists.txt Changed
11
 
1
@@ -33,7 +33,8 @@
2
 ADD_SUBDIRECTORY(ADM_userInterfaces ./ADM_userInterfacesGtk)
3
 
4
 SDLify(../common/main.cpp)
5
-ADD_SOURCE_CFLAGS(../common/main.cpp "-DADM_SUBVERSION=\"${ADM_SUBVERSION}\"")
6
+ADD_SOURCE_CFLAGS(../common/main.cpp "-DADM_SUBVERSION='\"${ADM_SUBVERSION}\"'")
7
+ADD_SOURCE_CFLAGS(../common/main.cpp "-DADM_VERSION='\"${AVIDEMUX_VERSION}\"'")
8
 
9
 ###########################################
10
 # Version Info
11
avidemux_2.6.11.tar.gz/avidemux/qt4/ADM_jobs/src/ADM_jobControl.cpp -> avidemux_2.6.12.tar.gz/avidemux/qt4/ADM_jobs/src/ADM_jobControl.cpp Changed
39
 
1
@@ -153,10 +153,10 @@
2
    ui.tableWidget->addAction(runNow);
3
    ui.tableWidget->addAction(setOk);
4
    ui.tableWidget->addAction(setReady);
5
-   connect(del,SIGNAL(activated()),this,    SLOT(del()));
6
-   connect(runNow,SIGNAL(activated()),this, SLOT(runNow()));
7
-   connect(setOk,SIGNAL(activated()),this,  SLOT(setOk()));
8
-   connect(setReady,SIGNAL(activated()),this,SLOT(setReady()));
9
+   connect(del,SIGNAL(triggered()),this,    SLOT(del()));
10
+   connect(runNow,SIGNAL(triggered()),this, SLOT(runNow()));
11
+   connect(setOk,SIGNAL(triggered()),this,  SLOT(setOk()));
12
+   connect(setReady,SIGNAL(triggered()),this,SLOT(setReady()));
13
 
14
    connect(ui.pushButtonQuit,SIGNAL(pressed()),this,SLOT(quit()));
15
    connect(ui.pushButtonRunAll,SIGNAL(pressed()),this,SLOT(runAllJob()));
16
@@ -263,18 +263,22 @@
17
 
18
 void jobWindow::del(void)
19
 {
20
+    ADM_info("Del\n");
21
     runAction(JobAction_delete);
22
 }
23
 void jobWindow::setOk(void)
24
 {
25
+    ADM_info("Ok\n");
26
     runAction(JobAction_setOk);
27
 }
28
 void jobWindow::setReady(void)
29
 {
30
+    ADM_info("setReady\n");
31
     runAction(JobAction_setReady);
32
 }
33
 void jobWindow::runNow(void)
34
 {
35
+    ADM_info("runNow\n");
36
     runAction(JobAction_runNow);
37
 }
38
  
39
avidemux_2.6.11.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_gui/Q_gui2.cpp -> avidemux_2.6.12.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_gui/Q_gui2.cpp Changed
28
 
1
@@ -18,6 +18,7 @@
2
 #include <QKeyEvent>
3
 #include <QGraphicsView>
4
 #include <QtCore/QDir>
5
+#include <QMessageBox>
6
 #include "ADM_cpp.h"
7
 #define MENU_DECLARE
8
 #include "Q_gui2.h"
9
@@ -928,7 +929,17 @@
10
 */
11
 static void FatalFunctionQt(const char *title, const char *info)
12
 {
13
-   GUI_Info_HIG(ADM_LOG_IMPORTANT, title, info);
14
+    printf("Crash Dump for %s\n",title);
15
+    printf("%s\n",info);
16
+    fflush(stdout);
17
+    
18
+    QMessageBox msgBox;
19
+    msgBox.setText(title);
20
+    msgBox.setInformativeText(QT_TR_NOOP("The application has encountered a fatal problem\nThe current editing has been saved and will be reloaded at next start"));
21
+    msgBox.setDetailedText(info);
22
+    msgBox.setIcon(QMessageBox::Critical);
23
+    msgBox.exec();
24
+    abort();
25
 }
26
 
27
 /**
28
avidemux_2.6.11.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_gui/file_qt4.cpp -> avidemux_2.6.12.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_gui/file_qt4.cpp Changed
10
 
1
@@ -84,7 +84,7 @@
2
                                         label,  // caption
3
                                         str,    // folder
4
                                         filterFile,   // filter
5
-                                        NULL);   // selected filter
6
+                                        NULL,QFileDialog::DontConfirmOverwrite);   // selected filter
7
                                         
8
                 
9
        if (fileName.isNull() ) return;
10
avidemux_2.6.11.tar.gz/avidemux/qt4/i18n/avidemux_es.ts -> avidemux_2.6.12.tar.gz/avidemux/qt4/i18n/avidemux_es.ts Changed
3770
 
1
@@ -13,12 +13,11 @@
2
     </message>
3
     <message>
4
         <source>MPEG-2 requant</source>
5
-        <translation type="obsolete">Cuantizador MPEG</translation>
6
+        <translation type="obsolete">recuantizar MPEG-2</translation>
7
     </message>
8
     <message>
9
         <source>dummy</source>
10
-        <translation type="obsolete">
11
-            </translation>
12
+        <translation type="obsolete">vacio</translation>
13
     </message>
14
     <message>
15
         <source>Copy</source>
16
@@ -30,8 +29,7 @@
17
     </message>
18
     <message>
19
         <source>Dummy</source>
20
-        <translation type="obsolete">
21
-            </translation>
22
+        <translation type="obsolete">Vacio</translation>
23
     </message>
24
     <message>
25
         <source>None</source>
26
@@ -56,16 +54,16 @@
27
     <message>
28
         <source>The beginning frame is not a key frame.
29
 Please move the A marker.</source>
30
-        <translation type="obsolete">La imagen inicial no es un Imagen-Clave
31
+        <translation type="obsolete">La imagen inicial no es una Imagen-Clave
32
 Desplace el marcador A.</translation>
33
     </message>
34
     <message>
35
         <source>_Use systray while encoding</source>
36
-        <translation type="obsolete">Minimizar en el tray al codificar</translation>
37
+        <translation type="obsolete">_Minimizar al codificar</translation>
38
     </message>
39
     <message>
40
         <source>_Accept non-standard audio frequency for DVD</source>
41
-        <translation type="obsolete">Permitir frecuencia de sonido no estándar para DVD</translation>
42
+        <translation type="obsolete">_Permitir frecuencia de sonido no estándar para DVD</translation>
43
     </message>
44
     <message>
45
         <source>Create _OpenDML files</source>
46
@@ -73,27 +71,27 @@
47
     </message>
48
     <message>
49
         <source>Automatically _index MPEG files</source>
50
-        <translation type="obsolete">Indexar automáticamente archivos MPEG</translation>
51
+        <translation type="obsolete">_Indexar automáticamente archivos MPEG</translation>
52
     </message>
53
     <message>
54
         <source>Automatically _swap A and B if A&gt;B</source>
55
-        <translation type="obsolete">Indexar automáticamente archivos MPEG</translation>
56
+        <translation type="obsolete">Intercambiar _automaticamente A y B si A&gt;B</translation>
57
     </message>
58
     <message>
59
         <source>_Disable NUV audio sync</source>
60
-        <translation type="obsolete">Desactivar sincronización de audio NUV</translation>
61
+        <translation type="obsolete">_Desactivar sincronización de audio NUV</translation>
62
     </message>
63
     <message>
64
         <source>Automatically _build VBR map</source>
65
-        <translation type="obsolete">Construir automáticamente mapa VBR</translation>
66
+        <translation type="obsolete">_Construir automáticamente mapa VBR</translation>
67
     </message>
68
     <message>
69
         <source>Automatically _rebuild index</source>
70
-        <translation type="obsolete">Reconstruir automáticamente el índice</translation>
71
+        <translation type="obsolete">_Reconstruir automáticamente el índice</translation>
72
     </message>
73
     <message>
74
         <source>Automatically remove _packed bitstream</source>
75
-        <translation type="obsolete">Eliminar automáticamente el empaquetado bitstream</translation>
76
+        <translation type="obsolete">Eliminar automáticamente el em_paquetado bitstream</translation>
77
     </message>
78
     <message>
79
         <source>SIMD</source>
80
@@ -137,11 +135,11 @@
81
     </message>
82
     <message>
83
         <source>_lavc threads:</source>
84
-        <translation type="obsolete">Procesos Xvid:</translation>
85
+        <translation type="obsolete">Hilos _lavc:</translation>
86
     </message>
87
     <message>
88
         <source>Multi-threading</source>
89
-        <translation type="obsolete">Multi-tarea</translation>
90
+        <translation type="obsolete">Multi-hilo</translation>
91
     </message>
92
     <message>
93
         <source>Above normal</source>
94
@@ -157,15 +155,15 @@
95
     </message>
96
     <message>
97
         <source>_Encoding priority:</source>
98
-        <translation type="obsolete">Prioridad de codificación:</translation>
99
+        <translation type="obsolete">_Prioridad de codificación:</translation>
100
     </message>
101
     <message>
102
         <source>_Indexing/unpacking priority:</source>
103
-        <translation type="obsolete">Prioridad de Indexado/descompresión:</translation>
104
+        <translation type="obsolete">Prioridad de _Indexado/descompresión:</translation>
105
     </message>
106
     <message>
107
         <source>_Playback priority:</source>
108
-        <translation type="obsolete">Prioridad de reproducción:</translation>
109
+        <translation type="obsolete">Prioridad de _reproducción:</translation>
110
     </message>
111
     <message>
112
         <source>Prioritisation</source>
113
@@ -173,7 +171,7 @@
114
     </message>
115
     <message>
116
         <source>_Use alternative tag for MP3 in .mp4</source>
117
-        <translation type="obsolete">Usar un tag alternativo para MP3 en .mp4</translation>
118
+        <translation type="obsolete">_Usar tag alternativo para MP3 en .mp4</translation>
119
     </message>
120
     <message>
121
         <source>XVideo (best)</source>
122
@@ -185,7 +183,7 @@
123
     </message>
124
     <message>
125
         <source>Video _display:</source>
126
-        <translation type="obsolete">Bitrate vídeo:</translation>
127
+        <translation type="obsolete">Mostrar _Video:</translation>
128
     </message>
129
     <message>
130
         <source>No alerts</source>
131
@@ -201,7 +199,7 @@
132
     </message>
133
     <message>
134
         <source>_Message level:</source>
135
-        <translation type="obsolete">Nivel de mensaje:</translation>
136
+        <translation type="obsolete">Nivel de _mensaje:</translation>
137
     </message>
138
     <message>
139
         <source>Master</source>
140
@@ -209,11 +207,11 @@
141
     </message>
142
     <message>
143
         <source>_Volume control:</source>
144
-        <translation type="obsolete">Control de volumen:</translation>
145
+        <translation type="obsolete">Control de _Volumen:</translation>
146
     </message>
147
     <message>
148
         <source>No downmixing</source>
149
-        <translation type="obsolete">Sin downmixing (multicanal)</translation>
150
+        <translation type="obsolete">Sin downmixing</translation>
151
     </message>
152
     <message>
153
         <source>Pro Logic</source>
154
@@ -225,7 +223,7 @@
155
     </message>
156
     <message>
157
         <source>_Local playback downmixing:</source>
158
-        <translation type="obsolete">Downmixing de reproducción Local:</translation>
159
+        <translation type="obsolete">Downmixing de reproducción _Local:</translation>
160
     </message>
161
     <message>
162
         <source>De_ringing</source>
163
@@ -304,7 +302,7 @@
164
     </message>
165
     <message>
166
         <source>Timecode:</source>
167
-        <translation type="obsolete">Marca de tiempo:</translation>
168
+        <translation type="obsolete">Marcador de tiempo:</translation>
169
     </message>
170
     <message>
171
         <source>_Dynamic range compression</source>
172
@@ -901,7 +899,7 @@
173
     </message>
174
     <message>
175
         <source>Marker A &gt; B</source>
176
-        <translation type="obsolete">Marcador A &gt; B</translation>
177
+        <translation type="obsolete">Marcadordor A &gt; B</translation>
178
     </message>
179
     <message>
180
         <source>Cannot copy.</source>
181
@@ -2140,8 +2138,7 @@
182
     </message>
183
     <message>
184
         <source>Smart Copy</source>
185
-        <translation type="obsolete">
186
-            </translation>
187
+        <translation type="obsolete">Copia Inteligente</translation>
188
     </message>
189
     <message>
190
         <source>Trouble initializing audio device</source>
191
@@ -4262,7 +4259,7 @@
192
     </message>
193
     <message>
194
         <source>Timecode:</source>
195
-        <translation type="unfinished">Marca de tiempo:</translation>
196
+        <translation type="unfinished">Marcador de tiempo:</translation>
197
     </message>
198
     <message>
199
         <source>0/0</source>
200
@@ -5640,35 +5637,35 @@
201
     </message>
202
     <message>
203
         <source>Open</source>
204
-        <translation type="unfinished"></translation>
205
+        <translation type="unfinished">Abrir</translation>
206
     </message>
207
     <message>
208
         <source>Append</source>
209
-        <translation type="unfinished"></translation>
210
+        <translation type="unfinished">Anexar</translation>
211
     </message>
212
     <message>
213
         <source>Save</source>
214
-        <translation type="unfinished"></translation>
215
+        <translation type="unfinished">Guardar</translation>
216
     </message>
217
     <message>
218
         <source>Queue</source>
219
-        <translation type="unfinished"></translation>
220
+        <translation type="unfinished">Cola</translation>
221
     </message>
222
     <message>
223
         <source>Save as Image</source>
224
-        <translation type="unfinished"></translation>
225
+        <translation type="unfinished">Guardar como Imagen</translation>
226
     </message>
227
     <message>
228
         <source>Save as BMP</source>
229
-        <translation type="unfinished"></translation>
230
+        <translation type="unfinished">Guardar como BMP</translation>
231
     </message>
232
     <message>
233
         <source>Save as JPEG</source>
234
-        <translation type="unfinished"></translation>
235
+        <translation type="unfinished">Guardar como JPEG</translation>
236
     </message>
237
     <message>
238
         <source>Close</source>
239
-        <translation type="unfinished"></translation>
240
+        <translation type="unfinished">Cerrar</translation>
241
     </message>
242
     <message>
243
         <source>-</source>
244
@@ -5676,27 +5673,27 @@
245
     </message>
246
     <message>
247
         <source>Information</source>
248
-        <translation type="unfinished"></translation>
249
+        <translation type="unfinished">Información</translation>
250
     </message>
251
     <message>
252
         <source>Connect to avsproxy</source>
253
-        <translation type="unfinished"></translation>
254
+        <translation type="unfinished">Conectar a avsproxy</translation>
255
     </message>
256
     <message>
257
         <source>Quit</source>
258
-        <translation type="unfinished"></translation>
259
+        <translation type="unfinished">Salir</translation>
260
     </message>
261
     <message>
262
         <source>Undo</source>
263
-        <translation type="unfinished"></translation>
264
+        <translation type="unfinished">Deshacer</translation>
265
     </message>
266
     <message>
267
         <source>Reset Edit</source>
268
-        <translation type="unfinished"></translation>
269
+        <translation type="unfinished">Deshacer edición</translation>
270
     </message>
271
     <message>
272
         <source>Cut</source>
273
-        <translation type="unfinished"></translation>
274
+        <translation type="unfinished">Cortar</translation>
275
     </message>
276
     <message>
277
         <source>Copy</source>
278
@@ -5704,27 +5701,27 @@
279
     </message>
280
     <message>
281
         <source>Paste</source>
282
-        <translation type="unfinished"></translation>
283
+        <translation type="unfinished">Pegar</translation>
284
     </message>
285
     <message>
286
         <source>Delete</source>
287
-        <translation type="unfinished"></translation>
288
+        <translation type="unfinished">Borrar</translation>
289
     </message>
290
     <message>
291
         <source>Set Marker A</source>
292
-        <translation type="unfinished"></translation>
293
+        <translation type="unfinished">Establecer Marcador A</translation>
294
     </message>
295
     <message>
296
         <source>Set Marker B</source>
297
-        <translation type="unfinished"></translation>
298
+        <translation type="unfinished">Establecer Marcador B</translation>
299
     </message>
300
     <message>
301
         <source>Decoder Option</source>
302
-        <translation type="unfinished"></translation>
303
+        <translation type="unfinished">Opción Descodificador</translation>
304
     </message>
305
     <message>
306
         <source>PostProcessing</source>
307
-        <translation type="unfinished"></translation>
308
+        <translation type="unfinished">PostProcesado</translation>
309
     </message>
310
     <message>
311
         <source>Filters</source>
312
@@ -5732,15 +5729,15 @@
313
     </message>
314
     <message>
315
         <source>Select Track</source>
316
-        <translation type="unfinished"></translation>
317
+        <translation type="unfinished">Seleccionar Pista</translation>
318
     </message>
319
     <message>
320
         <source>Save audio</source>
321
-        <translation type="unfinished"></translation>
322
+        <translation type="unfinished">Guardar sonido</translation>
323
     </message>
324
     <message>
325
         <source>Build Option</source>
326
-        <translation type="unfinished"></translation>
327
+        <translation type="unfinished">Opciones de versión</translation>
328
     </message>
329
     <message>
330
         <source>Plugins</source>
331
@@ -5748,19 +5745,19 @@
332
     </message>
333
     <message>
334
         <source>&amp;Advanced</source>
335
-        <translation type="unfinished"></translation>
336
+        <translation type="unfinished">&amp;Avanzado</translation>
337
     </message>
338
     <message>
339
         <source>Open Application &amp;Log</source>
340
-        <translation type="unfinished"></translation>
341
+        <translation type="unfinished">Abrir Registro &amp;Aplicación</translation>
342
     </message>
343
     <message>
344
         <source>Open Application Data &amp;Folder</source>
345
-        <translation type="unfinished"></translation>
346
+        <translation type="unfinished">Abrir Carpeta Datos &amp;Aplicación</translation>
347
     </message>
348
     <message>
349
         <source>About</source>
350
-        <translation type="unfinished"></translation>
351
+        <translation type="unfinished">Acerca de...</translation>
352
     </message>
353
     <message>
354
         <source>Play/Stop</source>
355
@@ -5768,47 +5765,47 @@
356
     </message>
357
     <message>
358
         <source>Previous Frame</source>
359
-        <translation type="unfinished"></translation>
360
+        <translation type="unfinished">Imagen Anterior</translation>
361
     </message>
362
     <message>
363
         <source>Next Frame</source>
364
-        <translation type="unfinished"></translation>
365
+        <translation type="unfinished">Imagen Siguiente</translation>
366
     </message>
367
     <message>
368
         <source>Previous Intra Frame</source>
369
-        <translation type="unfinished"></translation>
370
+        <translation type="unfinished">Imagen-Clave Anterior</translation>
371
     </message>
372
     <message>
373
         <source>Next Intra Frame</source>
374
-        <translation type="unfinished"></translation>
375
+        <translation type="unfinished">Imagen-Clave Siguiente</translation>
376
     </message>
377
     <message>
378
         <source>Previous Black Frame</source>
379
-        <translation type="unfinished"></translation>
380
+        <translation type="unfinished">Imagen Negra Anterior</translation>
381
     </message>
382
     <message>
383
         <source>Next Black Frame</source>
384
-        <translation type="unfinished"></translation>
385
+        <translation type="unfinished">Imagen Negra Siguiente</translation>
386
     </message>
387
     <message>
388
         <source>First Frame</source>
389
-        <translation type="unfinished"></translation>
390
+        <translation type="unfinished">Imagen Inicial</translation>
391
     </message>
392
     <message>
393
         <source>Last Frame</source>
394
-        <translation type="unfinished"></translation>
395
+        <translation type="unfinished">Imagen Final</translation>
396
     </message>
397
     <message>
398
         <source>Go To Marker A</source>
399
-        <translation type="unfinished"></translation>
400
+        <translation type="unfinished">Ir a Marcador A</translation>
401
     </message>
402
     <message>
403
         <source>Go To Marker B</source>
404
-        <translation type="unfinished"></translation>
405
+        <translation type="unfinished">ir a Marcador B</translation>
406
     </message>
407
     <message>
408
         <source>Go To Time</source>
409
-        <translation type="unfinished"></translation>
410
+        <translation type="unfinished">Ir a Tiempo</translation>
411
     </message>
412
     <message>
413
         <source>R_esampling (Hz):</source>
414
@@ -5832,7 +5829,7 @@
415
     </message>
416
     <message>
417
         <source>_Frame rate change:</source>
418
-        <translation type="unfinished">Cambiar el número de FPS:</translation>
419
+        <translation type="unfinished">Cambiar el número de _FPS:</translation>
420
     </message>
421
     <message>
422
         <source>No change</source>
423
@@ -5892,23 +5889,23 @@
424
     </message>
425
     <message>
426
         <source>G_ain value:</source>
427
-        <translation type="unfinished">Valor de la g_anancia:</translation>
428
+        <translation type="unfinished">Valor de la G_anancia:</translation>
429
     </message>
430
     <message>
431
         <source>_Mixer:</source>
432
-        <translation type="unfinished">Mezclador:</translation>
433
+        <translation type="unfinished">_Mezclador:</translation>
434
     </message>
435
     <message>
436
         <source>Remix:</source>
437
-        <translation type="unfinished"></translation>
438
+        <translation type="unfinished">Remezcla</translation>
439
     </message>
440
     <message>
441
         <source>Shift audio:</source>
442
-        <translation type="unfinished"></translation>
443
+        <translation type="unfinished">Desplazar sonido:</translation>
444
     </message>
445
     <message>
446
         <source>Shift Value (ms):</source>
447
-        <translation type="unfinished"></translation>
448
+        <translation type="unfinished">Valor Desplazamiento (ms)</translation>
449
     </message>
450
     <message>
451
         <source>Audio Filters</source>
452
@@ -5916,8 +5913,7 @@
453
     </message>
454
     <message>
455
         <source>Fontconfig</source>
456
-        <translation type="unfinished">
457
-            </translation>
458
+        <translation type="unfinished">Fuente</translation>
459
     </message>
460
     <message>
461
         <source>FreeType 2</source>
462
@@ -5965,7 +5961,7 @@
463
     </message>
464
     <message>
465
         <source>Select Video To Write</source>
466
-        <translation type="unfinished">Seleccione archivo AVI para escribir</translation>
467
+        <translation type="unfinished">Seleccione Archivo para Guardar</translation>
468
     </message>
469
     <message>
470
         <source>Save Job</source>
471
@@ -6033,19 +6029,19 @@
472
     </message>
473
     <message>
474
         <source>Enable openGl support</source>
475
-        <translation type="unfinished"></translation>
476
+        <translation type="unfinished">Activar soporte openGL</translation>
477
     </message>
478
     <message>
479
         <source>_Split MPEG files every (MB):</source>
480
-        <translation type="unfinished"></translation>
481
+        <translation type="unfinished">_Dividir archivos MPEG cada (MB)</translation>
482
     </message>
483
     <message>
484
         <source>VDPAU (best)</source>
485
-        <translation type="unfinished"></translation>
486
+        <translation type="unfinished">VDPAU (mejor)</translation>
487
     </message>
488
     <message>
489
         <source>OpenGL (best)</source>
490
-        <translation type="unfinished"></translation>
491
+        <translation type="unfinished">OpenGL (mejor)</translation>
492
     </message>
493
     <message>
494
         <source>MS Windows GDI (SDL)</source>
495
@@ -6061,11 +6057,11 @@
496
     </message>
497
     <message>
498
         <source>No audio track</source>
499
-        <translation type="unfinished"></translation>
500
+        <translation type="unfinished">Sin pista de sonido</translation>
501
     </message>
502
     <message>
503
         <source>An audio track is necessary to create such file</source>
504
-        <translation type="unfinished"></translation>
505
+        <translation type="unfinished">Una pista de sonido es necesaria para crear este archivo</translation>
506
     </message>
507
     <message>
508
         <source>Codec Error</source>
509
@@ -6073,38 +6069,41 @@
510
     </message>
511
     <message>
512
         <source>Cannot select the MPEG-4 SP codec.</source>
513
-        <translation type="unfinished"></translation>
514
+        <translation type="unfinished">No se puede seleccionar el codec MPEG-4</translation>
515
     </message>
516
     <message>
517
         <source>No AAC audio encoder plugin found.</source>
518
-        <translation type="unfinished"></translation>
519
+        <translation type="unfinished">No se ha encontradio plugin codificador para sonido AAC</translation>
520
     </message>
521
     <message>
522
         <source>The MP3 codec does not allow disabling reservoir.
523
 Install lame plugin</source>
524
-        <translation type="unfinished"></translation>
525
+        <translation type="unfinished">El codec MP3 no permite desactivar reserva
526
+Instale el plugin lame</translation>
527
     </message>
528
     <message>
529
         <source>You don&apos;t have LAME!.
530
 It is needed to create FLV  video.</source>
531
-        <translation type="unfinished"></translation>
532
+        <translation type="unfinished">¡No tiene LAME!.
533
+Se necesita para crear videos FLV</translation>
534
     </message>
535
     <message>
536
         <source>Cannot select FLV1  codec.</source>
537
-        <translation type="unfinished"></translation>
538
+        <translation type="unfinished">No se puede seleccionar codec FLV1</translation>
539
     </message>
540
     <message>
541
         <source>Cannot select mpeg4 sp codec.</source>
542
-        <translation type="unfinished"></translation>
543
+        <translation type="unfinished">No se puede seleccionar codec MPEG-4 SP</translation>
544
     </message>
545
     <message>
546
         <source>You don&apos;t have FAAC!.
547
 It is needed to create PSP compatible video.</source>
548
-        <translation type="unfinished"></translation>
549
+        <translation type="unfinished">¡No tiene FAAC!.
550
+Se necesita para crear video compatible PSP</translation>
551
     </message>
552
     <message>
553
         <source>Select script to save</source>
554
-        <translation type="unfinished"></translation>
555
+        <translation type="unfinished">Seleccione script para guardar</translation>
556
     </message>
557
     <message>
558
         <source>Not coded in this version</source>
559
@@ -6116,7 +6115,7 @@
560
     </message>
561
     <message>
562
         <source>Select AVI File to Append...</source>
563
-        <translation type="unfinished">Seleccionar archivo AVI para adjuntar...</translation>
564
+        <translation type="unfinished">Seleccionar archivo AVI para anexar...</translation>
565
     </message>
566
     <message>
567
         <source>Are you sure?</source>
568
@@ -6162,11 +6161,11 @@
569
     </message>
570
     <message>
571
         <source>Something failed when appending</source>
572
-        <translation type="unfinished">Ha sucedido algo inesperado</translation>
573
+        <translation type="unfinished">Algo falló al anexar</translation>
574
     </message>
575
     <message>
576
         <source>Something bad happened (II)</source>
577
-        <translation type="unfinished">Error no previsto (II)</translation>
578
+        <translation type="unfinished">Algo imprevisto pasó (II)</translation>
579
     </message>
580
     <message>
581
         <source>Checking video</source>
582
@@ -6182,7 +6181,7 @@
583
     </message>
584
     <message>
585
         <source>Marker A &gt; B</source>
586
-        <translation type="unfinished">Marcador A &gt; B</translation>
587
+        <translation type="unfinished">Marcadordor A &gt; B</translation>
588
     </message>
589
     <message>
590
         <source>Cannot delete the selection.</source>
591
@@ -6190,7 +6189,7 @@
592
     </message>
593
     <message>
594
         <source>You can&apos;t remove all frames</source>
595
-        <translation type="unfinished">Imposible borrar todos los frames</translation>
596
+        <translation type="unfinished">Imposible borrar todas las imágenes</translation>
597
     </message>
598
     <message>
599
         <source>Something bad happened</source>
600
@@ -6228,40 +6227,39 @@
601
     </message>
602
     <message>
603
         <source>Frame Hex Dump</source>
604
-        <translation type="unfinished">_Frames por segundo</translation>
605
+        <translation type="unfinished">Volcado Hex de la Imagen</translation>
606
     </message>
607
     <message>
608
         <source>TimeStamp:</source>
609
-        <translation type="unfinished"></translation>
610
+        <translation type="unfinished">Marca de Tiempo:</translation>
611
     </message>
612
     <message>
613
         <source>Go to Time</source>
614
-        <translation type="unfinished">Saltar a _tiempo...</translation>
615
+        <translation type="unfinished">Saltar a Tiempo</translation>
616
     </message>
617
     <message>
618
         <source>_Filter strength:</source>
619
-        <translation type="unfinished">Intensidad de Filtrado: </translation>
620
+        <translation type="unfinished">Intensidad de _Filtrado:</translation>
621
     </message>
622
     <message>
623
         <source>_Swap U and V</source>
624
-        <translation type="unfinished">Intercambiar U y V</translation>
625
+        <translation type="unfinished">_Intercambiar U y V</translation>
626
     </message>
627
     <message>
628
         <source>_Deringing</source>
629
-        <translation type="unfinished">
630
-            </translation>
631
+        <translation type="unfinished"></translation>
632
     </message>
633
     <message>
634
         <source>Output file</source>
635
-        <translation type="unfinished"></translation>
636
+        <translation type="unfinished">Archivo de Salida</translation>
637
     </message>
638
     <message>
639
         <source>Job name</source>
640
-        <translation type="unfinished"></translation>
641
+        <translation type="unfinished">Nombre de Tarea</translation>
642
     </message>
643
     <message>
644
         <source>Queue job to jobList</source>
645
-        <translation type="unfinished"></translation>
646
+        <translation type="unfinished">Añadir tarea a la Cola</translation>
647
     </message>
648
     <message>
649
         <source>Select Workbench to Save</source>
650
@@ -6297,7 +6295,7 @@
651
     </message>
652
     <message>
653
         <source>Fail to save as jpeg</source>
654
-        <translation type="unfinished"></translation>
655
+        <translation type="unfinished">Fallo al guardar como jpeg</translation>
656
     </message>
657
     <message>
658
         <source>Saving as set of jpegs</source>
659
@@ -6329,13 +6327,11 @@
660
     </message>
661
     <message>
662
         <source>BMP op failed</source>
663
-        <translation type="unfinished">
664
-            </translation>
665
+        <translation type="unfinished">Op BMP ha fallado</translation>
666
     </message>
667
     <message>
668
         <source>Saving %s as a BMP file failed.</source>
669
-        <translation type="unfinished">
670
-            </translation>
671
+        <translation type="unfinished">Guardar %s como BMP ha fallado.</translation>
672
     </message>
673
     <message>
674
         <source>File %s has been successfully saved.</source>
675
@@ -6351,11 +6347,11 @@
676
     </message>
677
     <message>
678
         <source>Recent Files</source>
679
-        <translation type="unfinished"></translation>
680
+        <translation type="unfinished">Archivos Recientes</translation>
681
     </message>
682
     <message>
683
         <source>Recent Projects</source>
684
-        <translation type="unfinished"></translation>
685
+        <translation type="unfinished">Proyectos Recientes</translation>
686
     </message>
687
     <message>
688
         <source>Custom</source>
689
@@ -6367,7 +6363,7 @@
690
     </message>
691
     <message>
692
         <source>_New frame rate:</source>
693
-        <translation type="obsolete">Nuevo frames por segundo</translation>
694
+        <translation type="obsolete">_Nuevo imágenes por segundo</translation>
695
     </message>
696
     <message>
697
         <source>Resample fps</source>
698
@@ -6403,27 +6399,27 @@
699
     </message>
700
     <message>
701
         <source>Log</source>
702
-        <translation type="obsolete">Log</translation>
703
+        <translation type="obsolete"></translation>
704
     </message>
705
     <message>
706
         <source>Phods</source>
707
-        <translation type="obsolete">Phods</translation>
708
+        <translation type="obsolete"></translation>
709
     </message>
710
     <message>
711
         <source>EPZS</source>
712
-        <translation type="obsolete">EPZS</translation>
713
+        <translation type="obsolete"></translation>
714
     </message>
715
     <message>
716
         <source>H.263</source>
717
-        <translation type="obsolete">H.263</translation>
718
+        <translation type="obsolete"></translation>
719
     </message>
720
     <message>
721
         <source>MPEG</source>
722
-        <translation type="obsolete">MPEG</translation>
723
+        <translation type="obsolete"></translation>
724
     </message>
725
     <message>
726
         <source>Advanced Simple Profile</source>
727
-        <translation type="unfinished"></translation>
728
+        <translation type="unfinished">Perfil Simple Avanzado</translation>
729
     </message>
730
     <message>
731
         <source>Motion Estimation</source>
732
@@ -6435,11 +6431,11 @@
733
     </message>
734
     <message>
735
         <source>VBR</source>
736
-        <translation type="obsolete">VBR</translation>
737
+        <translation type="obsolete"></translation>
738
     </message>
739
     <message>
740
         <source>Quality based</source>
741
-        <translation type="obsolete">Calidad </translation>
742
+        <translation type="obsolete">Basado en Calidad </translation>
743
     </message>
744
     <message>
745
         <source>_Bitrate:</source>
746
@@ -6455,7 +6451,7 @@
747
     </message>
748
     <message>
749
         <source>_Quantizer:</source>
750
-        <translation type="obsolete">Cuantizador:</translation>
751
+        <translation type="obsolete">_Cuantizador:</translation>
752
     </message>
753
     <message>
754
         <source>CBR</source>
755
@@ -6467,7 +6463,7 @@
756
     </message>
757
     <message>
758
         <source>Bit_rate mode:</source>
759
-        <translation type="obsolete">Modo bitrate:</translation>
760
+        <translation type="obsolete">Modo bit_rate:</translation>
761
     </message>
762
     <message>
763
         <source>LAME Configuration</source>
764
@@ -6479,59 +6475,59 @@
765
     </message>
766
     <message>
767
         <source>Partial Start Frame:</source>
768
-        <translation type="unfinished"></translation>
769
+        <translation type="unfinished">Imagen de Inicio Parcial</translation>
770
     </message>
771
     <message>
772
         <source>Partial End Frame:</source>
773
-        <translation type="unfinished"></translation>
774
+        <translation type="unfinished">Imagen de Final Parcial</translation>
775
     </message>
776
     <message>
777
         <source>Configure child</source>
778
-        <translation type="unfinished"></translation>
779
+        <translation type="unfinished">Configurar Pequeño</translation>
780
     </message>
781
     <message>
782
         <source>Partial Video Filter</source>
783
-        <translation type="unfinished"></translation>
784
+        <translation type="unfinished">Filtro de Video Parcial</translation>
785
     </message>
786
     <message>
787
         <source>_Interlaced</source>
788
-        <translation type="unfinished"></translation>
789
+        <translation type="unfinished">_Entrelazado</translation>
790
     </message>
791
     <message>
792
         <source>Ca_rtoon mode</source>
793
-        <translation type="unfinished"></translation>
794
+        <translation type="unfinished">Modo _Dibujos</translation>
795
     </message>
796
     <message>
797
         <source>_Greyscale</source>
798
-        <translation type="unfinished"></translation>
799
+        <translation type="unfinished">Escala de _Grises</translation>
800
     </message>
801
     <message>
802
         <source>Turbo mode</source>
803
-        <translation type="unfinished"></translation>
804
+        <translation type="unfinished">Modo Turbo</translation>
805
     </message>
806
     <message>
807
         <source>C_hroma optimizer</source>
808
-        <translation type="unfinished"></translation>
809
+        <translation type="unfinished">Optimizar C_roma</translation>
810
     </message>
811
     <message>
812
         <source>Main</source>
813
-        <translation type="unfinished"></translation>
814
+        <translation type="unfinished">Principal</translation>
815
     </message>
816
     <message>
817
         <source>Very Low</source>
818
-        <translation type="unfinished"></translation>
819
+        <translation type="unfinished">Muy Bajo</translation>
820
     </message>
821
     <message>
822
         <source>Very High</source>
823
-        <translation type="unfinished"></translation>
824
+        <translation type="unfinished">Muy Alto</translation>
825
     </message>
826
     <message>
827
         <source>Ultra High</source>
828
-        <translation type="unfinished"></translation>
829
+        <translation type="unfinished">Ultra Alto</translation>
830
     </message>
831
     <message>
832
         <source>Motion Search Precision</source>
833
-        <translation type="unfinished"></translation>
834
+        <translation type="unfinished">Precisión en Búsqueda de Movimiento</translation>
835
     </message>
836
     <message>
837
         <source>Off</source>
838
@@ -6539,27 +6535,27 @@
839
     </message>
840
     <message>
841
         <source>Mode Decision</source>
842
-        <translation type="unfinished"></translation>
843
+        <translation type="unfinished">Decisión de Modo</translation>
844
     </message>
845
     <message>
846
         <source>Limited Search</source>
847
-        <translation type="unfinished"></translation>
848
+        <translation type="unfinished">Búsqueda Limitada</translation>
849
     </message>
850
     <message>
851
         <source>Medium Search</source>
852
-        <translation type="unfinished"></translation>
853
+        <translation type="unfinished">Búsqueda Media</translation>
854
     </message>
855
     <message>
856
         <source>Wide Search</source>
857
-        <translation type="unfinished"></translation>
858
+        <translation type="unfinished">Búsqueda Ampliada</translation>
859
     </message>
860
     <message>
861
         <source>VHQ Mode</source>
862
-        <translation type="unfinished"></translation>
863
+        <translation type="unfinished">Modo VHQ</translation>
864
     </message>
865
     <message>
866
         <source>Max B Frames</source>
867
-        <translation type="unfinished"></translation>
868
+        <translation type="unfinished">Max Imágenes B</translation>
869
     </message>
870
     <message>
871
         <source>Quarter Pixel</source>
872
@@ -6615,59 +6611,59 @@
873
     </message>
874
     <message>
875
         <source>Quantization Matrix</source>
876
-        <translation type="unfinished"></translation>
877
+        <translation type="unfinished">Matriz de Cuantización</translation>
878
     </message>
879
     <message>
880
         <source>Trellis Quantization</source>
881
-        <translation type="unfinished"></translation>
882
+        <translation type="unfinished">Cuantización Trellis</translation>
883
     </message>
884
     <message>
885
         <source>Two Pass Tuning</source>
886
-        <translation type="unfinished"></translation>
887
+        <translation type="unfinished">Ajuste Dos Pasadas</translation>
888
     </message>
889
     <message>
890
         <source>Key Frame Boost(%)</source>
891
-        <translation type="unfinished"></translation>
892
+        <translation type="unfinished">Imagen-clave Boost(%)</translation>
893
     </message>
894
     <message>
895
         <source>I-frames closer than...</source>
896
-        <translation type="unfinished"></translation>
897
+        <translation type="unfinished">I-frames más cerca que...</translation>
898
     </message>
899
     <message>
900
         <source>.. are reduced by(%)</source>
901
-        <translation type="unfinished"></translation>
902
+        <translation type="unfinished">... son reducidas en (%)</translation>
903
     </message>
904
     <message>
905
         <source>Max Overflow Improvement(%)</source>
906
-        <translation type="unfinished"></translation>
907
+        <translation type="unfinished">Máximo Mejora por Desbordamiento (%)</translation>
908
     </message>
909
     <message>
910
         <source>Max Overglow Degradation(%)</source>
911
-        <translation type="unfinished"></translation>
912
+        <translation type="unfinished">Máxim Degradación por Desbordamiento (%)</translation>
913
     </message>
914
     <message>
915
         <source>Curve Compression</source>
916
-        <translation type="unfinished"></translation>
917
+        <translation type="unfinished">Curva de Compresión</translation>
918
     </message>
919
     <message>
920
         <source>High Bitrate Scenes (%)</source>
921
-        <translation type="unfinished"></translation>
922
+        <translation type="unfinished">Escenas de Alto Bitrate (%)</translation>
923
     </message>
924
     <message>
925
         <source>Low Bitrate Scenes (%)</source>
926
-        <translation type="unfinished"></translation>
927
+        <translation type="unfinished">Escenas de Bajo Bitrate (%)</translation>
928
     </message>
929
     <message>
930
         <source>Overflow Control Strength</source>
931
-        <translation type="unfinished"></translation>
932
+        <translation type="unfinished">Intensidad de Control Desbordamiento</translation>
933
     </message>
934
     <message>
935
         <source>Two Pass</source>
936
-        <translation type="unfinished"></translation>
937
+        <translation type="unfinished">Dos Pasadas</translation>
938
     </message>
939
     <message>
940
         <source>Xvid4 Configuration</source>
941
-        <translation type="unfinished"></translation>
942
+        <translation type="unfinished">Configuración Xvid4</translation>
943
     </message>
944
     <message>
945
         <source>Ready</source>
946
@@ -6687,19 +6683,19 @@
947
     </message>
948
     <message>
949
         <source>Job Name</source>
950
-        <translation type="unfinished"></translation>
951
+        <translation type="unfinished">Nombre Tarea</translation>
952
     </message>
953
     <message>
954
         <source>Status</source>
955
-        <translation type="unfinished"></translation>
956
+        <translation type="unfinished">Estado</translation>
957
     </message>
958
     <message>
959
         <source>Start Time</source>
960
-        <translation type="unfinished"></translation>
961
+        <translation type="unfinished">Hora de Inicio</translation>
962
     </message>
963
     <message>
964
         <source>End Time</source>
965
-        <translation type="unfinished"></translation>
966
+        <translation type="unfinished">Hora Final</translation>
967
     </message>
968
     <message>
969
         <source>Sure!</source>
970
@@ -6711,23 +6707,23 @@
971
     </message>
972
     <message>
973
         <source>Are you sure you want to delete %s job?</source>
974
-        <translation type="unfinished"></translation>
975
+        <translation type="unfinished">¿Estás seguro de borrar %s tareas?</translation>
976
     </message>
977
     <message>
978
         <source>Delete *all* job</source>
979
-        <translation type="unfinished"></translation>
980
+        <translation type="unfinished">Borrar *todas* las tareas</translation>
981
     </message>
982
     <message>
983
         <source>Are you sure you want to delete ALL jobs?</source>
984
-        <translation type="unfinished"></translation>
985
+        <translation type="unfinished">¿Estás seguro de querer borrar TODAS las tareas?</translation>
986
     </message>
987
     <message>
988
         <source>Already done</source>
989
-        <translation type="unfinished"></translation>
990
+        <translation type="unfinished">Ya está hecho</translation>
991
     </message>
992
     <message>
993
         <source>This script has already been successfully executed.</source>
994
-        <translation type="unfinished"></translation>
995
+        <translation type="unfinished">Este script se ha ejecutado satisfactoriamente</translation>
996
     </message>
997
 </context>
998
 <context>
999
@@ -6738,7 +6734,7 @@
1000
     </message>
1001
     <message>
1002
         <source>Aften Configuration</source>
1003
-        <translation type="unfinished"></translation>
1004
+        <translation type="unfinished">Configuración Aften</translation>
1005
     </message>
1006
 </context>
1007
 <context>
1008
@@ -6749,7 +6745,7 @@
1009
     </message>
1010
     <message>
1011
         <source>Adaptative sharpener by MarcFD.</source>
1012
-        <translation type="unfinished">ASharp por MarcFD</translation>
1013
+        <translation type="unfinished">Agudizador adaptativo por MarcFD</translation>
1014
     </message>
1015
 </context>
1016
 <context>
1017
@@ -6771,11 +6767,11 @@
1018
     </message>
1019
     <message>
1020
         <source>Hardcode ass/ssa subtitles using libass.</source>
1021
-        <translation type="unfinished"></translation>
1022
+        <translation type="unfinished">Grabado de subtítulos ass/ssa en vídeo mediante libass.</translation>
1023
     </message>
1024
     <message>
1025
         <source>_Subtitle file (ASS/SSA):</source>
1026
-        <translation type="unfinished">Archivo de subtítulo (ASS/SSA):</translation>
1027
+        <translation type="unfinished">Archivo de _subtítulo (ASS/SSA):</translation>
1028
     </message>
1029
     <message>
1030
         <source>Select Subtitle file</source>
1031
@@ -6783,20 +6779,19 @@
1032
     </message>
1033
     <message>
1034
         <source>_Line spacing:</source>
1035
-        <translation type="unfinished">Entrelazando:</translation>
1036
+        <translation type="unfinished">Espaciado de _líneas:</translation>
1037
     </message>
1038
     <message>
1039
         <source>_Font scale:</source>
1040
-        <translation type="unfinished">Tamaño fuente</translation>
1041
+        <translation type="unfinished">Tamaño _fuente</translation>
1042
     </message>
1043
     <message>
1044
         <source>_Top margin:</source>
1045
-        <translation type="unfinished">
1046
-            </translation>
1047
+        <translation type="unfinished">Margen _superior:</translation>
1048
     </message>
1049
     <message>
1050
         <source>Botto_m margin</source>
1051
-        <translation type="unfinished">Inferior</translation>
1052
+        <translation type="unfinished">_Margen inferior</translation>
1053
     </message>
1054
     <message>
1055
         <source>ASS</source>
1056
@@ -6807,34 +6802,34 @@
1057
     <name>autoWizard</name>
1058
     <message>
1059
         <source>Codec:</source>
1060
-        <translation type="obsolete">Codec:</translation>
1061
+        <translation type="obsolete"></translation>
1062
     </message>
1063
 </context>
1064
 <context>
1065
     <name>avsfilter</name>
1066
     <message>
1067
         <source>_wine app file:</source>
1068
-        <translation type="unfinished"></translation>
1069
+        <translation type="unfinished">Archivo apl. _wine</translation>
1070
     </message>
1071
     <message>
1072
         <source>Select wine filename[wine/cedega/etc.]</source>
1073
-        <translation type="unfinished"></translation>
1074
+        <translation type="unfinished">Seleccione archivo wine [wine/cedega/etc.]</translation>
1075
     </message>
1076
     <message>
1077
         <source>_loader file:</source>
1078
-        <translation type="unfinished"></translation>
1079
+        <translation type="unfinished">Archivo _cargador:</translation>
1080
     </message>
1081
     <message>
1082
         <source>Select loader filename[avsload.exe]</source>
1083
-        <translation type="unfinished"></translation>
1084
+        <translation type="unfinished">Seleccione archivo carga [avsload.exe]</translation>
1085
     </message>
1086
     <message>
1087
         <source>_avs file:</source>
1088
-        <translation type="unfinished"></translation>
1089
+        <translation type="unfinished">Archivo _avs:</translation>
1090
     </message>
1091
     <message>
1092
         <source>Select avs filename[*.avs]</source>
1093
-        <translation type="unfinished"></translation>
1094
+        <translation type="unfinished">Seleccione archivo avs [*.avs]</translation>
1095
     </message>
1096
     <message>
1097
         <source>_pipe timeout:</source>
1098
@@ -6842,26 +6837,26 @@
1099
     </message>
1100
     <message>
1101
         <source>AvsFilter config</source>
1102
-        <translation type="unfinished"></translation>
1103
+        <translation type="unfinished">Configuración AVSFilter</translation>
1104
     </message>
1105
 </context>
1106
 <context>
1107
     <name>blacken</name>
1108
     <message>
1109
         <source>_Left border:</source>
1110
-        <translation type="unfinished">Borde inferior:</translation>
1111
+        <translation type="unfinished">_Borde Izquierdo:</translation>
1112
     </message>
1113
     <message>
1114
         <source>_Right border:</source>
1115
-        <translation type="unfinished">Borde inferior:</translation>
1116
+        <translation type="unfinished">Borde _Derecho:</translation>
1117
     </message>
1118
     <message>
1119
         <source>_Top border:</source>
1120
-        <translation type="unfinished">Borde inferior:</translation>
1121
+        <translation type="unfinished">Borde _Superior:</translation>
1122
     </message>
1123
     <message>
1124
         <source>_Bottom border:</source>
1125
-        <translation type="unfinished">Borde inferior:</translation>
1126
+        <translation type="unfinished">Borde _Inferior:</translation>
1127
     </message>
1128
     <message>
1129
         <source>Blacken Borders</source>
1130
@@ -6880,19 +6875,19 @@
1131
     <name>blackenBorders</name>
1132
     <message>
1133
         <source>_Left border:</source>
1134
-        <translation type="obsolete">Borde inferior:</translation>
1135
+        <translation type="obsolete">Borde _Izquierdo:</translation>
1136
     </message>
1137
     <message>
1138
         <source>_Right border:</source>
1139
-        <translation type="obsolete">Borde inferior:</translation>
1140
+        <translation type="obsolete">Borde _Derecho:</translation>
1141
     </message>
1142
     <message>
1143
         <source>_Top border:</source>
1144
-        <translation type="obsolete">Borde inferior:</translation>
1145
+        <translation type="obsolete">Borde _Superior:</translation>
1146
     </message>
1147
     <message>
1148
         <source>_Bottom border:</source>
1149
-        <translation type="obsolete">Borde inferior:</translation>
1150
+        <translation type="obsolete">Borde _Inferior:</translation>
1151
     </message>
1152
     <message>
1153
         <source>Blacken Borders</source>
1154
@@ -6919,7 +6914,7 @@
1155
     </message>
1156
     <message>
1157
         <source>_New frame rate:</source>
1158
-        <translation type="obsolete">Nuevo frames por segundo</translation>
1159
+        <translation type="obsolete">_Nuevo frames por segundo</translation>
1160
     </message>
1161
     <message>
1162
         <source>Resample fps</source>
1163
@@ -6947,45 +6942,45 @@
1164
     </message>
1165
     <message>
1166
         <source>Source Fps:</source>
1167
-        <translation type="unfinished"></translation>
1168
+        <translation type="unfinished">Fps origen:</translation>
1169
     </message>
1170
     <message>
1171
         <source>Source frame rate:</source>
1172
-        <translation type="unfinished"></translation>
1173
+        <translation type="unfinished">Ratio de imágenes/s origen</translation>
1174
     </message>
1175
     <message>
1176
         <source>Destination Fps:</source>
1177
-        <translation type="unfinished"></translation>
1178
+        <translation type="unfinished">Ratio de imágenes/s destino:</translation>
1179
     </message>
1180
     <message>
1181
         <source>Destination frame rate:</source>
1182
-        <translation type="unfinished"></translation>
1183
+        <translation type="unfinished">Ratio imágenes/s destino:</translation>
1184
     </message>
1185
     <message>
1186
         <source>Change fps</source>
1187
-        <translation type="unfinished"></translation>
1188
+        <translation type="unfinished">Cambiar Fps</translation>
1189
     </message>
1190
     <message>
1191
         <source>Invalid fps</source>
1192
-        <translation type="unfinished"></translation>
1193
+        <translation type="unfinished">Fps incorrecto</translation>
1194
     </message>
1195
 </context>
1196
 <context>
1197
     <name>changefps</name>
1198
     <message>
1199
         <source>Change FPS</source>
1200
-        <translation type="unfinished"></translation>
1201
+        <translation type="unfinished">Cambiar FPS</translation>
1202
     </message>
1203
     <message>
1204
         <source>Speed up/slow down the video as if altering fps. This filter changes duration.</source>
1205
-        <translation type="unfinished"></translation>
1206
+        <translation type="unfinished">Acelerar/enlentecer video al alterar los fps; este filtro cambia la duración del video.</translation>
1207
     </message>
1208
 </context>
1209
 <context>
1210
     <name>chromashift</name>
1211
     <message>
1212
         <source>Shift chroma U/V to fix badly synced luma/chroma.</source>
1213
-        <translation type="unfinished">Cambiar croma U/V en mal sincronismo de luma/croma.</translation>
1214
+        <translation type="unfinished">Cambiar croma U/V para corregir mal sincronismo de luma/croma.</translation>
1215
     </message>
1216
     <message>
1217
         <source>ChromaShift</source>
1218
@@ -7003,23 +6998,23 @@
1219
     <name>coloryuv</name>
1220
     <message>
1221
         <source>Avisynth color filter.</source>
1222
-        <translation type="unfinished"></translation>
1223
+        <translation type="unfinished">Filtro de color Avisynth.</translation>
1224
     </message>
1225
     <message>
1226
         <source>Color management filter.</source>
1227
-        <translation type="unfinished"></translation>
1228
+        <translation type="unfinished">Filtro de control de Color.</translation>
1229
     </message>
1230
     <message>
1231
         <source>AutoWhite</source>
1232
-        <translation type="unfinished"></translation>
1233
+        <translation type="unfinished">Auto Luminosidad</translation>
1234
     </message>
1235
     <message>
1236
         <source>AutoGain</source>
1237
-        <translation type="unfinished"></translation>
1238
+        <translation type="unfinished">Auto Ganancia</translation>
1239
     </message>
1240
     <message>
1241
         <source>Clip to Tv Range (16-235)</source>
1242
-        <translation type="unfinished"></translation>
1243
+        <translation type="unfinished">Clip a rango de TV (16-235)</translation>
1244
     </message>
1245
     <message>
1246
         <source>None</source>
1247
@@ -7035,51 +7030,51 @@
1248
     </message>
1249
     <message>
1250
         <source>Levels:</source>
1251
-        <translation type="unfinished"></translation>
1252
+        <translation type="unfinished">Niveles</translation>
1253
     </message>
1254
     <message>
1255
         <source>Y gain</source>
1256
-        <translation type="unfinished"></translation>
1257
+        <translation type="unfinished">Ganancia Y</translation>
1258
     </message>
1259
     <message>
1260
         <source>Y Brightness</source>
1261
-        <translation type="unfinished"></translation>
1262
+        <translation type="unfinished">Brillo Y</translation>
1263
     </message>
1264
     <message>
1265
         <source>Y Gamma</source>
1266
-        <translation type="unfinished"></translation>
1267
+        <translation type="unfinished">Gamma Y</translation>
1268
     </message>
1269
     <message>
1270
         <source>Y Contrast</source>
1271
-        <translation type="unfinished"></translation>
1272
+        <translation type="unfinished">Contraste Y</translation>
1273
     </message>
1274
     <message>
1275
         <source>U gain</source>
1276
-        <translation type="unfinished"></translation>
1277
+        <translation type="unfinished">Ganancia U</translation>
1278
     </message>
1279
     <message>
1280
         <source>U Brightness</source>
1281
-        <translation type="unfinished"></translation>
1282
+        <translation type="unfinished">Brillo U</translation>
1283
     </message>
1284
     <message>
1285
         <source>U Contrast</source>
1286
-        <translation type="unfinished"></translation>
1287
+        <translation type="unfinished">Contraste U</translation>
1288
     </message>
1289
     <message>
1290
         <source>V gain</source>
1291
-        <translation type="unfinished"></translation>
1292
+        <translation type="unfinished">Ganancia V</translation>
1293
     </message>
1294
     <message>
1295
         <source>V Brightness</source>
1296
-        <translation type="unfinished"></translation>
1297
+        <translation type="unfinished">Brillo V</translation>
1298
     </message>
1299
     <message>
1300
         <source>V Contrast</source>
1301
-        <translation type="unfinished"></translation>
1302
+        <translation type="unfinished">Contraste V</translation>
1303
     </message>
1304
     <message>
1305
         <source>Flags</source>
1306
-        <translation type="unfinished"></translation>
1307
+        <translation type="unfinished">Banderas</translation>
1308
     </message>
1309
     <message>
1310
         <source>Y</source>
1311
@@ -7148,40 +7143,36 @@
1312
     <name>convolution</name>
1313
     <message>
1314
         <source>_Process luma</source>
1315
-        <translation type="unfinished">Procesando</translation>
1316
+        <translation type="unfinished">_Procesar luma</translation>
1317
     </message>
1318
     <message>
1319
         <source>Process luma plane</source>
1320
-        <translation type="unfinished">
1321
-            </translation>
1322
+        <translation type="unfinished">Procesar plano luma</translation>
1323
     </message>
1324
     <message>
1325
         <source>P_rocess chroma</source>
1326
-        <translation type="unfinished">
1327
-            </translation>
1328
+        <translation type="unfinished">P_rocesado chroma</translation>
1329
     </message>
1330
     <message>
1331
         <source>Fast Convolution</source>
1332
-        <translation type="unfinished">
1333
-            </translation>
1334
+        <translation type="unfinished">Circunvolución Rápida</translation>
1335
     </message>
1336
 </context>
1337
 <context>
1338
     <name>crash</name>
1339
     <message>
1340
         <source>Load it</source>
1341
-        <translation type="unfinished">
1342
-            </translation>
1343
+        <translation type="unfinished">Cargarlo</translation>
1344
     </message>
1345
     <message>
1346
         <source>Crash file</source>
1347
-        <translation type="unfinished">Guardar el archivo</translation>
1348
+        <translation type="unfinished">Archivo para depuración error</translation>
1349
     </message>
1350
     <message>
1351
         <source>I have detected a crash file. 
1352
 Do you want to load it  ?
1353
 (It will be deleted in all cases, you should save it if you want to keep it)</source>
1354
-        <translation type="unfinished">Detectado un archivo crash. 
1355
+        <translation type="unfinished">Detectado un archivo de depuración error. 
1356
 ¿Desea cargarlo?
1357
 (será borrado de todos modos, deberá guardarlo si no quiere perderlo)</translation>
1358
     </message>
1359
@@ -7190,21 +7181,21 @@
1360
     <name>crop</name>
1361
     <message>
1362
         <source>crop</source>
1363
-        <translation type="unfinished"></translation>
1364
+        <translation type="unfinished">cortar</translation>
1365
     </message>
1366
     <message>
1367
         <source>crop filter</source>
1368
-        <translation type="unfinished"></translation>
1369
+        <translation type="unfinished">filtro de corte</translation>
1370
     </message>
1371
     <message>
1372
         <source>Warning Cropping too much width ! Width reseted !
1373
 </source>
1374
-        <translation type="unfinished"></translation>
1375
+        <translation type="unfinished">¡Peligro cortando demasiada anchura! ¡Anchura restablecida!</translation>
1376
     </message>
1377
     <message>
1378
         <source>Warning Cropping too much height ! Height reseted !
1379
 </source>
1380
-        <translation type="unfinished"></translation>
1381
+        <translation type="unfinished">¡Peligro cortando demasiada altura! ¡Altura restablecida!</translation>
1382
     </message>
1383
 </context>
1384
 <context>
1385
@@ -7215,7 +7206,7 @@
1386
     </message>
1387
     <message>
1388
         <source>Reset</source>
1389
-        <translation type="obsolete">Limpiar</translation>
1390
+        <translation type="obsolete">Restablecer</translation>
1391
     </message>
1392
 </context>
1393
 <context>
1394
@@ -7226,26 +7217,23 @@
1395
     </message>
1396
     <message>
1397
         <source>Donald Graft decimate. Remove duplicate after telecide.</source>
1398
-        <translation type="unfinished"></translation>
1399
+        <translation type="unfinished">Reducción Donald Graft. Elimiar duplicados después de telecide.</translation>
1400
     </message>
1401
     <message>
1402
         <source>Discard closer</source>
1403
-        <translation type="unfinished">
1404
-            </translation>
1405
+        <translation type="unfinished">Descartar más cercano</translation>
1406
     </message>
1407
     <message>
1408
         <source>Replace (interpolate)</source>
1409
-        <translation type="unfinished">
1410
-            </translation>
1411
+        <translation type="unfinished">Reemplazar (interpolar)</translation>
1412
     </message>
1413
     <message>
1414
         <source>Discard longer dupe (animés)</source>
1415
-        <translation type="unfinished"></translation>
1416
+        <translation type="unfinished">Descartar duplicado largo (animés)</translation>
1417
     </message>
1418
     <message>
1419
         <source>Pulldown dupe removal</source>
1420
-        <translation type="unfinished">
1421
-            </translation>
1422
+        <translation type="unfinished">Quitar duplicados Pulldown</translation>
1423
     </message>
1424
     <message>
1425
         <source>Fastest (no chroma, partial luma)</source>
1426
@@ -7261,28 +7249,27 @@
1427
     </message>
1428
     <message>
1429
         <source>_Quality:</source>
1430
-        <translation type="unfinished">Calidad</translation>
1431
+        <translation type="unfinished">_Calidad</translation>
1432
     </message>
1433
     <message>
1434
         <source>_Threshold 1:</source>
1435
-        <translation type="unfinished">Umbral:</translation>
1436
+        <translation type="unfinished">_Umbral 1:</translation>
1437
     </message>
1438
     <message>
1439
         <source>T_hreshold 2:</source>
1440
-        <translation type="unfinished">Umbral:</translation>
1441
+        <translation type="unfinished">U_mbral 2:</translation>
1442
     </message>
1443
     <message>
1444
         <source>C_ycle:</source>
1445
-        <translation type="unfinished">Azul:</translation>
1446
+        <translation type="unfinished">C_iclo:</translation>
1447
     </message>
1448
     <message>
1449
         <source>Sho_w</source>
1450
-        <translation type="unfinished"></translation>
1451
+        <translation type="unfinished">Mo_strar</translation>
1452
     </message>
1453
     <message>
1454
         <source>Decomb Decimate</source>
1455
-        <translation type="unfinished">
1456
-            </translation>
1457
+        <translation type="unfinished"></translation>
1458
     </message>
1459
 </context>
1460
 <context>
1461
@@ -7293,7 +7280,7 @@
1462
     </message>
1463
     <message>
1464
         <source>Blend a logo by interpolating its surrounding box.</source>
1465
-        <translation type="unfinished">Mezclar logo interpolando lienzo circundante.</translation>
1466
+        <translation type="unfinished">Borrar logo interpolando imagen circundante.</translation>
1467
     </message>
1468
 </context>
1469
 <context>
1470
@@ -7316,22 +7303,19 @@
1471
     </message>
1472
     <message>
1473
         <source>Keep nb of frames and fps</source>
1474
-        <translation type="unfinished">
1475
-            </translation>
1476
+        <translation type="unfinished">Mantener núm. de imágenes y fps</translation>
1477
     </message>
1478
     <message>
1479
         <source>Double nb of frames and fps</source>
1480
-        <translation type="unfinished">
1481
-            </translation>
1482
+        <translation type="unfinished">Doblar núm. de imágenes y fps</translation>
1483
     </message>
1484
     <message>
1485
         <source>Double nb of frames (slow motion)</source>
1486
-        <translation type="unfinished">
1487
-            </translation>
1488
+        <translation type="unfinished">Doblar núm. de imágenes (slow motion)</translation>
1489
     </message>
1490
     <message>
1491
         <source>_Top Field First:</source>
1492
-        <translation type="unfinished"></translation>
1493
+        <translation type="unfinished">_Campo Superior Primero:</translation>
1494
     </message>
1495
     <message>
1496
         <source>_Mode:</source>
1497
@@ -7347,20 +7331,18 @@
1498
     </message>
1499
     <message>
1500
         <source>Extra check, avoid using it</source>
1501
-        <translation type="unfinished">
1502
-            </translation>
1503
+        <translation type="unfinished">Comprobación extra, evitar usarlo</translation>
1504
     </message>
1505
     <message>
1506
         <source>DGBob</source>
1507
-        <translation type="unfinished">
1508
-            </translation>
1509
+        <translation type="unfinished"></translation>
1510
     </message>
1511
 </context>
1512
 <context>
1513
     <name>dmxHeader</name>
1514
     <message>
1515
         <source>Out of memory</source>
1516
-        <translation type="obsolete">Out of memory</translation>
1517
+        <translation type="obsolete">Sin memoria</translation>
1518
     </message>
1519
     <message>
1520
         <source>Opening MPEG</source>
1521
@@ -7407,7 +7389,7 @@
1522
     </message>
1523
     <message>
1524
         <source>Priority:</source>
1525
-        <translation type="unfinished">Prioridad.</translation>
1526
+        <translation type="unfinished">Prioridad:</translation>
1527
     </message>
1528
     <message>
1529
         <source>High</source>
1530
@@ -7435,11 +7417,11 @@
1531
     </message>
1532
     <message>
1533
         <source>Phase:</source>
1534
-        <translation type="unfinished"></translation>
1535
+        <translation type="unfinished">Fase:</translation>
1536
     </message>
1537
     <message>
1538
         <source>Video Codec:</source>
1539
-        <translation type="unfinished"></translation>
1540
+        <translation type="unfinished">Códec de Video:</translation>
1541
     </message>
1542
     <message>
1543
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
1544
@@ -7596,7 +7578,7 @@
1545
     </message>
1546
     <message>
1547
         <source>In</source>
1548
-        <translation type="unfinished">En</translation>
1549
+        <translation type="unfinished">Entrada</translation>
1550
     </message>
1551
     <message>
1552
         <source>Fade in</source>
1553
@@ -7604,19 +7586,19 @@
1554
     </message>
1555
     <message>
1556
         <source>_Fade type:</source>
1557
-        <translation type="unfinished">Tipo de imagen:</translation>
1558
+        <translation type="unfinished">Tipo de _Desvanecimiento:</translation>
1559
     </message>
1560
     <message>
1561
         <source>_Start time (ms):</source>
1562
-        <translation type="unfinished"></translation>
1563
+        <translation type="unfinished">_Comienzo (ms)</translation>
1564
     </message>
1565
     <message>
1566
         <source>_End time (ms):</source>
1567
-        <translation type="unfinished"></translation>
1568
+        <translation type="unfinished">_Final (ms)</translation>
1569
     </message>
1570
     <message>
1571
         <source>Fade to black</source>
1572
-        <translation type="unfinished"></translation>
1573
+        <translation type="unfinished">Fundido a Negro</translation>
1574
     </message>
1575
 </context>
1576
 <context>
1577
@@ -7627,7 +7609,7 @@
1578
     </message>
1579
     <message>
1580
         <source>Wide (16:9)</source>
1581
-        <translation type="unfinished"></translation>
1582
+        <translation type="unfinished">Ancho (16:9)</translation>
1583
     </message>
1584
     <message>
1585
         <source>Default</source>
1586
@@ -7647,27 +7629,27 @@
1587
     </message>
1588
     <message>
1589
         <source>MB comparison</source>
1590
-        <translation type="unfinished"></translation>
1591
+        <translation type="unfinished">Comparación en MB</translation>
1592
     </message>
1593
     <message>
1594
         <source>Fewest bits (vhq)</source>
1595
-        <translation type="unfinished"></translation>
1596
+        <translation type="unfinished">Menos bits (vhq)</translation>
1597
     </message>
1598
     <message>
1599
         <source>Rate distortion</source>
1600
-        <translation type="unfinished"></translation>
1601
+        <translation type="unfinished">Distorsión de Ratio</translation>
1602
     </message>
1603
     <message>
1604
         <source>One thread</source>
1605
-        <translation type="unfinished"></translation>
1606
+        <translation type="unfinished">Un hilo</translation>
1607
     </message>
1608
     <message>
1609
         <source>Two threads)</source>
1610
-        <translation type="unfinished"></translation>
1611
+        <translation type="unfinished">Dos hilos</translation>
1612
     </message>
1613
     <message>
1614
         <source>Three threads</source>
1615
-        <translation type="unfinished"></translation>
1616
+        <translation type="unfinished">Tres hilos</translation>
1617
     </message>
1618
     <message>
1619
         <source>Auto (#cpu)</source>
1620
@@ -7679,15 +7661,15 @@
1621
     </message>
1622
     <message>
1623
         <source>Interlaced</source>
1624
-        <translation type="unfinished"></translation>
1625
+        <translation type="unfinished">Entrelazado</translation>
1626
     </message>
1627
     <message>
1628
         <source>Top Field First</source>
1629
-        <translation type="unfinished"></translation>
1630
+        <translation type="unfinished">Campo Superior Primero</translation>
1631
     </message>
1632
     <message>
1633
         <source>Bottom Field First</source>
1634
-        <translation type="unfinished"></translation>
1635
+        <translation type="unfinished">Campo Inferior Primero</translation>
1636
     </message>
1637
     <message>
1638
         <source>Threading</source>
1639
@@ -7695,39 +7677,39 @@
1640
     </message>
1641
     <message>
1642
         <source>Mi_n. quantizer:</source>
1643
-        <translation type="unfinished"></translation>
1644
+        <translation type="unfinished">Cuantizador Mi_n.:</translation>
1645
     </message>
1646
     <message>
1647
         <source>Ma_x. quantizer:</source>
1648
-        <translation type="unfinished"></translation>
1649
+        <translation type="unfinished">Cuantizador Ma_x.:</translation>
1650
     </message>
1651
     <message>
1652
         <source>Max. quantizer _difference:</source>
1653
-        <translation type="unfinished"></translation>
1654
+        <translation type="unfinished">_Diferencia máx. cuantizador</translation>
1655
     </message>
1656
     <message>
1657
         <source>VBV Buffer Size:</source>
1658
-        <translation type="unfinished"></translation>
1659
+        <translation type="unfinished">Tamaño buffer VBV</translation>
1660
     </message>
1661
     <message>
1662
         <source>Max bitrate (kb/s):</source>
1663
-        <translation type="unfinished"></translation>
1664
+        <translation type="unfinished">Bitrate máx. (kb/s)</translation>
1665
     </message>
1666
     <message>
1667
         <source>_Trellis quantization</source>
1668
-        <translation type="unfinished"></translation>
1669
+        <translation type="unfinished">Cuantización _Trellis</translation>
1670
     </message>
1671
     <message>
1672
         <source>_Number of B frames:</source>
1673
-        <translation type="unfinished"></translation>
1674
+        <translation type="unfinished">_Número de imágenes B:</translation>
1675
     </message>
1676
     <message>
1677
         <source>_Macroblock decision:</source>
1678
-        <translation type="unfinished"></translation>
1679
+        <translation type="unfinished">Decisión de _Macrobloque:</translation>
1680
     </message>
1681
     <message>
1682
         <source>Aspect ratio:</source>
1683
-        <translation type="unfinished"></translation>
1684
+        <translation type="unfinished">Ratio de aspecto:</translation>
1685
     </message>
1686
     <message>
1687
         <source>Matrices:</source>
1688
@@ -7735,35 +7717,35 @@
1689
     </message>
1690
     <message>
1691
         <source>_Filesize tolerance (kb):</source>
1692
-        <translation type="unfinished"></translation>
1693
+        <translation type="unfinished">Tolerancia _Tamaño (kb):</translation>
1694
     </message>
1695
     <message>
1696
         <source>_Quantizer compression:</source>
1697
-        <translation type="unfinished"></translation>
1698
+        <translation type="unfinished">_Cuantizador de compresión:</translation>
1699
     </message>
1700
     <message>
1701
         <source>Quantizer _blur:</source>
1702
-        <translation type="unfinished"></translation>
1703
+        <translation type="unfinished">Cuantizador _blur:</translation>
1704
     </message>
1705
     <message>
1706
         <source>_Gop Size:</source>
1707
-        <translation type="unfinished"></translation>
1708
+        <translation type="unfinished">Tamaño _Gop:</translation>
1709
     </message>
1710
     <message>
1711
         <source>_Interlaced:</source>
1712
-        <translation type="unfinished"></translation>
1713
+        <translation type="unfinished">_Entrelazado:</translation>
1714
     </message>
1715
     <message>
1716
         <source>Field Order:</source>
1717
-        <translation type="unfinished"></translation>
1718
+        <translation type="unfinished">Orden de Campo:</translation>
1719
     </message>
1720
     <message>
1721
         <source>Basic Settings</source>
1722
-        <translation type="unfinished"></translation>
1723
+        <translation type="unfinished">Configuración básica</translation>
1724
     </message>
1725
     <message>
1726
         <source>Adv. Settings</source>
1727
-        <translation type="unfinished"></translation>
1728
+        <translation type="unfinished">Configuración Avanzada</translation>
1729
     </message>
1730
     <message>
1731
         <source>Interlacing</source>
1732
@@ -7771,7 +7753,7 @@
1733
     </message>
1734
     <message>
1735
         <source>Quantization</source>
1736
-        <translation type="unfinished"></translation>
1737
+        <translation type="unfinished">Cuantización</translation>
1738
     </message>
1739
     <message>
1740
         <source>Rate Control</source>
1741
@@ -7779,7 +7761,7 @@
1742
     </message>
1743
     <message>
1744
         <source>libavcodec MPEG-2 configuration</source>
1745
-        <translation type="unfinished"></translation>
1746
+        <translation type="unfinished">Configuración libavcodec MPEG-2</translation>
1747
     </message>
1748
 </context>
1749
 <context>
1750
@@ -7818,27 +7800,27 @@
1751
     </message>
1752
     <message>
1753
         <source>MB comparison</source>
1754
-        <translation type="unfinished"></translation>
1755
+        <translation type="unfinished">Comparación de MB</translation>
1756
     </message>
1757
     <message>
1758
         <source>Fewest bits (vhq)</source>
1759
-        <translation type="unfinished"></translation>
1760
+        <translation type="unfinished">Menores bits (vhq)</translation>
1761
     </message>
1762
     <message>
1763
         <source>Rate distortion</source>
1764
-        <translation type="unfinished"></translation>
1765
+        <translation type="unfinished">Distorsión de Ratio</translation>
1766
     </message>
1767
     <message>
1768
         <source>One thread</source>
1769
-        <translation type="unfinished"></translation>
1770
+        <translation type="unfinished">Un hilo</translation>
1771
     </message>
1772
     <message>
1773
         <source>Two threads)</source>
1774
-        <translation type="unfinished"></translation>
1775
+        <translation type="unfinished">Dos hilos</translation>
1776
     </message>
1777
     <message>
1778
         <source>Three threads</source>
1779
-        <translation type="unfinished"></translation>
1780
+        <translation type="unfinished">Tres hilos</translation>
1781
     </message>
1782
     <message>
1783
         <source>Auto (#cpu)</source>
1784
@@ -7850,19 +7832,19 @@
1785
     </message>
1786
     <message>
1787
         <source>Threading</source>
1788
-        <translation type="unfinished">Hilos</translation>
1789
+        <translation type="unfinished">Procesos</translation>
1790
     </message>
1791
     <message>
1792
         <source>Mi_n. quantizer:</source>
1793
-        <translation type="unfinished"></translation>
1794
+        <translation type="unfinished">Cuantizador Mi_n.:</translation>
1795
     </message>
1796
     <message>
1797
         <source>Ma_x. quantizer:</source>
1798
-        <translation type="unfinished"></translation>
1799
+        <translation type="unfinished">Cuantizador Ma_x.:</translation>
1800
     </message>
1801
     <message>
1802
         <source>Max. quantizer _difference:</source>
1803
-        <translation type="unfinished"></translation>
1804
+        <translation type="unfinished">_Diferencia máx. cuantizador</translation>
1805
     </message>
1806
     <message>
1807
         <source>4_MV</source>
1808
@@ -7870,7 +7852,7 @@
1809
     </message>
1810
     <message>
1811
         <source>_Trellis quantization</source>
1812
-        <translation type="unfinished"></translation>
1813
+        <translation type="unfinished">Cuantización _Trellis</translation>
1814
     </message>
1815
     <message>
1816
         <source>_Quarter pixel</source>
1817
@@ -7882,31 +7864,31 @@
1818
     </message>
1819
     <message>
1820
         <source>_Number of B frames:</source>
1821
-        <translation type="unfinished"></translation>
1822
+        <translation type="unfinished">_Número de imágenes-B:</translation>
1823
     </message>
1824
     <message>
1825
         <source>_Quantization type:</source>
1826
-        <translation type="unfinished"></translation>
1827
+        <translation type="unfinished">Tipo de _Cuantización:</translation>
1828
     </message>
1829
     <message>
1830
         <source>_Macroblock decision:</source>
1831
-        <translation type="unfinished"></translation>
1832
+        <translation type="unfinished">Decisión de _Macrobloque:</translation>
1833
     </message>
1834
     <message>
1835
         <source>_Filesize tolerance (kb):</source>
1836
-        <translation type="unfinished"></translation>
1837
+        <translation type="unfinished">Tolerancia _tamaño archivo (kb):</translation>
1838
     </message>
1839
     <message>
1840
         <source>_Quantizer compression:</source>
1841
-        <translation type="unfinished"></translation>
1842
+        <translation type="unfinished">Compresión Cuanti_zador</translation>
1843
     </message>
1844
     <message>
1845
         <source>Quantizer _blur:</source>
1846
-        <translation type="unfinished"></translation>
1847
+        <translation type="unfinished">Cuantizador _blur:</translation>
1848
     </message>
1849
     <message>
1850
         <source>_Gop Size:</source>
1851
-        <translation type="unfinished"></translation>
1852
+        <translation type="unfinished">Tamaño _Gop</translation>
1853
     </message>
1854
     <message>
1855
         <source>User Interface</source>
1856
@@ -7914,7 +7896,7 @@
1857
     </message>
1858
     <message>
1859
         <source>Advanced Simple Profile</source>
1860
-        <translation type="unfinished"></translation>
1861
+        <translation type="unfinished">Perfil avanzado simple</translation>
1862
     </message>
1863
     <message>
1864
         <source>Motion Estimation</source>
1865
@@ -7922,7 +7904,7 @@
1866
     </message>
1867
     <message>
1868
         <source>Quantization</source>
1869
-        <translation type="unfinished"></translation>
1870
+        <translation type="unfinished">Cuantización</translation>
1871
     </message>
1872
     <message>
1873
         <source>Rate Control</source>
1874
@@ -7930,7 +7912,7 @@
1875
     </message>
1876
     <message>
1877
         <source>libavcodec MPEG-4 configuration</source>
1878
-        <translation type="unfinished"></translation>
1879
+        <translation type="unfinished">Configuración libavcodec MPEG-4</translation>
1880
     </message>
1881
 </context>
1882
 <context>
1883
@@ -7969,47 +7951,47 @@
1884
     </message>
1885
     <message>
1886
         <source>MB comparison</source>
1887
-        <translation type="unfinished"></translation>
1888
+        <translation type="unfinished">Comparación MB</translation>
1889
     </message>
1890
     <message>
1891
         <source>Fewest bits (vhq)</source>
1892
-        <translation type="unfinished"></translation>
1893
+        <translation type="unfinished">Menores bits (vhq)</translation>
1894
     </message>
1895
     <message>
1896
         <source>Rate distortion</source>
1897
-        <translation type="unfinished"></translation>
1898
+        <translation type="unfinished">Distorsión de Ratio</translation>
1899
     </message>
1900
     <message>
1901
         <source>Mi_n. quantizer:</source>
1902
-        <translation type="unfinished"></translation>
1903
+        <translation type="unfinished">Cuantizador mi_n.:</translation>
1904
     </message>
1905
     <message>
1906
         <source>Ma_x. quantizer:</source>
1907
-        <translation type="unfinished"></translation>
1908
+        <translation type="unfinished">Cuantizador ma_x.:</translation>
1909
     </message>
1910
     <message>
1911
         <source>Max. quantizer _difference:</source>
1912
-        <translation type="unfinished"></translation>
1913
+        <translation type="unfinished">_Diferencia máx. cuantizador</translation>
1914
     </message>
1915
     <message>
1916
         <source>_Trellis quantization</source>
1917
-        <translation type="unfinished"></translation>
1918
+        <translation type="unfinished">Cuantización _Trellis</translation>
1919
     </message>
1920
     <message>
1921
         <source>_Filesize tolerance (kb):</source>
1922
-        <translation type="unfinished"></translation>
1923
+        <translation type="unfinished">Tolerancia ta_maño (kb):</translation>
1924
     </message>
1925
     <message>
1926
         <source>_Quantizer compression:</source>
1927
-        <translation type="unfinished"></translation>
1928
+        <translation type="unfinished">Compresión Cuanti_zador</translation>
1929
     </message>
1930
     <message>
1931
         <source>Quantizer _blur:</source>
1932
-        <translation type="unfinished"></translation>
1933
+        <translation type="unfinished">Cuantizador _blur:</translation>
1934
     </message>
1935
     <message>
1936
         <source>_Gop Size:</source>
1937
-        <translation type="unfinished"></translation>
1938
+        <translation type="unfinished">Tamaño _Gop:</translation>
1939
     </message>
1940
     <message>
1941
         <source>User Interface</source>
1942
@@ -8017,7 +7999,7 @@
1943
     </message>
1944
     <message>
1945
         <source>Quantization</source>
1946
-        <translation type="unfinished"></translation>
1947
+        <translation type="unfinished">Cuantizador</translation>
1948
     </message>
1949
     <message>
1950
         <source>Rate Control</source>
1951
@@ -8025,7 +8007,7 @@
1952
     </message>
1953
     <message>
1954
         <source>libavcodec MPEG-4 configuration</source>
1955
-        <translation type="unfinished"></translation>
1956
+        <translation type="unfinished">Configuración libavcodec MPEG-4</translation>
1957
     </message>
1958
 </context>
1959
 <context>
1960
@@ -8051,21 +8033,19 @@
1961
     <name>flux</name>
1962
     <message>
1963
         <source>Spatio-temporal cleaner by Ross Thomas.</source>
1964
-        <translation type="unfinished">
1965
-            </translation>
1966
+        <translation type="unfinished">Limpiador espacio-temporal por Ross Thomas.</translation>
1967
     </message>
1968
     <message>
1969
         <source>_Temporal threshold:</source>
1970
-        <translation type="unfinished">Umbral:</translation>
1971
+        <translation type="unfinished">Umbral _temporal:</translation>
1972
     </message>
1973
     <message>
1974
         <source>_Spatial threshold:</source>
1975
-        <translation type="unfinished">Umbral:</translation>
1976
+        <translation type="unfinished">Umbral e_spacial:</translation>
1977
     </message>
1978
     <message>
1979
         <source>FluxSmooth</source>
1980
-        <translation type="unfinished">
1981
-            </translation>
1982
+        <translation type="unfinished"></translation>
1983
     </message>
1984
 </context>
1985
 <context>
1986
@@ -8104,47 +8084,47 @@
1987
     </message>
1988
     <message>
1989
         <source>MB comparison</source>
1990
-        <translation type="unfinished"></translation>
1991
+        <translation type="unfinished">Comparación MB</translation>
1992
     </message>
1993
     <message>
1994
         <source>Fewest bits (vhq)</source>
1995
-        <translation type="unfinished"></translation>
1996
+        <translation type="unfinished">Menores bits (vhq)</translation>
1997
     </message>
1998
     <message>
1999
         <source>Rate distortion</source>
2000
-        <translation type="unfinished"></translation>
2001
+        <translation type="unfinished">Distorsión de ratio</translation>
2002
     </message>
2003
     <message>
2004
-        <source>Mi_n. quantizer:</source>
2005
-        <translation type="unfinished"></translation>
2006
+            <source>Mi_n. quantizer:</source>
2007
+        <translation type="unfinished">Cuantizador mi_n.:</translation>
2008
     </message>
2009
     <message>
2010
         <source>Ma_x. quantizer:</source>
2011
-        <translation type="unfinished"></translation>
2012
+        <translation type="unfinished">Cuantizador ma_x.:</translation>
2013
     </message>
2014
     <message>
2015
         <source>Max. quantizer _difference:</source>
2016
-        <translation type="unfinished"></translation>
2017
+        <translation type="unfinished">_Diferencia máx. cuantizador</translation>
2018
     </message>
2019
     <message>
2020
         <source>_Trellis quantization</source>
2021
-        <translation type="unfinished"></translation>
2022
+        <translation type="unfinished">Cuantización _Trellis</translation>
2023
     </message>
2024
     <message>
2025
         <source>_Filesize tolerance (kb):</source>
2026
-        <translation type="unfinished"></translation>
2027
+        <translation type="unfinished">Tolerancia ta_maño (kb):</translation>
2028
     </message>
2029
     <message>
2030
         <source>_Quantizer compression:</source>
2031
-        <translation type="unfinished"></translation>
2032
+        <translation type="unfinished">Compresión Cuanti_zador</translation>
2033
     </message>
2034
     <message>
2035
         <source>Quantizer _blur:</source>
2036
-        <translation type="unfinished"></translation>
2037
+        <translation type="unfinished">Cuantizador _blur:</translation>
2038
     </message>
2039
     <message>
2040
         <source>_Gop Size:</source>
2041
-        <translation type="unfinished"></translation>
2042
+        <translation type="unfinished">Tamaño _Gop:</translation>
2043
     </message>
2044
     <message>
2045
         <source>User Interface</source>
2046
@@ -8152,7 +8132,7 @@
2047
     </message>
2048
     <message>
2049
         <source>Quantization</source>
2050
-        <translation type="unfinished"></translation>
2051
+        <translation type="unfinished">Cuantización</translation>
2052
     </message>
2053
     <message>
2054
         <source>Rate Control</source>
2055
@@ -8160,7 +8140,7 @@
2056
     </message>
2057
     <message>
2058
         <source>libavcodec FLV1 configuration</source>
2059
-        <translation type="unfinished"></translation>
2060
+        <translation type="unfinished">Configuración libavcodec FLV1</translation>
2061
     </message>
2062
 </context>
2063
 <context>
2064
@@ -8178,31 +8158,27 @@
2065
     <name>glYadif</name>
2066
     <message>
2067
         <source>Temporal &amp; spatial check</source>
2068
-        <translation type="obsolete">
2069
-            </translation>
2070
+        <translation type="obsolete">Comprobación espacio &amp; temporal</translation>
2071
     </message>
2072
     <message>
2073
         <source>Bob, temporal &amp; spatial check</source>
2074
-        <translation type="obsolete">
2075
-            </translation>
2076
+        <translation type="obsolete">Comprobación Bob, temporal &amp; espacial</translation>
2077
     </message>
2078
     <message>
2079
         <source>Skip spatial temporal check</source>
2080
-        <translation type="obsolete">
2081
-            </translation>
2082
+        <translation type="obsolete">Saltar comprobación espacial temporal</translation>
2083
     </message>
2084
     <message>
2085
         <source>Bob, skip spatial temporal check</source>
2086
-        <translation type="obsolete">
2087
-            </translation>
2088
+        <translation type="obsolete">Saltar comprobación espacial, temporal y Bob</translation>
2089
     </message>
2090
     <message>
2091
         <source>Bottom field first</source>
2092
-        <translation type="obsolete">Campo inf. (conservar superior)</translation>
2093
+        <translation type="obsolete">Campo inf. primero</translation>
2094
     </message>
2095
     <message>
2096
         <source>Top field first</source>
2097
-        <translation type="obsolete">Intercambiar campos</translation>
2098
+        <translation type="obsolete">Campo superior primero</translation>
2099
     </message>
2100
     <message>
2101
         <source>_Mode:</source>
2102
@@ -8210,12 +8186,11 @@
2103
     </message>
2104
     <message>
2105
         <source>_Order:</source>
2106
-        <translation type="obsolete">_Modo:</translation>
2107
+        <translation type="obsolete">_Orden:</translation>
2108
     </message>
2109
     <message>
2110
         <source>yadif</source>
2111
-        <translation type="obsolete">
2112
-            </translation>
2113
+        <translation type="obsolete"></translation>
2114
     </message>
2115
 </context>
2116
 <context>
2117
@@ -8229,11 +8204,11 @@
2118
     <name>hflip</name>
2119
     <message>
2120
         <source>Horizontal Flip</source>
2121
-        <translation type="unfinished"></translation>
2122
+        <translation type="unfinished">Volteo horizontal</translation>
2123
     </message>
2124
     <message>
2125
         <source>Horizontally flip the image.</source>
2126
-        <translation type="unfinished"></translation>
2127
+        <translation type="unfinished">Voltear horizontalmente la imagen.</translation>
2128
     </message>
2129
 </context>
2130
 <context>
2131
@@ -8252,11 +8227,11 @@
2132
     </message>
2133
     <message>
2134
         <source>Number of I frames:</source>
2135
-        <translation type="unfinished">Número de frames B:</translation>
2136
+        <translation type="unfinished">Número de frames I:</translation>
2137
     </message>
2138
     <message>
2139
         <source>Number of P frames:</source>
2140
-        <translation type="unfinished">Número de frames B:</translation>
2141
+        <translation type="unfinished">Número de frames P:</translation>
2142
     </message>
2143
     <message>
2144
         <source>Number of B frames:</source>
2145
@@ -8264,7 +8239,7 @@
2146
     </message>
2147
     <message>
2148
         <source>Max. B frames:</source>
2149
-        <translation type="unfinished">Bitrate máx.:</translation>
2150
+        <translation type="unfinished">Imágenes B máx.:</translation>
2151
     </message>
2152
     <message>
2153
         <source>Bitrate Histogram</source>
2154
@@ -8275,7 +8250,7 @@
2155
     <name>hue</name>
2156
     <message>
2157
         <source>Mplayer Hue</source>
2158
-        <translation type="unfinished"></translation>
2159
+        <translation type="unfinished">Mplayer matizado</translation>
2160
     </message>
2161
     <message>
2162
         <source>Adjust hue and saturation.</source>
2163
@@ -8305,61 +8280,61 @@
2164
     </message>
2165
     <message>
2166
         <source>HuffYUV Configuration</source>
2167
-        <translation type="unfinished"></translation>
2168
+        <translation type="unfinished">Configuración HuffYUV</translation>
2169
     </message>
2170
 </context>
2171
 <context>
2172
     <name>indexing</name>
2173
     <message>
2174
         <source>Continue indexing</source>
2175
-        <translation type="unfinished"></translation>
2176
+        <translation type="unfinished">Continuar indexado</translation>
2177
     </message>
2178
     <message>
2179
         <source>Abort Requested</source>
2180
-        <translation type="unfinished"></translation>
2181
+        <translation type="unfinished">Cancelar petición</translation>
2182
     </message>
2183
     <message>
2184
         <source>Do you want to abort indexing ?</source>
2185
-        <translation type="unfinished"></translation>
2186
+        <translation type="unfinished">¿Quiere anular el indexado?</translation>
2187
     </message>
2188
     <message>
2189
         <source>Time Left :%02d:%02d:%02d</source>
2190
-        <translation type="unfinished"></translation>
2191
+        <translation type="unfinished">Tiempo restante :%02d:%02d:%02d</translation>
2192
     </message>
2193
 </context>
2194
 <context>
2195
     <name>jobs</name>
2196
     <message>
2197
         <source>Avidemux Jobs</source>
2198
-        <translation type="unfinished"></translation>
2199
+        <translation type="unfinished">Tareas Avidemux</translation>
2200
     </message>
2201
     <message>
2202
         <source>Run all pending jobs</source>
2203
-        <translation type="unfinished"></translation>
2204
+        <translation type="unfinished">Ejecutar todas las tareas pendientes</translation>
2205
     </message>
2206
     <message>
2207
         <source>Run jobs</source>
2208
-        <translation type="unfinished"></translation>
2209
+        <translation type="unfinished">Ejecutar tareas</translation>
2210
     </message>
2211
     <message>
2212
         <source>Delete already executed jobs</source>
2213
-        <translation type="unfinished"></translation>
2214
+        <translation type="unfinished">Borrar las tareas ya ejecutadas</translation>
2215
     </message>
2216
     <message>
2217
         <source>Cleanup</source>
2218
-        <translation type="unfinished"></translation>
2219
+        <translation type="unfinished">Limpiar</translation>
2220
     </message>
2221
     <message>
2222
         <source>If you use VDPAU you cannot use CLI version</source>
2223
-        <translation type="unfinished"></translation>
2224
+        <translation type="unfinished">Si se usa VDPAU no se puede utilizar la versión CLI</translation>
2225
     </message>
2226
     <message>
2227
         <source>use QT4 version</source>
2228
-        <translation type="unfinished"></translation>
2229
+        <translation type="unfinished">Usar versión QT4</translation>
2230
     </message>
2231
     <message>
2232
         <source>Quit</source>
2233
-        <translation type="unfinished"></translation>
2234
+        <translation type="unfinished">Salir</translation>
2235
     </message>
2236
     <message>
2237
         <source>Oops</source>
2238
@@ -8386,15 +8361,15 @@
2239
     </message>
2240
     <message>
2241
         <source>Delete Sel. Job</source>
2242
-        <translation type="unfinished"></translation>
2243
+        <translation type="unfinished">Borrar tarea seleccionada</translation>
2244
     </message>
2245
     <message>
2246
         <source>Run All Jobs</source>
2247
-        <translation type="unfinished"></translation>
2248
+        <translation type="unfinished">Ejecutar todas las tareas</translation>
2249
     </message>
2250
     <message>
2251
         <source>Run Selected Job</source>
2252
-        <translation type="unfinished"></translation>
2253
+        <translation type="unfinished">Ejecutar la tarea seleccionada</translation>
2254
     </message>
2255
 </context>
2256
 <context>
2257
@@ -8440,7 +8415,7 @@
2258
     </message>
2259
     <message>
2260
         <source>_Quantizer:</source>
2261
-        <translation type="unfinished">Cuantizador:</translation>
2262
+        <translation type="unfinished">_Cuantizador:</translation>
2263
     </message>
2264
     <message>
2265
         <source>_ColorSpace:</source>
2266
@@ -8448,7 +8423,7 @@
2267
     </message>
2268
     <message>
2269
         <source>Mjpeg Configuration</source>
2270
-        <translation type="unfinished"></translation>
2271
+        <translation type="unfinished">Configuración Mjpeg</translation>
2272
     </message>
2273
 </context>
2274
 <context>
2275
@@ -8463,26 +8438,23 @@
2276
     </message>
2277
     <message>
2278
         <source>_Field order:</source>
2279
-        <translation type="obsolete">
2280
-            </translation>
2281
+        <translation type="obsolete">Orden _campo:</translation>
2282
     </message>
2283
     <message>
2284
         <source>_Threshold:</source>
2285
-        <translation type="obsolete">Umbral:</translation>
2286
+        <translation type="obsolete">_Umbral:</translation>
2287
     </message>
2288
     <message>
2289
         <source>Smaller means more deinterlacing</source>
2290
-        <translation type="obsolete">
2291
-            </translation>
2292
+        <translation type="obsolete">Más pequeño implica más desentrelazado</translation>
2293
     </message>
2294
     <message>
2295
         <source>_Sharp</source>
2296
-        <translation type="obsolete">Agudizar</translation>
2297
+        <translation type="obsolete">_Agudizar</translation>
2298
     </message>
2299
     <message>
2300
         <source>_Sharper engine:</source>
2301
-        <translation type="obsolete">
2302
-            </translation>
2303
+        <translation type="obsolete">_Motor de agudizado</translation>
2304
     </message>
2305
     <message>
2306
         <source>T_woway</source>
2307
@@ -8491,8 +8463,7 @@
2308
     </message>
2309
     <message>
2310
         <source>Extrapolate better (better not to use it)</source>
2311
-        <translation type="obsolete">
2312
-            </translation>
2313
+        <translation type="obsolete">Extrapolar mejor (mejor no usar)</translation>
2314
     </message>
2315
     <message>
2316
         <source>_Map</source>
2317
@@ -8517,7 +8488,7 @@
2318
     </message>
2319
     <message>
2320
         <source>Port of Donald Graft Kernel Deinterlacer.</source>
2321
-        <translation type="unfinished"></translation>
2322
+        <translation type="unfinished">Núcleo de Desentrelazado portado de Donald Graft.</translation>
2323
     </message>
2324
     <message>
2325
         <source>Top</source>
2326
@@ -8529,36 +8500,31 @@
2327
     </message>
2328
     <message>
2329
         <source>_Field order:</source>
2330
-        <translation type="unfinished">
2331
-            </translation>
2332
+        <translation type="unfinished">_Orden de campo:</translation>
2333
     </message>
2334
     <message>
2335
         <source>_Threshold:</source>
2336
-        <translation type="unfinished">Umbral:</translation>
2337
+        <translation type="unfinished">_Umbral:</translation>
2338
     </message>
2339
     <message>
2340
         <source>Smaller means more deinterlacing</source>
2341
-        <translation type="unfinished">
2342
-            </translation>
2343
+        <translation type="unfinished">Más pequeño implica más desentrelazado</translation>
2344
     </message>
2345
     <message>
2346
         <source>_Sharp</source>
2347
-        <translation type="unfinished">Agudizar</translation>
2348
+        <translation type="unfinished">_Agudizar</translation>
2349
     </message>
2350
     <message>
2351
         <source>_Sharper engine:</source>
2352
-        <translation type="unfinished">
2353
-            </translation>
2354
+        <translation type="unfinished">_Motor de agudizado:</translation>
2355
     </message>
2356
     <message>
2357
         <source>T_woway</source>
2358
-        <translation type="unfinished">
2359
-            </translation>
2360
+        <translation type="unfinished"></translation>
2361
     </message>
2362
     <message>
2363
         <source>Extrapolate better (better not to use it)</source>
2364
-        <translation type="unfinished">
2365
-            </translation>
2366
+        <translation type="unfinished">Extrapolar mejor (mejor no usar)</translation>
2367
     </message>
2368
     <message>
2369
         <source>_Map</source>
2370
@@ -8587,7 +8553,7 @@
2371
     </message>
2372
     <message>
2373
         <source>Bit_rate mode:</source>
2374
-        <translation type="unfinished">Modo bitrate:</translation>
2375
+        <translation type="unfinished">Modo bit_rate:</translation>
2376
     </message>
2377
     <message>
2378
         <source>_Bitrate:</source>
2379
@@ -8595,11 +8561,11 @@
2380
     </message>
2381
     <message>
2382
         <source>_Quality:</source>
2383
-        <translation type="unfinished">Calidad</translation>
2384
+        <translation type="unfinished">_Calidad</translation>
2385
     </message>
2386
     <message>
2387
         <source>_Disable reservoir:</source>
2388
-        <translation type="unfinished"></translation>
2389
+        <translation type="unfinished">Desac_tivar reserva:</translation>
2390
     </message>
2391
     <message>
2392
         <source>LAME Configuration</source>
2393
@@ -8610,52 +8576,46 @@
2394
     <name>largeMedian</name>
2395
     <message>
2396
         <source>_Process luma</source>
2397
-        <translation type="obsolete">Procesando</translation>
2398
+        <translation type="obsolete">_Procesar luma</translation>
2399
     </message>
2400
     <message>
2401
         <source>Process luma plane</source>
2402
-        <translation type="obsolete">
2403
-            </translation>
2404
+        <translation type="obsolete">Procesar plano luma</translation>
2405
     </message>
2406
     <message>
2407
         <source>P_rocess chroma</source>
2408
-        <translation type="obsolete">
2409
-            </translation>
2410
+        <translation type="obsolete">P_rocesar chroma</translation>
2411
     </message>
2412
     <message>
2413
         <source>Fast Convolution</source>
2414
-        <translation type="obsolete">
2415
-            </translation>
2416
+        <translation type="obsolete"></translation>
2417
     </message>
2418
 </context>
2419
 <context>
2420
     <name>largemedian</name>
2421
     <message>
2422
         <source>Large Median (5x5).</source>
2423
-        <translation type="unfinished"></translation>
2424
+        <translation type="unfinished">Mediado largo (5x5 px).</translation>
2425
     </message>
2426
     <message>
2427
         <source>Median filter on 5x5 matrix.</source>
2428
-        <translation type="unfinished"></translation>
2429
+        <translation type="unfinished">Filtro mediado en matrices de 5x5.</translation>
2430
     </message>
2431
     <message>
2432
         <source>_Process luma</source>
2433
-        <translation type="unfinished">Procesando</translation>
2434
+        <translation type="unfinished">_Procesado luma</translation>
2435
     </message>
2436
     <message>
2437
         <source>Process luma plane</source>
2438
-        <translation type="unfinished">
2439
-            </translation>
2440
+        <translation type="unfinished">Procesado plano luma</translation>
2441
     </message>
2442
     <message>
2443
         <source>P_rocess chroma</source>
2444
-        <translation type="unfinished">
2445
-            </translation>
2446
+        <translation type="unfinished">P_rocesado chroma</translation>
2447
     </message>
2448
     <message>
2449
         <source>Fast Convolution</source>
2450
-        <translation type="unfinished">
2451
-            </translation>
2452
+        <translation type="unfinished"></translation>
2453
     </message>
2454
 </context>
2455
 <context>
2456
@@ -8666,38 +8626,35 @@
2457
     </message>
2458
     <message>
2459
         <source>Linear blend</source>
2460
-        <translation type="obsolete">
2461
-            </translation>
2462
+        <translation type="obsolete">Mezclado lineal</translation>
2463
     </message>
2464
     <message>
2465
         <source>Linear interpolate</source>
2466
-        <translation type="obsolete">Desentrelazado</translation>
2467
+        <translation type="obsolete">Interpolado lineal</translation>
2468
     </message>
2469
     <message>
2470
         <source>Cubic interpolate</source>
2471
-        <translation type="obsolete">mcDeinterlace</translation>
2472
+        <translation type="obsolete">Interpolado cúbico</translation>
2473
     </message>
2474
     <message>
2475
         <source>Median interpolate</source>
2476
-        <translation type="obsolete">Bitrate min.:</translation>
2477
+        <translation type="obsolete">Interpolado medio:</translation>
2478
     </message>
2479
     <message>
2480
         <source>FFmpeg deint</source>
2481
-        <translation type="obsolete">
2482
-            </translation>
2483
+        <translation type="obsolete">Desen. FFmpeg</translation>
2484
     </message>
2485
     <message>
2486
         <source>_Deinterlacing:</source>
2487
-        <translation type="obsolete">Entrelazando:</translation>
2488
+        <translation type="obsolete">_Desentrelazado:</translation>
2489
     </message>
2490
     <message>
2491
         <source>_Autolevel</source>
2492
-        <translation type="obsolete">
2493
-            </translation>
2494
+        <translation type="obsolete">_Autonivelado</translation>
2495
     </message>
2496
     <message>
2497
         <source>libavcodec deinterlacer</source>
2498
-        <translation type="obsolete">libavcodec descentralizado</translation>
2499
+        <translation type="obsolete">libavcodec desentrelazado</translation>
2500
     </message>
2501
 </context>
2502
 <context>
2503
@@ -8711,11 +8668,11 @@
2504
     <name>lavdeint</name>
2505
     <message>
2506
         <source>Libavdec Deinterlacers</source>
2507
-        <translation type="unfinished"></translation>
2508
+        <translation type="unfinished">Desentrelazado con Libavdec</translation>
2509
     </message>
2510
     <message>
2511
         <source>Lavcodec deinterlacer family.</source>
2512
-        <translation type="unfinished"></translation>
2513
+        <translation type="unfinished">Familia desentrelazadores Lavcodec</translation>
2514
     </message>
2515
     <message>
2516
         <source>None</source>
2517
@@ -8723,45 +8680,42 @@
2518
     </message>
2519
     <message>
2520
         <source>Linear blend</source>
2521
-        <translation type="unfinished">
2522
-            </translation>
2523
+        <translation type="unfinished">Mezcla lineal</translation>
2524
     </message>
2525
     <message>
2526
         <source>Linear interpolate</source>
2527
-        <translation type="unfinished">Desentrelazado</translation>
2528
+        <translation type="obsolete">Interpolado lineal</translation>
2529
     </message>
2530
     <message>
2531
         <source>Cubic interpolate</source>
2532
-        <translation type="unfinished">mcDeinterlace</translation>
2533
+        <translation type="obsolete">Interpolado cúbico</translation>
2534
     </message>
2535
     <message>
2536
         <source>Median interpolate</source>
2537
-        <translation type="unfinished">Bitrate min.:</translation>
2538
+        <translation type="obsolete">Interpolado medio:</translation>
2539
     </message>
2540
     <message>
2541
         <source>FFmpeg deint</source>
2542
-        <translation type="unfinished">
2543
-            </translation>
2544
+        <translation type="obsolete">Desen. FFmpeg</translation>
2545
     </message>
2546
     <message>
2547
         <source>_Deinterlacing:</source>
2548
-        <translation type="unfinished">Entrelazando:</translation>
2549
+        <translation type="obsolete">_Desentrelazado:</translation>
2550
     </message>
2551
     <message>
2552
         <source>_Autolevel</source>
2553
-        <translation type="unfinished">
2554
-            </translation>
2555
+        <translation type="obsolete">_Autonivelado</translation>
2556
     </message>
2557
     <message>
2558
         <source>libavcodec deinterlacer</source>
2559
-        <translation type="unfinished">libavcodec descentralizado</translation>
2560
+        <translation type="unfinished">Desentrelazado con Libavdec</translation>
2561
     </message>
2562
 </context>
2563
 <context>
2564
     <name>licenseDialog</name>
2565
     <message>
2566
         <source>License</source>
2567
-        <translation type="unfinished"></translation>
2568
+        <translation type="unfinished">Licencia</translation>
2569
     </message>
2570
     <message>
2571
         <source>OK</source>
2572
@@ -8777,15 +8731,15 @@
2573
     </message>
2574
     <message>
2575
         <source>Select JPEG file</source>
2576
-        <translation type="unfinished">Seleccionar archivo IFO</translation>
2577
+        <translation type="unfinished">Seleccionar archivo JPEG</translation>
2578
     </message>
2579
     <message>
2580
         <source>_X Position:</source>
2581
-        <translation type="unfinished">Posición X:</translation>
2582
+        <translation type="unfinished">Posición _X:</translation>
2583
     </message>
2584
     <message>
2585
         <source>_Y Position:</source>
2586
-        <translation type="unfinished">Posición Y:</translation>
2587
+        <translation type="unfinished">Posición _Y:</translation>
2588
     </message>
2589
     <message>
2590
         <source>_Alpha:</source>
2591
@@ -8797,22 +8751,22 @@
2592
     </message>
2593
     <message>
2594
         <source>Add logo.</source>
2595
-        <translation type="unfinished"></translation>
2596
+        <translation type="unfinished">Añadir logo.</translation>
2597
     </message>
2598
     <message>
2599
         <source>Put a logo on top of video, with alpha blending.</source>
2600
-        <translation type="unfinished"></translation>
2601
+        <translation type="unfinished">Poner un logo sobre el video, con mezclado alfa.</translation>
2602
     </message>
2603
 </context>
2604
 <context>
2605
     <name>lumaonly</name>
2606
     <message>
2607
         <source>GreyScale</source>
2608
-        <translation type="unfinished"></translation>
2609
+        <translation type="unfinished">Escala de grises</translation>
2610
     </message>
2611
     <message>
2612
         <source>Remove color, only key grey image.</source>
2613
-        <translation type="unfinished"></translation>
2614
+        <translation type="unfinished">Eliminar el color, dejar imagen gris.</translation>
2615
     </message>
2616
 </context>
2617
 <context>
2618
@@ -8827,7 +8781,7 @@
2619
     </message>
2620
     <message>
2621
         <source>Transform</source>
2622
-        <translation type="unfinished">Transform</translation>
2623
+        <translation type="unfinished">Transformar</translation>
2624
     </message>
2625
     <message>
2626
         <source>Interlacing</source>
2627
@@ -8859,35 +8813,35 @@
2628
     </message>
2629
     <message>
2630
         <source>&lt;big&gt;&lt;b&gt;Active Filters&lt;/b&gt;&lt;/big&gt;</source>
2631
-        <translation type="unfinished"></translation>
2632
+        <translation type="unfinished">&lt;big&gt;&lt;b&gt;Filtros Activos&lt;/b&gt;&lt;/big&gt;</translation>
2633
     </message>
2634
     <message>
2635
         <source>C&amp;onfigure</source>
2636
-        <translation type="unfinished"></translation>
2637
+        <translation type="unfinished">C&amp;onfigurar</translation>
2638
     </message>
2639
     <message>
2640
         <source>P&amp;artial</source>
2641
-        <translation type="unfinished"></translation>
2642
+        <translation type="unfinished">P&amp;arcial</translation>
2643
     </message>
2644
     <message>
2645
         <source>Down</source>
2646
-        <translation type="unfinished"></translation>
2647
+        <translation type="unfinished">Abajo</translation>
2648
     </message>
2649
     <message>
2650
         <source>Up</source>
2651
-        <translation type="unfinished"></translation>
2652
+        <translation type="unfinished">Arriba</translation>
2653
     </message>
2654
     <message>
2655
         <source>Remove</source>
2656
-        <translation type="unfinished"></translation>
2657
+        <translation type="unfinished">Eliminar</translation>
2658
     </message>
2659
     <message>
2660
         <source>Add</source>
2661
-        <translation type="unfinished"></translation>
2662
+        <translation type="unfinished">Añadir</translation>
2663
     </message>
2664
     <message>
2665
         <source>&lt;big&gt;&lt;b&gt;Available Filters&lt;/b&gt;&lt;/big&gt;</source>
2666
-        <translation type="unfinished"></translation>
2667
+        <translation type="unfinished">&lt;big&gt;&lt;b&gt;Filtros Disponibles&lt;/b&gt;&lt;/big&gt;</translation>
2668
     </message>
2669
     <message>
2670
         <source>OpenGl</source>
2671
@@ -8895,11 +8849,11 @@
2672
     </message>
2673
     <message>
2674
         <source>&amp;Preview</source>
2675
-        <translation type="unfinished"></translation>
2676
+        <translation type="unfinished">&amp;Vista anticipada</translation>
2677
     </message>
2678
     <message>
2679
         <source>&amp;Close</source>
2680
-        <translation type="unfinished"></translation>
2681
+        <translation type="unfinished">&amp;Cerrar</translation>
2682
     </message>
2683
 </context>
2684
 <context>
2685
@@ -8925,8 +8879,7 @@
2686
     </message>
2687
     <message>
2688
         <source>Motion compensation deinterlacer. Ported from MPlayer.</source>
2689
-        <translation type="unfinished">
2690
-            </translation>
2691
+        <translation type="unfinished">Desentrelazado compensación movimiento. Portado desde MPlayer</translation>
2692
     </message>
2693
     <message>
2694
         <source>Fast</source>
2695
@@ -8950,7 +8903,7 @@
2696
     </message>
2697
     <message>
2698
         <source>Bottom :</source>
2699
-        <translation type="unfinished"></translation>
2700
+        <translation type="unfinished">Inferior:</translation>
2701
     </message>
2702
     <message>
2703
         <source>_Qp:</source>
2704
@@ -8965,7 +8918,7 @@
2705
     <name>meadian</name>
2706
     <message>
2707
         <source>3x3 convolution filter :median.</source>
2708
-        <translation type="unfinished"></translation>
2709
+        <translation type="unfinished">3x3 filtro de convolucion: Medio.</translation>
2710
     </message>
2711
 </context>
2712
 <context>
2713
@@ -8976,21 +8929,21 @@
2714
     </message>
2715
     <message>
2716
         <source>3x3 convolution filter :mean.</source>
2717
-        <translation type="unfinished"></translation>
2718
+        <translation type="unfinished">3x3 filtro de convolucion: Medio.</translation>
2719
     </message>
2720
 </context>
2721
 <context>
2722
     <name>median</name>
2723
     <message>
2724
         <source>Median convolution.</source>
2725
-        <translation type="unfinished"></translation>
2726
+        <translation type="unfinished">Circunvolución media.</translation>
2727
     </message>
2728
 </context>
2729
 <context>
2730
     <name>mkvmuxer</name>
2731
     <message>
2732
         <source>Saving Mkv</source>
2733
-        <translation type="unfinished"></translation>
2734
+        <translation type="unfinished">Guardar MKV</translation>
2735
     </message>
2736
 </context>
2737
 <context>
2738
@@ -9001,23 +8954,23 @@
2739
     </message>
2740
     <message>
2741
         <source>Reduce noise, smooth image, increase compressibility. HQ Version.</source>
2742
-        <translation type="unfinished"></translation>
2743
+        <translation type="unfinished">Reducir ruído, suavizar imagen, aumentar compresibilidad. Versión Alta Calidad.</translation>
2744
     </message>
2745
     <message>
2746
         <source>_Spatial luma strength:</source>
2747
-        <translation type="unfinished">Intensidad de Filtrado: </translation>
2748
+        <translation type="unfinished">Intensidad filtrado e_spacial luma:</translation>
2749
     </message>
2750
     <message>
2751
         <source>S_patial chroma strength:</source>
2752
-        <translation type="unfinished">Intensidad de Filtrado: </translation>
2753
+        <translation type="unfinished">Intensidad filtrado es_pacial chroma:</translation>
2754
     </message>
2755
     <message>
2756
         <source>Luma _Temporal strength:</source>
2757
-        <translation type="unfinished"></translation>
2758
+        <translation type="unfinished">Intensidad filtrado _temporal luma:</translation>
2759
     </message>
2760
     <message>
2761
         <source>MPlayer denoise3d</source>
2762
-        <translation type="unfinished">MPlayer redimensionar</translation>
2763
+        <translation type="unfinished">MPlayer Denoise3D</translation>
2764
     </message>
2765
 </context>
2766
 <context>
2767
@@ -9028,47 +8981,46 @@
2768
     </message>
2769
     <message>
2770
         <source>Reduce noise, smooth image, increase compressibility.</source>
2771
-        <translation type="unfinished">Reducir ruido, alisar imagen, incrementar compresibilidad.</translation>
2772
+        <translation type="unfinished">Reducir ruido, suavizar imagen, incrementar compresibilidad.</translation>
2773
     </message>
2774
     <message>
2775
         <source>_Spatial luma strength:</source>
2776
-        <translation type="unfinished">Intensidad de Filtrado: </translation>
2777
+        <translation type="unfinished">Intensidad filtrado e_spacial luma:</translation>
2778
     </message>
2779
     <message>
2780
         <source>S_patial chroma strength:</source>
2781
-        <translation type="unfinished">Intensidad de Filtrado: </translation>
2782
+        <translation type="unfinished">Intensidad filtrado es_pacial chroma:</translation>
2783
     </message>
2784
     <message>
2785
         <source>_Temporal strength:</source>
2786
-        <translation type="unfinished">Intensidad de Filtrado: </translation>
2787
+        <translation type="unfinished">Intensidad filtrado _temporal:</translation>
2788
     </message>
2789
     <message>
2790
         <source>MPlayer denoise3d</source>
2791
-        <translation type="unfinished">MPlayer redimensionar</translation>
2792
+        <translation type="unfinished"></translation>
2793
     </message>
2794
 </context>
2795
 <context>
2796
     <name>msharpen</name>
2797
     <message>
2798
         <source>Sharpen edges without amplifying noise. By Donald Graft.</source>
2799
-        <translation type="unfinished">Sharpen edges without amplifying noise. Por Donald Graft.</translation>
2800
+        <translation type="unfinished">Aclarar bordes sin amplificar ruído. Por Donald Graft.</translation>
2801
     </message>
2802
     <message>
2803
         <source>_Mask</source>
2804
-        <translation type="unfinished">
2805
-            </translation>
2806
+        <translation type="unfinished">_Máscara</translation>
2807
     </message>
2808
     <message>
2809
         <source>_High Q</source>
2810
-        <translation type="unfinished">Alto</translation>
2811
+        <translation type="unfinished">_Alto Q</translation>
2812
     </message>
2813
     <message>
2814
         <source>_Threshold:</source>
2815
-        <translation type="unfinished">Umbral:</translation>
2816
+        <translation type="unfinished">_Umbral:</translation>
2817
     </message>
2818
     <message>
2819
         <source>_Strength:</source>
2820
-        <translation type="unfinished">Intensidad: </translation>
2821
+        <translation type="unfinished">Inten_sidad:</translation>
2822
     </message>
2823
     <message>
2824
         <source>MSharpen</source>
2825
@@ -9076,40 +9028,39 @@
2826
     </message>
2827
     <message>
2828
         <source>Msharpen</source>
2829
-        <translation type="unfinished"></translation>
2830
+        <translation type="unfinished">Agudizar</translation>
2831
     </message>
2832
 </context>
2833
 <context>
2834
     <name>muxerMP4</name>
2835
     <message>
2836
         <source>Saving mp4</source>
2837
-        <translation type="unfinished"></translation>
2838
+        <translation type="unfinished">Guardar MP4</translation>
2839
     </message>
2840
     <message>
2841
         <source>Saving PSP</source>
2842
-        <translation type="unfinished"></translation>
2843
+        <translation type="unfinished">Guardar PSP</translation>
2844
     </message>
2845
 </context>
2846
 <context>
2847
     <name>muxerffPS</name>
2848
     <message>
2849
         <source>Saving mpeg PS (ff)</source>
2850
-        <translation type="unfinished"></translation>
2851
+        <translation type="unfinished">Guardar mpeg PS (ff)</translation>
2852
     </message>
2853
 </context>
2854
 <context>
2855
     <name>muxerffTS</name>
2856
     <message>
2857
         <source>Saving mpeg TS (ff)</source>
2858
-        <translation type="unfinished"></translation>
2859
+        <translation type="unfinished">Guardar mpeg TS (ff)</translation>
2860
     </message>
2861
 </context>
2862
 <context>
2863
     <name>nuvHeader</name>
2864
     <message>
2865
         <source>Opening Nuppel video</source>
2866
-        <translation type="obsolete">
2867
-            </translation>
2868
+        <translation type="obsolete">Abriendo video Nuppel</translation>
2869
     </message>
2870
     <message>
2871
         <source>Sure you want to abort ?</source>
2872
@@ -9143,15 +9094,15 @@
2873
     <name>openGlResize</name>
2874
     <message>
2875
         <source>Width :</source>
2876
-        <translation type="unfinished"></translation>
2877
+        <translation type="unfinished">Anchura</translation>
2878
     </message>
2879
     <message>
2880
         <source>Height :</source>
2881
-        <translation type="unfinished"></translation>
2882
+        <translation type="unfinished">Altura</translation>
2883
     </message>
2884
     <message>
2885
         <source>glResize</source>
2886
-        <translation type="unfinished"></translation>
2887
+        <translation type="unfinished">glResize</translation>
2888
     </message>
2889
 </context>
2890
 <context>
2891
@@ -9192,7 +9143,7 @@
2892
     </message>
2893
     <message>
2894
         <source>Frame Rate:</source>
2895
-        <translation type="unfinished">Frame Rate:</translation>
2896
+        <translation type="unfinished">Ratio de imágenes:</translation>
2897
     </message>
2898
     <message>
2899
         <source>Total Duration:</source>
2900
@@ -9220,7 +9171,7 @@
2901
     </message>
2902
     <message>
2903
         <source>Quarter Pixel:</source>
2904
-        <translation type="obsolete">_Quarter pixel</translation>
2905
+        <translation type="obsolete">Quarter pixel</translation>
2906
     </message>
2907
     <message>
2908
         <source>Audio</source>
2909
@@ -9228,7 +9179,7 @@
2910
     </message>
2911
     <message>
2912
         <source>File Size:</source>
2913
-        <translation type="obsolete">Tamaño del archivo: </translation>
2914
+        <translation type="obsolete">Tamaño del archivo:</translation>
2915
     </message>
2916
     <message>
2917
         <source>Frequency:</source>
2918
@@ -9252,19 +9203,19 @@
2919
     </message>
2920
     <message>
2921
         <source>TextLabel</source>
2922
-        <translation type="unfinished"></translation>
2923
+        <translation type="unfinished">Etiqueta de texto</translation>
2924
     </message>
2925
     <message>
2926
         <source>Extra Video Properties</source>
2927
-        <translation type="unfinished"></translation>
2928
+        <translation type="unfinished">Propiedades Extras de Video</translation>
2929
     </message>
2930
     <message>
2931
         <source>ExtraDataSize:</source>
2932
-        <translation type="unfinished"></translation>
2933
+        <translation type="unfinished">Tamaño Extra Datos</translation>
2934
     </message>
2935
     <message>
2936
         <source>Extra data :</source>
2937
-        <translation type="unfinished"></translation>
2938
+        <translation type="unfinished">Datos extra:</translation>
2939
     </message>
2940
     <message>
2941
         <source>OK</source>
2942
@@ -9306,48 +9257,46 @@
2943
     <name>removePlaneFilter</name>
2944
     <message>
2945
         <source>Process luma plane</source>
2946
-        <translation type="obsolete">
2947
-            </translation>
2948
+        <translation type="obsolete">Procesar plano luma</translation>
2949
     </message>
2950
 </context>
2951
 <context>
2952
     <name>removeplane</name>
2953
     <message>
2954
         <source>Remove  Plane</source>
2955
-        <translation type="unfinished"></translation>
2956
+        <translation type="unfinished">Eliminar Plano</translation>
2957
     </message>
2958
     <message>
2959
         <source>Remove Y,U or V plane (used mainly to debug other filters).</source>
2960
-        <translation type="unfinished"></translation>
2961
+        <translation type="unfinished">Eliminar plano Y, U o V (utilizados principalmente para otros filtros).</translation>
2962
     </message>
2963
     <message>
2964
         <source>Keep Y Plane</source>
2965
-        <translation type="unfinished"></translation>
2966
+        <translation type="unfinished">Mantener plano Y</translation>
2967
     </message>
2968
     <message>
2969
         <source>Process luma plane</source>
2970
-        <translation type="unfinished">
2971
-            </translation>
2972
+        <translation type="unfinished">Procesar plano luma</translation>
2973
     </message>
2974
     <message>
2975
         <source>Keep U Plane</source>
2976
-        <translation type="unfinished"></translation>
2977
+        <translation type="unfinished">Mantener Plano U</translation>
2978
     </message>
2979
     <message>
2980
         <source>Process chromaU plane</source>
2981
-        <translation type="unfinished"></translation>
2982
+        <translation type="unfinished">Procesar plano chromaU</translation>
2983
     </message>
2984
     <message>
2985
         <source>Keep V Plane</source>
2986
-        <translation type="unfinished"></translation>
2987
+        <translation type="unfinished">Mantener plano V</translation>
2988
     </message>
2989
     <message>
2990
         <source>Process chromaV plane</source>
2991
-        <translation type="unfinished"></translation>
2992
+        <translation type="unfinished">Procesar plano cromaV</translation>
2993
     </message>
2994
     <message>
2995
         <source>Remove plane</source>
2996
-        <translation type="unfinished"></translation>
2997
+        <translation type="unfinished">Eliminar plano</translation>
2998
     </message>
2999
 </context>
3000
 <context>
3001
@@ -9358,7 +9307,7 @@
3002
     </message>
3003
     <message>
3004
         <source>_New frame rate:</source>
3005
-        <translation type="unfinished">Nuevo frames por segundo</translation>
3006
+        <translation type="unfinished">_Nuevo imágenes por segundo</translation>
3007
     </message>
3008
     <message>
3009
         <source>Resample fps</source>
3010
@@ -9390,11 +9339,11 @@
3011
     </message>
3012
     <message>
3013
         <source>Resample FPS</source>
3014
-        <translation type="unfinished"></translation>
3015
+        <translation type="unfinished">Restablecer FPS</translation>
3016
     </message>
3017
     <message>
3018
         <source>Change and enforce FPS. Keep duration and sync.</source>
3019
-        <translation type="unfinished"></translation>
3020
+        <translation type="unfinished">Cambiar y forzar FPS. Mantener duración y sincronismo.</translation>
3021
     </message>
3022
 </context>
3023
 <context>
3024
@@ -9405,7 +9354,7 @@
3025
     </message>
3026
     <message>
3027
         <source>swScale Resizer.</source>
3028
-        <translation type="unfinished"></translation>
3029
+        <translation type="unfinished">Cambiar tamaño por software</translation>
3030
     </message>
3031
 </context>
3032
 <context>
3033
@@ -9454,11 +9403,11 @@
3034
     <name>rotate</name>
3035
     <message>
3036
         <source>Rotate</source>
3037
-        <translation type="unfinished">Bitrate</translation>
3038
+        <translation type="unfinished">Rotar</translation>
3039
     </message>
3040
     <message>
3041
         <source>Rotate the image by 90/180/270 degrees.</source>
3042
-        <translation type="unfinished"></translation>
3043
+        <translation type="unfinished">Rotar la imagen en 90/180/270 grados.</translation>
3044
     </message>
3045
     <message>
3046
         <source>None</source>
3047
@@ -9466,34 +9415,31 @@
3048
     </message>
3049
     <message>
3050
         <source>90 degrees</source>
3051
-        <translation type="unfinished">
3052
-            </translation>
3053
+        <translation type="unfinished">90 grados</translation>
3054
     </message>
3055
     <message>
3056
         <source>90°</source>
3057
-        <translation type="unfinished"></translation>
3058
+        <translation type="unfinished">90°</translation>
3059
     </message>
3060
     <message>
3061
         <source>180 degrees</source>
3062
-        <translation type="unfinished">
3063
-            </translation>
3064
+        <translation type="unfinished">180 grados</translation>
3065
     </message>
3066
     <message>
3067
         <source>180°</source>
3068
-        <translation type="unfinished"></translation>
3069
+        <translation type="unfinished">180°</translation>
3070
     </message>
3071
     <message>
3072
         <source>270 degrees</source>
3073
-        <translation type="unfinished">
3074
-            </translation>
3075
+        <translation type="unfinished">270 grados</translation>
3076
     </message>
3077
     <message>
3078
         <source>270°</source>
3079
-        <translation type="unfinished"></translation>
3080
+        <translation type="unfinished">270°</translation>
3081
     </message>
3082
     <message>
3083
         <source>_Angle:</source>
3084
-        <translation type="unfinished">Azul:</translation>
3085
+        <translation type="unfinished">_Angulo:</translation>
3086
     </message>
3087
 </context>
3088
 <context>
3089
@@ -9504,37 +9450,34 @@
3090
     </message>
3091
     <message>
3092
         <source>90 degrees</source>
3093
-        <translation type="obsolete">
3094
-            </translation>
3095
+        <translation type="obsolete">90 grados</translation>
3096
     </message>
3097
     <message>
3098
         <source>180 degrees</source>
3099
-        <translation type="obsolete">
3100
-            </translation>
3101
+        <translation type="obsolete">180 grados</translation>
3102
     </message>
3103
     <message>
3104
         <source>270 degrees</source>
3105
-        <translation type="obsolete">
3106
-            </translation>
3107
+        <translation type="obsolete">270 grados</translation>
3108
     </message>
3109
     <message>
3110
         <source>_Angle:</source>
3111
-        <translation type="obsolete">Azul:</translation>
3112
+        <translation type="obsolete">_Angulo:</translation>
3113
     </message>
3114
     <message>
3115
         <source>Rotate</source>
3116
-        <translation type="obsolete">Bitrate</translation>
3117
+        <translation type="obsolete">Rotar</translation>
3118
     </message>
3119
 </context>
3120
 <context>
3121
     <name>rotateGl</name>
3122
     <message>
3123
         <source>Angle (°):</source>
3124
-        <translation type="unfinished"></translation>
3125
+        <translation type="unfinished">Angulo (°)</translation>
3126
     </message>
3127
     <message>
3128
         <source>glRotate</source>
3129
-        <translation type="unfinished"></translation>
3130
+        <translation type="unfinished">Rotar GL</translation>
3131
     </message>
3132
 </context>
3133
 <context>
3134
@@ -9545,11 +9488,11 @@
3135
     </message>
3136
     <message>
3137
         <source>00:00:00.000</source>
3138
-        <translation type="unfinished">00:00:00.000</translation>
3139
+        <translation type="unfinished">00:00:00,000</translation>
3140
     </message>
3141
     <message>
3142
         <source>next</source>
3143
-        <translation type="unfinished"></translation>
3144
+        <translation type="unfinished">Siguiente</translation>
3145
     </message>
3146
 </context>
3147
 <context>
3148
@@ -9564,20 +9507,19 @@
3149
     </message>
3150
     <message>
3151
         <source>_Line spacing:</source>
3152
-        <translation type="obsolete">Entrelazando:</translation>
3153
+        <translation type="obsolete">_Entrelazando:</translation>
3154
     </message>
3155
     <message>
3156
         <source>_Font scale:</source>
3157
-        <translation type="obsolete">Tamaño fuente</translation>
3158
+        <translation type="obsolete">_Tamaño fuente</translation>
3159
     </message>
3160
     <message>
3161
         <source>_Top margin:</source>
3162
-        <translation type="obsolete">
3163
-            </translation>
3164
+        <translation type="obsolete">_Margen superior</translation>
3165
     </message>
3166
     <message>
3167
         <source>Botto_m margin</source>
3168
-        <translation type="obsolete">Inferior</translation>
3169
+        <translation type="obsolete">Margen _Inferior</translation>
3170
     </message>
3171
     <message>
3172
         <source>ASS</source>
3173
@@ -9588,188 +9530,184 @@
3174
     <name>swapuv</name>
3175
     <message>
3176
         <source>Swap UV</source>
3177
-        <translation type="unfinished"></translation>
3178
+        <translation type="unfinished">Intercambiar UV</translation>
3179
     </message>
3180
     <message>
3181
         <source>Swap the U and V planes.</source>
3182
-        <translation type="unfinished"></translation>
3183
+        <translation type="unfinished">Intercambiar planos U y V.</translation>
3184
     </message>
3185
 </context>
3186
 <context>
3187
     <name>uisupport</name>
3188
     <message>
3189
         <source>X11</source>
3190
-        <translation type="unfinished"></translation>
3191
+        <translation type="unfinished">X11</translation>
3192
     </message>
3193
     <message>
3194
         <source>MS Windows GDI</source>
3195
-        <translation type="unfinished"></translation>
3196
+        <translation type="unfinished">MS Windows GDI</translation>
3197
     </message>
3198
     <message>
3199
         <source>Mac OS X Quartz 2D</source>
3200
-        <translation type="unfinished"></translation>
3201
+        <translation type="unfinished">Mac OS X Quartz 2D</translation>
3202
     </message>
3203
     <message>
3204
         <source>Mac OS X QuickDraw</source>
3205
-        <translation type="unfinished"></translation>
3206
+        <translation type="unfinished">Mac OS X QuickDraw</translation>
3207
     </message>
3208
     <message>
3209
         <source>OpenGL</source>
3210
-        <translation type="unfinished"></translation>
3211
+        <translation type="unfinished">OpenGL</translation>
3212
     </message>
3213
     <message>
3214
         <source>MS Windows Direct3D</source>
3215
-        <translation type="unfinished"></translation>
3216
+        <translation type="unfinished">MS Windows Direct3D</translation>
3217
     </message>
3218
     <message>
3219
         <source>Default Raster</source>
3220
-        <translation type="unfinished"></translation>
3221
+        <translation type="unfinished">Pasada por Defecto</translation>
3222
     </message>
3223
 </context>
3224
 <context>
3225
     <name>vdpauVideoFilterDeint</name>
3226
     <message>
3227
         <source>Keep Top Field</source>
3228
-        <translation type="unfinished"></translation>
3229
+        <translation type="unfinished">Mantener Campo Superior</translation>
3230
     </message>
3231
     <message>
3232
         <source>Keep Bottom Field</source>
3233
-        <translation type="unfinished"></translation>
3234
+        <translation type="unfinished">Mantener Campo Inferior</translation>
3235
     </message>
3236
     <message>
3237
         <source>Double framerate</source>
3238
-        <translation type="unfinished"></translation>
3239
+        <translation type="unfinished">Doblar framerate</translation>
3240
     </message>
3241
     <message>
3242
         <source>_Resize:</source>
3243
-        <translation type="unfinished"></translation>
3244
+        <translation type="unfinished">_Redimensionar</translation>
3245
     </message>
3246
     <message>
3247
         <source>_Deint Mode:</source>
3248
-        <translation type="unfinished"></translation>
3249
+        <translation type="unfinished">_Modo Desentrelazado</translation>
3250
     </message>
3251
     <message>
3252
         <source>Width :</source>
3253
-        <translation type="unfinished"></translation>
3254
+        <translation type="unfinished">Anchura :</translation>
3255
     </message>
3256
     <message>
3257
         <source>Height :</source>
3258
-        <translation type="unfinished"></translation>
3259
+        <translation type="unfinished">Altura :</translation>
3260
     </message>
3261
     <message>
3262
         <source>vdpau</source>
3263
-        <translation type="unfinished"></translation>
3264
+        <translation type="unfinished">vdpau</translation>
3265
     </message>
3266
 </context>
3267
 <context>
3268
     <name>vdpaufilter</name>
3269
     <message>
3270
         <source>Keep Top Field</source>
3271
-        <translation type="unfinished"></translation>
3272
+        <translation type="unfinished">Mantener Campo Superior</translation>
3273
     </message>
3274
     <message>
3275
         <source>Keep Bottom Field</source>
3276
-        <translation type="unfinished"></translation>
3277
+        <translation type="unfinished">Mantener Campo Inferior</translation>
3278
     </message>
3279
     <message>
3280
         <source>Double framerate</source>
3281
-        <translation type="unfinished"></translation>
3282
+        <translation type="unfinished">Doblar framerate</translation>
3283
     </message>
3284
     <message>
3285
         <source>_Resize:</source>
3286
-        <translation type="unfinished"></translation>
3287
+        <translation type="unfinished">_Redimensionar</translation>
3288
     </message>
3289
     <message>
3290
         <source>_Deint Mode:</source>
3291
-        <translation type="unfinished"></translation>
3292
+        <translation type="unfinished">_Modo Desentrelazado</translation>
3293
     </message>
3294
     <message>
3295
         <source>Width :</source>
3296
-        <translation type="unfinished"></translation>
3297
+        <translation type="unfinished">Anchura :</translation>
3298
     </message>
3299
     <message>
3300
         <source>Height :</source>
3301
-        <translation type="unfinished"></translation>
3302
+        <translation type="unfinished">Altura :</translation>
3303
     </message>
3304
     <message>
3305
         <source>vdpau</source>
3306
-        <translation type="unfinished"></translation>
3307
+        <translation type="unfinished">vdpau</translation>
3308
     </message>
3309
 </context>
3310
 <context>
3311
     <name>vdpaufilter2</name>
3312
     <message>
3313
         <source>Width :</source>
3314
-        <translation type="unfinished"></translation>
3315
+        <translation type="unfinished">Anchura :</translation>
3316
     </message>
3317
     <message>
3318
         <source>Height :</source>
3319
-        <translation type="unfinished"></translation>
3320
+        <translation type="unfinished">Altura :</translation>
3321
     </message>
3322
     <message>
3323
         <source>vdpau</source>
3324
-        <translation type="unfinished"></translation>
3325
+        <translation type="unfinished">vdpau</translation>
3326
     </message>
3327
 </context>
3328
 <context>
3329
     <name>vdpresize</name>
3330
     <message>
3331
         <source>vdpau: Resize</source>
3332
-        <translation type="unfinished"></translation>
3333
+        <translation type="unfinished">vdpau: Redimensionar</translation>
3334
     </message>
3335
     <message>
3336
         <source>vdpau: Resize image using vdpau.</source>
3337
-        <translation type="unfinished"></translation>
3338
+        <translation type="unfinished">vdpau: Redimensionar imagen utilizando vdpau.</translation>
3339
     </message>
3340
 </context>
3341
 <context>
3342
     <name>vflip</name>
3343
     <message>
3344
         <source>Vertical Flip</source>
3345
-        <translation type="unfinished"></translation>
3346
+        <translation type="unfinished">Volteo Vertical</translation>
3347
     </message>
3348
     <message>
3349
         <source>Vertically flip the image.</source>
3350
-        <translation type="unfinished"></translation>
3351
+        <translation type="unfinished">Voltear verticalmente la imagen.</translation>
3352
     </message>
3353
 </context>
3354
 <context>
3355
     <name>vidBlendRemoval</name>
3356
     <message>
3357
         <source>_Threshold:</source>
3358
-        <translation type="obsolete">Umbral:</translation>
3359
+        <translation type="obsolete">_Umbral:</translation>
3360
     </message>
3361
     <message>
3362
         <source>If value is smaller than threshold it is considered valid.Smaller value might mean more false positive.</source>
3363
-        <translation type="obsolete">
3364
-            </translation>
3365
+        <translation type="obsolete">Si el valor es más pequeño que el umbral, se considera válido. Un valor más pequeño podría dar falsos positivos.</translation>
3366
     </message>
3367
     <message>
3368
         <source>_Noise:</source>
3369
-        <translation type="obsolete">Ruido</translation>
3370
+        <translation type="obsolete">_Ruido</translation>
3371
     </message>
3372
     <message>
3373
         <source>If pixels are closer than noise, they are considered to be the same</source>
3374
-        <translation type="obsolete">
3375
-            </translation>
3376
+        <translation type="obsolete">Si los pixels cercanos son parecidos, se consideran el mismo</translation>
3377
     </message>
3378
     <message>
3379
         <source>I_dentical:</source>
3380
-        <translation type="obsolete">_Inicial:</translation>
3381
+        <translation type="obsolete">I_déntica:</translation>
3382
     </message>
3383
     <message>
3384
         <source>If metric is less than identical, images are considered identical</source>
3385
-        <translation type="obsolete">
3386
-            </translation>
3387
+        <translation type="obsolete">Si la métrica es menos que la idéntica, las imágenes se consideran idénticas</translation>
3388
     </message>
3389
     <message>
3390
         <source>_Show metrics</source>
3391
-        <translation type="obsolete">Mostrar vectores de movimiento</translation>
3392
+        <translation type="obsolete">_Mostrar métricas</translation>
3393
     </message>
3394
     <message>
3395
         <source>Show metric in image (debug)</source>
3396
-        <translation type="obsolete">
3397
-            </translation>
3398
+        <translation type="obsolete">Mostrar métrica en imagen (depuración)</translation>
3399
     </message>
3400
     <message>
3401
         <source>Blend Removal</source>
3402
@@ -9791,16 +9729,15 @@
3403
     </message>
3404
     <message>
3405
         <source>Do you want to print metrics on screen ?</source>
3406
-        <translation type="obsolete">¿Desea imprimir las mediciones en pantalla?</translation>
3407
+        <translation type="obsolete">¿Desea imprimir las métricas en pantalla?</translation>
3408
     </message>
3409
     <message>
3410
         <source>_Threshold:</source>
3411
-        <translation type="obsolete">Umbral:</translation>
3412
+        <translation type="obsolete">_Umbral:</translation>
3413
     </message>
3414
     <message>
3415
         <source>If value is smaller than threshold it is considered valid. Smaller value might mean more false positive</source>
3416
-        <translation type="obsolete">
3417
-            </translation>
3418
+        <translation type="obsolete">Si el valor es más pequeño que el umbral, se considera válido. Un valor más pequeño podría dar falsos positivos.</translation>
3419
     </message>
3420
     <message>
3421
         <source>_Noise:</source>
3422
@@ -9808,30 +9745,27 @@
3423
     </message>
3424
     <message>
3425
         <source>If pixels are closer than noise, they are considered to be the same</source>
3426
-        <translation type="obsolete">
3427
-            </translation>
3428
+        <translation type="obsolete">Si los pixels cercanos son parecidos, se consideran el mismo</translation>
3429
     </message>
3430
     <message>
3431
         <source>_Identical:</source>
3432
-        <translation type="obsolete">_Inicial:</translation>
3433
+        <translation type="obsolete">_Idéntica:</translation>
3434
     </message>
3435
     <message>
3436
         <source>If metric is less than identical, images are considered identical</source>
3437
-        <translation type="obsolete">
3438
-            </translation>
3439
+        <translation type="obsolete">Si la métrica es menos que la idéntica, las imágenes se consideran idénticas</translation>
3440
     </message>
3441
     <message>
3442
         <source>_Show metrics</source>
3443
-        <translation type="obsolete">Mostrar vectores de movimiento</translation>
3444
+        <translation type="obsolete">_Mostrar métricas</translation>
3445
     </message>
3446
     <message>
3447
         <source>Show metric in image (debug)</source>
3448
-        <translation type="obsolete">
3449
-            </translation>
3450
+        <translation type="obsolete">Mostrar métrica en imagen (depuración)</translation>
3451
     </message>
3452
     <message>
3453
         <source>Hard IVTC Removal</source>
3454
-        <translation type="obsolete">Remover mezcla</translation>
3455
+        <translation type="obsolete">Eliminar Hard IVTC</translation>
3456
     </message>
3457
 </context>
3458
 <context>
3459
@@ -9842,23 +9776,23 @@
3460
     </message>
3461
     <message>
3462
         <source>Subtitle Font Size and Position</source>
3463
-        <translation type="unfinished"></translation>
3464
+        <translation type="unfinished">Tamaño Fuente y Posición subtítulos</translation>
3465
     </message>
3466
     <message>
3467
         <source>Delay :</source>
3468
-        <translation type="unfinished"></translation>
3469
+        <translation type="unfinished">Retraso:</translation>
3470
     </message>
3471
     <message>
3472
         <source>Select File</source>
3473
-        <translation type="unfinished"></translation>
3474
+        <translation type="unfinished">Seleccionar archivo</translation>
3475
     </message>
3476
     <message>
3477
         <source>Language :</source>
3478
-        <translation type="unfinished"></translation>
3479
+        <translation type="unfinished">Idioma:</translation>
3480
     </message>
3481
     <message>
3482
         <source>Idx File :</source>
3483
-        <translation type="unfinished"></translation>
3484
+        <translation type="unfinished">Archivo Idx:</translation>
3485
     </message>
3486
 </context>
3487
 <context>
3488
@@ -9869,7 +9803,7 @@
3489
     </message>
3490
     <message>
3491
         <source>Quality based</source>
3492
-        <translation type="unfinished">Calidad </translation>
3493
+        <translation type="unfinished">Basado en calidad</translation>
3494
     </message>
3495
     <message>
3496
         <source>_Mode:</source>
3497
@@ -9881,7 +9815,7 @@
3498
     </message>
3499
     <message>
3500
         <source>_Quality:</source>
3501
-        <translation type="unfinished">Calidad</translation>
3502
+        <translation type="unfinished">_Calidad</translation>
3503
     </message>
3504
     <message>
3505
         <source>Vorbis Configuration</source>
3506
@@ -9900,15 +9834,15 @@
3507
     </message>
3508
     <message>
3509
         <source>Elapsed:</source>
3510
-        <translation type="unfinished"></translation>
3511
+        <translation type="unfinished">Transcurrido:</translation>
3512
     </message>
3513
     <message>
3514
         <source>Time Remaining:</source>
3515
-        <translation type="unfinished"></translation>
3516
+        <translation type="unfinished">Tiempo restante:</translation>
3517
     </message>
3518
     <message>
3519
         <source>Cancel</source>
3520
-        <translation type="unfinished"></translation>
3521
+        <translation type="unfinished">Cancelar</translation>
3522
     </message>
3523
 </context>
3524
 <context>
3525
@@ -9935,16 +9869,15 @@
3526
     </message>
3527
     <message>
3528
         <source>Hexagonal Search</source>
3529
-        <translation type="obsolete">Búsqueda de Movimiento</translation>
3530
+        <translation type="obsolete">Búsqueda Hexagonal</translation>
3531
     </message>
3532
     <message>
3533
         <source>Exhaustive Search</source>
3534
-        <translation type="obsolete">Búsqueda de Movimiento</translation>
3535
+        <translation type="obsolete">Búsqueda Exhaustiva</translation>
3536
     </message>
3537
     <message>
3538
         <source>Hadamard Exhaustive Search</source>
3539
-        <translation type="obsolete">
3540
-            </translation>
3541
+        <translation type="obsolete">Búsqueda Exhaustiva Hadamard</translation>
3542
     </message>
3543
     <message>
3544
         <source>None</source>
3545
@@ -9972,11 +9905,11 @@
3546
     </message>
3547
     <message>
3548
         <source>Flat Matrix</source>
3549
-        <translation type="obsolete">Matriz</translation>
3550
+        <translation type="obsolete">Matriz Plana</translation>
3551
     </message>
3552
     <message>
3553
         <source>JVT Matrix</source>
3554
-        <translation type="obsolete">Matriz</translation>
3555
+        <translation type="obsolete">Matriz JVT</translation>
3556
     </message>
3557
     <message>
3558
         <source>Custom Matrix</source>
3559
@@ -10072,11 +10005,11 @@
3560
     </message>
3561
     <message>
3562
         <source>Pixel Aspect Ratio</source>
3563
-        <translation type="obsolete">Relación de aspecto:</translation>
3564
+        <translation type="obsolete">Relación de aspecto de Pixel:</translation>
3565
     </message>
3566
     <message>
3567
         <source>As Input</source>
3568
-        <translation type="obsolete">Entrada</translation>
3569
+        <translation type="obsolete">Como Entrada</translation>
3570
     </message>
3571
     <message>
3572
         <source>:</source>
3573
@@ -10099,7 +10032,7 @@
3574
     <name>x264Dialog</name>
3575
     <message>
3576
         <source>Target Bitrate:</source>
3577
-        <translation type="unfinished"></translation>
3578
+        <translation type="unfinished">Bitrate Buscado</translation>
3579
     </message>
3580
     <message>
3581
         <source>kbit/s</source>
3582
@@ -10107,15 +10040,15 @@
3583
     </message>
3584
     <message>
3585
         <source>Quantiser:</source>
3586
-        <translation type="unfinished"></translation>
3587
+        <translation type="unfinished">Cuantizador</translation>
3588
     </message>
3589
     <message>
3590
         <source>Quality:</source>
3591
-        <translation type="unfinished"></translation>
3592
+        <translation type="unfinished">Calidad</translation>
3593
     </message>
3594
     <message>
3595
         <source>Target Video Size:</source>
3596
-        <translation type="unfinished"></translation>
3597
+        <translation type="unfinished">Tamaño de Video Buscado</translation>
3598
     </message>
3599
     <message>
3600
         <source>MB</source>
3601
@@ -10123,7 +10056,7 @@
3602
     </message>
3603
     <message>
3604
         <source>Average Bitrate:</source>
3605
-        <translation type="unfinished"></translation>
3606
+        <translation type="unfinished">Bitrate Medio</translation>
3607
     </message>
3608
     <message>
3609
         <source>Macroblock-Tree optimisation requires Variance Adaptive Quantisation to be enabled.  Variance Adaptive Quantisation will automatically be enabled.
3610
@@ -10132,9 +10065,9 @@
3611
         <translation type="unfinished"></translation>
3612
     </message>
3613
     <message>
3614
-        <source>Macroblock-Tree optimisation requires Variance Adaptive Quantisation to be enabled.  Macroblock-Tree optimisation will automatically be disabled.
3615
+        <source>La optimización del Árbol-Macroblock requiere que se active la Cuantización Variable Adaptativa. Esta optimización se desactivará automáticamente.
3616
 
3617
-Do you wish to continue?</source>
3618
+¿Quiere continuar?</source>
3619
         <translation type="unfinished"></translation>
3620
     </message>
3621
 </context>
3622
@@ -10182,19 +10115,19 @@
3623
     </message>
3624
     <message>
3625
         <source>Square</source>
3626
-        <translation type="unfinished"></translation>
3627
+        <translation type="unfinished">Cuadrado</translation>
3628
     </message>
3629
     <message>
3630
         <source>One thread</source>
3631
-        <translation type="unfinished"></translation>
3632
+        <translation type="unfinished">Un hilo</translation>
3633
     </message>
3634
     <message>
3635
         <source>Two threads)</source>
3636
-        <translation type="unfinished"></translation>
3637
+        <translation type="unfinished">Dos hilos</translation>
3638
     </message>
3639
     <message>
3640
         <source>Three threads</source>
3641
-        <translation type="unfinished"></translation>
3642
+        <translation type="unfinished">Tres hilos</translation>
3643
     </message>
3644
     <message>
3645
         <source>Auto (#cpu)</source>
3646
@@ -10202,39 +10135,39 @@
3647
     </message>
3648
     <message>
3649
         <source>MotionEstimation</source>
3650
-        <translation type="unfinished"></translation>
3651
+        <translation type="unfinished">Estimación de Movimiento</translation>
3652
     </message>
3653
     <message>
3654
         <source>Threading</source>
3655
-        <translation type="unfinished">Hilos</translation>
3656
+        <translation type="unfinished">Procesos</translation>
3657
     </message>
3658
     <message>
3659
         <source>_Trellis quantization</source>
3660
-        <translation type="unfinished"></translation>
3661
+        <translation type="unfinished">Cuantización _Trellis</translation>
3662
     </message>
3663
     <message>
3664
         <source>_Number of B frames:</source>
3665
-        <translation type="unfinished"></translation>
3666
+        <translation type="unfinished">_Número de imágenes-B:</translation>
3667
     </message>
3668
     <message>
3669
         <source>_Quantization type:</source>
3670
-        <translation type="unfinished"></translation>
3671
+        <translation type="unfinished">Tipo _Cuantización:</translation>
3672
     </message>
3673
     <message>
3674
         <source>_Macroblock decision:</source>
3675
-        <translation type="unfinished"></translation>
3676
+        <translation type="unfinished">Decisiones _Macroblock</translation>
3677
     </message>
3678
     <message>
3679
         <source>Profile:</source>
3680
-        <translation type="unfinished"></translation>
3681
+        <translation type="unfinished">Perfil:</translation>
3682
     </message>
3683
     <message>
3684
         <source>_Gop Size:</source>
3685
-        <translation type="unfinished"></translation>
3686
+        <translation type="unfinished">Tamaño _Gop:</translation>
3687
     </message>
3688
     <message>
3689
         <source>Advanced Simple Profile</source>
3690
-        <translation type="unfinished"></translation>
3691
+        <translation type="unfinished">Perfil Simple Avanzado</translation>
3692
     </message>
3693
     <message>
3694
         <source>Motion Estimation</source>
3695
@@ -10242,11 +10175,11 @@
3696
     </message>
3697
     <message>
3698
         <source>Quantization</source>
3699
-        <translation type="unfinished"></translation>
3700
+        <translation type="unfinished">Cuantización</translation>
3701
     </message>
3702
     <message>
3703
         <source>Threads</source>
3704
-        <translation type="unfinished"></translation>
3705
+        <translation type="unfinished">Hilos</translation>
3706
     </message>
3707
     <message>
3708
         <source>Rate Control</source>
3709
@@ -10254,38 +10187,34 @@
3710
     </message>
3711
     <message>
3712
         <source>Xvid4 MPEG-4 ASP configuration</source>
3713
-        <translation type="unfinished"></translation>
3714
+        <translation type="unfinished">Configuración Xvid4 MPEG-4 ASP</translation>
3715
     </message>
3716
 </context>
3717
 <context>
3718
     <name>yadifFilter</name>
3719
     <message>
3720
         <source>Temporal &amp; spatial check</source>
3721
-        <translation type="obsolete">
3722
-            </translation>
3723
+        <translation type="obsolete">Comprobación espacial &amp; temporal</translation>
3724
     </message>
3725
     <message>
3726
         <source>Bob, temporal &amp; spatial check</source>
3727
-        <translation type="obsolete">
3728
-            </translation>
3729
+        <translation type="obsolete">Comprobación de Bob, temporal &amp; espacial.</translation>
3730
     </message>
3731
     <message>
3732
         <source>Skip spatial temporal check</source>
3733
-        <translation type="obsolete">
3734
-            </translation>
3735
+        <translation type="obsolete">Saltar comprobación espacial temporal</translation>
3736
     </message>
3737
     <message>
3738
         <source>Bob, skip spatial temporal check</source>
3739
-        <translation type="obsolete">
3740
-            </translation>
3741
+        <translation type="obsolete">Saltar comprobación Bob, espacial temporal</translation>
3742
     </message>
3743
     <message>
3744
         <source>Bottom field first</source>
3745
-        <translation type="obsolete">Campo inf. (conservar superior)</translation>
3746
+        <translation type="obsolete">Campo inferior Primero</translation>
3747
     </message>
3748
     <message>
3749
         <source>Top field first</source>
3750
-        <translation type="obsolete">Intercambiar campos</translation>
3751
+        <translation type="obsolete">Campo superior primero</translation>
3752
     </message>
3753
     <message>
3754
         <source>_Mode:</source>
3755
@@ -10293,12 +10222,11 @@
3756
     </message>
3757
     <message>
3758
         <source>_Order:</source>
3759
-        <translation type="obsolete">_Modo:</translation>
3760
+        <translation type="obsolete">_Orden:</translation>
3761
     </message>
3762
     <message>
3763
         <source>yadif</source>
3764
-        <translation type="obsolete">
3765
-            </translation>
3766
+        <translation type="obsolete"></translation>
3767
     </message>
3768
 </context>
3769
 </TS>
3770
avidemux_2.6.11.tar.gz/avidemux/winInstaller/avidemux_crossQt5.nsi -> avidemux_2.6.12.tar.gz/avidemux/winInstaller/avidemux_crossQt5.nsi Changed
14
 
1
@@ -588,6 +588,12 @@
2
        SetOutPath $INSTDIR\plugins\muxers
3
        ${File} ${ROOT_FOLDER}/plugins/muxers/libADM_mx_raw.dll
4
    ${MementoSectionEnd}
5
+   ${MementoSection} "Raw Video" SecMuxWebm
6
+       SectionIn 1 2
7
+       SetOverwrite on
8
+       SetOutPath $INSTDIR\plugins\muxers
9
+       ${File} ${ROOT_FOLDER}/plugins/muxers/libADM_mx_Webm.dll
10
+   ${MementoSectionEnd}
11
 SectionGroupEnd
12
 SectionGroup "Script Engines" SecGrpScriptEngine
13
    #${MementoSection} "QtScript" SecScriptQt
14
avidemux_2.6.11.tar.gz/avidemux_core/ADM_core/include/ADM_crashdump_mingw.h -> avidemux_2.6.12.tar.gz/avidemux_core/ADM_core/include/ADM_crashdump_mingw.h Changed
27
 
1
@@ -1,17 +1,11 @@
2
-#if defined(__MINGW32__) && !defined ADM_CRASHDUMP_MINGW_H
3
-#define ADM_CRASHDUMP_MINGW_H
4
+/**
5
+ * \file ADM_crashdump_mingw
6
+ * \brief Catch low level error, mingw version
7
+ */
8
+#if defined(__MINGW32__) 
9
 
10
-#include <windows.h>
11
-#include <excpt.h>
12
-
13
-#if defined(_WIN64)
14
-ADM_CORE6_EXPORT LONG WINAPI ExceptionFilter(struct _EXCEPTION_POINTERS *exceptionInfo);
15
-#define installSigHandler() SetUnhandledExceptionFilter(ExceptionFilter)
16
-#define uninstallSigHandler()
17
-#else
18
-ADM_CORE6_EXPORT EXCEPTION_DISPOSITION ExceptionHandler(struct _EXCEPTION_RECORD *exceptionRecord, void *establisherFrame, struct _CONTEXT *contextRecord, void *dispatcherContext);
19
-#define installSigHandler() __try1(ExceptionHandler)
20
-#define uninstallSigHandler() __except1
21
-#endif
22
+#pragma once
23
+ADM_CORE6_EXPORT void installSigHandler(void);
24
+ADM_CORE6_EXPORT void uninstallSigHandler(void);
25
 
26
 #endif
27
avidemux_2.6.11.tar.gz/avidemux_core/ADM_core/src/ADM_crashdump_mingw.cpp -> avidemux_2.6.12.tar.gz/avidemux_core/ADM_core/src/ADM_crashdump_mingw.cpp Changed
123
 
1
@@ -13,6 +13,8 @@
2
  *   (at your option) any later version.                                   *
3
  *                                                                         *
4
  ***************************************************************************/
5
+#include <windows.h>
6
+#include <excpt.h>
7
 
8
 #include "ADM_crashdump.h"
9
 #include <stdio.h>
10
@@ -20,8 +22,30 @@
11
 #include <imagehlp.h>
12
 #include <cxxabi.h>
13
 
14
+
15
+static LONG WINAPI ExceptionFilter(struct _EXCEPTION_POINTERS *exceptionInfo);
16
 static ADM_saveFunction *mysaveFunction = NULL;
17
 static ADM_fatalFunction *myFatalFunction = NULL;
18
+
19
+
20
+/**
21
+ * \fn installSigHandler
22
+ * \brief add hook to catch exception (null pointers etc...)
23
+ */
24
+void installSigHandler(void)
25
+{    
26
+    SetUnhandledExceptionFilter(ExceptionFilter);
27
+}
28
+/**
29
+ * \fn uninstallSigHandler
30
+ * \brief
31
+ */
32
+void uninstallSigHandler(void)
33
+{
34
+    
35
+}
36
+
37
+
38
 /**
39
  * 
40
  * @param save
41
@@ -225,7 +249,7 @@
42
    RtlCaptureContext_* contextFunc = (RtlCaptureContext_*)GetProcAddress(hinstLib, "RtlCaptureContext");
43
    STACKFRAME frame;
44
    CONTEXT context;
45
-   int limit = 50;
46
+   int limit = 70;
47
    DWORD machineType;
48
 
49
    memset(&frame, 0, sizeof(STACKFRAME));
50
@@ -267,7 +291,7 @@
51
  * @param exceptionRecord
52
  * @param contextRecord
53
  */
54
-void HandleException(struct _EXCEPTION_RECORD *exceptionRecord, struct _CONTEXT *contextRecord)
55
+void HandleException(const char *message,struct _EXCEPTION_RECORD *exceptionRecord, struct _CONTEXT *contextRecord)
56
 {
57
     std::string s;
58
    fflush(stderr);
59
@@ -293,12 +317,21 @@
60
    {
61
        s+=DumpExceptionInfo(process, exceptionRecord, contextRecord);
62
    }
63
+        fflush(stderr);
64
+   fflush(stdout); 
65
 
66
    s+=DumpBackTrace(process);
67
+        fflush(stderr);
68
+   fflush(stdout); 
69
+        
70
+        const char *title;
71
+        if(!message) title="Crash";
72
+            else     title=message;
73
         if (myFatalFunction)
74
-       myFatalFunction("Crash", s.c_str());
75
+       myFatalFunction(title, s.c_str());
76
    SymCleanup(process);
77
-
78
+        fflush(stderr);
79
+   fflush(stdout); 
80
    exit(1);
81
 }
82
 /**
83
@@ -311,7 +344,7 @@
84
  */
85
 EXCEPTION_DISPOSITION ExceptionHandler(struct _EXCEPTION_RECORD *exceptionRecord, void *establisherFrame, struct _CONTEXT *contextRecord, void *dispatcherContext)
86
 {
87
-   HandleException(exceptionRecord, contextRecord);
88
+   HandleException("ExceptionHandler",exceptionRecord, contextRecord);
89
 }
90
 /**
91
  * 
92
@@ -320,8 +353,20 @@
93
  */
94
 LONG WINAPI ExceptionFilter(struct _EXCEPTION_POINTERS *exceptionInfo)
95
 {
96
-   HandleException(exceptionInfo->ExceptionRecord, exceptionInfo->ContextRecord);
97
+   HandleException("ExceptionFilter",exceptionInfo->ExceptionRecord, exceptionInfo->ContextRecord);
98
+        return EXCEPTION_CONTINUE_SEARCH;
99
+}
100
+/**
101
+ * 
102
+ * @param pExceptionInfo
103
+ * @return 
104
+ */
105
+LONG WINAPI TopLevelExceptionHandler(struct _EXCEPTION_POINTERS *exceptionInfo)
106
+{
107
+    HandleException("TopLevelExceptionHandler",exceptionInfo->ExceptionRecord, exceptionInfo->ContextRecord);
108
+    return EXCEPTION_CONTINUE_SEARCH;
109
 }
110
+
111
 /**
112
  * 
113
  * @param info
114
@@ -330,5 +375,7 @@
115
  */
116
 void ADM_backTrack(const char *info, int lineno, const char *file)
117
 {  
118
-   HandleException(NULL, NULL);
119
+    char title[2048]={0};
120
+        snprintf(title,2000,"%s at line %d, file %s",info,lineno,file);
121
+   HandleException(title,NULL, NULL);
122
 }
123
avidemux_2.6.11.tar.gz/avidemux_core/ADM_core/src/ADM_crashdump_unix.cpp -> avidemux_2.6.12.tar.gz/avidemux_core/ADM_core/src/ADM_crashdump_unix.cpp Changed
74
 
1
@@ -164,49 +164,42 @@
2
 {
3
    if(mysaveFunction)
4
        mysaveFunction();
5
-
6
-#if !defined(__HAIKU__)
7
-   char wholeStuff[2048];
8
-#if !defined(__sun__)
9
+#define MAX_BACKTRACK 30
10
+#if !defined(__HAIKU__) && !defined(__sun__)
11
+    char wholeStuff[2048];
12
     char buffer[4096];
13
     char in[2048];
14
-   void *stack[20];
15
+   void *stack[MAX_BACKTRACK+1];
16
    char **functions;
17
    int count, i;
18
-#endif
19
    wholeStuff[0]=0;
20
 
21
    printf("\n*********** BACKTRACK **************\n");
22
 
23
-#if !defined(__sun__)
24
-   count = backtrace(stack, 20);
25
+   count = backtrace(stack, MAX_BACKTRACK);
26
    functions = backtrace_symbols(stack, count);
27
-#endif
28
    sprintf(wholeStuff,"%s\n at line %d, file %s",info,lineno,file);
29
-#if !defined(__sun__)
30
-    int status;
31
-    size_t size=2047;
32
+        int status;
33
+        size_t size=2047;
34
     // it looks like that xxxx (functionName+0x***) XXXX
35
    for (i=0; i < count; i++)
36
    {
37
-        char *s=strstr(functions[i],"(");
38
-        buffer[0]=0;
39
-        if(s && strstr(s+1,"+"))
40
-        {
41
-            strcpy(in,s+1);
42
-            char *e=strstr(in,"+");
43
-            *e=0;
44
-            __cxxabiv1::__cxa_demangle(in,buffer,&size,&status);
45
-            if(status) strcpy(buffer,in);
46
-        }else
47
-            strcpy(buffer,functions[i]);
48
-        printf("%s:%d:<%s>:%d\n",functions[i],i,buffer,status);
49
-       strcat(wholeStuff,buffer);
50
-       strcat(wholeStuff,"\n");
51
-   }
52
-#else
53
-   backtrace(fileno(stdout));
54
-#endif
55
+            char *s=strstr(functions[i],"(");
56
+            buffer[0]=0;
57
+            if(s && strstr(s+1,"+"))
58
+            {
59
+                strcpy(in,s+1);
60
+                char *e=strstr(in,"+");
61
+                *e=0;
62
+                __cxxabiv1::__cxa_demangle(in,buffer,&size,&status);
63
+                if(status) 
64
+                    strcpy(buffer,in);
65
+            }else
66
+                strcpy(buffer,functions[i]);
67
+            printf("%s:%d:<%s>:%d\n",functions[i],i,buffer,status);
68
+            strcat(wholeStuff,buffer);
69
+            strcat(wholeStuff,"\n");
70
+        }
71
    printf("*********** BACKTRACK **************\n");
72
 
73
    if(myFatalFunction)
74
avidemux_2.6.11.tar.gz/avidemux_core/ADM_core/src/CMakeLists.txt -> avidemux_2.6.12.tar.gz/avidemux_core/ADM_core/src/CMakeLists.txt Changed
12
 
1
@@ -44,8 +44,8 @@
2
 ENDIF (WIN32)
3
 
4
 if (HAVE_EXECINFO)
5
-   include_directories("${LIBEXECINFO_INCLUDE_DIR}")
6
-   target_link_libraries(ADM_core6 "${LIBEXECINFO_LIBRARY_DIR}")
7
+   include_directories("${EXECINFO_INCLUDE_DIR}")
8
+   target_link_libraries(ADM_core6 "${EXECINFO_LIBRARY_DIR}")
9
 endif (HAVE_EXECINFO)
10
 
11
 if (ADM_DEBUG AND FIND_LEAKS)
12
avidemux_2.6.11.tar.gz/avidemux_core/ADM_coreSocket/include/ADM_coreSocket.h -> avidemux_2.6.12.tar.gz/avidemux_core/ADM_coreSocket/include/ADM_coreSocket.h Changed
12
 
1
@@ -15,6 +15,10 @@
2
 #ifndef ADM_CORE_SOCKET_H
3
 #define ADM_CORE_SOCKET_H
4
 
5
+#ifdef _WIN32
6
+#include "winsock2.h"
7
+#endif
8
+
9
 #include "ADM_coreSocket6_export.h"
10
 #include "ADM_threads.h"
11
 
12
avidemux_2.6.11.tar.gz/avidemux_core/ADM_coreVideoCodec/ADM_hwAccel/ADM_coreVdpau/include/ADM_coreVdpau.h -> avidemux_2.6.12.tar.gz/avidemux_core/ADM_coreVideoCodec/ADM_hwAccel/ADM_coreVdpau/include/ADM_coreVdpau.h Changed
25
 
1
@@ -86,10 +86,11 @@
2
     static VdpStatus mixerCreate(uint32_t width,uint32_t height, VdpVideoMixer *mixer,bool deinterlace=false);
3
     static VdpStatus mixerDestroy(VdpVideoMixer mixer);
4
     static VdpStatus mixerRender(VdpVideoMixer mixer,VdpVideoSurface sourceSurface,VdpOutputSurface targetOutputSurface, uint32_t targetWidth, uint32_t targetHeight );
5
+    static VdpStatus mixerRenderWithCropping(VdpVideoMixer mixer,VdpVideoSurface sourceSurface,VdpOutputSurface targetOutputSurface, uint32_t targetWidth, uint32_t targetHeight ,
6
+                                            uint32_t sourceWidth, uint32_t sourceHeight);
7
     static VdpStatus mixerRenderWithPastAndFuture(bool topField,VdpVideoMixer mixer,
8
                                 VdpVideoSurface sourceSurface[3], // Past present future
9
-                                VdpOutputSurface targetOutputSurface,
10
-                                uint32_t targetWidth, uint32_t targetHeight );
11
+                                VdpOutputSurface targetOutputSurface, uint32_t targetWidth,     uint32_t targetHeight,uint32_t sourceWidth,     uint32_t sourceHeight );
12
     static VdpStatus mixerGetAttributesValue(VdpVideoMixer mixer,
13
                                 uint32_t attrCount,
14
                                 const  VdpVideoMixerAttribute *xkeys,
15
@@ -102,6 +103,9 @@
16
     {
17
                 return (x+15) & ~15;
18
     }
19
+    static VdpStatus outputSurfaceGetParameters(  VdpOutputSurface surface,    VdpRGBAFormat *  rgba_format,
20
+                            uint32_t *       width,    uint32_t *       height);
21
+    static VdpStatus surfaceGetParameters(VdpVideoSurface surface,VdpChromaType *chomra,uint32_t *w,uint32_t *h);
22
 
23
 #endif
24
 };
25
avidemux_2.6.11.tar.gz/avidemux_core/ADM_coreVideoCodec/ADM_hwAccel/ADM_coreVdpau/include/ADM_coreVdpauInternal.h -> avidemux_2.6.12.tar.gz/avidemux_core/ADM_coreVideoCodec/ADM_hwAccel/ADM_coreVdpau/include/ADM_coreVdpauInternal.h Changed
11
 
1
@@ -57,6 +57,9 @@
2
     VdpVideoMixerGetAttributeValues   *mixerGetAttributesValue;
3
     VdpVideoMixerSetAttributeValues   *mixerSetAttributesValue;
4
 
5
+    VdpOutputSurfaceGetParameters     *mixerGetOutputSurfaceParameters;
6
+    VdpVideoSurfaceGetParameters      *mixerGetSurfaceParameters;
7
+    
8
     VdpPresentationQueueTargetCreateX11 *presentationQueueDisplayX11Create;
9
 }VdpFunctions;
10
 
11
avidemux_2.6.11.tar.gz/avidemux_core/ADM_coreVideoCodec/ADM_hwAccel/ADM_coreVdpau/src/ADM_coreVdpau.cpp -> avidemux_2.6.12.tar.gz/avidemux_core/ADM_coreVideoCodec/ADM_hwAccel/ADM_coreVdpau/src/ADM_coreVdpau.cpp Changed
45
 
1
@@ -102,6 +102,8 @@
2
     GetMe(putBitsYV12OutputSurface,VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_Y_CB_CR);
3
     GetMe(putBitsCapsOutputSurface,VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_PUT_BITS_Y_CB_CR_CAPABILITIES);
4
     GetMe(getBitsNativeOutputSurface,VDP_FUNC_ID_OUTPUT_SURFACE_GET_BITS_NATIVE);
5
+    
6
+    
7
 
8
     GetMe(presentationQueueDestroy,VDP_FUNC_ID_PRESENTATION_QUEUE_DESTROY);
9
     GetMe(presentationQueueCreate,VDP_FUNC_ID_PRESENTATION_QUEUE_CREATE);
10
@@ -119,7 +121,8 @@
11
 
12
     GetMe(mixerGetAttributesValue,VDP_FUNC_ID_VIDEO_MIXER_GET_ATTRIBUTE_VALUES);
13
     GetMe(mixerSetAttributesValue,VDP_FUNC_ID_VIDEO_MIXER_SET_ATTRIBUTE_VALUES);
14
-
15
+    GetMe(mixerGetOutputSurfaceParameters,VDP_FUNC_ID_OUTPUT_SURFACE_GET_PARAMETERS); ///
16
+    GetMe(mixerGetSurfaceParameters,VDP_FUNC_ID_VIDEO_SURFACE_GET_PARAMETERS); ///
17
     if(VDP_STATUS_OK!=ADM_coreVdpau::funcs.presentationQueueDisplayX11Create(ADM_coreVdpau::vdpDevice,x->systemWindowId,&queueX11))
18
     {
19
         ADM_warning("Cannot create X11 Presentation Queue\n");
20
@@ -335,6 +338,24 @@
21
      ( void * const *)ptr,
22
     pitches));
23
 }
24
+
25
+
26
+/**
27
+    \fn
28
+    \brief
29
+*/
30
+VdpStatus admVdpau::outputSurfaceGetParameters(  VdpOutputSurface surface,    VdpRGBAFormat *  rgba_format,
31
+                            uint32_t *       width,    uint32_t *       height)
32
+{
33
+    CHECK(ADM_coreVdpau::funcs.mixerGetOutputSurfaceParameters(surface,rgba_format,width,height));
34
+}
35
+/**
36
+ */
37
+VdpStatus admVdpau::surfaceGetParameters(VdpVideoSurface surface,VdpChromaType *chroma,uint32_t *w,uint32_t *h)
38
+{
39
+    CHECK(ADM_coreVdpau::funcs.mixerGetSurfaceParameters(surface,chroma,w,h));
40
+}
41
+
42
 /**
43
     \fn
44
     \brief
45
avidemux_2.6.11.tar.gz/avidemux_core/ADM_coreVideoCodec/ADM_hwAccel/ADM_coreVdpau/src/ADM_coreVdpauMixer.cpp -> avidemux_2.6.12.tar.gz/avidemux_core/ADM_coreVideoCodec/ADM_hwAccel/ADM_coreVdpau/src/ADM_coreVdpauMixer.cpp Changed
143
 
1
@@ -15,11 +15,11 @@
2
 #include "ADM_default.h"
3
 #include "../include/ADM_coreVdpau.h"
4
 
5
-#ifdef USE_VDPAU
6
+#if defined(USE_VDPAU) 
7
 #include "../include/ADM_coreVdpauInternal.h"
8
 #include "ADM_dynamicLoading.h"
9
 
10
-#if 1
11
+#if 0
12
     #define aprintf ADM_info
13
 #else
14
     #define aprintf(...) {}
15
@@ -77,6 +77,7 @@
16
 uint32_t color=VDP_CHROMA_TYPE_420;
17
 void    *values[MIXER_NB_PARAM]={&width,&height,&color};
18
     int nbFeature=0;
19
+    ADM_info("Creating vdpauMixer with width=%d, height=%d color=%d\n",width,height,color);
20
     //features[nbFeature++]=VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L5;
21
     if(deinterlace)
22
     {
23
@@ -131,6 +132,79 @@
24
                 NULL,                               // dest video Rec
25
                 0,NULL);                            // Layers
26
                 
27
+#if 0      
28
+  ADM_info("Target width=%d height=%d\n", targetWidth,targetHeight);
29
+  VdpRGBAFormat fmt;
30
+  VdpChromaType chroma;
31
+  uint32_t tw,th;
32
+  
33
+  if(VDP_STATUS_OK!=ADM_coreVdpau::funcs.mixerGetOutputSurfaceParameters(targetOutputSurface,&fmt,&tw,&th))
34
+  {
35
+      ADM_warning("VdpOutputSurfaceGetParameters failed\n");
36
+  }
37
+  ADM_info("output surface width=%d height=%d fmt=%d\n", tw,th,fmt);
38
+  if(VDP_STATUS_OK!=ADM_coreVdpau::funcs.mixerGetSurfaceParameters(sourceSurface,&chroma,&tw,&th))
39
+  {
40
+        ADM_warning("mixerGetSurfaceParameters failed\n");
41
+  }
42
+  ADM_info("input surface width=%d height=%d fmt=%d\n", tw,th,chroma);
43
+#endif
44
+  if(VDP_STATUS_OK!=e)
45
+    {
46
+        
47
+        ADM_warning("MixerRender  failed :%s\n",getErrorString(e));
48
+        
49
+    }
50
+    return e;
51
+}
52
+/**
53
+ * \fn mixerRenderWithCropping
54
+ * \brief Same as above but allow to take only top/left of the input image
55
+ * @param mixer
56
+ * @param sourceSurface
57
+ * @param targetOutputSurface
58
+ * @param targetWidth
59
+ * @param targetHeight
60
+ * @param sourceWidth
61
+ * @param sourceHeight
62
+ * @return 
63
+ */
64
+VdpStatus admVdpau::mixerRenderWithCropping(VdpVideoMixer mixer,
65
+                                VdpVideoSurface sourceSurface,
66
+                                VdpOutputSurface targetOutputSurface, 
67
+                                uint32_t targetWidth, 
68
+                                uint32_t targetHeight,uint32_t sourceWidth, uint32_t sourceHeight )
69
+{
70
+const VdpVideoSurface listOfInvalidSurface[1]={VDP_INVALID_HANDLE};
71
+
72
+    VdpRect rect;
73
+    rect.x0=rect.y0=0;
74
+    rect.x1=sourceWidth;
75
+    rect.y1=sourceHeight;
76
+#if 0
77
+    VdpChromaType sourceChroma;
78
+    uint32_t sourceW,sourceH;
79
+    ADM_coreVdpau::funcs.mixerGetSurfaceParameters(sourceSurface,&sourceChroma,&sourceW,&sourceH);
80
+    ADM_info("Source is %d %d x %d\n",sourceChroma,sourceW,sourceH);
81
+    VdpRGBAFormat rgb;
82
+    ADM_coreVdpau::funcs.mixerGetOutputSurfaceParameters(targetOutputSurface,&rgb,&sourceW,&sourceH);
83
+    ADM_info("Target is %d %d x %d\n",rgb,sourceW,sourceH);
84
+    ADM_info("Cropped to %d x %d ==> %d x %d\n",sourceWidth,sourceHeight,targetWidth,targetHeight);
85
+    ADM_info("Rect %d %d %d %d\n",rect.x0,rect.y0,rect.x1,rect.y1);
86
+#endif    
87
+      VdpStatus e=ADM_coreVdpau::funcs.mixerRender(mixer,
88
+                VDP_INVALID_HANDLE,NULL,    // Background
89
+                VDP_VIDEO_MIXER_PICTURE_STRUCTURE_FRAME,
90
+                
91
+                0,            listOfInvalidSurface, // Past...
92
+                sourceSurface,                      // current
93
+                0,            listOfInvalidSurface, // Future
94
+                &rect,                               // source RECT
95
+                targetOutputSurface,
96
+                NULL,                               // dest Rec
97
+                NULL,                               // dest video Rec
98
+                0,NULL);                            // Layers
99
+                
100
             
101
   if(VDP_STATUS_OK!=e)
102
     {
103
@@ -140,6 +214,7 @@
104
     }
105
     return e;
106
 }
107
+
108
 /**
109
     \fn mixerGetAttributesValue
110
 */
111
@@ -187,7 +262,9 @@
112
                                 VdpVideoSurface sourceSurface[3], // Past present future
113
                                 VdpOutputSurface targetOutputSurface, 
114
                                 uint32_t targetWidth, 
115
-                                uint32_t targetHeight )
116
+                                uint32_t targetHeight,
117
+                                uint32_t sourceWidth, 
118
+                                uint32_t sourceHeight        )
119
 {
120
     int nbPrev=2,nbNext=2;
121
     VdpVideoMixerPictureStructure fieldType=VDP_VIDEO_MIXER_PICTURE_STRUCTURE_TOP_FIELD;
122
@@ -198,6 +275,11 @@
123
     VdpVideoSurface future[2]={VDP_INVALID_HANDLE,VDP_INVALID_HANDLE};
124
     VdpVideoSurface present;
125
 
126
+    VdpRect rect;
127
+    rect.x0=rect.y0=0;
128
+    rect.x1=sourceWidth;
129
+    rect.y1=sourceHeight;
130
+    
131
     present=sourceSurface[1];
132
     int index=0;
133
     if(!topField) index=1;
134
@@ -224,7 +306,7 @@
135
                 nbPrev,       past, // Past...
136
                               present, // current
137
                 nbNext,       future, // Future
138
-                NULL,                               // source RECT
139
+                &rect,                               // source RECT
140
                 targetOutputSurface,
141
                 NULL,                               // dest Rec
142
                 NULL,                               // dest video Rec
143
avidemux_2.6.11.tar.gz/avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h -> avidemux_2.6.12.tar.gz/avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h Changed
13
 
1
@@ -20,9 +20,11 @@
2
 #pragma once
3
 
4
 #include "ADM_coreVideoCodec6_export.h"
5
+typedef void (AV_FATAL_HANDLER)(const char *why,int fileno,const char *filewhereitcrashed);
6
 
7
 extern "C" {
8
 #include "libavcodec/avcodec.h"
9
+extern void av_setFatalHandler(AV_FATAL_HANDLER *func);
10
 }
11
 
12
 #include "ADM_codec.h"
13
avidemux_2.6.11.tar.gz/avidemux_core/ADM_coreVideoCodec/src/ADM_ffmp43.cpp -> avidemux_2.6.12.tar.gz/avidemux_core/ADM_coreVideoCodec/src/ADM_ffmp43.cpp Changed
27
 
1
@@ -616,6 +616,16 @@
2
 {
3
   void adm_lavLogCallback(void  *instance, int level, const char* fmt, va_list list);
4
 }
5
+
6
+
7
+extern "C" 
8
+{
9
+static  void ffFatalError(const char *what,int lineno, const char *filez)
10
+{
11
+        ADM_backTrack(what,lineno,filez);
12
+}
13
+
14
+}
15
 /**
16
     \fn ADM_lavInit
17
     \brief Init both lavcodec and lavformat
18
@@ -624,7 +634,7 @@
19
 {
20
     avcodec_register_all();
21
     av_log_set_callback(adm_lavLogCallback);
22
-
23
+    av_setFatalHandler(ffFatalError);
24
 #ifdef ADM_DEBUG
25
     av_log_set_level(AV_LOG_DEBUG);
26
 #endif
27
avidemux_2.6.12.tar.gz/avidemux_core/ffmpeg_package/ffmpeg-2.7.6.tar.bz2 Added
avidemux_2.6.12.tar.gz/avidemux_core/ffmpeg_package/patches/libavutil_avassert_h.patch Added
24
 
1
@@ -0,0 +1,22 @@
2
+--- libavutil/avassert.h.old   2016-01-31 00:43:51.000000000 +0100
3
++++ libavutil/avassert.h   2016-02-16 21:21:02.768117422 +0100
4
+@@ -30,14 +30,17 @@
5
+ #include <stdlib.h>
6
+ #include "avutil.h"
7
+ #include "log.h"
8
++extern void av_fatalHandler(const char *why,const char *file, int lineno);
9
++typedef void (AV_FATAL_HANDLER)(const char *why,int lineno, const char *file);
10
++
11
++extern void av_setFatalHandler(AV_FATAL_HANDLER *func);
12
+ 
13
+ /**
14
+  * assert() equivalent, that is always enabled.
15
+  */
16
+ #define av_assert0(cond) do {                                           \
17
+     if (!(cond)) {                                                      \
18
+-        av_log(NULL, AV_LOG_PANIC, "Assertion %s failed at %s:%d\n",    \
19
+-               AV_STRINGIFY(cond), __FILE__, __LINE__);                 \
20
++        av_fatalHandler( AV_STRINGIFY(cond),__FILE__,__LINE__);         \
21
+         abort();                                                        \
22
+     }                                                                   \
23
+ } while (0)
24
avidemux_2.6.12.tar.gz/avidemux_core/ffmpeg_package/patches/libavutil_log_c.patch Added
43
 
1
@@ -0,0 +1,41 @@
2
+--- libavutil/log.c.old    2016-01-31 00:43:51.000000000 +0100
3
++++ libavutil/log.c    2016-02-16 21:24:19.943656163 +0100
4
+@@ -39,6 +39,7 @@
5
+ #include "common.h"
6
+ #include "internal.h"
7
+ #include "log.h"
8
++#include "avassert.h" // MEANX
9
+ 
10
+ #if HAVE_PTHREADS
11
+ #include <pthread.h>
12
+@@ -121,7 +122,7 @@
13
+ 
14
+ #endif
15
+ static int use_color = -1;
16
+-
17
++static AV_FATAL_HANDLER *fatalHandler=NULL; // MEANX
18
+ static void check_color_terminal(void)
19
+ {
20
+ #if defined(_WIN32) && !defined(__MINGW32CE__) && HAVE_SETCONSOLETEXTATTRIBUTE
21
+@@ -430,7 +431,21 @@
22
+     missing_feature_sample(0, avc, msg, argument_list);
23
+     va_end(argument_list);
24
+ }
25
++// MEANX
26
+ 
27
++void av_fatalHandler(const char *why,const char *filez, int lineno)
28
++{
29
++char *cleartext[2048];
30
++        if(!fatalHandler)
31
++                printf("[CRASH] %s, file %s, lineno=%d\n",cleartext,filez,lineno);
32
++        else
33
++                (fatalHandler)(cleartext,lineno,filez);
34
++}
35
++void av_setFatalHandler(AV_FATAL_HANDLER *func)
36
++{
37
++        fatalHandler=func;
38
++}
39
++//
40
+ #ifdef TEST
41
+ // LCOV_EXCL_START
42
+ #include <string.h>
43
avidemux_2.6.11.tar.gz/avidemux_plugins/ADM_audioDecoders/ADM_ad_opus/ADM_opus.cpp -> avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_audioDecoders/ADM_ad_opus/ADM_opus.cpp Changed
10
 
1
@@ -80,7 +80,7 @@
2
 
3
 
4
     int err=opus_decode_float(opus_handle,inptr,nbIn,outptr,5760,false); //??
5
-    ADM_info("Incoming = %d bytes, out samples=%d\n",nbIn,err);
6
+    //ADM_info("Incoming = %d bytes, out samples=%d\n",nbIn,err);
7
     if(err>0)
8
     {
9
         *nbOut=err*wavHeader.channels;
10
avidemux_2.6.11.tar.gz/avidemux_plugins/ADM_demuxers/Matroska/ADM_ebml.h -> avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_demuxers/Matroska/ADM_ebml.h Changed
51
 
1
@@ -39,11 +39,12 @@
2
              uint32_t readu32(void);  
3
              int32_t  reads32(void);
4
         /***********************************/
5
-        virtual     uint8_t  readBin(uint8_t *whereto,uint32_t len)=0;
6
-        virtual     uint8_t  skip(uint32_t nbBytes)=0;
7
+        virtual     bool     readBin(uint8_t *whereto,uint32_t len)=0;
8
+        virtual     bool     skip(uint32_t nbBytes)=0;
9
         virtual     uint64_t tell(void)=0;
10
 };
11
-
12
+/**
13
+ */
14
 class ADM_ebml_file : public ADM_ebml
15
 {
16
   protected:
17
@@ -52,21 +53,21 @@
18
                 uint64_t  _size;
19
                 uint32_t  _close;
20
   public: 
21
-                            ADM_ebml_file();
22
-                            ADM_ebml_file(ADM_ebml_file *father,uint64_t size);
23
-                            ~ADM_ebml_file();
24
-                    uint8_t open(const char *fn);
25
+                              ADM_ebml_file();
26
+                              ADM_ebml_file(ADM_ebml_file *father,uint64_t size);
27
+                              ~ADM_ebml_file();
28
+                    bool      open(const char *fn);
29
        
30
-        virtual     uint8_t   readBin(uint8_t *whereto,uint32_t len);
31
-        virtual     uint8_t   skip(uint32_t nbBytes);
32
+        virtual     bool      readBin(uint8_t *whereto,uint32_t len);
33
+        virtual     bool      skip(uint32_t nbBytes);
34
                     uint64_t  tell(void);
35
-                    uint8_t   seek(uint64_t pos);
36
-                    uint8_t   finished(void);
37
+                    bool      seek(uint64_t pos);
38
+                    bool      finished(void);
39
                     uint64_t  getFileSize(void) {return _size;};
40
-                    uint8_t   find(ADM_MKV_SEARCHTYPE search,
41
-                                        MKV_ELEM_ID  prim,MKV_ELEM_ID second,uint64_t *len,uint32_t rewind=1);
42
-                    uint8_t   simplefind(MKV_ELEM_ID  prim,uint64_t *len,uint32_t rewind=1);
43
-                    uint64_t remaining(void);
44
+                    bool      find(ADM_MKV_SEARCHTYPE search,
45
+                                        MKV_ELEM_ID  prim,MKV_ELEM_ID second,uint64_t *len,bool rewind=1);
46
+                    bool      simplefind(MKV_ELEM_ID  prim,uint64_t *len,bool rewind=true);
47
+                    uint64_t  remaining(void);
48
 };
49
 
50
 void bigHexPrint(uint64_t v);
51
avidemux_2.6.11.tar.gz/avidemux_plugins/ADM_demuxers/Matroska/ADM_mkv.cpp -> avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_demuxers/Matroska/ADM_mkv.cpp Changed
213
 
1
@@ -63,14 +63,23 @@
2
             _timeBase=timeBase/1000; // We work in us
3
         }
4
   }
5
-  /* Now find tracks */
6
-  if(!ebml.find(ADM_MKV_SECONDARY,MKV_SEGMENT,MKV_TRACKS,&alen))
7
+  /* --*/
8
+  if(!ebml.simplefind(MKV_SEGMENT,&len,true))
9
   {
10
-     printf("[MKV] Cannot find tracks\n");
11
-    return 0;
12
+      printf("[MKV] Cannot find Segment\n");      
13
+      return false;
14
+  }
15
+  _segmentPosition=ebml.tell();
16
+  printf("[MKV] found Segment at 0x%llx\n",(uint64_t)_segmentPosition);
17
+   /* Now find tracks */
18
+  if(ebml.find(ADM_MKV_SECONDARY,MKV_SEGMENT,MKV_SEEK_HEAD,&alen))
19
+  {
20
+       ADM_ebml_file seekHead( &ebml,alen);
21
+       readSeekHead(&seekHead);       
22
   }
23
+  /* Now find tracks */
24
   /* And analyze them */
25
-  if(!analyzeTracks(&ebml,alen))
26
+  if(!analyzeTracks(&ebml))
27
   {
28
       printf("[MKV] incorrect tracks\n");
29
   }
30
@@ -80,13 +89,13 @@
31
     printf("[MKV] No video\n");
32
     return 0;
33
   }
34
+  readCue(&ebml);
35
   printf("[MKV] Indexing clusters\n");
36
   if(!indexClusters(&ebml))
37
   {
38
     printf("[MKV] Cluster indexing failed\n");
39
     return 0;
40
-  }
41
-  readCue(&ebml);
42
+  }  
43
   printf("[MKV]Found %u clusters\n",_clusters.size());
44
   printf("[MKV] Indexing video\n");
45
     if(!videoIndexer(&ebml))
46
@@ -343,18 +352,62 @@
47
  return 1;
48
 
49
 }
50
+
51
+/**
52
+ * \fn goBeforeAtomAtPosition
53
+ * \brief check and position the read at the payload for atom searchedId, return payloadSize in outputLen
54
+ */
55
+bool mkvHeader::goBeforeAtomAtPosition(ADM_ebml_file *parser, uint64_t position,uint64_t &outputLen, MKV_ELEM_ID searchedId,const char *txt)
56
+{
57
+    uint64_t id,len;
58
+    ADM_MKV_TYPE type;
59
+    const char *ss;
60
+
61
+    if(!position)
62
+    {
63
+        ADM_warning("No offset available for %s\n",txt);
64
+        return false;
65
+    }
66
+    parser->seek(position);
67
+    if(!parser->readElemId(&id,&len))
68
+    {
69
+        ADM_warning("No element  available for %s\n",txt);
70
+        return false;
71
+    }
72
+    if(!ADM_searchMkvTag( (MKV_ELEM_ID)id,&ss,&type))
73
+    {
74
+      printf("[MKV/SeekHead] Tag 0x%"PRIx64" not found (len %"PRIu64")\n",id,len);
75
+      return false;
76
+    }
77
+    if(id!=searchedId)
78
+    {
79
+        printf("Found %s instead of %s, ignored \n",ss,txt);
80
+        return false;
81
+    }    
82
+    outputLen=len;
83
+    return true;
84
+}
85
+
86
 /**
87
     \fn analyzeTracks
88
     \brief Read Tracks Info.
89
 */
90
-uint8_t mkvHeader::analyzeTracks(void *head,uint32_t headlen)
91
+bool mkvHeader::analyzeTracks(ADM_ebml_file *parser)
92
 {
93
-  uint64_t id,len;
94
-  ADM_MKV_TYPE type;
95
+  uint64_t len;
96
+  uint64_t id;
97
   const char *ss;
98
- ADM_ebml_file father( (ADM_ebml_file *)head,headlen);
99
- while(!father.finished())
100
- {
101
+  ADM_MKV_TYPE type;
102
+  
103
+  if(!goBeforeAtomAtPosition(parser, _trackPosition,len, MKV_TRACKS,"MKV_TRACKS"))
104
+  {
105
+      ADM_warning("Cannot go to the TRACKS atom\n");
106
+      return false;
107
+  }
108
+  
109
+    ADM_ebml_file father( parser,len);
110
+    while(!father.finished())
111
+    {
112
       father.readElemId(&id,&len);
113
       if(!ADM_searchMkvTag( (MKV_ELEM_ID)id,&ss,&type))
114
       {
115
@@ -370,7 +423,7 @@
116
         continue;
117
       }
118
       if(!analyzeOneTrack(&father,len)) return 0;
119
- }
120
+    }
121
  return 1;
122
 }
123
 
124
@@ -543,6 +596,9 @@
125
   _audioStreams=NULL;
126
   
127
   readBuffer=NULL;
128
+  _cuePosition=0;
129
+  _segmentPosition=0;
130
+  _trackPosition=0;
131
 }
132
 /**
133
     \fn ~mkvHeader
134
@@ -765,8 +821,76 @@
135
     return true;
136
 
137
 }
138
-
139
-
140
+/**
141
+ * \fn readSeekHead
142
+ * \bried used to locate the interesting parts of the file
143
+ */
144
+bool    mkvHeader::readSeekHead(ADM_ebml_file *body)
145
+{
146
+    uint64_t vlen,len;
147
+    ADM_info("Parsing SeekHead\n");
148
+    while(!body->finished())
149
+    {
150
+        if(!body->simplefind(MKV_SEEK,&vlen,false))
151
+             break;         
152
+        ADM_ebml_file item(body,vlen);              
153
+        uint64_t id;
154
+        ADM_MKV_TYPE type;
155
+        const char *ss;
156
+
157
+        item.readElemId(&id,&len);
158
+        if(!ADM_searchMkvTag( (MKV_ELEM_ID)id,&ss,&type))
159
+        {
160
+          printf("[MKV/SeekHead] Tag 0x%"PRIx64" not found (len %"PRIu64")\n",id,len);
161
+          return false;
162
+        }
163
+        if(id!=MKV_ID)
164
+        {
165
+          printf("Found %s in CUES, ignored \n",ss);
166
+          item.skip(len);
167
+          return false;
168
+        }
169
+        // read id
170
+        uint64_t t=item.readEBMCode_Full();
171
+        if(!ADM_searchMkvTag( (MKV_ELEM_ID)t,&ss,&type))
172
+        {
173
+          printf("[MKV/SeekHead] Tag 0x%"PRIx64" not found (len %"PRIu64")\n",id,len);
174
+          return false;
175
+        }
176
+        ADM_info("Found entry for %s\n",ss);
177
+        item.readElemId(&id,&len);
178
+        if(!ADM_searchMkvTag( (MKV_ELEM_ID)id,&ss,&type))
179
+        {
180
+          printf("[MKV/SeekHead] Tag 0x%"PRIx64" not found (len %"PRIu64")\n",id,len);
181
+          return false;
182
+        }
183
+        if(id!=MKV_SEEK_POSITION)
184
+        {
185
+          printf("Found %s in CUES, ignored \n",ss);
186
+          item.skip(len);
187
+          return false;
188
+        }
189
+        uint64_t position=item.readUnsignedInt(len);
190
+        switch(t)
191
+        {
192
+            case MKV_CUES:
193
+                    _cuePosition=position+_segmentPosition;
194
+                    ADM_info("   at position  0x%llx\n",_cuePosition);
195
+                    break;
196
+            case MKV_TRACKS:
197
+                    _trackPosition=position+_segmentPosition;;
198
+                    ADM_info("   at position at 0x%llx\n",_trackPosition);
199
+            case MKV_INFO:
200
+            default:
201
+                    break;
202
+        }
203
+              
204
+    }
205
+    ADM_info("Parsing SeekHead done successfully\n");
206
+    if(!_trackPosition )
207
+        return false;
208
+    return true;
209
+}
210
 
211
 //****************************************
212
 //EOF
213
avidemux_2.6.11.tar.gz/avidemux_plugins/ADM_demuxers/Matroska/ADM_mkv.h -> avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_demuxers/Matroska/ADM_mkv.h Changed
39
 
1
@@ -157,13 +157,18 @@
2
     uint32_t                _nbAudioTrack;
3
     uint32_t                _currentAudioTrack;
4
     uint32_t                _reordered;
5
+    //
6
+    uint64_t                _segmentPosition;
7
+    uint64_t                _cuePosition;
8
+    uint64_t                _trackPosition;
9
 
10
     uint8_t                 checkHeader(void *head,uint32_t headlen);
11
-    uint8_t                 analyzeTracks(void *head,uint32_t headlen);
12
+    bool                    analyzeTracks(ADM_ebml_file *parser);
13
     uint8_t                 analyzeOneTrack(void *head,uint32_t headlen);
14
     uint8_t                 walk(void *seed);
15
     uint64_t                walkAndFind(void *seed,MKV_ELEM_ID searched);
16
     int                     searchTrackFromTid(uint32_t tid);
17
+    bool                    readSeekHead(ADM_ebml_file *body);
18
     //
19
     uint8_t                 reformatVorbisHeader(mkvTrak *trk);
20
     // Indexers
21
@@ -171,7 +176,7 @@
22
     uint8_t                 addIndexEntry(uint32_t track,ADM_ebml_file *parser,uint64_t where, uint32_t size,uint32_t flags,
23
                                             uint32_t timecodeMS);
24
     uint8_t                 videoIndexer(ADM_ebml_file *parser);
25
-    uint8_t                 readCue(ADM_ebml_file *parser);
26
+    bool                    readCue(ADM_ebml_file *parser);
27
     uint8_t                 indexClusters(ADM_ebml_file *parser);
28
     uint8_t                 indexBlock(ADM_ebml_file *parser,uint32_t count,uint32_t timecodeMS);
29
 
30
@@ -182,6 +187,8 @@
31
     bool                    ComputeDeltaAndCheckBFrames(uint32_t *minDeltaX, uint32_t *maxDeltaX, bool *bFramePresent);
32
     bool                    updateFlagsWithCue(void); // in case we can trust it, update KEY_FRAME_FLAGS
33
     bool                    dumpVideoIndex(int maxIndex);
34
+    bool                    goBeforeAtomAtPosition(ADM_ebml_file *parser, uint64_t position,uint64_t &outputLen, 
35
+                                                MKV_ELEM_ID searchedId,const char *txt);
36
   public:
37
 
38
 
39
avidemux_2.6.11.tar.gz/avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp -> avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp Changed
202
 
1
@@ -178,6 +178,16 @@
2
         }
3
         return -1;
4
 }
5
+
6
+static bool canRederiveFrameType(uint32_t fcc)
7
+{
8
+    if(isMpeg4Compatible(fcc)) return true;
9
+    if(isH264Compatible(fcc)) return true;
10
+    if(isMpeg12Compatible(fcc)) return true;
11
+    return false;
12
+    
13
+}
14
+
15
 /**
16
     \fn addVideoEntry
17
     \brief add an entry to the video index
18
@@ -211,7 +221,7 @@
19
   // For the 2 most common cases : mp4 & h264.
20
   // Hackish, we already read the 3 bytes header
21
   // But they are already taken into account in the size part 
22
-  if(!track) // Track 0 is video
23
+  if(!track && canRederiveFrameType(_videostream.fccHandler)) // Track 0 is video
24
   {
25
     if( isMpeg4Compatible(_videostream.fccHandler))
26
     {
27
@@ -322,93 +332,98 @@
28
   \brief Update index with cue content
29
 
30
 */
31
-uint8_t                 mkvHeader::readCue(ADM_ebml_file *parser)
32
+bool     mkvHeader::readCue(ADM_ebml_file *parser)
33
 {
34
-  uint64_t fileSize,len,bsize;
35
-  uint64_t alen,vlen;
36
+  uint64_t len,vlen;
37
   uint64_t id;
38
   ADM_MKV_TYPE type;
39
   const char *ss;
40
   uint64_t time;
41
-  uint64_t segmentPos;
42
+  
43
+  
44
 
45
-   parser->seek(0);
46
+  if(!goBeforeAtomAtPosition(parser, _cuePosition,vlen, MKV_CUES,"MKV_CUES"))
47
+  {
48
+      ADM_warning("Cannot go to the CUES atom\n");
49
+      return false;
50
+  }
51
 
52
-   if(!parser->simplefind(MKV_SEGMENT,&vlen,1))
53
-   {
54
-     printf("[MKV] Cannot find CLUSTER atom\n");
55
-     return 0;
56
-   }
57
-   ADM_ebml_file segment(parser,vlen);
58
-   segmentPos=segment.tell();
59
+    ADM_ebml_file cues(parser,vlen);
60
+    while(!cues.finished())
61
+    {
62
+           cues.readElemId(&id,&len);
63
+           if(!ADM_searchMkvTag( (MKV_ELEM_ID)id,&ss,&type))
64
+           {
65
+             printf("[MKV] Tag 0x%"PRIx64" not found (len %"PRIu64")\n",id,len);
66
+             cues.skip(len);
67
+             continue;
68
+           }
69
+           if(id!=MKV_CUE_POINT)
70
+           {
71
+             printf("Found %s in CUES, ignored \n",ss);
72
+             cues.skip(len);
73
+             continue;
74
+           }
75
+           ADM_ebml_file cue(&cues,len);
76
+           // Cue TIME normally
77
+            cue.readElemId(&id,&len);
78
+            if(id!=MKV_CUE_TIME)
79
+            {
80
+               ADM_searchMkvTag( (MKV_ELEM_ID)id,&ss,&type);
81
+               printf("Found %s(0x%"PRIx64"), expected CUE_TIME  (0x%x)\n", ss,id,MKV_CUE_TIME);
82
+               cue.skip(cue.remaining());
83
+               continue;
84
+            }
85
+            time=cue.readUnsignedInt(len);
86
 
87
-   while(segment.simplefind(MKV_CUES,&alen,0))
88
-  {
89
-   ADM_ebml_file cues(&segment,alen);
90
-   while(!cues.finished())
91
-   {
92
-      cues.readElemId(&id,&len);
93
-      if(!ADM_searchMkvTag( (MKV_ELEM_ID)id,&ss,&type))
94
-      {
95
-        printf("[MKV] Tag 0x%"PRIx64" not found (len %"PRIu64")\n",id,len);
96
-        cues.skip(len);
97
-        continue;
98
-      }
99
-      if(id!=MKV_CUE_POINT)
100
-      {
101
-        printf("Found %s in CUES, ignored \n",ss);
102
-        cues.skip(len);
103
-        continue;
104
-      }
105
-      ADM_ebml_file cue(&cues,len);
106
-      // Cue TIME normally
107
-       cue.readElemId(&id,&len);
108
-       if(id!=MKV_CUE_TIME)
109
-       {
110
-          ADM_searchMkvTag( (MKV_ELEM_ID)id,&ss,&type);
111
-          printf("Found %s(0x%"PRIx64"), expected CUE_TIME  (0x%x)\n", ss,id,MKV_CUE_TIME);
112
-          cue.skip(cue.remaining());
113
-          continue;
114
-       }
115
-       time=cue.readUnsignedInt(len);
116
 
117
+            cue.readElemId(&id,&len);
118
+            if(id!=MKV_CUE_TRACK_POSITION)
119
+            {
120
+               ADM_searchMkvTag( (MKV_ELEM_ID)id,&ss,&type);
121
+               printf("Found %s (0x%"PRIx64"), expected MKV_CUE_TRACK_POSITION (0x%x)\n", ss,id,MKV_CUE_TRACK_POSITION);
122
+               cue.skip(cues.remaining());
123
+               continue;
124
+            }
125
+            ADM_ebml_file trackPos(&cue,len);
126
+            uint64_t tid=0;
127
+            uint64_t cluster_position=0;
128
+            uint64_t cue_position=0;
129
+            while(!trackPos.finished())
130
+            {
131
+              trackPos.readElemId(&id,&len);
132
+              switch(id)
133
+              {
134
+                case MKV_CUE_TRACK: tid=trackPos.readUnsignedInt(len);break;
135
+                case MKV_CUE_CLUSTER_POSITION: cluster_position=trackPos.readUnsignedInt(len);break;
136
+                case MKV_CUE_RELATIVE_POSITION: cue_position=trackPos.readUnsignedInt(len);break;
137
+                default:
138
+                      ADM_searchMkvTag( (MKV_ELEM_ID)id,&ss,&type);
139
+                      printf("[MKV] in cluster position found tag %s (0x%"PRIx64")\n",ss,id);
140
+                      trackPos.skip(len);
141
+                      continue;
142
+              }
143
+            }
144
+            aprintf("Track %"PRIx64" segmentPos=%"PRIx64" Cluster Position 0x%"PRIx64" Cue position 0x%"PRIx64" Absolute=%"PRIx64" time %"PRIu64"\n",
145
+                  tid,_segmentPosition,cluster_position,cue_position,cue_position+cluster_position+_segmentPosition,time);  
146
 
147
-       cue.readElemId(&id,&len);
148
-       if(id!=MKV_CUE_TRACK_POSITION)
149
-       {
150
-          ADM_searchMkvTag( (MKV_ELEM_ID)id,&ss,&type);
151
-          printf("Found %s (0x%"PRIx64"), expected MKV_CUE_TRACK_POSITION (0x%x)\n", ss,id,MKV_CUE_TRACK_POSITION);
152
-          cue.skip(cues.remaining());
153
-          continue;
154
-       }
155
-       ADM_ebml_file trackPos(&cue,len);
156
-       uint64_t tid=0;
157
-       uint64_t cluster_position=0;
158
-       uint64_t cue_position=0;
159
-       while(!trackPos.finished())
160
-       {
161
-         trackPos.readElemId(&id,&len);
162
-         switch(id)
163
-         {
164
-           case MKV_CUE_TRACK: tid=trackPos.readUnsignedInt(len);break;
165
-           case MKV_CUE_CLUSTER_POSITION: cluster_position=trackPos.readUnsignedInt(len);break;
166
-           case MKV_CUE_RELATIVE_POSITION: cue_position=trackPos.readUnsignedInt(len);break;
167
-           default:
168
-                 ADM_searchMkvTag( (MKV_ELEM_ID)id,&ss,&type);
169
-                 printf("[MKV] in cluster position found tag %s (0x%"PRIx64")\n",ss,id);
170
-                 trackPos.skip(len);
171
-                 continue;
172
-         }
173
-       }
174
-       aprintf("Track %"PRIx64" segmentPos=%"PRIx64" Cluster Position 0x%"PRIx64" Cue position 0x%"PRIx64" Absolute=%"PRIx64" time %"PRIu64"\n",
175
-             tid,segmentPos,cluster_position,cue_position,cue_position+cluster_position+segmentPos,time);  
176
-              
177
-       if(!searchTrackFromTid(tid)) //only keep video i.e. track zero
178
-            _cueTime.append(time);
179
-     }
180
+            if(!searchTrackFromTid(tid)) //only keep video i.e. track zero
181
+            {
182
+                //printf("Adding cue entry\n");
183
+                 _cueTime.append(time);
184
+            }
185
    }
186
-   printf("[MKV] Cues updated\n");
187
-   return 1;
188
+   if(_cueTime.size())
189
+   {
190
+        ADM_info("[MKV] Cues updated\n");
191
+        return true;
192
+   }
193
+   else
194
+   {
195
+       ADM_info("[MKV] No Cue found\n");
196
+       return false;
197
+   }
198
+   
199
 }
200
 /**
201
         \fn indexClusters
202
avidemux_2.6.11.tar.gz/avidemux_plugins/ADM_demuxers/Matroska/ebml.cpp -> avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_demuxers/Matroska/ebml.cpp Changed
93
 
1
@@ -264,7 +264,12 @@
2
   }
3
   fp=NULL;
4
 }
5
-uint8_t ADM_ebml_file::open(const char *name)
6
+/**
7
+ * 
8
+ * @param name
9
+ * @return 
10
+ */
11
+bool  ADM_ebml_file::open(const char *name)
12
 {
13
 
14
   fp=ADM_fopen(name,"rb");
15
@@ -281,14 +286,24 @@
16
   fseeko(fp,0,SEEK_SET);
17
   return 1;
18
 }
19
-uint8_t  ADM_ebml_file::readBin(uint8_t *whereto,uint32_t len)
20
+/**
21
+ * 
22
+ * @param whereto
23
+ * @param len
24
+ * @return 
25
+ */
26
+bool  ADM_ebml_file::readBin(uint8_t *whereto,uint32_t len)
27
 {
28
   ADM_assert(fp);
29
   if(!fread(whereto,len,1,fp)) return 0;
30
   return 1;
31
 }
32
-
33
-uint8_t ADM_ebml_file::skip(uint32_t vv)
34
+/**
35
+ * 
36
+ * @param vv
37
+ * @return 
38
+ */
39
+bool ADM_ebml_file::skip(uint32_t vv)
40
 {
41
   fseeko(fp,vv,SEEK_CUR);
42
   return 1;
43
@@ -297,12 +312,21 @@
44
 {
45
   return ftello(fp);
46
 }
47
-uint8_t ADM_ebml_file::seek(uint64_t pos)
48
+/**
49
+ * 
50
+ * @param pos
51
+ * @return 
52
+ */
53
+bool ADM_ebml_file::seek(uint64_t pos)
54
 {
55
   fseeko(fp,pos,SEEK_SET);
56
   return 1;
57
 }
58
-uint8_t ADM_ebml_file::finished(void)
59
+/**
60
+ * 
61
+ * @return 
62
+ */
63
+bool ADM_ebml_file::finished(void)
64
 {
65
   if(tell()>(_fileSize-2)) return 1;
66
   if(tell()>(_begin+_size-2)) return 1;
67
@@ -312,7 +336,7 @@
68
   \fn find
69
   \brief Search for the tag given and returns the corresponding atom
70
 */
71
- uint8_t ADM_ebml_file::find(ADM_MKV_SEARCHTYPE search,MKV_ELEM_ID  prim,MKV_ELEM_ID second,uint64_t *len,uint32_t rewind)
72
+ bool ADM_ebml_file::find(ADM_MKV_SEARCHTYPE search,MKV_ELEM_ID  prim,MKV_ELEM_ID second,uint64_t *len,bool rewind)
73
 {
74
   uint64_t id,pos;
75
   ADM_MKV_TYPE type;
76
@@ -349,7 +373,7 @@
77
   \fn find
78
   \brief Search for the tag given and returns the corresponding atom
79
 */
80
-uint8_t ADM_ebml_file::simplefind(MKV_ELEM_ID  prim,uint64_t *len,uint32_t rewind)
81
+bool ADM_ebml_file::simplefind(MKV_ELEM_ID  prim,uint64_t *len,bool rewind)
82
 {
83
   uint64_t id,alen;
84
   ADM_MKV_TYPE type;
85
@@ -361,6 +385,7 @@
86
 
87
       while(!finished())
88
       {
89
+          //printf("Offset is %d\n",(int)(this->tell()>>10));
90
           readElemId(&id,&alen);
91
           if(!ADM_searchMkvTag( (MKV_ELEM_ID)id,&ss,&type))
92
           {
93
avidemux_2.6.11.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp -> avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp Changed
9
 
1
@@ -816,6 +816,7 @@
2
                                           break;
3
 //
4
                                  case MKFCCR('h','e','v','1'): // hev1 / hevc
5
+                                 case MKFCCR('h','v','c','1'): // hev1 / hevc
6
                                           {
7
                                                 commonPart(H265);
8
                                                 while(!son.isDone())
9
avidemux_2.6.11.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsAudio.cpp -> avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsAudio.cpp Changed
10
 
1
@@ -210,8 +210,6 @@
2
                 again:
3
                 if(latm.empty()==true) // fetch next LOAS frame, it will contain several frames
4
                 {
5
-                    
6
-               
7
                     if(!retries)
8
                     {
9
                         ADM_error("Cannot get AAC packet from LATM\n");
10
avidemux_2.6.11.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsReadIndex.cpp -> avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsReadIndex.cpp Changed
13
 
1
@@ -85,7 +85,10 @@
2
             }
3
             head=tail+1;
4
             ADM_tsAccess *track=listOfAudioTracks[trackNb]->access;
5
-            track->push(startAt,dts,size);
6
+            if(dts!=ADM_NO_PTS)
7
+                track->push(startAt,dts,size);
8
+            else
9
+                ADM_warning("No audio DTS\n");
10
 
11
             trackNb++;
12
             //printf("[%s] => %"PRIx32" Dts:%"PRId64" Size:%"PRId64"\n",buffer,pes,dts,size);
13
avidemux_2.6.11.tar.gz/avidemux_plugins/ADM_muxers/CMakeLists.txt -> avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_muxers/CMakeLists.txt Changed
9
 
1
@@ -6,6 +6,7 @@
2
 ADD_SUBDIRECTORY(muxerFlv)
3
 ADD_SUBDIRECTORY(muxerMp4)
4
 ADD_SUBDIRECTORY(muxerMkv)
5
+ADD_SUBDIRECTORY(muxerWebm)
6
 ADD_SUBDIRECTORY(muxerffPS)
7
 ADD_SUBDIRECTORY(muxerffTS)
8
 #ADD_SUBDIRECTORY(muxerMplex)
9
avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_muxers/muxerWebm Added
2
 
1
+(directory)
2
avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_muxers/muxerWebm/CMakeLists.txt Added
15
 
1
@@ -0,0 +1,13 @@
2
+include(mx_plugin)
3
+SET(ADM_Webm_SRCS 
4
+   muxerWebm.cpp
5
+   muxerWebmPlugin.cpp
6
+        muxerWebmConfig.cpp
7
+)
8
+
9
+ADD_MUXER(ADM_mx_Webm ${ADM_Webm_SRCS})
10
+
11
+TARGET_LINK_LIBRARIES(ADM_mx_Webm  ADM_libavutil ADM_libavcodec ADM_libavformat)
12
+INIT_MUXER(ADM_mx_Webm)
13
+INSTALL_MUXER(ADM_mx_Webm)
14
+
15
avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_muxers/muxerWebm/muxerWebm.cpp Added
183
 
1
@@ -0,0 +1,181 @@
2
+/***************************************************************************
3
+            \file            muxerWebm
4
+            \brief           i/f to lavformat Matroska muxer
5
+                             -------------------
6
+    
7
+    copyright            : (C) 2009 by mean
8
+    email                : fixounet@free.fr
9
+        
10
+ ***************************************************************************/
11
+
12
+/***************************************************************************
13
+ *                                                                         *
14
+ *   This program is free software; you can redistribute it and/or modify  *
15
+ *   it under the terms of the GNU General Public License as published by  *
16
+ *   the Free Software Foundation; either version 2 of the License, or     *
17
+ *   (at your option) any later version.                                   *
18
+ *                                                                         *
19
+ ***************************************************************************/
20
+
21
+#include "ADM_default.h"
22
+#include "fourcc.h"
23
+#include "muxerWebm.h"
24
+#include "DIA_coreToolkit.h"
25
+#include "ADM_muxerUtils.h"
26
+
27
+#if 0
28
+#define aprintf(...) {}
29
+#else
30
+#define aprintf printf
31
+#endif
32
+
33
+Webm_muxer WebmMuxerConfig=
34
+{
35
+    false,  // Force
36
+    1280    // Display width
37
+};
38
+
39
+
40
+/**
41
+    \fn     muxerWebm
42
+    \brief  Constructor
43
+*/
44
+muxerWebm::muxerWebm() 
45
+{
46
+};
47
+/**
48
+    \fn     muxerWebm
49
+    \brief  Destructor
50
+*/
51
+
52
+muxerWebm::~muxerWebm() 
53
+{
54
+   
55
+}
56
+/**
57
+    \fn open
58
+    \brief Check that the streams are ok, initialize context...
59
+*/
60
+
61
+bool muxerWebm::open(const char *file, ADM_videoStream *s,uint32_t nbAudioTrack,ADM_audioStream **a)
62
+{
63
+    // We only support VP8 + Vorbis
64
+    uint32_t fcc=s->getFCC();
65
+    if(!fourCC::check(fcc,(const uint8_t *)"VP8 ") && !fourCC::check(fcc,(const uint8_t *)"VP9 "))
66
+    {
67
+        GUI_Error_HIG("Webm","Unsupported Video.\nOnly VP8/VP9 Video and Vorbis/Opus audio supported");
68
+        return false;
69
+    }
70
+    for( int i=0;i<nbAudioTrack;i++)
71
+    {
72
+        uint16_t encoding=a[i]->getInfo()->encoding;
73
+        switch(encoding)
74
+        {
75
+            case WAV_OGG_VORBIS:
76
+            case WAV_OPUS:
77
+                break;
78
+            default:
79
+                GUI_Error_HIG("Webm","Unsupported Audio.\nOnly VP8/VP9 Video and Vorbis/Opus audio supported");
80
+                return false;
81
+        }
82
+    }
83
+    /* All seems fine, open stuff */
84
+    if(false==setupMuxer("webm",file))
85
+    {
86
+        ADM_warning("[Webm] Failed to open muxer (setup)\n");
87
+        return false;
88
+    }
89
+ 
90
+   if(initVideo(s)==false) 
91
+    {
92
+        ADM_warning("[Webm] Failed to init video\n");
93
+        return false;
94
+    }
95
+  
96
+    
97
+        AVCodecContext *c;
98
+        c = video_st->codec;
99
+        rescaleFps(s->getAvgFps1000(),&(c->time_base));
100
+        video_st->time_base=c->time_base;
101
+        c->gop_size=15;
102
+        
103
+        if(true==WebmMuxerConfig.forceDisplayWidth && WebmMuxerConfig.displayWidth)
104
+        {
105
+            //sar=display/code  
106
+            int num=1,den=1;
107
+            av_reduce(&num, &den, WebmMuxerConfig.displayWidth, s->getWidth(),65535);
108
+            c->sample_aspect_ratio.num=num;
109
+            c->sample_aspect_ratio.den=den;
110
+            video_st->sample_aspect_ratio.num=num;
111
+            video_st->sample_aspect_ratio.den=den;
112
+            ADM_info("Forcing display width of %d\n",(int)WebmMuxerConfig.displayWidth);
113
+        }
114
+
115
+        if(initAudio(nbAudioTrack,a)==false)
116
+        {
117
+            ADM_warning("[Webm] Failed to init audio\n");
118
+            return false;
119
+        }
120
+        
121
+        // /audio
122
+        int er = avio_open(&(oc->pb), file, AVIO_FLAG_WRITE);
123
+
124
+        if (er)
125
+        {
126
+            ADM_error("[Webm]: Failed to open file :%s, er=%d\n",file,er);
127
+            return false;
128
+        }
129
+
130
+        AVDictionary *dict = NULL;
131
+       char buf[64];
132
+        
133
+        snprintf(buf, sizeof(buf), "%d", AV_TIME_BASE / 10);
134
+        av_dict_set(&dict, "preload", buf, 0);
135
+        av_dict_set(&dict, "max_delay", "200000", 0);
136
+       av_dict_set(&dict, "muxrate", "10080000", 0);
137
+
138
+        ADM_assert(avformat_write_header(oc, &dict) >= 0);
139
+        ADM_info("Timebase codec = %d/%d\n",video_st->time_base.num,video_st->time_base.den);
140
+//        ADM_info("Original timebase = %d/%d\n",myTimeBase.num,myTimeBase.den);
141
+        
142
+        
143
+        vStream=s;
144
+        aStreams=a;
145
+        nbAStreams=nbAudioTrack;
146
+        initialized=true;
147
+        return true;
148
+}
149
+
150
+/**
151
+    \fn save
152
+*/
153
+bool muxerWebm::save(void) 
154
+{
155
+    const char *title=QT_TRANSLATE_NOOP("Webmmuxer","Saving Webm");
156
+    return saveLoop(title);
157
+}
158
+
159
+bool muxerWebm::muxerRescaleVideoTimeDts(uint64_t *time,uint64_t computedDts)
160
+{
161
+    if(*time==ADM_NO_PTS)
162
+    {
163
+        *time=computedDts;
164
+        return muxerRescaleVideoTime(time);
165
+    }
166
+    return muxerRescaleVideoTime(time);
167
+}  
168
+/**
169
+    \fn close
170
+    \brief Cleanup is done in the dtor
171
+*/
172
+bool muxerWebm::close(void) 
173
+{
174
+   
175
+    ADM_info("[Webm] Closing\n");
176
+    return closeMuxer();
177
+}
178
+
179
+//EOF
180
+
181
+
182
+
183
avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_muxers/muxerWebm/muxerWebm.h Added
41
 
1
@@ -0,0 +1,39 @@
2
+/***************************************************************************
3
+                          oplug_vcdff.h  -  description
4
+                             -------------------
5
+    begin                : Sun Nov 10 2002
6
+    copyright            : (C) 2002 by mean
7
+    email                : fixounet@free.fr
8
+ ***************************************************************************/
9
+
10
+/***************************************************************************
11
+ *                                                                         *
12
+ *   This program is free software; you can redistribute it and/or modify  *
13
+ *   it under the terms of the GNU General Public License as published by  *
14
+ *   the Free Software Foundation; either version 2 of the License, or     *
15
+ *   (at your option) any later version.                                   *
16
+ *                                                                         *
17
+ ***************************************************************************/
18
+#ifndef ADM_MUXER_Webm
19
+#define ADM_MUXER_Webm
20
+
21
+#include "ADM_muxer.h"
22
+#include "ADM_coreMuxerFfmpeg.h"
23
+#include "webm_muxer.h"
24
+extern Webm_muxer WebmMuxerConfig;
25
+
26
+class muxerWebm : public muxerFFmpeg
27
+{
28
+protected:
29
+        bool muxerRescaleVideoTimeDts(uint64_t *time,uint64_t computedDts);
30
+        const char *getContainerName(void) {return "Webm";};
31
+public:
32
+                muxerWebm();
33
+        virtual ~muxerWebm();
34
+        virtual bool open(const char *file, ADM_videoStream *s,uint32_t nbAudioTrack,ADM_audioStream **a);
35
+        virtual bool save(void) ;
36
+        virtual bool close(void) ;
37
+        virtual bool useGlobalHeader(void) {return true;}
38
+};
39
+
40
+#endif
41
avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_muxers/muxerWebm/muxerWebmConfig.cpp Added
43
 
1
@@ -0,0 +1,41 @@
2
+/***************************************************************************
3
+    copyright            : (C) 2007 by mean
4
+    email                : fixounet@free.fr
5
+    
6
+ ***************************************************************************/
7
+
8
+/***************************************************************************
9
+ *                                                                         *
10
+ *   This program is free software; you can redistribute it and/or modify  *
11
+ *   it under the terms of the GNU General Public License as published by  *
12
+ *   the Free Software Foundation; either version 2 of the License, or     *
13
+ *   (at your option) any later version.                                   *
14
+ *                                                                         *
15
+ ***************************************************************************/
16
+
17
+#include "ADM_default.h"
18
+#include "ADM_muxerInternal.h"
19
+#include "muxerWebm.h"
20
+#define ADM_MINIMAL_UI_INTERFACE
21
+#include "DIA_factory.h"
22
+#include "fourcc.h" 
23
+bool WebmConfigure(void)
24
+{
25
+        bool force=WebmMuxerConfig.forceDisplayWidth;
26
+        uint32_t displayWidth=(uint32_t)WebmMuxerConfig.displayWidth;
27
+
28
+        diaElemToggle   alternate(&force,"Force display width");
29
+        diaElemUInteger dWidth(&displayWidth,"Display width",16,65535);
30
+
31
+        diaElem *tabs[]={&alternate,&dWidth};
32
+        if( diaFactoryRun(("Webm Muxer"),2,tabs))
33
+        {
34
+            WebmMuxerConfig.forceDisplayWidth=(bool)force;
35
+            WebmMuxerConfig.displayWidth=displayWidth;
36
+            return true;
37
+        }
38
+        return false;
39
+
40
+}
41
+
42
+
43
avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_muxers/muxerWebm/muxerWebmPlugin.cpp Added
36
 
1
@@ -0,0 +1,34 @@
2
+/***************************************************************************
3
+    copyright            : (C) 2007 by mean
4
+    email                : fixounet@free.fr
5
+
6
+      See lavformat/flv[dec/env].c for detail
7
+ ***************************************************************************/
8
+
9
+/***************************************************************************
10
+ *                                                                         *
11
+ *   This program is free software; you can redistribute it and/or modify  *
12
+ *   it under the terms of the GNU General Public License as published by  *
13
+ *   the Free Software Foundation; either version 2 of the License, or     *
14
+ *   (at your option) any later version.                                   *
15
+ *                                                                         *
16
+ ***************************************************************************/
17
+
18
+#include "ADM_default.h"
19
+#include "ADM_muxerInternal.h"
20
+#include "muxerWebm.h"
21
+#include "webm_muxer_desc.cpp"
22
+#include "fourcc.h"
23
+ bool WebmConfigure(void);
24
+
25
+ADM_MUXER_BEGIN( "Webm",muxerWebm,
26
+                    1,0,0,
27
+                    "Webm",    // Internal name
28
+                    "Webm muxer plugin (c) Mean 2009",
29
+                    "Webm Muxer", // DIsplay name
30
+                    WebmConfigure,
31
+                    Webm_muxer_param, //template
32
+                    &WebmMuxerConfig, //config
33
+                    sizeof(Webm_muxer)
34
+                );
35
+
36
avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_muxers/muxerWebm/webm_muxer.conf Added
6
 
1
@@ -0,0 +1,4 @@
2
+Webm_muxer{
3
+bool:forceDisplayWidth
4
+uint32_t:displayWidth
5
+}
6
avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_muxers/muxerWebm/webm_muxer.h Added
11
 
1
@@ -0,0 +1,9 @@
2
+// automatically generated by admSerialization.py, do not edit!
3
+// automatically generated by admSerialization.py do not edit
4
+#ifndef ADM_Webm_muxer_CONF_H
5
+#define ADM_Webm_muxer_CONF_H
6
+typedef struct {
7
+bool forceDisplayWidth;
8
+uint32_t displayWidth;
9
+}Webm_muxer;
10
+#endif
11
avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_muxers/muxerWebm/webm_muxer_desc.cpp Added
7
 
1
@@ -0,0 +1,5 @@
2
+const ADM_paramList Webm_muxer_param[]={
3
+ {"forceDisplayWidth",offsetof(Webm_muxer,forceDisplayWidth),"bool",ADM_param_bool},
4
+ {"displayWidth",offsetof(Webm_muxer,displayWidth),"uint32_t",ADM_param_uint32_t},
5
+{NULL,0,NULL}
6
+};
7
avidemux_2.6.11.tar.gz/avidemux_plugins/ADM_videoFilters6/fields/ADM_vidSeparateField.cpp -> avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_videoFilters6/fields/ADM_vidSeparateField.cpp Changed
55
 
1
@@ -22,6 +22,7 @@
2
 
3
 #include "ADM_default.h"
4
 #include "ADM_coreVideoFilter.h"
5
+#include "ADM_vidMisc.h"
6
 
7
 /**
8
     \class AVDMVideoSeparateField
9
@@ -83,10 +84,8 @@
10
 AVDMVideoSeparateField::AVDMVideoSeparateField(  ADM_coreVideoFilter *in,CONFcouple *setup) 
11
         : ADM_coreVideoFilterCached(4,in,setup)
12
 {
13
-
14
-   info.height>>=1;
15
-    info.frameIncrement/=2;
16
-    
17
+    info.height>>=1;
18
+    info.frameIncrement/=2;    
19
 }
20
 /**
21
     \fn AVDMVideoSeparateField
22
@@ -114,14 +113,14 @@
23
 ADMImage *cur,*next;
24
 uint32_t frame=nextFrame++; 
25
         *fn=frame;
26
-       cur=vidCache->getImage(frame/2);
27
-       if(!cur)
28
-       {
29
-           ADM_warning("Seoarate field : cannot read\n");
30
-           vidCache->unlockAll();
31
-           return 0;
32
-       }
33
-        
34
+        cur=vidCache->getImage(frame/2);
35
+        if(!cur)
36
+        {
37
+                ADM_warning("Seoarate field : cannot read\n");
38
+                vidCache->unlockAll();
39
+                return 0;
40
+        }
41
+
42
         for(int i=0;i<3;i++)
43
         {
44
             ADM_PLANE plane=(ADM_PLANE)i;
45
@@ -141,7 +140,8 @@
46
         image->copyInfo(cur);
47
         if(frame&1)
48
             image->Pts+=info.frameIncrement;
49
-       vidCache->unlockAll();
50
+        vidCache->unlockAll();
51
+        //ADM_info("Output PTS=%s\n",ADM_us2plain(image->Pts));
52
         return 1;
53
 }
54
 // EOF
55
avidemux_2.6.11.tar.gz/avidemux_plugins/ADM_videoFilters6/vdpauFilters/ADM_vidVdpauFilter.cpp -> avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_videoFilters6/vdpauFilters/ADM_vidVdpauFilter.cpp Changed
54
 
1
@@ -108,6 +108,7 @@
2
     // check if we have something to do
3
     if(info.width==previousFilter->getInfo()->width &&  info.height==previousFilter->getInfo()->height)
4
         return false;
5
+    
6
     if(VDP_STATUS_OK!=admVdpau::outputSurfaceCreate(VDP_RGBA_FORMAT_B8G8R8A8,
7
                         info.width,info.height,&outputSurface)) 
8
     {
9
@@ -123,12 +124,15 @@
10
             goto badInit;
11
         }
12
     }
13
+    {
14
+    int paddedHeight=(previousFilter->getInfo()->height+15)&~15;
15
     if(VDP_STATUS_OK!=admVdpau::mixerCreate(previousFilter->getInfo()->width,
16
-                                            previousFilter->getInfo()->height,&mixer)) 
17
+                                            paddedHeight,&mixer)) 
18
     {
19
         ADM_error("Cannot create mixer\n");
20
         goto badInit;
21
-    } 
22
+    }
23
+    }
24
     setIdentityCSC();
25
     tempBuffer=new uint8_t[info.width*info.height*4];
26
     scaler=new ADMColorScalerSimple( info.width,info.height, ADM_COLOR_RGB32A,ADM_COLOR_YV12);
27
@@ -305,19 +309,20 @@
28
     {
29
         //printf("Uploading image to vdpau\n");
30
         if(false==uploadImage(next,0,nextFrame)) 
31
-                {
32
-                    vidCache->unlockAll();
33
-                    return false;
34
-                }
35
+        {
36
+            vidCache->unlockAll();
37
+            return false;
38
+        }
39
         tmpSurface=input[0];
40
     }
41
     
42
     // Call mixer...
43
-    if(VDP_STATUS_OK!=admVdpau::mixerRender( 
44
+    if(VDP_STATUS_OK!=admVdpau::mixerRenderWithCropping( 
45
                 mixer,
46
                 tmpSurface,
47
                 outputSurface, 
48
-                info.width,info.height))
49
+                info.width,info.height, // target
50
+                previousFilter->getInfo()->width,previousFilter->getInfo()->height))
51
 
52
     {
53
         ADM_warning("[Vdpau] Cannot mixerRender\n");
54
avidemux_2.6.11.tar.gz/avidemux_plugins/ADM_videoFilters6/vdpauFilters/ADM_vidVdpauFilterDeint.cpp -> avidemux_2.6.12.tar.gz/avidemux_plugins/ADM_videoFilters6/vdpauFilters/ADM_vidVdpauFilterDeint.cpp Changed
29
 
1
@@ -196,6 +196,7 @@
2
     scaler=NULL;
3
     secondField=false;
4
     nextFrame=0;
5
+    int paddedHeight=(previousFilter->getInfo()->height+15)&~15;
6
     if(!admVdpau::isOperationnal())
7
     {
8
         ADM_warning("Vdpau not operationnal\n");
9
@@ -223,9 +224,9 @@
10
     for(int i=0;i<3;i++)
11
         slots[i].image=new ADMImageDefault( previousFilter->getInfo()->width, 
12
                                             previousFilter->getInfo()->height);
13
-                                            
14
+    
15
     if(VDP_STATUS_OK!=admVdpau::mixerCreate(previousFilter->getInfo()->width,
16
-                                            previousFilter->getInfo()->height,&mixer,true)) 
17
+                                            paddedHeight,&mixer,true)) 
18
     {
19
         ADM_error("Cannot create mixer\n");
20
         goto badInit;
21
@@ -527,6 +528,7 @@
22
                 mixer,
23
                 in,
24
                 outputSurface, 
25
+                getInfo()->width,getInfo()->height,
26
                 previousFilter->getInfo()->width,previousFilter->getInfo()->height))
27
 
28
     {
29
avidemux_2.6.11.tar.gz/bootStrap.bash -> avidemux_2.6.12.tar.gz/bootStrap.bash Changed
58
 
1
@@ -8,8 +8,10 @@
2
 do_gtk=0
3
 do_qt4=1
4
 do_plugins=1
5
+do_asan=0
6
 debug=0
7
 qt_ext=Qt4
8
+export QT_SELECT=4 # default for ubuntu, harmless for others
9
 export O_PARAL="-j 2"
10
 fail()
11
 {
12
@@ -23,18 +25,23 @@
13
         export SOURCEDIR=$2
14
         export EXTRA=$3
15
         export DEBUG=""
16
+        export ASAN=""
17
         BUILDER="Unix Makefiles"
18
         if [ "x$debug" = "x1" ] ; then 
19
                 DEBUG="-DVERBOSE=1 -DCMAKE_BUILD_TYPE=Debug  "
20
                 BUILDDIR="${BUILDDIR}_debug"
21
                 BUILDER="CodeBlocks - Unix Makefiles"
22
         fi
23
+        if [ "x$do_asan" = "x1" ] ; then 
24
+                BUILDDIR="${BUILDDIR}_asan"
25
+                ASAN="-DASAN=True"
26
+        fi
27
    FAKEROOT=" -DFAKEROOT=$FAKEROOT_DIR "
28
         echo "Building $BUILDDIR from $SOURCEDIR with EXTRA=<$EXTRA>, DEBUG=<$DEBUG>"
29
         rm -Rf ./$BUILDDIR
30
         mkdir $BUILDDIR || fail mkdir
31
         cd $BUILDDIR 
32
-        cmake $PKG $FAKEROOT $QT_FLAVOR -DCMAKE_EDIT_COMMAND=vim -DAVIDEMUX_SOURCE_DIR=$TOP -DCMAKE_INSTALL_PREFIX=/usr $EXTRA $DEBUG -G "$BUILDER" $SOURCEDIR || fail cmakeZ
33
+        cmake $PKG $FAKEROOT $QT_FLAVOR -DCMAKE_EDIT_COMMAND=vim -DAVIDEMUX_SOURCE_DIR=$TOP -DCMAKE_INSTALL_PREFIX=/usr $EXTRA $ASAN $DEBUG -G "$BUILDER" $SOURCEDIR || fail cmakeZ
34
         make  $PARAL >& /tmp/log$BUILDDIR || fail "make, result in /tmp/log$BUILDDIR"
35
    if  [ "x$PKG" != "x" ] ; then
36
           $FAKEROOT_COMMAND make package DESTDIR=$FAKEROOT_DIR/tmp || fail package
37
@@ -86,6 +93,7 @@
38
         echo "  --with-plugins    : Build plugins"
39
         echo "  --without-plugins : Dont build plugins"
40
         echo "  --enable-qt5      : Try to use qt5 instead of qt4"
41
+        echo "  --enable-asan     : Enable Clang/llvm address sanitizer"
42
    echo "The end result will be in the install folder. You can then copy it to / or whatever"
43
         config 
44
 
45
@@ -141,8 +149,12 @@
46
              ;;
47
          --enable-qt5)
48
                 QT_FLAVOR="-DENABLE_QT5=True"
49
+                export QT_SELECT=5
50
                 qt_ext=Qt5
51
              ;;
52
+         --enable-asan)
53
+                do_asan=1
54
+             ;;
55
          --with-qt4)
56
                 do_qt4=1
57
              ;;
58
avidemux_2.6.11.tar.gz/cmake/admAsNeeded.cmake -> avidemux_2.6.12.tar.gz/cmake/admAsNeeded.cmake Changed
18
 
1
@@ -9,7 +9,9 @@
2
    AS_NEEDED(${name})
3
 
4
    if (UNIX AND NOT APPLE)
5
+             if(NOT ASAN)
6
        TARGET_LINK_LIBRARIES( ${name} "-Wl,-z,defs")
7
+             endif(NOT ASAN)
8
        TARGET_LINK_LIBRARIES( ${name} "stdc++") # for clang
9
    endif (UNIX AND NOT APPLE)
10
 ENDMACRO(ADM_ADD_SHARED_LIBRARY name)
11
@@ -18,4 +20,4 @@
12
    if (CMAKE_COMPILER_IS_GNUCC)
13
        ADD_TARGET_CFLAGS(${name} "-fno-exceptions -fno-rtti")
14
    endif (CMAKE_COMPILER_IS_GNUCC)
15
-ENDMACRO(ADM_TARGET_NO_EXCEPTION  name)
16
\ No newline at end of file
17
+ENDMACRO(ADM_TARGET_NO_EXCEPTION  name)
18
avidemux_2.6.11.tar.gz/cmake/admCheckFaad.cmake -> avidemux_2.6.12.tar.gz/cmake/admCheckFaad.cmake Changed
14
 
1
@@ -15,10 +15,10 @@
2
            FIND_HEADER_AND_LIB(FAAD faad.h faad)
3
 
4
            IF (FAAD_FOUND)
5
-               ADM_CHECK_FUNCTION_EXISTS(faacDecInit "${FAAD_LIBRARY_DIR}" FAACDEC_FUNCTION_FOUND)
6
+               ADM_CHECK_FUNCTION_EXISTS(faacDecInit "${FAAD_LIBRARY_DIR}" FAACDEC_FUNCTION_FOUND "" -I"${FAAD_INCLUDE_DIR}")
7
 
8
                IF (NOT FAACDEC_FUNCTION_FOUND)
9
-                   ADM_CHECK_FUNCTION_EXISTS(NeAACDecInit "${FAAD_LIBRARY_DIR}" NEAACDEC_FUNCTION_FOUND)
10
+                   ADM_CHECK_FUNCTION_EXISTS(NeAACDecInit "${FAAD_LIBRARY_DIR}" NEAACDEC_FUNCTION_FOUND "" -I"${FAAD_INCLUDE_DIR}")
11
 
12
                    IF (NOT NEAACDEC_FUNCTION_FOUND)
13
                        SET(FAAD_FOUND 0)
14
avidemux_2.6.11.tar.gz/cmake/admCheckMiscLibs.cmake -> avidemux_2.6.12.tar.gz/cmake/admCheckMiscLibs.cmake Changed
36
 
1
@@ -67,20 +67,20 @@
2
 MESSAGE(STATUS "Checking for execinfo")
3
 MESSAGE(STATUS "*********************")
4
 
5
-FIND_HEADER_AND_LIB(execinfo execinfo.h execinfo backtrace_symbols)
6
-PRINT_LIBRARY_INFO("execinfo" EXECINFO_FOUND "${LIBEXECINFO_INCLUDE_DIR}" "${LIBEXECINFO_LIBRARY_DIR}")
7
+FIND_HEADER_AND_LIB(EXECINFO execinfo.h c backtrace_symbols)
8
+PRINT_LIBRARY_INFO("execinfo" EXECINFO_FOUND "${EXECINFO_INCLUDE_DIR}" "${EXECINFO_LIBRARY_DIR}")
9
 
10
-IF (LIBEXECINFO_INCLUDE_DIR)
11
+IF (EXECINFO_INCLUDE_DIR)
12
    # Try linking without -lexecinfo
13
-   ADM_COMPILE(execinfo.cpp "" ${LIBEXECINFO_INCLUDE_DIR} "" WITHOUT_LIBEXECINFO outputWithoutLibexecinfo)
14
+   ADM_COMPILE(execinfo.cpp "" ${EXECINFO_INCLUDE_DIR} "" WITHOUT_LIBEXECINFO outputWithoutLibexecinfo)
15
 
16
    IF (WITHOUT_LIBEXECINFO)
17
-       SET(LIBEXECINFO_LIBRARY_DIR "")
18
+       SET(EXECINFO_LIBRARY_DIR "")
19
        SET(HAVE_EXECINFO 1)
20
 
21
        MESSAGE(STATUS "execinfo not required")
22
    ELSE (WITHOUT_LIBEXECINFO)
23
-       ADM_COMPILE(execinfo.cpp "" ${LIBEXECINFO_INCLUDE_DIR} ${LIBEXECINFO_LIBRARY_DIR} WITH_LIBEXECINFO outputWithLibexecinfo)
24
+       ADM_COMPILE(execinfo.cpp "" ${EXECINFO_INCLUDE_DIR} ${EXECINFO_LIBRARY_DIR} WITH_LIBEXECINFO outputWithLibexecinfo)
25
 
26
        IF (WITH_LIBEXECINFO)
27
            SET(HAVE_EXECINFO 1)
28
@@ -91,6 +91,6 @@
29
            MESSAGE(STATUS "Does not work, with ${outputWithLibexecinfo}")
30
        ENDIF (WITH_LIBEXECINFO)
31
    ENDIF (WITHOUT_LIBEXECINFO)
32
-ENDIF (LIBEXECINFO_INCLUDE_DIR)
33
+ENDIF (EXECINFO_INCLUDE_DIR)
34
 
35
 MESSAGE("")
36
avidemux_2.6.11.tar.gz/cmake/admFFmpegBuild.cmake -> avidemux_2.6.12.tar.gz/cmake/admFFmpegBuild.cmake Changed
30
 
1
@@ -9,7 +9,7 @@
2
 
3
 option(FF_INHERIT_BUILD_ENV "" ON)
4
 
5
-set(FFMPEG_VERSION "2.7.2")
6
+set(FFMPEG_VERSION "2.7.6")
7
 set(FFMPEG_ROOT_DIR "${AVIDEMUX_TOP_SOURCE_DIR}/avidemux_core/ffmpeg_package")
8
 set(FFMPEG_PATCH_DIR  "${FFMPEG_ROOT_DIR}/patches/")
9
 set(FFMPEG_SOURCE_ARCHIVE "ffmpeg-${FFMPEG_VERSION}.tar.bz2")
10
@@ -25,7 +25,7 @@
11
                     svq3  theora  tscc  mp2 mp3 mp2_float mp3_float
12
                     vc1  vp3  vp6  vp6a  vp6f  vp8 vp9 wmapro wmav2  wmv1  wmv2  wmv3 cscd)
13
 set(FFMPEG_ENCODERS  ac3  ac3_float dvvideo  ffv1  ffvhuff  flv  h263  huffyuv  mjpeg  mp2  mpeg1video  mpeg2video  mpeg4  snow aac dca)
14
-set(FFMPEG_MUXERS  flv  matroska  mpeg1vcd  mpeg2dvd  mpeg2svcd  mpegts  mov  mp4  psp)
15
+set(FFMPEG_MUXERS  flv  matroska  mpeg1vcd  mpeg2dvd  mpeg2svcd  mpegts  mov  mp4  psp webm)
16
 set(FFMPEG_PARSERS  ac3  h263  h264  hevc  mpeg4video)
17
 set(FFMPEG_PROTOCOLS  file)
18
 set(FFMPEG_BSFS h264_mp4toannexb aac_adtstoasc)
19
@@ -188,7 +188,9 @@
20
    xadd(--ld "${CMAKE_C_COMPILER}")
21
    xadd(--ar "${CMAKE_AR}")
22
    # nm should be ok if we do not cross compile
23
-
24
+        if(CMAKE_LD_FLAGS)
25
+       xadd(--extra-ldflags ${CMAKE_LD_FLAGS})
26
+        endif(CMAKE_LD_FLAGS)
27
    if (CMAKE_C_FLAGS)
28
        xadd(--extra-cflags ${CMAKE_C_FLAGS})
29
    endif (CMAKE_C_FLAGS)
30
avidemux_2.6.11.tar.gz/cmake/admMainChecks.cmake -> avidemux_2.6.12.tar.gz/cmake/admMainChecks.cmake Changed
20
 
1
@@ -54,6 +54,18 @@
2
 ########################################
3
 INCLUDE(admDetermineSystem)
4
 
5
+# Address sanitizer only works with llvm/clang
6
+IF(${CMAKE_CXX_COMPILER} MATCHES ".*[cC]lang.*")
7
+        IF (ASAN)
8
+                MESSAGE(STATUS "Address Sanitizer activated")
9
+           SET(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
10
+           SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
11
+                SET(CMAKE_LD_FLAGS  "${CMAKE_LD_FLAGS}  -fsanitize=address ")
12
+        ELSE (ASAN)
13
+                MESSAGE(STATUS "Address Sanitizer not activated")
14
+        ENDIF (ASAN)
15
+ENDIF(${CMAKE_CXX_COMPILER} MATCHES ".*[cC]lang.*")
16
+
17
 IF (ADM_CPU_ALTIVEC)
18
    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ADM_ALTIVEC_FLAGS}")
19
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ADM_ALTIVEC_FLAGS}")
20
avidemux_2.6.11.tar.gz/cmake/avidemuxVersion.cmake -> avidemux_2.6.12.tar.gz/cmake/avidemuxVersion.cmake Changed
10
 
1
@@ -2,7 +2,7 @@
2
 include(admTimeStamp)
3
 SET(CPACK_PACKAGE_VERSION_MAJOR "2")
4
 SET(CPACK_PACKAGE_VERSION_MINOR "6")
5
-SET(CPACK_PACKAGE_VERSION_P     "11")
6
+SET(CPACK_PACKAGE_VERSION_P     "12")
7
 SET(CPACK_PACKAGE_VERSION_PATCH "${CPACK_PACKAGE_VERSION_P}")
8
 SET(AVIDEMUX_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") 
9
 IF(NOT RELEASE)
10
Refresh

No build results available

Refresh

No rpmlint results available

Request History
enzokiel's avatar

enzokiel created request about 9 years ago

- Update to version 2.6.12


enzokiel's avatar

enzokiel accepted request about 9 years ago

OK.