Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Browse files

Remove mt-work directory

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 <>
  • Loading branch information...
commit 5a627c14b53c520cda410d2cb1b64dc3158bf024 1 parent 374c17c
@dwbuiten dwbuiten authored
6 mt-work/
@@ -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"
13 mt-work/mplayer.diff
@@ -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)
10 mt-work/
@@ -1,10 +0,0 @@
-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"
-#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"
13 mt-work/
@@ -1,13 +0,0 @@
-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
-./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
-md5 "crc/$fn-"*vsync.txt
95 mt-work/todo.txt
@@ -1,95 +0,0 @@
--- 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.
-- 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.
-- 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.
-- 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
-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.
5 mt-work/
@@ -1,5 +0,0 @@
-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
0  mt-work/yuvcmp.c → tools/yuvcmp.c
File renamed without changes
Please sign in to comment.
Something went wrong with that request. Please try again.