[FFmpeg-devel] [PATCH][RFC] Remove mt-work directory

Derek Buitenhuis derek.buitenhuis at gmail.com
Tue Sep 11 17:50:23 CEST 2012


It is all dead and rotting code.

Also, move yuvcmp.c to tools. Its license is non-existent, however,
and should be clarified.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>
---
 mt-work/email.sh            |    6 ---
 mt-work/mplayer.diff        |   13 ------
 mt-work/raw.sh              |   10 -----
 mt-work/test.sh             |   13 ------
 mt-work/todo.txt            |   95 -------------------------------------------
 mt-work/valgrind-check.sh   |    5 ---
 {mt-work => tools}/yuvcmp.c |    0
 7 files changed, 142 deletions(-)
 delete mode 100644 mt-work/email.sh
 delete mode 100644 mt-work/mplayer.diff
 delete mode 100644 mt-work/raw.sh
 delete mode 100644 mt-work/test.sh
 delete mode 100644 mt-work/todo.txt
 delete mode 100644 mt-work/valgrind-check.sh
 rename {mt-work => tools}/yuvcmp.c (100%)

diff --git a/mt-work/email.sh b/mt-work/email.sh
deleted file mode 100644
index e5cdb72..0000000
--- a/mt-work/email.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh -v
-
-# args [where to put patches] [smtp server] [destination]
-
-git format-patch -o "$1" --inline --subject-prefix=soc --thread origin
-git send-email --no-chain-reply-to --smtp-server $2 --to $3 --dry-run "$1"
diff --git a/mt-work/mplayer.diff b/mt-work/mplayer.diff
deleted file mode 100644
index 170b517..0000000
--- a/mt-work/mplayer.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c
-index 7c68a20..135e6b1 100644
---- a/libmpcodecs/vd_ffmpeg.c
-+++ b/libmpcodecs/vd_ffmpeg.c
-@@ -280,7 +280,7 @@ static int init(sh_video_t *sh){
-         return 0;
-     }
- 
--    if(vd_use_slices && (lavc_codec->capabilities&CODEC_CAP_DRAW_HORIZ_BAND) && !do_vis_debug)
-+    if(vd_use_slices && (lavc_codec->capabilities&CODEC_CAP_DRAW_HORIZ_BAND) && !do_vis_debug && lavc_param_threads <= 1)
-         ctx->do_slices=1;
- 
-     if(lavc_codec->capabilities&CODEC_CAP_DR1 && !do_vis_debug && lavc_codec->id != AV_CODEC_ID_H264 && lavc_codec->id != AV_CODEC_ID_INTERPLAY_VIDEO && lavc_codec->id != AV_CODEC_ID_ROQ && lavc_codec->id != AV_CODEC_ID_VP8 && lavc_codec->id != AV_CODEC_ID_LAGARITH)
diff --git a/mt-work/raw.sh b/mt-work/raw.sh
deleted file mode 100644
index 0ced88e..0000000
--- a/mt-work/raw.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-fn=`basename "$1"`
-for th in 1 4; do
-    time ./ffmpeg_g -threads $th -skip_loop_filter all -vsync 0 -y -t 30 -i "$1" -an -f rawvideo "raw/n-$fn-$th.yuv"
-done
-
-#for th in 1 4; do
-#    time ./ffmpeg_g -threads $th -vsync 0 -y -t 30 -i "$1" -an -f rawvideo "raw/$fn-$th.yuv"
-#done
diff --git a/mt-work/test.sh b/mt-work/test.sh
deleted file mode 100644
index a88a35b..0000000
--- a/mt-work/test.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/bash
-
-fn=`basename "$1"`
-for th in 1 2 3 4; do
-    time ./ffmpeg_g -threads $th -flags2 +fast  -vsync 0 -y -t 30 -i "$1" -an -f framecrc "crc/$fn-$th.txt" >/dev/null 2>&1
-done
-
-./ffmpeg_g -threads 1 -y -t 10 -i "$1" -an -f framecrc "crc/$fn-1-vsync.txt" >/dev/null 2>&1
-./ffmpeg_g -threads 3 -y -t 10 -i "$1" -an -f framecrc "crc/$fn-3-vsync.txt" >/dev/null 2>&1
-
-md5 "crc/$fn-"[1234].txt
-echo
-md5 "crc/$fn-"*vsync.txt
diff --git a/mt-work/todo.txt b/mt-work/todo.txt
deleted file mode 100644
index f64514f..0000000
--- a/mt-work/todo.txt
+++ /dev/null
@@ -1,95 +0,0 @@
-Todo
-
--- For other people
-- Multithread vc1.
-- Multithread an intra codec like mjpeg (trivial).
-- Fix mpeg1 (see below).
-- Try the first three items under Optimization.
-- Fix h264 (see below).
-- Try mpeg4 (see below).
-
--- Bug fixes
-
-General critical:
-- Error resilience has to run before ff_report_frame_progress()
-is called. Otherwise there will be race conditions. (This might already
-work.) In general testing error paths should be done more.
-- 'make fate THREADS=2' doesn't pass. Most failures are due to
-bugs in vsync in ffmpeg.c, which are currently obscuring real failures.
-
-h264:
-- Files that aren't parsed (e.g. mp4) and contain PAFF with two
-field pictures in the same packet are not optimal. Modify the
-nals_needed check so that the second field's first slice is
-considered as needed, then uncomment the FIXME code in decode_postinit.
-Ex: http://astrange.ithinksw.net/ffmpeg/mt-samples/PAFF-Chalet-Tire.mp4
-
-mpeg4:
-- Packed B-frames need to be explicitly split up
-when frame threading is on. It's not very fast
-without this.
-- The buffer age optimization is disabled due to
-the way buffers are allocated across threads. The
-branch 'fix_buffer_age' has an attempt to fix it
-which breaks ffplay.
-- Support interlaced.
-
-mpeg1/2:
-- Seeking always prints "first frame not a keyframe"
-with threads on. Currently disabled for this reason.
-
--- Prove correct
-
-- decode_update_progress() in h264.c
-race_checking branch has some work on h264,
-but not that function. It might be worth putting
-the branch under #ifdef DEBUG in mainline, but
-the code would have to be cleaner.
-- MPV_lowest_referenced_row() and co in mpegvideo.c
-- Same in vp3.
-
--- Optimization
-
-- Merge h264 decode_update_progress() with loop_filter().
-Add CODEC_CAP_DRAW_HORIZ_BAND as a side effect.
-- EMU_EDGE is always set for h264 PAFF+MT
-because draw_edges() writes into the other field's
-thread's pixels. Needs an option to skip T/B fields.
-- Check update_thread_context() functions and make
-sure they only copy what they need to.
-- Try some more optimization of the "ref < 48; ref++"
-loop in h264.c await_references(), try turning the list0/list1 check
-above into a loop without being slower.
-- Support frame+slice threading at the same time
-by assigning slice_count threads for frame threads
-to use with execute(). This is simpler but unbalanced
-if only one frame thread uses any.
-
--- Features
-
-- Support streams with width/height changing. This
-requires flushing all current frames (and buffering
-the input in the meantime), closing the codec and
-reopening it. Or don't support it.
-- Support encoding. Might need more threading primitives
-for good ratecontrol; would be nice for audio and libavfilter too.
-- Async decoding part 1: instead of trying to
-start every thread at the beginning, return a picture
-if the earliest thread is already done, but don't wait
-for it. Not sure what effect this would have.
-- Part 2: have an API that doesn't wait for the decoding
-thread, only returns EAGAIN if it's not ready. What will
-it do with the next input packet if it returns that?
-- Have an API that returns finished pictures but doesn't
-require sending new ones. Maybe allow NULL avpkt when
-not at the end of the stream.
-
--- Samples
-
-http://astrange.ithinksw.net/ffmpeg/mt-samples/
-
-See yuvcmp.c in this directory to compare decoded samples.
-
-For debugging, try commenting out ff_thread_finish_setup calls so
-that only one thread runs at once, and then binary search+
-scatter printfs to look for differences in codec contexts.
diff --git a/mt-work/valgrind-check.sh b/mt-work/valgrind-check.sh
deleted file mode 100644
index 276327a..0000000
--- a/mt-work/valgrind-check.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-
-valgrind --track-origins=yes --leak-check=full ./ffmpeg_g -threads 1 -vsync 0 -y -t 30 -i "$1" -an -f null /dev/null
-
-valgrind --track-origins=yes --leak-check=full ./ffmpeg_g -threads 3 -vsync 0 -y -t 30 -i "$1" -an -f null /dev/null
diff --git a/mt-work/yuvcmp.c b/tools/yuvcmp.c
similarity index 100%
rename from mt-work/yuvcmp.c
rename to tools/yuvcmp.c
-- 
1.7.9.5



More information about the ffmpeg-devel mailing list