[mythtv] New MPEG2 commercial-cut code ready for testing
Bryan Mayland
bmayland at leoninedev.com
Mon Nov 14 11:16:40 EST 2005
Geoffrey Hausheer wrote:
> I have found a couple of trivial fixes that may address the blockiness
> and the hanging (and a segfault). Go here:
> http://www.pblue.org/myth/mpeg2fix-0.8.tgz
>
I get segfaults right at the beginning of every stream I've tried
(has occurred in 0.4, 0.7, 0.8, haven't tested other versions).
Opening /mnt/store/1015_20051105183000.mpg
Input #0, mpeg, from '/mnt/store/1015_20051105183000.mpg':
Duration: N/A, bitrate: N/A
Stream #0.0[0x1e0], 29.97 fps: Video: mpeg2video, yuv420p, 640x480,
9000 kb/s
Stream #0.1[0x1c0]: Audio: mp2, 48000 Hz, stereo, 384 kb/s
#0 PTS:36036 Delta: 0.000000ms queue: 12
#1 PTS:34684 Delta: 15.022222ms queue: 2
Warning, QMAT_SHIFT is larger then 21, overflows possible
Segmentation fault (core dumped)
Backtrace:
#0 0xb7436fc6 in dsputil_init_mmx ()
from /usr/local/lib/libmythavcodec-0.18.so.0
#1 0x083404d0 in ?? ()
Bonus: Shell script to pull cutlist from DB and call mpeg2fix
#!/bin/sh
if [ -z "$1" ] ; then
echo Usage: $0 [filename]
exit 1
fi
IN_FILE=`basename $1`
mysql -s -B -u mythtv --password=mythtv mythconverg > /tmp/cut << EOF
SELECT mark FROM recordedmarkup rm
INNER JOIN recorded rd
ON rm.chanid = rd.chanid AND rm.starttime = rd.starttime
WHERE rd.basename = '$IN_FILE'
AND rm.type IN (4,5)
ORDER BY rm.mark, rm.type
EOF
CUTLIST_R=`cat /tmp/cut | awk '((NR%2)==0){printf "%d ",$1}
((NR%2)==1){printf "-c %d-",$1}'`
./mpeg2fix -i $1 -o test.mpg $CUTLIST_R
More information about the mythtv-dev
mailing list