On Thu, Apr 23, 2015 at 05:54:05PM -0400, Tucker DiNapoli wrote:
> I've revised the code and now the linear_interpolate and median deinterlace 
> filters
> give the exact same results for both C and sse2/avx2. I'm almost certain the 
> reason
> the other deinterlace filters don't give the exact same result is due to the 
> use
> of tempory memory to hold some lines, I'm not exactly sure what to do about 
> this
> however.
> 
> Unfortunately this patch causes the C/MMX versions to produce different
> results than before. I'm not exactly sure why this is, I changed the code
> to work 4 blocks at a time, which I'm guessing is the issue, but I don't
> know why that would be. If anyone has any idea why this is happening and
> how to fix it it would be appreciated.

i really wish i knew and could fix all bugs in this quickly now
but i cant :(


> 
> ____________________________________________________________________________
> 
> This commit adds several new files containing yasm assembly code, they are:
> PPContext.asm; Defines the PPContext struct using the yasm struc command
> PPUtil.asm; Various utility macros used in the other asm code
> block_copy.asm; Implements the block copy function, the sse2 and avx2
> versions copy multiple blocks at once.
> deinterlace.asm; Contains implemenations of the postprocessing filters
> with support for sse2 and avx2.
> 
> Adding these new functions to postprocess_template entailed adding a new
> templates for AVX2 and modifying the current SSE2 template to use the
> sse2 functions.  A new deinterlace function was added to move the logic
> of which deinterlace function to use out of the postprocess function and
> make adding the new functions eaiser. The inline code for packing QP
> into pQPb was moved into a seperate asm file and uptaded for sse2/avx2.
> 

./ffplay matrixbench_mpeg2.mpg -vf tinterlace=4,pp=lb

shows some remaining interlacing artifacts in some individual blocks
thats even happening with -cpuflags 0 after the patch

this patch also seems to break the deblocking filters
-vf 'pp=fq|50/va/ha' looks vissibly different after it with a low
bitrate video

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Complexity theory is the science of finding the exact solution to an
approximation. Benchmarking OTOH is finding an approximation of the exact

Attachment: signature.asc
Description: Digital signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to