summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-video/ttcut
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-video/ttcut')
-rw-r--r--media-video/ttcut/Manifest1
-rw-r--r--media-video/ttcut/files/ttcut-0.19.6-deprecated.patch376
-rw-r--r--media-video/ttcut/files/ttcut-0.19.6-ffmpeg-vf-setdar.patch184
-rw-r--r--media-video/ttcut/files/ttcut-0.19.6-no_implicit_GLU.patch24
-rw-r--r--media-video/ttcut/files/ttcut-0.19.6-ntsc-fps.patch99
-rw-r--r--media-video/ttcut/files/ttcut.desktop13
-rw-r--r--media-video/ttcut/metadata.xml19
-rw-r--r--media-video/ttcut/ttcut-0.19.6-r3.ebuild42
8 files changed, 758 insertions, 0 deletions
diff --git a/media-video/ttcut/Manifest b/media-video/ttcut/Manifest
new file mode 100644
index 000000000000..d452df524cbc
--- /dev/null
+++ b/media-video/ttcut/Manifest
@@ -0,0 +1 @@
+DIST ttcut-0.19.6.tar.gz 283977 SHA256 e0f3f55fdcd67096de5588ddfb4a455cff731a9723923b34c283546c42c2ae11 SHA512 796dfb6759f7e9c96f8a8481cb280044c1744a43935f226f352b9e867ebdbaeaed90c3d96acf00b5ae8afb7b2350cbd6a384eb2d38136fef38c2983467d25cf6 WHIRLPOOL e660404f1bf2eb9a5936d53f3e0e9478d743c1e3af28f8d9d4d2c66d494e07df03226a1ca3fb008c90bb8ea05bba13a95ddd4ed2137e4e71a5e5ab29bbdb2365
diff --git a/media-video/ttcut/files/ttcut-0.19.6-deprecated.patch b/media-video/ttcut/files/ttcut-0.19.6-deprecated.patch
new file mode 100644
index 000000000000..95c466372f29
--- /dev/null
+++ b/media-video/ttcut/files/ttcut-0.19.6-deprecated.patch
@@ -0,0 +1,376 @@
+diff -Naur ttcut-old/avstream/ttac3audioheader.h ttcut/avstream/ttac3audioheader.h
+--- ttcut-old/avstream/ttac3audioheader.h 2006-02-03 21:32:50.000000000 +0100
++++ ttcut/avstream/ttac3audioheader.h 2009-09-20 02:13:04.000000000 +0200
+@@ -116,7 +116,7 @@
+ 2,1,2,3,3,4,4,5
+ };
+
+-__attribute__ ((unused))static char* AC3Mode[8] =
++__attribute__ ((unused))static const char* AC3Mode[8] =
+ {
+ "1+1", "1/0", "2/0", "3/0",
+ "2/1", "3/1", "2/2", "3/2"
+diff -Naur ttcut-old/avstream/ttac3audiostream.cpp ttcut/avstream/ttac3audiostream.cpp
+--- ttcut-old/avstream/ttac3audiostream.cpp 2007-04-30 11:06:19.000000000 +0200
++++ ttcut/avstream/ttac3audiostream.cpp 2009-09-20 02:13:04.000000000 +0200
+@@ -108,7 +108,7 @@
+
+ audio_header->setHeaderOffset( stream_buffer->currentOffset() - 8 ); // +Syncwort
+
+- audio_header->crc1 = daten[0]<<8+daten[1];
++ audio_header->crc1 = daten[0]<<(8+daten[1]);
+ audio_header->fscod = (uint8_t)((daten[2]&0xc0)>>6);
+ audio_header->frmsizecod = (uint8_t)(daten[2]&0x3f);
+ audio_header->syncframe_words = AC3FrameLength[audio_header->fscod][audio_header->frmsizecod];
+diff -Naur ttcut-old/avstream/ttaviwriter.cpp ttcut/avstream/ttaviwriter.cpp
+--- ttcut-old/avstream/ttaviwriter.cpp 2007-04-27 10:32:20.000000000 +0200
++++ ttcut/avstream/ttaviwriter.cpp 2009-09-20 02:13:04.000000000 +0200
+@@ -126,7 +126,7 @@
+ //qDebug( "%sAVI frame info: width: %d x height: %d",c_name,frameInfo->width,frameInfo->height );
+
+ //TODO: avoid setting hard coded frame rate!
+- AVI_set_video(avi_file, frameInfo->width, frameInfo->height, 25.0, "YV12");
++ AVI_set_video(avi_file, frameInfo->width, frameInfo->height, 25.0, (char*)"YV12");
+
+ ref_data = new uint8_t [frameInfo->size+2*frameInfo->chroma_size];
+
+diff -Naur ttcut-old/avstream/ttdtsaudioheader.h ttcut/avstream/ttdtsaudioheader.h
+--- ttcut-old/avstream/ttdtsaudioheader.h 2006-02-02 20:43:48.000000000 +0100
++++ ttcut/avstream/ttdtsaudioheader.h 2009-09-20 02:13:04.000000000 +0200
+@@ -78,7 +78,7 @@
+ 2048000, 3072000, 3840000, 4096000, 0, 0
+ };
+
+-__attribute__ ((unused))static char* dts_acmod[64] =
++__attribute__ ((unused))static const char* dts_acmod[64] =
+ {
+ "1","DM","2/0","2/0",
+ "2/0","3/0","2.1/0","3.1/0",
+diff -Naur ttcut-old/avstream/ttfilebuffer.cpp ttcut/avstream/ttfilebuffer.cpp
+--- ttcut-old/avstream/ttfilebuffer.cpp 2007-09-02 13:15:09.000000000 +0200
++++ ttcut/avstream/ttfilebuffer.cpp 2009-09-20 02:13:04.000000000 +0200
+@@ -773,8 +773,8 @@
+ /* new position outside buffer*/
+ else
+ {
+- if ( new_pos > -1 &&
+- (file_mode == fm_open_read && new_pos < stream_length) ||
++ if ( (new_pos > -1 &&
++ (file_mode == fm_open_read && new_pos < stream_length)) ||
+ ((file_mode == fm_open_write || file_mode == fm_create) &&
+ new_pos < stream_length + 1) )
+ {
+diff -Naur ttcut-old/gui/ttcutmainwindow.cpp ttcut/gui/ttcutmainwindow.cpp
+--- ttcut-old/gui/ttcutmainwindow.cpp 2007-09-02 13:15:09.000000000 +0200
++++ ttcut/gui/ttcutmainwindow.cpp 2009-09-20 02:13:04.000000000 +0200
+@@ -1030,8 +1030,8 @@
+ int num_header = current_audio_stream->createHeaderList();
+
+ // error reading audio stream or user abort during operation
+- if ( num_header == 0 && audio_type->avStreamType() != TTAVTypes::pcm_audio ||
+- num_header == 1 && audio_type->avStreamType() == TTAVTypes::pcm_audio ) {
++ if ( (num_header == 0 && audio_type->avStreamType() != TTAVTypes::pcm_audio) ||
++ (num_header == 1 && audio_type->avStreamType() == TTAVTypes::pcm_audio) ) {
+
+ log->errorMsg( oName, "error reading audio stream; no header list (!)" );
+ delete current_audio_stream;
+diff -Naur ttcut-old/ui/pixmaps/addtolist_18.xpm ttcut/ui/pixmaps/addtolist_18.xpm
+--- ttcut-old/ui/pixmaps/addtolist_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/addtolist_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * addtolist_18_xpm[] = {
++static const char * addtolist_18_xpm[] = {
+ "18 18 163 2",
+ " c None",
+ ". c #3E98E5",
+diff -Naur ttcut-old/ui/pixmaps/apply_18.xpm ttcut/ui/pixmaps/apply_18.xpm
+--- ttcut-old/ui/pixmaps/apply_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/apply_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * apply_18_xpm[] = {
++static const char * apply_18_xpm[] = {
+ "18 18 46 1",
+ " c None",
+ ". c #707070",
+diff -Naur ttcut-old/ui/pixmaps/bframe_18.xpm ttcut/ui/pixmaps/bframe_18.xpm
+--- ttcut-old/ui/pixmaps/bframe_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/bframe_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char* const b_frame_18_xpm[] = {
++static const char * b_frame_18_xpm[] = {
+ "18 18 16 1",
+ ". c None",
+ "d c #faf515",
+diff -Naur ttcut-old/ui/pixmaps/button_ok.xpm ttcut/ui/pixmaps/button_ok.xpm
+--- ttcut-old/ui/pixmaps/button_ok.xpm 2007-04-27 10:32:20.000000000 +0200
++++ ttcut/ui/pixmaps/button_ok.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * button_ok_xpm[] = {
++static const char * button_ok_xpm[] = {
+ "32 32 132 2",
+ " c None",
+ ". c #18AD00",
+diff -Naur ttcut-old/ui/pixmaps/chapter_18.xpm ttcut/ui/pixmaps/chapter_18.xpm
+--- ttcut-old/ui/pixmaps/chapter_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/chapter_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * chapter_18_xpm[] = {
++static const char * chapter_18_xpm[] = {
+ "18 18 157 2",
+ " c None",
+ ". c #9EAAD6",
+diff -Naur ttcut-old/ui/pixmaps/clock_16.xpm ttcut/ui/pixmaps/clock_16.xpm
+--- ttcut-old/ui/pixmaps/clock_16.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/clock_16.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * clock_16_xpm[] = {
++static const char * clock_16_xpm[] = {
+ "16 16 168 2",
+ " c None",
+ ". c #2A6AC0",
+diff -Naur ttcut-old/ui/pixmaps/clock_18.xpm ttcut/ui/pixmaps/clock_18.xpm
+--- ttcut-old/ui/pixmaps/clock_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/clock_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * clock_18_xpm[] = {
++static const char * clock_18_xpm[] = {
+ "18 18 202 2",
+ " c None",
+ ". c #2360BB",
+diff -Naur ttcut-old/ui/pixmaps/cutaudio_18.xpm ttcut/ui/pixmaps/cutaudio_18.xpm
+--- ttcut-old/ui/pixmaps/cutaudio_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/cutaudio_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * cutaudio_18_xpm[] = {
++static const char * cutaudio_18_xpm[] = {
+ "11 18 2 1",
+ " c None",
+ ". c #000000",
+diff -Naur ttcut-old/ui/pixmaps/cutav_18.xpm ttcut/ui/pixmaps/cutav_18.xpm
+--- ttcut-old/ui/pixmaps/cutav_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/cutav_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * cutav_18_xpm[] = {
++static const char * cutav_18_xpm[] = {
+ "18 18 105 2",
+ " c None",
+ ". c #CDCDD9",
+diff -Naur ttcut-old/ui/pixmaps/exit_16.xpm ttcut/ui/pixmaps/exit_16.xpm
+--- ttcut-old/ui/pixmaps/exit_16.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/exit_16.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * exit_16_xpm[] = {
++static const char * exit_16_xpm[] = {
+ "16 16 174 2",
+ " c None",
+ ". c #AE3725",
+diff -Naur ttcut-old/ui/pixmaps/fileclose_18.xpm ttcut/ui/pixmaps/fileclose_18.xpm
+--- ttcut-old/ui/pixmaps/fileclose_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/fileclose_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * fileclose_18_xpm[] = {
++static const char * fileclose_18_xpm[] = {
+ "18 18 138 2",
+ " c None",
+ ". c #3D3D5D",
+diff -Naur ttcut-old/ui/pixmaps/filenew_16.xpm ttcut/ui/pixmaps/filenew_16.xpm
+--- ttcut-old/ui/pixmaps/filenew_16.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/filenew_16.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * filenew_16_xpm[] = {
++static const char * filenew_16_xpm[] = {
+ "16 16 121 2",
+ " c None",
+ ". c #C5CAD6",
+diff -Naur ttcut-old/ui/pixmaps/fileopen_16.xpm ttcut/ui/pixmaps/fileopen_16.xpm
+--- ttcut-old/ui/pixmaps/fileopen_16.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/fileopen_16.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * fileopen_16_xpm[] = {
++static const char * fileopen_16_xpm[] = {
+ "16 16 183 2",
+ " c None",
+ ". c #9BA1D9",
+diff -Naur ttcut-old/ui/pixmaps/filesave_16.xpm ttcut/ui/pixmaps/filesave_16.xpm
+--- ttcut-old/ui/pixmaps/filesave_16.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/filesave_16.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * filesave_16_xpm[] = {
++static const char * filesave_16_xpm[] = {
+ "16 16 174 2",
+ " c None",
+ ". c #B8B8CC",
+diff -Naur ttcut-old/ui/pixmaps/filesaveas_16.xpm ttcut/ui/pixmaps/filesaveas_16.xpm
+--- ttcut-old/ui/pixmaps/filesaveas_16.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/filesaveas_16.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * filesaveas_16_xpm[] = {
++static const char * filesaveas_16_xpm[] = {
+ "16 16 180 2",
+ " c None",
+ ". c #F2C14C",
+diff -Naur ttcut-old/ui/pixmaps/goto_18.xpm ttcut/ui/pixmaps/goto_18.xpm
+--- ttcut-old/ui/pixmaps/goto_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/goto_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * goto_18_xpm[] = {
++static const char * goto_18_xpm[] = {
+ "18 18 82 1",
+ " c None",
+ ". c #127DFF",
+diff -Naur ttcut-old/ui/pixmaps/iframe_18.xpm ttcut/ui/pixmaps/iframe_18.xpm
+--- ttcut-old/ui/pixmaps/iframe_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/iframe_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char* const i_frame_18_xpm[] = {
++static const char * i_frame_18_xpm[] = {
+ "18 18 9 1",
+ ". c None",
+ "d c #000096",
+diff -Naur ttcut-old/ui/pixmaps/next_18.xpm ttcut/ui/pixmaps/next_18.xpm
+--- ttcut-old/ui/pixmaps/next_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/next_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * next_18_xpm[] = {
++static const char * next_18_xpm[] = {
+ "18 18 59 1",
+ " c None",
+ ". c #000000",
+diff -Naur ttcut-old/ui/pixmaps/note_18.xpm ttcut/ui/pixmaps/note_18.xpm
+--- ttcut-old/ui/pixmaps/note_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/note_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * note_18_xpm[] = {
++static const char * note_18_xpm[] = {
+ "18 18 93 2",
+ " c None",
+ ". c #C5AD09",
+diff -Naur ttcut-old/ui/pixmaps/pause_18.xpm ttcut/ui/pixmaps/pause_18.xpm
+--- ttcut-old/ui/pixmaps/pause_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/pause_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * pause_18_xpm[] = {
++static const char * pause_18_xpm[] = {
+ "18 18 67 1",
+ " c None",
+ ". c #000000",
+diff -Naur ttcut-old/ui/pixmaps/pframe_18.xpm ttcut/ui/pixmaps/pframe_18.xpm
+--- ttcut-old/ui/pixmaps/pframe_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/pframe_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char* const p_frame_18_xpm[] = {
++static const char * const p_frame_18_xpm[] = {
+ "18 18 15 1",
+ ". c None",
+ "e c #fa0150",
+diff -Naur ttcut-old/ui/pixmaps/play_18.xpm ttcut/ui/pixmaps/play_18.xpm
+--- ttcut-old/ui/pixmaps/play_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/play_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * play_18_xpm[] = {
++static const char * play_18_xpm[] = {
+ "18 18 38 1",
+ " c None",
+ ". c #000000",
+diff -Naur ttcut-old/ui/pixmaps/prev_18.xpm ttcut/ui/pixmaps/prev_18.xpm
+--- ttcut-old/ui/pixmaps/prev_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/prev_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * prev_18_xpm[] = {
++static const char * prev_18_xpm[] = {
+ "18 18 64 1",
+ " c None",
+ ". c #0E0E0E",
+diff -Naur ttcut-old/ui/pixmaps/preview_18.xpm ttcut/ui/pixmaps/preview_18.xpm
+--- ttcut-old/ui/pixmaps/preview_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/preview_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * preview_18_xpm[] = {
++static const char * preview_18_xpm[] = {
+ "18 18 134 2",
+ " c None",
+ ". c #A9ACB6",
+diff -Naur ttcut-old/ui/pixmaps/saveimage_16.xpm ttcut/ui/pixmaps/saveimage_16.xpm
+--- ttcut-old/ui/pixmaps/saveimage_16.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/saveimage_16.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * saveimage_16_xpm[] = {
++static const char * saveimage_16_xpm[] = {
+ "17 18 80 1",
+ " c None",
+ ". c #000000",
+diff -Naur ttcut-old/ui/pixmaps/search_18.xpm ttcut/ui/pixmaps/search_18.xpm
+--- ttcut-old/ui/pixmaps/search_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/search_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * search_18_xpm[] = {
++static const char * search_18_xpm[] = {
+ "18 18 126 2",
+ " c None",
+ ". c #000000",
+diff -Naur ttcut-old/ui/pixmaps/settings_16.xpm ttcut/ui/pixmaps/settings_16.xpm
+--- ttcut-old/ui/pixmaps/settings_16.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/settings_16.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * settings_16_xpm[] = {
++static const char * settings_16_xpm[] = {
+ "16 16 102 2",
+ " c None",
+ ". c #C1C1CE",
+diff -Naur ttcut-old/ui/pixmaps/_settings_18.xpm ttcut/ui/pixmaps/_settings_18.xpm
+--- ttcut-old/ui/pixmaps/_settings_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/_settings_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * settings_18_xpm[] = {
++static const char * settings_18_xpm[] = {
+ "16 16 102 2",
+ " c None",
+ ". c #C1C1CE",
+diff -Naur ttcut-old/ui/pixmaps/settings_18.xpm ttcut/ui/pixmaps/settings_18.xpm
+--- ttcut-old/ui/pixmaps/settings_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/settings_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * settings_18_xpm[] = {
++static const char * settings_18_xpm[] = {
+ "16 16 102 2",
+ " c None",
+ ". c #C1C1CE",
+diff -Naur ttcut-old/ui/pixmaps/stop_18.xpm ttcut/ui/pixmaps/stop_18.xpm
+--- ttcut-old/ui/pixmaps/stop_18.xpm 2006-02-27 18:05:47.000000000 +0100
++++ ttcut/ui/pixmaps/stop_18.xpm 2009-09-20 02:13:04.000000000 +0200
+@@ -1,5 +1,5 @@
+ /* XPM */
+-static char * stop_18_xpm[] = {
++static const char * stop_18_xpm[] = {
+ "18 18 39 1",
+ " c None",
+ ". c #1D1D1C",
diff --git a/media-video/ttcut/files/ttcut-0.19.6-ffmpeg-vf-setdar.patch b/media-video/ttcut/files/ttcut-0.19.6-ffmpeg-vf-setdar.patch
new file mode 100644
index 000000000000..6f5b05b228a0
--- /dev/null
+++ b/media-video/ttcut/files/ttcut-0.19.6-ffmpeg-vf-setdar.patch
@@ -0,0 +1,184 @@
+diff -Naur ttcut-old/avstream/ttcommon.cpp ttcut/avstream/ttcommon.cpp
+--- ttcut-old/avstream/ttcommon.cpp 2011-05-05 00:00:33.936254667 +0200
++++ ttcut/avstream/ttcommon.cpp 2011-05-05 00:03:27.396254667 +0200
+@@ -51,6 +51,18 @@
+ return sNewFileName;
+ }
+
++// return the aspect ratio as string value
++QString ttAspectRatioText(int aspect_ratio_information)
++{
++ QString szTemp;
++
++ if ( aspect_ratio_information == 1 ) szTemp = "1:1";
++ if ( aspect_ratio_information == 2 ) szTemp = "4:3";
++ if ( aspect_ratio_information == 3 ) szTemp = "16:9";
++ if ( aspect_ratio_information == 4 ) szTemp = "2.21:1";
++
++ return szTemp;
++}
+
+ // check if file fName exists
+ bool ttFileExists( QString fName )
+diff -Naur ttcut-old/avstream/ttcommon.h ttcut/avstream/ttcommon.h
+--- ttcut-old/avstream/ttcommon.h 2011-05-05 00:00:33.936254667 +0200
++++ ttcut/avstream/ttcommon.h 2011-05-05 00:03:58.412921334 +0200
+@@ -11,6 +11,7 @@
+ extern "C" bool ttDeleteFile( QString fName );
+ extern "C" QString ttAddFileExt( QString fName, const char* cExt );
+ extern "C" QString ttChangeFileExt( QString fName, const char* cExt );
++extern "C" QString ttAspectRatioText(int aspect_ratio_information);
+ extern "C" QTime ttMsecToTime( int msec );
+ extern "C" QTime ttMsecToTimeD( double msec );
+ extern "C" QTime ttFramesToTime(long lFrames, float fps);
+diff -Naur ttcut-old/avstream/ttmpeg2videoheader.cpp ttcut/avstream/ttmpeg2videoheader.cpp
+--- ttcut-old/avstream/ttmpeg2videoheader.cpp 2011-05-05 00:00:33.936254667 +0200
++++ ttcut/avstream/ttmpeg2videoheader.cpp 2011-05-05 00:05:42.999588000 +0200
+@@ -170,18 +170,11 @@
+ }
+
+ /* /////////////////////////////////////////////////////////////////////////////
+- * Returns the aspect ration as string value
++ * Returns the aspect ratio as string value
+ */
+ QString TTSequenceHeader::aspectRatioText()
+ {
+- QString szTemp;
+-
+- if ( aspect_ratio_information == 1 ) szTemp = "1:1";
+- if ( aspect_ratio_information == 2 ) szTemp = "4:3";
+- if ( aspect_ratio_information == 3 ) szTemp = "16:9";
+- if ( aspect_ratio_information == 4 ) szTemp = "2.21:1";
+-
+- return szTemp;
++ return ttAspectRatioText(aspect_ratio_information);
+ }
+
+ /* /////////////////////////////////////////////////////////////////////////////
+diff -Naur ttcut-old/avstream/ttmpeg2videostream.cpp ttcut/avstream/ttmpeg2videostream.cpp
+--- ttcut-old/avstream/ttmpeg2videostream.cpp 2011-05-05 00:00:33.936254667 +0200
++++ ttcut/avstream/ttmpeg2videostream.cpp 2011-05-05 00:00:43.579588002 +0200
+@@ -1505,7 +1505,7 @@
+
+ QDir temp_dir( TTCut::tempDirPath );
+ QString avi_out_file = "encode.avi";
+- QString mpeg2_out_file = "encode"; // extension is added by transcode (!)
++ QString mpeg2_out_file = "encode.m2v";
+ new_file_info.setFile( temp_dir, avi_out_file );
+
+ TTPicturesHeader* start_pic = header_list->pictureHeaderAt( start );
+@@ -1538,7 +1538,7 @@
+ TTTranscodeProvider* transcode_prov = new TTTranscodeProvider( );
+ transcode_prov->setParameter( enc_par );
+
+- // encode the part with transcode
++ // encode the part with ffmpeg
+ if ( transcode_prov->encodePart() )
+ {
+ new_file_info.setFile( temp_dir, "encode.m2v" );
+@@ -1565,7 +1565,7 @@
+ }
+ else
+ {
+- log->errorMsg(c_name, "Error in transcode part (!)");
++ log->errorMsg(c_name, "Error in ffmpeg part (!)");
+ }
+
+ // remove temporary files
+diff -Naur ttcut-old/extern/tttranscode.cpp ttcut/extern/tttranscode.cpp
+--- ttcut-old/extern/tttranscode.cpp 2011-05-05 00:00:33.939588000 +0200
++++ ttcut/extern/tttranscode.cpp 2011-05-05 00:02:27.062921334 +0200
+@@ -49,9 +49,9 @@
+ // message logger instance
+ log = TTMessageLogger::getInstance();
+
+- QString str_head = "starting encoder >>>transcode -y ffmpeg<<<";
++ QString str_head = "starting encoder >>>ffmpeg<<<";
+
+- str_command = "transcode";
++ str_command = "ffmpeg";
+ transcode_success = false;
+
+ setModal( true );
+@@ -76,7 +76,7 @@
+ {
+ #if defined (TTTRANSCODE_DEBUG)
+ log->debugMsg( c_name, "----------------------------------------------------" );
+- log->debugMsg( c_name, "transcode parameter:" );
++ log->debugMsg( c_name, "ffmpeg parameter:" );
+ log->debugMsg( c_name, "----------------------------------------------------" );
+ log->debugMsg( c_name, "avi-file : %s", qPrintable(enc_par.avi_input_finfo.absoluteFilePath()) );
+ log->debugMsg( c_name, "mpeg-file : %s", qPrintable(enc_par.mpeg2_output_finfo.absoluteFilePath()) );
+@@ -86,32 +86,32 @@
+ log->debugMsg( c_name, "----------------------------------------------------" );
+ #endif
+
+- //transcode -i encode.avi --pre_clip 0 -y ffmpeg --export_prof dvd-pal --export_asr 2 -o encode
+ QString str_aspect;
+- str_aspect.sprintf("%d",enc_par.video_aspect_code );
++ str_aspect = ttAspectRatioText(enc_par.video_aspect_code);
+
+ QString str_format;
+ str_format.sprintf("%dx%d", enc_par.video_width, enc_par.video_height);
+
+ QString str_bitrate;
+- str_bitrate.sprintf("%f", enc_par.video_bitrate);
++ str_bitrate.sprintf("%.0f", enc_par.video_bitrate);
++
++ QString str_aspect_opt;
++ str_aspect_opt = "setdar=";
++
++ str_aspect_opt += str_aspect;
+
+ strl_command_line.clear();
+
+ strl_command_line << "-i"
+- << enc_par.avi_input_finfo.absoluteFilePath()
+- << "--pre_clip"
+- << "0"
+- //<< "-y" // isn't neccessary unless --export_prof is specified!
+- //<< "mpeg2enc,mp2enc" // mpeg2enc->video, mp2enc->audio!
+- //<< "-F"
+- //<< "8,\"-v 1 -q 3\""
+- << "--export_prof"
+- << "dvd" // dvd-pal
+- << "--export_asr"
+- << str_aspect
+- << "-o"
+- << enc_par.mpeg2_output_finfo.absoluteFilePath();
++ << enc_par.avi_input_finfo.absoluteFilePath()
++ << "-y"
++ << "-target"
++ << "dvd" //autodetects pal/ntsc
++ << "-f"
++ << "mpeg2video" //else ffmpeg creates an mpegps stream that mplex can not handle
++ << "-vf"
++ << str_aspect_opt //workaround for mpeg2video not preserving aspect ratio in combination with --enable-avfilter
++ << enc_par.mpeg2_output_finfo.absoluteFilePath();
+
+ log->infoMsg(c_name, strl_command_line.join(" "));
+ }
+@@ -124,7 +124,7 @@
+ int update = EVENT_LOOP_INTERVALL; //update intervall for local event loop
+ transcode_success = false;
+
+- // create the process object for transcode
++ // create the process object for ffmpeg
+ proc = new QProcess();
+
+ // read both channels: stderr and stdout
+@@ -197,12 +197,12 @@
+ switch (e_status) {
+ case QProcess::NormalExit:
+ //log->debugMsg(c_name, "The process ecxited normally: %d", e_code);
+- procMsg = tr("Transcode exit normally ... done(0)");
++ procMsg = tr("ffmpeg exit normally ... done(0)");
+ transcode_success = true;
+ break;
+ case QProcess::CrashExit:
+ //log->debugMsg(c_name, "The process crashed: %d", e_code);
+- procMsg = tr("Transcode crashed");
++ procMsg = tr("ffmpeg crashed");
+ transcode_success = false;
+ break;
+ default:
diff --git a/media-video/ttcut/files/ttcut-0.19.6-no_implicit_GLU.patch b/media-video/ttcut/files/ttcut-0.19.6-no_implicit_GLU.patch
new file mode 100644
index 000000000000..afb83aa296db
--- /dev/null
+++ b/media-video/ttcut/files/ttcut-0.19.6-no_implicit_GLU.patch
@@ -0,0 +1,24 @@
+Stop relying on implicit usage of GLU for compability with >=x11-libs/qt-opengl-4.8
+See, http://bugs.gentoo.org/407391
+
+--- mpeg2window/ttmpeg2window.cpp
++++ mpeg2window/ttmpeg2window.cpp
+@@ -33,6 +33,7 @@
+ // qApplication for the qApp pointer
+ #include <QApplication>
+ #include <QPixmap>
++#include <GL/glu.h>
+
+ // -----------------------------------------------------------------------------
+ // class declaration
+--- ttcut.pro
++++ ttcut.pro
+@@ -15,7 +15,7 @@
+ DEFINES += _FILE_OFFSET_BITS=64
+ DIST = TTCut
+ TARGET = ttcut
+-LIBS = -lmpeg2 -lmpeg2convert
++LIBS = -lmpeg2 -lmpeg2convert -lGLU
+ OBJECTS_DIR = obj
+ MOC_DIR = moc
+ UI_DIR = ui_h
diff --git a/media-video/ttcut/files/ttcut-0.19.6-ntsc-fps.patch b/media-video/ttcut/files/ttcut-0.19.6-ntsc-fps.patch
new file mode 100644
index 000000000000..0af76de1d095
--- /dev/null
+++ b/media-video/ttcut/files/ttcut-0.19.6-ntsc-fps.patch
@@ -0,0 +1,99 @@
+diff -upr ttcut-old/avstream/ttac3audiostream.cpp ttcut/avstream/ttac3audiostream.cpp
+--- ttcut-old/avstream/ttac3audiostream.cpp 2011-05-01 21:51:10.865817426 -0400
++++ ttcut/avstream/ttac3audiostream.cpp 2011-05-01 21:45:34.213440925 -0400
+@@ -256,6 +256,7 @@ void TTAC3AudioStream::cut( TTFileBuffer
+ float audio_start_time;
+ float audio_end_time;
+ float local_audio_offset = 0.0;
++ float fps = cut_list->videoStream()->frameRate();
+
+ #if defined(AC3STREAM_DEBUG)
+ log->debugMsg(c_name, "-----------------------------------------------");
+@@ -286,7 +287,7 @@ void TTAC3AudioStream::cut( TTFileBuffer
+
+ //qDebug( "%sstart / end : %d / %d",c_name,start_pos,end_pos );
+ //search
+- video_frame_length = 1000.0 / 25.0; //TODO: replace with fps
++ video_frame_length = 1000.0 / fps;
+
+ //qDebug( "%slocal audio offset: %f",c_name,local_audio_offset );
+
+diff -upr ttcut-old/avstream/ttmpeg2videoheader.cpp ttcut/avstream/ttmpeg2videoheader.cpp
+--- ttcut-old/avstream/ttmpeg2videoheader.cpp 2011-05-01 21:20:42.675440912 -0400
++++ ttcut/avstream/ttmpeg2videoheader.cpp 2011-04-29 23:06:29.684768509 -0400
+@@ -193,6 +193,7 @@ QString TTSequenceHeader::frameRateText(
+
+ if ( frame_rate_code == 2 ) szTemp = "24 fps";
+ if ( frame_rate_code == 3 ) szTemp = "25 fps";
++ if ( frame_rate_code == 4 ) szTemp = "29.970 fps";
+ if ( frame_rate_code == 5 ) szTemp = "30 fps";
+
+ return szTemp;
+@@ -207,6 +208,7 @@ float TTSequenceHeader::frameRateValue()
+
+ if ( frame_rate_code == 2 ) value = 24.0;
+ if ( frame_rate_code == 3 ) value = 25.0;
++ if ( frame_rate_code == 4 ) value = 29.970;
+ if ( frame_rate_code == 5 ) value = 30.0;
+
+ if ( frame_rate_code < 2 || frame_rate_code > 5 )
+diff -upr ttcut-old/avstream/ttmpegaudiostream.cpp ttcut/avstream/ttmpegaudiostream.cpp
+--- ttcut-old/avstream/ttmpegaudiostream.cpp 2011-05-01 21:20:42.679440927 -0400
++++ ttcut/avstream/ttmpegaudiostream.cpp 2011-05-01 21:45:55.036441412 -0400
+@@ -308,6 +308,7 @@ void TTMPEGAudioStream::cut( TTFileBuffe
+ float audio_start_time;
+ float audio_end_time;
+ float local_audio_offset = 0.0;
++ float fps = cut_list->videoStream()->frameRate();
+
+ #if defined MPEGAUDIO_DEBUG
+ log->infoMsg(c_name, "-----------------------------------------------");
+@@ -338,7 +339,7 @@ void TTMPEGAudioStream::cut( TTFileBuffe
+
+ //qDebug( "%sstart / end : %d / %d",c_name,start_pos,end_pos );
+ //search
+- video_frame_length = 1000.0 / 25.0; //TODO: replace with fps
++ video_frame_length = 1000.0 / fps;
+
+ //qDebug( "%slocal audio offset: %f",c_name,local_audio_offset );
+
+diff -upr ttcut-old/avstream/ttaviwriter.cpp ttcut/avstream/ttaviwriter.cpp
+--- ttcut-old/avstream/ttaviwriter.cpp 2011-05-01 22:05:47.307819446 -0400
++++ ttcut/avstream/ttaviwriter.cpp 2011-05-01 22:08:27.427839373 -0400
+@@ -49,6 +49,7 @@ TTAVIWriter::TTAVIWriter( TTProgressBar*
+
+ file_size = 0;
+ file_offset = 0;
++ fps = 0.0;
+ }
+
+
+@@ -78,6 +79,7 @@ bool TTAVIWriter::initAVIWriter( TTVideo
+ index_list = v_stream->indexList();
+ header_list = v_stream->headerList();
+ file_size = v_stream->streamLengthByte();
++ fps = v_stream->frameRate();
+
+ //create the decoder object
+ decoder = new TTMpeg2Decoder( qPrintable(video_file_name), index_list, header_list );
+@@ -125,8 +127,7 @@ int TTAVIWriter::writeAVI( int start_fra
+
+ //qDebug( "%sAVI frame info: width: %d x height: %d",c_name,frameInfo->width,frameInfo->height );
+
+- //TODO: avoid setting hard coded frame rate!
+- AVI_set_video(avi_file, frameInfo->width, frameInfo->height, 25.0, (char*)"YV12");
++ AVI_set_video(avi_file, frameInfo->width, frameInfo->height, fps, (char*)"YV12");
+
+ ref_data = new uint8_t [frameInfo->size+2*frameInfo->chroma_size];
+
+diff -upr ttcut-old/avstream/ttaviwriter.h ttcut/avstream/ttaviwriter.h
+--- ttcut-old/avstream/ttaviwriter.h 2011-05-01 22:05:47.308819943 -0400
++++ ttcut/avstream/ttaviwriter.h 2011-05-01 22:06:17.162739403 -0400
+@@ -72,6 +72,7 @@ class TTAVIWriter
+ off64_t file_offset;
+ uint8_t* ref_data;
+ avi_t* avi_file;
++ float fps;
+ };
+
+ #endif //TTAVIWRITER_H
diff --git a/media-video/ttcut/files/ttcut.desktop b/media-video/ttcut/files/ttcut.desktop
new file mode 100644
index 000000000000..b2f1325a2f73
--- /dev/null
+++ b/media-video/ttcut/files/ttcut.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=TTCut
+Comment=Removes commercials from DVB recordings
+Comment[de]=Entfernt Werbeeinblendungen aus DVB-Mitschnitten
+TryExec=ttcut
+Exec=ttcut
+Icon=ttcut
+Terminal=false
+StartupNotify=false
+MimeType=video/mpeg;
+Categories=AudioVideo;Video;AudioVideoEditing;
diff --git a/media-video/ttcut/metadata.xml b/media-video/ttcut/metadata.xml
new file mode 100644
index 000000000000..c050f53a91d0
--- /dev/null
+++ b/media-video/ttcut/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>video</herd>
+ <maintainer>
+ <email>billie@gentoo.org</email>
+ <name>Daniel Pielmeier</name>
+ </maintainer>
+ <longdescription><pkg>media-video/ttcut</pkg> is a tool designed to remove commercials from
+ DVB (European standard for digital radio and television broadcast)
+ recordings. It only accepts the elementary video and audio streams. This is
+ because the MPEG transport stream is slightly different to the MPEG Program
+ stream used on DVD media. Also it may contain errors that tools like
+ <pkg>media-video/projectx</pkg> can correct while demuxing the stream.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">ttcut.berlios</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/media-video/ttcut/ttcut-0.19.6-r3.ebuild b/media-video/ttcut/ttcut-0.19.6-r3.ebuild
new file mode 100644
index 000000000000..0eaa6ec22c62
--- /dev/null
+++ b/media-video/ttcut/ttcut-0.19.6-r3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils fdo-mime qt4-r2
+
+DESCRIPTION="Tool for cutting MPEG files especially for removing commercials"
+HOMEPAGE="http://www.tritime.de/ttcut/"
+SRC_URI="mirror://sourceforge/${PN}.berlios/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=">=media-libs/libmpeg2-0.4.0
+ dev-qt/qtgui:4
+ dev-qt/qtopengl:4
+ virtual/glu
+ virtual/opengl"
+RDEPEND="${DEPEND}
+ media-video/mplayer
+ >=media-video/ffmpeg-1.0.8[encode]"
+
+S=${WORKDIR}/${PN}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-deprecated.patch
+ "${FILESDIR}"/${P}-ntsc-fps.patch
+ "${FILESDIR}"/${P}-ffmpeg-vf-setdar.patch
+ "${FILESDIR}"/${P}-no_implicit_GLU.patch
+ )
+
+src_install() {
+ dobin ttcut
+
+ domenu "${FILESDIR}"/${PN}.desktop
+
+ dodoc AUTHORS BUGS CHANGELOG README.* TODO
+}